clankie 0.2.13 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +40 -223
  2. package/dist/cli.js +12116 -27954
  3. package/package.json +10 -10
  4. package/web-ui-dist/_shell.html +2 -2
  5. package/web-ui-dist/assets/auth-js9k1Rhz.js +1 -0
  6. package/web-ui-dist/assets/badge-BHJdQwRZ.js +1 -0
  7. package/web-ui-dist/assets/circle-alert-DCRgcJjZ.js +1 -0
  8. package/web-ui-dist/assets/connection-C-eUc8pB.js +1 -0
  9. package/web-ui-dist/assets/extensions-CfM4cd1k.js +1 -0
  10. package/web-ui-dist/assets/extensions-VKiAe2xJ.js +1 -0
  11. package/web-ui-dist/assets/field-DEnoPHIp.js +1 -0
  12. package/web-ui-dist/assets/index-QqHwIr0R.js +1 -0
  13. package/web-ui-dist/assets/index-wQYa97UB.js +1 -0
  14. package/web-ui-dist/assets/json-render-renderer-iSQAWNBF.js +94 -0
  15. package/web-ui-dist/assets/main-pUlhQiIA.js +35 -0
  16. package/web-ui-dist/assets/sessions._sessionId-UF84S83t.js +38 -0
  17. package/web-ui-dist/assets/skills-CnPlzEye.js +1 -0
  18. package/web-ui-dist/assets/styles-CEa8RAD6.css +1 -0
  19. package/dist/koffi-216xhpes.node +0 -0
  20. package/dist/koffi-2erktc37.node +0 -0
  21. package/dist/koffi-2rrez93a.node +0 -0
  22. package/dist/koffi-2wv0r22g.node +0 -0
  23. package/dist/koffi-3kae4xj3.node +0 -0
  24. package/dist/koffi-3rkr2zqv.node +0 -0
  25. package/dist/koffi-abxfktv9.node +0 -0
  26. package/dist/koffi-c67c0c5b.node +0 -0
  27. package/dist/koffi-cnf0q0dx.node +0 -0
  28. package/dist/koffi-df38sqz5.node +0 -0
  29. package/dist/koffi-gfbqb3a0.node +0 -0
  30. package/dist/koffi-kjemmmem.node +0 -0
  31. package/dist/koffi-kkrfq9yv.node +0 -0
  32. package/dist/koffi-mzaqwwqy.node +0 -0
  33. package/dist/koffi-q49fgkeq.node +0 -0
  34. package/dist/koffi-q54bk8bf.node +0 -0
  35. package/dist/koffi-x1790w0j.node +0 -0
  36. package/dist/koffi-yxvjwcj6.node +0 -0
  37. package/web-ui-dist/assets/extensions-Ce8R4mF3.js +0 -1
  38. package/web-ui-dist/assets/field-omFPry7c.js +0 -1
  39. package/web-ui-dist/assets/index-CdxpJyJ4.js +0 -1
  40. package/web-ui-dist/assets/loader-circle-DJwIWnWV.js +0 -1
  41. package/web-ui-dist/assets/main-UkFzTTck.js +0 -35
  42. package/web-ui-dist/assets/sessions._sessionId-DA8C51jO.js +0 -131
  43. package/web-ui-dist/assets/settings-Db2CTnq7.js +0 -1
  44. package/web-ui-dist/assets/styles-DAZ1IN1z.css +0 -1
@@ -0,0 +1,94 @@
1
+ import{j as l,r as d,ae as R,af as Z,ag as Ee,ah as X,ai as Xt,aj as Ve,ak as Ys,al as nf,am as rf,an as Xs,ao as Re,ap as A,aq as Qs,ar as $e,as as of,at as ze,au as af,av as sf,aw as cf,ax as lf,ay as uf,az as df,aA as ff,aB as pf,aC as hf,aD as mf,aE as gf,aF as ei,aG as ti,aH as vf,aI as ni,aJ as bf,aK as yf,aL as xf,aM as wf,R as Rn,i as Sf,aN as no}from"./main-pUlhQiIA.js";function E(e,t,n){function r(i,c){if(i._zod||Object.defineProperty(i,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),i._zod.traits.has(e))return;i._zod.traits.add(e),t(i,c);const u=s.prototype,p=Object.keys(u);for(let f=0;f<p.length;f++){const h=p[f];h in i||(i[h]=u[h].bind(i))}}const o=n?.Parent??Object;class a extends o{}Object.defineProperty(a,"name",{value:e});function s(i){var c;const u=n?.Parent?new a:this;r(u,i),(c=u._zod).deferred??(c.deferred=[]);for(const p of u._zod.deferred)p();return u}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:i=>n?.Parent&&i instanceof n.Parent?!0:i?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class qt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ri extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const oi={};function ht(e){return oi}function ai(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function xo(e,t){return typeof t=="bigint"?t.toString():t}function Go(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Wo(e){return e==null}function Ko(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function _f(e,t){const n=(e.toString().split(".")[1]||"").length,r=t.toString();let o=(r.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(r)){const c=r.match(/\d?e-(\d?)/);c?.[1]&&(o=Number.parseInt(c[1]))}const a=n>o?n:o,s=Number.parseInt(e.toFixed(a).replace(".","")),i=Number.parseInt(t.toFixed(a).replace(".",""));return s%i/10**a}const Za=Symbol("evaluating");function ne(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Za)return r===void 0&&(r=Za,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function $t(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function gt(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Va(e){return JSON.stringify(e)}function Cf(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const si="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ef=Go(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Qt(e){if(ir(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ir(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function ii(e){return Qt(e)?{...e}:Array.isArray(e)?[...e]:e}const Pf=new Set(["string","number","symbol"]);function en(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vt(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function W(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function kf(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Tf={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Nf(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const a=gt(e._zod.def,{get shape(){const s={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(s[i]=n.shape[i])}return $t(this,"shape",s),s},checks:[]});return vt(e,a)}function Rf(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const a=gt(e._zod.def,{get shape(){const s={...e._zod.def.shape};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete s[i]}return $t(this,"shape",s),s},checks:[]});return vt(e,a)}function If(e,t){if(!Qt(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const a=e._zod.def.shape;for(const s in t)if(Object.getOwnPropertyDescriptor(a,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=gt(e._zod.def,{get shape(){const a={...e._zod.def.shape,...t};return $t(this,"shape",a),a}});return vt(e,o)}function jf(e,t){if(!Qt(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=gt(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return $t(this,"shape",r),r}});return vt(e,n)}function Of(e,t){const n=gt(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return $t(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return vt(e,n)}function Af(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=gt(t._zod.def,{get shape(){const i=t._zod.def.shape,c={...i};if(n)for(const u in n){if(!(u in i))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(c[u]=e?new e({type:"optional",innerType:i[u]}):i[u])}else for(const u in i)c[u]=e?new e({type:"optional",innerType:i[u]}):i[u];return $t(this,"shape",c),c},checks:[]});return vt(t,s)}function $f(e,t,n){const r=gt(t._zod.def,{get shape(){const o=t._zod.def.shape,a={...o};if(n)for(const s in n){if(!(s in a))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(a[s]=new e({type:"nonoptional",innerType:o[s]}))}else for(const s in o)a[s]=new e({type:"nonoptional",innerType:o[s]});return $t(this,"shape",a),a}});return vt(t,r)}function Kt(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Jt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wn(e){return typeof e=="string"?e:e?.message}function mt(e,t,n){const r={...e,path:e.path??[]};if(!e.message){const o=Wn(e.inst?._zod.def?.error?.(e))??Wn(t?.error?.(e))??Wn(n.customError?.(e))??Wn(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Jo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function _n(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const ci=(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,xo,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},li=E("$ZodError",ci),ui=E("$ZodError",ci,{Parent:Error});function Df(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Mf(e,t=n=>n.message){const n={_errors:[]},r=o=>{for(const a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>r({issues:s}));else if(a.code==="invalid_key")r({issues:a.issues});else if(a.code==="invalid_element")r({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let s=n,i=0;for(;i<a.path.length;){const c=a.path[i];i===a.path.length-1?(s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(a))):s[c]=s[c]||{_errors:[]},s=s[c],i++}}};return r(e),n}const qo=e=>(t,n,r,o)=>{const a=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},a);if(s instanceof Promise)throw new qt;if(s.issues.length){const i=new(o?.Err??e)(s.issues.map(c=>mt(c,a,ht())));throw si(i,o?.callee),i}return s.value},Yo=e=>async(t,n,r,o)=>{const a=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},a);if(s instanceof Promise&&(s=await s),s.issues.length){const i=new(o?.Err??e)(s.issues.map(c=>mt(c,a,ht())));throw si(i,o?.callee),i}return s.value},xr=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new qt;return a.issues.length?{success:!1,error:new(e??li)(a.issues.map(s=>mt(s,o,ht())))}:{success:!0,data:a.value}},zf=xr(ui),wr=e=>async(t,n,r)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let a=t._zod.run({value:n,issues:[]},o);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(s=>mt(s,o,ht())))}:{success:!0,data:a.value}},Lf=wr(ui),Ff=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return qo(e)(t,n,o)},Zf=e=>(t,n,r)=>qo(e)(t,n,r),Vf=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Yo(e)(t,n,o)},Bf=e=>async(t,n,r)=>Yo(e)(t,n,r),Uf=e=>(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},Hf=e=>(t,n,r)=>xr(e)(t,n,r),Gf=e=>async(t,n,r)=>{const o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},Wf=e=>async(t,n,r)=>wr(e)(t,n,r),Kf=/^[cC][^\s-]{8,}$/,Jf=/^[0-9a-z]+$/,qf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Yf=/^[0-9a-vA-V]{20}$/,Xf=/^[A-Za-z0-9]{27}$/,Qf=/^[a-zA-Z0-9_-]{21}$/,ep=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,tp=/^([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})$/,Ba=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)$/,np=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,rp="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function op(){return new RegExp(rp,"u")}const ap=/^(?:(?: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])$/,sp=/^(([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}|:))$/,ip=/^((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])$/,cp=/^(([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])$/,lp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,di=/^[A-Za-z0-9_-]*$/,up=/^\+[1-9]\d{6,14}$/,fi="(?:(?:\\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])))",dp=new RegExp(`^${fi}$`);function pi(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function fp(e){return new RegExp(`^${pi(e)}$`)}function pp(e){const t=pi({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${fi}T(?:${r})$`)}const hp=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},mp=/^-?\d+$/,hi=/^-?\d+(?:\.\d+)?$/,gp=/^(?:true|false)$/i,vp=/^null$/i,bp=/^[^A-Z]*$/,yp=/^[^a-z]*$/,Le=E("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),mi={number:"number",bigint:"bigint",object:"date"},gi=E("$ZodCheckLessThan",(e,t)=>{Le.init(e,t);const n=mi[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,a=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),vi=E("$ZodCheckGreaterThan",(e,t)=>{Le.init(e,t);const n=mi[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,a=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),xp=E("$ZodCheckMultipleOf",(e,t)=>{Le.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):_f(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),wp=E("$ZodCheckNumberFormat",(e,t)=>{Le.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,a]=Tf[t.format];e._zod.onattach.push(s=>{const i=s._zod.bag;i.format=t.format,i.minimum=o,i.maximum=a,n&&(i.pattern=mp)}),e._zod.check=s=>{const i=s.value;if(n){if(!Number.isInteger(i)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:i,inst:e});return}if(!Number.isSafeInteger(i)){i>0?s.issues.push({input:i,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):s.issues.push({input:i,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}i<o&&s.issues.push({origin:"number",input:i,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),i>a&&s.issues.push({origin:"number",input:i,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Sp=E("$ZodCheckMaxLength",(e,t)=>{var n;Le.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Wo(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const s=Jo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),_p=E("$ZodCheckMinLength",(e,t)=>{var n;Le.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Wo(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const s=Jo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cp=E("$ZodCheckLengthEquals",(e,t)=>{var n;Le.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!Wo(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,a=o.length;if(a===t.length)return;const s=Jo(o),i=a>t.length;r.issues.push({origin:s,...i?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Sr=E("$ZodCheckStringFormat",(e,t)=>{var n,r;Le.init(e,t),e._zod.onattach.push(o=>{const a=o._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Ep=E("$ZodCheckRegex",(e,t)=>{Sr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Pp=E("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=bp),Sr.init(e,t)}),kp=E("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=yp),Sr.init(e,t)}),Tp=E("$ZodCheckIncludes",(e,t)=>{Le.init(e,t);const n=en(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const a=o._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Np=E("$ZodCheckStartsWith",(e,t)=>{Le.init(e,t);const n=new RegExp(`^${en(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),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})}}),Rp=E("$ZodCheckEndsWith",(e,t)=>{Le.init(e,t);const n=new RegExp(`.*${en(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),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})}}),Ip=E("$ZodCheckOverwrite",(e,t)=>{Le.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class jp{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
2
+ `).filter(s=>s),o=Math.min(...r.map(s=>s.length-s.trimStart().length)),a=r.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(const s of a)this.content.push(s)}compile(){const t=Function,n=this?.args,o=[...(this?.content??[""]).map(a=>` ${a}`)];return new t(...n,o.join(`
3
+ `))}}const Op={major:4,minor:3,patch:6},le=E("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Op;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const a of o._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(s,i,c)=>{let u=Kt(s),p;for(const f of i){if(f._zod.def.when){if(!f._zod.def.when(s))continue}else if(u)continue;const h=s.issues.length,v=f._zod.check(s);if(v instanceof Promise&&c?.async===!1)throw new qt;if(p||v instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await v,s.issues.length!==h&&(u||(u=Kt(s,h)))});else{if(s.issues.length===h)continue;u||(u=Kt(s,h))}}return p?p.then(()=>s):s},a=(s,i,c)=>{if(Kt(s))return s.aborted=!0,s;const u=o(i,r,c);if(u instanceof Promise){if(c.async===!1)throw new qt;return u.then(p=>e._zod.parse(p,c))}return e._zod.parse(u,c)};e._zod.run=(s,i)=>{if(i.skipChecks)return e._zod.parse(s,i);if(i.direction==="backward"){const u=e._zod.parse({value:s.value,issues:[]},{...i,skipChecks:!0});return u instanceof Promise?u.then(p=>a(p,s,i)):a(u,s,i)}const c=e._zod.parse(s,i);if(c instanceof Promise){if(i.async===!1)throw new qt;return c.then(u=>o(u,r,i))}return o(c,r,i)}}ne(e,"~standard",()=>({validate:o=>{try{const a=zf(e,o);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return Lf(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Xo=E("$ZodString",(e,t)=>{le.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??hp(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),fe=E("$ZodStringFormat",(e,t)=>{Sr.init(e,t),Xo.init(e,t)}),Ap=E("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=tp),fe.init(e,t)}),$p=E("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ba(r))}else t.pattern??(t.pattern=Ba());fe.init(e,t)}),Dp=E("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=np),fe.init(e,t)}),Mp=E("$ZodURL",(e,t)=>{fe.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),zp=E("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=op()),fe.init(e,t)}),Lp=E("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Qf),fe.init(e,t)}),Fp=E("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Kf),fe.init(e,t)}),Zp=E("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Jf),fe.init(e,t)}),Vp=E("$ZodULID",(e,t)=>{t.pattern??(t.pattern=qf),fe.init(e,t)}),Bp=E("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Yf),fe.init(e,t)}),Up=E("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Xf),fe.init(e,t)}),Hp=E("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=pp(t)),fe.init(e,t)}),Gp=E("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=dp),fe.init(e,t)}),Wp=E("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=fp(t)),fe.init(e,t)}),Kp=E("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ep),fe.init(e,t)}),Jp=E("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ap),fe.init(e,t),e._zod.bag.format="ipv4"}),qp=E("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=sp),fe.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Yp=E("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ip),fe.init(e,t)}),Xp=E("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cp),fe.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,a]=r;if(!a)throw new Error;const s=Number(a);if(`${s}`!==a)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function bi(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Qp=E("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=lp),fe.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{bi(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function eh(e){if(!di.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return bi(n)}const th=E("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=di),fe.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{eh(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),nh=E("$ZodE164",(e,t)=>{t.pattern??(t.pattern=up),fe.init(e,t)});function rh(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const oh=E("$ZodJWT",(e,t)=>{fe.init(e,t),e._zod.check=n=>{rh(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),yi=E("$ZodNumber",(e,t)=>{le.init(e,t),e._zod.pattern=e._zod.bag.pattern??hi,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const a=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...a?{received:a}:{}}),n}}),ah=E("$ZodNumberFormat",(e,t)=>{wp.init(e,t),yi.init(e,t)}),sh=E("$ZodBoolean",(e,t)=>{le.init(e,t),e._zod.pattern=gp,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),ih=E("$ZodNull",(e,t)=>{le.init(e,t),e._zod.pattern=vp,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{const o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),ch=E("$ZodAny",(e,t)=>{le.init(e,t),e._zod.parse=n=>n}),lh=E("$ZodUnknown",(e,t)=>{le.init(e,t),e._zod.parse=n=>n}),uh=E("$ZodNever",(e,t)=>{le.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Ua(e,t,n){e.issues.length&&t.issues.push(...Jt(n,e.issues)),t.value[n]=e.value}const dh=E("$ZodArray",(e,t)=>{le.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const a=[];for(let s=0;s<o.length;s++){const i=o[s],c=t.element._zod.run({value:i,issues:[]},r);c instanceof Promise?a.push(c.then(u=>Ua(u,n,s))):Ua(c,n,s)}return a.length?Promise.all(a).then(()=>n):n}});function cr(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Jt(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function xi(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 n=kf(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function wi(e,t,n,r,o,a){const s=[],i=o.keySet,c=o.catchall._zod,u=c.def.type,p=c.optout==="optional";for(const f in t){if(i.has(f))continue;if(u==="never"){s.push(f);continue}const h=c.run({value:t[f],issues:[]},r);h instanceof Promise?e.push(h.then(v=>cr(v,n,f,t,p))):cr(h,n,f,t,p)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}const fh=E("$ZodObject",(e,t)=>{if(le.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const i=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...i};return Object.defineProperty(t,"shape",{value:c}),c}})}const r=Go(()=>xi(t));ne(e._zod,"propValues",()=>{const i=t.shape,c={};for(const u in i){const p=i[u]._zod;if(p.values){c[u]??(c[u]=new Set);for(const f of p.values)c[u].add(f)}}return c});const o=ir,a=t.catchall;let s;e._zod.parse=(i,c)=>{s??(s=r.value);const u=i.value;if(!o(u))return i.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),i;i.value={};const p=[],f=s.shape;for(const h of s.keys){const v=f[h],y=v._zod.optout==="optional",m=v._zod.run({value:u[h],issues:[]},c);m instanceof Promise?p.push(m.then(b=>cr(b,i,h,u,y))):cr(m,i,h,u,y)}return a?wi(p,u,i,c,r.value,e):p.length?Promise.all(p).then(()=>i):i}}),ph=E("$ZodObjectJIT",(e,t)=>{fh.init(e,t);const n=e._zod.parse,r=Go(()=>xi(t)),o=h=>{const v=new jp(["shape","payload","ctx"]),y=r.value,m=x=>{const S=Va(x);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};v.write("const input = payload.value;");const b=Object.create(null);let g=0;for(const x of y.keys)b[x]=`key_${g++}`;v.write("const newResult = {};");for(const x of y.keys){const S=b[x],_=Va(x),C=h[x]?._zod?.optout==="optional";v.write(`const ${S} = ${m(x)};`),C?v.write(`
4
+ if (${S}.issues.length) {
5
+ if (${_} in input) {
6
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
7
+ ...iss,
8
+ path: iss.path ? [${_}, ...iss.path] : [${_}]
9
+ })));
10
+ }
11
+ }
12
+
13
+ if (${S}.value === undefined) {
14
+ if (${_} in input) {
15
+ newResult[${_}] = undefined;
16
+ }
17
+ } else {
18
+ newResult[${_}] = ${S}.value;
19
+ }
20
+
21
+ `):v.write(`
22
+ if (${S}.issues.length) {
23
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
24
+ ...iss,
25
+ path: iss.path ? [${_}, ...iss.path] : [${_}]
26
+ })));
27
+ }
28
+
29
+ if (${S}.value === undefined) {
30
+ if (${_} in input) {
31
+ newResult[${_}] = undefined;
32
+ }
33
+ } else {
34
+ newResult[${_}] = ${S}.value;
35
+ }
36
+
37
+ `)}v.write("payload.value = newResult;"),v.write("return payload;");const w=v.compile();return(x,S)=>w(h,x,S)};let a;const s=ir,i=!oi.jitless,u=i&&Ef.value,p=t.catchall;let f;e._zod.parse=(h,v)=>{f??(f=r.value);const y=h.value;return s(y)?i&&u&&v?.async===!1&&v.jitless!==!0?(a||(a=o(t.shape)),h=a(h,v),p?wi([],y,h,v,f,e):h):n(h,v):(h.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),h)}});function Ha(e,t,n,r){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const o=e.filter(a=>!Kt(a));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(s=>mt(s,r,ht())))}),t)}const hh=E("$ZodUnion",(e,t)=>{le.init(e,t),ne(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),ne(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),ne(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),ne(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${o.map(a=>Ko(a.source)).join("|")})$`)}});const n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,a)=>{if(n)return r(o,a);let s=!1;const i=[];for(const c of t.options){const u=c._zod.run({value:o.value,issues:[]},a);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(c=>Ha(c,o,e,a)):Ha(i,o,e,a)}}),mh=E("$ZodIntersection",(e,t)=>{le.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,a=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);return a instanceof Promise||s instanceof Promise?Promise.all([a,s]).then(([c,u])=>Ga(n,c,u)):Ga(n,a,s)}});function wo(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(Qt(e)&&Qt(t)){const n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),o={...e,...t};for(const a of r){const s=wo(e[a],t[a]);if(!s.valid)return{valid:!1,mergeErrorPath:[a,...s.mergeErrorPath]};o[a]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],a=t[r],s=wo(o,a);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ga(e,t,n){const r=new Map;let o;for(const i of t.issues)if(i.code==="unrecognized_keys"){o??(o=i);for(const c of i.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(i);for(const i of n.issues)if(i.code==="unrecognized_keys")for(const c of i.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(i);const a=[...r].filter(([,i])=>i.l&&i.r).map(([i])=>i);if(a.length&&o&&e.issues.push({...o,keys:a}),Kt(e))return e;const s=wo(t.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const gh=E("$ZodRecord",(e,t)=>{le.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Qt(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const a=[],s=t.keyType._zod.values;if(s){n.value={};const i=new Set;for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){i.add(typeof u=="number"?u.toString():u);const p=t.valueType._zod.run({value:o[u],issues:[]},r);p instanceof Promise?a.push(p.then(f=>{f.issues.length&&n.issues.push(...Jt(u,f.issues)),n.value[u]=f.value})):(p.issues.length&&n.issues.push(...Jt(u,p.issues)),n.value[u]=p.value)}let c;for(const u in o)i.has(u)||(c=c??[],c.push(u));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(const i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let c=t.keyType._zod.run({value:i,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof i=="string"&&hi.test(i)&&c.issues.length){const f=t.keyType._zod.run({value:Number(i),issues:[]},r);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(c=f)}if(c.issues.length){t.mode==="loose"?n.value[i]=o[i]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(f=>mt(f,r,ht())),input:i,path:[i],inst:e});continue}const p=t.valueType._zod.run({value:o[i],issues:[]},r);p instanceof Promise?a.push(p.then(f=>{f.issues.length&&n.issues.push(...Jt(i,f.issues)),n.value[c.value]=f.value})):(p.issues.length&&n.issues.push(...Jt(i,p.issues)),n.value[c.value]=p.value)}}return a.length?Promise.all(a).then(()=>n):n}}),vh=E("$ZodEnum",(e,t)=>{le.init(e,t);const n=ai(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Pf.has(typeof o)).map(o=>typeof o=="string"?en(o):o.toString()).join("|")})$`),e._zod.parse=(o,a)=>{const s=o.value;return r.has(s)||o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),bh=E("$ZodLiteral",(e,t)=>{if(le.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?en(r):r?en(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{const a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),yh=E("$ZodTransform",(e,t)=>{le.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new ri(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(n.value=s,n));if(o instanceof Promise)throw new qt;return n.value=o,n}});function Wa(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Si=E("$ZodOptional",(e,t)=>{le.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Ko(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(a=>Wa(a,n.value)):Wa(o,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),xh=E("$ZodExactOptional",(e,t)=>{Si.init(e,t),ne(e._zod,"values",()=>t.innerType._zod.values),ne(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),wh=E("$ZodNullable",(e,t)=>{le.init(e,t),ne(e._zod,"optin",()=>t.innerType._zod.optin),ne(e._zod,"optout",()=>t.innerType._zod.optout),ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Ko(n.source)}|null)$`):void 0}),ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),Sh=E("$ZodDefault",(e,t)=>{le.init(e,t),e._zod.optin="optional",ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(a=>Ka(a,t)):Ka(o,t)}});function Ka(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const _h=E("$ZodPrefault",(e,t)=>{le.init(e,t),e._zod.optin="optional",ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Ch=E("$ZodNonOptional",(e,t)=>{le.init(e,t),ne(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(a=>Ja(a,e)):Ja(o,e)}});function Ja(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Eh=E("$ZodCatch",(e,t)=>{le.init(e,t),ne(e._zod,"optin",()=>t.innerType._zod.optin),ne(e._zod,"optout",()=>t.innerType._zod.optout),ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(s=>mt(s,r,ht()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(a=>mt(a,r,ht()))},input:n.value}),n.issues=[]),n)}}),Ph=E("$ZodPipe",(e,t)=>{le.init(e,t),ne(e._zod,"values",()=>t.in._zod.values),ne(e._zod,"optin",()=>t.in._zod.optin),ne(e._zod,"optout",()=>t.out._zod.optout),ne(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const a=t.out._zod.run(n,r);return a instanceof Promise?a.then(s=>Kn(s,t.in,r)):Kn(a,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(a=>Kn(a,t.out,r)):Kn(o,t.out,r)}});function Kn(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const kh=E("$ZodReadonly",(e,t)=>{le.init(e,t),ne(e._zod,"propValues",()=>t.innerType._zod.propValues),ne(e._zod,"values",()=>t.innerType._zod.values),ne(e._zod,"optin",()=>t.innerType?._zod?.optin),ne(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(qa):qa(o)}});function qa(e){return e.value=Object.freeze(e.value),e}const Th=E("$ZodLazy",(e,t)=>{le.init(e,t),ne(e._zod,"innerType",()=>t.getter()),ne(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),ne(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),ne(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),ne(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Nh=E("$ZodCustom",(e,t)=>{Le.init(e,t),le.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(a=>Ya(a,n,r,e));Ya(o,n,r,e)}});function Ya(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(_n(o))}}var Xa;class Rh{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Ih(){return new Rh}(Xa=globalThis).__zod_globalRegistry??(Xa.__zod_globalRegistry=Ih());const vn=globalThis.__zod_globalRegistry;function jh(e,t){return new e({type:"string",...W(t)})}function Oh(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...W(t)})}function Qa(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...W(t)})}function Ah(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...W(t)})}function $h(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(t)})}function Dh(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(t)})}function Mh(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(t)})}function zh(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...W(t)})}function Lh(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...W(t)})}function Fh(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(t)})}function Zh(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...W(t)})}function Vh(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(t)})}function Bh(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...W(t)})}function Uh(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...W(t)})}function Hh(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(t)})}function Gh(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(t)})}function Wh(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(t)})}function Kh(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(t)})}function Jh(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(t)})}function qh(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...W(t)})}function Yh(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...W(t)})}function Xh(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...W(t)})}function Qh(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...W(t)})}function em(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(t)})}function tm(e,t){return new e({type:"string",format:"date",check:"string_format",...W(t)})}function nm(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...W(t)})}function rm(e,t){return new e({type:"string",format:"duration",check:"string_format",...W(t)})}function om(e,t){return new e({type:"number",checks:[],...W(t)})}function am(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...W(t)})}function sm(e,t){return new e({type:"boolean",...W(t)})}function im(e,t){return new e({type:"null",...W(t)})}function cm(e){return new e({type:"any"})}function lm(e){return new e({type:"unknown"})}function um(e,t){return new e({type:"never",...W(t)})}function es(e,t){return new gi({check:"less_than",...W(t),value:e,inclusive:!1})}function ro(e,t){return new gi({check:"less_than",...W(t),value:e,inclusive:!0})}function ts(e,t){return new vi({check:"greater_than",...W(t),value:e,inclusive:!1})}function oo(e,t){return new vi({check:"greater_than",...W(t),value:e,inclusive:!0})}function ns(e,t){return new xp({check:"multiple_of",...W(t),value:e})}function _i(e,t){return new Sp({check:"max_length",...W(t),maximum:e})}function lr(e,t){return new _p({check:"min_length",...W(t),minimum:e})}function Ci(e,t){return new Cp({check:"length_equals",...W(t),length:e})}function dm(e,t){return new Ep({check:"string_format",format:"regex",...W(t),pattern:e})}function fm(e){return new Pp({check:"string_format",format:"lowercase",...W(e)})}function pm(e){return new kp({check:"string_format",format:"uppercase",...W(e)})}function hm(e,t){return new Tp({check:"string_format",format:"includes",...W(t),includes:e})}function mm(e,t){return new Np({check:"string_format",format:"starts_with",...W(t),prefix:e})}function gm(e,t){return new Rp({check:"string_format",format:"ends_with",...W(t),suffix:e})}function on(e){return new Ip({check:"overwrite",tx:e})}function vm(e){return on(t=>t.normalize(e))}function bm(){return on(e=>e.trim())}function ym(){return on(e=>e.toLowerCase())}function xm(){return on(e=>e.toUpperCase())}function wm(){return on(e=>Cf(e))}function Sm(e,t,n){return new e({type:"array",element:t,...W(n)})}function _m(e,t,n){return new e({type:"custom",check:"custom",fn:t,...W(n)})}function Cm(e){const t=Em(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(_n(r,n.value,t._zod.def));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(_n(o))}},e(n.value,n)));return t}function Em(e,t){const n=new Le({check:"custom",...W(t)});return n._zod.check=e,n}function Ei(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??vn,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 we(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;const s={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,s);const i=e._zod.toJSONSchema?.();if(i)s.schema=i;else{const p={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,p);else{const h=s.schema,v=t.processors[o.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);v(e,t,h,p)}const f=e._zod.parent;f&&(s.ref||(s.ref=f),we(f,t,p),t.seen.get(f).isParent=!0)}const c=t.metadataRegistry.get(e);return c&&Object.assign(s.schema,c),t.io==="input"&&Ae(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Pi(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const s of e.seen.entries()){const i=e.metadataRegistry.get(s[0])?.id;if(i){const c=r.get(i);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${i}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(i,s[0])}}const o=s=>{const i=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(s[0])?.id,h=e.external.uri??(y=>y);if(f)return{ref:h(f)};const v=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=v,{defId:v,ref:`${h("__shared")}#/${i}/${v}`}}if(s[1]===n)return{ref:"#"};const u=`#/${i}/`,p=s[1].schema.id??`__schema${e.counter++}`;return{defId:p,ref:u+p}},a=s=>{if(s[1].schema.$ref)return;const i=s[1],{ref:c,defId:u}=o(s);i.def={...i.schema},u&&(i.defId=u);const p=i.schema;for(const f in p)delete p[f];p.$ref=c};if(e.cycles==="throw")for(const s of e.seen.entries()){const i=s[1];if(i.cycle)throw new Error(`Cycle detected: #/${i.cycle?.join("/")}/<root>
38
+
39
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const s of e.seen.entries()){const i=s[1];if(t===s[0]){a(s);continue}if(e.external){const u=e.external.registry.get(s[0])?.id;if(t!==s[0]&&u){a(s);continue}}if(e.metadataRegistry.get(s[0])?.id){a(s);continue}if(i.cycle){a(s);continue}if(i.count>1&&e.reused==="ref"){a(s);continue}}}function ki(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=s=>{const i=e.seen.get(s);if(i.ref===null)return;const c=i.def??i.schema,u={...c},p=i.ref;if(i.ref=null,p){r(p);const h=e.seen.get(p),v=h.schema;if(v.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(v)):Object.assign(c,v),Object.assign(c,u),s._zod.parent===p)for(const m in c)m==="$ref"||m==="allOf"||m in u||delete c[m];if(v.$ref&&h.def)for(const m in c)m==="$ref"||m==="allOf"||m in h.def&&JSON.stringify(c[m])===JSON.stringify(h.def[m])&&delete c[m]}const f=s._zod.parent;if(f&&f!==p){r(f);const h=e.seen.get(f);if(h?.schema.$ref&&(c.$ref=h.schema.$ref,h.def))for(const v in c)v==="$ref"||v==="allOf"||v in h.def&&JSON.stringify(c[v])===JSON.stringify(h.def[v])&&delete c[v]}e.override({zodSchema:s,jsonSchema:c,path:i.path??[]})};for(const s of[...e.seen.entries()].reverse())r(s[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const s=e.external.registry.get(t)?.id;if(!s)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(s)}Object.assign(o,n.def??n.schema);const a=e.external?.defs??{};for(const s of e.seen.entries()){const i=s[1];i.def&&i.defId&&(a[i.defId]=i.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?o.$defs=a:o.definitions=a);try{const s=JSON.parse(JSON.stringify(o));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:ur(t,"input",e.processors),output:ur(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function Ae(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Ae(r.element,n);if(r.type==="set")return Ae(r.valueType,n);if(r.type==="lazy")return Ae(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Ae(r.innerType,n);if(r.type==="intersection")return Ae(r.left,n)||Ae(r.right,n);if(r.type==="record"||r.type==="map")return Ae(r.keyType,n)||Ae(r.valueType,n);if(r.type==="pipe")return Ae(r.in,n)||Ae(r.out,n);if(r.type==="object"){for(const o in r.shape)if(Ae(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(Ae(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(Ae(o,n))return!0;return!!(r.rest&&Ae(r.rest,n))}return!1}const Pm=(e,t={})=>n=>{const r=Ei({...n,processors:t});return we(e,r),Pi(r,e),ki(r,e)},ur=(e,t,n={})=>r=>{const{libraryOptions:o,target:a}=r??{},s=Ei({...o??{},target:a,io:t,processors:n});return we(e,s),Pi(s,e),ki(s,e)},km={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Tm=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:a,maximum:s,format:i,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof a=="number"&&(o.minLength=a),typeof s=="number"&&(o.maxLength=s),i&&(o.format=km[i]??i,o.format===""&&delete o.format,i==="time"&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){const p=[...c];p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},Nm=(e,t,n,r)=>{const o=n,{minimum:a,maximum:s,format:i,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:p}=e._zod.bag;typeof i=="string"&&i.includes("int")?o.type="integer":o.type="number",typeof p=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.minimum=p,o.exclusiveMinimum=!0):o.exclusiveMinimum=p),typeof a=="number"&&(o.minimum=a,typeof p=="number"&&t.target!=="draft-04"&&(p>=a?delete o.minimum:delete o.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u),typeof s=="number"&&(o.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete o.maximum:delete o.exclusiveMaximum)),typeof c=="number"&&(o.multipleOf=c)},Rm=(e,t,n,r)=>{n.type="boolean"},Im=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},jm=(e,t,n,r)=>{n.not={}},Om=(e,t,n,r)=>{},Am=(e,t,n,r)=>{},$m=(e,t,n,r)=>{const o=e._zod.def,a=ai(o.entries);a.every(s=>typeof s=="number")&&(n.type="number"),a.every(s=>typeof s=="string")&&(n.type="string"),n.enum=a},Dm=(e,t,n,r)=>{const o=e._zod.def,a=[];for(const s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(s))}else a.push(s);if(a.length!==0)if(a.length===1){const s=a[0];n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[s]:n.const=s}else a.every(s=>typeof s=="number")&&(n.type="number"),a.every(s=>typeof s=="string")&&(n.type="string"),a.every(s=>typeof s=="boolean")&&(n.type="boolean"),a.every(s=>s===null)&&(n.type="null"),n.enum=a},Mm=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},zm=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Lm=(e,t,n,r)=>{const o=n,a=e._zod.def,{minimum:s,maximum:i}=e._zod.bag;typeof s=="number"&&(o.minItems=s),typeof i=="number"&&(o.maxItems=i),o.type="array",o.items=we(a.element,t,{...r,path:[...r.path,"items"]})},Fm=(e,t,n,r)=>{const o=n,a=e._zod.def;o.type="object",o.properties={};const s=a.shape;for(const u in s)o.properties[u]=we(s[u],t,{...r,path:[...r.path,"properties",u]});const i=new Set(Object.keys(s)),c=new Set([...i].filter(u=>{const p=a.shape[u]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));c.size>0&&(o.required=Array.from(c)),a.catchall?._zod.def.type==="never"?o.additionalProperties=!1:a.catchall?a.catchall&&(o.additionalProperties=we(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Zm=(e,t,n,r)=>{const o=e._zod.def,a=o.inclusive===!1,s=o.options.map((i,c)=>we(i,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=s:n.anyOf=s},Vm=(e,t,n,r)=>{const o=e._zod.def,a=we(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=we(o.right,t,{...r,path:[...r.path,"allOf",1]}),i=u=>"allOf"in u&&Object.keys(u).length===1,c=[...i(a)?a.allOf:[a],...i(s)?s.allOf:[s]];n.allOf=c},Bm=(e,t,n,r)=>{const o=n,a=e._zod.def;o.type="object";const s=a.keyType,c=s._zod.bag?.patterns;if(a.mode==="loose"&&c&&c.size>0){const p=we(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const f of c)o.patternProperties[f.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=we(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=we(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const u=s._zod.values;if(u){const p=[...u].filter(f=>typeof f=="string"||typeof f=="number");p.length>0&&(o.required=p)}},Um=(e,t,n,r)=>{const o=e._zod.def,a=we(o.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=o.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},Hm=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType},Gm=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},Wm=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},Km=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},Jm=(e,t,n,r)=>{const o=e._zod.def,a=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;we(a,t,r);const s=t.seen.get(e);s.ref=a},qm=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType,n.readOnly=!0},Ti=(e,t,n,r)=>{const o=e._zod.def;we(o.innerType,t,r);const a=t.seen.get(e);a.ref=o.innerType},Ym=(e,t,n,r)=>{const o=e._zod.innerType;we(o,t,r);const a=t.seen.get(e);a.ref=o},Xm=E("ZodISODateTime",(e,t)=>{Hp.init(e,t),be.init(e,t)});function Qm(e){return em(Xm,e)}const eg=E("ZodISODate",(e,t)=>{Gp.init(e,t),be.init(e,t)});function tg(e){return tm(eg,e)}const ng=E("ZodISOTime",(e,t)=>{Wp.init(e,t),be.init(e,t)});function rg(e){return nm(ng,e)}const og=E("ZodISODuration",(e,t)=>{Kp.init(e,t),be.init(e,t)});function ag(e){return rm(og,e)}const sg=(e,t)=>{li.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Mf(e,n)},flatten:{value:n=>Df(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,xo,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,xo,2)}},isEmpty:{get(){return e.issues.length===0}}})},He=E("ZodError",sg,{Parent:Error}),ig=qo(He),cg=Yo(He),lg=xr(He),ug=wr(He),dg=Ff(He),fg=Zf(He),pg=Vf(He),hg=Bf(He),mg=Uf(He),gg=Hf(He),vg=Gf(He),bg=Wf(He),ue=E("ZodType",(e,t)=>(le.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:ur(e,"input"),output:ur(e,"output")}}),e.toJSONSchema=Pm(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(gt(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>vt(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>ig(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>lg(e,n,r),e.parseAsync=async(n,r)=>cg(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>ug(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>dg(e,n,r),e.decode=(n,r)=>fg(e,n,r),e.encodeAsync=async(n,r)=>pg(e,n,r),e.decodeAsync=async(n,r)=>hg(e,n,r),e.safeEncode=(n,r)=>mg(e,n,r),e.safeDecode=(n,r)=>gg(e,n,r),e.safeEncodeAsync=async(n,r)=>vg(e,n,r),e.safeDecodeAsync=async(n,r)=>bg(e,n,r),e.refine=(n,r)=>e.check(vv(n,r)),e.superRefine=n=>e.check(bv(n)),e.overwrite=n=>e.check(on(n)),e.optional=()=>as(e),e.exactOptional=()=>nv(e),e.nullable=()=>ss(e),e.nullish=()=>as(ss(e)),e.nonoptional=n=>cv(e,n),e.array=()=>ke(e),e.or=n=>nt([e,n]),e.and=n=>qg(e,n),e.transform=n=>is(e,ev(n)),e.default=n=>av(e,n),e.prefault=n=>iv(e,n),e.catch=n=>uv(e,n),e.pipe=n=>is(e,n),e.readonly=()=>pv(e),e.describe=n=>{const r=e.clone();return vn.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return vn.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return vn.get(e);const r=e.clone();return vn.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),Ni=E("_ZodString",(e,t)=>{Xo.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,o,a)=>Tm(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(dm(...r)),e.includes=(...r)=>e.check(hm(...r)),e.startsWith=(...r)=>e.check(mm(...r)),e.endsWith=(...r)=>e.check(gm(...r)),e.min=(...r)=>e.check(lr(...r)),e.max=(...r)=>e.check(_i(...r)),e.length=(...r)=>e.check(Ci(...r)),e.nonempty=(...r)=>e.check(lr(1,...r)),e.lowercase=r=>e.check(fm(r)),e.uppercase=r=>e.check(pm(r)),e.trim=()=>e.check(bm()),e.normalize=(...r)=>e.check(vm(...r)),e.toLowerCase=()=>e.check(ym()),e.toUpperCase=()=>e.check(xm()),e.slugify=()=>e.check(wm())}),yg=E("ZodString",(e,t)=>{Xo.init(e,t),Ni.init(e,t),e.email=n=>e.check(Oh(xg,n)),e.url=n=>e.check(zh(wg,n)),e.jwt=n=>e.check(Qh(Dg,n)),e.emoji=n=>e.check(Lh(Sg,n)),e.guid=n=>e.check(Qa(rs,n)),e.uuid=n=>e.check(Ah(Jn,n)),e.uuidv4=n=>e.check($h(Jn,n)),e.uuidv6=n=>e.check(Dh(Jn,n)),e.uuidv7=n=>e.check(Mh(Jn,n)),e.nanoid=n=>e.check(Fh(_g,n)),e.guid=n=>e.check(Qa(rs,n)),e.cuid=n=>e.check(Zh(Cg,n)),e.cuid2=n=>e.check(Vh(Eg,n)),e.ulid=n=>e.check(Bh(Pg,n)),e.base64=n=>e.check(qh(Og,n)),e.base64url=n=>e.check(Yh(Ag,n)),e.xid=n=>e.check(Uh(kg,n)),e.ksuid=n=>e.check(Hh(Tg,n)),e.ipv4=n=>e.check(Gh(Ng,n)),e.ipv6=n=>e.check(Wh(Rg,n)),e.cidrv4=n=>e.check(Kh(Ig,n)),e.cidrv6=n=>e.check(Jh(jg,n)),e.e164=n=>e.check(Xh($g,n)),e.datetime=n=>e.check(Qm(n)),e.date=n=>e.check(tg(n)),e.time=n=>e.check(rg(n)),e.duration=n=>e.check(ag(n))});function N(e){return jh(yg,e)}const be=E("ZodStringFormat",(e,t)=>{fe.init(e,t),Ni.init(e,t)}),xg=E("ZodEmail",(e,t)=>{Dp.init(e,t),be.init(e,t)}),rs=E("ZodGUID",(e,t)=>{Ap.init(e,t),be.init(e,t)}),Jn=E("ZodUUID",(e,t)=>{$p.init(e,t),be.init(e,t)}),wg=E("ZodURL",(e,t)=>{Mp.init(e,t),be.init(e,t)}),Sg=E("ZodEmoji",(e,t)=>{zp.init(e,t),be.init(e,t)}),_g=E("ZodNanoID",(e,t)=>{Lp.init(e,t),be.init(e,t)}),Cg=E("ZodCUID",(e,t)=>{Fp.init(e,t),be.init(e,t)}),Eg=E("ZodCUID2",(e,t)=>{Zp.init(e,t),be.init(e,t)}),Pg=E("ZodULID",(e,t)=>{Vp.init(e,t),be.init(e,t)}),kg=E("ZodXID",(e,t)=>{Bp.init(e,t),be.init(e,t)}),Tg=E("ZodKSUID",(e,t)=>{Up.init(e,t),be.init(e,t)}),Ng=E("ZodIPv4",(e,t)=>{Jp.init(e,t),be.init(e,t)}),Rg=E("ZodIPv6",(e,t)=>{qp.init(e,t),be.init(e,t)}),Ig=E("ZodCIDRv4",(e,t)=>{Yp.init(e,t),be.init(e,t)}),jg=E("ZodCIDRv6",(e,t)=>{Xp.init(e,t),be.init(e,t)}),Og=E("ZodBase64",(e,t)=>{Qp.init(e,t),be.init(e,t)}),Ag=E("ZodBase64URL",(e,t)=>{th.init(e,t),be.init(e,t)}),$g=E("ZodE164",(e,t)=>{nh.init(e,t),be.init(e,t)}),Dg=E("ZodJWT",(e,t)=>{oh.init(e,t),be.init(e,t)}),Ri=E("ZodNumber",(e,t)=>{yi.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,o,a)=>Nm(e,r,o),e.gt=(r,o)=>e.check(ts(r,o)),e.gte=(r,o)=>e.check(oo(r,o)),e.min=(r,o)=>e.check(oo(r,o)),e.lt=(r,o)=>e.check(es(r,o)),e.lte=(r,o)=>e.check(ro(r,o)),e.max=(r,o)=>e.check(ro(r,o)),e.int=r=>e.check(os(r)),e.safe=r=>e.check(os(r)),e.positive=r=>e.check(ts(0,r)),e.nonnegative=r=>e.check(oo(0,r)),e.negative=r=>e.check(es(0,r)),e.nonpositive=r=>e.check(ro(0,r)),e.multipleOf=(r,o)=>e.check(ns(r,o)),e.step=(r,o)=>e.check(ns(r,o)),e.finite=()=>e;const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function je(e){return om(Ri,e)}const Mg=E("ZodNumberFormat",(e,t)=>{ah.init(e,t),Ri.init(e,t)});function os(e){return am(Mg,e)}const zg=E("ZodBoolean",(e,t)=>{sh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Rm(e,n,r)});function Be(e){return sm(zg,e)}const Lg=E("ZodNull",(e,t)=>{ih.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Im(e,n,r)});function Fg(e){return im(Lg,e)}const Zg=E("ZodAny",(e,t)=>{ch.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Om()});function Vg(){return cm(Zg)}const Bg=E("ZodUnknown",(e,t)=>{lh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Am()});function tt(){return lm(Bg)}const Ug=E("ZodNever",(e,t)=>{uh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jm(e,n,r)});function Hg(e){return um(Ug,e)}const Gg=E("ZodArray",(e,t)=>{dh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lm(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(lr(n,r)),e.nonempty=n=>e.check(lr(1,n)),e.max=(n,r)=>e.check(_i(n,r)),e.length=(n,r)=>e.check(Ci(n,r)),e.unwrap=()=>e.element});function ke(e,t){return Sm(Gg,e,t)}const Wg=E("ZodObject",(e,t)=>{ph.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fm(e,n,r,o),ne(e,"shape",()=>t.shape),e.keyof=()=>me(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:tt()}),e.loose=()=>e.clone({...e._zod.def,catchall:tt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Hg()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>If(e,n),e.safeExtend=n=>jf(e,n),e.merge=n=>Of(e,n),e.pick=n=>Nf(e,n),e.omit=n=>Rf(e,n),e.partial=(...n)=>Af(Ii,e,n[0]),e.required=(...n)=>$f(ji,e,n[0])});function V(e,t){const n={type:"object",shape:e??{},...W(t)};return new Wg(n)}const Kg=E("ZodUnion",(e,t)=>{hh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zm(e,n,r,o),e.options=t.options});function nt(e,t){return new Kg({type:"union",options:e,...W(t)})}const Jg=E("ZodIntersection",(e,t)=>{mh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vm(e,n,r,o)});function qg(e,t){return new Jg({type:"intersection",left:e,right:t})}const Yg=E("ZodRecord",(e,t)=>{gh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bm(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function ft(e,t,n){return new Yg({type:"record",keyType:e,valueType:t,...W(n)})}const So=E("ZodEnum",(e,t)=>{vh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(r,o,a)=>$m(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const a={};for(const s of r)if(n.has(s))a[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new So({...t,checks:[],...W(o),entries:a})},e.exclude=(r,o)=>{const a={...t.entries};for(const s of r)if(n.has(s))delete a[s];else throw new Error(`Key ${s} not found in enum`);return new So({...t,checks:[],...W(o),entries:a})}});function me(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new So({type:"enum",entries:n,...W(t)})}const Xg=E("ZodLiteral",(e,t)=>{bh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dm(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Qo(e,t){return new Xg({type:"literal",values:Array.isArray(e)?e:[e],...W(t)})}const Qg=E("ZodTransform",(e,t)=>{yh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zm(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new ri(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(_n(a,n.value,t));else{const s=a;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(_n(s))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(a=>(n.value=a,n)):(n.value=o,n)}});function ev(e){return new Qg({type:"transform",transform:e})}const Ii=E("ZodOptional",(e,t)=>{Si.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ti(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function as(e){return new Ii({type:"optional",innerType:e})}const tv=E("ZodExactOptional",(e,t)=>{xh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ti(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function nv(e){return new tv({type:"optional",innerType:e})}const rv=E("ZodNullable",(e,t)=>{wh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Um(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ss(e){return new rv({type:"nullable",innerType:e})}const ov=E("ZodDefault",(e,t)=>{Sh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gm(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function av(e,t){return new ov({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():ii(t)}})}const sv=E("ZodPrefault",(e,t)=>{_h.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wm(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function iv(e,t){return new sv({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():ii(t)}})}const ji=E("ZodNonOptional",(e,t)=>{Ch.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hm(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function cv(e,t){return new ji({type:"nonoptional",innerType:e,...W(t)})}const lv=E("ZodCatch",(e,t)=>{Eh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Km(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function uv(e,t){return new lv({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const dv=E("ZodPipe",(e,t)=>{Ph.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jm(e,n,r,o),e.in=t.in,e.out=t.out});function is(e,t){return new dv({type:"pipe",in:e,out:t})}const fv=E("ZodReadonly",(e,t)=>{kh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qm(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function pv(e){return new fv({type:"readonly",innerType:e})}const hv=E("ZodLazy",(e,t)=>{Th.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ym(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function mv(e){return new hv({type:"lazy",getter:e})}const gv=E("ZodCustom",(e,t)=>{Nh.init(e,t),ue.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mm(e,n)});function vv(e,t={}){return _m(gv,e,t)}function bv(e){return Cm(e)}var Oi=nt([N(),je(),Be(),Fg(),V({$state:N()})]);nt([N(),V({$state:N()})]);nt([je(),V({$state:N()})]);nt([Be(),V({$state:N()})]);function Ai(e,t){if(e!=null)return typeof e=="object"&&"$state"in e?Oe(t,e.$state):e}function yv(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function $i(e){return(e.startsWith("/")?e.slice(1).split("/"):e.split("/")).map(yv)}function Oe(e,t){if(!t||t==="/")return e;const n=$i(t);let r=e;for(const o of n){if(r==null)return;if(Array.isArray(r)){const a=parseInt(o,10);r=r[a]}else if(typeof r=="object")r=r[o];else return}return r}function cs(e,t,n){const r=$i(t);if(r.length===0)return e;const o={...e};let a=o;for(let i=0;i<r.length-1;i++){const c=r[i],u=a[c];if(Array.isArray(u))a[c]=[...u];else if(u!==null&&typeof u=="object")a[c]={...u};else{const p=r[i+1];a[c]=p!==void 0&&/^\d+$/.test(p)?[]:{}}a=a[c]}const s=r[r.length-1];return Array.isArray(a)?s==="-"?a.push(n):a[parseInt(s,10)]=n:a[s]=n,o}function xv(e={}){let t={...e};const n=new Set;function r(){for(const o of n)o()}return{get(o){return Oe(t,o)},set(o,a){Oe(t,o)!==a&&(t=cs(t,o,a),r())},update(o){let a=!1,s=t;for(const[i,c]of Object.entries(o))Oe(s,i)!==c&&(s=cs(s,i,c),a=!0);a&&(t=s,r())},getSnapshot(){return t},getServerSnapshot(){return t},subscribe(o){return n.add(o),()=>{n.delete(o)}}}}var wv=20;function ea(e,t="",n=0,r,o){const a=r??new Set,s={};for(const[i,c]of Object.entries(e)){const u=`${t}/${i}`;n<wv&&c!==null&&typeof c=="object"&&!Array.isArray(c)&&Object.getPrototypeOf(c)===Object.prototype&&!a.has(c)?(a.add(c),Object.assign(s,ea(c,u,n+1,a))):s[u]=c}return s}var qn=nt([je(),V({$state:N()})]),ta={eq:tt().optional(),neq:tt().optional(),gt:qn.optional(),gte:qn.optional(),lt:qn.optional(),lte:qn.optional(),not:Qo(!0).optional()},Sv=V({$state:N(),...ta}),_v=V({$item:N(),...ta}),Cv=V({$index:Qo(!0),...ta}),ls=nt([Sv,_v,Cv]),_o=mv(()=>nt([Be(),ls,ke(ls),V({$and:ke(_o)}),V({$or:ke(_o)})]));function Ft(e,t){return typeof e=="object"&&e!==null&&"$state"in e&&typeof e.$state=="string"?Oe(t.stateModel,e.$state):e}function Ev(e){return"$item"in e}function Pv(e){return"$index"in e}function kv(e,t){return Pv(e)?t.repeatIndex:Ev(e)?t.repeatItem===void 0?void 0:e.$item===""?t.repeatItem:Oe(t.repeatItem,e.$item):Oe(t.stateModel,e.$state)}function us(e,t){const n=kv(e,t);let r;if(e.eq!==void 0){const o=Ft(e.eq,t);r=n===o}else if(e.neq!==void 0){const o=Ft(e.neq,t);r=n!==o}else if(e.gt!==void 0){const o=Ft(e.gt,t);r=typeof n=="number"&&typeof o=="number"?n>o:!1}else if(e.gte!==void 0){const o=Ft(e.gte,t);r=typeof n=="number"&&typeof o=="number"?n>=o:!1}else if(e.lt!==void 0){const o=Ft(e.lt,t);r=typeof n=="number"&&typeof o=="number"?n<o:!1}else if(e.lte!==void 0){const o=Ft(e.lte,t);r=typeof n=="number"&&typeof o=="number"?n<=o:!1}else r=!!n;return e.not===!0?!r:r}function Tv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"$and"in e}function Nv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"$or"in e}function tn(e,t){return e===void 0?!0:typeof e=="boolean"?e:Array.isArray(e)?e.every(n=>us(n,t)):Tv(e)?e.$and.every(n=>tn(n,t)):Nv(e)?e.$or.some(n=>tn(n,t)):us(e,t)}function Rv(e){return typeof e=="object"&&e!==null&&"$state"in e&&typeof e.$state=="string"}function Di(e){return typeof e=="object"&&e!==null&&"$item"in e&&typeof e.$item=="string"}function Mi(e){return typeof e=="object"&&e!==null&&"$index"in e&&e.$index===!0}function zi(e){return typeof e=="object"&&e!==null&&"$bindState"in e&&typeof e.$bindState=="string"}function Li(e){return typeof e=="object"&&e!==null&&"$bindItem"in e&&typeof e.$bindItem=="string"}function Iv(e){return typeof e=="object"&&e!==null&&"$cond"in e&&"$then"in e&&"$else"in e}function jv(e){return typeof e=="object"&&e!==null&&"$computed"in e&&typeof e.$computed=="string"}function Ov(e){return typeof e=="object"&&e!==null&&"$template"in e&&typeof e.$template=="string"}var Av=100,ao=new Set,$v=100,so=new Set;function na(e,t){if(t.repeatBasePath==null){console.warn(`$bindItem used outside repeat scope: "${e}"`);return}return e===""?t.repeatBasePath:t.repeatBasePath+"/"+e}function Tt(e,t){if(e==null)return e;if(Rv(e))return Oe(t.stateModel,e.$state);if(Di(e))return t.repeatItem===void 0?void 0:e.$item===""?t.repeatItem:Oe(t.repeatItem,e.$item);if(Mi(e))return t.repeatIndex;if(zi(e))return Oe(t.stateModel,e.$bindState);if(Li(e)){const n=na(e.$bindItem,t);return n===void 0?void 0:Oe(t.stateModel,n)}if(Iv(e)){const n=tn(e.$cond,t);return Tt(n?e.$then:e.$else,t)}if(jv(e)){const n=t.functions?.[e.$computed];if(!n){ao.has(e.$computed)||(ao.size<Av&&ao.add(e.$computed),console.warn(`Unknown $computed function: "${e.$computed}"`));return}const r={};if(e.args)for(const[o,a]of Object.entries(e.args))r[o]=Tt(a,t);return n(r)}if(Ov(e))return e.$template.replace(/\$\{([^}]+)\}/g,(n,r)=>{let o=r;o.startsWith("/")||(so.has(o)||(so.size<$v&&so.add(o),console.warn(`$template path "${o}" should be a JSON Pointer starting with "/". Automatically resolving as "/${o}".`)),o="/"+o);const a=Oe(t.stateModel,o);return a!=null?String(a):""});if(Array.isArray(e))return e.map(n=>Tt(n,t));if(typeof e=="object"){const n={};for(const[r,o]of Object.entries(e))n[r]=Tt(o,t);return n}return e}function Dv(e,t){const n={};for(const[r,o]of Object.entries(e))n[r]=Tt(o,t);return n}function Mv(e,t){let n;for(const[r,o]of Object.entries(e))if(zi(o))n||(n={}),n[r]=o.$bindState;else if(Li(o)){const a=na(o.$bindItem,t);a!==void 0&&(n||(n={}),n[r]=a)}return n}function ds(e,t){return Di(e)?na(e.$item,t):Mi(e)?t.repeatIndex:Tt(e,t)}var zv=V({title:N(),message:N(),confirmLabel:N().optional(),cancelLabel:N().optional(),variant:me(["default","danger"]).optional()}),Lv=nt([V({navigate:N()}),V({set:ft(N(),tt())}),V({action:N()})]),Fv=nt([V({set:ft(N(),tt())}),V({action:N()})]);V({action:N(),params:ft(N(),Oi).optional(),confirm:zv.optional(),onSuccess:Lv.optional(),onError:Fv.optional(),preventDefault:Be().optional()});function Zv(e,t){const n={};if(e.params)for(const[o,a]of Object.entries(e.params))n[o]=Ai(a,t);let r=e.confirm;return r&&(r={...r,message:fs(r.message,t),title:fs(r.title,t)}),{action:e.action,params:n,confirm:r,onSuccess:e.onSuccess,onError:e.onError}}function fs(e,t){return e.replace(/\$\{([^}]+)\}/g,(n,r)=>{const o=Ai({$state:r},t);return String(o??"")})}async function ps(e){const{action:t,handler:n,setState:r,navigate:o,executeAction:a}=e;try{if(await n(t.params),t.onSuccess)if("navigate"in t.onSuccess&&o)o(t.onSuccess.navigate);else if("set"in t.onSuccess)for(const[s,i]of Object.entries(t.onSuccess.set))r(s,i);else"action"in t.onSuccess&&a&&await a(t.onSuccess.action)}catch(s){if(t.onError)if("set"in t.onError)for(const[i,c]of Object.entries(t.onError.set)){const u=typeof c=="string"&&c==="$error.message"?s.message:c;r(i,u)}else"action"in t.onError&&a&&await a(t.onError.action);else throw s}}var Vv=V({type:N(),args:ft(N(),Oi).optional(),message:N()});V({checks:ke(Vv).optional(),validateOn:me(["change","blur","submit"]).optional(),enabled:_o.optional()});var hs=(e,t)=>{const n=t?.other;return e===n},Bv={required:e=>e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:!0,email:e=>typeof e!="string"?!1:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),minLength:(e,t)=>{if(typeof e!="string")return!1;const n=t?.min;return typeof n!="number"?!1:e.length>=n},maxLength:(e,t)=>{if(typeof e!="string")return!1;const n=t?.max;return typeof n!="number"?!1:e.length<=n},pattern:(e,t)=>{if(typeof e!="string")return!1;const n=t?.pattern;if(typeof n!="string")return!1;try{return new RegExp(n).test(e)}catch{return!1}},min:(e,t)=>{if(typeof e!="number")return!1;const n=t?.min;return typeof n!="number"?!1:e>=n},max:(e,t)=>{if(typeof e!="number")return!1;const n=t?.max;return typeof n!="number"?!1:e<=n},numeric:e=>typeof e=="number"?!isNaN(e):typeof e=="string"?!isNaN(parseFloat(e)):!1,url:e=>{if(typeof e!="string")return!1;try{return new URL(e),!0}catch{return!1}},matches:hs,equalTo:hs,lessThan:(e,t)=>{const n=t?.other;if(e==null||n==null||e===""||n==="")return!1;if(typeof e=="number"&&typeof n=="number"||typeof e=="string"&&typeof n=="string")return e<n;const r=Number(e),o=Number(n);return!isNaN(r)&&!isNaN(o)?r<o:!1},greaterThan:(e,t)=>{const n=t?.other;if(e==null||n==null||e===""||n==="")return!1;if(typeof e=="number"&&typeof n=="number"||typeof e=="string"&&typeof n=="string")return e>n;const r=Number(e),o=Number(n);return!isNaN(r)&&!isNaN(o)?r>o:!1},requiredIf:(e,t)=>t?.field?e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:!0:!0};function Uv(e,t){const{value:n,stateModel:r,customFunctions:o}=t,a={};if(e.args)for(const[c,u]of Object.entries(e.args))a[c]=Tt(u,{stateModel:r});const s=Bv[e.type]??o?.[e.type];if(!s)return console.warn(`Unknown validation function: ${e.type}`),{type:e.type,valid:!0,message:e.message};const i=s(n,a);return{type:e.type,valid:i,message:e.message}}function Hv(e,t){const n=[],r=[];if(e.enabled&&!tn(e.enabled,{stateModel:t.stateModel}))return{valid:!0,errors:[],checks:[]};if(e.checks)for(const o of e.checks){const a=Uv(o,t);n.push(a),a.valid||r.push(a.message)}return{valid:r.length===0,errors:r,checks:n}}function Gv(){return{string:()=>({kind:"string"}),number:()=>({kind:"number"}),boolean:()=>({kind:"boolean"}),array:e=>({kind:"array",inner:e}),object:e=>({kind:"object",inner:e}),record:e=>({kind:"record",inner:e}),any:()=>({kind:"any"}),zod:()=>({kind:"zod"}),ref:e=>({kind:"ref",inner:e}),propsOf:e=>({kind:"propsOf",inner:e}),map:e=>({kind:"map",inner:e}),optional:()=>({optional:!0})}}function Wv(e,t){const n=Gv();return{definition:e(n),promptTemplate:t?.promptTemplate,defaultRules:t?.defaultRules,builtInActions:t?.builtInActions,createCatalog(o){return Kv(this,o)}}}function Kv(e,t){const n=t.components,r=t.actions,o=n?Object.keys(n):[],a=r?Object.keys(r):[],s=Jv(e.definition,t);return{schema:e,data:t,componentNames:o,actionNames:a,prompt(i={}){return Xv(this,i)},jsonSchema(){return Wt(s)},validate(i){const c=s.safeParse(i);return c.success?{success:!0,data:c.data}:{success:!1,error:c.error}},zodSchema(){return s},get _specType(){throw new Error("_specType is only for type inference")}}}function Jv(e,t){return or(e.spec,t)}function or(e,t){switch(e.kind){case"string":return N();case"number":return je();case"boolean":return Be();case"any":return Vg();case"array":{const n=or(e.inner,t);return ke(n)}case"object":{const n=e.inner,r={};for(const[o,a]of Object.entries(n)){let s=or(a,t);a.optional&&(s=s.optional()),r[o]=s}return V(r)}case"record":{const n=or(e.inner,t);return ft(N(),n)}case"ref":{const n=e.inner,r=qv(n,t);return r.length===0?N():r.length===1?Qo(r[0]):me(r)}case"propsOf":{const n=e.inner,r=Yv(n,t);return r.length===0?ft(N(),tt()):r.length===1?r[0]:ft(N(),tt())}default:return tt()}}function qv(e,t){const n=e.split(".");let r={catalog:t};for(const o of n)if(r&&typeof r=="object")r=r[o];else return[];return r&&typeof r=="object"?Object.keys(r):[]}function Yv(e,t){const n=e.split(".");let r={catalog:t};for(const o of n)if(r&&typeof r=="object")r=r[o];else return[];return r&&typeof r=="object"?Object.values(r).map(o=>o.props).filter(o=>o!==void 0):[]}function Xv(e,t){if(e.schema.promptTemplate){const k={catalog:e.data,componentNames:e.componentNames,actionNames:e.actionNames,options:t,formatZodType:Nt};return e.schema.promptTemplate(k)}const{system:n="You are a UI generator that outputs JSON.",customRules:r=[],mode:o="generate"}=t,a=[];a.push(n),a.push(""),o==="chat"?(a.push("OUTPUT FORMAT (text + JSONL, RFC 6902 JSON Patch):"),a.push("You respond conversationally. When generating UI, first write a brief explanation (1-3 sentences), then output JSONL patch lines wrapped in a ```spec code fence."),a.push("The JSONL lines use RFC 6902 JSON Patch operations to build a UI tree. Always wrap them in a ```spec fence block:"),a.push(" ```spec"),a.push(' {"op":"add","path":"/root","value":"main"}'),a.push(' {"op":"add","path":"/elements/main","value":{"type":"Card","props":{"title":"Hello"},"children":[]}}'),a.push(" ```"),a.push("If the user's message does not require a UI (e.g. a greeting or clarifying question), respond with text only — no JSONL.")):(a.push("OUTPUT FORMAT (JSONL, RFC 6902 JSON Patch):"),a.push("Output JSONL (one JSON object per line) using RFC 6902 JSON Patch operations to build a UI tree.")),a.push("Each line is a JSON patch operation (add, remove, replace). Start with /root, then stream /elements and /state patches interleaved so the UI fills in progressively as it streams."),a.push(""),a.push("Example output (each line is a separate JSON object):"),a.push("");const s=e.data.components,i=e.componentNames,c=i[0]||"Component",u=i.length>1?i[1]:c,p=s?.[c],f=s?.[u],h=p?ms(p):{},v=f?ms(f):{},y=f?.props?Qv(f.props):null,m=y?{...v,[y]:{$item:"title"}}:v,b=[JSON.stringify({op:"add",path:"/root",value:"main"}),JSON.stringify({op:"add",path:"/elements/main",value:{type:c,props:h,children:["child-1","list"]}}),JSON.stringify({op:"add",path:"/elements/child-1",value:{type:u,props:v,children:[]}}),JSON.stringify({op:"add",path:"/elements/list",value:{type:c,props:h,repeat:{statePath:"/items",key:"id"},children:["item"]}}),JSON.stringify({op:"add",path:"/elements/item",value:{type:u,props:m,children:[]}}),JSON.stringify({op:"add",path:"/state/items",value:[]}),JSON.stringify({op:"add",path:"/state/items/0",value:{id:"1",title:"First Item"}}),JSON.stringify({op:"add",path:"/state/items/1",value:{id:"2",title:"Second Item"}})].join(`
40
+ `);a.push(`${b}
41
+
42
+ Note: state patches appear right after the elements that use them, so the UI fills in as it streams. ONLY use component types from the AVAILABLE COMPONENTS list below.`),a.push(""),a.push("INITIAL STATE:"),a.push("Specs include a /state field to seed the state model. Components with { $bindState } or { $bindItem } read from and write to this state, and $state expressions read from it."),a.push("CRITICAL: You MUST include state patches whenever your UI displays data via $state, $bindState, $bindItem, $item, or $index expressions, or uses repeat to iterate over arrays. Without state, these references resolve to nothing and repeat lists render zero items."),a.push("Output state patches right after the elements that reference them, so the UI fills in progressively as it streams."),a.push("Stream state progressively - output one patch per array item instead of one giant blob:"),a.push(' For arrays: {"op":"add","path":"/state/posts/0","value":{"id":"1","title":"First Post",...}} then /state/posts/1, /state/posts/2, etc.'),a.push(' For scalars: {"op":"add","path":"/state/newTodoText","value":""}'),a.push(' Initialize the array first if needed: {"op":"add","path":"/state/posts","value":[]}'),a.push('When content comes from the state model, use { "$state": "/some/path" } dynamic props to display it instead of hardcoding the same value in both state and props. The state model is the single source of truth.'),a.push("Include realistic sample data in state. For blogs: 3-4 posts with titles, excerpts, authors, dates. For product lists: 3-5 items with names, prices, descriptions. Never leave arrays empty."),a.push(""),a.push("DYNAMIC LISTS (repeat field):"),a.push('Any element can have a top-level "repeat" field to render its children once per item in a state array: { "repeat": { "statePath": "/arrayPath", "key": "id" } }.'),a.push('The element itself renders once (as the container), and its children are expanded once per array item. "statePath" is the state array path. "key" is an optional field name on each item for stable React keys.'),a.push(`Example: ${JSON.stringify({type:c,props:h,repeat:{statePath:"/todos",key:"id"},children:["todo-item"]})}`),a.push('Inside children of a repeated element, use { "$item": "field" } to read a field from the current item, and { "$index": true } to get the current array index. For two-way binding to an item field use { "$bindItem": "completed" } on the appropriate prop.'),a.push("ALWAYS use the repeat field for lists backed by state arrays. NEVER hardcode individual elements for each array item."),a.push('IMPORTANT: "repeat" is a top-level field on the element (sibling of type/props/children), NOT inside props.'),a.push(""),a.push("ARRAY STATE ACTIONS:"),a.push('Use action "pushState" to append items to arrays. Params: { statePath: "/arrayPath", value: { ...item }, clearStatePath: "/inputPath" }.'),a.push('Values inside pushState can contain { "$state": "/statePath" } references to read current state (e.g. the text from an input field).'),a.push('Use "$id" inside a pushState value to auto-generate a unique ID.'),a.push('Example: on: { "press": { "action": "pushState", "params": { "statePath": "/todos", "value": { "id": "$id", "title": { "$state": "/newTodoText" }, "completed": false }, "clearStatePath": "/newTodoText" } } }'),a.push(`Use action "removeState" to remove items from arrays by index. Params: { statePath: "/arrayPath", index: N }. Inside a repeated element's children, use { "$index": true } for the current item index. Action params support the same expressions as props: { "$item": "field" } resolves to the absolute state path, { "$index": true } resolves to the index number, and { "$state": "/path" } reads a value from state.`),a.push("For lists where users can add/remove items (todos, carts, etc.), use pushState and removeState instead of hardcoding with setState."),a.push(""),a.push('IMPORTANT: State paths use RFC 6901 JSON Pointer syntax (e.g. "/todos/0/title"). Do NOT use JavaScript-style dot notation (e.g. "/todos.length" is WRONG). To generate unique IDs for new items, use "$id" instead of trying to read array length.'),a.push("");const g=s;if(g){a.push(`AVAILABLE COMPONENTS (${e.componentNames.length}):`),a.push("");for(const[k,O]of Object.entries(g)){const j=O.props?Nt(O.props):"{}",G=O.slots&&O.slots.length>0?" [accepts children]":"",B=O.events&&O.events.length>0?` [events: ${O.events.join(", ")}]`:"",H=O.description?` - ${O.description}`:"";a.push(`- ${k}: ${j}${H}${G}${B}`)}a.push("")}const w=e.data.actions,x=e.schema.builtInActions??[],S=w&&e.actionNames.length>0,_=x.length>0;if(S||_){a.push("AVAILABLE ACTIONS:"),a.push("");for(const k of x)a.push(`- ${k.name}: ${k.description} [built-in]`);if(S)for(const[k,O]of Object.entries(w))a.push(`- ${k}${O.description?`: ${O.description}`:""}`);a.push("")}a.push("EVENTS (the `on` field):"),a.push("Elements can have an optional `on` field to bind events to actions. The `on` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push('Each key in `on` is an event name (from the component\'s supported events), and the value is an action binding: `{ "action": "<actionName>", "params": { ... } }`.'),a.push(""),a.push("Example:"),a.push(` ${JSON.stringify({type:c,props:h,on:{press:{action:"setState",params:{statePath:"/saved",value:!0}}},children:[]})}`),a.push(""),a.push('Action params can use dynamic references to read from state: { "$state": "/statePath" }.'),a.push("IMPORTANT: Do NOT put action/actionParams inside props. Always use the `on` field for event bindings."),a.push(""),a.push("VISIBILITY CONDITIONS:"),a.push("Elements can have an optional `visible` field to conditionally show/hide based on state. IMPORTANT: `visible` is a top-level field on the element object (sibling of type/props/children), NOT inside props."),a.push(`Correct: ${JSON.stringify({type:c,props:h,visible:{$state:"/activeTab",eq:"home"},children:["..."]})}`),a.push('- `{ "$state": "/path" }` - visible when state at path is truthy'),a.push('- `{ "$state": "/path", "not": true }` - visible when state at path is falsy'),a.push('- `{ "$state": "/path", "eq": "value" }` - visible when state equals value'),a.push('- `{ "$state": "/path", "neq": "value" }` - visible when state does not equal value'),a.push('- `{ "$state": "/path", "gt": N }` / `gte` / `lt` / `lte` - numeric comparisons'),a.push("- Use ONE operator per condition (eq, neq, gt, gte, lt, lte). Do not combine multiple operators."),a.push('- Any condition can add `"not": true` to invert its result'),a.push("- `[condition, condition]` - all conditions must be true (implicit AND)"),a.push('- `{ "$and": [condition, condition] }` - explicit AND (use when nesting inside $or)'),a.push('- `{ "$or": [condition, condition] }` - at least one must be true (OR)'),a.push("- `true` / `false` - always visible/hidden"),a.push(""),a.push("Use a component with on.press bound to setState to update state and drive visibility."),a.push(`Example: A ${c} with on: { "press": { "action": "setState", "params": { "statePath": "/activeTab", "value": "home" } } } sets state, then a container with visible: { "$state": "/activeTab", "eq": "home" } shows only when that tab is active.`),a.push(""),a.push('For tab patterns where the first/default tab should be visible when no tab is selected yet, use $or to handle both cases: visible: { "$or": [{ "$state": "/activeTab", "eq": "home" }, { "$state": "/activeTab", "not": true }] }. This ensures the first tab is visible both when explicitly selected AND when /activeTab is not yet set.'),a.push(""),a.push("DYNAMIC PROPS:"),a.push("Any prop value can be a dynamic expression that resolves based on state. Three forms are supported:"),a.push(""),a.push('1. Read-only state: `{ "$state": "/statePath" }` - resolves to the value at that state path (one-way read).'),a.push(' Example: `"color": { "$state": "/theme/primary" }` reads the color from state.'),a.push(""),a.push('2. Two-way binding: `{ "$bindState": "/statePath" }` - resolves to the value at the state path AND enables write-back. Use on form input props (value, checked, pressed, etc.).'),a.push(' Example: `"value": { "$bindState": "/form/email" }` binds the input value to /form/email.'),a.push(' Inside repeat scopes: `"checked": { "$bindItem": "completed" }` binds to the current item\'s completed field.'),a.push(""),a.push('3. Conditional: `{ "$cond": <condition>, "$then": <value>, "$else": <value> }` - evaluates the condition (same syntax as visibility conditions) and picks the matching value.'),a.push(' Example: `"color": { "$cond": { "$state": "/activeTab", "eq": "home" }, "$then": "#007AFF", "$else": "#8E8E93" }`'),a.push(""),a.push("Use $bindState for form inputs (text fields, checkboxes, selects, sliders, etc.) and $state for read-only data display. Inside repeat scopes, use $bindItem for form inputs bound to the current item. Use dynamic props instead of duplicating elements with opposing visible conditions when only prop values differ."),a.push(""),a.push('4. Template: `{ "$template": "Hello, ${/name}!" }` - interpolates `${/path}` references in the string with values from the state model.'),a.push(' Example: `"label": { "$template": "Items: ${/cart/count} | Total: ${/cart/total}" }` renders "Items: 3 | Total: 42.00" when /cart/count is 3 and /cart/total is 42.00.'),a.push("");const T=e.data.functions;if(T&&Object.keys(T).length>0){a.push('5. Computed: `{ "$computed": "<functionName>", "args": { "key": <expression> } }` - calls a registered function with resolved args and returns the result.'),a.push(' Example: `"value": { "$computed": "fullName", "args": { "first": { "$state": "/form/firstName" }, "last": { "$state": "/form/lastName" } } }`'),a.push(" Available functions:");for(const k of Object.keys(T))a.push(` - ${k}`);a.push("")}s&&Object.entries(s).some(([,k])=>k.props?Nt(k.props).includes("checks"):!1)&&(a.push("VALIDATION:"),a.push("Form components that accept a `checks` prop support client-side validation."),a.push('Each check is an object: { "type": "<name>", "message": "...", "args": { ... } }'),a.push(""),a.push("Built-in validation types:"),a.push(" - required — value must be non-empty"),a.push(" - email — valid email format"),a.push(' - minLength — minimum string length (args: { "min": N })'),a.push(' - maxLength — maximum string length (args: { "max": N })'),a.push(' - pattern — match a regex (args: { "pattern": "regex" })'),a.push(' - min — minimum numeric value (args: { "min": N })'),a.push(' - max — maximum numeric value (args: { "max": N })'),a.push(" - numeric — value must be a number"),a.push(" - url — valid URL format"),a.push(' - matches — must equal another field (args: { "other": { "$state": "/path" } })'),a.push(' - equalTo — alias for matches (args: { "other": { "$state": "/path" } })'),a.push(' - lessThan — value must be less than another field (args: { "other": { "$state": "/path" } })'),a.push(' - greaterThan — value must be greater than another field (args: { "other": { "$state": "/path" } })'),a.push(' - requiredIf — required only when another field is truthy (args: { "field": { "$state": "/path" } })'),a.push(""),a.push("Example:"),a.push(' "checks": [{ "type": "required", "message": "Email is required" }, { "type": "email", "message": "Invalid email" }]'),a.push(""),a.push("IMPORTANT: When using checks, the component must also have a { $bindState } or { $bindItem } on its value/checked prop for two-way binding."),a.push("Always include validation checks on form inputs for a good user experience (e.g. required, email, minLength)."),a.push("")),(S||_)&&(a.push("STATE WATCHERS:"),a.push("Elements can have an optional `watch` field to react to state changes and trigger actions. The `watch` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push("Maps state paths (JSON Pointers) to action bindings. When the value at a watched path changes, the bound actions fire automatically."),a.push(""),a.push("Example (cascading select — country changes trigger city loading):"),a.push(` ${JSON.stringify({type:"Select",props:{value:{$bindState:"/form/country"},options:["US","Canada","UK"]},watch:{"/form/country":{action:"loadCities",params:{country:{$state:"/form/country"}}}},children:[]})}`),a.push(""),a.push("Use `watch` for cascading dependencies where changing one field should trigger side effects (loading data, resetting dependent fields, computing derived values)."),a.push("IMPORTANT: `watch` is a top-level field on the element (sibling of type/props/children), NOT inside props. Watchers only fire when the value changes, not on initial render."),a.push("")),a.push("RULES:");const P=o==="chat"?["When generating UI, wrap all JSONL patches in a ```spec code fence - one JSON object per line inside the fence","Write a brief conversational response before any JSONL output",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"]:["Output ONLY JSONL patches - one JSON object per line, no markdown, no code fences",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"],I=e.schema.defaultRules??[];return[...P,...I,...r].forEach((k,O)=>{a.push(`${O+1}. ${k}`)}),a.join(`
43
+ `)}function ms(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?Fi(e.props):{}}function Fi(e){if(!e||!e._def)return{};const t=e._def,n=Rt(e);if(n!=="ZodObject"&&n!=="object")return{};const r=typeof t.shape=="function"?t.shape():t.shape;if(!r)return{};const o={};for(const[a,s]of Object.entries(r)){const i=Rt(s);i==="ZodOptional"||i==="optional"||i==="ZodNullable"||i==="nullable"||(o[a]=Co(s))}return o}function Co(e){if(!e||!e._def)return"...";const t=e._def;switch(Rt(e)){case"ZodString":case"string":return"example";case"ZodNumber":case"number":return 0;case"ZodBoolean":case"boolean":return!0;case"ZodLiteral":case"literal":return t.value;case"ZodEnum":case"enum":{if(Array.isArray(t.values)&&t.values.length>0)return t.values[0];if(t.entries&&typeof t.entries=="object"){const r=Object.values(t.entries);return r.length>0?r[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const r=t.innerType??t.wrapped;return r?Co(r):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return Fi(e);case"ZodUnion":case"union":{const r=t.options;return r&&r.length>0?Co(r[0]):"..."}default:return"..."}}function Qv(e){if(!e||!e._def)return null;const t=e._def,n=Rt(e);if(n!=="ZodObject"&&n!=="object")return null;const r=typeof t.shape=="function"?t.shape():t.shape;if(!r)return null;for(const[o,a]of Object.entries(r)){const s=Rt(a);if(!(s==="ZodOptional"||s==="optional"||s==="ZodNullable"||s==="nullable")&&(s==="ZodString"||s==="string"))return o}return null}function Rt(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function Nt(e){if(!e||!e._def)return"unknown";const t=e._def;switch(Rt(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":return JSON.stringify(t.value);case"ZodEnum":case"enum":{let r;if(Array.isArray(t.values))r=t.values;else if(t.entries&&typeof t.entries=="object")r=Object.values(t.entries);else return"enum";return r.map(o=>`"${o}"`).join(" | ")}case"ZodArray":case"array":{const r=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return r?`Array<${Nt(r)}>`:"Array<unknown>"}case"ZodObject":case"object":{const r=typeof t.shape=="function"?t.shape():t.shape;return r?`{ ${Object.entries(r).map(([a,s])=>{const i=Rt(s);return`${a}${i==="ZodOptional"||i==="ZodNullable"||i==="optional"||i==="nullable"?"?":""}: ${Nt(s)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const r=t.innerType??t.wrapped;return r?Nt(r):"unknown"}case"ZodUnion":case"union":{const r=t.options;return r?r.map(o=>Nt(o)).join(" | "):"unknown"}default:return"unknown"}}function Wt(e){const t=e._def;switch(t.typeName??""){case"ZodString":return{type:"string"};case"ZodNumber":return{type:"number"};case"ZodBoolean":return{type:"boolean"};case"ZodLiteral":return{const:t.value};case"ZodEnum":return{enum:t.values};case"ZodArray":{const r=t.type;return{type:"array",items:r?Wt(r):{}}}case"ZodObject":{const r=t.shape?.();if(!r)return{type:"object"};const o={},a=[];for(const[s,i]of Object.entries(r)){o[s]=Wt(i);const c=i._def;c.typeName!=="ZodOptional"&&c.typeName!=="ZodNullable"&&a.push(s)}return{type:"object",properties:o,required:a.length>0?a:void 0,additionalProperties:!1}}case"ZodRecord":{const r=t.valueType;return{type:"object",additionalProperties:r?Wt(r):!0}}case"ZodOptional":case"ZodNullable":{const r=t.innerType;return r?Wt(r):{}}case"ZodUnion":{const r=t.options;return r?{anyOf:r.map(Wt)}:{}}case"ZodAny":return{};default:return{}}}function eb(e,t){return e.createCatalog(t)}var tb=Wv(e=>({spec:e.object({root:e.string(),elements:e.record(e.object({type:e.ref("catalog.components"),props:e.propsOf("catalog.components"),children:e.array(e.string()),visible:e.any()}))}),catalog:e.object({components:e.map({props:e.zod(),slots:e.array(e.string()),description:e.string(),example:e.any()}),actions:e.map({params:e.zod(),description:e.string()})})}),{builtInActions:[{name:"setState",description:"Update a value in the state model at the given statePath. Params: { statePath: string, value: any }"},{name:"pushState",description:'Append an item to an array in state. Params: { statePath: string, value: any, clearStatePath?: string }. Value can contain {"$state":"/path"} refs and "$id" for auto IDs.'},{name:"removeState",description:"Remove an item from an array in state by index. Params: { statePath: string, index: number }"},{name:"validateForm",description:"Validate all registered form fields and write the result to state. Params: { statePath?: string }. Defaults to /formValidation. Result: { valid: boolean, errors: Record<string, string[]> }."}],defaultRules:["CRITICAL INTEGRITY CHECK: Before outputting ANY element that references children, you MUST have already output (or will output) each child as its own element. If an element has children: ['a', 'b'], then elements 'a' and 'b' MUST exist. A missing child element causes that entire branch of the UI to be invisible.","SELF-CHECK: After generating all elements, mentally walk the tree from root. Every key in every children array must resolve to a defined element. If you find a gap, output the missing element immediately.",'CRITICAL: The "visible" field goes on the ELEMENT object, NOT inside "props". Correct: {"type":"<ComponentName>","props":{},"visible":{"$state":"/tab","eq":"home"},"children":[...]}.','CRITICAL: The "on" field goes on the ELEMENT object, NOT inside "props". Use on.press, on.change, on.submit etc. NEVER put action/actionParams inside props.',"When the user asks for a UI that displays data (e.g. blog posts, products, users), ALWAYS include a state field with realistic sample data. The state field is a top-level field on the spec (sibling of root/elements).",'When building repeating content backed by a state array (e.g. posts, products, items), use the "repeat" field on a container element. Example: { "type": "<ContainerComponent>", "props": {}, "repeat": { "statePath": "/posts", "key": "id" }, "children": ["post-card"] }. Replace <ContainerComponent> with an appropriate component from the AVAILABLE COMPONENTS list. Inside repeated children, use { "$item": "field" } to read a field from the current item, and { "$index": true } for the current array index. For two-way binding to an item field use { "$bindItem": "completed" }. Do NOT hardcode individual elements for each array item.',"Design with visual hierarchy: use container components to group content, heading components for section titles, proper spacing, and status indicators. ONLY use components from the AVAILABLE COMPONENTS list.","For data-rich UIs, use multi-column layout components if available. For forms and single-column content, use vertical layout components. ONLY use components from the AVAILABLE COMPONENTS list.","Always include realistic, professional-looking sample data. For blogs include 3-4 posts with varied titles, authors, dates, categories. For products include names, prices, images. Never leave data empty."]}),Zi=d.createContext(null);function nb(e,t){return e?null:Object.keys(t).length===0?{}:ea(t)}function rb({store:e,initialState:t={},onStateChange:n,children:r}){const o=d.useRef(void 0);!e&&!o.current&&(o.current=xv(t));const a=e??o.current,s=d.useRef(a);s.current=a;const i=d.useRef(!!e);i.current=!!e,d.useRef(e?"controlled":"uncontrolled"),d.useRef(!1);const c=d.useRef(t),u=d.useRef(nb(!!e,t));d.useEffect(()=>{if(e||t===c.current)return;c.current=t;const g=t&&Object.keys(t).length>0?ea(t):{},w=u.current??{},x=new Set([...Object.keys(w),...Object.keys(g)]),S={};for(const _ of x)w[_]!==g[_]&&(S[_]=_ in g?g[_]:void 0);u.current=g,Object.keys(S).length>0&&a.update(S)},[e,t,a]);const p=d.useSyncExternalStore(a.subscribe,a.getSnapshot,a.getServerSnapshot??a.getSnapshot),f=d.useRef(n);f.current=n;const h=d.useCallback((g,w)=>{const x=s.current,S=x.getSnapshot();x.set(g,w),!i.current&&x.getSnapshot()!==S&&f.current?.([{path:g,value:w}])},[]),v=d.useCallback(g=>{const w=s.current,x=w.getSnapshot();if(w.update(g),!i.current&&w.getSnapshot()!==x){const S=[];for(const[_,T]of Object.entries(g))Oe(x,_)!==T&&S.push({path:_,value:T});S.length>0&&f.current?.(S)}},[]),y=d.useCallback(g=>s.current.get(g),[]),m=d.useCallback(()=>s.current.getSnapshot(),[]),b=d.useMemo(()=>({state:p,get:y,set:h,update:v,getSnapshot:m}),[p,y,h,v,m]);return l.jsx(Zi.Provider,{value:b,children:r})}function Dt(){const e=d.useContext(Zi);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}function gs(e){const{state:t,set:n}=Dt(),r=Oe(t,e),o=d.useCallback(a=>n(e,a),[e,n]);return[r,o]}var Vi=d.createContext(null);function ob({children:e}){const{state:t}=Dt(),n=d.useMemo(()=>({stateModel:t}),[t]),r=d.useMemo(()=>a=>tn(a,n),[n]),o=d.useMemo(()=>({isVisible:r,ctx:n}),[r,n]);return l.jsx(Vi.Provider,{value:o,children:e})}function ab(){const e=d.useContext(Vi);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var ra=d.createContext(null);function sb(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n){const a=e[o],s=t[o];if(a!==s){if(typeof a=="object"&&a!==null&&typeof s=="object"&&s!==null){const i=a.$state,c=s.$state;if(typeof i=="string"&&i===c)continue}return!1}}return!0}function ib(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const n=e.checks??[],r=t.checks??[];if(n.length!==r.length)return!1;for(let o=0;o<n.length;o++){const a=n[o],s=r[o];if(a.type!==s.type||a.message!==s.message||!sb(a.args,s.args))return!1}return!0}function cb({customFunctions:e={},children:t}){const{state:n,getSnapshot:r}=Dt(),[o,a]=d.useState({}),s=d.useRef({}),[i,c]=d.useState({}),u=d.useCallback((m,b)=>{c(g=>{const w=g[m];return w&&ib(w,b)?g:{...g,[m]:b}})},[]),p=d.useCallback((m,b)=>{const g=r(),w=m.split("/").filter(Boolean);let x=g;for(const T of w)if(x!=null&&typeof x=="object")x=x[T];else{x=void 0;break}const S=Hv(b,{value:x,stateModel:g,customFunctions:e}),_={touched:s.current[m]?.touched??!0,validated:!0,result:S};return s.current={...s.current,[m]:_},a(s.current),S},[e,r]),f=d.useCallback(m=>{s.current={...s.current,[m]:{...s.current[m],touched:!0,validated:s.current[m]?.validated??!1,result:s.current[m]?.result??null}},a(s.current)},[]),h=d.useCallback(m=>{const{[m]:b,...g}=s.current;s.current=g,a(g)},[]),v=d.useCallback(()=>{let m=!0;for(const[b,g]of Object.entries(i))p(b,g).valid||(m=!1);return m},[i,p]),y=d.useMemo(()=>({customFunctions:e,get fieldStates(){return s.current},validate:p,touch:f,clear:h,validateAll:v,registerField:u}),[e,o,p,f,h,v,u]);return l.jsx(ra.Provider,{value:y,children:t})}function lb(){const e=d.useContext(ra);if(!e)throw new Error("useValidation must be used within a ValidationProvider");return e}function ub(){return d.useContext(ra)}function Zt(e,t){const{fieldStates:n,validate:r,touch:o,clear:a,registerField:s}=lb();R.useEffect(()=>{e&&t&&s(e,t)},[e,t,s]);const i=n[e]??{touched:!1,validated:!1,result:null},c=d.useCallback(()=>r(e,t??{checks:[]}),[e,t,r]),u=d.useCallback(()=>o(e),[e,o]),p=d.useCallback(()=>a(e),[e,a]);return{state:i,validate:c,touch:u,clear:p,errors:i.result?.errors??[],isValid:i.result?.valid??!0}}var vs=0;function bs(){return vs+=1,`${Date.now()}-${vs}`}function Eo(e,t){if(e==null)return e;if(e==="$id")return bs();if(typeof e=="object"&&!Array.isArray(e)){const n=e,r=Object.keys(n);if(r.length===1&&typeof n.$state=="string")return t(n.$state);if(r.length===1&&"$id"in n)return bs()}if(Array.isArray(e))return e.map(n=>Eo(n,t));if(typeof e=="object"){const n={};for(const[r,o]of Object.entries(e))n[r]=Eo(o,t);return n}return e}var Bi=d.createContext(null);function db({handlers:e={},navigate:t,children:n}){const{get:r,set:o,getSnapshot:a}=Dt(),s=ub(),[i,c]=d.useState(e),[u,p]=d.useState(new Set),[f,h]=d.useState(null),v=d.useCallback((w,x)=>{c(S=>({...S,[w]:x}))},[]),y=d.useCallback(async w=>{const x=Zv(w,a());if(x.action==="setState"&&x.params){const _=x.params.statePath,T=x.params.value;_&&o(_,T);return}if(x.action==="pushState"&&x.params){const _=x.params.statePath,T=x.params.value;if(_){const C=Eo(T,r),P=r(_)??[];o(_,[...P,C]);const I=x.params.clearStatePath;I&&o(I,"")}return}if(x.action==="removeState"&&x.params){const _=x.params.statePath,T=x.params.index;if(_!==void 0&&T!==void 0){const C=r(_)??[];o(_,C.filter((P,I)=>I!==T))}return}if(x.action==="push"&&x.params){const _=x.params.screen;if(_){const T=r("/currentScreen"),C=r("/navStack")??[];T?o("/navStack",[...C,T]):o("/navStack",[...C,""]),o("/currentScreen",_)}return}if(x.action==="pop"){const _=r("/navStack")??[];if(_.length>0){const T=_[_.length-1];o("/navStack",_.slice(0,-1)),T?o("/currentScreen",T):o("/currentScreen",void 0)}return}if(x.action==="validateForm"){const _=s?.validateAll;if(!_){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const T=_(),C={};for(const[I,L]of Object.entries(s.fieldStates))L.result&&!L.result.valid&&(C[I]=L.result.errors);const P=x.params?.statePath||"/formValidation";o(P,{valid:T,errors:C});return}const S=i[x.action];if(!S){console.warn(`No handler registered for action: ${x.action}`);return}if(x.confirm)return new Promise((_,T)=>{h({action:x,handler:S,resolve:()=>{h(null),_()},reject:()=>{h(null),T(new Error("Action cancelled"))}})}).then(async()=>{p(_=>new Set(_).add(x.action));try{await ps({action:x,handler:S,setState:o,navigate:t,executeAction:async _=>{await y({action:_})}})}finally{p(_=>{const T=new Set(_);return T.delete(x.action),T})}});p(_=>new Set(_).add(x.action));try{await ps({action:x,handler:S,setState:o,navigate:t,executeAction:async _=>{await y({action:_})}})}finally{p(_=>{const T=new Set(_);return T.delete(x.action),T})}},[i,r,o,a,t,s]),m=d.useCallback(()=>{f?.resolve()},[f]),b=d.useCallback(()=>{f?.reject()},[f]),g=d.useMemo(()=>({handlers:i,loadingActions:u,pendingConfirmation:f,execute:y,confirm:m,cancel:b,registerHandler:v}),[i,u,f,y,m,b,v]);return l.jsx(Bi.Provider,{value:g,children:n})}function Ui(){const e=d.useContext(Bi);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function fb({confirm:e,onConfirm:t,onCancel:n}){const r=e.variant==="danger";return l.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:n,children:l.jsxs("div",{style:{backgroundColor:"white",borderRadius:"8px",padding:"24px",maxWidth:"400px",width:"100%",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1)"},onClick:o=>o.stopPropagation(),children:[l.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),l.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),l.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[l.jsx("button",{onClick:n,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),l.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:r?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var Hi=d.createContext(null);function pb({item:e,index:t,basePath:n,children:r}){return l.jsx(Hi.Provider,{value:{item:e,index:t,basePath:n},children:r})}function hb(){return d.useContext(Hi)}var mb=class extends R.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(`[json-render] Rendering error in <${this.props.elementType}>:`,e,t.componentStack)}render(){return this.state.hasError?null:this.props.children}},Gi={},Wi=R.createContext(Gi);function gb(){return R.useContext(Wi)}var Ki=R.memo(function e({element:t,spec:n,registry:r,loading:o,fallback:a}){const s=hb(),{ctx:i}=ab(),{execute:c}=Ui(),{getSnapshot:u,state:p}=Dt(),f=gb(),h=d.useMemo(()=>{const k=s?{...i,repeatItem:s.item,repeatIndex:s.index,repeatBasePath:s.basePath}:{...i};return k.functions=f,k},[i,s,f]),v=t.visible===void 0?!0:tn(t.visible,h),y=t.on,m=d.useCallback(async k=>{const O=y?.[k];if(!O)return;const j=Array.isArray(O)?O:[O];for(const U of j){if(!U.params){await c(U);continue}const G={...h,stateModel:u()},B={};for(const[H,K]of Object.entries(U.params))B[H]=ds(K,G);await c({...U,params:B})}},[y,c,h,u]),b=d.useCallback(k=>{const O=y?.[k];if(!O)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const U=(Array.isArray(O)?O:[O]).some(G=>G.preventDefault);return{emit:()=>m(k),shouldPreventDefault:U,bound:!0}},[y,m]),g=t.watch,w=d.useRef(null),x=d.useRef(void 0),S=d.useMemo(()=>{if(!g)return;const k={};for(const j of Object.keys(g))k[j]=Oe(p,j);const O=x.current;if(O){const j=Object.keys(k);if(j.length===Object.keys(O).length&&j.every(U=>k[U]===O[U]))return O}return x.current=k,k},[g,p]);if(d.useEffect(()=>{if(!g||!S)return;const k=Object.keys(g);if(k.length===0)return;const O=w.current;if(w.current=S,O===null)return;let j=!1;return(async()=>{for(const U of k){if(j)break;if(S[U]!==O[U]){const G=g[U];if(!G)continue;const B=Array.isArray(G)?G:[G];for(const H of B){if(j)break;if(!H.params){if(await c(H),j)break;continue}const K={...h,stateModel:u()},M={};for(const[ce,oe]of Object.entries(H.params))M[ce]=ds(oe,K);if(await c({...H,params:M}),j)break}}}})().catch(console.error),()=>{j=!0}},[g,S,c,h,u]),!v)return null;const _=t.props,T=Mv(_,h),C=Dv(_,h),P=C!==t.props?{...t,props:C}:t,I=r[P.type]??a;if(!I)return console.warn(`No renderer for component type: ${P.type}`),null;const L=P.repeat?l.jsx(vb,{element:P,spec:n,registry:r,loading:o,fallback:a}):P.children?.map(k=>{const O=n.elements[k];return O?l.jsx(e,{element:O,spec:n,registry:r,loading:o,fallback:a},k):(o||console.warn(`[json-render] Missing element "${k}" referenced as child of "${P.type}". This element will not render.`),null)});return l.jsx(mb,{elementType:P.type,children:l.jsx(I,{element:P,emit:m,on:b,bindings:T,loading:o,children:L})})});function vb({element:e,spec:t,registry:n,loading:r,fallback:o}){const{state:a}=Dt(),s=e.repeat,i=s.statePath,c=Oe(a,i)??[];return l.jsx(l.Fragment,{children:c.map((u,p)=>{const f=s.key&&typeof u=="object"&&u!==null?String(u[s.key]??p):String(p);return l.jsx(pb,{item:u,index:p,basePath:`${i}/${p}`,children:e.children?.map(h=>{const v=t.elements[h];return v?l.jsx(Ki,{element:v,spec:t,registry:n,loading:r,fallback:o},h):(r||console.warn(`[json-render] Missing element "${h}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},f)})})}function bb({spec:e,registry:t,loading:n,fallback:r}){if(!e||!e.root)return null;const o=e.elements[e.root];return o?l.jsx(Ki,{element:o,spec:e,registry:t,loading:n,fallback:r}):null}function yb({registry:e,store:t,initialState:n,handlers:r,navigate:o,validationFunctions:a,functions:s,onStateChange:i,children:c}){return l.jsx(rb,{store:t,initialState:n,onStateChange:i,children:l.jsx(ob,{children:l.jsx(cb,{customFunctions:a,children:l.jsx(db,{handlers:r,navigate:o,children:l.jsxs(Wi.Provider,{value:s??Gi,children:[c,l.jsx(xb,{})]})})})})})}function xb(){const{pendingConfirmation:e,confirm:t,cancel:n}=Ui();return e?.action.confirm?l.jsx(fb,{confirm:e.action.confirm,onConfirm:t,onCancel:n}):null}function wb(e,t){const n={};if(t.components)for(const[s,i]of Object.entries(t.components))n[s]=({element:c,children:u,emit:p,on:f,bindings:h,loading:v})=>i({props:c.props,children:u,emit:p,on:f,bindings:h,loading:v});const r=t.actions?Object.entries(t.actions):[];return{registry:n,handlers:(s,i)=>{const c={};for(const[u,p]of r)c[u]=async f=>{const h=s(),v=i();h&&await p(f,h,v)};return c},executeAction:async(s,i,c,u={})=>{const p=r.find(([f])=>f===s);p?await p[1](i,c,u):console.warn(`Unknown action: ${s}`)}}}function Ze(e,t){const{set:n}=Dt(),r=d.useCallback(o=>{t&&n(t,o)},[t,n]);return[e,r]}var Vt=ke(V({type:N(),message:N(),args:ft(N(),tt()).optional()})).nullable(),Bt=me(["change","blur","submit"]).nullable(),Sb={Card:{props:V({title:N().nullable(),description:N().nullable(),maxWidth:me(["sm","md","lg","full"]).nullable(),centered:Be().nullable()}),slots:["default"],description:"Container card for content sections. Use for forms/content boxes, NOT for page headers.",example:{title:"Overview",description:"Your account summary"}},Stack:{props:V({direction:me(["horizontal","vertical"]).nullable(),gap:me(["none","sm","md","lg"]).nullable(),align:me(["start","center","end","stretch"]).nullable(),justify:me(["start","center","end","between","around"]).nullable()}),slots:["default"],description:"Flex container for layouts",example:{direction:"vertical",gap:"md"}},Grid:{props:V({columns:je().nullable(),gap:me(["sm","md","lg"]).nullable()}),slots:["default"],description:"Grid layout (1-6 columns)",example:{columns:3,gap:"md"}},Separator:{props:V({orientation:me(["horizontal","vertical"]).nullable()}),description:"Visual separator line"},Tabs:{props:V({tabs:ke(V({label:N(),value:N()})),defaultValue:N().nullable(),value:N().nullable()}),slots:["default"],events:["change"],description:"Tab navigation. Use { $bindState } on value for active tab binding."},Accordion:{props:V({items:ke(V({title:N(),content:N()})),type:me(["single","multiple"]).nullable()}),description:"Collapsible sections. Items as [{title, content}]. Type 'single' (default) or 'multiple'."},Collapsible:{props:V({title:N(),defaultOpen:Be().nullable()}),slots:["default"],description:"Collapsible section with trigger. Children render inside."},Dialog:{props:V({title:N(),description:N().nullable(),openPath:N()}),slots:["default"],description:"Modal dialog. Set openPath to a boolean state path. Use setState to toggle."},Drawer:{props:V({title:N(),description:N().nullable(),openPath:N()}),slots:["default"],description:"Bottom sheet drawer. Set openPath to a boolean state path. Use setState to toggle."},Carousel:{props:V({items:ke(V({title:N().nullable(),description:N().nullable()}))}),description:"Horizontally scrollable carousel of cards."},Table:{props:V({columns:ke(N()),rows:ke(ke(N())),caption:N().nullable()}),description:'Data table. columns: header labels. rows: 2D array of cell strings, e.g. [["Alice","admin"],["Bob","user"]].',example:{columns:["Name","Role"],rows:[["Alice","Admin"],["Bob","User"]]}},Heading:{props:V({text:N(),level:me(["h1","h2","h3","h4"]).nullable()}),description:"Heading text (h1-h4)",example:{text:"Welcome",level:"h1"}},Text:{props:V({text:N(),variant:me(["body","caption","muted","lead","code"]).nullable()}),description:"Paragraph text",example:{text:"Hello, world!"}},Image:{props:V({src:N().nullable(),alt:N(),width:je().nullable(),height:je().nullable()}),description:"Image component. Renders an img tag when src is provided, otherwise a placeholder."},Avatar:{props:V({src:N().nullable(),name:N(),size:me(["sm","md","lg"]).nullable()}),description:"User avatar with fallback initials",example:{name:"Jane Doe",size:"md"}},Badge:{props:V({text:N(),variant:me(["default","secondary","destructive","outline"]).nullable()}),description:"Status badge",example:{text:"Active",variant:"default"}},Alert:{props:V({title:N(),message:N().nullable(),type:me(["info","success","warning","error"]).nullable()}),description:"Alert banner",example:{title:"Note",message:"Your changes have been saved.",type:"success"}},Progress:{props:V({value:je(),max:je().nullable(),label:N().nullable()}),description:"Progress bar (value 0-100)",example:{value:65,max:100,label:"Upload progress"}},Skeleton:{props:V({width:N().nullable(),height:N().nullable(),rounded:Be().nullable()}),description:"Loading placeholder skeleton"},Spinner:{props:V({size:me(["sm","md","lg"]).nullable(),label:N().nullable()}),description:"Loading spinner indicator"},Tooltip:{props:V({content:N(),text:N()}),description:"Hover tooltip. Shows content on hover over text."},Popover:{props:V({trigger:N(),content:N()}),description:"Popover that appears on click of trigger."},Input:{props:V({label:N(),name:N(),type:me(["text","email","password","number"]).nullable(),placeholder:N().nullable(),value:N().nullable(),checks:Vt,validateOn:Bt}),events:["submit","focus","blur"],description:"Text input field. Use { $bindState } on value for two-way binding. Use checks for validation (e.g. required, email, minLength). validateOn controls timing (default: blur).",example:{label:"Email",name:"email",type:"email",placeholder:"you@example.com"}},Textarea:{props:V({label:N(),name:N(),placeholder:N().nullable(),rows:je().nullable(),value:N().nullable(),checks:Vt,validateOn:Bt}),description:"Multi-line text input. Use { $bindState } on value for binding. Use checks for validation. validateOn controls timing (default: blur)."},Select:{props:V({label:N(),name:N(),options:ke(N()),placeholder:N().nullable(),value:N().nullable(),checks:Vt,validateOn:Bt}),events:["change"],description:"Dropdown select input. Use { $bindState } on value for binding. Use checks for validation. validateOn controls timing (default: change)."},Checkbox:{props:V({label:N(),name:N(),checked:Be().nullable(),checks:Vt,validateOn:Bt}),events:["change"],description:"Checkbox input. Use { $bindState } on checked for binding. Use checks for validation. validateOn controls timing (default: change)."},Radio:{props:V({label:N(),name:N(),options:ke(N()),value:N().nullable(),checks:Vt,validateOn:Bt}),events:["change"],description:"Radio button group. Use { $bindState } on value for binding. Use checks for validation. validateOn controls timing (default: change)."},Switch:{props:V({label:N(),name:N(),checked:Be().nullable(),checks:Vt,validateOn:Bt}),events:["change"],description:"Toggle switch. Use { $bindState } on checked for binding. Use checks for validation. validateOn controls timing (default: change)."},Slider:{props:V({label:N().nullable(),min:je().nullable(),max:je().nullable(),step:je().nullable(),value:je().nullable()}),events:["change"],description:"Range slider input. Use { $bindState } on value for binding."},Button:{props:V({label:N(),variant:me(["primary","secondary","danger"]).nullable(),disabled:Be().nullable()}),events:["press"],description:"Clickable button. Bind on.press for handler.",example:{label:"Submit",variant:"primary"}},Link:{props:V({label:N(),href:N()}),events:["press"],description:"Anchor link. Bind on.press for click handler."},DropdownMenu:{props:V({label:N(),items:ke(V({label:N(),value:N()})),value:N().nullable()}),events:["select"],description:"Dropdown menu with trigger button and selectable items. Use { $bindState } on value for selected item binding."},Toggle:{props:V({label:N(),pressed:Be().nullable(),variant:me(["default","outline"]).nullable()}),events:["change"],description:"Toggle button. Use { $bindState } on pressed for state binding."},ToggleGroup:{props:V({items:ke(V({label:N(),value:N()})),type:me(["single","multiple"]).nullable(),value:N().nullable()}),events:["change"],description:"Group of toggle buttons. Type 'single' (default) or 'multiple'. Use { $bindState } on value."},ButtonGroup:{props:V({buttons:ke(V({label:N(),value:N()})),selected:N().nullable()}),events:["change"],description:"Segmented button group. Use { $bindState } on selected for selected value."},Pagination:{props:V({totalPages:je(),page:je().nullable()}),events:["change"],description:"Page navigation. Use { $bindState } on page for current page number."}},Ji=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),_b="VisuallyHidden",qi=d.forwardRef((e,t)=>l.jsx(Z.span,{...e,ref:t,style:{...Ji,...e.style}}));qi.displayName=_b;var Cb=qi;function In(e){const t=e+"CollectionProvider",[n,r]=Ee(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=m=>{const{scope:b,children:g}=m,w=R.useRef(null),x=R.useRef(new Map).current;return l.jsx(o,{scope:b,itemMap:x,collectionRef:w,children:g})};s.displayName=t;const i=e+"CollectionSlot",c=Xt(i),u=R.forwardRef((m,b)=>{const{scope:g,children:w}=m,x=a(i,g),S=X(b,x.collectionRef);return l.jsx(c,{ref:S,children:w})});u.displayName=i;const p=e+"CollectionItemSlot",f="data-radix-collection-item",h=Xt(p),v=R.forwardRef((m,b)=>{const{scope:g,children:w,...x}=m,S=R.useRef(null),_=X(b,S),T=a(p,g);return R.useEffect(()=>(T.itemMap.set(S,{ref:S,...x}),()=>{T.itemMap.delete(S)})),l.jsx(h,{[f]:"",ref:_,children:w})});v.displayName=p;function y(m){const b=a(e+"CollectionConsumer",m);return R.useCallback(()=>{const w=b.collectionRef.current;if(!w)return[];const x=Array.from(w.querySelectorAll(`[${f}]`));return Array.from(b.itemMap.values()).sort((T,C)=>x.indexOf(T.ref.current)-x.indexOf(C.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:s,Slot:u,ItemSlot:v},y,r]}var Eb=d.createContext(void 0);function bt(e){const t=d.useContext(Eb);return e||t||"ltr"}var qe="Accordion",Pb=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[oa,kb,Tb]=In(qe),[_r]=Ee(qe,[Tb,Xs]),aa=Xs(),Yi=R.forwardRef((e,t)=>{const{type:n,...r}=e,o=r,a=r;return l.jsx(oa.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?l.jsx(jb,{...a,ref:t}):l.jsx(Ib,{...o,ref:t})})});Yi.displayName=qe;var[Xi,Nb]=_r(qe),[Qi,Rb]=_r(qe,{collapsible:!1}),Ib=R.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:a=!1,...s}=e,[i,c]=Re({prop:n,defaultProp:r??"",onChange:o,caller:qe});return l.jsx(Xi,{scope:e.__scopeAccordion,value:R.useMemo(()=>i?[i]:[],[i]),onItemOpen:c,onItemClose:R.useCallback(()=>a&&c(""),[a,c]),children:l.jsx(Qi,{scope:e.__scopeAccordion,collapsible:a,children:l.jsx(ec,{...s,ref:t})})})}),jb=R.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s,i]=Re({prop:n,defaultProp:r??[],onChange:o,caller:qe}),c=R.useCallback(p=>i((f=[])=>[...f,p]),[i]),u=R.useCallback(p=>i((f=[])=>f.filter(h=>h!==p)),[i]);return l.jsx(Xi,{scope:e.__scopeAccordion,value:s,onItemOpen:c,onItemClose:u,children:l.jsx(Qi,{scope:e.__scopeAccordion,collapsible:!0,children:l.jsx(ec,{...a,ref:t})})})}),[Ob,Cr]=_r(qe),ec=R.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:a="vertical",...s}=e,i=R.useRef(null),c=X(i,t),u=kb(n),f=bt(o)==="ltr",h=A(e.onKeyDown,v=>{if(!Pb.includes(v.key))return;const y=v.target,m=u().filter(P=>!P.ref.current?.disabled),b=m.findIndex(P=>P.ref.current===y),g=m.length;if(b===-1)return;v.preventDefault();let w=b;const x=0,S=g-1,_=()=>{w=b+1,w>S&&(w=x)},T=()=>{w=b-1,w<x&&(w=S)};switch(v.key){case"Home":w=x;break;case"End":w=S;break;case"ArrowRight":a==="horizontal"&&(f?_():T());break;case"ArrowDown":a==="vertical"&&_();break;case"ArrowLeft":a==="horizontal"&&(f?T():_());break;case"ArrowUp":a==="vertical"&&T();break}const C=w%g;m[C].ref.current?.focus()});return l.jsx(Ob,{scope:n,disabled:r,direction:o,orientation:a,children:l.jsx(oa.Slot,{scope:n,children:l.jsx(Z.div,{...s,"data-orientation":a,ref:c,onKeyDown:r?void 0:h})})})}),dr="AccordionItem",[Ab,sa]=_r(dr),tc=R.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...o}=e,a=Cr(dr,n),s=Nb(dr,n),i=aa(n),c=Ve(),u=r&&s.value.includes(r)||!1,p=a.disabled||e.disabled;return l.jsx(Ab,{scope:n,open:u,disabled:p,triggerId:c,children:l.jsx(Ys,{"data-orientation":a.orientation,"data-state":ic(u),...i,...o,ref:t,disabled:p,open:u,onOpenChange:f=>{f?s.onItemOpen(r):s.onItemClose(r)}})})});tc.displayName=dr;var nc="AccordionHeader",rc=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Cr(qe,n),a=sa(nc,n);return l.jsx(Z.h3,{"data-orientation":o.orientation,"data-state":ic(a.open),"data-disabled":a.disabled?"":void 0,...r,ref:t})});rc.displayName=nc;var Po="AccordionTrigger",oc=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Cr(qe,n),a=sa(Po,n),s=Rb(Po,n),i=aa(n);return l.jsx(oa.ItemSlot,{scope:n,children:l.jsx(nf,{"aria-disabled":a.open&&!s.collapsible||void 0,"data-orientation":o.orientation,id:a.triggerId,...i,...r,ref:t})})});oc.displayName=Po;var ac="AccordionContent",sc=R.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,o=Cr(qe,n),a=sa(ac,n),s=aa(n);return l.jsx(rf,{role:"region","aria-labelledby":a.triggerId,"data-orientation":o.orientation,...s,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});sc.displayName=ac;function ic(e){return e?"open":"closed"}var $b=Yi,Db=tc,Mb=rc,zb=oc,Lb=sc;function Je(e){const t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...n)=>t.current?.(...n),[])}function Fb(e,t=globalThis?.document){const n=Je(e);d.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Zb="DismissableLayer",ko="dismissableLayer.update",Vb="dismissableLayer.pointerDownOutside",Bb="dismissableLayer.focusOutside",ys,cc=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),an=d.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:i,...c}=e,u=d.useContext(cc),[p,f]=d.useState(null),h=p?.ownerDocument??globalThis?.document,[,v]=d.useState({}),y=X(t,C=>f(C)),m=Array.from(u.layers),[b]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),g=m.indexOf(b),w=p?m.indexOf(p):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=w>=g,_=Gb(C=>{const P=C.target,I=[...u.branches].some(L=>L.contains(P));!S||I||(o?.(C),s?.(C),C.defaultPrevented||i?.())},h),T=Wb(C=>{const P=C.target;[...u.branches].some(L=>L.contains(P))||(a?.(C),s?.(C),C.defaultPrevented||i?.())},h);return Fb(C=>{w===u.layers.size-1&&(r?.(C),!C.defaultPrevented&&i&&(C.preventDefault(),i()))},h),d.useEffect(()=>{if(p)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(ys=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(p)),u.layers.add(p),xs(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=ys)}},[p,h,n,u]),d.useEffect(()=>()=>{p&&(u.layers.delete(p),u.layersWithOutsidePointerEventsDisabled.delete(p),xs())},[p,u]),d.useEffect(()=>{const C=()=>v({});return document.addEventListener(ko,C),()=>document.removeEventListener(ko,C)},[]),l.jsx(Z.div,{...c,ref:y,style:{pointerEvents:x?S?"auto":"none":void 0,...e.style},onFocusCapture:A(e.onFocusCapture,T.onFocusCapture),onBlurCapture:A(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:A(e.onPointerDownCapture,_.onPointerDownCapture)})});an.displayName=Zb;var Ub="DismissableLayerBranch",Hb=d.forwardRef((e,t)=>{const n=d.useContext(cc),r=d.useRef(null),o=X(t,r);return d.useEffect(()=>{const a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),l.jsx(Z.div,{...e,ref:o})});Hb.displayName=Ub;function Gb(e,t=globalThis?.document){const n=Je(e),r=d.useRef(!1),o=d.useRef(()=>{});return d.useEffect(()=>{const a=i=>{if(i.target&&!r.current){let c=function(){lc(Vb,n,u,{discrete:!0})};const u={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Wb(e,t=globalThis?.document){const n=Je(e),r=d.useRef(!1);return d.useEffect(()=>{const o=a=>{a.target&&!r.current&&lc(Bb,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function xs(){const e=new CustomEvent(ko);document.dispatchEvent(e)}function lc(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Qs(o,a):o.dispatchEvent(a)}var io="focusScope.autoFocusOnMount",co="focusScope.autoFocusOnUnmount",ws={bubbles:!1,cancelable:!0},Kb="FocusScope",jn=d.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...s}=e,[i,c]=d.useState(null),u=Je(o),p=Je(a),f=d.useRef(null),h=X(t,m=>c(m)),v=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let m=function(x){if(v.paused||!i)return;const S=x.target;i.contains(S)?f.current=S:dt(f.current,{select:!0})},b=function(x){if(v.paused||!i)return;const S=x.relatedTarget;S!==null&&(i.contains(S)||dt(f.current,{select:!0}))},g=function(x){if(document.activeElement===document.body)for(const _ of x)_.removedNodes.length>0&&dt(i)};document.addEventListener("focusin",m),document.addEventListener("focusout",b);const w=new MutationObserver(g);return i&&w.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",b),w.disconnect()}}},[r,i,v.paused]),d.useEffect(()=>{if(i){_s.add(v);const m=document.activeElement;if(!i.contains(m)){const g=new CustomEvent(io,ws);i.addEventListener(io,u),i.dispatchEvent(g),g.defaultPrevented||(Jb(ey(uc(i)),{select:!0}),document.activeElement===m&&dt(i))}return()=>{i.removeEventListener(io,u),setTimeout(()=>{const g=new CustomEvent(co,ws);i.addEventListener(co,p),i.dispatchEvent(g),g.defaultPrevented||dt(m??document.body,{select:!0}),i.removeEventListener(co,p),_s.remove(v)},0)}}},[i,u,p,v]);const y=d.useCallback(m=>{if(!n&&!r||v.paused)return;const b=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,g=document.activeElement;if(b&&g){const w=m.currentTarget,[x,S]=qb(w);x&&S?!m.shiftKey&&g===S?(m.preventDefault(),n&&dt(x,{select:!0})):m.shiftKey&&g===x&&(m.preventDefault(),n&&dt(S,{select:!0})):g===w&&m.preventDefault()}},[n,r,v.paused]);return l.jsx(Z.div,{tabIndex:-1,...s,ref:h,onKeyDown:y})});jn.displayName=Kb;function Jb(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(dt(r,{select:t}),document.activeElement!==n)return}function qb(e){const t=uc(e),n=Ss(t,e),r=Ss(t.reverse(),e);return[n,r]}function uc(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ss(e,t){for(const n of e)if(!Yb(n,{upTo:t}))return n}function Yb(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Xb(e){return e instanceof HTMLInputElement&&"select"in e}function dt(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Xb(e)&&t&&e.select()}}var _s=Qb();function Qb(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=Cs(e,t),e.unshift(t)},remove(t){e=Cs(e,t),e[0]?.resume()}}}function Cs(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ey(e){return e.filter(t=>t.tagName!=="A")}var ty="Portal",sn=d.forwardRef((e,t)=>{const{container:n,...r}=e,[o,a]=d.useState(!1);$e(()=>a(!0),[]);const s=n||o&&globalThis?.document?.body;return s?of.createPortal(l.jsx(Z.div,{...r,ref:t}),s):null});sn.displayName=ty;var lo=0;function Er(){d.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Es()),document.body.insertAdjacentElement("beforeend",e[1]??Es()),lo++,()=>{lo===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),lo--}},[])}function Es(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var et=function(){return et=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},et.apply(this,arguments)};function dc(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function ny(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var ar="right-scroll-bar-position",sr="width-before-scroll-bar",ry="with-scroll-bars-hidden",oy="--removed-body-scroll-bar-size";function uo(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function ay(e,t){var n=d.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var sy=typeof window<"u"?d.useLayoutEffect:d.useEffect,Ps=new WeakMap;function iy(e,t){var n=ay(null,function(r){return e.forEach(function(o){return uo(o,r)})});return sy(function(){var r=Ps.get(n);if(r){var o=new Set(r),a=new Set(e),s=n.current;o.forEach(function(i){a.has(i)||uo(i,null)}),a.forEach(function(i){o.has(i)||uo(i,s)})}Ps.set(n,e)},[e]),n}function cy(e){return e}function ly(e,t){t===void 0&&(t=cy);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var s=t(a,r);return n.push(s),function(){n=n.filter(function(i){return i!==s})}},assignSyncMedium:function(a){for(r=!0;n.length;){var s=n;n=[],s.forEach(a)}n={push:function(i){return a(i)},filter:function(){return n}}},assignMedium:function(a){r=!0;var s=[];if(n.length){var i=n;n=[],i.forEach(a),s=n}var c=function(){var p=s;s=[],p.forEach(a)},u=function(){return Promise.resolve().then(c)};u(),n={push:function(p){s.push(p),u()},filter:function(p){return s=s.filter(p),n}}}};return o}function uy(e){e===void 0&&(e={});var t=ly(null);return t.options=et({async:!0,ssr:!1},e),t}var fc=function(e){var t=e.sideCar,n=dc(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return d.createElement(r,et({},n))};fc.isSideCarExport=!0;function dy(e,t){return e.useMedium(t),fc}var pc=uy(),fo=function(){},Pr=d.forwardRef(function(e,t){var n=d.useRef(null),r=d.useState({onScrollCapture:fo,onWheelCapture:fo,onTouchMoveCapture:fo}),o=r[0],a=r[1],s=e.forwardProps,i=e.children,c=e.className,u=e.removeScrollBar,p=e.enabled,f=e.shards,h=e.sideCar,v=e.noRelative,y=e.noIsolation,m=e.inert,b=e.allowPinchZoom,g=e.as,w=g===void 0?"div":g,x=e.gapMode,S=dc(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),_=h,T=iy([n,t]),C=et(et({},S),o);return d.createElement(d.Fragment,null,p&&d.createElement(_,{sideCar:pc,removeScrollBar:u,shards:f,noRelative:v,noIsolation:y,inert:m,setCallbacks:a,allowPinchZoom:!!b,lockRef:n,gapMode:x}),s?d.cloneElement(d.Children.only(i),et(et({},C),{ref:T})):d.createElement(w,et({},C,{className:c,ref:T}),i))});Pr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Pr.classNames={fullWidth:sr,zeroRight:ar};var fy=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function py(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=fy();return t&&e.setAttribute("nonce",t),e}function hy(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function my(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var gy=function(){var e=0,t=null;return{add:function(n){e==0&&(t=py())&&(hy(t,n),my(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},vy=function(){var e=gy();return function(t,n){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},hc=function(){var e=vy(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},by={left:0,top:0,right:0,gap:0},po=function(e){return parseInt(e||"",10)||0},yy=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[po(n),po(r),po(o)]},xy=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return by;var t=yy(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},wy=hc(),Yt="data-scroll-locked",Sy=function(e,t,n,r){var o=e.left,a=e.top,s=e.right,i=e.gap;return n===void 0&&(n="margin"),`
44
+ .`.concat(ry,` {
45
+ overflow: hidden `).concat(r,`;
46
+ padding-right: `).concat(i,"px ").concat(r,`;
47
+ }
48
+ body[`).concat(Yt,`] {
49
+ overflow: hidden `).concat(r,`;
50
+ overscroll-behavior: contain;
51
+ `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
52
+ padding-left: `.concat(o,`px;
53
+ padding-top: `).concat(a,`px;
54
+ padding-right: `).concat(s,`px;
55
+ margin-left:0;
56
+ margin-top:0;
57
+ margin-right: `).concat(i,"px ").concat(r,`;
58
+ `),n==="padding"&&"padding-right: ".concat(i,"px ").concat(r,";")].filter(Boolean).join(""),`
59
+ }
60
+
61
+ .`).concat(ar,` {
62
+ right: `).concat(i,"px ").concat(r,`;
63
+ }
64
+
65
+ .`).concat(sr,` {
66
+ margin-right: `).concat(i,"px ").concat(r,`;
67
+ }
68
+
69
+ .`).concat(ar," .").concat(ar,` {
70
+ right: 0 `).concat(r,`;
71
+ }
72
+
73
+ .`).concat(sr," .").concat(sr,` {
74
+ margin-right: 0 `).concat(r,`;
75
+ }
76
+
77
+ body[`).concat(Yt,`] {
78
+ `).concat(oy,": ").concat(i,`px;
79
+ }
80
+ `)},ks=function(){var e=parseInt(document.body.getAttribute(Yt)||"0",10);return isFinite(e)?e:0},_y=function(){d.useEffect(function(){return document.body.setAttribute(Yt,(ks()+1).toString()),function(){var e=ks()-1;e<=0?document.body.removeAttribute(Yt):document.body.setAttribute(Yt,e.toString())}},[])},Cy=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;_y();var a=d.useMemo(function(){return xy(o)},[o]);return d.createElement(wy,{styles:Sy(a,!t,o,n?"":"!important")})},To=!1;if(typeof window<"u")try{var Yn=Object.defineProperty({},"passive",{get:function(){return To=!0,!0}});window.addEventListener("test",Yn,Yn),window.removeEventListener("test",Yn,Yn)}catch{To=!1}var Ut=To?{passive:!1}:!1,Ey=function(e){return e.tagName==="TEXTAREA"},mc=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Ey(e)&&n[t]==="visible")},Py=function(e){return mc(e,"overflowY")},ky=function(e){return mc(e,"overflowX")},Ts=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=gc(e,r);if(o){var a=vc(e,r),s=a[1],i=a[2];if(s>i)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Ty=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ny=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},gc=function(e,t){return e==="v"?Py(t):ky(t)},vc=function(e,t){return e==="v"?Ty(t):Ny(t)},Ry=function(e,t){return e==="h"&&t==="rtl"?-1:1},Iy=function(e,t,n,r,o){var a=Ry(e,window.getComputedStyle(t).direction),s=a*r,i=n.target,c=t.contains(i),u=!1,p=s>0,f=0,h=0;do{if(!i)break;var v=vc(e,i),y=v[0],m=v[1],b=v[2],g=m-b-a*y;(y||g)&&gc(e,i)&&(f+=g,h+=y);var w=i.parentNode;i=w&&w.nodeType===Node.DOCUMENT_FRAGMENT_NODE?w.host:w}while(!c&&i!==document.body||c&&(t.contains(i)||t===i));return(p&&Math.abs(f)<1||!p&&Math.abs(h)<1)&&(u=!0),u},Xn=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ns=function(e){return[e.deltaX,e.deltaY]},Rs=function(e){return e&&"current"in e?e.current:e},jy=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Oy=function(e){return`
81
+ .block-interactivity-`.concat(e,` {pointer-events: none;}
82
+ .allow-interactivity-`).concat(e,` {pointer-events: all;}
83
+ `)},Ay=0,Ht=[];function $y(e){var t=d.useRef([]),n=d.useRef([0,0]),r=d.useRef(),o=d.useState(Ay++)[0],a=d.useState(hc)[0],s=d.useRef(e);d.useEffect(function(){s.current=e},[e]),d.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=ny([e.lockRef.current],(e.shards||[]).map(Rs),!0).filter(Boolean);return m.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var i=d.useCallback(function(m,b){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var g=Xn(m),w=n.current,x="deltaX"in m?m.deltaX:w[0]-g[0],S="deltaY"in m?m.deltaY:w[1]-g[1],_,T=m.target,C=Math.abs(x)>Math.abs(S)?"h":"v";if("touches"in m&&C==="h"&&T.type==="range")return!1;var P=window.getSelection(),I=P&&P.anchorNode,L=I?I===T||I.contains(T):!1;if(L)return!1;var k=Ts(C,T);if(!k)return!0;if(k?_=C:(_=C==="v"?"h":"v",k=Ts(C,T)),!k)return!1;if(!r.current&&"changedTouches"in m&&(x||S)&&(r.current=_),!_)return!0;var O=r.current||_;return Iy(O,b,m,O==="h"?x:S)},[]),c=d.useCallback(function(m){var b=m;if(!(!Ht.length||Ht[Ht.length-1]!==a)){var g="deltaY"in b?Ns(b):Xn(b),w=t.current.filter(function(_){return _.name===b.type&&(_.target===b.target||b.target===_.shadowParent)&&jy(_.delta,g)})[0];if(w&&w.should){b.cancelable&&b.preventDefault();return}if(!w){var x=(s.current.shards||[]).map(Rs).filter(Boolean).filter(function(_){return _.contains(b.target)}),S=x.length>0?i(b,x[0]):!s.current.noIsolation;S&&b.cancelable&&b.preventDefault()}}},[]),u=d.useCallback(function(m,b,g,w){var x={name:m,delta:b,target:g,should:w,shadowParent:Dy(g)};t.current.push(x),setTimeout(function(){t.current=t.current.filter(function(S){return S!==x})},1)},[]),p=d.useCallback(function(m){n.current=Xn(m),r.current=void 0},[]),f=d.useCallback(function(m){u(m.type,Ns(m),m.target,i(m,e.lockRef.current))},[]),h=d.useCallback(function(m){u(m.type,Xn(m),m.target,i(m,e.lockRef.current))},[]);d.useEffect(function(){return Ht.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",c,Ut),document.addEventListener("touchmove",c,Ut),document.addEventListener("touchstart",p,Ut),function(){Ht=Ht.filter(function(m){return m!==a}),document.removeEventListener("wheel",c,Ut),document.removeEventListener("touchmove",c,Ut),document.removeEventListener("touchstart",p,Ut)}},[]);var v=e.removeScrollBar,y=e.inert;return d.createElement(d.Fragment,null,y?d.createElement(a,{styles:Oy(o)}):null,v?d.createElement(Cy,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Dy(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const My=dy(pc,$y);var On=d.forwardRef(function(e,t){return d.createElement(Pr,et({},e,{ref:t,sideCar:My}))});On.classNames=Pr.classNames;var zy=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Gt=new WeakMap,Qn=new WeakMap,er={},ho=0,bc=function(e){return e&&(e.host||bc(e.parentNode))},Ly=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=bc(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Fy=function(e,t,n,r){var o=Ly(t,Array.isArray(e)?e:[e]);er[n]||(er[n]=new WeakMap);var a=er[n],s=[],i=new Set,c=new Set(o),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};o.forEach(u);var p=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(h){if(i.has(h))p(h);else try{var v=h.getAttribute(r),y=v!==null&&v!=="false",m=(Gt.get(h)||0)+1,b=(a.get(h)||0)+1;Gt.set(h,m),a.set(h,b),s.push(h),m===1&&y&&Qn.set(h,!0),b===1&&h.setAttribute(n,"true"),y||h.setAttribute(r,"true")}catch(g){console.error("aria-hidden: cannot operate on ",h,g)}})};return p(t),i.clear(),ho++,function(){s.forEach(function(f){var h=Gt.get(f)-1,v=a.get(f)-1;Gt.set(f,h),a.set(f,v),h||(Qn.has(f)||f.removeAttribute(r),Qn.delete(f)),v||f.removeAttribute(n)}),ho--,ho||(Gt=new WeakMap,Gt=new WeakMap,Qn=new WeakMap,er={})}},kr=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=zy(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),Fy(r,o,n,"aria-hidden")):function(){return null}},Tr="Dialog",[yc]=Ee(Tr),[Zy,Ye]=yc(Tr),xc=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:s=!0}=e,i=d.useRef(null),c=d.useRef(null),[u,p]=Re({prop:r,defaultProp:o??!1,onChange:a,caller:Tr});return l.jsx(Zy,{scope:t,triggerRef:i,contentRef:c,contentId:Ve(),titleId:Ve(),descriptionId:Ve(),open:u,onOpenChange:p,onOpenToggle:d.useCallback(()=>p(f=>!f),[p]),modal:s,children:n})};xc.displayName=Tr;var wc="DialogTrigger",Vy=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Ye(wc,n),a=X(t,o.triggerRef);return l.jsx(Z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":la(o.open),...r,ref:a,onClick:A(e.onClick,o.onOpenToggle)})});Vy.displayName=wc;var ia="DialogPortal",[By,Sc]=yc(ia,{forceMount:void 0}),_c=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,a=Ye(ia,t);return l.jsx(By,{scope:t,forceMount:n,children:d.Children.map(r,s=>l.jsx(ze,{present:n||a.open,children:l.jsx(sn,{asChild:!0,container:o,children:s})}))})};_c.displayName=ia;var fr="DialogOverlay",Cc=d.forwardRef((e,t)=>{const n=Sc(fr,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=Ye(fr,e.__scopeDialog);return a.modal?l.jsx(ze,{present:r||a.open,children:l.jsx(Hy,{...o,ref:t})}):null});Cc.displayName=fr;var Uy=Xt("DialogOverlay.RemoveScroll"),Hy=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Ye(fr,n);return l.jsx(On,{as:Uy,allowPinchZoom:!0,shards:[o.contentRef],children:l.jsx(Z.div,{"data-state":la(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),It="DialogContent",Ec=d.forwardRef((e,t)=>{const n=Sc(It,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=Ye(It,e.__scopeDialog);return l.jsx(ze,{present:r||a.open,children:a.modal?l.jsx(Gy,{...o,ref:t}):l.jsx(Wy,{...o,ref:t})})});Ec.displayName=It;var Gy=d.forwardRef((e,t)=>{const n=Ye(It,e.__scopeDialog),r=d.useRef(null),o=X(t,n.contentRef,r);return d.useEffect(()=>{const a=r.current;if(a)return kr(a)},[]),l.jsx(Pc,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:A(e.onCloseAutoFocus,a=>{a.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:A(e.onPointerDownOutside,a=>{const s=a.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&a.preventDefault()}),onFocusOutside:A(e.onFocusOutside,a=>a.preventDefault())})}),Wy=d.forwardRef((e,t)=>{const n=Ye(It,e.__scopeDialog),r=d.useRef(!1),o=d.useRef(!1);return l.jsx(Pc,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(r.current||n.triggerRef.current?.focus(),a.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=a.target;n.triggerRef.current?.contains(s)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),Pc=d.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,...s}=e,i=Ye(It,n),c=d.useRef(null),u=X(t,c);return Er(),l.jsxs(l.Fragment,{children:[l.jsx(jn,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:l.jsx(an,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":la(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),l.jsxs(l.Fragment,{children:[l.jsx(Ky,{titleId:i.titleId}),l.jsx(qy,{contentRef:c,descriptionId:i.descriptionId})]})]})}),ca="DialogTitle",kc=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Ye(ca,n);return l.jsx(Z.h2,{id:o.titleId,...r,ref:t})});kc.displayName=ca;var Tc="DialogDescription",Nc=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Ye(Tc,n);return l.jsx(Z.p,{id:o.descriptionId,...r,ref:t})});Nc.displayName=Tc;var Rc="DialogClose",Ic=d.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Ye(Rc,n);return l.jsx(Z.button,{type:"button",...r,ref:t,onClick:A(e.onClick,()=>o.onOpenChange(!1))})});Ic.displayName=Rc;function la(e){return e?"open":"closed"}var jc="DialogTitleWarning",[TP,Oc]=af(jc,{contentName:It,titleName:ca,docsSlug:"dialog"}),Ky=({titleId:e})=>{const t=Oc(jc),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
84
+
85
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
86
+
87
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return d.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Jy="DialogDescriptionWarning",qy=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Oc(Jy).contentName}}.`;return d.useEffect(()=>{const o=e.current?.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Ac=xc,$c=_c,Dc=Cc,Mc=Ec,zc=kc,Lc=Nc,Yy=Ic;function Xy(){return sf.useSyncExternalStore(Qy,()=>!0,()=>!1)}function Qy(){return()=>{}}var ua="Avatar",[ex]=Ee(ua),[tx,Fc]=ex(ua),Zc=d.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,a]=d.useState("idle");return l.jsx(tx,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:a,children:l.jsx(Z.span,{...r,ref:t})})});Zc.displayName=ua;var Vc="AvatarImage",Bc=d.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...a}=e,s=Fc(Vc,n),i=nx(r,a),c=Je(u=>{o(u),s.onImageLoadingStatusChange(u)});return $e(()=>{i!=="idle"&&c(i)},[i,c]),i==="loaded"?l.jsx(Z.img,{...a,ref:t,src:r}):null});Bc.displayName=Vc;var Uc="AvatarFallback",Hc=d.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,a=Fc(Uc,n),[s,i]=d.useState(r===void 0);return d.useEffect(()=>{if(r!==void 0){const c=window.setTimeout(()=>i(!0),r);return()=>window.clearTimeout(c)}},[r]),s&&a.imageLoadingStatus!=="loaded"?l.jsx(Z.span,{...o,ref:t}):null});Hc.displayName=Uc;function Is(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function nx(e,{referrerPolicy:t,crossOrigin:n}){const r=Xy(),o=d.useRef(null),a=r?(o.current||(o.current=new window.Image),o.current):null,[s,i]=d.useState(()=>Is(a,e));return $e(()=>{i(Is(a,e))},[a,e]),$e(()=>{const c=f=>()=>{i(f)};if(!a)return;const u=c("loaded"),p=c("error");return a.addEventListener("load",u),a.addEventListener("error",p),t&&(a.referrerPolicy=t),typeof n=="string"&&(a.crossOrigin=n),()=>{a.removeEventListener("load",u),a.removeEventListener("error",p)}},[a,n,t]),s}var rx=Zc,ox=Bc,ax=Hc;function An(e){const t=d.useRef({value:e,previous:e});return d.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function $n(e){const[t,n]=d.useState(void 0);return $e(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const a=o[0];let s,i;if("borderBoxSize"in a){const c=a.borderBoxSize,u=Array.isArray(c)?c[0]:c;s=u.inlineSize,i=u.blockSize}else s=e.offsetWidth,i=e.offsetHeight;n({width:s,height:i})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Nr="Checkbox",[sx]=Ee(Nr),[ix,da]=sx(Nr);function cx(e){const{__scopeCheckbox:t,checked:n,children:r,defaultChecked:o,disabled:a,form:s,name:i,onCheckedChange:c,required:u,value:p="on",internal_do_not_use_render:f}=e,[h,v]=Re({prop:n,defaultProp:o??!1,onChange:c,caller:Nr}),[y,m]=d.useState(null),[b,g]=d.useState(null),w=d.useRef(!1),x=y?!!s||!!y.closest("form"):!0,S={checked:h,disabled:a,setChecked:v,control:y,setControl:m,name:i,form:s,value:p,hasConsumerStoppedPropagationRef:w,required:u,defaultChecked:pt(o)?!1:o,isFormControl:x,bubbleInput:b,setBubbleInput:g};return l.jsx(ix,{scope:t,...S,children:lx(f)?f(S):r})}var Gc="CheckboxTrigger",Wc=d.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},o)=>{const{control:a,value:s,disabled:i,checked:c,required:u,setControl:p,setChecked:f,hasConsumerStoppedPropagationRef:h,isFormControl:v,bubbleInput:y}=da(Gc,e),m=X(o,p),b=d.useRef(c);return d.useEffect(()=>{const g=a?.form;if(g){const w=()=>f(b.current);return g.addEventListener("reset",w),()=>g.removeEventListener("reset",w)}},[a,f]),l.jsx(Z.button,{type:"button",role:"checkbox","aria-checked":pt(c)?"mixed":c,"aria-required":u,"data-state":Qc(c),"data-disabled":i?"":void 0,disabled:i,value:s,...r,ref:m,onKeyDown:A(t,g=>{g.key==="Enter"&&g.preventDefault()}),onClick:A(n,g=>{f(w=>pt(w)?!0:!w),y&&v&&(h.current=g.isPropagationStopped(),h.current||g.stopPropagation())})})});Wc.displayName=Gc;var Kc=d.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:o,defaultChecked:a,required:s,disabled:i,value:c,onCheckedChange:u,form:p,...f}=e;return l.jsx(cx,{__scopeCheckbox:n,checked:o,defaultChecked:a,disabled:i,required:s,onCheckedChange:u,name:r,form:p,value:c,internal_do_not_use_render:({isFormControl:h})=>l.jsxs(l.Fragment,{children:[l.jsx(Wc,{...f,ref:t,__scopeCheckbox:n}),h&&l.jsx(Xc,{__scopeCheckbox:n})]})})});Kc.displayName=Nr;var Jc="CheckboxIndicator",qc=d.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...o}=e,a=da(Jc,n);return l.jsx(ze,{present:r||pt(a.checked)||a.checked===!0,children:l.jsx(Z.span,{"data-state":Qc(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})});qc.displayName=Jc;var Yc="CheckboxBubbleInput",Xc=d.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:r,hasConsumerStoppedPropagationRef:o,checked:a,defaultChecked:s,required:i,disabled:c,name:u,value:p,form:f,bubbleInput:h,setBubbleInput:v}=da(Yc,e),y=X(n,v),m=An(a),b=$n(r);d.useEffect(()=>{const w=h;if(!w)return;const x=window.HTMLInputElement.prototype,_=Object.getOwnPropertyDescriptor(x,"checked").set,T=!o.current;if(m!==a&&_){const C=new Event("click",{bubbles:T});w.indeterminate=pt(a),_.call(w,pt(a)?!1:a),w.dispatchEvent(C)}},[h,m,a,o]);const g=d.useRef(pt(a)?!1:a);return l.jsx(Z.input,{type:"checkbox","aria-hidden":!0,defaultChecked:s??g.current,required:i,disabled:c,name:u,value:p,form:f,...t,tabIndex:-1,ref:y,style:{...t.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});Xc.displayName=Yc;function lx(e){return typeof e=="function"}function pt(e){return e==="indeterminate"}function Qc(e){return pt(e)?"indeterminate":e?"checked":"unchecked"}var ux="Arrow",el=d.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...a}=e;return l.jsx(Z.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:l.jsx("polygon",{points:"0,0 30,0 15,10"})})});el.displayName=ux;var dx=el,fa="Popper",[tl,yt]=Ee(fa),[fx,nl]=tl(fa),rl=e=>{const{__scopePopper:t,children:n}=e,[r,o]=d.useState(null);return l.jsx(fx,{scope:t,anchor:r,onAnchorChange:o,children:n})};rl.displayName=fa;var ol="PopperAnchor",al=d.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,a=nl(ol,n),s=d.useRef(null),i=X(t,s),c=d.useRef(null);return d.useEffect(()=>{const u=c.current;c.current=r?.current||s.current,u!==c.current&&a.onAnchorChange(c.current)}),r?null:l.jsx(Z.div,{...o,ref:i})});al.displayName=ol;var pa="PopperContent",[px,hx]=tl(pa),sl=d.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:s=0,arrowPadding:i=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:p=0,sticky:f="partial",hideWhenDetached:h=!1,updatePositionStrategy:v="optimized",onPlaced:y,...m}=e,b=nl(pa,n),[g,w]=d.useState(null),x=X(t,$=>w($)),[S,_]=d.useState(null),T=$n(S),C=T?.width??0,P=T?.height??0,I=r+(a!=="center"?"-"+a:""),L=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},k=Array.isArray(u)?u:[u],O=k.length>0,j={padding:L,boundary:k.filter(gx),altBoundary:O},{refs:U,floatingStyles:G,placement:B,isPositioned:H,middlewareData:K}=cf({strategy:"fixed",placement:I,whileElementsMounted:(...$)=>mf(...$,{animationFrame:v==="always"}),elements:{reference:b.anchor},middleware:[lf({mainAxis:o+P,alignmentAxis:s}),c&&uf({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?gf():void 0,...j}),c&&df({...j}),ff({...j,apply:({elements:$,rects:Y,availableWidth:ae,availableHeight:Q})=>{const{width:J,height:D}=Y.reference,ee=$.floating.style;ee.setProperty("--radix-popper-available-width",`${ae}px`),ee.setProperty("--radix-popper-available-height",`${Q}px`),ee.setProperty("--radix-popper-anchor-width",`${J}px`),ee.setProperty("--radix-popper-anchor-height",`${D}px`)}}),S&&pf({element:S,padding:i}),vx({arrowWidth:C,arrowHeight:P}),h&&hf({strategy:"referenceHidden",...j})]}),[M,ce]=ll(B),oe=Je(y);$e(()=>{H&&oe?.()},[H,oe]);const xe=K.arrow?.x,pe=K.arrow?.y,ie=K.arrow?.centerOffset!==0,[_e,he]=d.useState();return $e(()=>{g&&he(window.getComputedStyle(g).zIndex)},[g]),l.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:H?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:_e,"--radix-popper-transform-origin":[K.transformOrigin?.x,K.transformOrigin?.y].join(" "),...K.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:l.jsx(px,{scope:n,placedSide:M,onArrowChange:_,arrowX:xe,arrowY:pe,shouldHideArrow:ie,children:l.jsx(Z.div,{"data-side":M,"data-align":ce,...m,ref:x,style:{...m.style,animation:H?void 0:"none"}})})})});sl.displayName=pa;var il="PopperArrow",mx={top:"bottom",right:"left",bottom:"top",left:"right"},cl=d.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,a=hx(il,r),s=mx[a.placedSide];return l.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:l.jsx(dx,{...o,ref:n,style:{...o.style,display:"block"}})})});cl.displayName=il;function gx(e){return e!==null}var vx=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,s=o.arrow?.centerOffset!==0,i=s?0:e.arrowWidth,c=s?0:e.arrowHeight,[u,p]=ll(n),f={start:"0%",center:"50%",end:"100%"}[p],h=(o.arrow?.x??0)+i/2,v=(o.arrow?.y??0)+c/2;let y="",m="";return u==="bottom"?(y=s?f:`${h}px`,m=`${-c}px`):u==="top"?(y=s?f:`${h}px`,m=`${r.floating.height+c}px`):u==="right"?(y=`${-c}px`,m=s?f:`${v}px`):u==="left"&&(y=`${r.floating.width+c}px`,m=s?f:`${v}px`),{data:{x:y,y:m}}}});function ll(e){const[t,n="center"]=e.split("-");return[t,n]}var Rr=rl,Dn=al,Ir=sl,jr=cl,mo="rovingFocusGroup.onEntryFocus",bx={bubbles:!1,cancelable:!0},Mn="RovingFocusGroup",[No,ul,yx]=In(Mn),[xx,xt]=Ee(Mn,[yx]),[wx,Sx]=xx(Mn),dl=d.forwardRef((e,t)=>l.jsx(No.Provider,{scope:e.__scopeRovingFocusGroup,children:l.jsx(No.Slot,{scope:e.__scopeRovingFocusGroup,children:l.jsx(_x,{...e,ref:t})})}));dl.displayName=Mn;var _x=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:p=!1,...f}=e,h=d.useRef(null),v=X(t,h),y=bt(a),[m,b]=Re({prop:s,defaultProp:i??null,onChange:c,caller:Mn}),[g,w]=d.useState(!1),x=Je(u),S=ul(n),_=d.useRef(!1),[T,C]=d.useState(0);return d.useEffect(()=>{const P=h.current;if(P)return P.addEventListener(mo,x),()=>P.removeEventListener(mo,x)},[x]),l.jsx(wx,{scope:n,orientation:r,dir:y,loop:o,currentTabStopId:m,onItemFocus:d.useCallback(P=>b(P),[b]),onItemShiftTab:d.useCallback(()=>w(!0),[]),onFocusableItemAdd:d.useCallback(()=>C(P=>P+1),[]),onFocusableItemRemove:d.useCallback(()=>C(P=>P-1),[]),children:l.jsx(Z.div,{tabIndex:g||T===0?-1:0,"data-orientation":r,...f,ref:v,style:{outline:"none",...e.style},onMouseDown:A(e.onMouseDown,()=>{_.current=!0}),onFocus:A(e.onFocus,P=>{const I=!_.current;if(P.target===P.currentTarget&&I&&!g){const L=new CustomEvent(mo,bx);if(P.currentTarget.dispatchEvent(L),!L.defaultPrevented){const k=S().filter(B=>B.focusable),O=k.find(B=>B.active),j=k.find(B=>B.id===m),G=[O,j,...k].filter(Boolean).map(B=>B.ref.current);hl(G,p)}}_.current=!1}),onBlur:A(e.onBlur,()=>w(!1))})})}),fl="RovingFocusGroupItem",pl=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:s,...i}=e,c=Ve(),u=a||c,p=Sx(fl,n),f=p.currentTabStopId===u,h=ul(n),{onFocusableItemAdd:v,onFocusableItemRemove:y,currentTabStopId:m}=p;return d.useEffect(()=>{if(r)return v(),()=>y()},[r,v,y]),l.jsx(No.ItemSlot,{scope:n,id:u,focusable:r,active:o,children:l.jsx(Z.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...i,ref:t,onMouseDown:A(e.onMouseDown,b=>{r?p.onItemFocus(u):b.preventDefault()}),onFocus:A(e.onFocus,()=>p.onItemFocus(u)),onKeyDown:A(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){p.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const g=Px(b,p.orientation,p.dir);if(g!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let x=h().filter(S=>S.focusable).map(S=>S.ref.current);if(g==="last")x.reverse();else if(g==="prev"||g==="next"){g==="prev"&&x.reverse();const S=x.indexOf(b.currentTarget);x=p.loop?kx(x,S+1):x.slice(S+1)}setTimeout(()=>hl(x))}}),children:typeof s=="function"?s({isCurrentTabStop:f,hasTabStop:m!=null}):s})})});pl.displayName=fl;var Cx={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ex(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Px(e,t,n){const r=Ex(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Cx[r]}function hl(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function kx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Or=dl,Ar=pl,Ro=["Enter"," "],Tx=["ArrowDown","PageUp","Home"],ml=["ArrowUp","PageDown","End"],Nx=[...Tx,...ml],Rx={ltr:[...Ro,"ArrowRight"],rtl:[...Ro,"ArrowLeft"]},Ix={ltr:["ArrowLeft"],rtl:["ArrowRight"]},zn="Menu",[Cn,jx,Ox]=In(zn),[Mt,gl]=Ee(zn,[Ox,yt,xt]),$r=yt(),vl=xt(),[Ax,zt]=Mt(zn),[$x,Ln]=Mt(zn),bl=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:s=!0}=e,i=$r(t),[c,u]=d.useState(null),p=d.useRef(!1),f=Je(a),h=bt(o);return d.useEffect(()=>{const v=()=>{p.current=!0,document.addEventListener("pointerdown",y,{capture:!0,once:!0}),document.addEventListener("pointermove",y,{capture:!0,once:!0})},y=()=>p.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",y,{capture:!0}),document.removeEventListener("pointermove",y,{capture:!0})}},[]),l.jsx(Rr,{...i,children:l.jsx(Ax,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:u,children:l.jsx($x,{scope:t,onClose:d.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:p,dir:h,modal:s,children:r})})})};bl.displayName=zn;var Dx="MenuAnchor",ha=d.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=$r(n);return l.jsx(Dn,{...o,...r,ref:t})});ha.displayName=Dx;var ma="MenuPortal",[Mx,yl]=Mt(ma,{forceMount:void 0}),xl=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,a=zt(ma,t);return l.jsx(Mx,{scope:t,forceMount:n,children:l.jsx(ze,{present:n||a.open,children:l.jsx(sn,{asChild:!0,container:o,children:r})})})};xl.displayName=ma;var Ue="MenuContent",[zx,ga]=Mt(Ue),wl=d.forwardRef((e,t)=>{const n=yl(Ue,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=zt(Ue,e.__scopeMenu),s=Ln(Ue,e.__scopeMenu);return l.jsx(Cn.Provider,{scope:e.__scopeMenu,children:l.jsx(ze,{present:r||a.open,children:l.jsx(Cn.Slot,{scope:e.__scopeMenu,children:s.modal?l.jsx(Lx,{...o,ref:t}):l.jsx(Fx,{...o,ref:t})})})})}),Lx=d.forwardRef((e,t)=>{const n=zt(Ue,e.__scopeMenu),r=d.useRef(null),o=X(t,r);return d.useEffect(()=>{const a=r.current;if(a)return kr(a)},[]),l.jsx(va,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:A(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Fx=d.forwardRef((e,t)=>{const n=zt(Ue,e.__scopeMenu);return l.jsx(va,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Zx=Xt("MenuContent.ScrollLock"),va=d.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEntryFocus:c,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:v,disableOutsideScroll:y,...m}=e,b=zt(Ue,n),g=Ln(Ue,n),w=$r(n),x=vl(n),S=jx(n),[_,T]=d.useState(null),C=d.useRef(null),P=X(t,C,b.onContentChange),I=d.useRef(0),L=d.useRef(""),k=d.useRef(0),O=d.useRef(null),j=d.useRef("right"),U=d.useRef(0),G=y?On:d.Fragment,B=y?{as:Zx,allowPinchZoom:!0}:void 0,H=M=>{const ce=L.current+M,oe=S().filter($=>!$.disabled),xe=document.activeElement,pe=oe.find($=>$.ref.current===xe)?.textValue,ie=oe.map($=>$.textValue),_e=Qx(ie,ce,pe),he=oe.find($=>$.textValue===_e)?.ref.current;(function $(Y){L.current=Y,window.clearTimeout(I.current),Y!==""&&(I.current=window.setTimeout(()=>$(""),1e3))})(ce),he&&setTimeout(()=>he.focus())};d.useEffect(()=>()=>window.clearTimeout(I.current),[]),Er();const K=d.useCallback(M=>j.current===O.current?.side&&tw(M,O.current?.area),[]);return l.jsx(zx,{scope:n,searchRef:L,onItemEnter:d.useCallback(M=>{K(M)&&M.preventDefault()},[K]),onItemLeave:d.useCallback(M=>{K(M)||(C.current?.focus(),T(null))},[K]),onTriggerLeave:d.useCallback(M=>{K(M)&&M.preventDefault()},[K]),pointerGraceTimerRef:k,onPointerGraceIntentChange:d.useCallback(M=>{O.current=M},[]),children:l.jsx(G,{...B,children:l.jsx(jn,{asChild:!0,trapped:o,onMountAutoFocus:A(a,M=>{M.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:l.jsx(an,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:v,children:l.jsx(Or,{asChild:!0,...x,dir:g.dir,orientation:"vertical",loop:r,currentTabStopId:_,onCurrentTabStopIdChange:T,onEntryFocus:A(c,M=>{g.isUsingKeyboardRef.current||M.preventDefault()}),preventScrollOnEntryFocus:!0,children:l.jsx(Ir,{role:"menu","aria-orientation":"vertical","data-state":Ml(b.open),"data-radix-menu-content":"",dir:g.dir,...w,...m,ref:P,style:{outline:"none",...m.style},onKeyDown:A(m.onKeyDown,M=>{const oe=M.target.closest("[data-radix-menu-content]")===M.currentTarget,xe=M.ctrlKey||M.altKey||M.metaKey,pe=M.key.length===1;oe&&(M.key==="Tab"&&M.preventDefault(),!xe&&pe&&H(M.key));const ie=C.current;if(M.target!==ie||!Nx.includes(M.key))return;M.preventDefault();const he=S().filter($=>!$.disabled).map($=>$.ref.current);ml.includes(M.key)&&he.reverse(),Yx(he)}),onBlur:A(e.onBlur,M=>{M.currentTarget.contains(M.target)||(window.clearTimeout(I.current),L.current="")}),onPointerMove:A(e.onPointerMove,En(M=>{const ce=M.target,oe=U.current!==M.clientX;if(M.currentTarget.contains(ce)&&oe){const xe=M.clientX>U.current?"right":"left";j.current=xe,U.current=M.clientX}}))})})})})})})});wl.displayName=Ue;var Vx="MenuGroup",ba=d.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return l.jsx(Z.div,{role:"group",...r,ref:t})});ba.displayName=Vx;var Bx="MenuLabel",Sl=d.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return l.jsx(Z.div,{...r,ref:t})});Sl.displayName=Bx;var pr="MenuItem",js="menu.itemSelect",Dr=d.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,a=d.useRef(null),s=Ln(pr,e.__scopeMenu),i=ga(pr,e.__scopeMenu),c=X(t,a),u=d.useRef(!1),p=()=>{const f=a.current;if(!n&&f){const h=new CustomEvent(js,{bubbles:!0,cancelable:!0});f.addEventListener(js,v=>r?.(v),{once:!0}),Qs(f,h),h.defaultPrevented?u.current=!1:s.onClose()}};return l.jsx(_l,{...o,ref:c,disabled:n,onClick:A(e.onClick,p),onPointerDown:f=>{e.onPointerDown?.(f),u.current=!0},onPointerUp:A(e.onPointerUp,f=>{u.current||f.currentTarget?.click()}),onKeyDown:A(e.onKeyDown,f=>{const h=i.searchRef.current!=="";n||h&&f.key===" "||Ro.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})})});Dr.displayName=pr;var _l=d.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,s=ga(pr,n),i=vl(n),c=d.useRef(null),u=X(t,c),[p,f]=d.useState(!1),[h,v]=d.useState("");return d.useEffect(()=>{const y=c.current;y&&v((y.textContent??"").trim())},[a.children]),l.jsx(Cn.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:l.jsx(Ar,{asChild:!0,...i,focusable:!r,children:l.jsx(Z.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:u,onPointerMove:A(e.onPointerMove,En(y=>{r?s.onItemLeave(y):(s.onItemEnter(y),y.defaultPrevented||y.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:A(e.onPointerLeave,En(y=>s.onItemLeave(y))),onFocus:A(e.onFocus,()=>f(!0)),onBlur:A(e.onBlur,()=>f(!1))})})})}),Ux="MenuCheckboxItem",Cl=d.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return l.jsx(Nl,{scope:e.__scopeMenu,checked:n,children:l.jsx(Dr,{role:"menuitemcheckbox","aria-checked":hr(n)?"mixed":n,...o,ref:t,"data-state":xa(n),onSelect:A(o.onSelect,()=>r?.(hr(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Cl.displayName=Ux;var El="MenuRadioGroup",[Hx,Gx]=Mt(El,{value:void 0,onValueChange:()=>{}}),Pl=d.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,a=Je(r);return l.jsx(Hx,{scope:e.__scopeMenu,value:n,onValueChange:a,children:l.jsx(ba,{...o,ref:t})})});Pl.displayName=El;var kl="MenuRadioItem",Tl=d.forwardRef((e,t)=>{const{value:n,...r}=e,o=Gx(kl,e.__scopeMenu),a=n===o.value;return l.jsx(Nl,{scope:e.__scopeMenu,checked:a,children:l.jsx(Dr,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":xa(a),onSelect:A(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Tl.displayName=kl;var ya="MenuItemIndicator",[Nl,Wx]=Mt(ya,{checked:!1}),Rl=d.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,a=Wx(ya,n);return l.jsx(ze,{present:r||hr(a.checked)||a.checked===!0,children:l.jsx(Z.span,{...o,ref:t,"data-state":xa(a.checked)})})});Rl.displayName=ya;var Kx="MenuSeparator",Il=d.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return l.jsx(Z.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Il.displayName=Kx;var Jx="MenuArrow",jl=d.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=$r(n);return l.jsx(jr,{...o,...r,ref:t})});jl.displayName=Jx;var qx="MenuSub",[NP,Ol]=Mt(qx),bn="MenuSubTrigger",Al=d.forwardRef((e,t)=>{const n=zt(bn,e.__scopeMenu),r=Ln(bn,e.__scopeMenu),o=Ol(bn,e.__scopeMenu),a=ga(bn,e.__scopeMenu),s=d.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:c}=a,u={__scopeMenu:e.__scopeMenu},p=d.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return d.useEffect(()=>p,[p]),d.useEffect(()=>{const f=i.current;return()=>{window.clearTimeout(f),c(null)}},[i,c]),l.jsx(ha,{asChild:!0,...u,children:l.jsx(_l,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":Ml(n.open),...e,ref:ei(t,o.onTriggerChange),onClick:f=>{e.onClick?.(f),!(e.disabled||f.defaultPrevented)&&(f.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:A(e.onPointerMove,En(f=>{a.onItemEnter(f),!f.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:A(e.onPointerLeave,En(f=>{p();const h=n.content?.getBoundingClientRect();if(h){const v=n.content?.dataset.side,y=v==="right",m=y?-5:5,b=h[y?"left":"right"],g=h[y?"right":"left"];a.onPointerGraceIntentChange({area:[{x:f.clientX+m,y:f.clientY},{x:b,y:h.top},{x:g,y:h.top},{x:g,y:h.bottom},{x:b,y:h.bottom}],side:v}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(f),f.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:A(e.onKeyDown,f=>{const h=a.searchRef.current!=="";e.disabled||h&&f.key===" "||Rx[r.dir].includes(f.key)&&(n.onOpenChange(!0),n.content?.focus(),f.preventDefault())})})})});Al.displayName=bn;var $l="MenuSubContent",Dl=d.forwardRef((e,t)=>{const n=yl(Ue,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=zt(Ue,e.__scopeMenu),s=Ln(Ue,e.__scopeMenu),i=Ol($l,e.__scopeMenu),c=d.useRef(null),u=X(t,c);return l.jsx(Cn.Provider,{scope:e.__scopeMenu,children:l.jsx(ze,{present:r||a.open,children:l.jsx(Cn.Slot,{scope:e.__scopeMenu,children:l.jsx(va,{id:i.contentId,"aria-labelledby":i.triggerId,...o,ref:u,align:"start",side:s.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:p=>{s.isUsingKeyboardRef.current&&c.current?.focus(),p.preventDefault()},onCloseAutoFocus:p=>p.preventDefault(),onFocusOutside:A(e.onFocusOutside,p=>{p.target!==i.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:A(e.onEscapeKeyDown,p=>{s.onClose(),p.preventDefault()}),onKeyDown:A(e.onKeyDown,p=>{const f=p.currentTarget.contains(p.target),h=Ix[s.dir].includes(p.key);f&&h&&(a.onOpenChange(!1),i.trigger?.focus(),p.preventDefault())})})})})})});Dl.displayName=$l;function Ml(e){return e?"open":"closed"}function hr(e){return e==="indeterminate"}function xa(e){return hr(e)?"indeterminate":e?"checked":"unchecked"}function Yx(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Xx(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Qx(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=Xx(e,Math.max(a,0));o.length===1&&(s=s.filter(u=>u!==n));const c=s.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return c!==n?c:void 0}function ew(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const i=t[a],c=t[s],u=i.x,p=i.y,f=c.x,h=c.y;p>r!=h>r&&n<(f-u)*(r-p)/(h-p)+u&&(o=!o)}return o}function tw(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return ew(n,t)}function En(e){return t=>t.pointerType==="mouse"?e(t):void 0}var nw=bl,rw=ha,ow=xl,aw=wl,sw=ba,iw=Sl,cw=Dr,lw=Cl,uw=Pl,dw=Tl,fw=Rl,pw=Il,hw=jl,mw=Al,gw=Dl,Mr="DropdownMenu",[vw]=Ee(Mr,[gl]),De=gl(),[bw,zl]=vw(Mr),Ll=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:s,modal:i=!0}=e,c=De(t),u=d.useRef(null),[p,f]=Re({prop:o,defaultProp:a??!1,onChange:s,caller:Mr});return l.jsx(bw,{scope:t,triggerId:Ve(),triggerRef:u,contentId:Ve(),open:p,onOpenChange:f,onOpenToggle:d.useCallback(()=>f(h=>!h),[f]),modal:i,children:l.jsx(nw,{...c,open:p,onOpenChange:f,dir:r,modal:i,children:n})})};Ll.displayName=Mr;var Fl="DropdownMenuTrigger",Zl=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=zl(Fl,n),s=De(n);return l.jsx(rw,{asChild:!0,...s,children:l.jsx(Z.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:ei(t,a.triggerRef),onPointerDown:A(e.onPointerDown,i=>{!r&&i.button===0&&i.ctrlKey===!1&&(a.onOpenToggle(),a.open||i.preventDefault())}),onKeyDown:A(e.onKeyDown,i=>{r||(["Enter"," "].includes(i.key)&&a.onOpenToggle(),i.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())})})})});Zl.displayName=Fl;var yw="DropdownMenuPortal",Vl=e=>{const{__scopeDropdownMenu:t,...n}=e,r=De(t);return l.jsx(ow,{...r,...n})};Vl.displayName=yw;var Bl="DropdownMenuContent",Ul=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=zl(Bl,n),a=De(n),s=d.useRef(!1);return l.jsx(aw,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:A(e.onCloseAutoFocus,i=>{s.current||o.triggerRef.current?.focus(),s.current=!1,i.preventDefault()}),onInteractOutside:A(e.onInteractOutside,i=>{const c=i.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0,p=c.button===2||u;(!o.modal||p)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Ul.displayName=Bl;var xw="DropdownMenuGroup",ww=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(sw,{...o,...r,ref:t})});ww.displayName=xw;var Sw="DropdownMenuLabel",_w=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(iw,{...o,...r,ref:t})});_w.displayName=Sw;var Cw="DropdownMenuItem",Hl=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(cw,{...o,...r,ref:t})});Hl.displayName=Cw;var Ew="DropdownMenuCheckboxItem",Pw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(lw,{...o,...r,ref:t})});Pw.displayName=Ew;var kw="DropdownMenuRadioGroup",Tw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(uw,{...o,...r,ref:t})});Tw.displayName=kw;var Nw="DropdownMenuRadioItem",Rw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(dw,{...o,...r,ref:t})});Rw.displayName=Nw;var Iw="DropdownMenuItemIndicator",jw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(fw,{...o,...r,ref:t})});jw.displayName=Iw;var Ow="DropdownMenuSeparator",Aw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(pw,{...o,...r,ref:t})});Aw.displayName=Ow;var $w="DropdownMenuArrow",Dw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(hw,{...o,...r,ref:t})});Dw.displayName=$w;var Mw="DropdownMenuSubTrigger",zw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(mw,{...o,...r,ref:t})});zw.displayName=Mw;var Lw="DropdownMenuSubContent",Fw=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=De(n);return l.jsx(gw,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Fw.displayName=Lw;var Zw=Ll,Vw=Zl,Bw=Vl,Uw=Ul,Hw=Hl,Gw="Label",Gl=d.forwardRef((e,t)=>l.jsx(Z.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));Gl.displayName=Gw;var Ww=Gl;function mr(e,[t,n]){return Math.min(n,Math.max(t,e))}var zr="Popover",[Wl]=Ee(zr,[yt]),Fn=yt(),[Kw,wt]=Wl(zr),Kl=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:s=!1}=e,i=Fn(t),c=d.useRef(null),[u,p]=d.useState(!1),[f,h]=Re({prop:r,defaultProp:o??!1,onChange:a,caller:zr});return l.jsx(Rr,{...i,children:l.jsx(Kw,{scope:t,contentId:Ve(),triggerRef:c,open:f,onOpenChange:h,onOpenToggle:d.useCallback(()=>h(v=>!v),[h]),hasCustomAnchor:u,onCustomAnchorAdd:d.useCallback(()=>p(!0),[]),onCustomAnchorRemove:d.useCallback(()=>p(!1),[]),modal:s,children:n})})};Kl.displayName=zr;var Jl="PopoverAnchor",Jw=d.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=wt(Jl,n),a=Fn(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:i}=o;return d.useEffect(()=>(s(),()=>i()),[s,i]),l.jsx(Dn,{...a,...r,ref:t})});Jw.displayName=Jl;var ql="PopoverTrigger",Yl=d.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=wt(ql,n),a=Fn(n),s=X(t,o.triggerRef),i=l.jsx(Z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":nu(o.open),...r,ref:s,onClick:A(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?i:l.jsx(Dn,{asChild:!0,...a,children:i})});Yl.displayName=ql;var wa="PopoverPortal",[qw,Yw]=Wl(wa,{forceMount:void 0}),Xl=e=>{const{__scopePopover:t,forceMount:n,children:r,container:o}=e,a=wt(wa,t);return l.jsx(qw,{scope:t,forceMount:n,children:l.jsx(ze,{present:n||a.open,children:l.jsx(sn,{asChild:!0,container:o,children:r})})})};Xl.displayName=wa;var nn="PopoverContent",Ql=d.forwardRef((e,t)=>{const n=Yw(nn,e.__scopePopover),{forceMount:r=n.forceMount,...o}=e,a=wt(nn,e.__scopePopover);return l.jsx(ze,{present:r||a.open,children:a.modal?l.jsx(Qw,{...o,ref:t}):l.jsx(e0,{...o,ref:t})})});Ql.displayName=nn;var Xw=Xt("PopoverContent.RemoveScroll"),Qw=d.forwardRef((e,t)=>{const n=wt(nn,e.__scopePopover),r=d.useRef(null),o=X(t,r),a=d.useRef(!1);return d.useEffect(()=>{const s=r.current;if(s)return kr(s)},[]),l.jsx(On,{as:Xw,allowPinchZoom:!0,children:l.jsx(eu,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:A(e.onCloseAutoFocus,s=>{s.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:A(e.onPointerDownOutside,s=>{const i=s.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0,u=i.button===2||c;a.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:A(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})})}),e0=d.forwardRef((e,t)=>{const n=wt(nn,e.__scopePopover),r=d.useRef(!1),o=d.useRef(!1);return l.jsx(eu,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(r.current||n.triggerRef.current?.focus(),a.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(r.current=!0,a.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=a.target;n.triggerRef.current?.contains(s)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&o.current&&a.preventDefault()}})}),eu=d.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:p,...f}=e,h=wt(nn,n),v=Fn(n);return Er(),l.jsx(jn,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:l.jsx(an,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:p,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:u,onDismiss:()=>h.onOpenChange(!1),children:l.jsx(Ir,{"data-state":nu(h.open),role:"dialog",id:h.contentId,...v,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),tu="PopoverClose",t0=d.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=wt(tu,n);return l.jsx(Z.button,{type:"button",...r,ref:t,onClick:A(e.onClick,()=>o.onOpenChange(!1))})});t0.displayName=tu;var n0="PopoverArrow",r0=d.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=Fn(n);return l.jsx(jr,{...o,...r,ref:t})});r0.displayName=n0;function nu(e){return e?"open":"closed"}var o0=Kl,a0=Yl,s0=Xl,i0=Ql,Sa="Progress",_a=100,[c0]=Ee(Sa),[l0,u0]=c0(Sa),ru=d.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:o,getValueLabel:a=d0,...s}=e;(o||o===0)&&!Os(o)&&console.error(f0(`${o}`,"Progress"));const i=Os(o)?o:_a;r!==null&&!As(r,i)&&console.error(p0(`${r}`,"Progress"));const c=As(r,i)?r:null,u=gr(c)?a(c,i):void 0;return l.jsx(l0,{scope:n,value:c,max:i,children:l.jsx(Z.div,{"aria-valuemax":i,"aria-valuemin":0,"aria-valuenow":gr(c)?c:void 0,"aria-valuetext":u,role:"progressbar","data-state":su(c,i),"data-value":c??void 0,"data-max":i,...s,ref:t})})});ru.displayName=Sa;var ou="ProgressIndicator",au=d.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,o=u0(ou,n);return l.jsx(Z.div,{"data-state":su(o.value,o.max),"data-value":o.value??void 0,"data-max":o.max,...r,ref:t})});au.displayName=ou;function d0(e,t){return`${Math.round(e/t*100)}%`}function su(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function gr(e){return typeof e=="number"}function Os(e){return gr(e)&&!isNaN(e)&&e>0}function As(e,t){return gr(e)&&!isNaN(e)&&e<=t&&e>=0}function f0(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${_a}\`.`}function p0(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
88
+ - a positive number
89
+ - less than the value passed to \`max\` (or ${_a} if no \`max\` prop is set)
90
+ - \`null\` or \`undefined\` if the progress is indeterminate.
91
+
92
+ Defaulting to \`null\`.`}var h0=ru,m0=au,Ca="Radio",[g0,iu]=Ee(Ca),[v0,b0]=g0(Ca),cu=d.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:a,disabled:s,value:i="on",onCheck:c,form:u,...p}=e,[f,h]=d.useState(null),v=X(t,b=>h(b)),y=d.useRef(!1),m=f?u||!!f.closest("form"):!0;return l.jsxs(v0,{scope:n,checked:o,disabled:s,children:[l.jsx(Z.button,{type:"button",role:"radio","aria-checked":o,"data-state":fu(o),"data-disabled":s?"":void 0,disabled:s,value:i,...p,ref:v,onClick:A(e.onClick,b=>{o||c?.(),m&&(y.current=b.isPropagationStopped(),y.current||b.stopPropagation())})}),m&&l.jsx(du,{control:f,bubbles:!y.current,name:r,value:i,checked:o,required:a,disabled:s,form:u,style:{transform:"translateX(-100%)"}})]})});cu.displayName=Ca;var lu="RadioIndicator",uu=d.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,a=b0(lu,n);return l.jsx(ze,{present:r||a.checked,children:l.jsx(Z.span,{"data-state":fu(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t})})});uu.displayName=lu;var y0="RadioBubbleInput",du=d.forwardRef(({__scopeRadio:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{const s=d.useRef(null),i=X(s,a),c=An(n),u=$n(t);return d.useEffect(()=>{const p=s.current;if(!p)return;const f=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(f,"checked").set;if(c!==n&&v){const y=new Event("click",{bubbles:r});v.call(p,n),p.dispatchEvent(y)}},[c,n,r]),l.jsx(Z.input,{type:"radio","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...o.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});du.displayName=y0;function fu(e){return e?"checked":"unchecked"}var x0=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Lr="RadioGroup",[w0]=Ee(Lr,[xt,iu]),pu=xt(),hu=iu(),[S0,_0]=w0(Lr),mu=d.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:a,required:s=!1,disabled:i=!1,orientation:c,dir:u,loop:p=!0,onValueChange:f,...h}=e,v=pu(n),y=bt(u),[m,b]=Re({prop:a,defaultProp:o??null,onChange:f,caller:Lr});return l.jsx(S0,{scope:n,name:r,required:s,disabled:i,value:m,onValueChange:b,children:l.jsx(Or,{asChild:!0,...v,orientation:c,dir:y,loop:p,children:l.jsx(Z.div,{role:"radiogroup","aria-required":s,"aria-orientation":c,"data-disabled":i?"":void 0,dir:y,...h,ref:t})})})});mu.displayName=Lr;var gu="RadioGroupItem",vu=d.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...o}=e,a=_0(gu,n),s=a.disabled||r,i=pu(n),c=hu(n),u=d.useRef(null),p=X(t,u),f=a.value===o.value,h=d.useRef(!1);return d.useEffect(()=>{const v=m=>{x0.includes(m.key)&&(h.current=!0)},y=()=>h.current=!1;return document.addEventListener("keydown",v),document.addEventListener("keyup",y),()=>{document.removeEventListener("keydown",v),document.removeEventListener("keyup",y)}},[]),l.jsx(Ar,{asChild:!0,...i,focusable:!s,active:f,children:l.jsx(cu,{disabled:s,required:a.required,checked:f,...c,...o,name:a.name,ref:p,onCheck:()=>a.onValueChange(o.value),onKeyDown:A(v=>{v.key==="Enter"&&v.preventDefault()}),onFocus:A(o.onFocus,()=>{h.current&&u.current?.click()})})})});vu.displayName=gu;var C0="RadioGroupIndicator",bu=d.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=hu(n);return l.jsx(uu,{...o,...r,ref:t})});bu.displayName=C0;var E0=mu,P0=vu,k0=bu,T0=[" ","Enter","ArrowUp","ArrowDown"],N0=[" ","Enter"],jt="Select",[Fr,Zr,R0]=In(jt),[cn]=Ee(jt,[R0,yt]),Vr=yt(),[I0,St]=cn(jt),[j0,O0]=cn(jt),yu=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:s,defaultValue:i,onValueChange:c,dir:u,name:p,autoComplete:f,disabled:h,required:v,form:y}=e,m=Vr(t),[b,g]=d.useState(null),[w,x]=d.useState(null),[S,_]=d.useState(!1),T=bt(u),[C,P]=Re({prop:r,defaultProp:o??!1,onChange:a,caller:jt}),[I,L]=Re({prop:s,defaultProp:i,onChange:c,caller:jt}),k=d.useRef(null),O=b?y||!!b.closest("form"):!0,[j,U]=d.useState(new Set),G=Array.from(j).map(B=>B.props.value).join(";");return l.jsx(Rr,{...m,children:l.jsxs(I0,{required:v,scope:t,trigger:b,onTriggerChange:g,valueNode:w,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:_,contentId:Ve(),value:I,onValueChange:L,open:C,onOpenChange:P,dir:T,triggerPointerDownPosRef:k,disabled:h,children:[l.jsx(Fr.Provider,{scope:t,children:l.jsx(j0,{scope:e.__scopeSelect,onNativeOptionAdd:d.useCallback(B=>{U(H=>new Set(H).add(B))},[]),onNativeOptionRemove:d.useCallback(B=>{U(H=>{const K=new Set(H);return K.delete(B),K})},[]),children:n})}),O?l.jsxs(Zu,{"aria-hidden":!0,required:v,tabIndex:-1,name:p,autoComplete:f,value:I,onChange:B=>L(B.target.value),disabled:h,form:y,children:[I===void 0?l.jsx("option",{value:""}):null,Array.from(j)]},G):null]})})};yu.displayName=jt;var xu="SelectTrigger",wu=d.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,a=Vr(n),s=St(xu,n),i=s.disabled||r,c=X(t,s.onTriggerChange),u=Zr(n),p=d.useRef("touch"),[f,h,v]=Bu(m=>{const b=u().filter(x=>!x.disabled),g=b.find(x=>x.value===s.value),w=Uu(b,m,g);w!==void 0&&s.onValueChange(w.value)}),y=m=>{i||(s.onOpenChange(!0),v()),m&&(s.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return l.jsx(Dn,{asChild:!0,...a,children:l.jsx(Z.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":Vu(s.value)?"":void 0,...o,ref:c,onClick:A(o.onClick,m=>{m.currentTarget.focus(),p.current!=="mouse"&&y(m)}),onPointerDown:A(o.onPointerDown,m=>{p.current=m.pointerType;const b=m.target;b.hasPointerCapture(m.pointerId)&&b.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(y(m),m.preventDefault())}),onKeyDown:A(o.onKeyDown,m=>{const b=f.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(b&&m.key===" ")&&T0.includes(m.key)&&(y(),m.preventDefault())})})})});wu.displayName=xu;var Su="SelectValue",_u=d.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:a,placeholder:s="",...i}=e,c=St(Su,n),{onValueNodeHasChildrenChange:u}=c,p=a!==void 0,f=X(t,c.onValueNodeChange);return $e(()=>{u(p)},[u,p]),l.jsx(Z.span,{...i,ref:f,style:{pointerEvents:"none"},children:Vu(c.value)?l.jsx(l.Fragment,{children:s}):a})});_u.displayName=Su;var A0="SelectIcon",Cu=d.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return l.jsx(Z.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});Cu.displayName=A0;var $0="SelectPortal",Eu=e=>l.jsx(sn,{asChild:!0,...e});Eu.displayName=$0;var Ot="SelectContent",Pu=d.forwardRef((e,t)=>{const n=St(Ot,e.__scopeSelect),[r,o]=d.useState();if($e(()=>{o(new DocumentFragment)},[]),!n.open){const a=r;return a?ti.createPortal(l.jsx(ku,{scope:e.__scopeSelect,children:l.jsx(Fr.Slot,{scope:e.__scopeSelect,children:l.jsx("div",{children:e.children})})}),a):null}return l.jsx(Tu,{...e,ref:t})});Pu.displayName=Ot;var We=10,[ku,_t]=cn(Ot),D0="SelectContentImpl",M0=Xt("SelectContent.RemoveScroll"),Tu=d.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:s,side:i,sideOffset:c,align:u,alignOffset:p,arrowPadding:f,collisionBoundary:h,collisionPadding:v,sticky:y,hideWhenDetached:m,avoidCollisions:b,...g}=e,w=St(Ot,n),[x,S]=d.useState(null),[_,T]=d.useState(null),C=X(t,$=>S($)),[P,I]=d.useState(null),[L,k]=d.useState(null),O=Zr(n),[j,U]=d.useState(!1),G=d.useRef(!1);d.useEffect(()=>{if(x)return kr(x)},[x]),Er();const B=d.useCallback($=>{const[Y,...ae]=O().map(D=>D.ref.current),[Q]=ae.slice(-1),J=document.activeElement;for(const D of $)if(D===J||(D?.scrollIntoView({block:"nearest"}),D===Y&&_&&(_.scrollTop=0),D===Q&&_&&(_.scrollTop=_.scrollHeight),D?.focus(),document.activeElement!==J))return},[O,_]),H=d.useCallback(()=>B([P,x]),[B,P,x]);d.useEffect(()=>{j&&H()},[j,H]);const{onOpenChange:K,triggerPointerDownPosRef:M}=w;d.useEffect(()=>{if(x){let $={x:0,y:0};const Y=Q=>{$={x:Math.abs(Math.round(Q.pageX)-(M.current?.x??0)),y:Math.abs(Math.round(Q.pageY)-(M.current?.y??0))}},ae=Q=>{$.x<=10&&$.y<=10?Q.preventDefault():x.contains(Q.target)||K(!1),document.removeEventListener("pointermove",Y),M.current=null};return M.current!==null&&(document.addEventListener("pointermove",Y),document.addEventListener("pointerup",ae,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Y),document.removeEventListener("pointerup",ae,{capture:!0})}}},[x,K,M]),d.useEffect(()=>{const $=()=>K(!1);return window.addEventListener("blur",$),window.addEventListener("resize",$),()=>{window.removeEventListener("blur",$),window.removeEventListener("resize",$)}},[K]);const[ce,oe]=Bu($=>{const Y=O().filter(J=>!J.disabled),ae=Y.find(J=>J.ref.current===document.activeElement),Q=Uu(Y,$,ae);Q&&setTimeout(()=>Q.ref.current.focus())}),xe=d.useCallback(($,Y,ae)=>{const Q=!G.current&&!ae;(w.value!==void 0&&w.value===Y||Q)&&(I($),Q&&(G.current=!0))},[w.value]),pe=d.useCallback(()=>x?.focus(),[x]),ie=d.useCallback(($,Y,ae)=>{const Q=!G.current&&!ae;(w.value!==void 0&&w.value===Y||Q)&&k($)},[w.value]),_e=r==="popper"?Io:Nu,he=_e===Io?{side:i,sideOffset:c,align:u,alignOffset:p,arrowPadding:f,collisionBoundary:h,collisionPadding:v,sticky:y,hideWhenDetached:m,avoidCollisions:b}:{};return l.jsx(ku,{scope:n,content:x,viewport:_,onViewportChange:T,itemRefCallback:xe,selectedItem:P,onItemLeave:pe,itemTextRefCallback:ie,focusSelectedItem:H,selectedItemText:L,position:r,isPositioned:j,searchRef:ce,children:l.jsx(On,{as:M0,allowPinchZoom:!0,children:l.jsx(jn,{asChild:!0,trapped:w.open,onMountAutoFocus:$=>{$.preventDefault()},onUnmountAutoFocus:A(o,$=>{w.trigger?.focus({preventScroll:!0}),$.preventDefault()}),children:l.jsx(an,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:$=>$.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:l.jsx(_e,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:$=>$.preventDefault(),...g,...he,onPlaced:()=>U(!0),ref:C,style:{display:"flex",flexDirection:"column",outline:"none",...g.style},onKeyDown:A(g.onKeyDown,$=>{const Y=$.ctrlKey||$.altKey||$.metaKey;if($.key==="Tab"&&$.preventDefault(),!Y&&$.key.length===1&&oe($.key),["ArrowUp","ArrowDown","Home","End"].includes($.key)){let Q=O().filter(J=>!J.disabled).map(J=>J.ref.current);if(["ArrowUp","End"].includes($.key)&&(Q=Q.slice().reverse()),["ArrowUp","ArrowDown"].includes($.key)){const J=$.target,D=Q.indexOf(J);Q=Q.slice(D+1)}setTimeout(()=>B(Q)),$.preventDefault()}})})})})})})});Tu.displayName=D0;var z0="SelectItemAlignedPosition",Nu=d.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,a=St(Ot,n),s=_t(Ot,n),[i,c]=d.useState(null),[u,p]=d.useState(null),f=X(t,C=>p(C)),h=Zr(n),v=d.useRef(!1),y=d.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:g,focusSelectedItem:w}=s,x=d.useCallback(()=>{if(a.trigger&&a.valueNode&&i&&u&&m&&b&&g){const C=a.trigger.getBoundingClientRect(),P=u.getBoundingClientRect(),I=a.valueNode.getBoundingClientRect(),L=g.getBoundingClientRect();if(a.dir!=="rtl"){const J=L.left-P.left,D=I.left-J,ee=C.left-D,F=C.width+ee,ye=Math.max(F,P.width),Te=window.innerWidth-We,Ne=mr(D,[We,Math.max(We,Te-ye)]);i.style.minWidth=F+"px",i.style.left=Ne+"px"}else{const J=P.right-L.right,D=window.innerWidth-I.right-J,ee=window.innerWidth-C.right-D,F=C.width+ee,ye=Math.max(F,P.width),Te=window.innerWidth-We,Ne=mr(D,[We,Math.max(We,Te-ye)]);i.style.minWidth=F+"px",i.style.right=Ne+"px"}const k=h(),O=window.innerHeight-We*2,j=m.scrollHeight,U=window.getComputedStyle(u),G=parseInt(U.borderTopWidth,10),B=parseInt(U.paddingTop,10),H=parseInt(U.borderBottomWidth,10),K=parseInt(U.paddingBottom,10),M=G+B+j+K+H,ce=Math.min(b.offsetHeight*5,M),oe=window.getComputedStyle(m),xe=parseInt(oe.paddingTop,10),pe=parseInt(oe.paddingBottom,10),ie=C.top+C.height/2-We,_e=O-ie,he=b.offsetHeight/2,$=b.offsetTop+he,Y=G+B+$,ae=M-Y;if(Y<=ie){const J=k.length>0&&b===k[k.length-1].ref.current;i.style.bottom="0px";const D=u.clientHeight-m.offsetTop-m.offsetHeight,ee=Math.max(_e,he+(J?pe:0)+D+H),F=Y+ee;i.style.height=F+"px"}else{const J=k.length>0&&b===k[0].ref.current;i.style.top="0px";const ee=Math.max(ie,G+m.offsetTop+(J?xe:0)+he)+ae;i.style.height=ee+"px",m.scrollTop=Y-ie+m.offsetTop}i.style.margin=`${We}px 0`,i.style.minHeight=ce+"px",i.style.maxHeight=O+"px",r?.(),requestAnimationFrame(()=>v.current=!0)}},[h,a.trigger,a.valueNode,i,u,m,b,g,a.dir,r]);$e(()=>x(),[x]);const[S,_]=d.useState();$e(()=>{u&&_(window.getComputedStyle(u).zIndex)},[u]);const T=d.useCallback(C=>{C&&y.current===!0&&(x(),w?.(),y.current=!1)},[x,w]);return l.jsx(F0,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:v,onScrollButtonChange:T,children:l.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:S},children:l.jsx(Z.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Nu.displayName=z0;var L0="SelectPopperPosition",Io=d.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=We,...a}=e,s=Vr(n);return l.jsx(Ir,{...s,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Io.displayName=L0;var[F0,Ea]=cn(Ot,{}),jo="SelectViewport",Ru=d.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,a=_t(jo,n),s=Ea(jo,n),i=X(t,a.onViewportChange),c=d.useRef(0);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),l.jsx(Fr.Slot,{scope:n,children:l.jsx(Z.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:A(o.onScroll,u=>{const p=u.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:h}=s;if(h?.current&&f){const v=Math.abs(c.current-p.scrollTop);if(v>0){const y=window.innerHeight-We*2,m=parseFloat(f.style.minHeight),b=parseFloat(f.style.height),g=Math.max(m,b);if(g<y){const w=g+v,x=Math.min(y,w),S=w-x;f.style.height=x+"px",f.style.bottom==="0px"&&(p.scrollTop=S>0?S:0,f.style.justifyContent="flex-end")}}}c.current=p.scrollTop})})})]})});Ru.displayName=jo;var Iu="SelectGroup",[Z0,V0]=cn(Iu),B0=d.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Ve();return l.jsx(Z0,{scope:n,id:o,children:l.jsx(Z.div,{role:"group","aria-labelledby":o,...r,ref:t})})});B0.displayName=Iu;var ju="SelectLabel",U0=d.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=V0(ju,n);return l.jsx(Z.div,{id:o.id,...r,ref:t})});U0.displayName=ju;var vr="SelectItem",[H0,Ou]=cn(vr),Au=d.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...s}=e,i=St(vr,n),c=_t(vr,n),u=i.value===r,[p,f]=d.useState(a??""),[h,v]=d.useState(!1),y=X(t,w=>c.itemRefCallback?.(w,r,o)),m=Ve(),b=d.useRef("touch"),g=()=>{o||(i.onValueChange(r),i.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return l.jsx(H0,{scope:n,value:r,disabled:o,textId:m,isSelected:u,onItemTextChange:d.useCallback(w=>{f(x=>x||(w?.textContent??"").trim())},[]),children:l.jsx(Fr.ItemSlot,{scope:n,value:r,disabled:o,textValue:p,children:l.jsx(Z.div,{role:"option","aria-labelledby":m,"data-highlighted":h?"":void 0,"aria-selected":u&&h,"data-state":u?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...s,ref:y,onFocus:A(s.onFocus,()=>v(!0)),onBlur:A(s.onBlur,()=>v(!1)),onClick:A(s.onClick,()=>{b.current!=="mouse"&&g()}),onPointerUp:A(s.onPointerUp,()=>{b.current==="mouse"&&g()}),onPointerDown:A(s.onPointerDown,w=>{b.current=w.pointerType}),onPointerMove:A(s.onPointerMove,w=>{b.current=w.pointerType,o?c.onItemLeave?.():b.current==="mouse"&&w.currentTarget.focus({preventScroll:!0})}),onPointerLeave:A(s.onPointerLeave,w=>{w.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:A(s.onKeyDown,w=>{c.searchRef?.current!==""&&w.key===" "||(N0.includes(w.key)&&g(),w.key===" "&&w.preventDefault())})})})})});Au.displayName=vr;var yn="SelectItemText",$u=d.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...a}=e,s=St(yn,n),i=_t(yn,n),c=Ou(yn,n),u=O0(yn,n),[p,f]=d.useState(null),h=X(t,g=>f(g),c.onItemTextChange,g=>i.itemTextRefCallback?.(g,c.value,c.disabled)),v=p?.textContent,y=d.useMemo(()=>l.jsx("option",{value:c.value,disabled:c.disabled,children:v},c.value),[c.disabled,c.value,v]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=u;return $e(()=>(m(y),()=>b(y)),[m,b,y]),l.jsxs(l.Fragment,{children:[l.jsx(Z.span,{id:c.textId,...a,ref:h}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?ti.createPortal(a.children,s.valueNode):null]})});$u.displayName=yn;var Du="SelectItemIndicator",Mu=d.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Ou(Du,n).isSelected?l.jsx(Z.span,{"aria-hidden":!0,...r,ref:t}):null});Mu.displayName=Du;var Oo="SelectScrollUpButton",zu=d.forwardRef((e,t)=>{const n=_t(Oo,e.__scopeSelect),r=Ea(Oo,e.__scopeSelect),[o,a]=d.useState(!1),s=X(t,r.onScrollButtonChange);return $e(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=c.scrollTop>0;a(u)};const c=n.viewport;return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?l.jsx(Fu,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:c}=n;i&&c&&(i.scrollTop=i.scrollTop-c.offsetHeight)}}):null});zu.displayName=Oo;var Ao="SelectScrollDownButton",Lu=d.forwardRef((e,t)=>{const n=_t(Ao,e.__scopeSelect),r=Ea(Ao,e.__scopeSelect),[o,a]=d.useState(!1),s=X(t,r.onScrollButtonChange);return $e(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=c.scrollHeight-c.clientHeight,p=Math.ceil(c.scrollTop)<u;a(p)};const c=n.viewport;return i(),c.addEventListener("scroll",i),()=>c.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?l.jsx(Fu,{...e,ref:s,onAutoScroll:()=>{const{viewport:i,selectedItem:c}=n;i&&c&&(i.scrollTop=i.scrollTop+c.offsetHeight)}}):null});Lu.displayName=Ao;var Fu=d.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,a=_t("SelectScrollButton",n),s=d.useRef(null),i=Zr(n),c=d.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return d.useEffect(()=>()=>c(),[c]),$e(()=>{i().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[i]),l.jsx(Z.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:A(o.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:A(o.onPointerMove,()=>{a.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:A(o.onPointerLeave,()=>{c()})})}),G0="SelectSeparator",W0=d.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return l.jsx(Z.div,{"aria-hidden":!0,...r,ref:t})});W0.displayName=G0;var $o="SelectArrow",K0=d.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Vr(n),a=St($o,n),s=_t($o,n);return a.open&&s.position==="popper"?l.jsx(jr,{...o,...r,ref:t}):null});K0.displayName=$o;var J0="SelectBubbleInput",Zu=d.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const o=d.useRef(null),a=X(r,o),s=An(t);return d.useEffect(()=>{const i=o.current;if(!i)return;const c=window.HTMLSelectElement.prototype,p=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==t&&p){const f=new Event("change",{bubbles:!0});p.call(i,t),i.dispatchEvent(f)}},[s,t]),l.jsx(Z.select,{...n,style:{...Ji,...n.style},ref:a,defaultValue:t})});Zu.displayName=J0;function Vu(e){return e===""||e===void 0}function Bu(e){const t=Je(e),n=d.useRef(""),r=d.useRef(0),o=d.useCallback(s=>{const i=n.current+s;t(i),(function c(u){n.current=u,window.clearTimeout(r.current),u!==""&&(r.current=window.setTimeout(()=>c(""),1e3))})(i)},[t]),a=d.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return d.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function Uu(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let s=q0(e,Math.max(a,0));o.length===1&&(s=s.filter(u=>u!==n));const c=s.find(u=>u.textValue.toLowerCase().startsWith(o.toLowerCase()));return c!==n?c:void 0}function q0(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Y0=yu,X0=wu,Q0=_u,eS=Cu,tS=Eu,nS=Pu,rS=Ru,oS=Au,aS=$u,sS=Mu,iS=zu,cS=Lu,lS="Separator",$s="horizontal",uS=["horizontal","vertical"],Hu=d.forwardRef((e,t)=>{const{decorative:n,orientation:r=$s,...o}=e,a=dS(r)?r:$s,i=n?{role:"none"}:{"aria-orientation":a==="vertical"?a:void 0,role:"separator"};return l.jsx(Z.div,{"data-orientation":a,...i,...o,ref:t})});Hu.displayName=lS;function dS(e){return uS.includes(e)}var fS=Hu,Gu=["PageUp","PageDown"],Wu=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Ku={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ln="Slider",[Do,pS,hS]=In(ln),[Ju]=Ee(ln,[hS]),[mS,Br]=Ju(ln),qu=d.forwardRef((e,t)=>{const{name:n,min:r=0,max:o=100,step:a=1,orientation:s="horizontal",disabled:i=!1,minStepsBetweenThumbs:c=0,defaultValue:u=[r],value:p,onValueChange:f=()=>{},onValueCommit:h=()=>{},inverted:v=!1,form:y,...m}=e,b=d.useRef(new Set),g=d.useRef(0),x=s==="horizontal"?gS:vS,[S=[],_]=Re({prop:p,defaultProp:u,onChange:k=>{[...b.current][g.current]?.focus(),f(k)}}),T=d.useRef(S);function C(k){const O=SS(S,k);L(k,O)}function P(k){L(k,g.current)}function I(){const k=T.current[g.current];S[g.current]!==k&&h(S)}function L(k,O,{commit:j}={commit:!1}){const U=PS(a),G=kS(Math.round((k-r)/a)*a+r,U),B=mr(G,[r,o]);_((H=[])=>{const K=xS(H,B,O);if(ES(K,c*a)){g.current=K.indexOf(B);const M=String(K)!==String(H);return M&&j&&h(K),M?K:H}else return H})}return l.jsx(mS,{scope:e.__scopeSlider,name:n,disabled:i,min:r,max:o,valueIndexToChangeRef:g,thumbs:b.current,values:S,orientation:s,form:y,children:l.jsx(Do.Provider,{scope:e.__scopeSlider,children:l.jsx(Do.Slot,{scope:e.__scopeSlider,children:l.jsx(x,{"aria-disabled":i,"data-disabled":i?"":void 0,...m,ref:t,onPointerDown:A(m.onPointerDown,()=>{i||(T.current=S)}),min:r,max:o,inverted:v,onSlideStart:i?void 0:C,onSlideMove:i?void 0:P,onSlideEnd:i?void 0:I,onHomeKeyDown:()=>!i&&L(r,0,{commit:!0}),onEndKeyDown:()=>!i&&L(o,S.length-1,{commit:!0}),onStepKeyDown:({event:k,direction:O})=>{if(!i){const G=Gu.includes(k.key)||k.shiftKey&&Wu.includes(k.key)?10:1,B=g.current,H=S[B],K=a*G*O;L(H+K,B,{commit:!0})}}})})})})});qu.displayName=ln;var[Yu,Xu]=Ju(ln,{startEdge:"left",endEdge:"right",size:"width",direction:1}),gS=d.forwardRef((e,t)=>{const{min:n,max:r,dir:o,inverted:a,onSlideStart:s,onSlideMove:i,onSlideEnd:c,onStepKeyDown:u,...p}=e,[f,h]=d.useState(null),v=X(t,x=>h(x)),y=d.useRef(void 0),m=bt(o),b=m==="ltr",g=b&&!a||!b&&a;function w(x){const S=y.current||f.getBoundingClientRect(),_=[0,S.width],C=Pa(_,g?[n,r]:[r,n]);return y.current=S,C(x-S.left)}return l.jsx(Yu,{scope:e.__scopeSlider,startEdge:g?"left":"right",endEdge:g?"right":"left",direction:g?1:-1,size:"width",children:l.jsx(Qu,{dir:m,"data-orientation":"horizontal",...p,ref:v,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:x=>{const S=w(x.clientX);s?.(S)},onSlideMove:x=>{const S=w(x.clientX);i?.(S)},onSlideEnd:()=>{y.current=void 0,c?.()},onStepKeyDown:x=>{const _=Ku[g?"from-left":"from-right"].includes(x.key);u?.({event:x,direction:_?-1:1})}})})}),vS=d.forwardRef((e,t)=>{const{min:n,max:r,inverted:o,onSlideStart:a,onSlideMove:s,onSlideEnd:i,onStepKeyDown:c,...u}=e,p=d.useRef(null),f=X(t,p),h=d.useRef(void 0),v=!o;function y(m){const b=h.current||p.current.getBoundingClientRect(),g=[0,b.height],x=Pa(g,v?[r,n]:[n,r]);return h.current=b,x(m-b.top)}return l.jsx(Yu,{scope:e.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:l.jsx(Qu,{"data-orientation":"vertical",...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:m=>{const b=y(m.clientY);a?.(b)},onSlideMove:m=>{const b=y(m.clientY);s?.(b)},onSlideEnd:()=>{h.current=void 0,i?.()},onStepKeyDown:m=>{const g=Ku[v?"from-bottom":"from-top"].includes(m.key);c?.({event:m,direction:g?-1:1})}})})}),Qu=d.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:a,onHomeKeyDown:s,onEndKeyDown:i,onStepKeyDown:c,...u}=e,p=Br(ln,n);return l.jsx(Z.span,{...u,ref:t,onKeyDown:A(e.onKeyDown,f=>{f.key==="Home"?(s(f),f.preventDefault()):f.key==="End"?(i(f),f.preventDefault()):Gu.concat(Wu).includes(f.key)&&(c(f),f.preventDefault())}),onPointerDown:A(e.onPointerDown,f=>{const h=f.target;h.setPointerCapture(f.pointerId),f.preventDefault(),p.thumbs.has(h)?h.focus():r(f)}),onPointerMove:A(e.onPointerMove,f=>{f.target.hasPointerCapture(f.pointerId)&&o(f)}),onPointerUp:A(e.onPointerUp,f=>{const h=f.target;h.hasPointerCapture(f.pointerId)&&(h.releasePointerCapture(f.pointerId),a(f))})})}),ed="SliderTrack",td=d.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=Br(ed,n);return l.jsx(Z.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:t})});td.displayName=ed;var Mo="SliderRange",nd=d.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=Br(Mo,n),a=Xu(Mo,n),s=d.useRef(null),i=X(t,s),c=o.values.length,u=o.values.map(h=>ad(h,o.min,o.max)),p=c>1?Math.min(...u):0,f=100-Math.max(...u);return l.jsx(Z.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...r,ref:i,style:{...e.style,[a.startEdge]:p+"%",[a.endEdge]:f+"%"}})});nd.displayName=Mo;var zo="SliderThumb",rd=d.forwardRef((e,t)=>{const n=pS(e.__scopeSlider),[r,o]=d.useState(null),a=X(t,i=>o(i)),s=d.useMemo(()=>r?n().findIndex(i=>i.ref.current===r):-1,[n,r]);return l.jsx(bS,{...e,ref:a,index:s})}),bS=d.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:o,...a}=e,s=Br(zo,n),i=Xu(zo,n),[c,u]=d.useState(null),p=X(t,w=>u(w)),f=c?s.form||!!c.closest("form"):!0,h=$n(c),v=s.values[r],y=v===void 0?0:ad(v,s.min,s.max),m=wS(r,s.values.length),b=h?.[i.size],g=b?_S(b,y,i.direction):0;return d.useEffect(()=>{if(c)return s.thumbs.add(c),()=>{s.thumbs.delete(c)}},[c,s.thumbs]),l.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[i.startEdge]:`calc(${y}% + ${g}px)`},children:[l.jsx(Do.ItemSlot,{scope:e.__scopeSlider,children:l.jsx(Z.span,{role:"slider","aria-label":e["aria-label"]||m,"aria-valuemin":s.min,"aria-valuenow":v,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...a,ref:p,style:v===void 0?{display:"none"}:e.style,onFocus:A(e.onFocus,()=>{s.valueIndexToChangeRef.current=r})})}),f&&l.jsx(od,{name:o??(s.name?s.name+(s.values.length>1?"[]":""):void 0),form:s.form,value:v},r)]})});rd.displayName=zo;var yS="RadioBubbleInput",od=d.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const o=d.useRef(null),a=X(o,r),s=An(t);return d.useEffect(()=>{const i=o.current;if(!i)return;const c=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==t&&p){const f=new Event("input",{bubbles:!0});p.call(i,t),i.dispatchEvent(f)}},[s,t]),l.jsx(Z.input,{style:{display:"none"},...n,ref:a,defaultValue:t})});od.displayName=yS;function xS(e=[],t,n){const r=[...e];return r[n]=t,r.sort((o,a)=>o-a)}function ad(e,t,n){const a=100/(n-t)*(e-t);return mr(a,[0,100])}function wS(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function SS(e,t){if(e.length===1)return 0;const n=e.map(o=>Math.abs(o-t)),r=Math.min(...n);return n.indexOf(r)}function _S(e,t,n){const r=e/2,a=Pa([0,50],[0,r]);return(r-a(t)*n)*n}function CS(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function ES(e,t){if(t>0){const n=CS(e);return Math.min(...n)>=t}return!0}function Pa(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function PS(e){return(String(e).split(".")[1]||"").length}function kS(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var TS=qu,NS=td,RS=nd,IS=rd,Ur="Switch",[jS]=Ee(Ur),[OS,AS]=jS(Ur),sd=d.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:s,disabled:i,value:c="on",onCheckedChange:u,form:p,...f}=e,[h,v]=d.useState(null),y=X(t,x=>v(x)),m=d.useRef(!1),b=h?p||!!h.closest("form"):!0,[g,w]=Re({prop:o,defaultProp:a??!1,onChange:u,caller:Ur});return l.jsxs(OS,{scope:n,checked:g,disabled:i,children:[l.jsx(Z.button,{type:"button",role:"switch","aria-checked":g,"aria-required":s,"data-state":ud(g),"data-disabled":i?"":void 0,disabled:i,value:c,...f,ref:y,onClick:A(e.onClick,x=>{w(S=>!S),b&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),b&&l.jsx(ld,{control:h,bubbles:!m.current,name:r,value:c,checked:g,required:s,disabled:i,form:p,style:{transform:"translateX(-100%)"}})]})});sd.displayName=Ur;var id="SwitchThumb",cd=d.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,o=AS(id,n);return l.jsx(Z.span,{"data-state":ud(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});cd.displayName=id;var $S="SwitchBubbleInput",ld=d.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{const s=d.useRef(null),i=X(s,a),c=An(n),u=$n(t);return d.useEffect(()=>{const p=s.current;if(!p)return;const f=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(f,"checked").set;if(c!==n&&v){const y=new Event("click",{bubbles:r});v.call(p,n),p.dispatchEvent(y)}},[c,n,r]),l.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...o.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});ld.displayName=$S;function ud(e){return e?"checked":"unchecked"}var DS=sd,MS=cd,Hr="Tabs",[zS]=Ee(Hr,[xt]),dd=xt(),[LS,ka]=zS(Hr),fd=d.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:s="horizontal",dir:i,activationMode:c="automatic",...u}=e,p=bt(i),[f,h]=Re({prop:r,onChange:o,defaultProp:a??"",caller:Hr});return l.jsx(LS,{scope:n,baseId:Ve(),value:f,onValueChange:h,orientation:s,dir:p,activationMode:c,children:l.jsx(Z.div,{dir:p,"data-orientation":s,...u,ref:t})})});fd.displayName=Hr;var pd="TabsList",hd=d.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,a=ka(pd,n),s=dd(n);return l.jsx(Or,{asChild:!0,...s,orientation:a.orientation,dir:a.dir,loop:r,children:l.jsx(Z.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});hd.displayName=pd;var md="TabsTrigger",gd=d.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,s=ka(md,n),i=dd(n),c=bd(s.baseId,r),u=yd(s.baseId,r),p=r===s.value;return l.jsx(Ar,{asChild:!0,...i,focusable:!o,active:p,children:l.jsx(Z.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":u,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:c,...a,ref:t,onMouseDown:A(e.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?s.onValueChange(r):f.preventDefault()}),onKeyDown:A(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&s.onValueChange(r)}),onFocus:A(e.onFocus,()=>{const f=s.activationMode!=="manual";!p&&!o&&f&&s.onValueChange(r)})})})});gd.displayName=md;var vd="TabsContent",FS=d.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:a,...s}=e,i=ka(vd,n),c=bd(i.baseId,r),u=yd(i.baseId,r),p=r===i.value,f=d.useRef(p);return d.useEffect(()=>{const h=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(h)},[]),l.jsx(ze,{present:o||p,children:({present:h})=>l.jsx(Z.div,{"data-state":p?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":c,hidden:!h,id:u,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:h&&a})})});FS.displayName=vd;function bd(e,t){return`${e}-trigger-${t}`}function yd(e,t){return`${e}-content-${t}`}var ZS=fd,VS=hd,BS=gd,xd="Toggle",Ta=d.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r,onPressedChange:o,...a}=e,[s,i]=Re({prop:n,onChange:o,defaultProp:r??!1,caller:xd});return l.jsx(Z.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:t,onClick:A(e.onClick,()=>{e.disabled||i(!s)})})});Ta.displayName=xd;var US=Ta,Ct="ToggleGroup",[wd]=Ee(Ct,[xt]),Sd=xt(),Na=R.forwardRef((e,t)=>{const{type:n,...r}=e;if(n==="single"){const o=r;return l.jsx(HS,{...o,ref:t})}if(n==="multiple"){const o=r;return l.jsx(GS,{...o,ref:t})}throw new Error(`Missing prop \`type\` expected on \`${Ct}\``)});Na.displayName=Ct;var[_d,Cd]=wd(Ct),HS=R.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s,i]=Re({prop:n,defaultProp:r??"",onChange:o,caller:Ct});return l.jsx(_d,{scope:e.__scopeToggleGroup,type:"single",value:R.useMemo(()=>s?[s]:[],[s]),onItemActivate:i,onItemDeactivate:R.useCallback(()=>i(""),[i]),children:l.jsx(Ed,{...a,ref:t})})}),GS=R.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...a}=e,[s,i]=Re({prop:n,defaultProp:r??[],onChange:o,caller:Ct}),c=R.useCallback(p=>i((f=[])=>[...f,p]),[i]),u=R.useCallback(p=>i((f=[])=>f.filter(h=>h!==p)),[i]);return l.jsx(_d,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:c,onItemDeactivate:u,children:l.jsx(Ed,{...a,ref:t})})});Na.displayName=Ct;var[WS,KS]=wd(Ct),Ed=R.forwardRef((e,t)=>{const{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:o=!0,orientation:a,dir:s,loop:i=!0,...c}=e,u=Sd(n),p=bt(s),f={role:"group",dir:p,...c};return l.jsx(WS,{scope:n,rovingFocus:o,disabled:r,children:o?l.jsx(Or,{asChild:!0,...u,orientation:a,dir:p,loop:i,children:l.jsx(Z.div,{...f,ref:t})}):l.jsx(Z.div,{...f,ref:t})})}),br="ToggleGroupItem",Pd=R.forwardRef((e,t)=>{const n=Cd(br,e.__scopeToggleGroup),r=KS(br,e.__scopeToggleGroup),o=Sd(e.__scopeToggleGroup),a=n.value.includes(e.value),s=r.disabled||e.disabled,i={...e,pressed:a,disabled:s},c=R.useRef(null);return r.rovingFocus?l.jsx(Ar,{asChild:!0,...o,focusable:!s,active:a,ref:c,children:l.jsx(Ds,{...i,ref:t})}):l.jsx(Ds,{...i,ref:t})});Pd.displayName=br;var Ds=R.forwardRef((e,t)=>{const{__scopeToggleGroup:n,value:r,...o}=e,a=Cd(br,n),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},i=a.type==="single"?s:void 0;return l.jsx(Ta,{...i,...o,ref:t,onPressedChange:c=>{c?a.onItemActivate(r):a.onItemDeactivate(r)}})}),JS=Na,qS=Pd,[Gr]=Ee("Tooltip",[yt]),Wr=yt(),kd="TooltipProvider",YS=700,Lo="tooltip.open",[XS,Ra]=Gr(kd),Td=e=>{const{__scopeTooltip:t,delayDuration:n=YS,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:a}=e,s=d.useRef(!0),i=d.useRef(!1),c=d.useRef(0);return d.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),l.jsx(XS,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:d.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:d.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:i,onPointerInTransitChange:d.useCallback(u=>{i.current=u},[]),disableHoverableContent:o,children:a})};Td.displayName=kd;var Pn="Tooltip",[QS,Zn]=Gr(Pn),Nd=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:a,disableHoverableContent:s,delayDuration:i}=e,c=Ra(Pn,e.__scopeTooltip),u=Wr(t),[p,f]=d.useState(null),h=Ve(),v=d.useRef(0),y=s??c.disableHoverableContent,m=i??c.delayDuration,b=d.useRef(!1),[g,w]=Re({prop:r,defaultProp:o??!1,onChange:C=>{C?(c.onOpen(),document.dispatchEvent(new CustomEvent(Lo))):c.onClose(),a?.(C)},caller:Pn}),x=d.useMemo(()=>g?b.current?"delayed-open":"instant-open":"closed",[g]),S=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,b.current=!1,w(!0)},[w]),_=d.useCallback(()=>{window.clearTimeout(v.current),v.current=0,w(!1)},[w]),T=d.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{b.current=!0,w(!0),v.current=0},m)},[m,w]);return d.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),l.jsx(Rr,{...u,children:l.jsx(QS,{scope:t,contentId:h,open:g,stateAttribute:x,trigger:p,onTriggerChange:f,onTriggerEnter:d.useCallback(()=>{c.isOpenDelayedRef.current?T():S()},[c.isOpenDelayedRef,T,S]),onTriggerLeave:d.useCallback(()=>{y?_():(window.clearTimeout(v.current),v.current=0)},[_,y]),onOpen:S,onClose:_,disableHoverableContent:y,children:n})})};Nd.displayName=Pn;var Fo="TooltipTrigger",Rd=d.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Zn(Fo,n),a=Ra(Fo,n),s=Wr(n),i=d.useRef(null),c=X(t,i,o.onTriggerChange),u=d.useRef(!1),p=d.useRef(!1),f=d.useCallback(()=>u.current=!1,[]);return d.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),l.jsx(Dn,{asChild:!0,...s,children:l.jsx(Z.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:c,onPointerMove:A(e.onPointerMove,h=>{h.pointerType!=="touch"&&!p.current&&!a.isPointerInTransitRef.current&&(o.onTriggerEnter(),p.current=!0)}),onPointerLeave:A(e.onPointerLeave,()=>{o.onTriggerLeave(),p.current=!1}),onPointerDown:A(e.onPointerDown,()=>{o.open&&o.onClose(),u.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:A(e.onFocus,()=>{u.current||o.onOpen()}),onBlur:A(e.onBlur,o.onClose),onClick:A(e.onClick,o.onClose)})})});Rd.displayName=Fo;var Ia="TooltipPortal",[e_,t_]=Gr(Ia,{forceMount:void 0}),Id=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,a=Zn(Ia,t);return l.jsx(e_,{scope:t,forceMount:n,children:l.jsx(ze,{present:n||a.open,children:l.jsx(sn,{asChild:!0,container:o,children:r})})})};Id.displayName=Ia;var rn="TooltipContent",jd=d.forwardRef((e,t)=>{const n=t_(rn,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...a}=e,s=Zn(rn,e.__scopeTooltip);return l.jsx(ze,{present:r||s.open,children:s.disableHoverableContent?l.jsx(Od,{side:o,...a,ref:t}):l.jsx(n_,{side:o,...a,ref:t})})}),n_=d.forwardRef((e,t)=>{const n=Zn(rn,e.__scopeTooltip),r=Ra(rn,e.__scopeTooltip),o=d.useRef(null),a=X(t,o),[s,i]=d.useState(null),{trigger:c,onClose:u}=n,p=o.current,{onPointerInTransitChange:f}=r,h=d.useCallback(()=>{i(null),f(!1)},[f]),v=d.useCallback((y,m)=>{const b=y.currentTarget,g={x:y.clientX,y:y.clientY},w=s_(g,b.getBoundingClientRect()),x=i_(g,w),S=c_(m.getBoundingClientRect()),_=u_([...x,...S]);i(_),f(!0)},[f]);return d.useEffect(()=>()=>h(),[h]),d.useEffect(()=>{if(c&&p){const y=b=>v(b,p),m=b=>v(b,c);return c.addEventListener("pointerleave",y),p.addEventListener("pointerleave",m),()=>{c.removeEventListener("pointerleave",y),p.removeEventListener("pointerleave",m)}}},[c,p,v,h]),d.useEffect(()=>{if(s){const y=m=>{const b=m.target,g={x:m.clientX,y:m.clientY},w=c?.contains(b)||p?.contains(b),x=!l_(g,s);w?h():x&&(h(),u())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,p,s,u,h]),l.jsx(Od,{...e,ref:a})}),[r_,o_]=Gr(Pn,{isInside:!1}),a_=vf("TooltipContent"),Od=d.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:s,...i}=e,c=Zn(rn,n),u=Wr(n),{onClose:p}=c;return d.useEffect(()=>(document.addEventListener(Lo,p),()=>document.removeEventListener(Lo,p)),[p]),d.useEffect(()=>{if(c.trigger){const f=h=>{h.target?.contains(c.trigger)&&p()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[c.trigger,p]),l.jsx(an,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:f=>f.preventDefault(),onDismiss:p,children:l.jsxs(Ir,{"data-state":c.stateAttribute,...u,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(a_,{children:r}),l.jsx(r_,{scope:n,isInside:!0,children:l.jsx(Cb,{id:c.contentId,role:"tooltip",children:o||r})})]})})});jd.displayName=rn;var Ad="TooltipArrow",$d=d.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Wr(n);return o_(Ad,n).isInside?null:l.jsx(jr,{...o,...r,ref:t})});$d.displayName=Ad;function s_(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function i_(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function c_(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function l_(e,t){const{x:n,y:r}=e;let o=!1;for(let a=0,s=t.length-1;a<t.length;s=a++){const i=t[a],c=t[s],u=i.x,p=i.y,f=c.x,h=c.y;p>r!=h>r&&n<(f-u)*(r-p)/(h-p)+u&&(o=!o)}return o}function u_(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),d_(t)}function d_(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const a=t[t.length-1],s=t[t.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const a=n[n.length-1],s=n[n.length-2];if((a.x-s.x)*(o.y-s.y)>=(a.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var f_=Td,p_=Nd,h_=Rd,m_=Id,g_=jd,v_=$d;const Dd=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const b_=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const y_=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Ms=e=>{const t=y_(e);return t.charAt(0).toUpperCase()+t.slice(1)};var x_={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const w_=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const S_=d.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:a,iconNode:s,...i},c)=>d.createElement("svg",{ref:c,...x_,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Dd("lucide",o),...!a&&!w_(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,p])=>d.createElement(u,p)),...Array.isArray(a)?a:[a]]));const rt=(e,t)=>{const n=d.forwardRef(({className:r,...o},a)=>d.createElement(S_,{ref:a,iconNode:t,className:Dd(`lucide-${b_(Ms(e))}`,`lucide-${e}`,r),...o}));return n.displayName=Ms(e),n};const __=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],C_=rt("arrow-left",__);const E_=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],P_=rt("arrow-right",E_);const k_=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Md=rt("check",k_);const T_=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ja=rt("chevron-down",T_);const N_=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],R_=rt("chevron-left",N_);const I_=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],j_=rt("chevron-right",I_);const O_=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],A_=rt("chevron-up",O_);const $_=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],D_=rt("circle",$_);const M_=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],z_=rt("ellipsis",M_);const L_=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],F_=rt("x",L_);function Z_(e){return Object.prototype.toString.call(e)==="[object Object]"}function zs(e){return Z_(e)||Array.isArray(e)}function V_(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Oa(e,t){const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;const o=JSON.stringify(Object.keys(e.breakpoints||{})),a=JSON.stringify(Object.keys(t.breakpoints||{}));return o!==a?!1:n.every(s=>{const i=e[s],c=t[s];return typeof i=="function"?`${i}`==`${c}`:!zs(i)||!zs(c)?i===c:Oa(i,c)})}function Ls(e){return e.concat().sort((t,n)=>t.name>n.name?1:-1).map(t=>t.options)}function B_(e,t){if(e.length!==t.length)return!1;const n=Ls(e),r=Ls(t);return n.every((o,a)=>{const s=r[a];return Oa(o,s)})}function Aa(e){return typeof e=="number"}function Zo(e){return typeof e=="string"}function Kr(e){return typeof e=="boolean"}function Fs(e){return Object.prototype.toString.call(e)==="[object Object]"}function ve(e){return Math.abs(e)}function $a(e){return Math.sign(e)}function wn(e,t){return ve(e-t)}function U_(e,t){if(e===0||t===0||ve(e)<=ve(t))return 0;const n=wn(ve(e),ve(t));return ve(n/e)}function H_(e){return Math.round(e*100)/100}function kn(e){return Tn(e).map(Number)}function Ke(e){return e[Vn(e)]}function Vn(e){return Math.max(0,e.length-1)}function Da(e,t){return t===Vn(e)}function Zs(e,t=0){return Array.from(Array(e),(n,r)=>t+r)}function Tn(e){return Object.keys(e)}function zd(e,t){return[e,t].reduce((n,r)=>(Tn(r).forEach(o=>{const a=n[o],s=r[o],i=Fs(a)&&Fs(s);n[o]=i?zd(a,s):s}),n),{})}function Vo(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function G_(e,t){const n={start:r,center:o,end:a};function r(){return 0}function o(c){return a(c)/2}function a(c){return t-c}function s(c,u){return Zo(e)?n[e](c):e(t,c,u)}return{measure:s}}function Nn(){let e=[];function t(o,a,s,i={passive:!0}){let c;if("addEventListener"in o)o.addEventListener(a,s,i),c=()=>o.removeEventListener(a,s,i);else{const u=o;u.addListener(s),c=()=>u.removeListener(s)}return e.push(c),r}function n(){e=e.filter(o=>o())}const r={add:t,clear:n};return r}function W_(e,t,n,r){const o=Nn(),a=1e3/60;let s=null,i=0,c=0;function u(){o.add(e,"visibilitychange",()=>{e.hidden&&y()})}function p(){v(),o.clear()}function f(b){if(!c)return;s||(s=b,n(),n());const g=b-s;for(s=b,i+=g;i>=a;)n(),i-=a;const w=i/a;r(w),c&&(c=t.requestAnimationFrame(f))}function h(){c||(c=t.requestAnimationFrame(f))}function v(){t.cancelAnimationFrame(c),s=null,i=0,c=0}function y(){s=null,i=0}return{init:u,destroy:p,start:h,stop:v,update:n,render:r}}function K_(e,t){const n=t==="rtl",r=e==="y",o=r?"y":"x",a=r?"x":"y",s=!r&&n?-1:1,i=p(),c=f();function u(y){const{height:m,width:b}=y;return r?m:b}function p(){return r?"top":n?"right":"left"}function f(){return r?"bottom":n?"left":"right"}function h(y){return y*s}return{scroll:o,cross:a,startEdge:i,endEdge:c,measureSize:u,direction:h}}function At(e=0,t=0){const n=ve(e-t);function r(u){return u<e}function o(u){return u>t}function a(u){return r(u)||o(u)}function s(u){return a(u)?r(u)?e:t:u}function i(u){return n?u-n*Math.ceil((u-t)/n):u}return{length:n,max:t,min:e,constrain:s,reachedAny:a,reachedMax:o,reachedMin:r,removeOffset:i}}function Ld(e,t,n){const{constrain:r}=At(0,e),o=e+1;let a=s(t);function s(h){return n?ve((o+h)%o):r(h)}function i(){return a}function c(h){return a=s(h),f}function u(h){return p().set(i()+h)}function p(){return Ld(e,i(),n)}const f={get:i,set:c,add:u,clone:p};return f}function J_(e,t,n,r,o,a,s,i,c,u,p,f,h,v,y,m,b,g,w){const{cross:x,direction:S}=e,_=["INPUT","SELECT","TEXTAREA"],T={passive:!1},C=Nn(),P=Nn(),I=At(50,225).constrain(v.measure(20)),L={mouse:300,touch:400},k={mouse:500,touch:600},O=y?43:25;let j=!1,U=0,G=0,B=!1,H=!1,K=!1,M=!1;function ce(D){if(!w)return;function ee(ye){(Kr(w)||w(D,ye))&&he(ye)}const F=t;C.add(F,"dragstart",ye=>ye.preventDefault(),T).add(F,"touchmove",()=>{},T).add(F,"touchend",()=>{}).add(F,"touchstart",ee).add(F,"mousedown",ee).add(F,"touchcancel",Y).add(F,"contextmenu",Y).add(F,"click",ae,!0)}function oe(){C.clear(),P.clear()}function xe(){const D=M?n:t;P.add(D,"touchmove",$,T).add(D,"touchend",Y).add(D,"mousemove",$,T).add(D,"mouseup",Y)}function pe(D){const ee=D.nodeName||"";return _.includes(ee)}function ie(){return(y?k:L)[M?"mouse":"touch"]}function _e(D,ee){const F=f.add($a(D)*-1),ye=p.byDistance(D,!y).distance;return y||ve(D)<I?ye:b&&ee?ye*.5:p.byIndex(F.get(),0).distance}function he(D){const ee=Vo(D,r);M=ee,K=y&&ee&&!D.buttons&&j,j=wn(o.get(),s.get())>=2,!(ee&&D.button!==0)&&(pe(D.target)||(B=!0,a.pointerDown(D),u.useFriction(0).useDuration(0),o.set(s),xe(),U=a.readPoint(D),G=a.readPoint(D,x),h.emit("pointerDown")))}function $(D){if(!Vo(D,r)&&D.touches.length>=2)return Y(D);const F=a.readPoint(D),ye=a.readPoint(D,x),Te=wn(F,U),Ne=wn(ye,G);if(!H&&!M&&(!D.cancelable||(H=Te>Ne,!H)))return Y(D);const ot=a.pointerMove(D);Te>m&&(K=!0),u.useFriction(.3).useDuration(.75),i.start(),o.add(S(ot)),D.preventDefault()}function Y(D){const F=p.byDistance(0,!1).index!==f.get(),ye=a.pointerUp(D)*ie(),Te=_e(S(ye),F),Ne=U_(ye,Te),ot=O-10*Ne,Xe=g+Ne/50;H=!1,B=!1,P.clear(),u.useDuration(ot).useFriction(Xe),c.distance(Te,!y),M=!1,h.emit("pointerUp")}function ae(D){K&&(D.stopPropagation(),D.preventDefault(),K=!1)}function Q(){return B}return{init:ce,destroy:oe,pointerDown:Q}}function q_(e,t){let r,o;function a(f){return f.timeStamp}function s(f,h){const y=`client${(h||e.scroll)==="x"?"X":"Y"}`;return(Vo(f,t)?f:f.touches[0])[y]}function i(f){return r=f,o=f,s(f)}function c(f){const h=s(f)-s(o),v=a(f)-a(r)>170;return o=f,v&&(r=f),h}function u(f){if(!r||!o)return 0;const h=s(o)-s(r),v=a(f)-a(r),y=a(f)-a(o)>170,m=h/v;return v&&!y&&ve(m)>.1?m:0}return{pointerDown:i,pointerMove:c,pointerUp:u,readPoint:s}}function Y_(){function e(n){const{offsetTop:r,offsetLeft:o,offsetWidth:a,offsetHeight:s}=n;return{top:r,right:o+a,bottom:r+s,left:o,width:a,height:s}}return{measure:e}}function X_(e){function t(r){return e*(r/100)}return{measure:t}}function Q_(e,t,n,r,o,a,s){const i=[e].concat(r);let c,u,p=[],f=!1;function h(b){return o.measureSize(s.measure(b))}function v(b){if(!a)return;u=h(e),p=r.map(h);function g(w){for(const x of w){if(f)return;const S=x.target===e,_=r.indexOf(x.target),T=S?u:p[_],C=h(S?e:r[_]);if(ve(C-T)>=.5){b.reInit(),t.emit("resize");break}}}c=new ResizeObserver(w=>{(Kr(a)||a(b,w))&&g(w)}),n.requestAnimationFrame(()=>{i.forEach(w=>c.observe(w))})}function y(){f=!0,c&&c.disconnect()}return{init:v,destroy:y}}function eC(e,t,n,r,o,a){let s=0,i=0,c=o,u=a,p=e.get(),f=0;function h(){const T=r.get()-e.get(),C=!c;let P=0;return C?(s=0,n.set(r),e.set(r),P=T):(n.set(e),s+=T/c,s*=u,p+=s,e.add(s),P=p-f),i=$a(P),f=p,_}function v(){const T=r.get()-t.get();return ve(T)<.001}function y(){return c}function m(){return i}function b(){return s}function g(){return x(o)}function w(){return S(a)}function x(T){return c=T,_}function S(T){return u=T,_}const _={direction:m,duration:y,velocity:b,seek:h,settled:v,useBaseFriction:w,useBaseDuration:g,useFriction:S,useDuration:x};return _}function tC(e,t,n,r,o){const a=o.measure(10),s=o.measure(50),i=At(.1,.99);let c=!1;function u(){return!(c||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function p(v){if(!u())return;const y=e.reachedMin(t.get())?"min":"max",m=ve(e[y]-t.get()),b=n.get()-t.get(),g=i.constrain(m/s);n.subtract(b*g),!v&&ve(b)<a&&(n.set(e.constrain(n.get())),r.useDuration(25).useBaseFriction())}function f(v){c=!v}return{shouldConstrain:u,constrain:p,toggleActive:f}}function nC(e,t,n,r,o){const a=At(-t+e,0),s=f(),i=p(),c=h();function u(y,m){return wn(y,m)<=1}function p(){const y=s[0],m=Ke(s),b=s.lastIndexOf(y),g=s.indexOf(m)+1;return At(b,g)}function f(){return n.map((y,m)=>{const{min:b,max:g}=a,w=a.constrain(y),x=!m,S=Da(n,m);return x?g:S||u(b,w)?b:u(g,w)?g:w}).map(y=>parseFloat(y.toFixed(3)))}function h(){if(t<=e+o)return[a.max];if(r==="keepSnaps")return s;const{min:y,max:m}=i;return s.slice(y,m)}return{snapsContained:c,scrollContainLimit:i}}function rC(e,t,n){const r=t[0],o=n?r-e:Ke(t);return{limit:At(o,r)}}function oC(e,t,n,r){const a=t.min+.1,s=t.max+.1,{reachedMin:i,reachedMax:c}=At(a,s);function u(h){return h===1?c(n.get()):h===-1?i(n.get()):!1}function p(h){if(!u(h))return;const v=e*(h*-1);r.forEach(y=>y.add(v))}return{loop:p}}function aC(e){const{max:t,length:n}=e;function r(a){const s=a-t;return n?s/-n:0}return{get:r}}function sC(e,t,n,r,o){const{startEdge:a,endEdge:s}=e,{groupSlides:i}=o,c=f().map(t.measure),u=h(),p=v();function f(){return i(r).map(m=>Ke(m)[s]-m[0][a]).map(ve)}function h(){return r.map(m=>n[a]-m[a]).map(m=>-ve(m))}function v(){return i(u).map(m=>m[0]).map((m,b)=>m+c[b])}return{snaps:u,snapsAligned:p}}function iC(e,t,n,r,o,a){const{groupSlides:s}=o,{min:i,max:c}=r,u=p();function p(){const h=s(a),v=!e||t==="keepSnaps";return n.length===1?[a]:v?h:h.slice(i,c).map((y,m,b)=>{const g=!m,w=Da(b,m);if(g){const x=Ke(b[0])+1;return Zs(x)}if(w){const x=Vn(a)-Ke(b)[0]+1;return Zs(x,Ke(b)[0])}return y})}return{slideRegistry:u}}function cC(e,t,n,r,o){const{reachedAny:a,removeOffset:s,constrain:i}=r;function c(y){return y.concat().sort((m,b)=>ve(m)-ve(b))[0]}function u(y){const m=e?s(y):i(y),b=t.map((w,x)=>({diff:p(w-m,0),index:x})).sort((w,x)=>ve(w.diff)-ve(x.diff)),{index:g}=b[0];return{index:g,distance:m}}function p(y,m){const b=[y,y+n,y-n];if(!e)return y;if(!m)return c(b);const g=b.filter(w=>$a(w)===m);return g.length?c(g):Ke(b)-n}function f(y,m){const b=t[y]-o.get(),g=p(b,m);return{index:y,distance:g}}function h(y,m){const b=o.get()+y,{index:g,distance:w}=u(b),x=!e&&a(b);if(!m||x)return{index:g,distance:y};const S=t[g]-w,_=y+p(S,0);return{index:g,distance:_}}return{byDistance:h,byIndex:f,shortcut:p}}function lC(e,t,n,r,o,a,s){function i(f){const h=f.distance,v=f.index!==t.get();a.add(h),h&&(r.duration()?e.start():(e.update(),e.render(1),e.update())),v&&(n.set(t.get()),t.set(f.index),s.emit("select"))}function c(f,h){const v=o.byDistance(f,h);i(v)}function u(f,h){const v=t.clone().set(f),y=o.byIndex(v.get(),h);i(y)}return{distance:c,index:u}}function uC(e,t,n,r,o,a,s,i){const c={passive:!0,capture:!0};let u=0;function p(v){if(!i)return;function y(m){if(new Date().getTime()-u>10)return;s.emit("slideFocusStart"),e.scrollLeft=0;const w=n.findIndex(x=>x.includes(m));Aa(w)&&(o.useDuration(0),r.index(w,0),s.emit("slideFocus"))}a.add(document,"keydown",f,!1),t.forEach((m,b)=>{a.add(m,"focus",g=>{(Kr(i)||i(v,g))&&y(b)},c)})}function f(v){v.code==="Tab"&&(u=new Date().getTime())}return{init:p}}function xn(e){let t=e;function n(){return t}function r(c){t=s(c)}function o(c){t+=s(c)}function a(c){t-=s(c)}function s(c){return Aa(c)?c:c.get()}return{get:n,set:r,add:o,subtract:a}}function Fd(e,t){const n=e.scroll==="x"?s:i,r=t.style;let o=null,a=!1;function s(h){return`translate3d(${h}px,0px,0px)`}function i(h){return`translate3d(0px,${h}px,0px)`}function c(h){if(a)return;const v=H_(e.direction(h));v!==o&&(r.transform=n(v),o=v)}function u(h){a=!h}function p(){a||(r.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:p,to:c,toggleActive:u}}function dC(e,t,n,r,o,a,s,i,c){const p=kn(o),f=kn(o).reverse(),h=g().concat(w());function v(C,P){return C.reduce((I,L)=>I-o[L],P)}function y(C,P){return C.reduce((I,L)=>v(I,P)>0?I.concat([L]):I,[])}function m(C){return a.map((P,I)=>({start:P-r[I]+.5+C,end:P+t-.5+C}))}function b(C,P,I){const L=m(P);return C.map(k=>{const O=I?0:-n,j=I?n:0,U=I?"end":"start",G=L[k][U];return{index:k,loopPoint:G,slideLocation:xn(-1),translate:Fd(e,c[k]),target:()=>i.get()>G?O:j}})}function g(){const C=s[0],P=y(f,C);return b(P,n,!1)}function w(){const C=t-s[0]-1,P=y(p,C);return b(P,-n,!0)}function x(){return h.every(({index:C})=>{const P=p.filter(I=>I!==C);return v(P,t)<=.1})}function S(){h.forEach(C=>{const{target:P,translate:I,slideLocation:L}=C,k=P();k!==L.get()&&(I.to(k),L.set(k))})}function _(){h.forEach(C=>C.translate.clear())}return{canLoop:x,clear:_,loop:S,loopPoints:h}}function fC(e,t,n){let r,o=!1;function a(c){if(!n)return;function u(p){for(const f of p)if(f.type==="childList"){c.reInit(),t.emit("slidesChanged");break}}r=new MutationObserver(p=>{o||(Kr(n)||n(c,p))&&u(p)}),r.observe(e,{childList:!0})}function s(){r&&r.disconnect(),o=!0}return{init:a,destroy:s}}function pC(e,t,n,r){const o={};let a=null,s=null,i,c=!1;function u(){i=new IntersectionObserver(y=>{c||(y.forEach(m=>{const b=t.indexOf(m.target);o[b]=m}),a=null,s=null,n.emit("slidesInView"))},{root:e.parentElement,threshold:r}),t.forEach(y=>i.observe(y))}function p(){i&&i.disconnect(),c=!0}function f(y){return Tn(o).reduce((m,b)=>{const g=parseInt(b),{isIntersecting:w}=o[g];return(y&&w||!y&&!w)&&m.push(g),m},[])}function h(y=!0){if(y&&a)return a;if(!y&&s)return s;const m=f(y);return y&&(a=m),y||(s=m),m}return{init:u,destroy:p,get:h}}function hC(e,t,n,r,o,a){const{measureSize:s,startEdge:i,endEdge:c}=e,u=n[0]&&o,p=y(),f=m(),h=n.map(s),v=b();function y(){if(!u)return 0;const w=n[0];return ve(t[i]-w[i])}function m(){if(!u)return 0;const w=a.getComputedStyle(Ke(r));return parseFloat(w.getPropertyValue(`margin-${c}`))}function b(){return n.map((w,x,S)=>{const _=!x,T=Da(S,x);return _?h[x]+p:T?h[x]+f:S[x+1][i]-w[i]}).map(ve)}return{slideSizes:h,slideSizesWithGaps:v,startGap:p,endGap:f}}function mC(e,t,n,r,o,a,s,i,c){const{startEdge:u,endEdge:p,direction:f}=e,h=Aa(n);function v(g,w){return kn(g).filter(x=>x%w===0).map(x=>g.slice(x,x+w))}function y(g){return g.length?kn(g).reduce((w,x,S)=>{const _=Ke(w)||0,T=_===0,C=x===Vn(g),P=o[u]-a[_][u],I=o[u]-a[x][p],L=!r&&T?f(s):0,k=!r&&C?f(i):0,O=ve(I-k-(P+L));return S&&O>t+c&&w.push(x),C&&w.push(g.length),w},[]).map((w,x,S)=>{const _=Math.max(S[x-1]||0);return g.slice(_,w)}):[]}function m(g){return h?v(g,n):y(g)}return{groupSlides:m}}function gC(e,t,n,r,o,a,s){const{align:i,axis:c,direction:u,startIndex:p,loop:f,duration:h,dragFree:v,dragThreshold:y,inViewThreshold:m,slidesToScroll:b,skipSnaps:g,containScroll:w,watchResize:x,watchSlides:S,watchDrag:_,watchFocus:T}=a,C=2,P=Y_(),I=P.measure(t),L=n.map(P.measure),k=K_(c,u),O=k.measureSize(I),j=X_(O),U=G_(i,O),G=!f&&!!w,B=f||!!w,{slideSizes:H,slideSizesWithGaps:K,startGap:M,endGap:ce}=hC(k,I,L,n,B,o),oe=mC(k,O,b,f,I,L,M,ce,C),{snaps:xe,snapsAligned:pe}=sC(k,U,I,L,oe),ie=-Ke(xe)+Ke(K),{snapsContained:_e,scrollContainLimit:he}=nC(O,ie,pe,w,C),$=G?_e:pe,{limit:Y}=rC(ie,$,f),ae=Ld(Vn($),p,f),Q=ae.clone(),J=kn(n),D=({dragHandler:st,scrollBody:hn,scrollBounds:it,options:{loop:Et}})=>{Et||it.constrain(st.pointerDown()),hn.seek()},ee=({scrollBody:st,translate:hn,location:it,offsetLocation:Et,previousLocation:Yr,scrollLooper:Xr,slideLooper:Qr,dragHandler:eo,animation:to,eventHandler:q,scrollBounds:re,options:{loop:se}},te)=>{const de=st.settled(),Ie=!re.shouldConstrain(),Pe=se?de:de&&Ie,Ge=Pe&&!eo.pointerDown();Ge&&to.stop();const Fe=it.get()*te+Yr.get()*(1-te);Et.set(Fe),se&&(Xr.loop(st.direction()),Qr.loop()),hn.to(Et.get()),Ge&&q.emit("settle"),Pe||q.emit("scroll")},F=W_(r,o,()=>D(pn),st=>ee(pn,st)),ye=.68,Te=$[ae.get()],Ne=xn(Te),ot=xn(Te),Xe=xn(Te),Me=xn(Te),lt=eC(Ne,Xe,ot,Me,h,ye),dn=cC(f,$,ie,Y,Me),at=lC(F,ae,Q,lt,dn,Me,s),Un=aC(Y),fn=Nn(),qr=pC(t,n,s,m),{slideRegistry:Hn}=iC(G,w,$,he,oe,J),Lt=uC(e,n,Hn,at,lt,fn,s,T),pn={ownerDocument:r,ownerWindow:o,eventHandler:s,containerRect:I,slideRects:L,animation:F,axis:k,dragHandler:J_(k,e,r,o,Me,q_(k,o),Ne,F,at,lt,dn,ae,s,j,v,y,g,ye,_),eventStore:fn,percentOfView:j,index:ae,indexPrevious:Q,limit:Y,location:Ne,offsetLocation:Xe,previousLocation:ot,options:a,resizeHandler:Q_(t,s,o,n,k,x,P),scrollBody:lt,scrollBounds:tC(Y,Xe,Me,lt,j),scrollLooper:oC(ie,Y,Xe,[Ne,Xe,ot,Me]),scrollProgress:Un,scrollSnapList:$.map(Un.get),scrollSnaps:$,scrollTarget:dn,scrollTo:at,slideLooper:dC(k,O,ie,H,K,xe,$,Xe,n),slideFocus:Lt,slidesHandler:fC(t,s,S),slidesInView:qr,slideIndexes:J,slideRegistry:Hn,slidesToScroll:oe,target:Me,translate:Fd(k,t)};return pn}function vC(){let e={},t;function n(u){t=u}function r(u){return e[u]||[]}function o(u){return r(u).forEach(p=>p(t,u)),c}function a(u,p){return e[u]=r(u).concat([p]),c}function s(u,p){return e[u]=r(u).filter(f=>f!==p),c}function i(){e={}}const c={init:n,emit:o,off:s,on:a,clear:i};return c}const bC={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function yC(e){function t(a,s){return zd(a,s||{})}function n(a){const s=a.breakpoints||{},i=Tn(s).filter(c=>e.matchMedia(c).matches).map(c=>s[c]).reduce((c,u)=>t(c,u),{});return t(a,i)}function r(a){return a.map(s=>Tn(s.breakpoints||{})).reduce((s,i)=>s.concat(i),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:r}}function xC(e){let t=[];function n(a,s){return t=s.filter(({options:i})=>e.optionsAtMedia(i).active!==!1),t.forEach(i=>i.init(a,e)),s.reduce((i,c)=>Object.assign(i,{[c.name]:c}),{})}function r(){t=t.filter(a=>a.destroy())}return{init:n,destroy:r}}function yr(e,t,n){const r=e.ownerDocument,o=r.defaultView,a=yC(o),s=xC(a),i=Nn(),c=vC(),{mergeOptions:u,optionsAtMedia:p,optionsMediaQueries:f}=a,{on:h,off:v,emit:y}=c,m=k;let b=!1,g,w=u(bC,yr.globalOptions),x=u(w),S=[],_,T,C;function P(){const{container:J,slides:D}=x;T=(Zo(J)?e.querySelector(J):J)||e.children[0];const F=Zo(D)?T.querySelectorAll(D):D;C=[].slice.call(F||T.children)}function I(J){const D=gC(e,T,C,r,o,J,c);if(J.loop&&!D.slideLooper.canLoop()){const ee=Object.assign({},J,{loop:!1});return I(ee)}return D}function L(J,D){b||(w=u(w,J),x=p(w),S=D||S,P(),g=I(x),f([w,...S.map(({options:ee})=>ee)]).forEach(ee=>i.add(ee,"change",k)),x.active&&(g.translate.to(g.location.get()),g.animation.init(),g.slidesInView.init(),g.slideFocus.init(Q),g.eventHandler.init(Q),g.resizeHandler.init(Q),g.slidesHandler.init(Q),g.options.loop&&g.slideLooper.loop(),T.offsetParent&&C.length&&g.dragHandler.init(Q),_=s.init(Q,S)))}function k(J,D){const ee=oe();O(),L(u({startIndex:ee},J),D),c.emit("reInit")}function O(){g.dragHandler.destroy(),g.eventStore.clear(),g.translate.clear(),g.slideLooper.clear(),g.resizeHandler.destroy(),g.slidesHandler.destroy(),g.slidesInView.destroy(),g.animation.destroy(),s.destroy(),i.clear()}function j(){b||(b=!0,i.clear(),O(),c.emit("destroy"),c.clear())}function U(J,D,ee){!x.active||b||(g.scrollBody.useBaseFriction().useDuration(D===!0?0:x.duration),g.scrollTo.index(J,ee||0))}function G(J){const D=g.index.add(1).get();U(D,J,-1)}function B(J){const D=g.index.add(-1).get();U(D,J,1)}function H(){return g.index.add(1).get()!==oe()}function K(){return g.index.add(-1).get()!==oe()}function M(){return g.scrollSnapList}function ce(){return g.scrollProgress.get(g.offsetLocation.get())}function oe(){return g.index.get()}function xe(){return g.indexPrevious.get()}function pe(){return g.slidesInView.get()}function ie(){return g.slidesInView.get(!1)}function _e(){return _}function he(){return g}function $(){return e}function Y(){return T}function ae(){return C}const Q={canScrollNext:H,canScrollPrev:K,containerNode:Y,internalEngine:he,destroy:j,off:v,on:h,emit:y,plugins:_e,previousScrollSnap:xe,reInit:m,rootNode:$,scrollNext:G,scrollPrev:B,scrollProgress:ce,scrollSnapList:M,scrollTo:U,selectedScrollSnap:oe,slideNodes:ae,slidesInView:pe,slidesNotInView:ie};return L(t,n),setTimeout(()=>c.emit("init"),0),Q}yr.globalOptions=void 0;function Ma(e={},t=[]){const n=d.useRef(e),r=d.useRef(t),[o,a]=d.useState(),[s,i]=d.useState(),c=d.useCallback(()=>{o&&o.reInit(n.current,r.current)},[o]);return d.useEffect(()=>{Oa(n.current,e)||(n.current=e,c())},[e,c]),d.useEffect(()=>{B_(r.current,t)||(r.current=t,c())},[t,c]),d.useEffect(()=>{if(V_()&&s){yr.globalOptions=Ma.globalOptions;const u=yr(s,n.current,r.current);return a(u),()=>u.destroy()}else a(void 0)},[s,a]),[i,o]}Ma.globalOptions=void 0;function wC(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const Zd=R.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),Bn=()=>{const e=R.useContext(Zd);if(!e)throw new Error("useDrawerContext must be used within a Drawer.Root");return e};wC(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
93
+ [data-state=closed]
94
+ ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function SC(){const e=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function _C(){return za(/^Mac/)}function CC(){return za(/^iPhone/)}function Vs(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function EC(){return za(/^iPad/)||_C()&&navigator.maxTouchPoints>1}function Vd(){return CC()||EC()}function za(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):void 0}const PC=24,kC=typeof window<"u"?d.useLayoutEffect:d.useEffect;function Bs(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}const go=typeof document<"u"&&window.visualViewport;function Us(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function Bd(e){for(Us(e)&&(e=e.parentElement);e&&!Us(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}const TC=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let tr=0,vo;function NC(e={}){let{isDisabled:t}=e;kC(()=>{if(!t)return tr++,tr===1&&Vd()&&(vo=RC()),()=>{tr--,tr===0&&vo?.()}},[t])}function RC(){let e,t=0,n=f=>{e=Bd(f.target),!(e===document.documentElement&&e===document.body)&&(t=f.changedTouches[0].pageY)},r=f=>{if(!e||e===document.documentElement||e===document.body){f.preventDefault();return}let h=f.changedTouches[0].pageY,v=e.scrollTop,y=e.scrollHeight-e.clientHeight;y!==0&&((v<=0&&h>t||v>=y&&h<t)&&f.preventDefault(),t=h)},o=f=>{let h=f.target;Bo(h)&&h!==document.activeElement&&(f.preventDefault(),h.style.transform="translateY(-2000px)",h.focus(),requestAnimationFrame(()=>{h.style.transform=""}))},a=f=>{let h=f.target;Bo(h)&&(h.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{h.style.transform="",go&&(go.height<window.innerHeight?requestAnimationFrame(()=>{Hs(h)}):go.addEventListener("resize",()=>Hs(h),{once:!0}))}))},s=()=>{window.scrollTo(0,0)},i=window.pageXOffset,c=window.pageYOffset,u=Bs(IC(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let p=Bs(mn(document,"touchstart",n,{passive:!1,capture:!0}),mn(document,"touchmove",r,{passive:!1,capture:!0}),mn(document,"touchend",o,{passive:!1,capture:!0}),mn(document,"focus",a,!0),mn(window,"scroll",s));return()=>{u(),p(),window.scrollTo(i,c)}}function IC(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function mn(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Hs(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let n=Bd(e);if(n!==document.documentElement&&n!==document.body&&n!==e){let r=n.getBoundingClientRect().top,o=e.getBoundingClientRect().top,a=e.getBoundingClientRect().bottom;const s=n.getBoundingClientRect().bottom+PC;a>s&&(n.scrollTop+=o-r)}e=n.parentElement}}function Bo(e){return e instanceof HTMLInputElement&&!TC.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function jC(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function OC(...e){return t=>e.forEach(n=>jC(n,t))}function Ud(...e){return d.useCallback(OC(...e),e)}const Hd=new WeakMap;function Ce(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([o,a])=>{if(o.startsWith("--")){e.style.setProperty(o,a);return}r[o]=e.style[o],e.style[o]=a}),!n&&Hd.set(e,r)}function AC(e,t){if(!e||!(e instanceof HTMLElement))return;let n=Hd.get(e);n&&(e.style[t]=n[t])}const Se=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function nr(e,t){if(!e)return null;const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let o=r.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[Se(t)?13:12]):(o=r.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[Se(t)?5:4]):null)}function $C(e){return 8*(Math.log(e+1)-2)}function bo(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function DC(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const ge={DURATION:.5,EASE:[.32,.72,0,1]},Gd=.4,MC=.25,zC=100,Wd=8,kt=16,Uo=26,yo="vaul-dragging";function Kd(e){const t=R.useRef(e);return R.useEffect(()=>{t.current=e}),R.useMemo(()=>(...n)=>t.current==null?void 0:t.current.call(t,...n),[])}function LC({defaultProp:e,onChange:t}){const n=R.useState(e),[r]=n,o=R.useRef(r),a=Kd(t);return R.useEffect(()=>{o.current!==r&&(a(r),o.current=r)},[r,o,a]),n}function Jd({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=LC({defaultProp:t,onChange:n}),a=e!==void 0,s=a?e:r,i=Kd(n),c=R.useCallback(u=>{if(a){const f=typeof u=="function"?u(e):u;f!==e&&i(f)}else o(u)},[a,e,o,i]);return[s,c]}function FC({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:o,fadeFromIndex:a,onSnapPointChange:s,direction:i="bottom",container:c,snapToSequentialPoint:u}){const[p,f]=Jd({prop:e,defaultProp:n?.[0],onChange:t}),[h,v]=R.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);R.useEffect(()=>{function C(){v({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",C),()=>window.removeEventListener("resize",C)},[]);const y=R.useMemo(()=>p===n?.[n.length-1]||null,[n,p]),m=R.useMemo(()=>{var C;return(C=n?.findIndex(P=>P===p))!=null?C:null},[n,p]),b=n&&n.length>0&&(a||a===0)&&!Number.isNaN(a)&&n[a]===p||!n,g=R.useMemo(()=>{const C=c?{width:c.getBoundingClientRect().width,height:c.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var P;return(P=n?.map(I=>{const L=typeof I=="string";let k=0;if(L&&(k=parseInt(I,10)),Se(i)){const j=L?k:h?I*C.height:0;return h?i==="bottom"?C.height-j:-C.height+j:j}const O=L?k:h?I*C.width:0;return h?i==="right"?C.width-O:-C.width+O:O}))!=null?P:[]},[n,h,c]),w=R.useMemo(()=>m!==null?g?.[m]:null,[g,m]),x=R.useCallback(C=>{var P;const I=(P=g?.findIndex(L=>L===C))!=null?P:null;s(I),Ce(r.current,{transition:`transform ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,transform:Se(i)?`translate3d(0, ${C}px, 0)`:`translate3d(${C}px, 0, 0)`}),g&&I!==g.length-1&&a!==void 0&&I!==a&&I<a?Ce(o.current,{transition:`opacity ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,opacity:"0"}):Ce(o.current,{transition:`opacity ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,opacity:"1"}),f(n?.[Math.max(I,0)])},[r.current,n,g,a,o,f]);R.useEffect(()=>{if(p||e){var C;const P=(C=n?.findIndex(I=>I===e||I===p))!=null?C:-1;g&&P!==-1&&typeof g[P]=="number"&&x(g[P])}},[p,e,n,g,x]);function S({draggedDistance:C,closeDrawer:P,velocity:I,dismissible:L}){if(a===void 0)return;const k=i==="bottom"||i==="right"?(w??0)-C:(w??0)+C,O=m===a-1,j=m===0,U=C>0;if(O&&Ce(o.current,{transition:`opacity ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`}),!u&&I>2&&!U){L?P():x(g[0]);return}if(!u&&I>2&&U&&g&&n){x(g[n.length-1]);return}const G=g?.reduce((H,K)=>typeof H!="number"||typeof K!="number"?H:Math.abs(K-k)<Math.abs(H-k)?K:H),B=Se(i)?window.innerHeight:window.innerWidth;if(I>Gd&&Math.abs(C)<B*.4){const H=U?1:-1;if(H>0&&y&&n){x(g[n.length-1]);return}if(j&&H<0&&L&&P(),m===null)return;x(g[m+H]);return}x(G)}function _({draggedDistance:C}){if(w===null)return;const P=i==="bottom"||i==="right"?w-C:w+C;(i==="bottom"||i==="right")&&P<g[g.length-1]||(i==="top"||i==="left")&&P>g[g.length-1]||Ce(r.current,{transform:Se(i)?`translate3d(0, ${P}px, 0)`:`translate3d(${P}px, 0, 0)`})}function T(C,P){if(!n||typeof m!="number"||!g||a===void 0)return null;const I=m===a-1;if(m>=a&&P)return 0;if(I&&!P)return 1;if(!b&&!I)return null;const k=I?m+1:m-1,O=I?g[k]-g[k-1]:g[k+1]-g[k],j=C/Math.abs(O);return I?1-j:j}return{isLastSnapPoint:y,activeSnapPoint:p,shouldFade:b,getPercentageDragged:T,setActiveSnapPoint:f,activeSnapPointIndex:m,onRelease:S,onDrag:_,snapPointsOffset:g}}const ZC=()=>()=>{};function VC(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:o}=Bn(),a=R.useRef(null),s=d.useMemo(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-Uo)/window.innerWidth}R.useEffect(()=>{if(t&&n){a.current&&clearTimeout(a.current);const c=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!c)return;DC(r&&!o?bo(document.body,{background:"black"}):ZC,bo(c,{transformOrigin:Se(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${ge.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ge.EASE.join(",")})`}));const u=bo(c,{borderRadius:`${Wd}px`,overflow:"hidden",...Se(e)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{u(),a.current=window.setTimeout(()=>{s?document.body.style.background=s:document.body.style.removeProperty("background")},ge.DURATION*1e3)}}},[t,n,s])}let gn=null;function BC({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:o,noBodyStyles:a}){const[s,i]=R.useState(()=>typeof window<"u"?window.location.href:""),c=R.useRef(0),u=R.useCallback(()=>{if(Vs()&&gn===null&&e&&!a){gn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:h}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-c.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const v=h-window.innerHeight;v&&c.current>=h&&(document.body.style.top=`${-(c.current+v)}px`)}),300)}},[e]),p=R.useCallback(()=>{if(Vs()&&gn!==null&&!a){const f=-parseInt(document.body.style.top,10),h=-parseInt(document.body.style.left,10);Object.assign(document.body.style,gn),window.requestAnimationFrame(()=>{if(o&&s!==window.location.href){i(window.location.href);return}window.scrollTo(h,f)}),gn=null}},[s]);return R.useEffect(()=>{function f(){c.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),R.useEffect(()=>{if(t)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||p()}},[t,p]),R.useEffect(()=>{n||!r||(e?(!window.matchMedia("(display-mode: standalone)").matches&&u(),t||window.setTimeout(()=>{p()},500)):p())},[e,r,s,t,n,u,p]),{restorePositionSetting:p}}function UC({open:e,onOpenChange:t,children:n,onDrag:r,onRelease:o,snapPoints:a,shouldScaleBackground:s=!1,setBackgroundColorOnScale:i=!0,closeThreshold:c=MC,scrollLockTimeout:u=zC,dismissible:p=!0,handleOnly:f=!1,fadeFromIndex:h=a&&a.length-1,activeSnapPoint:v,setActiveSnapPoint:y,fixed:m,modal:b=!0,onClose:g,nested:w,noBodyStyles:x=!1,direction:S="bottom",defaultOpen:_=!1,disablePreventScroll:T=!0,snapToSequentialPoint:C=!1,preventScrollRestoration:P=!1,repositionInputs:I=!0,onAnimationEnd:L,container:k,autoFocus:O=!1}){var j,U;const[G=!1,B]=Jd({defaultProp:_,prop:e,onChange:q=>{t?.(q),!q&&!w&&Hn(),setTimeout(()=>{L?.(q)},ge.DURATION*1e3),q&&!b&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),q||(document.body.style.pointerEvents="auto")}}),[H,K]=R.useState(!1),[M,ce]=R.useState(!1),[oe,xe]=R.useState(!1),pe=R.useRef(null),ie=R.useRef(null),_e=R.useRef(null),he=R.useRef(null),$=R.useRef(null),Y=R.useRef(!1),ae=R.useRef(null),Q=R.useRef(0),J=R.useRef(!1),D=R.useRef(!_),ee=R.useRef(0),F=R.useRef(null),ye=R.useRef(((j=F.current)==null?void 0:j.getBoundingClientRect().height)||0),Te=R.useRef(((U=F.current)==null?void 0:U.getBoundingClientRect().width)||0),Ne=R.useRef(0),ot=R.useCallback(q=>{a&&q===at.length-1&&(ie.current=new Date)},[]),{activeSnapPoint:Xe,activeSnapPointIndex:Me,setActiveSnapPoint:lt,onRelease:dn,snapPointsOffset:at,onDrag:Un,shouldFade:fn,getPercentageDragged:qr}=FC({snapPoints:a,activeSnapPointProp:v,setActiveSnapPointProp:y,drawerRef:F,fadeFromIndex:h,overlayRef:pe,onSnapPointChange:ot,direction:S,container:k,snapToSequentialPoint:C});NC({isDisabled:!G||M||!b||oe||!H||!I||!T});const{restorePositionSetting:Hn}=BC({isOpen:G,modal:b,nested:w??!1,hasBeenOpened:H,preventScrollRestoration:P,noBodyStyles:x});function Lt(){return(window.innerWidth-Uo)/window.innerWidth}function pn(q){var re,se;!p&&!a||F.current&&!F.current.contains(q.target)||(ye.current=((re=F.current)==null?void 0:re.getBoundingClientRect().height)||0,Te.current=((se=F.current)==null?void 0:se.getBoundingClientRect().width)||0,ce(!0),_e.current=new Date,Vd()&&window.addEventListener("touchend",()=>Y.current=!1,{once:!0}),q.target.setPointerCapture(q.pointerId),Q.current=Se(S)?q.pageY:q.pageX)}function st(q,re){var se;let te=q;const de=(se=window.getSelection())==null?void 0:se.toString(),Ie=F.current?nr(F.current,S):null,Pe=new Date;if(te.tagName==="SELECT"||te.hasAttribute("data-vaul-no-drag")||te.closest("[data-vaul-no-drag]"))return!1;if(S==="right"||S==="left")return!0;if(ie.current&&Pe.getTime()-ie.current.getTime()<500)return!1;if(Ie!==null&&(S==="bottom"?Ie>0:Ie<0))return!0;if(de&&de.length>0)return!1;if($.current&&Pe.getTime()-$.current.getTime()<u&&Ie===0||re)return $.current=Pe,!1;for(;te;){if(te.scrollHeight>te.clientHeight){if(te.scrollTop!==0)return $.current=new Date,!1;if(te.getAttribute("role")==="dialog")return!0}te=te.parentNode}return!0}function hn(q){if(F.current&&M){const re=S==="bottom"||S==="right"?1:-1,se=(Q.current-(Se(S)?q.pageY:q.pageX))*re,te=se>0,de=a&&!p&&!te;if(de&&Me===0)return;const Ie=Math.abs(se),Pe=document.querySelector("[data-vaul-drawer-wrapper]"),Ge=S==="bottom"||S==="top"?ye.current:Te.current;let Fe=Ie/Ge;const Pt=qr(Ie,te);if(Pt!==null&&(Fe=Pt),de&&Fe>=1||!Y.current&&!st(q.target,te))return;if(F.current.classList.add(yo),Y.current=!0,Ce(F.current,{transition:"none"}),Ce(pe.current,{transition:"none"}),a&&Un({draggedDistance:se}),te&&!a){const Qe=$C(se),Gn=Math.min(Qe*-1,0)*re;Ce(F.current,{transform:Se(S)?`translate3d(0, ${Gn}px, 0)`:`translate3d(${Gn}px, 0, 0)`});return}const ut=1-Fe;if((fn||h&&Me===h-1)&&(r?.(q,Fe),Ce(pe.current,{opacity:`${ut}`,transition:"none"},!0)),Pe&&pe.current&&s){const Qe=Math.min(Lt()+Fe*(1-Lt()),1),Gn=8-Fe*8,Fa=Math.max(0,14-Fe*14);Ce(Pe,{borderRadius:`${Gn}px`,transform:Se(S)?`scale(${Qe}) translate3d(0, ${Fa}px, 0)`:`scale(${Qe}) translate3d(${Fa}px, 0, 0)`,transition:"none"},!0)}if(!a){const Qe=Ie*re;Ce(F.current,{transform:Se(S)?`translate3d(0, ${Qe}px, 0)`:`translate3d(${Qe}px, 0, 0)`})}}}R.useEffect(()=>{window.requestAnimationFrame(()=>{D.current=!0})},[]),R.useEffect(()=>{var q;function re(){if(!F.current||!I)return;const se=document.activeElement;if(Bo(se)||J.current){var te;const de=((te=window.visualViewport)==null?void 0:te.height)||0,Ie=window.innerHeight;let Pe=Ie-de;const Ge=F.current.getBoundingClientRect().height||0,Fe=Ge>Ie*.8;Ne.current||(Ne.current=Ge);const Pt=F.current.getBoundingClientRect().top;if(Math.abs(ee.current-Pe)>60&&(J.current=!J.current),a&&a.length>0&&at&&Me){const ut=at[Me]||0;Pe+=ut}if(ee.current=Pe,Ge>de||J.current){const ut=F.current.getBoundingClientRect().height;let Qe=ut;ut>de&&(Qe=de-(Fe?Pt:Uo)),m?F.current.style.height=`${ut-Math.max(Pe,0)}px`:F.current.style.height=`${Math.max(Qe,de-Pt)}px`}else SC()||(F.current.style.height=`${Ne.current}px`);a&&a.length>0&&!J.current?F.current.style.bottom="0px":F.current.style.bottom=`${Math.max(Pe,0)}px`}}return(q=window.visualViewport)==null||q.addEventListener("resize",re),()=>{var se;return(se=window.visualViewport)==null?void 0:se.removeEventListener("resize",re)}},[Me,a,at]);function it(q){Yr(),g?.(),q||B(!1),setTimeout(()=>{a&&lt(a[0])},ge.DURATION*1e3)}function Et(){if(!F.current)return;const q=document.querySelector("[data-vaul-drawer-wrapper]"),re=nr(F.current,S);Ce(F.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`}),Ce(pe.current,{transition:`opacity ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,opacity:"1"}),s&&re&&re>0&&G&&Ce(q,{borderRadius:`${Wd}px`,overflow:"hidden",...Se(S)?{transform:`scale(${Lt()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Lt()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${ge.DURATION}s`,transitionTimingFunction:`cubic-bezier(${ge.EASE.join(",")})`},!0)}function Yr(){!M||!F.current||(F.current.classList.remove(yo),Y.current=!1,ce(!1),he.current=new Date)}function Xr(q){if(!M||!F.current)return;F.current.classList.remove(yo),Y.current=!1,ce(!1),he.current=new Date;const re=nr(F.current,S);if(!q||!st(q.target,!1)||!re||Number.isNaN(re)||_e.current===null)return;const se=he.current.getTime()-_e.current.getTime(),te=Q.current-(Se(S)?q.pageY:q.pageX),de=Math.abs(te)/se;if(de>.05&&(xe(!0),setTimeout(()=>{xe(!1)},200)),a){dn({draggedDistance:te*(S==="bottom"||S==="right"?1:-1),closeDrawer:it,velocity:de,dismissible:p}),o?.(q,!0);return}if(S==="bottom"||S==="right"?te>0:te<0){Et(),o?.(q,!0);return}if(de>Gd){it(),o?.(q,!1);return}var Ie;const Pe=Math.min((Ie=F.current.getBoundingClientRect().height)!=null?Ie:0,window.innerHeight);var Ge;const Fe=Math.min((Ge=F.current.getBoundingClientRect().width)!=null?Ge:0,window.innerWidth),Pt=S==="left"||S==="right";if(Math.abs(re)>=(Pt?Fe:Pe)*c){it(),o?.(q,!1);return}o?.(q,!0),Et()}R.useEffect(()=>(G&&(Ce(document.documentElement,{scrollBehavior:"auto"}),ie.current=new Date),()=>{AC(document.documentElement,"scrollBehavior")}),[G]);function Qr(q){const re=q?(window.innerWidth-kt)/window.innerWidth:1,se=q?-kt:0;ae.current&&window.clearTimeout(ae.current),Ce(F.current,{transition:`transform ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,transform:Se(S)?`scale(${re}) translate3d(0, ${se}px, 0)`:`scale(${re}) translate3d(${se}px, 0, 0)`}),!q&&F.current&&(ae.current=setTimeout(()=>{const te=nr(F.current,S);Ce(F.current,{transition:"none",transform:Se(S)?`translate3d(0, ${te}px, 0)`:`translate3d(${te}px, 0, 0)`})},500))}function eo(q,re){if(re<0)return;const se=(window.innerWidth-kt)/window.innerWidth,te=se+re*(1-se),de=-kt+re*kt;Ce(F.current,{transform:Se(S)?`scale(${te}) translate3d(0, ${de}px, 0)`:`scale(${te}) translate3d(${de}px, 0, 0)`,transition:"none"})}function to(q,re){const se=Se(S)?window.innerHeight:window.innerWidth,te=re?(se-kt)/se:1,de=re?-kt:0;re&&Ce(F.current,{transition:`transform ${ge.DURATION}s cubic-bezier(${ge.EASE.join(",")})`,transform:Se(S)?`scale(${te}) translate3d(0, ${de}px, 0)`:`scale(${te}) translate3d(${de}px, 0, 0)`})}return R.useEffect(()=>{b||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[b]),R.createElement(Ac,{defaultOpen:_,onOpenChange:q=>{!p&&!q||(q?K(!0):it(!0),B(q))},open:G},R.createElement(Zd.Provider,{value:{activeSnapPoint:Xe,snapPoints:a,setActiveSnapPoint:lt,drawerRef:F,overlayRef:pe,onOpenChange:t,onPress:pn,onRelease:Xr,onDrag:hn,dismissible:p,shouldAnimate:D,handleOnly:f,isOpen:G,isDragging:M,shouldFade:fn,closeDrawer:it,onNestedDrag:eo,onNestedOpenChange:Qr,onNestedRelease:to,keyboardIsOpen:J,modal:b,snapPointsOffset:at,activeSnapPointIndex:Me,direction:S,shouldScaleBackground:s,setBackgroundColorOnScale:i,noBodyStyles:x,container:k,autoFocus:O}},n))}const qd=R.forwardRef(function({...e},t){const{overlayRef:n,snapPoints:r,onRelease:o,shouldFade:a,isOpen:s,modal:i,shouldAnimate:c}=Bn(),u=Ud(t,n),p=r&&r.length>0;if(!i)return null;const f=R.useCallback(h=>o(h),[o]);return R.createElement(Dc,{onMouseUp:f,ref:u,"data-vaul-overlay":"","data-vaul-snap-points":s&&p?"true":"false","data-vaul-snap-points-overlay":s&&a?"true":"false","data-vaul-animate":c?.current?"true":"false",...e})});qd.displayName="Drawer.Overlay";const Yd=R.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},o){const{drawerRef:a,onPress:s,onRelease:i,onDrag:c,keyboardIsOpen:u,snapPointsOffset:p,activeSnapPointIndex:f,modal:h,isOpen:v,direction:y,snapPoints:m,container:b,handleOnly:g,shouldAnimate:w,autoFocus:x}=Bn(),[S,_]=R.useState(!1),T=Ud(o,a),C=R.useRef(null),P=R.useRef(null),I=R.useRef(!1),L=m&&m.length>0;VC();const k=(j,U,G=0)=>{if(I.current)return!0;const B=Math.abs(j.y),H=Math.abs(j.x),K=H>B,M=["bottom","right"].includes(U)?1:-1;if(U==="left"||U==="right"){if(!(j.x*M<0)&&H>=0&&H<=G)return K}else if(!(j.y*M<0)&&B>=0&&B<=G)return!K;return I.current=!0,!0};R.useEffect(()=>{L&&window.requestAnimationFrame(()=>{_(!0)})},[]);function O(j){C.current=null,I.current=!1,i(j)}return R.createElement(Mc,{"data-vaul-drawer-direction":y,"data-vaul-drawer":"","data-vaul-delayed-snap-points":S?"true":"false","data-vaul-snap-points":v&&L?"true":"false","data-vaul-custom-container":b?"true":"false","data-vaul-animate":w?.current?"true":"false",...r,ref:T,style:p&&p.length>0?{"--snap-point-height":`${p[f??0]}px`,...t}:t,onPointerDown:j=>{g||(r.onPointerDown==null||r.onPointerDown.call(r,j),C.current={x:j.pageX,y:j.pageY},s(j))},onOpenAutoFocus:j=>{n?.(j),x||j.preventDefault()},onPointerDownOutside:j=>{if(e?.(j),!h||j.defaultPrevented){j.preventDefault();return}u.current&&(u.current=!1)},onFocusOutside:j=>{if(!h){j.preventDefault();return}},onPointerMove:j=>{if(P.current=j,g||(r.onPointerMove==null||r.onPointerMove.call(r,j),!C.current))return;const U=j.pageY-C.current.y,G=j.pageX-C.current.x,B=j.pointerType==="touch"?10:2;k({x:G,y:U},y,B)?c(j):(Math.abs(G)>B||Math.abs(U)>B)&&(C.current=null)},onPointerUp:j=>{r.onPointerUp==null||r.onPointerUp.call(r,j),C.current=null,I.current=!1,i(j)},onPointerOut:j=>{r.onPointerOut==null||r.onPointerOut.call(r,j),O(P.current)},onContextMenu:j=>{r.onContextMenu==null||r.onContextMenu.call(r,j),P.current&&O(P.current)}})});Yd.displayName="Drawer.Content";const HC=250,GC=120,WC=R.forwardRef(function({preventCycle:e=!1,children:t,...n},r){const{closeDrawer:o,isDragging:a,snapPoints:s,activeSnapPoint:i,setActiveSnapPoint:c,dismissible:u,handleOnly:p,isOpen:f,onPress:h,onDrag:v}=Bn(),y=R.useRef(null),m=R.useRef(!1);function b(){if(m.current){x();return}window.setTimeout(()=>{g()},GC)}function g(){if(a||e||m.current){x();return}if(x(),!s||s.length===0){u||o();return}if(i===s[s.length-1]&&u){o();return}const _=s.findIndex(C=>C===i);if(_===-1)return;const T=s[_+1];c(T)}function w(){y.current=window.setTimeout(()=>{m.current=!0},HC)}function x(){y.current&&window.clearTimeout(y.current),m.current=!1}return R.createElement("div",{onClick:b,onPointerCancel:x,onPointerDown:S=>{p&&h(S),w()},onPointerMove:S=>{p&&v(S)},ref:r,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},R.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});WC.displayName="Drawer.Handle";function KC(e){const t=Bn(),{container:n=t.container,...r}=e;return R.createElement($c,{container:n,...r})}const un={Root:UC,Content:Yd,Overlay:qd,Portal:KC,Title:zc,Description:Lc};function z(...e){return xf(wf(e))}var Xd=Rn("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Sn({className:e,variant:t="default",size:n="default",asChild:r=!1,...o}){const a=r?ni:"button";return l.jsx(a,{"data-slot":"button","data-variant":t,"data-size":n,className:z(Xd({variant:t,size:n,className:e})),...o})}function JC({className:e,...t}){return l.jsx("div",{"data-slot":"card",className:z("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function qC({className:e,...t}){return l.jsx("div",{"data-slot":"card-header",className:z("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})}function YC({className:e,...t}){return l.jsx("div",{"data-slot":"card-title",className:z("leading-none font-semibold",e),...t})}function XC({className:e,...t}){return l.jsx("div",{"data-slot":"card-description",className:z("text-muted-foreground text-sm",e),...t})}function QC({className:e,...t}){return l.jsx("div",{"data-slot":"card-content",className:z("px-6",e),...t})}function eE({className:e,type:t,...n}){return l.jsx("input",{type:t,"data-slot":"input",className:z("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...n})}function ct({className:e,...t}){return l.jsx(Ww,{"data-slot":"label",className:z("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}function tE({className:e,...t}){return l.jsx("textarea",{"data-slot":"textarea",className:z("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...t})}function nE({className:e,...t}){return l.jsx(Kc,{"data-slot":"checkbox",className:z("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:l.jsx(qc,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:l.jsx(Md,{className:"size-3.5"})})})}function rE({className:e,size:t="default",...n}){return l.jsx(DS,{"data-slot":"switch","data-size":t,className:z("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...n,children:l.jsx(MS,{"data-slot":"switch-thumb",className:z("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function oE({className:e,value:t,...n}){return l.jsx(h0,{"data-slot":"progress",className:z("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e),...n,children:l.jsx(m0,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})})}function aE({className:e,orientation:t="horizontal",decorative:n=!0,...r}){return l.jsx(fS,{"data-slot":"separator",decorative:n,orientation:t,className:z("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...r})}var sE=Rn("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function iE({className:e,variant:t,...n}){return l.jsx("div",{"data-slot":"alert",role:"alert",className:z(sE({variant:t}),e),...n})}function cE({className:e,...t}){return l.jsx("div",{"data-slot":"alert-title",className:z("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}function lE({className:e,...t}){return l.jsx("div",{"data-slot":"alert-description",className:z("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}function uE({...e}){return l.jsx(Ac,{"data-slot":"dialog",...e})}function dE({...e}){return l.jsx($c,{"data-slot":"dialog-portal",...e})}function fE({className:e,...t}){return l.jsx(Dc,{"data-slot":"dialog-overlay",className:z("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function pE({className:e,children:t,showCloseButton:n=!0,...r}){return l.jsxs(dE,{"data-slot":"dialog-portal",children:[l.jsx(fE,{}),l.jsxs(Mc,{"data-slot":"dialog-content",className:z("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...r,children:[t,n&&l.jsxs(Yy,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[l.jsx(F_,{}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function hE({className:e,...t}){return l.jsx("div",{"data-slot":"dialog-header",className:z("flex flex-col gap-2 text-center sm:text-left",e),...t})}function mE({className:e,...t}){return l.jsx(zc,{"data-slot":"dialog-title",className:z("text-lg leading-none font-semibold",e),...t})}function gE({className:e,...t}){return l.jsx(Lc,{"data-slot":"dialog-description",className:z("text-muted-foreground text-sm",e),...t})}function Gs({...e}){return l.jsx($b,{"data-slot":"accordion",...e})}function vE({className:e,...t}){return l.jsx(Db,{"data-slot":"accordion-item",className:z("border-b last:border-b-0",e),...t})}function bE({className:e,children:t,...n}){return l.jsx(Mb,{className:"flex",children:l.jsxs(zb,{"data-slot":"accordion-trigger",className:z("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,l.jsx(ja,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]})})}function yE({className:e,children:t,...n}){return l.jsx(Lb,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...n,children:l.jsx("div",{className:z("pt-0 pb-4",e),children:t})})}function xE({className:e,...t}){return l.jsx(rx,{"data-slot":"avatar",className:z("relative flex size-10 shrink-0 overflow-hidden rounded-full",e),...t})}function wE({className:e,...t}){return l.jsx(ox,{"data-slot":"avatar-image",className:z("aspect-square size-full",e),...t})}function SE({className:e,...t}){return l.jsx(ax,{"data-slot":"avatar-fallback",className:z("bg-muted flex size-full items-center justify-center rounded-full",e),...t})}var _E=Rn("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function CE({className:e,variant:t="default",asChild:n=!1,...r}){const o=n?ni:"span";return l.jsx(o,{"data-slot":"badge","data-variant":t,className:z(_E({variant:t}),e),...r})}function EE({className:e,...t}){return l.jsx(E0,{"data-slot":"radio-group",className:z("grid gap-3",e),...t})}function PE({className:e,...t}){return l.jsx(P0,{"data-slot":"radio-group-item",className:z("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:l.jsx(k0,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:l.jsx(D_,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}function kE({...e}){return l.jsx(Y0,{"data-slot":"select",...e})}function TE({...e}){return l.jsx(Q0,{"data-slot":"select-value",...e})}function NE({className:e,size:t="default",children:n,...r}){return l.jsxs(X0,{"data-slot":"select-trigger","data-size":t,className:z("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,l.jsx(eS,{asChild:!0,children:l.jsx(ja,{className:"size-4 opacity-50"})})]})}function RE({className:e,children:t,position:n="item-aligned",align:r="center",...o}){return l.jsx(tS,{children:l.jsxs(nS,{"data-slot":"select-content",className:z("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:r,...o,children:[l.jsx(jE,{}),l.jsx(rS,{className:z("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),l.jsx(OE,{})]})})}function IE({className:e,children:t,...n}){return l.jsxs(oS,{"data-slot":"select-item",className:z("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[l.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:l.jsx(sS,{children:l.jsx(Md,{className:"size-4"})})}),l.jsx(aS,{children:t})]})}function jE({className:e,...t}){return l.jsx(iS,{"data-slot":"select-scroll-up-button",className:z("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(A_,{className:"size-4"})})}function OE({className:e,...t}){return l.jsx(cS,{"data-slot":"select-scroll-down-button",className:z("flex cursor-default items-center justify-center py-1",e),...t,children:l.jsx(ja,{className:"size-4"})})}var Qd=d.createContext(null);function Jr(){const e=d.useContext(Qd);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}function AE({orientation:e="horizontal",opts:t,setApi:n,plugins:r,className:o,children:a,...s}){const[i,c]=Ma({...t,axis:e==="horizontal"?"x":"y"},r),[u,p]=d.useState(!1),[f,h]=d.useState(!1),v=d.useCallback(g=>{g&&(p(g.canScrollPrev()),h(g.canScrollNext()))},[]),y=d.useCallback(()=>{c?.scrollPrev()},[c]),m=d.useCallback(()=>{c?.scrollNext()},[c]),b=d.useCallback(g=>{g.key==="ArrowLeft"?(g.preventDefault(),y()):g.key==="ArrowRight"&&(g.preventDefault(),m())},[y,m]);return d.useEffect(()=>{!c||!n||n(c)},[c,n]),d.useEffect(()=>{if(c)return v(c),c.on("reInit",v),c.on("select",v),()=>{c?.off("select",v)}},[c,v]),l.jsx(Qd.Provider,{value:{carouselRef:i,api:c,opts:t,orientation:e||(t?.axis==="y"?"vertical":"horizontal"),scrollPrev:y,scrollNext:m,canScrollPrev:u,canScrollNext:f},children:l.jsx("div",{onKeyDownCapture:b,className:z("relative",o),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...s,children:a})})}function $E({className:e,...t}){const{carouselRef:n,orientation:r}=Jr();return l.jsx("div",{ref:n,className:"overflow-hidden","data-slot":"carousel-content",children:l.jsx("div",{className:z("flex",r==="horizontal"?"-ml-4":"-mt-4 flex-col",e),...t})})}function DE({className:e,...t}){const{orientation:n}=Jr();return l.jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:z("min-w-0 shrink-0 grow-0 basis-full",n==="horizontal"?"pl-4":"pt-4",e),...t})}function ME({className:e,variant:t="outline",size:n="icon",...r}){const{orientation:o,scrollPrev:a,canScrollPrev:s}=Jr();return l.jsxs(Sn,{"data-slot":"carousel-previous",variant:t,size:n,className:z("absolute size-8 rounded-full",o==="horizontal"?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!s,onClick:a,...r,children:[l.jsx(C_,{}),l.jsx("span",{className:"sr-only",children:"Previous slide"})]})}function zE({className:e,variant:t="outline",size:n="icon",...r}){const{orientation:o,scrollNext:a,canScrollNext:s}=Jr();return l.jsxs(Sn,{"data-slot":"carousel-next",variant:t,size:n,className:z("absolute size-8 rounded-full",o==="horizontal"?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!s,onClick:a,...r,children:[l.jsx(P_,{}),l.jsx("span",{className:"sr-only",children:"Next slide"})]})}function LE({...e}){return l.jsx(Ys,{"data-slot":"collapsible",...e})}function FE({...e}){return l.jsx(bf,{"data-slot":"collapsible-trigger",...e})}function ZE({...e}){return l.jsx(yf,{"data-slot":"collapsible-content",...e})}function VE({className:e,...t}){return l.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:l.jsx("table",{"data-slot":"table",className:z("w-full caption-bottom text-sm",e),...t})})}function BE({className:e,...t}){return l.jsx("thead",{"data-slot":"table-header",className:z("[&_tr]:border-b",e),...t})}function UE({className:e,...t}){return l.jsx("tbody",{"data-slot":"table-body",className:z("[&_tr:last-child]:border-0",e),...t})}function Ws({className:e,...t}){return l.jsx("tr",{"data-slot":"table-row",className:z("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function HE({className:e,...t}){return l.jsx("th",{"data-slot":"table-head",className:z("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function GE({className:e,...t}){return l.jsx("td",{"data-slot":"table-cell",className:z("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function WE({className:e,...t}){return l.jsx("caption",{"data-slot":"table-caption",className:z("text-muted-foreground mt-4 text-sm",e),...t})}function KE({...e}){return l.jsx(un.Root,{"data-slot":"drawer",...e})}function JE({...e}){return l.jsx(un.Portal,{"data-slot":"drawer-portal",...e})}function qE({className:e,...t}){return l.jsx(un.Overlay,{"data-slot":"drawer-overlay",className:z("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function YE({className:e,children:t,...n}){return l.jsxs(JE,{"data-slot":"drawer-portal",children:[l.jsx(qE,{}),l.jsxs(un.Content,{"data-slot":"drawer-content",className:z("group/drawer-content bg-background fixed z-50 flex h-auto flex-col","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",e),...n,children:[l.jsx("div",{className:"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block"}),t]})]})}function XE({className:e,...t}){return l.jsx("div",{"data-slot":"drawer-header",className:z("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left",e),...t})}function QE({className:e,...t}){return l.jsx(un.Title,{"data-slot":"drawer-title",className:z("text-foreground font-semibold",e),...t})}function eP({className:e,...t}){return l.jsx(un.Description,{"data-slot":"drawer-description",className:z("text-muted-foreground text-sm",e),...t})}function tP({...e}){return l.jsx(Zw,{"data-slot":"dropdown-menu",...e})}function nP({...e}){return l.jsx(Vw,{"data-slot":"dropdown-menu-trigger",...e})}function rP({className:e,sideOffset:t=4,...n}){return l.jsx(Bw,{children:l.jsx(Uw,{"data-slot":"dropdown-menu-content",sideOffset:t,className:z("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",e),...n})})}function oP({className:e,inset:t,variant:n="default",...r}){return l.jsx(Hw,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":n,className:z("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r})}function aP({className:e,...t}){return l.jsx("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:z("mx-auto flex w-full justify-center",e),...t})}function sP({className:e,...t}){return l.jsx("ul",{"data-slot":"pagination-content",className:z("flex flex-row items-center gap-1",e),...t})}function rr({...e}){return l.jsx("li",{"data-slot":"pagination-item",...e})}function La({className:e,isActive:t,size:n="icon",...r}){return l.jsx("a",{"aria-current":t?"page":void 0,"data-slot":"pagination-link","data-active":t,className:z(Xd({variant:t?"outline":"ghost",size:n}),e),...r})}function iP({className:e,...t}){return l.jsxs(La,{"aria-label":"Go to previous page",size:"default",className:z("gap-1 px-2.5 sm:pl-2.5",e),...t,children:[l.jsx(R_,{}),l.jsx("span",{className:"hidden sm:block",children:"Previous"})]})}function cP({className:e,...t}){return l.jsxs(La,{"aria-label":"Go to next page",size:"default",className:z("gap-1 px-2.5 sm:pr-2.5",e),...t,children:[l.jsx("span",{className:"hidden sm:block",children:"Next"}),l.jsx(j_,{})]})}function lP({className:e,...t}){return l.jsxs("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:z("flex size-9 items-center justify-center",e),...t,children:[l.jsx(z_,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"More pages"})]})}function uP({...e}){return l.jsx(o0,{"data-slot":"popover",...e})}function dP({...e}){return l.jsx(a0,{"data-slot":"popover-trigger",...e})}function fP({className:e,align:t="center",sideOffset:n=4,...r}){return l.jsx(s0,{children:l.jsx(i0,{"data-slot":"popover-content",align:t,sideOffset:n,className:z("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...r})})}function pP({className:e,...t}){return l.jsx("div",{"data-slot":"skeleton",className:z("bg-accent animate-pulse rounded-md",e),...t})}function hP({className:e,defaultValue:t,value:n,min:r=0,max:o=100,...a}){const s=d.useMemo(()=>Array.isArray(n)?n:Array.isArray(t)?t:[r,o],[n,t,r,o]);return l.jsxs(TS,{"data-slot":"slider",defaultValue:t,value:n,min:r,max:o,className:z("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...a,children:[l.jsx(NS,{"data-slot":"slider-track",className:z("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:l.jsx(RS,{"data-slot":"slider-range",className:z("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:s.length},(i,c)=>l.jsx(IS,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},c))]})}function mP({className:e,orientation:t="horizontal",...n}){return l.jsx(ZS,{"data-slot":"tabs","data-orientation":t,orientation:t,className:z("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}var gP=Rn("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function vP({className:e,variant:t="default",...n}){return l.jsx(VS,{"data-slot":"tabs-list","data-variant":t,className:z(gP({variant:t}),e),...n})}function bP({className:e,...t}){return l.jsx(BS,{"data-slot":"tabs-trigger",className:z("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}var ef=Rn("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}});function yP({className:e,variant:t,size:n,...r}){return l.jsx(US,{"data-slot":"toggle",className:z(ef({variant:t,size:n,className:e})),...r})}var tf=d.createContext({size:"default",variant:"default",spacing:0});function Ks({className:e,variant:t,size:n,spacing:r=0,children:o,...a}){return l.jsx(JS,{"data-slot":"toggle-group","data-variant":t,"data-size":n,"data-spacing":r,style:{"--gap":r},className:z("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs",e),...a,children:l.jsx(tf.Provider,{value:{variant:t,size:n,spacing:r},children:o})})}function Js({className:e,children:t,variant:n,size:r,...o}){const a=d.useContext(tf);return l.jsx(qS,{"data-slot":"toggle-group-item","data-variant":a.variant||n,"data-size":a.size||r,"data-spacing":a.spacing,className:z(ef({variant:a.variant||n,size:a.size||r}),"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10","data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l",e),...o,children:t})}function xP({delayDuration:e=0,...t}){return l.jsx(f_,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function wP({...e}){return l.jsx(p_,{"data-slot":"tooltip",...e})}function SP({...e}){return l.jsx(h_,{"data-slot":"tooltip-trigger",...e})}function _P({className:e,sideOffset:t=0,children:n,...r}){return l.jsx(m_,{children:l.jsxs(g_,{"data-slot":"tooltip-content",sideOffset:t,className:z("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[n,l.jsx(v_,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function CP(e,t){if(t<=7)return Array.from({length:t},(a,s)=>s+1);const n=[];n.push(1),e>3&&n.push("ellipsis");const r=Math.max(2,e-1),o=Math.min(t-1,e+1);for(let a=r;a<=o;a++)n.push(a);return e<t-2&&n.push("ellipsis"),n.push(t),n}var EP={Card:({props:e,children:t})=>{const n=e.maxWidth==="sm"?"max-w-xs sm:min-w-[280px]":e.maxWidth==="md"?"max-w-sm sm:min-w-[320px]":e.maxWidth==="lg"?"max-w-md sm:min-w-[360px]":"w-full",r=e.centered?"mx-auto":"";return l.jsxs(JC,{className:z(n,r),children:[(e.title||e.description)&&l.jsxs(qC,{children:[e.title&&l.jsx(YC,{children:e.title}),e.description&&l.jsx(XC,{children:e.description})]}),l.jsx(QC,{className:"flex flex-col gap-3",children:t})]})},Stack:({props:e,children:t})=>{const n=e.direction==="horizontal",r={none:"gap-0",sm:"gap-2",md:"gap-3",lg:"gap-4"},o={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},a={start:"",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around"},s=r[e.gap??"md"]??"gap-3",i=o[e.align??"start"]??"items-start",c=a[e.justify??""]??"";return l.jsx("div",{className:`flex ${n?"flex-row flex-wrap":"flex-col"} ${s} ${i} ${c}`,children:t})},Grid:({props:e,children:t})=>{const n={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},r={sm:"gap-2",md:"gap-3",lg:"gap-4"},o=Math.max(1,Math.min(6,e.columns??1)),a=n[o]??"grid-cols-1",s=r[e.gap??"md"]??"gap-3";return l.jsx("div",{className:`grid ${a} ${s}`,children:t})},Separator:({props:e})=>l.jsx(aE,{orientation:e.orientation??"horizontal",className:e.orientation==="vertical"?"h-full mx-2":"my-3"}),Tabs:({props:e,children:t,bindings:n,emit:r})=>{const o=e.tabs??[],[a,s]=Ze(e.value,n?.value),[i,c]=d.useState(e.defaultValue??o[0]?.value??""),u=!!n?.value,p=u?a??o[0]?.value??"":i,f=u?s:c;return l.jsxs(mP,{value:p,onValueChange:h=>{f(h),r("change")},children:[l.jsx(vP,{children:o.map(h=>l.jsx(bP,{value:h.value,children:h.label},h.value))}),t]})},Accordion:({props:e})=>{const t=e.items??[],n=e.type==="multiple",r=t.map((o,a)=>l.jsxs(vE,{value:`item-${a}`,children:[l.jsx(bE,{children:o.title}),l.jsx(yE,{children:o.content})]},a));return n?l.jsx(Gs,{type:"multiple",className:"w-full",children:r}):l.jsx(Gs,{type:"single",collapsible:!0,className:"w-full",children:r})},Collapsible:({props:e,children:t})=>{const[n,r]=d.useState(e.defaultOpen??!1);return l.jsxs(LE,{open:n,onOpenChange:r,className:"w-full",children:[l.jsx(FE,{asChild:!0,children:l.jsxs("button",{className:"flex w-full items-center justify-between rounded-md border border-border px-4 py-2 text-sm font-medium hover:bg-muted transition-colors",children:[e.title,l.jsx("svg",{className:`h-4 w-4 transition-transform ${n?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:l.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]})}),l.jsx(ZE,{className:"pt-2",children:t})]})},Dialog:({props:e,children:t})=>{const[n,r]=gs(e.openPath??"");return l.jsx(uE,{open:n??!1,onOpenChange:o=>r(o),children:l.jsxs(pE,{children:[l.jsxs(hE,{children:[l.jsx(mE,{children:e.title}),e.description&&l.jsx(gE,{children:e.description})]}),t]})})},Drawer:({props:e,children:t})=>{const[n,r]=gs(e.openPath??"");return l.jsx(KE,{open:n??!1,onOpenChange:o=>r(o),children:l.jsxs(YE,{children:[l.jsxs(XE,{children:[l.jsx(QE,{children:e.title}),e.description&&l.jsx(eP,{children:e.description})]}),l.jsx("div",{className:"p-4",children:t})]})})},Carousel:({props:e})=>{const t=e.items??[];return l.jsxs(AE,{className:"w-full",children:[l.jsx($E,{children:t.map((n,r)=>l.jsx(DE,{className:"basis-3/4 md:basis-1/2 lg:basis-1/3",children:l.jsxs("div",{className:"border border-border rounded-lg p-4 bg-card h-full",children:[n.title&&l.jsx("h4",{className:"font-semibold text-sm mb-1",children:n.title}),n.description&&l.jsx("p",{className:"text-sm text-muted-foreground",children:n.description})]})},r))}),l.jsx(ME,{}),l.jsx(zE,{})]})},Table:({props:e})=>{const t=e.columns??[],n=(e.rows??[]).map(r=>r.map(String));return l.jsx("div",{className:"rounded-md border border-border overflow-hidden",children:l.jsxs(VE,{children:[e.caption&&l.jsx(WE,{children:e.caption}),l.jsx(BE,{children:l.jsx(Ws,{children:t.map(r=>l.jsx(HE,{children:r},r))})}),l.jsx(UE,{children:n.map((r,o)=>l.jsx(Ws,{children:r.map((a,s)=>l.jsx(GE,{children:a},s))},o))})]})})},Heading:({props:e})=>{const t=e.level??"h2",n=t==="h1"?"text-2xl font-bold":t==="h3"?"text-base font-semibold":t==="h4"?"text-sm font-semibold":"text-lg font-semibold";return t==="h1"?l.jsx("h1",{className:`${n} text-left`,children:e.text}):t==="h3"?l.jsx("h3",{className:`${n} text-left`,children:e.text}):t==="h4"?l.jsx("h4",{className:`${n} text-left`,children:e.text}):l.jsx("h2",{className:`${n} text-left`,children:e.text})},Text:({props:e})=>{const t=e.variant==="caption"?"text-xs":e.variant==="muted"?"text-sm text-muted-foreground":e.variant==="lead"?"text-xl text-muted-foreground":e.variant==="code"?"font-mono text-sm bg-muted px-1.5 py-0.5 rounded":"text-sm";return e.variant==="code"?l.jsx("code",{className:`${t} text-left`,children:e.text}):l.jsx("p",{className:`${t} text-left`,children:e.text})},Image:({props:e})=>e.src?l.jsx("img",{src:e.src,alt:e.alt??"",width:e.width??void 0,height:e.height??void 0,className:"rounded max-w-full"}):l.jsx("div",{className:"bg-muted border border-border rounded flex items-center justify-center text-xs text-muted-foreground",style:{width:e.width??80,height:e.height??60},children:e.alt||"img"}),Avatar:({props:e})=>{const t=e.name||"?",n=t.split(" ").map(o=>o[0]).join("").slice(0,2).toUpperCase(),r=e.size==="lg"?"h-12 w-12":e.size==="sm"?"h-8 w-8":"h-10 w-10";return l.jsxs(xE,{className:r,children:[e.src&&l.jsx(wE,{src:e.src,alt:t}),l.jsx(SE,{children:n})]})},Badge:({props:e})=>l.jsx(CE,{variant:e.variant??"default",children:e.text}),Alert:({props:e})=>{const t=e.type==="error"?"destructive":"default",n=e.type==="success"?"border-green-200 bg-green-50 text-green-900 dark:border-green-800 dark:bg-green-950 dark:text-green-100":e.type==="warning"?"border-yellow-200 bg-yellow-50 text-yellow-900 dark:border-yellow-800 dark:bg-yellow-950 dark:text-yellow-100":e.type==="info"?"border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-100":"";return l.jsxs(iE,{variant:t,className:n,children:[l.jsx(cE,{children:e.title}),e.message&&l.jsx(lE,{children:e.message})]})},Progress:({props:e})=>{const t=Math.min(100,Math.max(0,e.value||0));return l.jsxs("div",{className:"space-y-2",children:[e.label&&l.jsx(ct,{className:"text-sm text-muted-foreground",children:e.label}),l.jsx(oE,{value:t})]})},Skeleton:({props:e})=>l.jsx(pP,{className:e.rounded?"rounded-full":"rounded-md",style:{width:e.width??"100%",height:e.height??"1.25rem"}}),Spinner:({props:e})=>{const t=e.size==="lg"?"h-8 w-8":e.size==="sm"?"h-4 w-4":"h-6 w-6";return l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("svg",{className:`${t} animate-spin text-muted-foreground`,viewBox:"0 0 24 24",fill:"none",children:[l.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),l.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.label&&l.jsx("span",{className:"text-sm text-muted-foreground",children:e.label})]})},Tooltip:({props:e})=>l.jsx(xP,{children:l.jsxs(wP,{children:[l.jsx(SP,{asChild:!0,children:l.jsx("span",{className:"text-sm underline decoration-dotted cursor-help",children:e.text})}),l.jsx(_P,{children:l.jsx("p",{children:e.content})})]})}),Popover:({props:e})=>l.jsxs(uP,{children:[l.jsx(dP,{asChild:!0,children:l.jsx(Sn,{variant:"outline",className:"text-sm",children:e.trigger})}),l.jsx(fP,{className:"w-64",children:l.jsx("p",{className:"text-sm",children:e.content})})]}),Input:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.value,t?.value),[a,s]=d.useState(""),i=!!t?.value,c=i?r??"":a,u=i?o:s,p=e.validateOn??"blur",f=!!(t?.value&&e.checks?.length),{errors:h,validate:v}=Zt(t?.value??"",f?{checks:e.checks??[],validateOn:p}:void 0);return l.jsxs("div",{className:"space-y-2",children:[e.label&&l.jsx(ct,{htmlFor:e.name??void 0,children:e.label}),l.jsx(eE,{id:e.name??void 0,name:e.name??void 0,type:e.type??"text",placeholder:e.placeholder??"",value:c,onChange:y=>{u(y.target.value),f&&p==="change"&&v()},onKeyDown:y=>{y.key==="Enter"&&n("submit")},onFocus:()=>n("focus"),onBlur:()=>{f&&p==="blur"&&v(),n("blur")}}),h.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:h[0]})]})},Textarea:({props:e,bindings:t})=>{const[n,r]=Ze(e.value,t?.value),[o,a]=d.useState(""),s=!!t?.value,i=s?n??"":o,c=s?r:a,u=e.validateOn??"blur",p=!!(t?.value&&e.checks?.length),{errors:f,validate:h}=Zt(t?.value??"",p?{checks:e.checks??[],validateOn:u}:void 0);return l.jsxs("div",{className:"space-y-2",children:[e.label&&l.jsx(ct,{htmlFor:e.name??void 0,children:e.label}),l.jsx(tE,{id:e.name??void 0,name:e.name??void 0,placeholder:e.placeholder??"",rows:e.rows??3,value:i,onChange:v=>{c(v.target.value),p&&u==="change"&&h()},onBlur:()=>{p&&u==="blur"&&h()}}),f.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:f[0]})]})},Select:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.value,t?.value),[a,s]=d.useState(""),i=!!t?.value,c=i?r??"":a,u=i?o:s,f=(e.options??[]).map(b=>typeof b=="string"?b:String(b??"")),h=e.validateOn??"change",v=!!(t?.value&&e.checks?.length),{errors:y,validate:m}=Zt(t?.value??"",v?{checks:e.checks??[],validateOn:h}:void 0);return l.jsxs("div",{className:"space-y-2",children:[l.jsx(ct,{children:e.label}),l.jsxs(kE,{value:c,onValueChange:b=>{u(b),v&&h==="change"&&m(),n("change")},children:[l.jsx(NE,{className:"w-full",children:l.jsx(TE,{placeholder:e.placeholder??"Select..."})}),l.jsx(RE,{children:f.map((b,g)=>l.jsx(IE,{value:b||`option-${g}`,children:b},`${g}-${b}`))})]}),y.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:y[0]})]})},Checkbox:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.checked,t?.checked),[a,s]=d.useState(!!e.checked),i=!!t?.checked,c=i?r??!1:a,u=i?o:s,p=e.validateOn??"change",f=!!(t?.checked&&e.checks?.length),{errors:h,validate:v}=Zt(t?.checked??"",f?{checks:e.checks??[],validateOn:p}:void 0);return l.jsxs("div",{className:"space-y-1",children:[l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(nE,{id:e.name??void 0,checked:c,onCheckedChange:y=>{u(y===!0),f&&p==="change"&&v(),n("change")}}),l.jsx(ct,{htmlFor:e.name??void 0,className:"cursor-pointer",children:e.label})]}),h.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:h[0]})]})},Radio:({props:e,bindings:t,emit:n})=>{const o=(e.options??[]).map(b=>typeof b=="string"?b:String(b??"")),[a,s]=Ze(e.value,t?.value),[i,c]=d.useState(o[0]??""),u=!!t?.value,p=u?a??"":i,f=u?s:c,h=e.validateOn??"change",v=!!(t?.value&&e.checks?.length),{errors:y,validate:m}=Zt(t?.value??"",v?{checks:e.checks??[],validateOn:h}:void 0);return l.jsxs("div",{className:"space-y-2",children:[e.label&&l.jsx(ct,{children:e.label}),l.jsx(EE,{value:p,onValueChange:b=>{f(b),v&&h==="change"&&m(),n("change")},children:o.map((b,g)=>l.jsxs("div",{className:"flex items-center space-x-2",children:[l.jsx(PE,{value:b||`option-${g}`,id:`${e.name}-${g}-${b}`}),l.jsx(ct,{htmlFor:`${e.name}-${g}-${b}`,className:"cursor-pointer",children:b})]},`${g}-${b}`))}),y.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:y[0]})]})},Switch:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.checked,t?.checked),[a,s]=d.useState(!!e.checked),i=!!t?.checked,c=i?r??!1:a,u=i?o:s,p=e.validateOn??"change",f=!!(t?.checked&&e.checks?.length),{errors:h,validate:v}=Zt(t?.checked??"",f?{checks:e.checks??[],validateOn:p}:void 0);return l.jsxs("div",{className:"space-y-1",children:[l.jsxs("div",{className:"flex items-center justify-between space-x-2",children:[l.jsx(ct,{htmlFor:e.name??void 0,className:"cursor-pointer",children:e.label}),l.jsx(rE,{id:e.name??void 0,checked:c,onCheckedChange:y=>{u(y),f&&p==="change"&&v(),n("change")}})]}),h.length>0&&l.jsx("p",{className:"text-sm text-destructive",children:h[0]})]})},Slider:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.value,t?.value),[a,s]=d.useState(e.min??0),i=!!t?.value,c=i?r??e.min??0:a,u=i?o:s;return l.jsxs("div",{className:"space-y-2",children:[e.label&&l.jsxs("div",{className:"flex justify-between",children:[l.jsx(ct,{className:"text-sm",children:e.label}),l.jsx("span",{className:"text-sm text-muted-foreground",children:c})]}),l.jsx(hP,{value:[c],min:e.min??0,max:e.max??100,step:e.step??1,onValueChange:p=>{u(p[0]??0),n("change")}})]})},Button:({props:e,emit:t})=>{const n=e.variant==="danger"?"destructive":e.variant==="secondary"?"secondary":"default";return l.jsx(Sn,{variant:n,disabled:e.disabled??!1,onClick:()=>t("press"),children:e.label})},Link:({props:e,on:t})=>l.jsx("a",{href:e.href??"#",className:"text-primary underline-offset-4 hover:underline text-sm font-medium",onClick:n=>{const r=t("press");r.shouldPreventDefault&&n.preventDefault(),r.emit()},children:e.label}),DropdownMenu:({props:e,bindings:t,emit:n})=>{const r=e.items??[],[,o]=Ze(e.value,t?.value);return l.jsxs(tP,{children:[l.jsx(nP,{asChild:!0,children:l.jsx(Sn,{variant:"outline",children:e.label})}),l.jsx(rP,{children:r.map(a=>l.jsx(oP,{onClick:()=>{o(a.value),n("select")},children:a.label},a.value))})]})},Toggle:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.pressed,t?.pressed),[a,s]=d.useState(e.pressed??!1),i=!!t?.pressed,c=i?r??!1:a,u=i?o:s;return l.jsx(yP,{variant:e.variant??"default",pressed:c,onPressedChange:p=>{u(p),n("change")},children:e.label})},ToggleGroup:({props:e,bindings:t,emit:n})=>{const r=e.type??"single",o=e.items??[],[a,s]=Ze(e.value,t?.value),[i,c]=d.useState(o[0]?.value??""),u=!!t?.value,p=u?a??"":i,f=u?s:c;if(r==="multiple"){const h=p?p.split(",").filter(Boolean):[];return l.jsx(Ks,{type:"multiple",value:h,onValueChange:v=>{f(v.join(",")),n("change")},children:o.map(v=>l.jsx(Js,{value:v.value,children:v.label},v.value))})}return l.jsx(Ks,{type:"single",value:p,onValueChange:h=>{h&&(f(h),n("change"))},children:o.map(h=>l.jsx(Js,{value:h.value,children:h.label},h.value))})},ButtonGroup:({props:e,bindings:t,emit:n})=>{const r=e.buttons??[],[o,a]=Ze(e.selected,t?.selected),[s,i]=d.useState(r[0]?.value??""),c=!!t?.selected,u=c?o??"":s,p=c?a:i;return l.jsx("div",{className:"inline-flex rounded-md border border-border",children:r.map((f,h)=>l.jsx("button",{className:`px-3 py-1.5 text-sm transition-colors ${u===f.value?"bg-primary text-primary-foreground":"bg-background hover:bg-muted"} ${h>0?"border-l border-border":""} ${h===0?"rounded-l-md":""} ${h===r.length-1?"rounded-r-md":""}`,onClick:()=>{p(f.value),n("change")},children:f.label},f.value))})},Pagination:({props:e,bindings:t,emit:n})=>{const[r,o]=Ze(e.page,t?.page),a=r??1,s=e.totalPages??1,i=CP(a,s);return l.jsx(aP,{children:l.jsxs(sP,{children:[l.jsx(rr,{children:l.jsx(iP,{href:"#",onClick:c=>{c.preventDefault(),a>1&&(o(a-1),n("change"))}})}),i.map((c,u)=>c==="ellipsis"?l.jsx(rr,{children:l.jsx(lP,{})},`ellipsis-${u}`):l.jsx(rr,{children:l.jsx(La,{href:"#",isActive:c===a,onClick:p=>{p.preventDefault(),o(c),n("change")},children:c})},c)),l.jsx(rr,{children:l.jsx(cP,{href:"#",onClick:c=>{c.preventDefault(),a<s&&(o(a+1),n("change"))}})})]})})}};const PP=eb(tb,{components:Sb,actions:{}}),{registry:qs}=wb(PP,{components:EP});function Ho(e,t=new Set){if(Array.isArray(e)){for(const r of e)Ho(r,t);return t}if(!e||typeof e!="object")return t;const n=e;typeof n.action=="string"&&n.action.trim().length>0&&t.add(n.action);for(const r of Object.values(n))Ho(r,t);return t}function RP({spec:e,sessionId:t,extensionPath:n,initialState:r,onConfigSaved:o}){const a=Sf.getClient(),s=d.useMemo(()=>{const c=Ho(e.elements),u=Object.keys(e.actions??{});for(const p of u)c.add(p);return Array.from(c)},[e.actions,e.elements]),i=d.useMemo(()=>{const c={};for(const u of s)c[u]=async p=>{if(!a||!t||!n){no.error("Not connected");return}try{const f=await a.extensionUIAction(t,n,u,p);return await o?.(),u.toLowerCase().includes("save")&&no.success("Extension settings saved"),f}catch(f){const h=f instanceof Error?f.message:String(f);throw no.error(h),f}};return c},[s,a,n,o,t]);return l.jsx(yb,{registry:qs,initialState:r,handlers:i,children:l.jsx(bb,{spec:e,registry:qs})})}export{RP as J};