@rulemetric/local 0.18.1 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/meta.json +2 -2
- package/dist/server.mjs +579 -527
- package/dist/supabase/migrations/00241_canonical_experiments.sql +147 -0
- package/dist/supabase/migrations/00242_experiment_results_and_applications.sql +86 -0
- package/dist/supabase/migrations/00243_experiment_receipt_integrity.sql +61 -0
- package/dist/supabase/migrations/00244_experiment_history_completion.sql +32 -0
- package/dist/supabase/migrations/00245_experiment_fixture_guards.sql +20 -0
- package/dist/supabase/migrations/00246_experiment_target_retention.sql +5 -0
- package/dist/supabase/migrations/00247_historical_experiment_receipts.sql +89 -0
- package/dist/supabase/migrations/00248_bounded_study_repairs.sql +5 -0
- package/dist/supabase/migrations/00249_archive_unsupported_study_protocols.sql +17 -0
- package/dist/web/assets/{docs-BCYTAB4p.js → docs-DnOWHYi8.js} +23 -31
- package/dist/web/assets/{index-7QvMyVSq.js → index-B8q1tlwD.js} +55 -57
- package/dist/web/assets/index-CQ6mUBU7.css +1 -0
- package/dist/web/index.html +3 -3
- package/package.json +2 -2
- package/dist/web/assets/index-C0Y0tfIf.css +0 -1
|
@@ -6,7 +6,7 @@ function yc(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var lo;function xc(){if(lo)return kt;lo=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,s){var a=null;if(s!==void 0&&(a=""+s),o.key!==void 0&&(a=""+o.key),"key"in o){s={};for(var c in o)c!=="key"&&(s[c]=o[c])}else s=o;return o=s.ref,{$$typeof:e,type:r,key:a,ref:o!==void 0?o:null,props:s}}return kt.Fragment=t,kt.jsx=n,kt.jsxs=n,kt}var uo;function bc(){return uo||(uo=1,Dn.exports=xc()),Dn.exports}var i=bc(),Fn={exports:{}},
|
|
9
|
+
*/var lo;function xc(){if(lo)return kt;lo=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,s){var a=null;if(s!==void 0&&(a=""+s),o.key!==void 0&&(a=""+o.key),"key"in o){s={};for(var c in o)c!=="key"&&(s[c]=o[c])}else s=o;return o=s.ref,{$$typeof:e,type:r,key:a,ref:o!==void 0?o:null,props:s}}return kt.Fragment=t,kt.jsx=n,kt.jsxs=n,kt}var uo;function bc(){return uo||(uo=1,Dn.exports=xc()),Dn.exports}var i=bc(),Fn={exports:{}},B={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react.production.js
|
|
12
12
|
*
|
|
@@ -14,7 +14,7 @@ function yc(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var fo;function wc(){if(fo)return
|
|
17
|
+
*/var fo;function wc(){if(fo)return B;fo=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),a=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),h=Symbol.iterator;function g(y){return y===null||typeof y!="object"?null:(y=h&&y[h]||y["@@iterator"],typeof y=="function"?y:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,v={};function b(y,R,$){this.props=y,this.context=R,this.refs=v,this.updater=$||x}b.prototype.isReactComponent={},b.prototype.setState=function(y,R){if(typeof y!="object"&&typeof y!="function"&&y!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,y,R,"setState")},b.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,"forceUpdate")};function C(){}C.prototype=b.prototype;function w(y,R,$){this.props=y,this.context=R,this.refs=v,this.updater=$||x}var E=w.prototype=new C;E.constructor=w,m(E,b.prototype),E.isPureReactComponent=!0;var S=Array.isArray;function M(){}var k={H:null,A:null,T:null,S:null},A=Object.prototype.hasOwnProperty;function D(y,R,$){var L=$.ref;return{$$typeof:e,type:y,key:R,ref:L!==void 0?L:null,props:$}}function F(y,R){return D(y.type,R,y.props)}function H(y){return typeof y=="object"&&y!==null&&y.$$typeof===e}function _(y){var R={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function($){return R[$]})}var Y=/\/+/g;function U(y,R){return typeof y=="object"&&y!==null&&y.key!=null?_(""+y.key):R.toString(36)}function J(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(M,M):(y.status="pending",y.then(function(R){y.status==="pending"&&(y.status="fulfilled",y.value=R)},function(R){y.status==="pending"&&(y.status="rejected",y.reason=R)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function O(y,R,$,L,V){var W=typeof y;(W==="undefined"||W==="boolean")&&(y=null);var P=!1;if(y===null)P=!0;else switch(W){case"bigint":case"string":case"number":P=!0;break;case"object":switch(y.$$typeof){case e:case t:P=!0;break;case f:return P=y._init,O(P(y._payload),R,$,L,V)}}if(P)return V=V(y),P=L===""?"."+U(y,0):L,S(V)?($="",P!=null&&($=P.replace(Y,"$&/")+"/"),O(V,R,$,"",function(ee){return ee})):V!=null&&(H(V)&&(V=F(V,$+(V.key==null||y&&y.key===V.key?"":(""+V.key).replace(Y,"$&/")+"/")+P)),R.push(V)),1;P=0;var X=L===""?".":L+":";if(S(y))for(var G=0;G<y.length;G++)L=y[G],W=X+U(L,G),P+=O(L,R,$,W,V);else if(G=g(y),typeof G=="function")for(y=G.call(y),G=0;!(L=y.next()).done;)L=L.value,W=X+U(L,G++),P+=O(L,R,$,W,V);else if(W==="object"){if(typeof y.then=="function")return O(J(y),R,$,L,V);throw R=String(y),Error("Objects are not valid as a React child (found: "+(R==="[object Object]"?"object with keys {"+Object.keys(y).join(", ")+"}":R)+"). If you meant to render a collection of children, use an array instead.")}return P}function K(y,R,$){if(y==null)return y;var L=[],V=0;return O(y,L,"","",function(W){return R.call($,W,V++)}),L}function I(y){if(y._status===-1){var R=y._result;R=R(),R.then(function($){(y._status===0||y._status===-1)&&(y._status=1,y._result=$)},function($){(y._status===0||y._status===-1)&&(y._status=2,y._result=$)}),y._status===-1&&(y._status=0,y._result=R)}if(y._status===1)return y._result.default;throw y._result}var j=typeof reportError=="function"?reportError:function(y){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var R=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof y=="object"&&y!==null&&typeof y.message=="string"?String(y.message):String(y),error:y});if(!window.dispatchEvent(R))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",y);return}console.error(y)},Q={map:K,forEach:function(y,R,$){K(y,function(){R.apply(this,arguments)},$)},count:function(y){var R=0;return K(y,function(){R++}),R},toArray:function(y){return K(y,function(R){return R})||[]},only:function(y){if(!H(y))throw Error("React.Children.only expected to receive a single React element child.");return y}};return B.Activity=p,B.Children=Q,B.Component=b,B.Fragment=n,B.Profiler=o,B.PureComponent=w,B.StrictMode=r,B.Suspense=d,B.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,B.__COMPILER_RUNTIME={__proto__:null,c:function(y){return k.H.useMemoCache(y)}},B.cache=function(y){return function(){return y.apply(null,arguments)}},B.cacheSignal=function(){return null},B.cloneElement=function(y,R,$){if(y==null)throw Error("The argument must be a React element, but you passed "+y+".");var L=m({},y.props),V=y.key;if(R!=null)for(W in R.key!==void 0&&(V=""+R.key),R)!A.call(R,W)||W==="key"||W==="__self"||W==="__source"||W==="ref"&&R.ref===void 0||(L[W]=R[W]);var W=arguments.length-2;if(W===1)L.children=$;else if(1<W){for(var P=Array(W),X=0;X<W;X++)P[X]=arguments[X+2];L.children=P}return D(y.type,V,L)},B.createContext=function(y){return y={$$typeof:a,_currentValue:y,_currentValue2:y,_threadCount:0,Provider:null,Consumer:null},y.Provider=y,y.Consumer={$$typeof:s,_context:y},y},B.createElement=function(y,R,$){var L,V={},W=null;if(R!=null)for(L in R.key!==void 0&&(W=""+R.key),R)A.call(R,L)&&L!=="key"&&L!=="__self"&&L!=="__source"&&(V[L]=R[L]);var P=arguments.length-2;if(P===1)V.children=$;else if(1<P){for(var X=Array(P),G=0;G<P;G++)X[G]=arguments[G+2];V.children=X}if(y&&y.defaultProps)for(L in P=y.defaultProps,P)V[L]===void 0&&(V[L]=P[L]);return D(y,W,V)},B.createRef=function(){return{current:null}},B.forwardRef=function(y){return{$$typeof:c,render:y}},B.isValidElement=H,B.lazy=function(y){return{$$typeof:f,_payload:{_status:-1,_result:y},_init:I}},B.memo=function(y,R){return{$$typeof:u,type:y,compare:R===void 0?null:R}},B.startTransition=function(y){var R=k.T,$={};k.T=$;try{var L=y(),V=k.S;V!==null&&V($,L),typeof L=="object"&&L!==null&&typeof L.then=="function"&&L.then(M,j)}catch(W){j(W)}finally{R!==null&&$.types!==null&&(R.types=$.types),k.T=R}},B.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},B.use=function(y){return k.H.use(y)},B.useActionState=function(y,R,$){return k.H.useActionState(y,R,$)},B.useCallback=function(y,R){return k.H.useCallback(y,R)},B.useContext=function(y){return k.H.useContext(y)},B.useDebugValue=function(){},B.useDeferredValue=function(y,R){return k.H.useDeferredValue(y,R)},B.useEffect=function(y,R){return k.H.useEffect(y,R)},B.useEffectEvent=function(y){return k.H.useEffectEvent(y)},B.useId=function(){return k.H.useId()},B.useImperativeHandle=function(y,R,$){return k.H.useImperativeHandle(y,R,$)},B.useInsertionEffect=function(y,R){return k.H.useInsertionEffect(y,R)},B.useLayoutEffect=function(y,R){return k.H.useLayoutEffect(y,R)},B.useMemo=function(y,R){return k.H.useMemo(y,R)},B.useOptimistic=function(y,R){return k.H.useOptimistic(y,R)},B.useReducer=function(y,R,$){return k.H.useReducer(y,R,$)},B.useRef=function(y){return k.H.useRef(y)},B.useState=function(y){return k.H.useState(y)},B.useSyncExternalStore=function(y,R,$){return k.H.useSyncExternalStore(y,R,$)},B.useTransition=function(){return k.H.useTransition()},B.version="19.2.4",B}var po;function br(){return po||(po=1,Fn.exports=wc()),Fn.exports}var l=br();const We=ns(l),rs=yc({__proto__:null,default:We},[l]);var $n={exports:{}},ce={};/**
|
|
18
18
|
* @license React
|
|
19
19
|
* react-dom.production.js
|
|
20
20
|
*
|
|
@@ -31,9 +31,9 @@ function yc(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&
|
|
|
31
31
|
* LICENSE.md file in the root directory of this source tree.
|
|
32
32
|
*
|
|
33
33
|
* @license MIT
|
|
34
|
-
*/var go="popstate";function kc(e={}){function t(r,o){let{pathname:s,search:a,hash:c}=r.location;return nr("",{pathname:s,search:a,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(r,o){return typeof o=="string"?o:jt(o)}return Rc(t,n,null,e)}function ae(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function xe(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Sc(){return Math.random().toString(36).substring(2,10)}function vo(e,t){return{usr:e.state,key:e.key,idx:t}}function nr(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?pt(t):t,state:n,key:t&&t.key||r||Sc()}}function jt({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function pt(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function Rc(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,a=o.history,c="POP",d=null,u=f();u==null&&(u=0,a.replaceState({...a.state,idx:u},""));function f(){return(a.state||{idx:null}).idx}function p(){c="POP";let v=f(),b=v==null?null:v-u;u=v,d&&d({action:c,location:m.location,delta:b})}function h(v,b){c="PUSH";let C=nr(m.location,v,b);u=f()+1;let w=vo(C,u),E=m.createHref(C);try{a.pushState(w,"",E)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;o.location.assign(E)}s&&d&&d({action:c,location:m.location,delta:1})}function g(v,b){c="REPLACE";let C=nr(m.location,v,b);u=f();let w=vo(C,u),E=m.createHref(C);a.replaceState(w,"",E),s&&d&&d({action:c,location:m.location,delta:0})}function x(v){return Tc(v)}let m={get action(){return c},get location(){return e(o,a)},listen(v){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(go,p),d=v,()=>{o.removeEventListener(go,p),d=null}},createHref(v){return t(o,v)},createURL:x,encodeLocation(v){let b=x(v);return{pathname:b.pathname,search:b.search,hash:b.hash}},push:h,replace:g,go(v){return a.go(v)}};return m}function Tc(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),ae(n,"No window.location.(origin|href) available to create URL");let r=typeof e=="string"?e:jt(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function os(e,t,n="/"){return Mc(e,t,n,!1)}function Mc(e,t,n,r){let o=typeof t=="string"?pt(t):t,s=Fe(o.pathname||"/",n);if(s==null)return null;let a=ss(e);Pc(a);let c=null;for(let d=0;c==null&&d<a.length;++d){let u=Uc(s);c=Fc(a[d],u,r)}return c}function ss(e,t=[],n=[],r="",o=!1){let s=(a,c,d=o,u)=>{let f={relativePath:u===void 0?a.path||"":u,caseSensitive:a.caseSensitive===!0,childrenIndex:c,route:a};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(r)&&d)return;ae(f.relativePath.startsWith(r),`Absolute route path "${f.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(r.length)}let p=De([r,f.relativePath]),h=n.concat(f);a.children&&a.children.length>0&&(ae(a.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),ss(a.children,t,h,p,d)),!(a.path==null&&!a.index)&&t.push({path:p,score:Lc(p,a.index),routesMeta:h})};return e.forEach((a,c)=>{var d;if(a.path===""||!((d=a.path)!=null&&d.includes("?")))s(a,c);else for(let u of as(a.path))s(a,c,!0,u)}),t}function as(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return o?[s,""]:[s];let a=as(r.join("/")),c=[];return c.push(...a.map(d=>d===""?s:[s,d].join("/"))),o&&c.push(...a),c.map(d=>e.startsWith("/")&&d===""?"/":d)}function Pc(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Dc(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var jc=/^:[\w-]+$/,Ac=3,Nc=2,_c=1,Ic=10,Oc=-2,yo=e=>e==="*";function Lc(e,t){let n=e.split("/"),r=n.length;return n.some(yo)&&(r+=Oc),t&&(r+=Nc),n.filter(o=>!yo(o)).reduce((o,s)=>o+(jc.test(s)?Ac:s===""?_c:Ic),r)}function Dc(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Fc(e,t,n=!1){let{routesMeta:r}=e,o={},s="/",a=[];for(let c=0;c<r.length;++c){let d=r[c],u=c===r.length-1,f=s==="/"?t:t.slice(s.length)||"/",p=on({path:d.relativePath,caseSensitive:d.caseSensitive,end:u},f),h=d.route;if(!p&&u&&n&&!r[r.length-1].route.index&&(p=on({path:d.relativePath,caseSensitive:d.caseSensitive,end:!1},f)),!p)return null;Object.assign(o,p.params),a.push({params:o,pathname:De([s,p.pathname]),pathnameBase:Wc(De([s,p.pathnameBase])),route:h}),p.pathnameBase!=="/"&&(s=De([s,p.pathnameBase]))}return a}function on(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=$c(e.path,e.caseSensitive,e.end),o=t.match(n);if(!o)return null;let s=o[0],a=s.replace(/(.)\/+$/,"$1"),c=o.slice(1);return{params:r.reduce((u,{paramName:f,isOptional:p},h)=>{if(f==="*"){let x=c[h]||"";a=s.slice(0,s.length-x.length).replace(/(.)\/+$/,"$1")}const g=c[h];return p&&!g?u[f]=void 0:u[f]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:s,pathnameBase:a,pattern:e}}function $c(e,t=!1,n=!0){xe(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,c,d)=>(r.push({paramName:c,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function Uc(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return xe(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Fe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}var Bc=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Hc(e,t="/"){let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?pt(e):e,s;return n?(n=n.replace(/\/\/+/g,"/"),n.startsWith("/")?s=xo(n.substring(1),"/"):s=xo(n,t)):s=t,{pathname:s,search:Vc(r),hash:Gc(o)}}function xo(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function Un(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function zc(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function wr(e){let t=zc(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Cr(e,t,n,r=!1){let o;typeof e=="string"?o=pt(e):(o={...e},ae(!o.pathname||!o.pathname.includes("?"),Un("?","pathname","search",o)),ae(!o.pathname||!o.pathname.includes("#"),Un("#","pathname","hash",o)),ae(!o.search||!o.search.includes("#"),Un("#","search","hash",o)));let s=e===""||o.pathname==="",a=s?"/":o.pathname,c;if(a==null)c=n;else{let p=t.length-1;if(!r&&a.startsWith("..")){let h=a.split("/");for(;h[0]==="..";)h.shift(),p-=1;o.pathname=h.join("/")}c=p>=0?t[p]:"/"}let d=Hc(o,c),u=a&&a!=="/"&&a.endsWith("/"),f=(s||a===".")&&n.endsWith("/");return!d.pathname.endsWith("/")&&(u||f)&&(d.pathname+="/"),d}var De=e=>e.join("/").replace(/\/\/+/g,"/"),Wc=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Vc=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Gc=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,qc=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Kc(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Yc(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var is=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function cs(e,t){let n=e;if(typeof n!="string"||!Bc.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,o=!1;if(is)try{let s=new URL(window.location.href),a=n.startsWith("//")?new URL(s.protocol+n):new URL(n),c=Fe(a.pathname,t);a.origin===s.origin&&c!=null?n=c+a.search+a.hash:o=!0}catch{xe(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:o,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ls=["POST","PUT","PATCH","DELETE"];new Set(ls);var Xc=["GET",...ls];new Set(Xc);var ht=l.createContext(null);ht.displayName="DataRouter";var hn=l.createContext(null);hn.displayName="DataRouterState";var Zc=l.createContext(!1),us=l.createContext({isTransitioning:!1});us.displayName="ViewTransition";var Jc=l.createContext(new Map);Jc.displayName="Fetchers";var Qc=l.createContext(null);Qc.displayName="Await";var me=l.createContext(null);me.displayName="Navigation";var Ot=l.createContext(null);Ot.displayName="Location";var be=l.createContext({outlet:null,matches:[],isDataRoute:!1});be.displayName="Route";var Er=l.createContext(null);Er.displayName="RouteError";var ds="REACT_ROUTER_ERROR",el="REDIRECT",tl="ROUTE_ERROR_RESPONSE";function nl(e){if(e.startsWith(`${ds}:${el}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function rl(e){if(e.startsWith(`${ds}:${tl}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new qc(t.status,t.statusText,t.data)}catch{}}function ol(e,{relative:t}={}){ae(mt(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=l.useContext(me),{hash:o,pathname:s,search:a}=Lt(e,{relative:t}),c=s;return n!=="/"&&(c=s==="/"?n:De([n,s])),r.createHref({pathname:c,search:a,hash:o})}function mt(){return l.useContext(Ot)!=null}function Be(){return ae(mt(),"useLocation() may be used only in the context of a <Router> component."),l.useContext(Ot).location}var fs="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ps(e){l.useContext(me).static||l.useLayoutEffect(e)}function kr(){let{isDataRoute:e}=l.useContext(be);return e?xl():sl()}function sl(){ae(mt(),"useNavigate() may be used only in the context of a <Router> component.");let e=l.useContext(ht),{basename:t,navigator:n}=l.useContext(me),{matches:r}=l.useContext(be),{pathname:o}=Be(),s=JSON.stringify(wr(r)),a=l.useRef(!1);return ps(()=>{a.current=!0}),l.useCallback((d,u={})=>{if(xe(a.current,fs),!a.current)return;if(typeof d=="number"){n.go(d);return}let f=Cr(d,JSON.parse(s),o,u.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:De([t,f.pathname])),(u.replace?n.replace:n.push)(f,u.state,u)},[t,n,s,o,e])}var al=l.createContext(null);function il(e){let t=l.useContext(be).outlet;return l.useMemo(()=>t&&l.createElement(al.Provider,{value:e},t),[t,e])}function Ig(){let{matches:e}=l.useContext(be),t=e[e.length-1];return t?t.params:{}}function Lt(e,{relative:t}={}){let{matches:n}=l.useContext(be),{pathname:r}=Be(),o=JSON.stringify(wr(n));return l.useMemo(()=>Cr(e,JSON.parse(o),r,t==="path"),[e,o,r,t])}function cl(e,t){return hs(e,t)}function hs(e,t,n,r,o){var C;ae(mt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=l.useContext(me),{matches:a}=l.useContext(be),c=a[a.length-1],d=c?c.params:{},u=c?c.pathname:"/",f=c?c.pathnameBase:"/",p=c&&c.route;{let w=p&&p.path||"";gs(u,!p||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
34
|
+
*/var go="popstate";function kc(e={}){function t(r,o){let{pathname:s,search:a,hash:c}=r.location;return nr("",{pathname:s,search:a,hash:c},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(r,o){return typeof o=="string"?o:jt(o)}return Rc(t,n,null,e)}function ae(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function xe(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Sc(){return Math.random().toString(36).substring(2,10)}function vo(e,t){return{usr:e.state,key:e.key,idx:t}}function nr(e,t,n=null,r){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?pt(t):t,state:n,key:t&&t.key||r||Sc()}}function jt({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function pt(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function Rc(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,a=o.history,c="POP",d=null,u=f();u==null&&(u=0,a.replaceState({...a.state,idx:u},""));function f(){return(a.state||{idx:null}).idx}function p(){c="POP";let v=f(),b=v==null?null:v-u;u=v,d&&d({action:c,location:m.location,delta:b})}function h(v,b){c="PUSH";let C=nr(m.location,v,b);u=f()+1;let w=vo(C,u),E=m.createHref(C);try{a.pushState(w,"",E)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;o.location.assign(E)}s&&d&&d({action:c,location:m.location,delta:1})}function g(v,b){c="REPLACE";let C=nr(m.location,v,b);u=f();let w=vo(C,u),E=m.createHref(C);a.replaceState(w,"",E),s&&d&&d({action:c,location:m.location,delta:0})}function x(v){return Tc(v)}let m={get action(){return c},get location(){return e(o,a)},listen(v){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(go,p),d=v,()=>{o.removeEventListener(go,p),d=null}},createHref(v){return t(o,v)},createURL:x,encodeLocation(v){let b=x(v);return{pathname:b.pathname,search:b.search,hash:b.hash}},push:h,replace:g,go(v){return a.go(v)}};return m}function Tc(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),ae(n,"No window.location.(origin|href) available to create URL");let r=typeof e=="string"?e:jt(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function os(e,t,n="/"){return Mc(e,t,n,!1)}function Mc(e,t,n,r){let o=typeof t=="string"?pt(t):t,s=Fe(o.pathname||"/",n);if(s==null)return null;let a=ss(e);Pc(a);let c=null;for(let d=0;c==null&&d<a.length;++d){let u=Uc(s);c=Fc(a[d],u,r)}return c}function ss(e,t=[],n=[],r="",o=!1){let s=(a,c,d=o,u)=>{let f={relativePath:u===void 0?a.path||"":u,caseSensitive:a.caseSensitive===!0,childrenIndex:c,route:a};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(r)&&d)return;ae(f.relativePath.startsWith(r),`Absolute route path "${f.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(r.length)}let p=De([r,f.relativePath]),h=n.concat(f);a.children&&a.children.length>0&&(ae(a.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),ss(a.children,t,h,p,d)),!(a.path==null&&!a.index)&&t.push({path:p,score:Lc(p,a.index),routesMeta:h})};return e.forEach((a,c)=>{var d;if(a.path===""||!((d=a.path)!=null&&d.includes("?")))s(a,c);else for(let u of as(a.path))s(a,c,!0,u)}),t}function as(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return o?[s,""]:[s];let a=as(r.join("/")),c=[];return c.push(...a.map(d=>d===""?s:[s,d].join("/"))),o&&c.push(...a),c.map(d=>e.startsWith("/")&&d===""?"/":d)}function Pc(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Dc(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var jc=/^:[\w-]+$/,Ac=3,Nc=2,_c=1,Ic=10,Oc=-2,yo=e=>e==="*";function Lc(e,t){let n=e.split("/"),r=n.length;return n.some(yo)&&(r+=Oc),t&&(r+=Nc),n.filter(o=>!yo(o)).reduce((o,s)=>o+(jc.test(s)?Ac:s===""?_c:Ic),r)}function Dc(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Fc(e,t,n=!1){let{routesMeta:r}=e,o={},s="/",a=[];for(let c=0;c<r.length;++c){let d=r[c],u=c===r.length-1,f=s==="/"?t:t.slice(s.length)||"/",p=on({path:d.relativePath,caseSensitive:d.caseSensitive,end:u},f),h=d.route;if(!p&&u&&n&&!r[r.length-1].route.index&&(p=on({path:d.relativePath,caseSensitive:d.caseSensitive,end:!1},f)),!p)return null;Object.assign(o,p.params),a.push({params:o,pathname:De([s,p.pathname]),pathnameBase:Wc(De([s,p.pathnameBase])),route:h}),p.pathnameBase!=="/"&&(s=De([s,p.pathnameBase]))}return a}function on(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=$c(e.path,e.caseSensitive,e.end),o=t.match(n);if(!o)return null;let s=o[0],a=s.replace(/(.)\/+$/,"$1"),c=o.slice(1);return{params:r.reduce((u,{paramName:f,isOptional:p},h)=>{if(f==="*"){let x=c[h]||"";a=s.slice(0,s.length-x.length).replace(/(.)\/+$/,"$1")}const g=c[h];return p&&!g?u[f]=void 0:u[f]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:s,pathnameBase:a,pattern:e}}function $c(e,t=!1,n=!0){xe(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,c,d)=>(r.push({paramName:c,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function Uc(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return xe(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Fe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}var Hc=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Bc(e,t="/"){let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?pt(e):e,s;return n?(n=n.replace(/\/\/+/g,"/"),n.startsWith("/")?s=xo(n.substring(1),"/"):s=xo(n,t)):s=t,{pathname:s,search:Vc(r),hash:Gc(o)}}function xo(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function Un(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function zc(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function wr(e){let t=zc(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Cr(e,t,n,r=!1){let o;typeof e=="string"?o=pt(e):(o={...e},ae(!o.pathname||!o.pathname.includes("?"),Un("?","pathname","search",o)),ae(!o.pathname||!o.pathname.includes("#"),Un("#","pathname","hash",o)),ae(!o.search||!o.search.includes("#"),Un("#","search","hash",o)));let s=e===""||o.pathname==="",a=s?"/":o.pathname,c;if(a==null)c=n;else{let p=t.length-1;if(!r&&a.startsWith("..")){let h=a.split("/");for(;h[0]==="..";)h.shift(),p-=1;o.pathname=h.join("/")}c=p>=0?t[p]:"/"}let d=Bc(o,c),u=a&&a!=="/"&&a.endsWith("/"),f=(s||a===".")&&n.endsWith("/");return!d.pathname.endsWith("/")&&(u||f)&&(d.pathname+="/"),d}var De=e=>e.join("/").replace(/\/\/+/g,"/"),Wc=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Vc=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Gc=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,qc=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Kc(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Yc(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var is=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function cs(e,t){let n=e;if(typeof n!="string"||!Hc.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,o=!1;if(is)try{let s=new URL(window.location.href),a=n.startsWith("//")?new URL(s.protocol+n):new URL(n),c=Fe(a.pathname,t);a.origin===s.origin&&c!=null?n=c+a.search+a.hash:o=!0}catch{xe(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:o,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ls=["POST","PUT","PATCH","DELETE"];new Set(ls);var Xc=["GET",...ls];new Set(Xc);var ht=l.createContext(null);ht.displayName="DataRouter";var hn=l.createContext(null);hn.displayName="DataRouterState";var Zc=l.createContext(!1),us=l.createContext({isTransitioning:!1});us.displayName="ViewTransition";var Jc=l.createContext(new Map);Jc.displayName="Fetchers";var Qc=l.createContext(null);Qc.displayName="Await";var me=l.createContext(null);me.displayName="Navigation";var Ot=l.createContext(null);Ot.displayName="Location";var be=l.createContext({outlet:null,matches:[],isDataRoute:!1});be.displayName="Route";var Er=l.createContext(null);Er.displayName="RouteError";var ds="REACT_ROUTER_ERROR",el="REDIRECT",tl="ROUTE_ERROR_RESPONSE";function nl(e){if(e.startsWith(`${ds}:${el}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function rl(e){if(e.startsWith(`${ds}:${tl}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new qc(t.status,t.statusText,t.data)}catch{}}function ol(e,{relative:t}={}){ae(mt(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=l.useContext(me),{hash:o,pathname:s,search:a}=Lt(e,{relative:t}),c=s;return n!=="/"&&(c=s==="/"?n:De([n,s])),r.createHref({pathname:c,search:a,hash:o})}function mt(){return l.useContext(Ot)!=null}function He(){return ae(mt(),"useLocation() may be used only in the context of a <Router> component."),l.useContext(Ot).location}var fs="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ps(e){l.useContext(me).static||l.useLayoutEffect(e)}function kr(){let{isDataRoute:e}=l.useContext(be);return e?xl():sl()}function sl(){ae(mt(),"useNavigate() may be used only in the context of a <Router> component.");let e=l.useContext(ht),{basename:t,navigator:n}=l.useContext(me),{matches:r}=l.useContext(be),{pathname:o}=He(),s=JSON.stringify(wr(r)),a=l.useRef(!1);return ps(()=>{a.current=!0}),l.useCallback((d,u={})=>{if(xe(a.current,fs),!a.current)return;if(typeof d=="number"){n.go(d);return}let f=Cr(d,JSON.parse(s),o,u.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:De([t,f.pathname])),(u.replace?n.replace:n.push)(f,u.state,u)},[t,n,s,o,e])}var al=l.createContext(null);function il(e){let t=l.useContext(be).outlet;return l.useMemo(()=>t&&l.createElement(al.Provider,{value:e},t),[t,e])}function Ig(){let{matches:e}=l.useContext(be),t=e[e.length-1];return t?t.params:{}}function Lt(e,{relative:t}={}){let{matches:n}=l.useContext(be),{pathname:r}=He(),o=JSON.stringify(wr(n));return l.useMemo(()=>Cr(e,JSON.parse(o),r,t==="path"),[e,o,r,t])}function cl(e,t){return hs(e,t)}function hs(e,t,n,r,o){var C;ae(mt(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=l.useContext(me),{matches:a}=l.useContext(be),c=a[a.length-1],d=c?c.params:{},u=c?c.pathname:"/",f=c?c.pathnameBase:"/",p=c&&c.route;{let w=p&&p.path||"";gs(u,!p||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
35
35
|
|
|
36
|
-
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let h=Be(),g;if(t){let w=typeof t=="string"?pt(t):t;ae(f==="/"||((C=w.pathname)==null?void 0:C.startsWith(f)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${w.pathname}" was given in the \`location\` prop.`),g=w}else g=h;let x=g.pathname||"/",m=x;if(f!=="/"){let w=f.replace(/^\//,"").split("/");m="/"+x.replace(/^\//,"").split("/").slice(w.length).join("/")}let v=os(e,{pathname:m});xe(p||v!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),xe(v==null||v[v.length-1].route.element!==void 0||v[v.length-1].route.Component!==void 0||v[v.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let b=pl(v&&v.map(w=>Object.assign({},w,{params:Object.assign({},d,w.params),pathname:De([f,s.encodeLocation?s.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?f:De([f,s.encodeLocation?s.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),a,n,r,o);return t&&b?l.createElement(Ot.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},b):b}function ll(){let e=yl(),t=Kc(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},a=null;return console.error("Error handled by React Router default ErrorBoundary:",e),a=l.createElement(l.Fragment,null,l.createElement("p",null,"💿 Hey developer 👋"),l.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",l.createElement("code",{style:s},"ErrorBoundary")," or"," ",l.createElement("code",{style:s},"errorElement")," prop on your route.")),l.createElement(l.Fragment,null,l.createElement("h2",null,"Unexpected Application Error!"),l.createElement("h3",{style:{fontStyle:"italic"}},t),n?l.createElement("pre",{style:o},n):null,a)}var ul=l.createElement(ll,null),ms=class extends l.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=rl(e.digest);n&&(e=n)}let t=e!==void 0?l.createElement(be.Provider,{value:this.props.routeContext},l.createElement(Er.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?l.createElement(dl,{error:e},t):t}};ms.contextType=Zc;var Bn=new WeakMap;function dl({children:e,error:t}){let{basename:n}=l.useContext(me);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=nl(t.digest);if(r){let o=Bn.get(t);if(o)throw o;let s=cs(r.location,n);if(is&&!Bn.get(t))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const a=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw Bn.set(t,a),a}return l.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return e}function fl({routeContext:e,match:t,children:n}){let r=l.useContext(ht);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),l.createElement(be.Provider,{value:e},n)}function pl(e,t=[],n=null,r=null,o=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let s=e,a=n==null?void 0:n.errors;if(a!=null){let f=s.findIndex(p=>p.route.id&&(a==null?void 0:a[p.route.id])!==void 0);ae(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(",")}`),s=s.slice(0,Math.min(s.length,f+1))}let c=!1,d=-1;if(n)for(let f=0;f<s.length;f++){let p=s[f];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(d=f),p.route.id){let{loaderData:h,errors:g}=n,x=p.route.loader&&!h.hasOwnProperty(p.route.id)&&(!g||g[p.route.id]===void 0);if(p.route.lazy||x){c=!0,d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}let u=n&&r?(f,p)=>{var h,g;r(f,{location:n.location,params:((g=(h=n.matches)==null?void 0:h[0])==null?void 0:g.params)??{},unstable_pattern:Yc(n.matches),errorInfo:p})}:void 0;return s.reduceRight((f,p,h)=>{let g,x=!1,m=null,v=null;n&&(g=a&&p.route.id?a[p.route.id]:void 0,m=p.route.errorElement||ul,c&&(d<0&&h===0?(gs("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),x=!0,v=null):d===h&&(x=!0,v=p.route.hydrateFallbackElement||null)));let b=t.concat(s.slice(0,h+1)),C=()=>{let w;return g?w=m:x?w=v:p.route.Component?w=l.createElement(p.route.Component,null):p.route.element?w=p.route.element:w=f,l.createElement(fl,{match:p,routeContext:{outlet:f,matches:b,isDataRoute:n!=null},children:w})};return n&&(p.route.ErrorBoundary||p.route.errorElement||h===0)?l.createElement(ms,{location:n.location,revalidation:n.revalidation,component:m,error:g,children:C(),routeContext:{outlet:null,matches:b,isDataRoute:!0},onError:u}):C()},null)}function Sr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function hl(e){let t=l.useContext(ht);return ae(t,Sr(e)),t}function ml(e){let t=l.useContext(hn);return ae(t,Sr(e)),t}function gl(e){let t=l.useContext(be);return ae(t,Sr(e)),t}function Rr(e){let t=gl(e),n=t.matches[t.matches.length-1];return ae(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function vl(){return Rr("useRouteId")}function yl(){var r;let e=l.useContext(Er),t=ml("useRouteError"),n=Rr("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function xl(){let{router:e}=hl("useNavigate"),t=Rr("useNavigate"),n=l.useRef(!1);return ps(()=>{n.current=!0}),l.useCallback(async(o,s={})=>{xe(n.current,fs),n.current&&(typeof o=="number"?await e.navigate(o):await e.navigate(o,{fromRouteId:t,...s}))},[e,t])}var bo={};function gs(e,t,n){!t&&!bo[e]&&(bo[e]=!0,xe(!1,n))}l.memo(bl);function bl({routes:e,future:t,state:n,onError:r}){return hs(e,void 0,n,r,t)}function Og({to:e,replace:t,state:n,relative:r}){ae(mt(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=l.useContext(me);xe(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=l.useContext(be),{pathname:a}=Be(),c=kr(),d=Cr(e,wr(s),a,r==="path"),u=JSON.stringify(d);return l.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:r})},[c,u,r,t,n]),null}function Lg(e){return il(e.context)}function wl(e){ae(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Cl({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:o,static:s=!1,unstable_useTransitions:a}){ae(!mt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),d=l.useMemo(()=>({basename:c,navigator:o,static:s,unstable_useTransitions:a,future:{}}),[c,o,s,a]);typeof n=="string"&&(n=pt(n));let{pathname:u="/",search:f="",hash:p="",state:h=null,key:g="default"}=n,x=l.useMemo(()=>{let m=Fe(u,c);return m==null?null:{location:{pathname:m,search:f,hash:p,state:h,key:g},navigationType:r}},[c,u,f,p,h,g,r]);return xe(x!=null,`<Router basename="${c}"> is not able to match the URL "${u}${f}${p}" because it does not start with the basename, so the <Router> won't render anything.`),x==null?null:l.createElement(me.Provider,{value:d},l.createElement(Ot.Provider,{children:t,value:x}))}function Dg({children:e,location:t}){return cl(rr(e),t)}function rr(e,t=[]){let n=[];return l.Children.forEach(e,(r,o)=>{if(!l.isValidElement(r))return;let s=[...t,o];if(r.type===l.Fragment){n.push.apply(n,rr(r.props.children,s));return}ae(r.type===wl,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ae(!r.props.index||!r.props.children,"An index route cannot have child routes.");let a={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(a.children=rr(r.props.children,s)),n.push(a)}),n}var Qt="get",en="application/x-www-form-urlencoded";function mn(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function El(e){return mn(e)&&e.tagName.toLowerCase()==="button"}function kl(e){return mn(e)&&e.tagName.toLowerCase()==="form"}function Sl(e){return mn(e)&&e.tagName.toLowerCase()==="input"}function Rl(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Tl(e,t){return e.button===0&&(!t||t==="_self")&&!Rl(e)}function or(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(o=>[n,o]):[[n,r]])},[]))}function Ml(e,t){let n=or(e);return t&&t.forEach((r,o)=>{n.has(o)||t.getAll(o).forEach(s=>{n.append(o,s)})}),n}var Gt=null;function Pl(){if(Gt===null)try{new FormData(document.createElement("form"),0),Gt=!1}catch{Gt=!0}return Gt}var jl=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Hn(e){return e!=null&&!jl.has(e)?(xe(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${en}"`),null):e}function Al(e,t){let n,r,o,s,a;if(kl(e)){let c=e.getAttribute("action");r=c?Fe(c,t):null,n=e.getAttribute("method")||Qt,o=Hn(e.getAttribute("enctype"))||en,s=new FormData(e)}else if(El(e)||Sl(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let d=e.getAttribute("formaction")||c.getAttribute("action");if(r=d?Fe(d,t):null,n=e.getAttribute("formmethod")||c.getAttribute("method")||Qt,o=Hn(e.getAttribute("formenctype"))||Hn(c.getAttribute("enctype"))||en,s=new FormData(c,e),!Pl()){let{name:u,type:f,value:p}=e;if(f==="image"){let h=u?`${u}.`:"";s.append(`${h}x`,"0"),s.append(`${h}y`,"0")}else u&&s.append(u,p)}}else{if(mn(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Qt,r=null,o=en,a=e}return s&&o==="text/plain"&&(a=s,s=void 0),{action:r,method:n.toLowerCase(),encType:o,formData:s,body:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Tr(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Nl(e,t,n,r){let o=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${r}`:o.pathname=`${o.pathname}.${r}`:o.pathname==="/"?o.pathname=`_root.${r}`:t&&Fe(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${r}`,o}async function _l(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Il(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Ol(e,t,n){let r=await Promise.all(e.map(async o=>{let s=t.routes[o.route.id];if(s){let a=await _l(s,n);return a.links?a.links():[]}return[]}));return $l(r.flat(1).filter(Il).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function wo(e,t,n,r,o,s){let a=(d,u)=>n[u]?d.route.id!==n[u].route.id:!0,c=(d,u)=>{var f;return n[u].pathname!==d.pathname||((f=n[u].route.path)==null?void 0:f.endsWith("*"))&&n[u].params["*"]!==d.params["*"]};return s==="assets"?t.filter((d,u)=>a(d,u)||c(d,u)):s==="data"?t.filter((d,u)=>{var p;let f=r.routes[d.route.id];if(!f||!f.hasLoader)return!1;if(a(d,u)||c(d,u))return!0;if(d.route.shouldRevalidate){let h=d.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((p=n[0])==null?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function Ll(e,t,{includeHydrateFallback:n}={}){return Dl(e.map(r=>{let o=t.routes[r.route.id];if(!o)return[];let s=[o.module];return o.clientActionModule&&(s=s.concat(o.clientActionModule)),o.clientLoaderModule&&(s=s.concat(o.clientLoaderModule)),n&&o.hydrateFallbackModule&&(s=s.concat(o.hydrateFallbackModule)),o.imports&&(s=s.concat(o.imports)),s}).flat(1))}function Dl(e){return[...new Set(e)]}function Fl(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function $l(e,t){let n=new Set;return new Set(t),e.reduce((r,o)=>{let s=JSON.stringify(Fl(o));return n.has(s)||(n.add(s),r.push({key:s,link:o})),r},[])}function vs(){let e=l.useContext(ht);return Tr(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Ul(){let e=l.useContext(hn);return Tr(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Mr=l.createContext(void 0);Mr.displayName="FrameworkContext";function ys(){let e=l.useContext(Mr);return Tr(e,"You must render this element inside a <HydratedRouter> element"),e}function Bl(e,t){let n=l.useContext(Mr),[r,o]=l.useState(!1),[s,a]=l.useState(!1),{onFocus:c,onBlur:d,onMouseEnter:u,onMouseLeave:f,onTouchStart:p}=t,h=l.useRef(null);l.useEffect(()=>{if(e==="render"&&a(!0),e==="viewport"){let m=b=>{b.forEach(C=>{a(C.isIntersecting)})},v=new IntersectionObserver(m,{threshold:.5});return h.current&&v.observe(h.current),()=>{v.disconnect()}}},[e]),l.useEffect(()=>{if(r){let m=setTimeout(()=>{a(!0)},100);return()=>{clearTimeout(m)}}},[r]);let g=()=>{o(!0)},x=()=>{o(!1),a(!1)};return n?e!=="intent"?[s,h,{}]:[s,h,{onFocus:St(c,g),onBlur:St(d,x),onMouseEnter:St(u,g),onMouseLeave:St(f,x),onTouchStart:St(p,g)}]:[!1,h,{}]}function St(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Hl({page:e,...t}){let{router:n}=vs(),r=l.useMemo(()=>os(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?l.createElement(Wl,{page:e,matches:r,...t}):null}function zl(e){let{manifest:t,routeModules:n}=ys(),[r,o]=l.useState([]);return l.useEffect(()=>{let s=!1;return Ol(e,t,n).then(a=>{s||o(a)}),()=>{s=!0}},[e,t,n]),r}function Wl({page:e,matches:t,...n}){let r=Be(),{future:o,manifest:s,routeModules:a}=ys(),{basename:c}=vs(),{loaderData:d,matches:u}=Ul(),f=l.useMemo(()=>wo(e,t,u,s,r,"data"),[e,t,u,s,r]),p=l.useMemo(()=>wo(e,t,u,s,r,"assets"),[e,t,u,s,r]),h=l.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let m=new Set,v=!1;if(t.forEach(C=>{var E;let w=s.routes[C.route.id];!w||!w.hasLoader||(!f.some(S=>S.route.id===C.route.id)&&C.route.id in d&&((E=a[C.route.id])!=null&&E.shouldRevalidate)||w.hasClientLoader?v=!0:m.add(C.route.id))}),m.size===0)return[];let b=Nl(e,c,o.unstable_trailingSlashAwareDataRequests,"data");return v&&m.size>0&&b.searchParams.set("_routes",t.filter(C=>m.has(C.route.id)).map(C=>C.route.id).join(",")),[b.pathname+b.search]},[c,o.unstable_trailingSlashAwareDataRequests,d,r,s,f,t,e,a]),g=l.useMemo(()=>Ll(p,s),[p,s]),x=zl(p);return l.createElement(l.Fragment,null,h.map(m=>l.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...n})),g.map(m=>l.createElement("link",{key:m,rel:"modulepreload",href:m,...n})),x.map(({key:m,link:v})=>l.createElement("link",{key:m,nonce:n.nonce,...v,crossOrigin:v.crossOrigin??n.crossOrigin})))}function Vl(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Gl=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Gl&&(window.__reactRouterVersion="7.13.0")}catch{}function Fg({basename:e,children:t,unstable_useTransitions:n,window:r}){let o=l.useRef();o.current==null&&(o.current=kc({window:r,v5Compat:!0}));let s=o.current,[a,c]=l.useState({action:s.action,location:s.location}),d=l.useCallback(u=>{n===!1?c(u):l.startTransition(()=>c(u))},[n]);return l.useLayoutEffect(()=>s.listen(d),[s,d]),l.createElement(Cl,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:s,unstable_useTransitions:n})}var xs=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,gn=l.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:o,reloadDocument:s,replace:a,state:c,target:d,to:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h,...g},x){let{basename:m,unstable_useTransitions:v}=l.useContext(me),b=typeof u=="string"&&xs.test(u),C=cs(u,m);u=C.to;let w=ol(u,{relative:o}),[E,S,M]=Bl(r,g),k=Xl(u,{replace:a,state:c,target:d,preventScrollReset:f,relative:o,viewTransition:p,unstable_defaultShouldRevalidate:h,unstable_useTransitions:v});function A(F){t&&t(F),F.defaultPrevented||k(F)}let D=l.createElement("a",{...g,...M,href:C.absoluteURL||w,onClick:C.isExternal||s?t:A,ref:Vl(x,S),target:d,"data-discover":!b&&n==="render"?"true":void 0});return E&&!b?l.createElement(l.Fragment,null,D,l.createElement(Hl,{page:w})):D});gn.displayName="Link";var ql=l.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:o=!1,style:s,to:a,viewTransition:c,children:d,...u},f){let p=Lt(a,{relative:u.relative}),h=Be(),g=l.useContext(hn),{navigator:x,basename:m}=l.useContext(me),v=g!=null&&nu(p)&&c===!0,b=x.encodeLocation?x.encodeLocation(p).pathname:p.pathname,C=h.pathname,w=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;n||(C=C.toLowerCase(),w=w?w.toLowerCase():null,b=b.toLowerCase()),w&&m&&(w=Fe(w,m)||w);const E=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let S=C===b||!o&&C.startsWith(b)&&C.charAt(E)==="/",M=w!=null&&(w===b||!o&&w.startsWith(b)&&w.charAt(b.length)==="/"),k={isActive:S,isPending:M,isTransitioning:v},A=S?t:void 0,D;typeof r=="function"?D=r(k):D=[r,S?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let F=typeof s=="function"?s(k):s;return l.createElement(gn,{...u,"aria-current":A,className:D,ref:f,style:F,to:a,viewTransition:c},typeof d=="function"?d(k):d)});ql.displayName="NavLink";var Kl=l.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:o,state:s,method:a=Qt,action:c,onSubmit:d,relative:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h,...g},x)=>{let{unstable_useTransitions:m}=l.useContext(me),v=eu(),b=tu(c,{relative:u}),C=a.toLowerCase()==="get"?"get":"post",w=typeof c=="string"&&xs.test(c),E=S=>{if(d&&d(S),S.defaultPrevented)return;S.preventDefault();let M=S.nativeEvent.submitter,k=(M==null?void 0:M.getAttribute("formmethod"))||a,A=()=>v(M||S.currentTarget,{fetcherKey:t,method:k,navigate:n,replace:o,state:s,relative:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h});m&&n!==!1?l.startTransition(()=>A()):A()};return l.createElement("form",{ref:x,method:C,action:b,onSubmit:r?d:E,...g,"data-discover":!w&&e==="render"?"true":void 0})});Kl.displayName="Form";function Yl(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bs(e){let t=l.useContext(ht);return ae(t,Yl(e)),t}function Xl(e,{target:t,replace:n,state:r,preventScrollReset:o,relative:s,viewTransition:a,unstable_defaultShouldRevalidate:c,unstable_useTransitions:d}={}){let u=kr(),f=Be(),p=Lt(e,{relative:s});return l.useCallback(h=>{if(Tl(h,t)){h.preventDefault();let g=n!==void 0?n:jt(f)===jt(p),x=()=>u(e,{replace:g,state:r,preventScrollReset:o,relative:s,viewTransition:a,unstable_defaultShouldRevalidate:c});d?l.startTransition(()=>x()):x()}},[f,u,p,n,r,t,e,o,s,a,c,d])}function Zl(e){xe(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=l.useRef(or(e)),n=l.useRef(!1),r=Be(),o=l.useMemo(()=>Ml(r.search,n.current?null:t.current),[r.search]),s=kr(),a=l.useCallback((c,d)=>{const u=or(typeof c=="function"?c(new URLSearchParams(o)):c);n.current=!0,s("?"+u,d)},[s,o]);return[o,a]}var Jl=0,Ql=()=>`__${String(++Jl)}__`;function eu(){let{router:e}=bs("useSubmit"),{basename:t}=l.useContext(me),n=vl(),r=e.fetch,o=e.navigate;return l.useCallback(async(s,a={})=>{let{action:c,method:d,encType:u,formData:f,body:p}=Al(s,t);if(a.navigate===!1){let h=a.fetcherKey||Ql();await r(h,n,a.action||c,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:f,body:p,formMethod:a.method||d,formEncType:a.encType||u,flushSync:a.flushSync})}else await o(a.action||c,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:f,body:p,formMethod:a.method||d,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,o,t,n])}function tu(e,{relative:t}={}){let{basename:n}=l.useContext(me),r=l.useContext(be);ae(r,"useFormAction must be used inside a RouteContext");let[o]=r.matches.slice(-1),s={...Lt(e||".",{relative:t})},a=Be();if(e==null){s.search=a.search;let c=new URLSearchParams(s.search),d=c.getAll("index");if(d.some(f=>f==="")){c.delete("index"),d.filter(p=>p).forEach(p=>c.append("index",p));let f=c.toString();s.search=f?`?${f}`:""}}return(!e||e===".")&&o.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(s.pathname=s.pathname==="/"?n:De([n,s.pathname])),jt(s)}function nu(e,{relative:t}={}){let n=l.useContext(us);ae(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=bs("useViewTransitionState"),o=Lt(e,{relative:t});if(!n.isTransitioning)return!1;let s=Fe(n.currentLocation.pathname,r)||n.currentLocation.pathname,a=Fe(n.nextLocation.pathname,r)||n.nextLocation.pathname;return on(o.pathname,a)!=null||on(o.pathname,s)!=null}var je=function(){return je=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},je.apply(this,arguments)};function ws(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 $g(e,t,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(f){try{u(r.next(f))}catch(p){a(p)}}function d(f){try{u(r.throw(f))}catch(p){a(p)}}function u(f){f.done?s(f.value):o(f.value).then(c,d)}u((r=r.apply(e,t||[])).next())})}function ru(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return e.concat(s||Array.prototype.slice.call(t))}function Cs(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Cs(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Es(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Cs(e))&&(r&&(r+=" "),r+=t);return r}const Co=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Eo=Es,Pr=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Eo(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:s}=t,a=Object.keys(o).map(u=>{const f=n==null?void 0:n[u],p=s==null?void 0:s[u];if(f===null)return null;const h=Co(f)||Co(p);return o[u][h]}),c=n&&Object.entries(n).reduce((u,f)=>{let[p,h]=f;return h===void 0||(u[p]=h),u},{}),d=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,f)=>{let{class:p,className:h,...g}=f;return Object.entries(g).every(x=>{let[m,v]=x;return Array.isArray(v)?v.includes({...s,...c}[m]):{...s,...c}[m]===v})?[...u,p,h]:u},[]);return Eo(e,a,d,n==null?void 0:n.class,n==null?void 0:n.className)};var Dt=Ec();const ou=ns(Dt);function ko(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function vn(...e){return t=>{let n=!1;const r=e.map(o=>{const s=ko(o,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():ko(e[o],null)}}}}function ne(...e){return l.useCallback(vn(...e),e)}function Xe(e){const t=su(e),n=l.forwardRef((r,o)=>{const{children:s,...a}=r,c=l.Children.toArray(s),d=c.find(iu);if(d){const u=d.props.children,f=c.map(p=>p===d?l.Children.count(u)>1?l.Children.only(null):l.isValidElement(u)?u.props.children:null:p);return i.jsx(t,{...a,ref:o,children:l.isValidElement(u)?l.cloneElement(u,void 0,f):null})}return i.jsx(t,{...a,ref:o,children:s})});return n.displayName=`${e}.Slot`,n}var ks=Xe("Slot");function su(e){const t=l.forwardRef((n,r)=>{const{children:o,...s}=n;if(l.isValidElement(o)){const a=lu(o),c=cu(s,o.props);return o.type!==l.Fragment&&(c.ref=r?vn(r,a):a),l.cloneElement(o,c)}return l.Children.count(o)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ss=Symbol("radix.slottable");function au(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Ss,t}function iu(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ss}function cu(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{const d=s(...c);return o(...c),d}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}function lu(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var uu=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],z=uu.reduce((e,t)=>{const n=Xe(`Primitive.${t}`),r=l.forwardRef((o,s)=>{const{asChild:a,...c}=o,d=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...c,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Rs(e,t){e&&Dt.flushSync(()=>e.dispatchEvent(t))}var Ts=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"}),du="VisuallyHidden",Ms=l.forwardRef((e,t)=>i.jsx(z.span,{...e,ref:t,style:{...Ts,...e.style}}));Ms.displayName=du;var fu=Ms;function pu(e,t){const n=l.createContext(t),r=s=>{const{children:a,...c}=s,d=l.useMemo(()=>c,Object.values(c));return i.jsx(n.Provider,{value:d,children:a})};r.displayName=e+"Provider";function o(s){const a=l.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,o]}function Ie(e,t=[]){let n=[];function r(s,a){const c=l.createContext(a),d=n.length;n=[...n,a];const u=p=>{var b;const{scope:h,children:g,...x}=p,m=((b=h==null?void 0:h[e])==null?void 0:b[d])||c,v=l.useMemo(()=>x,Object.values(x));return i.jsx(m.Provider,{value:v,children:g})};u.displayName=s+"Provider";function f(p,h){var m;const g=((m=h==null?void 0:h[e])==null?void 0:m[d])||c,x=l.useContext(g);if(x)return x;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[u,f]}const o=()=>{const s=n.map(a=>l.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,hu(o,...t)]}function hu(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:u})=>{const p=d(s)[`__scope${u}`];return{...c,...p}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function jr(e){const t=e+"CollectionProvider",[n,r]=Ie(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:v,children:b}=m,C=We.useRef(null),w=We.useRef(new Map).current;return i.jsx(o,{scope:v,itemMap:w,collectionRef:C,children:b})};a.displayName=t;const c=e+"CollectionSlot",d=Xe(c),u=We.forwardRef((m,v)=>{const{scope:b,children:C}=m,w=s(c,b),E=ne(v,w.collectionRef);return i.jsx(d,{ref:E,children:C})});u.displayName=c;const f=e+"CollectionItemSlot",p="data-radix-collection-item",h=Xe(f),g=We.forwardRef((m,v)=>{const{scope:b,children:C,...w}=m,E=We.useRef(null),S=ne(v,E),M=s(f,b);return We.useEffect(()=>(M.itemMap.set(E,{ref:E,...w}),()=>void M.itemMap.delete(E))),i.jsx(h,{[p]:"",ref:S,children:C})});g.displayName=f;function x(m){const v=s(e+"CollectionConsumer",m);return We.useCallback(()=>{const C=v.collectionRef.current;if(!C)return[];const w=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(v.itemMap.values()).sort((M,k)=>w.indexOf(M.ref.current)-w.indexOf(k.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:a,Slot:u,ItemSlot:g},x,r]}function N(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}var ie=globalThis!=null&&globalThis.document?l.useLayoutEffect:()=>{},mu=rs[" useInsertionEffect ".trim().toString()]||ie;function Ze({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,s,a]=gu({defaultProp:t,onChange:n}),c=e!==void 0,d=c?e:o;{const f=l.useRef(e!==void 0);l.useEffect(()=>{const p=f.current;p!==c&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,r])}const u=l.useCallback(f=>{var p;if(c){const h=vu(f)?f(e):f;h!==e&&((p=a.current)==null||p.call(a,h))}else s(f)},[c,e,s,a]);return[d,u]}function gu({defaultProp:e,onChange:t}){const[n,r]=l.useState(e),o=l.useRef(n),s=l.useRef(t);return mu(()=>{s.current=t},[t]),l.useEffect(()=>{var a;o.current!==n&&((a=s.current)==null||a.call(s,n),o.current=n)},[n,o]),[n,r,s]}function vu(e){return typeof e=="function"}function yu(e,t){return l.useReducer((n,r)=>t[n][r]??n,e)}var Te=e=>{const{present:t,children:n}=e,r=xu(t),o=typeof n=="function"?n({present:r.isPresent}):l.Children.only(n),s=ne(r.ref,bu(o));return typeof n=="function"||r.isPresent?l.cloneElement(o,{ref:s}):null};Te.displayName="Presence";function xu(e){const[t,n]=l.useState(),r=l.useRef(null),o=l.useRef(e),s=l.useRef("none"),a=e?"mounted":"unmounted",[c,d]=yu(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return l.useEffect(()=>{const u=qt(r.current);s.current=c==="mounted"?u:"none"},[c]),ie(()=>{const u=r.current,f=o.current;if(f!==e){const h=s.current,g=qt(u);e?d("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?d("UNMOUNT"):d(f&&h!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),ie(()=>{if(t){let u;const f=t.ownerDocument.defaultView??window,p=g=>{const m=qt(r.current).includes(CSS.escape(g.animationName));if(g.target===t&&m&&(d("ANIMATION_END"),!o.current)){const v=t.style.animationFillMode;t.style.animationFillMode="forwards",u=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},h=g=>{g.target===t&&(s.current=qt(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{f.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:l.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function qt(e){return(e==null?void 0:e.animationName)||"none"}function bu(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wu=rs[" useId ".trim().toString()]||(()=>{}),Cu=0;function Ee(e){const[t,n]=l.useState(wu());return ie(()=>{n(r=>r??String(Cu++))},[e]),e||(t?`radix-${t}`:"")}var Eu=l.createContext(void 0);function yn(e){const t=l.useContext(Eu);return e||t||"ltr"}function ke(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function ku(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e);l.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 Su="DismissableLayer",sr="dismissableLayer.update",Ru="dismissableLayer.pointerDownOutside",Tu="dismissableLayer.focusOutside",So,Ps=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ft=l.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...d}=e,u=l.useContext(Ps),[f,p]=l.useState(null),h=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=l.useState({}),x=ne(t,k=>p(k)),m=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),b=m.indexOf(v),C=f?m.indexOf(f):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,E=C>=b,S=ju(k=>{const A=k.target,D=[...u.branches].some(F=>F.contains(A));!E||D||(o==null||o(k),a==null||a(k),k.defaultPrevented||c==null||c())},h),M=Au(k=>{const A=k.target;[...u.branches].some(F=>F.contains(A))||(s==null||s(k),a==null||a(k),k.defaultPrevented||c==null||c())},h);return ku(k=>{C===u.layers.size-1&&(r==null||r(k),!k.defaultPrevented&&c&&(k.preventDefault(),c()))},h),l.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(So=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),Ro(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=So)}},[f,h,n,u]),l.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),Ro())},[f,u]),l.useEffect(()=>{const k=()=>g({});return document.addEventListener(sr,k),()=>document.removeEventListener(sr,k)},[]),i.jsx(z.div,{...d,ref:x,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:N(e.onFocusCapture,M.onFocusCapture),onBlurCapture:N(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:N(e.onPointerDownCapture,S.onPointerDownCapture)})});Ft.displayName=Su;var Mu="DismissableLayerBranch",Pu=l.forwardRef((e,t)=>{const n=l.useContext(Ps),r=l.useRef(null),o=ne(t,r);return l.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),i.jsx(z.div,{...e,ref:o})});Pu.displayName=Mu;function ju(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e),r=l.useRef(!1),o=l.useRef(()=>{});return l.useEffect(()=>{const s=c=>{if(c.target&&!r.current){let d=function(){js(Ru,n,u,{discrete:!0})};const u={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Au(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e),r=l.useRef(!1);return l.useEffect(()=>{const o=s=>{s.target&&!r.current&&js(Tu,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ro(){const e=new CustomEvent(sr);document.dispatchEvent(e)}function js(e,t,n,{discrete:r}){const o=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Rs(o,s):o.dispatchEvent(s)}var zn="focusScope.autoFocusOnMount",Wn="focusScope.autoFocusOnUnmount",To={bubbles:!1,cancelable:!0},Nu="FocusScope",xn=l.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,d]=l.useState(null),u=ke(o),f=ke(s),p=l.useRef(null),h=ne(t,m=>d(m)),g=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(r){let m=function(w){if(g.paused||!c)return;const E=w.target;c.contains(E)?p.current=E:Ve(p.current,{select:!0})},v=function(w){if(g.paused||!c)return;const E=w.relatedTarget;E!==null&&(c.contains(E)||Ve(p.current,{select:!0}))},b=function(w){if(document.activeElement===document.body)for(const S of w)S.removedNodes.length>0&&Ve(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",v);const C=new MutationObserver(b);return c&&C.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",v),C.disconnect()}}},[r,c,g.paused]),l.useEffect(()=>{if(c){Po.add(g);const m=document.activeElement;if(!c.contains(m)){const b=new CustomEvent(zn,To);c.addEventListener(zn,u),c.dispatchEvent(b),b.defaultPrevented||(_u(Fu(As(c)),{select:!0}),document.activeElement===m&&Ve(c))}return()=>{c.removeEventListener(zn,u),setTimeout(()=>{const b=new CustomEvent(Wn,To);c.addEventListener(Wn,f),c.dispatchEvent(b),b.defaultPrevented||Ve(m??document.body,{select:!0}),c.removeEventListener(Wn,f),Po.remove(g)},0)}}},[c,u,f,g]);const x=l.useCallback(m=>{if(!n&&!r||g.paused)return;const v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,b=document.activeElement;if(v&&b){const C=m.currentTarget,[w,E]=Iu(C);w&&E?!m.shiftKey&&b===E?(m.preventDefault(),n&&Ve(w,{select:!0})):m.shiftKey&&b===w&&(m.preventDefault(),n&&Ve(E,{select:!0})):b===C&&m.preventDefault()}},[n,r,g.paused]);return i.jsx(z.div,{tabIndex:-1,...a,ref:h,onKeyDown:x})});xn.displayName=Nu;function _u(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Ve(r,{select:t}),document.activeElement!==n)return}function Iu(e){const t=As(e),n=Mo(t,e),r=Mo(t.reverse(),e);return[n,r]}function As(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 Mo(e,t){for(const n of e)if(!Ou(n,{upTo:t}))return n}function Ou(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 Lu(e){return e instanceof HTMLInputElement&&"select"in e}function Ve(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Lu(e)&&t&&e.select()}}var Po=Du();function Du(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=jo(e,t),e.unshift(t)},remove(t){var n;e=jo(e,t),(n=e[0])==null||n.resume()}}}function jo(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Fu(e){return e.filter(t=>t.tagName!=="A")}var $u="Portal",$t=l.forwardRef((e,t)=>{var c;const{container:n,...r}=e,[o,s]=l.useState(!1);ie(()=>s(!0),[]);const a=n||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ou.createPortal(i.jsx(z.div,{...r,ref:t}),a):null});$t.displayName=$u;var Vn=0;function Ar(){l.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ao()),document.body.insertAdjacentElement("beforeend",e[1]??Ao()),Vn++,()=>{Vn===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Vn--}},[])}function Ao(){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 tn="right-scroll-bar-position",nn="width-before-scroll-bar",Uu="with-scroll-bars-hidden",Bu="--removed-body-scroll-bar-size";function Gn(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Hu(e,t){var n=l.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 zu=typeof window<"u"?l.useLayoutEffect:l.useEffect,No=new WeakMap;function Wu(e,t){var n=Hu(null,function(r){return e.forEach(function(o){return Gn(o,r)})});return zu(function(){var r=No.get(n);if(r){var o=new Set(r),s=new Set(e),a=n.current;o.forEach(function(c){s.has(c)||Gn(c,null)}),s.forEach(function(c){o.has(c)||Gn(c,a)})}No.set(n,e)},[e]),n}function Vu(e){return e}function Gu(e,t){t===void 0&&(t=Vu);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(s){var a=t(s,r);return n.push(a),function(){n=n.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(r=!0;n.length;){var a=n;n=[],a.forEach(s)}n={push:function(c){return s(c)},filter:function(){return n}}},assignMedium:function(s){r=!0;var a=[];if(n.length){var c=n;n=[],c.forEach(s),a=n}var d=function(){var f=a;a=[],f.forEach(s)},u=function(){return Promise.resolve().then(d)};u(),n={push:function(f){a.push(f),u()},filter:function(f){return a=a.filter(f),n}}}};return o}function qu(e){e===void 0&&(e={});var t=Gu(null);return t.options=je({async:!0,ssr:!1},e),t}var Ns=function(e){var t=e.sideCar,n=ws(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 l.createElement(r,je({},n))};Ns.isSideCarExport=!0;function Ku(e,t){return e.useMedium(t),Ns}var _s=qu(),qn=function(){},bn=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:qn,onWheelCapture:qn,onTouchMoveCapture:qn}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,u=e.removeScrollBar,f=e.enabled,p=e.shards,h=e.sideCar,g=e.noRelative,x=e.noIsolation,m=e.inert,v=e.allowPinchZoom,b=e.as,C=b===void 0?"div":b,w=e.gapMode,E=ws(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=h,M=Wu([n,t]),k=je(je({},E),o);return l.createElement(l.Fragment,null,f&&l.createElement(S,{sideCar:_s,removeScrollBar:u,shards:p,noRelative:g,noIsolation:x,inert:m,setCallbacks:s,allowPinchZoom:!!v,lockRef:n,gapMode:w}),a?l.cloneElement(l.Children.only(c),je(je({},k),{ref:M})):l.createElement(C,je({},k,{className:d,ref:M}),c))});bn.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};bn.classNames={fullWidth:nn,zeroRight:tn};var Yu=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Xu(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Yu();return t&&e.setAttribute("nonce",t),e}function Zu(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ju(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Qu=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Xu())&&(Zu(t,n),Ju(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ed=function(){var e=Qu();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Is=function(){var e=ed(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},td={left:0,top:0,right:0,gap:0},Kn=function(e){return parseInt(e||"",10)||0},nd=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[Kn(n),Kn(r),Kn(o)]},rd=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return td;var t=nd(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])}},od=Is(),ct="data-scroll-locked",sd=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),`
|
|
36
|
+
Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let h=He(),g;if(t){let w=typeof t=="string"?pt(t):t;ae(f==="/"||((C=w.pathname)==null?void 0:C.startsWith(f)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${w.pathname}" was given in the \`location\` prop.`),g=w}else g=h;let x=g.pathname||"/",m=x;if(f!=="/"){let w=f.replace(/^\//,"").split("/");m="/"+x.replace(/^\//,"").split("/").slice(w.length).join("/")}let v=os(e,{pathname:m});xe(p||v!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),xe(v==null||v[v.length-1].route.element!==void 0||v[v.length-1].route.Component!==void 0||v[v.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let b=pl(v&&v.map(w=>Object.assign({},w,{params:Object.assign({},d,w.params),pathname:De([f,s.encodeLocation?s.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?f:De([f,s.encodeLocation?s.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),a,n,r,o);return t&&b?l.createElement(Ot.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},b):b}function ll(){let e=yl(),t=Kc(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},a=null;return console.error("Error handled by React Router default ErrorBoundary:",e),a=l.createElement(l.Fragment,null,l.createElement("p",null,"💿 Hey developer 👋"),l.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",l.createElement("code",{style:s},"ErrorBoundary")," or"," ",l.createElement("code",{style:s},"errorElement")," prop on your route.")),l.createElement(l.Fragment,null,l.createElement("h2",null,"Unexpected Application Error!"),l.createElement("h3",{style:{fontStyle:"italic"}},t),n?l.createElement("pre",{style:o},n):null,a)}var ul=l.createElement(ll,null),ms=class extends l.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=rl(e.digest);n&&(e=n)}let t=e!==void 0?l.createElement(be.Provider,{value:this.props.routeContext},l.createElement(Er.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?l.createElement(dl,{error:e},t):t}};ms.contextType=Zc;var Hn=new WeakMap;function dl({children:e,error:t}){let{basename:n}=l.useContext(me);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=nl(t.digest);if(r){let o=Hn.get(t);if(o)throw o;let s=cs(r.location,n);if(is&&!Hn.get(t))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const a=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw Hn.set(t,a),a}return l.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return e}function fl({routeContext:e,match:t,children:n}){let r=l.useContext(ht);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),l.createElement(be.Provider,{value:e},n)}function pl(e,t=[],n=null,r=null,o=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let s=e,a=n==null?void 0:n.errors;if(a!=null){let f=s.findIndex(p=>p.route.id&&(a==null?void 0:a[p.route.id])!==void 0);ae(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(",")}`),s=s.slice(0,Math.min(s.length,f+1))}let c=!1,d=-1;if(n)for(let f=0;f<s.length;f++){let p=s[f];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(d=f),p.route.id){let{loaderData:h,errors:g}=n,x=p.route.loader&&!h.hasOwnProperty(p.route.id)&&(!g||g[p.route.id]===void 0);if(p.route.lazy||x){c=!0,d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}let u=n&&r?(f,p)=>{var h,g;r(f,{location:n.location,params:((g=(h=n.matches)==null?void 0:h[0])==null?void 0:g.params)??{},unstable_pattern:Yc(n.matches),errorInfo:p})}:void 0;return s.reduceRight((f,p,h)=>{let g,x=!1,m=null,v=null;n&&(g=a&&p.route.id?a[p.route.id]:void 0,m=p.route.errorElement||ul,c&&(d<0&&h===0?(gs("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),x=!0,v=null):d===h&&(x=!0,v=p.route.hydrateFallbackElement||null)));let b=t.concat(s.slice(0,h+1)),C=()=>{let w;return g?w=m:x?w=v:p.route.Component?w=l.createElement(p.route.Component,null):p.route.element?w=p.route.element:w=f,l.createElement(fl,{match:p,routeContext:{outlet:f,matches:b,isDataRoute:n!=null},children:w})};return n&&(p.route.ErrorBoundary||p.route.errorElement||h===0)?l.createElement(ms,{location:n.location,revalidation:n.revalidation,component:m,error:g,children:C(),routeContext:{outlet:null,matches:b,isDataRoute:!0},onError:u}):C()},null)}function Sr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function hl(e){let t=l.useContext(ht);return ae(t,Sr(e)),t}function ml(e){let t=l.useContext(hn);return ae(t,Sr(e)),t}function gl(e){let t=l.useContext(be);return ae(t,Sr(e)),t}function Rr(e){let t=gl(e),n=t.matches[t.matches.length-1];return ae(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function vl(){return Rr("useRouteId")}function yl(){var r;let e=l.useContext(Er),t=ml("useRouteError"),n=Rr("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function xl(){let{router:e}=hl("useNavigate"),t=Rr("useNavigate"),n=l.useRef(!1);return ps(()=>{n.current=!0}),l.useCallback(async(o,s={})=>{xe(n.current,fs),n.current&&(typeof o=="number"?await e.navigate(o):await e.navigate(o,{fromRouteId:t,...s}))},[e,t])}var bo={};function gs(e,t,n){!t&&!bo[e]&&(bo[e]=!0,xe(!1,n))}l.memo(bl);function bl({routes:e,future:t,state:n,onError:r}){return hs(e,void 0,n,r,t)}function Og({to:e,replace:t,state:n,relative:r}){ae(mt(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=l.useContext(me);xe(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=l.useContext(be),{pathname:a}=He(),c=kr(),d=Cr(e,wr(s),a,r==="path"),u=JSON.stringify(d);return l.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:r})},[c,u,r,t,n]),null}function Lg(e){return il(e.context)}function wl(e){ae(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Cl({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:o,static:s=!1,unstable_useTransitions:a}){ae(!mt(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let c=e.replace(/^\/*/,"/"),d=l.useMemo(()=>({basename:c,navigator:o,static:s,unstable_useTransitions:a,future:{}}),[c,o,s,a]);typeof n=="string"&&(n=pt(n));let{pathname:u="/",search:f="",hash:p="",state:h=null,key:g="default"}=n,x=l.useMemo(()=>{let m=Fe(u,c);return m==null?null:{location:{pathname:m,search:f,hash:p,state:h,key:g},navigationType:r}},[c,u,f,p,h,g,r]);return xe(x!=null,`<Router basename="${c}"> is not able to match the URL "${u}${f}${p}" because it does not start with the basename, so the <Router> won't render anything.`),x==null?null:l.createElement(me.Provider,{value:d},l.createElement(Ot.Provider,{children:t,value:x}))}function Dg({children:e,location:t}){return cl(rr(e),t)}function rr(e,t=[]){let n=[];return l.Children.forEach(e,(r,o)=>{if(!l.isValidElement(r))return;let s=[...t,o];if(r.type===l.Fragment){n.push.apply(n,rr(r.props.children,s));return}ae(r.type===wl,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ae(!r.props.index||!r.props.children,"An index route cannot have child routes.");let a={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(a.children=rr(r.props.children,s)),n.push(a)}),n}var Qt="get",en="application/x-www-form-urlencoded";function mn(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function El(e){return mn(e)&&e.tagName.toLowerCase()==="button"}function kl(e){return mn(e)&&e.tagName.toLowerCase()==="form"}function Sl(e){return mn(e)&&e.tagName.toLowerCase()==="input"}function Rl(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Tl(e,t){return e.button===0&&(!t||t==="_self")&&!Rl(e)}function or(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(o=>[n,o]):[[n,r]])},[]))}function Ml(e,t){let n=or(e);return t&&t.forEach((r,o)=>{n.has(o)||t.getAll(o).forEach(s=>{n.append(o,s)})}),n}var Gt=null;function Pl(){if(Gt===null)try{new FormData(document.createElement("form"),0),Gt=!1}catch{Gt=!0}return Gt}var jl=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Bn(e){return e!=null&&!jl.has(e)?(xe(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${en}"`),null):e}function Al(e,t){let n,r,o,s,a;if(kl(e)){let c=e.getAttribute("action");r=c?Fe(c,t):null,n=e.getAttribute("method")||Qt,o=Bn(e.getAttribute("enctype"))||en,s=new FormData(e)}else if(El(e)||Sl(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let d=e.getAttribute("formaction")||c.getAttribute("action");if(r=d?Fe(d,t):null,n=e.getAttribute("formmethod")||c.getAttribute("method")||Qt,o=Bn(e.getAttribute("formenctype"))||Bn(c.getAttribute("enctype"))||en,s=new FormData(c,e),!Pl()){let{name:u,type:f,value:p}=e;if(f==="image"){let h=u?`${u}.`:"";s.append(`${h}x`,"0"),s.append(`${h}y`,"0")}else u&&s.append(u,p)}}else{if(mn(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Qt,r=null,o=en,a=e}return s&&o==="text/plain"&&(a=s,s=void 0),{action:r,method:n.toLowerCase(),encType:o,formData:s,body:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Tr(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Nl(e,t,n,r){let o=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${r}`:o.pathname=`${o.pathname}.${r}`:o.pathname==="/"?o.pathname=`_root.${r}`:t&&Fe(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${r}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${r}`,o}async function _l(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Il(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Ol(e,t,n){let r=await Promise.all(e.map(async o=>{let s=t.routes[o.route.id];if(s){let a=await _l(s,n);return a.links?a.links():[]}return[]}));return $l(r.flat(1).filter(Il).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function wo(e,t,n,r,o,s){let a=(d,u)=>n[u]?d.route.id!==n[u].route.id:!0,c=(d,u)=>{var f;return n[u].pathname!==d.pathname||((f=n[u].route.path)==null?void 0:f.endsWith("*"))&&n[u].params["*"]!==d.params["*"]};return s==="assets"?t.filter((d,u)=>a(d,u)||c(d,u)):s==="data"?t.filter((d,u)=>{var p;let f=r.routes[d.route.id];if(!f||!f.hasLoader)return!1;if(a(d,u)||c(d,u))return!0;if(d.route.shouldRevalidate){let h=d.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((p=n[0])==null?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function Ll(e,t,{includeHydrateFallback:n}={}){return Dl(e.map(r=>{let o=t.routes[r.route.id];if(!o)return[];let s=[o.module];return o.clientActionModule&&(s=s.concat(o.clientActionModule)),o.clientLoaderModule&&(s=s.concat(o.clientLoaderModule)),n&&o.hydrateFallbackModule&&(s=s.concat(o.hydrateFallbackModule)),o.imports&&(s=s.concat(o.imports)),s}).flat(1))}function Dl(e){return[...new Set(e)]}function Fl(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function $l(e,t){let n=new Set;return new Set(t),e.reduce((r,o)=>{let s=JSON.stringify(Fl(o));return n.has(s)||(n.add(s),r.push({key:s,link:o})),r},[])}function vs(){let e=l.useContext(ht);return Tr(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Ul(){let e=l.useContext(hn);return Tr(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Mr=l.createContext(void 0);Mr.displayName="FrameworkContext";function ys(){let e=l.useContext(Mr);return Tr(e,"You must render this element inside a <HydratedRouter> element"),e}function Hl(e,t){let n=l.useContext(Mr),[r,o]=l.useState(!1),[s,a]=l.useState(!1),{onFocus:c,onBlur:d,onMouseEnter:u,onMouseLeave:f,onTouchStart:p}=t,h=l.useRef(null);l.useEffect(()=>{if(e==="render"&&a(!0),e==="viewport"){let m=b=>{b.forEach(C=>{a(C.isIntersecting)})},v=new IntersectionObserver(m,{threshold:.5});return h.current&&v.observe(h.current),()=>{v.disconnect()}}},[e]),l.useEffect(()=>{if(r){let m=setTimeout(()=>{a(!0)},100);return()=>{clearTimeout(m)}}},[r]);let g=()=>{o(!0)},x=()=>{o(!1),a(!1)};return n?e!=="intent"?[s,h,{}]:[s,h,{onFocus:St(c,g),onBlur:St(d,x),onMouseEnter:St(u,g),onMouseLeave:St(f,x),onTouchStart:St(p,g)}]:[!1,h,{}]}function St(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Bl({page:e,...t}){let{router:n}=vs(),r=l.useMemo(()=>os(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?l.createElement(Wl,{page:e,matches:r,...t}):null}function zl(e){let{manifest:t,routeModules:n}=ys(),[r,o]=l.useState([]);return l.useEffect(()=>{let s=!1;return Ol(e,t,n).then(a=>{s||o(a)}),()=>{s=!0}},[e,t,n]),r}function Wl({page:e,matches:t,...n}){let r=He(),{future:o,manifest:s,routeModules:a}=ys(),{basename:c}=vs(),{loaderData:d,matches:u}=Ul(),f=l.useMemo(()=>wo(e,t,u,s,r,"data"),[e,t,u,s,r]),p=l.useMemo(()=>wo(e,t,u,s,r,"assets"),[e,t,u,s,r]),h=l.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let m=new Set,v=!1;if(t.forEach(C=>{var E;let w=s.routes[C.route.id];!w||!w.hasLoader||(!f.some(S=>S.route.id===C.route.id)&&C.route.id in d&&((E=a[C.route.id])!=null&&E.shouldRevalidate)||w.hasClientLoader?v=!0:m.add(C.route.id))}),m.size===0)return[];let b=Nl(e,c,o.unstable_trailingSlashAwareDataRequests,"data");return v&&m.size>0&&b.searchParams.set("_routes",t.filter(C=>m.has(C.route.id)).map(C=>C.route.id).join(",")),[b.pathname+b.search]},[c,o.unstable_trailingSlashAwareDataRequests,d,r,s,f,t,e,a]),g=l.useMemo(()=>Ll(p,s),[p,s]),x=zl(p);return l.createElement(l.Fragment,null,h.map(m=>l.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...n})),g.map(m=>l.createElement("link",{key:m,rel:"modulepreload",href:m,...n})),x.map(({key:m,link:v})=>l.createElement("link",{key:m,nonce:n.nonce,...v,crossOrigin:v.crossOrigin??n.crossOrigin})))}function Vl(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Gl=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Gl&&(window.__reactRouterVersion="7.13.0")}catch{}function Fg({basename:e,children:t,unstable_useTransitions:n,window:r}){let o=l.useRef();o.current==null&&(o.current=kc({window:r,v5Compat:!0}));let s=o.current,[a,c]=l.useState({action:s.action,location:s.location}),d=l.useCallback(u=>{n===!1?c(u):l.startTransition(()=>c(u))},[n]);return l.useLayoutEffect(()=>s.listen(d),[s,d]),l.createElement(Cl,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:s,unstable_useTransitions:n})}var xs=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,gn=l.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:o,reloadDocument:s,replace:a,state:c,target:d,to:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h,...g},x){let{basename:m,unstable_useTransitions:v}=l.useContext(me),b=typeof u=="string"&&xs.test(u),C=cs(u,m);u=C.to;let w=ol(u,{relative:o}),[E,S,M]=Hl(r,g),k=Xl(u,{replace:a,state:c,target:d,preventScrollReset:f,relative:o,viewTransition:p,unstable_defaultShouldRevalidate:h,unstable_useTransitions:v});function A(F){t&&t(F),F.defaultPrevented||k(F)}let D=l.createElement("a",{...g,...M,href:C.absoluteURL||w,onClick:C.isExternal||s?t:A,ref:Vl(x,S),target:d,"data-discover":!b&&n==="render"?"true":void 0});return E&&!b?l.createElement(l.Fragment,null,D,l.createElement(Bl,{page:w})):D});gn.displayName="Link";var ql=l.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:o=!1,style:s,to:a,viewTransition:c,children:d,...u},f){let p=Lt(a,{relative:u.relative}),h=He(),g=l.useContext(hn),{navigator:x,basename:m}=l.useContext(me),v=g!=null&&nu(p)&&c===!0,b=x.encodeLocation?x.encodeLocation(p).pathname:p.pathname,C=h.pathname,w=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;n||(C=C.toLowerCase(),w=w?w.toLowerCase():null,b=b.toLowerCase()),w&&m&&(w=Fe(w,m)||w);const E=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let S=C===b||!o&&C.startsWith(b)&&C.charAt(E)==="/",M=w!=null&&(w===b||!o&&w.startsWith(b)&&w.charAt(b.length)==="/"),k={isActive:S,isPending:M,isTransitioning:v},A=S?t:void 0,D;typeof r=="function"?D=r(k):D=[r,S?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let F=typeof s=="function"?s(k):s;return l.createElement(gn,{...u,"aria-current":A,className:D,ref:f,style:F,to:a,viewTransition:c},typeof d=="function"?d(k):d)});ql.displayName="NavLink";var Kl=l.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:o,state:s,method:a=Qt,action:c,onSubmit:d,relative:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h,...g},x)=>{let{unstable_useTransitions:m}=l.useContext(me),v=eu(),b=tu(c,{relative:u}),C=a.toLowerCase()==="get"?"get":"post",w=typeof c=="string"&&xs.test(c),E=S=>{if(d&&d(S),S.defaultPrevented)return;S.preventDefault();let M=S.nativeEvent.submitter,k=(M==null?void 0:M.getAttribute("formmethod"))||a,A=()=>v(M||S.currentTarget,{fetcherKey:t,method:k,navigate:n,replace:o,state:s,relative:u,preventScrollReset:f,viewTransition:p,unstable_defaultShouldRevalidate:h});m&&n!==!1?l.startTransition(()=>A()):A()};return l.createElement("form",{ref:x,method:C,action:b,onSubmit:r?d:E,...g,"data-discover":!w&&e==="render"?"true":void 0})});Kl.displayName="Form";function Yl(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bs(e){let t=l.useContext(ht);return ae(t,Yl(e)),t}function Xl(e,{target:t,replace:n,state:r,preventScrollReset:o,relative:s,viewTransition:a,unstable_defaultShouldRevalidate:c,unstable_useTransitions:d}={}){let u=kr(),f=He(),p=Lt(e,{relative:s});return l.useCallback(h=>{if(Tl(h,t)){h.preventDefault();let g=n!==void 0?n:jt(f)===jt(p),x=()=>u(e,{replace:g,state:r,preventScrollReset:o,relative:s,viewTransition:a,unstable_defaultShouldRevalidate:c});d?l.startTransition(()=>x()):x()}},[f,u,p,n,r,t,e,o,s,a,c,d])}function Zl(e){xe(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=l.useRef(or(e)),n=l.useRef(!1),r=He(),o=l.useMemo(()=>Ml(r.search,n.current?null:t.current),[r.search]),s=kr(),a=l.useCallback((c,d)=>{const u=or(typeof c=="function"?c(new URLSearchParams(o)):c);n.current=!0,s("?"+u,d)},[s,o]);return[o,a]}var Jl=0,Ql=()=>`__${String(++Jl)}__`;function eu(){let{router:e}=bs("useSubmit"),{basename:t}=l.useContext(me),n=vl(),r=e.fetch,o=e.navigate;return l.useCallback(async(s,a={})=>{let{action:c,method:d,encType:u,formData:f,body:p}=Al(s,t);if(a.navigate===!1){let h=a.fetcherKey||Ql();await r(h,n,a.action||c,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:f,body:p,formMethod:a.method||d,formEncType:a.encType||u,flushSync:a.flushSync})}else await o(a.action||c,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:f,body:p,formMethod:a.method||d,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,o,t,n])}function tu(e,{relative:t}={}){let{basename:n}=l.useContext(me),r=l.useContext(be);ae(r,"useFormAction must be used inside a RouteContext");let[o]=r.matches.slice(-1),s={...Lt(e||".",{relative:t})},a=He();if(e==null){s.search=a.search;let c=new URLSearchParams(s.search),d=c.getAll("index");if(d.some(f=>f==="")){c.delete("index"),d.filter(p=>p).forEach(p=>c.append("index",p));let f=c.toString();s.search=f?`?${f}`:""}}return(!e||e===".")&&o.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(s.pathname=s.pathname==="/"?n:De([n,s.pathname])),jt(s)}function nu(e,{relative:t}={}){let n=l.useContext(us);ae(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=bs("useViewTransitionState"),o=Lt(e,{relative:t});if(!n.isTransitioning)return!1;let s=Fe(n.currentLocation.pathname,r)||n.currentLocation.pathname,a=Fe(n.nextLocation.pathname,r)||n.nextLocation.pathname;return on(o.pathname,a)!=null||on(o.pathname,s)!=null}var je=function(){return je=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},je.apply(this,arguments)};function ws(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 $g(e,t,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(f){try{u(r.next(f))}catch(p){a(p)}}function d(f){try{u(r.throw(f))}catch(p){a(p)}}function u(f){f.done?s(f.value):o(f.value).then(c,d)}u((r=r.apply(e,t||[])).next())})}function ru(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return e.concat(s||Array.prototype.slice.call(t))}function Cs(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Cs(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Es(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Cs(e))&&(r&&(r+=" "),r+=t);return r}const Co=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Eo=Es,Pr=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Eo(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:s}=t,a=Object.keys(o).map(u=>{const f=n==null?void 0:n[u],p=s==null?void 0:s[u];if(f===null)return null;const h=Co(f)||Co(p);return o[u][h]}),c=n&&Object.entries(n).reduce((u,f)=>{let[p,h]=f;return h===void 0||(u[p]=h),u},{}),d=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,f)=>{let{class:p,className:h,...g}=f;return Object.entries(g).every(x=>{let[m,v]=x;return Array.isArray(v)?v.includes({...s,...c}[m]):{...s,...c}[m]===v})?[...u,p,h]:u},[]);return Eo(e,a,d,n==null?void 0:n.class,n==null?void 0:n.className)};var Dt=Ec();const ou=ns(Dt);function ko(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function vn(...e){return t=>{let n=!1;const r=e.map(o=>{const s=ko(o,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():ko(e[o],null)}}}}function ne(...e){return l.useCallback(vn(...e),e)}function Xe(e){const t=su(e),n=l.forwardRef((r,o)=>{const{children:s,...a}=r,c=l.Children.toArray(s),d=c.find(iu);if(d){const u=d.props.children,f=c.map(p=>p===d?l.Children.count(u)>1?l.Children.only(null):l.isValidElement(u)?u.props.children:null:p);return i.jsx(t,{...a,ref:o,children:l.isValidElement(u)?l.cloneElement(u,void 0,f):null})}return i.jsx(t,{...a,ref:o,children:s})});return n.displayName=`${e}.Slot`,n}var ks=Xe("Slot");function su(e){const t=l.forwardRef((n,r)=>{const{children:o,...s}=n;if(l.isValidElement(o)){const a=lu(o),c=cu(s,o.props);return o.type!==l.Fragment&&(c.ref=r?vn(r,a):a),l.cloneElement(o,c)}return l.Children.count(o)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ss=Symbol("radix.slottable");function au(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Ss,t}function iu(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ss}function cu(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{const d=s(...c);return o(...c),d}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}function lu(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var uu=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],z=uu.reduce((e,t)=>{const n=Xe(`Primitive.${t}`),r=l.forwardRef((o,s)=>{const{asChild:a,...c}=o,d=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...c,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Rs(e,t){e&&Dt.flushSync(()=>e.dispatchEvent(t))}var Ts=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"}),du="VisuallyHidden",Ms=l.forwardRef((e,t)=>i.jsx(z.span,{...e,ref:t,style:{...Ts,...e.style}}));Ms.displayName=du;var fu=Ms;function pu(e,t){const n=l.createContext(t),r=s=>{const{children:a,...c}=s,d=l.useMemo(()=>c,Object.values(c));return i.jsx(n.Provider,{value:d,children:a})};r.displayName=e+"Provider";function o(s){const a=l.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,o]}function Ie(e,t=[]){let n=[];function r(s,a){const c=l.createContext(a),d=n.length;n=[...n,a];const u=p=>{var b;const{scope:h,children:g,...x}=p,m=((b=h==null?void 0:h[e])==null?void 0:b[d])||c,v=l.useMemo(()=>x,Object.values(x));return i.jsx(m.Provider,{value:v,children:g})};u.displayName=s+"Provider";function f(p,h){var m;const g=((m=h==null?void 0:h[e])==null?void 0:m[d])||c,x=l.useContext(g);if(x)return x;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[u,f]}const o=()=>{const s=n.map(a=>l.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,hu(o,...t)]}function hu(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:u})=>{const p=d(s)[`__scope${u}`];return{...c,...p}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function jr(e){const t=e+"CollectionProvider",[n,r]=Ie(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:v,children:b}=m,C=We.useRef(null),w=We.useRef(new Map).current;return i.jsx(o,{scope:v,itemMap:w,collectionRef:C,children:b})};a.displayName=t;const c=e+"CollectionSlot",d=Xe(c),u=We.forwardRef((m,v)=>{const{scope:b,children:C}=m,w=s(c,b),E=ne(v,w.collectionRef);return i.jsx(d,{ref:E,children:C})});u.displayName=c;const f=e+"CollectionItemSlot",p="data-radix-collection-item",h=Xe(f),g=We.forwardRef((m,v)=>{const{scope:b,children:C,...w}=m,E=We.useRef(null),S=ne(v,E),M=s(f,b);return We.useEffect(()=>(M.itemMap.set(E,{ref:E,...w}),()=>void M.itemMap.delete(E))),i.jsx(h,{[p]:"",ref:S,children:C})});g.displayName=f;function x(m){const v=s(e+"CollectionConsumer",m);return We.useCallback(()=>{const C=v.collectionRef.current;if(!C)return[];const w=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(v.itemMap.values()).sort((M,k)=>w.indexOf(M.ref.current)-w.indexOf(k.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:a,Slot:u,ItemSlot:g},x,r]}function N(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}var ie=globalThis!=null&&globalThis.document?l.useLayoutEffect:()=>{},mu=rs[" useInsertionEffect ".trim().toString()]||ie;function Ze({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,s,a]=gu({defaultProp:t,onChange:n}),c=e!==void 0,d=c?e:o;{const f=l.useRef(e!==void 0);l.useEffect(()=>{const p=f.current;p!==c&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,r])}const u=l.useCallback(f=>{var p;if(c){const h=vu(f)?f(e):f;h!==e&&((p=a.current)==null||p.call(a,h))}else s(f)},[c,e,s,a]);return[d,u]}function gu({defaultProp:e,onChange:t}){const[n,r]=l.useState(e),o=l.useRef(n),s=l.useRef(t);return mu(()=>{s.current=t},[t]),l.useEffect(()=>{var a;o.current!==n&&((a=s.current)==null||a.call(s,n),o.current=n)},[n,o]),[n,r,s]}function vu(e){return typeof e=="function"}function yu(e,t){return l.useReducer((n,r)=>t[n][r]??n,e)}var Te=e=>{const{present:t,children:n}=e,r=xu(t),o=typeof n=="function"?n({present:r.isPresent}):l.Children.only(n),s=ne(r.ref,bu(o));return typeof n=="function"||r.isPresent?l.cloneElement(o,{ref:s}):null};Te.displayName="Presence";function xu(e){const[t,n]=l.useState(),r=l.useRef(null),o=l.useRef(e),s=l.useRef("none"),a=e?"mounted":"unmounted",[c,d]=yu(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return l.useEffect(()=>{const u=qt(r.current);s.current=c==="mounted"?u:"none"},[c]),ie(()=>{const u=r.current,f=o.current;if(f!==e){const h=s.current,g=qt(u);e?d("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?d("UNMOUNT"):d(f&&h!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),ie(()=>{if(t){let u;const f=t.ownerDocument.defaultView??window,p=g=>{const m=qt(r.current).includes(CSS.escape(g.animationName));if(g.target===t&&m&&(d("ANIMATION_END"),!o.current)){const v=t.style.animationFillMode;t.style.animationFillMode="forwards",u=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},h=g=>{g.target===t&&(s.current=qt(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{f.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:l.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function qt(e){return(e==null?void 0:e.animationName)||"none"}function bu(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wu=rs[" useId ".trim().toString()]||(()=>{}),Cu=0;function Ee(e){const[t,n]=l.useState(wu());return ie(()=>{n(r=>r??String(Cu++))},[e]),e||(t?`radix-${t}`:"")}var Eu=l.createContext(void 0);function yn(e){const t=l.useContext(Eu);return e||t||"ltr"}function ke(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function ku(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e);l.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 Su="DismissableLayer",sr="dismissableLayer.update",Ru="dismissableLayer.pointerDownOutside",Tu="dismissableLayer.focusOutside",So,Ps=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ft=l.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:c,...d}=e,u=l.useContext(Ps),[f,p]=l.useState(null),h=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=l.useState({}),x=ne(t,k=>p(k)),m=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),b=m.indexOf(v),C=f?m.indexOf(f):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,E=C>=b,S=ju(k=>{const A=k.target,D=[...u.branches].some(F=>F.contains(A));!E||D||(o==null||o(k),a==null||a(k),k.defaultPrevented||c==null||c())},h),M=Au(k=>{const A=k.target;[...u.branches].some(F=>F.contains(A))||(s==null||s(k),a==null||a(k),k.defaultPrevented||c==null||c())},h);return ku(k=>{C===u.layers.size-1&&(r==null||r(k),!k.defaultPrevented&&c&&(k.preventDefault(),c()))},h),l.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(So=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),Ro(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=So)}},[f,h,n,u]),l.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),Ro())},[f,u]),l.useEffect(()=>{const k=()=>g({});return document.addEventListener(sr,k),()=>document.removeEventListener(sr,k)},[]),i.jsx(z.div,{...d,ref:x,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:N(e.onFocusCapture,M.onFocusCapture),onBlurCapture:N(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:N(e.onPointerDownCapture,S.onPointerDownCapture)})});Ft.displayName=Su;var Mu="DismissableLayerBranch",Pu=l.forwardRef((e,t)=>{const n=l.useContext(Ps),r=l.useRef(null),o=ne(t,r);return l.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),i.jsx(z.div,{...e,ref:o})});Pu.displayName=Mu;function ju(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e),r=l.useRef(!1),o=l.useRef(()=>{});return l.useEffect(()=>{const s=c=>{if(c.target&&!r.current){let d=function(){js(Ru,n,u,{discrete:!0})};const u={originalEvent:c};c.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=d,t.addEventListener("click",o.current,{once:!0})):d()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Au(e,t=globalThis==null?void 0:globalThis.document){const n=ke(e),r=l.useRef(!1);return l.useEffect(()=>{const o=s=>{s.target&&!r.current&&js(Tu,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ro(){const e=new CustomEvent(sr);document.dispatchEvent(e)}function js(e,t,n,{discrete:r}){const o=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Rs(o,s):o.dispatchEvent(s)}var zn="focusScope.autoFocusOnMount",Wn="focusScope.autoFocusOnUnmount",To={bubbles:!1,cancelable:!0},Nu="FocusScope",xn=l.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=e,[c,d]=l.useState(null),u=ke(o),f=ke(s),p=l.useRef(null),h=ne(t,m=>d(m)),g=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(r){let m=function(w){if(g.paused||!c)return;const E=w.target;c.contains(E)?p.current=E:Ve(p.current,{select:!0})},v=function(w){if(g.paused||!c)return;const E=w.relatedTarget;E!==null&&(c.contains(E)||Ve(p.current,{select:!0}))},b=function(w){if(document.activeElement===document.body)for(const S of w)S.removedNodes.length>0&&Ve(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",v);const C=new MutationObserver(b);return c&&C.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",v),C.disconnect()}}},[r,c,g.paused]),l.useEffect(()=>{if(c){Po.add(g);const m=document.activeElement;if(!c.contains(m)){const b=new CustomEvent(zn,To);c.addEventListener(zn,u),c.dispatchEvent(b),b.defaultPrevented||(_u(Fu(As(c)),{select:!0}),document.activeElement===m&&Ve(c))}return()=>{c.removeEventListener(zn,u),setTimeout(()=>{const b=new CustomEvent(Wn,To);c.addEventListener(Wn,f),c.dispatchEvent(b),b.defaultPrevented||Ve(m??document.body,{select:!0}),c.removeEventListener(Wn,f),Po.remove(g)},0)}}},[c,u,f,g]);const x=l.useCallback(m=>{if(!n&&!r||g.paused)return;const v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,b=document.activeElement;if(v&&b){const C=m.currentTarget,[w,E]=Iu(C);w&&E?!m.shiftKey&&b===E?(m.preventDefault(),n&&Ve(w,{select:!0})):m.shiftKey&&b===w&&(m.preventDefault(),n&&Ve(E,{select:!0})):b===C&&m.preventDefault()}},[n,r,g.paused]);return i.jsx(z.div,{tabIndex:-1,...a,ref:h,onKeyDown:x})});xn.displayName=Nu;function _u(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Ve(r,{select:t}),document.activeElement!==n)return}function Iu(e){const t=As(e),n=Mo(t,e),r=Mo(t.reverse(),e);return[n,r]}function As(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 Mo(e,t){for(const n of e)if(!Ou(n,{upTo:t}))return n}function Ou(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 Lu(e){return e instanceof HTMLInputElement&&"select"in e}function Ve(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Lu(e)&&t&&e.select()}}var Po=Du();function Du(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=jo(e,t),e.unshift(t)},remove(t){var n;e=jo(e,t),(n=e[0])==null||n.resume()}}}function jo(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Fu(e){return e.filter(t=>t.tagName!=="A")}var $u="Portal",$t=l.forwardRef((e,t)=>{var c;const{container:n,...r}=e,[o,s]=l.useState(!1);ie(()=>s(!0),[]);const a=n||o&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return a?ou.createPortal(i.jsx(z.div,{...r,ref:t}),a):null});$t.displayName=$u;var Vn=0;function Ar(){l.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Ao()),document.body.insertAdjacentElement("beforeend",e[1]??Ao()),Vn++,()=>{Vn===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Vn--}},[])}function Ao(){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 tn="right-scroll-bar-position",nn="width-before-scroll-bar",Uu="with-scroll-bars-hidden",Hu="--removed-body-scroll-bar-size";function Gn(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Bu(e,t){var n=l.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 zu=typeof window<"u"?l.useLayoutEffect:l.useEffect,No=new WeakMap;function Wu(e,t){var n=Bu(null,function(r){return e.forEach(function(o){return Gn(o,r)})});return zu(function(){var r=No.get(n);if(r){var o=new Set(r),s=new Set(e),a=n.current;o.forEach(function(c){s.has(c)||Gn(c,null)}),s.forEach(function(c){o.has(c)||Gn(c,a)})}No.set(n,e)},[e]),n}function Vu(e){return e}function Gu(e,t){t===void 0&&(t=Vu);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(s){var a=t(s,r);return n.push(a),function(){n=n.filter(function(c){return c!==a})}},assignSyncMedium:function(s){for(r=!0;n.length;){var a=n;n=[],a.forEach(s)}n={push:function(c){return s(c)},filter:function(){return n}}},assignMedium:function(s){r=!0;var a=[];if(n.length){var c=n;n=[],c.forEach(s),a=n}var d=function(){var f=a;a=[],f.forEach(s)},u=function(){return Promise.resolve().then(d)};u(),n={push:function(f){a.push(f),u()},filter:function(f){return a=a.filter(f),n}}}};return o}function qu(e){e===void 0&&(e={});var t=Gu(null);return t.options=je({async:!0,ssr:!1},e),t}var Ns=function(e){var t=e.sideCar,n=ws(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 l.createElement(r,je({},n))};Ns.isSideCarExport=!0;function Ku(e,t){return e.useMedium(t),Ns}var _s=qu(),qn=function(){},bn=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:qn,onWheelCapture:qn,onTouchMoveCapture:qn}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,u=e.removeScrollBar,f=e.enabled,p=e.shards,h=e.sideCar,g=e.noRelative,x=e.noIsolation,m=e.inert,v=e.allowPinchZoom,b=e.as,C=b===void 0?"div":b,w=e.gapMode,E=ws(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=h,M=Wu([n,t]),k=je(je({},E),o);return l.createElement(l.Fragment,null,f&&l.createElement(S,{sideCar:_s,removeScrollBar:u,shards:p,noRelative:g,noIsolation:x,inert:m,setCallbacks:s,allowPinchZoom:!!v,lockRef:n,gapMode:w}),a?l.cloneElement(l.Children.only(c),je(je({},k),{ref:M})):l.createElement(C,je({},k,{className:d,ref:M}),c))});bn.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};bn.classNames={fullWidth:nn,zeroRight:tn};var Yu=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Xu(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Yu();return t&&e.setAttribute("nonce",t),e}function Zu(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ju(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Qu=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Xu())&&(Zu(t,n),Ju(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ed=function(){var e=Qu();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Is=function(){var e=ed(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},td={left:0,top:0,right:0,gap:0},Kn=function(e){return parseInt(e||"",10)||0},nd=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[Kn(n),Kn(r),Kn(o)]},rd=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return td;var t=nd(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])}},od=Is(),ct="data-scroll-locked",sd=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),`
|
|
37
37
|
.`.concat(Uu,` {
|
|
38
38
|
overflow: hidden `).concat(r,`;
|
|
39
39
|
padding-right: `).concat(c,"px ").concat(r,`;
|
|
@@ -68,16 +68,16 @@ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
body[`).concat(ct,`] {
|
|
71
|
-
`).concat(
|
|
71
|
+
`).concat(Hu,": ").concat(c,`px;
|
|
72
72
|
}
|
|
73
73
|
`)},_o=function(){var e=parseInt(document.body.getAttribute(ct)||"0",10);return isFinite(e)?e:0},ad=function(){l.useEffect(function(){return document.body.setAttribute(ct,(_o()+1).toString()),function(){var e=_o()-1;e<=0?document.body.removeAttribute(ct):document.body.setAttribute(ct,e.toString())}},[])},id=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;ad();var s=l.useMemo(function(){return rd(o)},[o]);return l.createElement(od,{styles:sd(s,!t,o,n?"":"!important")})},ar=!1;if(typeof window<"u")try{var Kt=Object.defineProperty({},"passive",{get:function(){return ar=!0,!0}});window.addEventListener("test",Kt,Kt),window.removeEventListener("test",Kt,Kt)}catch{ar=!1}var ot=ar?{passive:!1}:!1,cd=function(e){return e.tagName==="TEXTAREA"},Os=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!cd(e)&&n[t]==="visible")},ld=function(e){return Os(e,"overflowY")},ud=function(e){return Os(e,"overflowX")},Io=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Ls(e,r);if(o){var s=Ds(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},dd=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},fd=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Ls=function(e,t){return e==="v"?ld(t):ud(t)},Ds=function(e,t){return e==="v"?dd(t):fd(t)},pd=function(e,t){return e==="h"&&t==="rtl"?-1:1},hd=function(e,t,n,r,o){var s=pd(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),u=!1,f=a>0,p=0,h=0;do{if(!c)break;var g=Ds(e,c),x=g[0],m=g[1],v=g[2],b=m-v-s*x;(x||b)&&Ls(e,c)&&(p+=b,h+=x);var C=c.parentNode;c=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(f&&Math.abs(p)<1||!f&&Math.abs(h)<1)&&(u=!0),u},Yt=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Oo=function(e){return[e.deltaX,e.deltaY]},Lo=function(e){return e&&"current"in e?e.current:e},md=function(e,t){return e[0]===t[0]&&e[1]===t[1]},gd=function(e){return`
|
|
74
74
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
75
75
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
76
|
-
`)},vd=0,st=[];function yd(e){var t=l.useRef([]),n=l.useRef([0,0]),r=l.useRef(),o=l.useState(vd++)[0],s=l.useState(Is)[0],a=l.useRef(e);l.useEffect(function(){a.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=ru([e.lockRef.current],(e.shards||[]).map(Lo),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var b=Yt(m),C=n.current,w="deltaX"in m?m.deltaX:C[0]-b[0],E="deltaY"in m?m.deltaY:C[1]-b[1],S,M=m.target,k=Math.abs(w)>Math.abs(E)?"h":"v";if("touches"in m&&k==="h"&&M.type==="range")return!1;var A=window.getSelection(),D=A&&A.anchorNode,F=D?D===M||D.contains(M):!1;if(F)return!1;var
|
|
76
|
+
`)},vd=0,st=[];function yd(e){var t=l.useRef([]),n=l.useRef([0,0]),r=l.useRef(),o=l.useState(vd++)[0],s=l.useState(Is)[0],a=l.useRef(e);l.useEffect(function(){a.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=ru([e.lockRef.current],(e.shards||[]).map(Lo),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=l.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!a.current.allowPinchZoom;var b=Yt(m),C=n.current,w="deltaX"in m?m.deltaX:C[0]-b[0],E="deltaY"in m?m.deltaY:C[1]-b[1],S,M=m.target,k=Math.abs(w)>Math.abs(E)?"h":"v";if("touches"in m&&k==="h"&&M.type==="range")return!1;var A=window.getSelection(),D=A&&A.anchorNode,F=D?D===M||D.contains(M):!1;if(F)return!1;var H=Io(k,M);if(!H)return!0;if(H?S=k:(S=k==="v"?"h":"v",H=Io(k,M)),!H)return!1;if(!r.current&&"changedTouches"in m&&(w||E)&&(r.current=S),!S)return!0;var _=r.current||S;return hd(_,v,m,_==="h"?w:E)},[]),d=l.useCallback(function(m){var v=m;if(!(!st.length||st[st.length-1]!==s)){var b="deltaY"in v?Oo(v):Yt(v),C=t.current.filter(function(S){return S.name===v.type&&(S.target===v.target||v.target===S.shadowParent)&&md(S.delta,b)})[0];if(C&&C.should){v.cancelable&&v.preventDefault();return}if(!C){var w=(a.current.shards||[]).map(Lo).filter(Boolean).filter(function(S){return S.contains(v.target)}),E=w.length>0?c(v,w[0]):!a.current.noIsolation;E&&v.cancelable&&v.preventDefault()}}},[]),u=l.useCallback(function(m,v,b,C){var w={name:m,delta:v,target:b,should:C,shadowParent:xd(b)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(E){return E!==w})},1)},[]),f=l.useCallback(function(m){n.current=Yt(m),r.current=void 0},[]),p=l.useCallback(function(m){u(m.type,Oo(m),m.target,c(m,e.lockRef.current))},[]),h=l.useCallback(function(m){u(m.type,Yt(m),m.target,c(m,e.lockRef.current))},[]);l.useEffect(function(){return st.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:h}),document.addEventListener("wheel",d,ot),document.addEventListener("touchmove",d,ot),document.addEventListener("touchstart",f,ot),function(){st=st.filter(function(m){return m!==s}),document.removeEventListener("wheel",d,ot),document.removeEventListener("touchmove",d,ot),document.removeEventListener("touchstart",f,ot)}},[]);var g=e.removeScrollBar,x=e.inert;return l.createElement(l.Fragment,null,x?l.createElement(s,{styles:gd(o)}):null,g?l.createElement(id,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function xd(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const bd=Ku(_s,yd);var wn=l.forwardRef(function(e,t){return l.createElement(bn,je({},e,{ref:t,sideCar:bd}))});wn.classNames=bn.classNames;var wd=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},at=new WeakMap,Xt=new WeakMap,Zt={},Yn=0,Fs=function(e){return e&&(e.host||Fs(e.parentNode))},Cd=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Fs(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})},Ed=function(e,t,n,r){var o=Cd(t,Array.isArray(e)?e:[e]);Zt[n]||(Zt[n]=new WeakMap);var s=Zt[n],a=[],c=new Set,d=new Set(o),u=function(p){!p||c.has(p)||(c.add(p),u(p.parentNode))};o.forEach(u);var f=function(p){!p||d.has(p)||Array.prototype.forEach.call(p.children,function(h){if(c.has(h))f(h);else try{var g=h.getAttribute(r),x=g!==null&&g!=="false",m=(at.get(h)||0)+1,v=(s.get(h)||0)+1;at.set(h,m),s.set(h,v),a.push(h),m===1&&x&&Xt.set(h,!0),v===1&&h.setAttribute(n,"true"),x||h.setAttribute(r,"true")}catch(b){console.error("aria-hidden: cannot operate on ",h,b)}})};return f(t),c.clear(),Yn++,function(){a.forEach(function(p){var h=at.get(p)-1,g=s.get(p)-1;at.set(p,h),s.set(p,g),h||(Xt.has(p)||p.removeAttribute(r),Xt.delete(p)),g||p.removeAttribute(n)}),Yn--,Yn||(at=new WeakMap,at=new WeakMap,Xt=new WeakMap,Zt={})}},Nr=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=wd(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),Ed(r,o,n,"aria-hidden")):function(){return null}},Cn="Dialog",[$s]=Ie(Cn),[kd,Me]=$s(Cn),Us=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:s,modal:a=!0}=e,c=l.useRef(null),d=l.useRef(null),[u,f]=Ze({prop:r,defaultProp:o??!1,onChange:s,caller:Cn});return i.jsx(kd,{scope:t,triggerRef:c,contentRef:d,contentId:Ee(),titleId:Ee(),descriptionId:Ee(),open:u,onOpenChange:f,onOpenToggle:l.useCallback(()=>f(p=>!p),[f]),modal:a,children:n})};Us.displayName=Cn;var Hs="DialogTrigger",Bs=l.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Me(Hs,n),s=ne(t,o.triggerRef);return i.jsx(z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Or(o.open),...r,ref:s,onClick:N(e.onClick,o.onOpenToggle)})});Bs.displayName=Hs;var _r="DialogPortal",[Sd,zs]=$s(_r,{forceMount:void 0}),Ws=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,s=Me(_r,t);return i.jsx(Sd,{scope:t,forceMount:n,children:l.Children.map(r,a=>i.jsx(Te,{present:n||s.open,children:i.jsx($t,{asChild:!0,container:o,children:a})}))})};Ws.displayName=_r;var sn="DialogOverlay",Vs=l.forwardRef((e,t)=>{const n=zs(sn,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,s=Me(sn,e.__scopeDialog);return s.modal?i.jsx(Te,{present:r||s.open,children:i.jsx(Td,{...o,ref:t})}):null});Vs.displayName=sn;var Rd=Xe("DialogOverlay.RemoveScroll"),Td=l.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Me(sn,n);return i.jsx(wn,{as:Rd,allowPinchZoom:!0,shards:[o.contentRef],children:i.jsx(z.div,{"data-state":Or(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),Je="DialogContent",Gs=l.forwardRef((e,t)=>{const n=zs(Je,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,s=Me(Je,e.__scopeDialog);return i.jsx(Te,{present:r||s.open,children:s.modal?i.jsx(Md,{...o,ref:t}):i.jsx(Pd,{...o,ref:t})})});Gs.displayName=Je;var Md=l.forwardRef((e,t)=>{const n=Me(Je,e.__scopeDialog),r=l.useRef(null),o=ne(t,n.contentRef,r);return l.useEffect(()=>{const s=r.current;if(s)return Nr(s)},[]),i.jsx(qs,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:N(e.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:N(e.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0;(a.button===2||c)&&s.preventDefault()}),onFocusOutside:N(e.onFocusOutside,s=>s.preventDefault())})}),Pd=l.forwardRef((e,t)=>{const n=Me(Je,e.__scopeDialog),r=l.useRef(!1),o=l.useRef(!1);return i.jsx(qs,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,c;(a=e.onCloseAutoFocus)==null||a.call(e,s),s.defaultPrevented||(r.current||(c=n.triggerRef.current)==null||c.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{var d,u;(d=e.onInteractOutside)==null||d.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),qs=l.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=e,c=Me(Je,n),d=l.useRef(null),u=ne(t,d);return Ar(),i.jsxs(i.Fragment,{children:[i.jsx(xn,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:i.jsx(Ft,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Or(c.open),...a,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(jd,{titleId:c.titleId}),i.jsx(Nd,{contentRef:d,descriptionId:c.descriptionId})]})]})}),Ir="DialogTitle",Ks=l.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Me(Ir,n);return i.jsx(z.h2,{id:o.titleId,...r,ref:t})});Ks.displayName=Ir;var Ys="DialogDescription",Xs=l.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Me(Ys,n);return i.jsx(z.p,{id:o.descriptionId,...r,ref:t})});Xs.displayName=Ys;var Zs="DialogClose",Js=l.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Me(Zs,n);return i.jsx(z.button,{type:"button",...r,ref:t,onClick:N(e.onClick,()=>o.onOpenChange(!1))})});Js.displayName=Zs;function Or(e){return e?"open":"closed"}var Qs="DialogTitleWarning",[Ug,ea]=pu(Qs,{contentName:Je,titleName:Ir,docsSlug:"dialog"}),jd=({titleId:e})=>{const t=ea(Qs),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
77
77
|
|
|
78
78
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
79
79
|
|
|
80
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Ad="DialogDescriptionWarning",Nd=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ea(Ad).contentName}}.`;return l.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},
|
|
80
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Ad="DialogDescriptionWarning",Nd=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ea(Ad).contentName}}.`;return l.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Hg=Us,Bg=Bs,zg=Ws,Wg=Vs,Vg=Gs,Gg=Ks,qg=Xs,Kg=Js,Xn={exports:{}},Zn={};/**
|
|
81
81
|
* @license React
|
|
82
82
|
* use-sync-external-store-shim.production.js
|
|
83
83
|
*
|
|
@@ -85,7 +85,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
85
85
|
*
|
|
86
86
|
* This source code is licensed under the MIT license found in the
|
|
87
87
|
* LICENSE file in the root directory of this source tree.
|
|
88
|
-
*/var Do;function _d(){if(Do)return Zn;Do=1;var e=br();function t(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,a=e.useDebugValue;function c(p,h){var g=h(),x=r({inst:{value:g,getSnapshot:h}}),m=x[0].inst,v=x[1];return s(function(){m.value=g,m.getSnapshot=h,d(m)&&v({inst:m})},[p,g,h]),o(function(){return d(m)&&v({inst:m}),p(function(){d(m)&&v({inst:m})})},[p]),a(g),g}function d(p){var h=p.getSnapshot;p=p.value;try{var g=h();return!n(p,g)}catch{return!0}}function u(p,h){return h()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:c;return Zn.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,Zn}var Fo;function Id(){return Fo||(Fo=1,Xn.exports=_d()),Xn.exports}var Od=Id();function Ld(){return Od.useSyncExternalStore(Dd,()=>!0,()=>!1)}function Dd(){return()=>{}}var Lr="Avatar",[Fd]=Ie(Lr),[$d,ta]=Fd(Lr),na=l.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,s]=l.useState("idle");return i.jsx($d,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:i.jsx(z.span,{...r,ref:t})})});na.displayName=Lr;var ra="AvatarImage",Ud=l.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=e,a=ta(ra,n),c=Bd(r,s),d=ke(u=>{o(u),a.onImageLoadingStatusChange(u)});return ie(()=>{c!=="idle"&&d(c)},[c,d]),c==="loaded"?i.jsx(z.img,{...s,ref:t,src:r}):null});Ud.displayName=ra;var oa="AvatarFallback",sa=l.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,s=ta(oa,n),[a,c]=l.useState(r===void 0);return l.useEffect(()=>{if(r!==void 0){const d=window.setTimeout(()=>c(!0),r);return()=>window.clearTimeout(d)}},[r]),a&&s.imageLoadingStatus!=="loaded"?i.jsx(z.span,{...o,ref:t}):null});sa.displayName=oa;function $o(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function Bd(e,{referrerPolicy:t,crossOrigin:n}){const r=Ld(),o=l.useRef(null),s=r?(o.current||(o.current=new window.Image),o.current):null,[a,c]=l.useState(()=>$o(s,e));return ie(()=>{c($o(s,e))},[s,e]),ie(()=>{const d=p=>()=>{c(p)};if(!s)return;const u=d("loaded"),f=d("error");return s.addEventListener("load",u),s.addEventListener("error",f),t&&(s.referrerPolicy=t),typeof n=="string"&&(s.crossOrigin=n),()=>{s.removeEventListener("load",u),s.removeEventListener("error",f)}},[s,n,t]),a}var Yg=na,Xg=sa;function Hd(e){const t=l.useRef({value:e,previous:e});return l.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function zd(e){const[t,n]=l.useState(void 0);return ie(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,u=Array.isArray(d)?d[0]:d;a=u.inlineSize,c=u.blockSize}else a=e.offsetWidth,c=e.offsetHeight;n({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const Wd=["top","right","bottom","left"],Ge=Math.min,pe=Math.max,an=Math.round,Jt=Math.floor,Ne=e=>({x:e,y:e}),Vd={left:"right",right:"left",bottom:"top",top:"bottom"},Gd={start:"end",end:"start"};function ir(e,t,n){return pe(e,Ge(t,n))}function $e(e,t){return typeof e=="function"?e(t):e}function Ue(e){return e.split("-")[0]}function gt(e){return e.split("-")[1]}function Dr(e){return e==="x"?"y":"x"}function Fr(e){return e==="y"?"height":"width"}const qd=new Set(["top","bottom"]);function Ae(e){return qd.has(Ue(e))?"y":"x"}function $r(e){return Dr(Ae(e))}function Kd(e,t,n){n===void 0&&(n=!1);const r=gt(e),o=$r(e),s=Fr(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=cn(a)),[a,cn(a)]}function Yd(e){const t=cn(e);return[cr(e),t,cr(t)]}function cr(e){return e.replace(/start|end/g,t=>Gd[t])}const Uo=["left","right"],Bo=["right","left"],Xd=["top","bottom"],Zd=["bottom","top"];function Jd(e,t,n){switch(e){case"top":case"bottom":return n?t?Bo:Uo:t?Uo:Bo;case"left":case"right":return t?Xd:Zd;default:return[]}}function Qd(e,t,n,r){const o=gt(e);let s=Jd(Ue(e),n==="start",r);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(cr)))),s}function cn(e){return e.replace(/left|right|bottom|top/g,t=>Vd[t])}function ef(e){return{top:0,right:0,bottom:0,left:0,...e}}function aa(e){return typeof e!="number"?ef(e):{top:e,right:e,bottom:e,left:e}}function ln(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Ho(e,t,n){let{reference:r,floating:o}=e;const s=Ae(t),a=$r(t),c=Fr(a),d=Ue(t),u=s==="y",f=r.x+r.width/2-o.width/2,p=r.y+r.height/2-o.height/2,h=r[c]/2-o[c]/2;let g;switch(d){case"top":g={x:f,y:r.y-o.height};break;case"bottom":g={x:f,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:p};break;case"left":g={x:r.x-o.width,y:p};break;default:g={x:r.x,y:r.y}}switch(gt(t)){case"start":g[a]-=h*(n&&u?-1:1);break;case"end":g[a]+=h*(n&&u?-1:1);break}return g}async function tf(e,t){var n;t===void 0&&(t={});const{x:r,y:o,platform:s,rects:a,elements:c,strategy:d}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:p="floating",altBoundary:h=!1,padding:g=0}=$e(t,e),x=aa(g),v=c[h?p==="floating"?"reference":"floating":p],b=ln(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(v)))==null||n?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:u,rootBoundary:f,strategy:d})),C=p==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,w=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),E=await(s.isElement==null?void 0:s.isElement(w))?await(s.getScale==null?void 0:s.getScale(w))||{x:1,y:1}:{x:1,y:1},S=ln(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:C,offsetParent:w,strategy:d}):C);return{top:(b.top-S.top+x.top)/E.y,bottom:(S.bottom-b.bottom+x.bottom)/E.y,left:(b.left-S.left+x.left)/E.x,right:(S.right-b.right+x.right)/E.x}}const nf=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:f,y:p}=Ho(u,r,d),h=r,g={},x=0;for(let v=0;v<c.length;v++){var m;const{name:b,fn:C}=c[v],{x:w,y:E,data:S,reset:M}=await C({x:f,y:p,initialPlacement:r,placement:h,strategy:o,middlewareData:g,rects:u,platform:{...a,detectOverflow:(m=a.detectOverflow)!=null?m:tf},elements:{reference:e,floating:t}});f=w??f,p=E??p,g={...g,[b]:{...g[b],...S}},M&&x<=50&&(x++,typeof M=="object"&&(M.placement&&(h=M.placement),M.rects&&(u=M.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):M.rects),{x:f,y:p}=Ho(u,h,d)),v=-1)}return{x:f,y:p,placement:h,strategy:o,middlewareData:g}},rf=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c,middlewareData:d}=t,{element:u,padding:f=0}=$e(e,t)||{};if(u==null)return{};const p=aa(f),h={x:n,y:r},g=$r(o),x=Fr(g),m=await a.getDimensions(u),v=g==="y",b=v?"top":"left",C=v?"bottom":"right",w=v?"clientHeight":"clientWidth",E=s.reference[x]+s.reference[g]-h[g]-s.floating[x],S=h[g]-s.reference[g],M=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=M?M[w]:0;(!k||!await(a.isElement==null?void 0:a.isElement(M)))&&(k=c.floating[w]||s.floating[x]);const A=E/2-S/2,D=k/2-m[x]/2-1,F=Ge(p[b],D),B=Ge(p[C],D),_=F,Y=k-m[x]-B,U=k/2-m[x]/2+A,J=ir(_,U,Y),O=!d.arrow&>(o)!=null&&U!==J&&s.reference[x]/2-(U<_?F:B)-m[x]/2<0,K=O?U<_?U-_:U-Y:0;return{[g]:h[g]+K,data:{[g]:J,centerOffset:U-J-K,...O&&{alignmentOffset:K}},reset:O}}}),of=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:d,elements:u}=t,{mainAxis:f=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:m=!0,...v}=$e(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const b=Ue(o),C=Ae(c),w=Ue(c)===c,E=await(d.isRTL==null?void 0:d.isRTL(u.floating)),S=h||(w||!m?[cn(c)]:Yd(c)),M=x!=="none";!h&&M&&S.push(...Qd(c,m,x,E));const k=[c,...S],A=await d.detectOverflow(t,v),D=[];let F=((r=s.flip)==null?void 0:r.overflows)||[];if(f&&D.push(A[b]),p){const U=Kd(o,a,E);D.push(A[U[0]],A[U[1]])}if(F=[...F,{placement:o,overflows:D}],!D.every(U=>U<=0)){var B,_;const U=(((B=s.flip)==null?void 0:B.index)||0)+1,J=k[U];if(J&&(!(p==="alignment"?C!==Ae(J):!1)||F.every(I=>Ae(I.placement)===C?I.overflows[0]>0:!0)))return{data:{index:U,overflows:F},reset:{placement:J}};let O=(_=F.filter(K=>K.overflows[0]<=0).sort((K,I)=>K.overflows[1]-I.overflows[1])[0])==null?void 0:_.placement;if(!O)switch(g){case"bestFit":{var Y;const K=(Y=F.filter(I=>{if(M){const j=Ae(I.placement);return j===C||j==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(j=>j>0).reduce((j,Q)=>j+Q,0)]).sort((I,j)=>I[1]-j[1])[0])==null?void 0:Y[0];K&&(O=K);break}case"initialPlacement":O=c;break}if(o!==O)return{reset:{placement:O}}}return{}}}};function zo(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Wo(e){return Wd.some(t=>e[t]>=0)}const sf=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:o="referenceHidden",...s}=$e(e,t);switch(o){case"referenceHidden":{const a=await r.detectOverflow(t,{...s,elementContext:"reference"}),c=zo(a,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Wo(c)}}}case"escaped":{const a=await r.detectOverflow(t,{...s,altBoundary:!0}),c=zo(a,n.floating);return{data:{escapedOffsets:c,escaped:Wo(c)}}}default:return{}}}}},ia=new Set(["left","top"]);async function af(e,t){const{placement:n,platform:r,elements:o}=e,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=Ue(n),c=gt(n),d=Ae(n)==="y",u=ia.has(a)?-1:1,f=s&&d?-1:1,p=$e(t,e);let{mainAxis:h,crossAxis:g,alignmentAxis:x}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof x=="number"&&(g=c==="end"?x*-1:x),d?{x:g*f,y:h*u}:{x:h*u,y:g*f}}const cf=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:s,placement:a,middlewareData:c}=t,d=await af(t,e);return a===((n=c.offset)==null?void 0:n.placement)&&(r=c.arrow)!=null&&r.alignmentOffset?{}:{x:o+d.x,y:s+d.y,data:{...d,placement:a}}}}},lf=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o,platform:s}=t,{mainAxis:a=!0,crossAxis:c=!1,limiter:d={fn:b=>{let{x:C,y:w}=b;return{x:C,y:w}}},...u}=$e(e,t),f={x:n,y:r},p=await s.detectOverflow(t,u),h=Ae(Ue(o)),g=Dr(h);let x=f[g],m=f[h];if(a){const b=g==="y"?"top":"left",C=g==="y"?"bottom":"right",w=x+p[b],E=x-p[C];x=ir(w,x,E)}if(c){const b=h==="y"?"top":"left",C=h==="y"?"bottom":"right",w=m+p[b],E=m-p[C];m=ir(w,m,E)}const v=d.fn({...t,[g]:x,[h]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[g]:a,[h]:c}}}}}},uf=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:u=!0}=$e(e,t),f={x:n,y:r},p=Ae(o),h=Dr(p);let g=f[h],x=f[p];const m=$e(c,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(d){const w=h==="y"?"height":"width",E=s.reference[h]-s.floating[w]+v.mainAxis,S=s.reference[h]+s.reference[w]-v.mainAxis;g<E?g=E:g>S&&(g=S)}if(u){var b,C;const w=h==="y"?"width":"height",E=ia.has(Ue(o)),S=s.reference[p]-s.floating[w]+(E&&((b=a.offset)==null?void 0:b[p])||0)+(E?0:v.crossAxis),M=s.reference[p]+s.reference[w]+(E?0:((C=a.offset)==null?void 0:C[p])||0)-(E?v.crossAxis:0);x<S?x=S:x>M&&(x=M)}return{[h]:g,[p]:x}}}},df=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:d=()=>{},...u}=$e(e,t),f=await a.detectOverflow(t,u),p=Ue(o),h=gt(o),g=Ae(o)==="y",{width:x,height:m}=s.floating;let v,b;p==="top"||p==="bottom"?(v=p,b=h===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(b=p,v=h==="end"?"top":"bottom");const C=m-f.top-f.bottom,w=x-f.left-f.right,E=Ge(m-f[v],C),S=Ge(x-f[b],w),M=!t.middlewareData.shift;let k=E,A=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=w),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=C),M&&!h){const F=pe(f.left,0),B=pe(f.right,0),_=pe(f.top,0),Y=pe(f.bottom,0);g?A=x-2*(F!==0||B!==0?F+B:pe(f.left,f.right)):k=m-2*(_!==0||Y!==0?_+Y:pe(f.top,f.bottom))}await d({...t,availableWidth:A,availableHeight:k});const D=await a.getDimensions(c.floating);return x!==D.width||m!==D.height?{reset:{rects:!0}}:{}}}};function En(){return typeof window<"u"}function vt(e){return ca(e)?(e.nodeName||"").toLowerCase():"#document"}function he(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Oe(e){var t;return(t=(ca(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ca(e){return En()?e instanceof Node||e instanceof he(e).Node:!1}function Se(e){return En()?e instanceof Element||e instanceof he(e).Element:!1}function _e(e){return En()?e instanceof HTMLElement||e instanceof he(e).HTMLElement:!1}function Vo(e){return!En()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof he(e).ShadowRoot}const ff=new Set(["inline","contents"]);function Ut(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Re(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!ff.has(o)}const pf=new Set(["table","td","th"]);function hf(e){return pf.has(vt(e))}const mf=[":popover-open",":modal"];function kn(e){return mf.some(t=>{try{return e.matches(t)}catch{return!1}})}const gf=["transform","translate","scale","rotate","perspective"],vf=["transform","translate","scale","rotate","perspective","filter"],yf=["paint","layout","strict","content"];function Ur(e){const t=Br(),n=Se(e)?Re(e):e;return gf.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||vf.some(r=>(n.willChange||"").includes(r))||yf.some(r=>(n.contain||"").includes(r))}function xf(e){let t=qe(e);for(;_e(t)&&!dt(t);){if(Ur(t))return t;if(kn(t))return null;t=qe(t)}return null}function Br(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const bf=new Set(["html","body","#document"]);function dt(e){return bf.has(vt(e))}function Re(e){return he(e).getComputedStyle(e)}function Sn(e){return Se(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function qe(e){if(vt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Vo(e)&&e.host||Oe(e);return Vo(t)?t.host:t}function la(e){const t=qe(e);return dt(t)?e.ownerDocument?e.ownerDocument.body:e.body:_e(t)&&Ut(t)?t:la(t)}function At(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=la(e),s=o===((r=e.ownerDocument)==null?void 0:r.body),a=he(o);if(s){const c=lr(a);return t.concat(a,a.visualViewport||[],Ut(o)?o:[],c&&n?At(c):[])}return t.concat(o,At(o,[],n))}function lr(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ua(e){const t=Re(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=_e(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=an(n)!==s||an(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function Hr(e){return Se(e)?e:e.contextElement}function lt(e){const t=Hr(e);if(!_e(t))return Ne(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=ua(t);let a=(s?an(n.width):n.width)/r,c=(s?an(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const wf=Ne(0);function da(e){const t=he(e);return!Br()||!t.visualViewport?wf:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Cf(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==he(e)?!1:t}function Qe(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=Hr(e);let a=Ne(1);t&&(r?Se(r)&&(a=lt(r)):a=lt(e));const c=Cf(s,n,r)?da(s):Ne(0);let d=(o.left+c.x)/a.x,u=(o.top+c.y)/a.y,f=o.width/a.x,p=o.height/a.y;if(s){const h=he(s),g=r&&Se(r)?he(r):r;let x=h,m=lr(x);for(;m&&r&&g!==x;){const v=lt(m),b=m.getBoundingClientRect(),C=Re(m),w=b.left+(m.clientLeft+parseFloat(C.paddingLeft))*v.x,E=b.top+(m.clientTop+parseFloat(C.paddingTop))*v.y;d*=v.x,u*=v.y,f*=v.x,p*=v.y,d+=w,u+=E,x=he(m),m=lr(x)}}return ln({width:f,height:p,x:d,y:u})}function Rn(e,t){const n=Sn(e).scrollLeft;return t?t.left+n:Qe(Oe(e)).left+n}function fa(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Rn(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function Ef(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const s=o==="fixed",a=Oe(r),c=t?kn(t.floating):!1;if(r===a||c&&s)return n;let d={scrollLeft:0,scrollTop:0},u=Ne(1);const f=Ne(0),p=_e(r);if((p||!p&&!s)&&((vt(r)!=="body"||Ut(a))&&(d=Sn(r)),_e(r))){const g=Qe(r);u=lt(r),f.x=g.x+r.clientLeft,f.y=g.y+r.clientTop}const h=a&&!p&&!s?fa(a,d):Ne(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-d.scrollLeft*u.x+f.x+h.x,y:n.y*u.y-d.scrollTop*u.y+f.y+h.y}}function kf(e){return Array.from(e.getClientRects())}function Sf(e){const t=Oe(e),n=Sn(e),r=e.ownerDocument.body,o=pe(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=pe(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+Rn(e);const c=-n.scrollTop;return Re(r).direction==="rtl"&&(a+=pe(t.clientWidth,r.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Go=25;function Rf(e,t){const n=he(e),r=Oe(e),o=n.visualViewport;let s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;const f=Br();(!f||f&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}const u=Rn(r);if(u<=0){const f=r.ownerDocument,p=f.body,h=getComputedStyle(p),g=f.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,x=Math.abs(r.clientWidth-p.clientWidth-g);x<=Go&&(s-=x)}else u<=Go&&(s+=u);return{width:s,height:a,x:c,y:d}}const Tf=new Set(["absolute","fixed"]);function Mf(e,t){const n=Qe(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,s=_e(e)?lt(e):Ne(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,d=o*s.x,u=r*s.y;return{width:a,height:c,x:d,y:u}}function qo(e,t,n){let r;if(t==="viewport")r=Rf(e,n);else if(t==="document")r=Sf(Oe(e));else if(Se(t))r=Mf(t,n);else{const o=da(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return ln(r)}function pa(e,t){const n=qe(e);return n===t||!Se(n)||dt(n)?!1:Re(n).position==="fixed"||pa(n,t)}function Pf(e,t){const n=t.get(e);if(n)return n;let r=At(e,[],!1).filter(c=>Se(c)&&vt(c)!=="body"),o=null;const s=Re(e).position==="fixed";let a=s?qe(e):e;for(;Se(a)&&!dt(a);){const c=Re(a),d=Ur(a);!d&&c.position==="fixed"&&(o=null),(s?!d&&!o:!d&&c.position==="static"&&!!o&&Tf.has(o.position)||Ut(a)&&!d&&pa(e,a))?r=r.filter(f=>f!==a):o=c,a=qe(a)}return t.set(e,r),r}function jf(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[...n==="clippingAncestors"?kn(t)?[]:Pf(t,this._c):[].concat(n),r],c=a[0],d=a.reduce((u,f)=>{const p=qo(t,f,o);return u.top=pe(p.top,u.top),u.right=Ge(p.right,u.right),u.bottom=Ge(p.bottom,u.bottom),u.left=pe(p.left,u.left),u},qo(t,c,o));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Af(e){const{width:t,height:n}=ua(e);return{width:t,height:n}}function Nf(e,t,n){const r=_e(t),o=Oe(t),s=n==="fixed",a=Qe(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=Ne(0);function u(){d.x=Rn(o)}if(r||!r&&!s)if((vt(t)!=="body"||Ut(o))&&(c=Sn(t)),r){const g=Qe(t,!0,s,t);d.x=g.x+t.clientLeft,d.y=g.y+t.clientTop}else o&&u();s&&!r&&o&&u();const f=o&&!r&&!s?fa(o,c):Ne(0),p=a.left+c.scrollLeft-d.x-f.x,h=a.top+c.scrollTop-d.y-f.y;return{x:p,y:h,width:a.width,height:a.height}}function Jn(e){return Re(e).position==="static"}function Ko(e,t){if(!_e(e)||Re(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Oe(e)===n&&(n=n.ownerDocument.body),n}function ha(e,t){const n=he(e);if(kn(e))return n;if(!_e(e)){let o=qe(e);for(;o&&!dt(o);){if(Se(o)&&!Jn(o))return o;o=qe(o)}return n}let r=Ko(e,t);for(;r&&hf(r)&&Jn(r);)r=Ko(r,t);return r&&dt(r)&&Jn(r)&&!Ur(r)?n:r||xf(e)||n}const _f=async function(e){const t=this.getOffsetParent||ha,n=this.getDimensions,r=await n(e.floating);return{reference:Nf(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function If(e){return Re(e).direction==="rtl"}const Of={convertOffsetParentRelativeRectToViewportRelativeRect:Ef,getDocumentElement:Oe,getClippingRect:jf,getOffsetParent:ha,getElementRects:_f,getClientRects:kf,getDimensions:Af,getScale:lt,isElement:Se,isRTL:If};function ma(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Lf(e,t){let n=null,r;const o=Oe(e);function s(){var c;clearTimeout(r),(c=n)==null||c.disconnect(),n=null}function a(c,d){c===void 0&&(c=!1),d===void 0&&(d=1),s();const u=e.getBoundingClientRect(),{left:f,top:p,width:h,height:g}=u;if(c||t(),!h||!g)return;const x=Jt(p),m=Jt(o.clientWidth-(f+h)),v=Jt(o.clientHeight-(p+g)),b=Jt(f),w={rootMargin:-x+"px "+-m+"px "+-v+"px "+-b+"px",threshold:pe(0,Ge(1,d))||1};let E=!0;function S(M){const k=M[0].intersectionRatio;if(k!==d){if(!E)return a();k?a(!1,k):r=setTimeout(()=>{a(!1,1e-7)},1e3)}k===1&&!ma(u,e.getBoundingClientRect())&&a(),E=!1}try{n=new IntersectionObserver(S,{...w,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,w)}n.observe(e)}return a(!0),s}function Df(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,u=Hr(e),f=o||s?[...u?At(u):[],...At(t)]:[];f.forEach(b=>{o&&b.addEventListener("scroll",n,{passive:!0}),s&&b.addEventListener("resize",n)});const p=u&&c?Lf(u,n):null;let h=-1,g=null;a&&(g=new ResizeObserver(b=>{let[C]=b;C&&C.target===u&&g&&(g.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=g)==null||w.observe(t)})),n()}),u&&!d&&g.observe(u),g.observe(t));let x,m=d?Qe(e):null;d&&v();function v(){const b=Qe(e);m&&!ma(m,b)&&n(),m=b,x=requestAnimationFrame(v)}return n(),()=>{var b;f.forEach(C=>{o&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),p==null||p(),(b=g)==null||b.disconnect(),g=null,d&&cancelAnimationFrame(x)}}const Ff=cf,$f=lf,Uf=of,Bf=df,Hf=sf,Yo=rf,zf=uf,Wf=(e,t,n)=>{const r=new Map,o={platform:Of,...n},s={...o.platform,_c:r};return nf(e,t,{...o,platform:s})};var Vf=typeof document<"u",Gf=function(){},rn=Vf?l.useLayoutEffect:Gf;function un(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!un(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!un(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function ga(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Xo(e,t){const n=ga(e);return Math.round(t*n)/n}function Qn(e){const t=l.useRef(e);return rn(()=>{t.current=e}),t}function qf(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:d,open:u}=e,[f,p]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,g]=l.useState(r);un(h,r)||g(r);const[x,m]=l.useState(null),[v,b]=l.useState(null),C=l.useCallback(I=>{I!==M.current&&(M.current=I,m(I))},[]),w=l.useCallback(I=>{I!==k.current&&(k.current=I,b(I))},[]),E=s||x,S=a||v,M=l.useRef(null),k=l.useRef(null),A=l.useRef(f),D=d!=null,F=Qn(d),B=Qn(o),_=Qn(u),Y=l.useCallback(()=>{if(!M.current||!k.current)return;const I={placement:t,strategy:n,middleware:h};B.current&&(I.platform=B.current),Wf(M.current,k.current,I).then(j=>{const Q={...j,isPositioned:_.current!==!1};U.current&&!un(A.current,Q)&&(A.current=Q,Dt.flushSync(()=>{p(Q)}))})},[h,t,n,B,_]);rn(()=>{u===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,p(I=>({...I,isPositioned:!1})))},[u]);const U=l.useRef(!1);rn(()=>(U.current=!0,()=>{U.current=!1}),[]),rn(()=>{if(E&&(M.current=E),S&&(k.current=S),E&&S){if(F.current)return F.current(E,S,Y);Y()}},[E,S,Y,F,D]);const J=l.useMemo(()=>({reference:M,floating:k,setReference:C,setFloating:w}),[C,w]),O=l.useMemo(()=>({reference:E,floating:S}),[E,S]),K=l.useMemo(()=>{const I={position:n,left:0,top:0};if(!O.floating)return I;const j=Xo(O.floating,f.x),Q=Xo(O.floating,f.y);return c?{...I,transform:"translate("+j+"px, "+Q+"px)",...ga(O.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:j,top:Q}},[n,c,O.floating,f.x,f.y]);return l.useMemo(()=>({...f,update:Y,refs:J,elements:O,floatingStyles:K}),[f,Y,J,O,K])}const Kf=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Yo({element:r.current,padding:o}).fn(n):{}:r?Yo({element:r,padding:o}).fn(n):{}}}},Yf=(e,t)=>({...Ff(e),options:[e,t]}),Xf=(e,t)=>({...$f(e),options:[e,t]}),Zf=(e,t)=>({...zf(e),options:[e,t]}),Jf=(e,t)=>({...Uf(e),options:[e,t]}),Qf=(e,t)=>({...Bf(e),options:[e,t]}),ep=(e,t)=>({...Hf(e),options:[e,t]}),tp=(e,t)=>({...Kf(e),options:[e,t]});var np="Arrow",va=l.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...s}=e;return i.jsx(z.svg,{...s,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});va.displayName=np;var rp=va,zr="Popper",[ya,yt]=Ie(zr),[op,xa]=ya(zr),ba=e=>{const{__scopePopper:t,children:n}=e,[r,o]=l.useState(null);return i.jsx(op,{scope:t,anchor:r,onAnchorChange:o,children:n})};ba.displayName=zr;var wa="PopperAnchor",Ca=l.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,s=xa(wa,n),a=l.useRef(null),c=ne(t,a),d=l.useRef(null);return l.useEffect(()=>{const u=d.current;d.current=(r==null?void 0:r.current)||a.current,u!==d.current&&s.onAnchorChange(d.current)}),r?null:i.jsx(z.div,{...o,ref:c})});Ca.displayName=wa;var Wr="PopperContent",[sp,ap]=ya(Wr),Ea=l.forwardRef((e,t)=>{var P,X,G,ee,re,oe;const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:g="optimized",onPlaced:x,...m}=e,v=xa(Wr,n),[b,C]=l.useState(null),w=ne(t,fe=>C(fe)),[E,S]=l.useState(null),M=zd(E),k=(M==null?void 0:M.width)??0,A=(M==null?void 0:M.height)??0,D=r+(s!=="center"?"-"+s:""),F=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},B=Array.isArray(u)?u:[u],_=B.length>0,Y={padding:F,boundary:B.filter(cp),altBoundary:_},{refs:U,floatingStyles:J,placement:O,isPositioned:K,middlewareData:I}=qf({strategy:"fixed",placement:D,whileElementsMounted:(...fe)=>Df(...fe,{animationFrame:g==="always"}),elements:{reference:v.anchor},middleware:[Yf({mainAxis:o+A,alignmentAxis:a}),d&&Xf({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Zf():void 0,...Y}),d&&Jf({...Y}),Qf({...Y,apply:({elements:fe,rects:Pe,availableWidth:wt,availableHeight:Ct})=>{const{width:Et,height:vc}=Pe.reference,Vt=fe.floating.style;Vt.setProperty("--radix-popper-available-width",`${wt}px`),Vt.setProperty("--radix-popper-available-height",`${Ct}px`),Vt.setProperty("--radix-popper-anchor-width",`${Et}px`),Vt.setProperty("--radix-popper-anchor-height",`${vc}px`)}}),E&&tp({element:E,padding:c}),lp({arrowWidth:k,arrowHeight:A}),h&&ep({strategy:"referenceHidden",...Y})]}),[j,Q]=Ra(O),y=ke(x);ie(()=>{K&&(y==null||y())},[K,y]);const R=(P=I.arrow)==null?void 0:P.x,$=(X=I.arrow)==null?void 0:X.y,L=((G=I.arrow)==null?void 0:G.centerOffset)!==0,[V,W]=l.useState();return ie(()=>{b&&W(window.getComputedStyle(b).zIndex)},[b]),i.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...J,transform:K?J.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:V,"--radix-popper-transform-origin":[(ee=I.transformOrigin)==null?void 0:ee.x,(re=I.transformOrigin)==null?void 0:re.y].join(" "),...((oe=I.hide)==null?void 0:oe.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(sp,{scope:n,placedSide:j,onArrowChange:S,arrowX:R,arrowY:$,shouldHideArrow:L,children:i.jsx(z.div,{"data-side":j,"data-align":Q,...m,ref:w,style:{...m.style,animation:K?void 0:"none"}})})})});Ea.displayName=Wr;var ka="PopperArrow",ip={top:"bottom",right:"left",bottom:"top",left:"right"},Sa=l.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,s=ap(ka,r),a=ip[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(rp,{...o,ref:n,style:{...o.style,display:"block"}})})});Sa.displayName=ka;function cp(e){return e!==null}var lp=e=>({name:"transformOrigin",options:e,fn(t){var v,b,C;const{placement:n,rects:r,middlewareData:o}=t,a=((v=o.arrow)==null?void 0:v.centerOffset)!==0,c=a?0:e.arrowWidth,d=a?0:e.arrowHeight,[u,f]=Ra(n),p={start:"0%",center:"50%",end:"100%"}[f],h=(((b=o.arrow)==null?void 0:b.x)??0)+c/2,g=(((C=o.arrow)==null?void 0:C.y)??0)+d/2;let x="",m="";return u==="bottom"?(x=a?p:`${h}px`,m=`${-d}px`):u==="top"?(x=a?p:`${h}px`,m=`${r.floating.height+d}px`):u==="right"?(x=`${-d}px`,m=a?p:`${g}px`):u==="left"&&(x=`${r.floating.width+d}px`,m=a?p:`${g}px`),{data:{x,y:m}}}});function Ra(e){const[t,n="center"]=e.split("-");return[t,n]}var Vr=ba,Gr=Ca,qr=Ea,Kr=Sa,er="rovingFocusGroup.onEntryFocus",up={bubbles:!1,cancelable:!0},Bt="RovingFocusGroup",[ur,Ta,dp]=jr(Bt),[fp,Tn]=Ie(Bt,[dp]),[pp,hp]=fp(Bt),Ma=l.forwardRef((e,t)=>i.jsx(ur.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(ur.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(mp,{...e,ref:t})})}));Ma.displayName=Bt;var mp=l.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,h=l.useRef(null),g=ne(t,h),x=yn(s),[m,v]=Ze({prop:a,defaultProp:c??null,onChange:d,caller:Bt}),[b,C]=l.useState(!1),w=ke(u),E=Ta(n),S=l.useRef(!1),[M,k]=l.useState(0);return l.useEffect(()=>{const A=h.current;if(A)return A.addEventListener(er,w),()=>A.removeEventListener(er,w)},[w]),i.jsx(pp,{scope:n,orientation:r,dir:x,loop:o,currentTabStopId:m,onItemFocus:l.useCallback(A=>v(A),[v]),onItemShiftTab:l.useCallback(()=>C(!0),[]),onFocusableItemAdd:l.useCallback(()=>k(A=>A+1),[]),onFocusableItemRemove:l.useCallback(()=>k(A=>A-1),[]),children:i.jsx(z.div,{tabIndex:b||M===0?-1:0,"data-orientation":r,...p,ref:g,style:{outline:"none",...e.style},onMouseDown:N(e.onMouseDown,()=>{S.current=!0}),onFocus:N(e.onFocus,A=>{const D=!S.current;if(A.target===A.currentTarget&&D&&!b){const F=new CustomEvent(er,up);if(A.currentTarget.dispatchEvent(F),!F.defaultPrevented){const B=E().filter(O=>O.focusable),_=B.find(O=>O.active),Y=B.find(O=>O.id===m),J=[_,Y,...B].filter(Boolean).map(O=>O.ref.current);Aa(J,f)}}S.current=!1}),onBlur:N(e.onBlur,()=>C(!1))})})}),Pa="RovingFocusGroupItem",ja=l.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,children:a,...c}=e,d=Ee(),u=s||d,f=hp(Pa,n),p=f.currentTabStopId===u,h=Ta(n),{onFocusableItemAdd:g,onFocusableItemRemove:x,currentTabStopId:m}=f;return l.useEffect(()=>{if(r)return g(),()=>x()},[r,g,x]),i.jsx(ur.ItemSlot,{scope:n,id:u,focusable:r,active:o,children:i.jsx(z.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:N(e.onMouseDown,v=>{r?f.onItemFocus(u):v.preventDefault()}),onFocus:N(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:N(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){f.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const b=yp(v,f.orientation,f.dir);if(b!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let w=h().filter(E=>E.focusable).map(E=>E.ref.current);if(b==="last")w.reverse();else if(b==="prev"||b==="next"){b==="prev"&&w.reverse();const E=w.indexOf(v.currentTarget);w=f.loop?xp(w,E+1):w.slice(E+1)}setTimeout(()=>Aa(w))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:m!=null}):a})})});ja.displayName=Pa;var gp={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function vp(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function yp(e,t,n){const r=vp(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return gp[r]}function Aa(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function xp(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Na=Ma,_a=ja,dr=["Enter"," "],bp=["ArrowDown","PageUp","Home"],Ia=["ArrowUp","PageDown","End"],wp=[...bp,...Ia],Cp={ltr:[...dr,"ArrowRight"],rtl:[...dr,"ArrowLeft"]},Ep={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Ht="Menu",[Nt,kp,Sp]=jr(Ht),[nt,Oa]=Ie(Ht,[Sp,yt,Tn]),Mn=yt(),La=Tn(),[Rp,rt]=nt(Ht),[Tp,zt]=nt(Ht),Da=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:s,modal:a=!0}=e,c=Mn(t),[d,u]=l.useState(null),f=l.useRef(!1),p=ke(s),h=yn(o);return l.useEffect(()=>{const g=()=>{f.current=!0,document.addEventListener("pointerdown",x,{capture:!0,once:!0}),document.addEventListener("pointermove",x,{capture:!0,once:!0})},x=()=>f.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",x,{capture:!0}),document.removeEventListener("pointermove",x,{capture:!0})}},[]),i.jsx(Vr,{...c,children:i.jsx(Rp,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:u,children:i.jsx(Tp,{scope:t,onClose:l.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:h,modal:a,children:r})})})};Da.displayName=Ht;var Mp="MenuAnchor",Yr=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=Mn(n);return i.jsx(Gr,{...o,...r,ref:t})});Yr.displayName=Mp;var Xr="MenuPortal",[Pp,Fa]=nt(Xr,{forceMount:void 0}),$a=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,s=rt(Xr,t);return i.jsx(Pp,{scope:t,forceMount:n,children:i.jsx(Te,{present:n||s.open,children:i.jsx($t,{asChild:!0,container:o,children:r})})})};$a.displayName=Xr;var ye="MenuContent",[jp,Zr]=nt(ye),Ua=l.forwardRef((e,t)=>{const n=Fa(ye,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,s=rt(ye,e.__scopeMenu),a=zt(ye,e.__scopeMenu);return i.jsx(Nt.Provider,{scope:e.__scopeMenu,children:i.jsx(Te,{present:r||s.open,children:i.jsx(Nt.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(Ap,{...o,ref:t}):i.jsx(Np,{...o,ref:t})})})})}),Ap=l.forwardRef((e,t)=>{const n=rt(ye,e.__scopeMenu),r=l.useRef(null),o=ne(t,r);return l.useEffect(()=>{const s=r.current;if(s)return Nr(s)},[]),i.jsx(Jr,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:N(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Np=l.forwardRef((e,t)=>{const n=rt(ye,e.__scopeMenu);return i.jsx(Jr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),_p=Xe("MenuContent.ScrollLock"),Jr=l.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:h,onDismiss:g,disableOutsideScroll:x,...m}=e,v=rt(ye,n),b=zt(ye,n),C=Mn(n),w=La(n),E=kp(n),[S,M]=l.useState(null),k=l.useRef(null),A=ne(t,k,v.onContentChange),D=l.useRef(0),F=l.useRef(""),B=l.useRef(0),_=l.useRef(null),Y=l.useRef("right"),U=l.useRef(0),J=x?wn:l.Fragment,O=x?{as:_p,allowPinchZoom:!0}:void 0,K=j=>{var P,X;const Q=F.current+j,y=E().filter(G=>!G.disabled),R=document.activeElement,$=(P=y.find(G=>G.ref.current===R))==null?void 0:P.textValue,L=y.map(G=>G.textValue),V=Vp(L,Q,$),W=(X=y.find(G=>G.textValue===V))==null?void 0:X.ref.current;(function G(ee){F.current=ee,window.clearTimeout(D.current),ee!==""&&(D.current=window.setTimeout(()=>G(""),1e3))})(Q),W&&setTimeout(()=>W.focus())};l.useEffect(()=>()=>window.clearTimeout(D.current),[]),Ar();const I=l.useCallback(j=>{var y,R;return Y.current===((y=_.current)==null?void 0:y.side)&&qp(j,(R=_.current)==null?void 0:R.area)},[]);return i.jsx(jp,{scope:n,searchRef:F,onItemEnter:l.useCallback(j=>{I(j)&&j.preventDefault()},[I]),onItemLeave:l.useCallback(j=>{var Q;I(j)||((Q=k.current)==null||Q.focus(),M(null))},[I]),onTriggerLeave:l.useCallback(j=>{I(j)&&j.preventDefault()},[I]),pointerGraceTimerRef:B,onPointerGraceIntentChange:l.useCallback(j=>{_.current=j},[]),children:i.jsx(J,{...O,children:i.jsx(xn,{asChild:!0,trapped:o,onMountAutoFocus:N(s,j=>{var Q;j.preventDefault(),(Q=k.current)==null||Q.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:h,onDismiss:g,children:i.jsx(Na,{asChild:!0,...w,dir:b.dir,orientation:"vertical",loop:r,currentTabStopId:S,onCurrentTabStopIdChange:M,onEntryFocus:N(d,j=>{b.isUsingKeyboardRef.current||j.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(qr,{role:"menu","aria-orientation":"vertical","data-state":ni(v.open),"data-radix-menu-content":"",dir:b.dir,...C,...m,ref:A,style:{outline:"none",...m.style},onKeyDown:N(m.onKeyDown,j=>{const y=j.target.closest("[data-radix-menu-content]")===j.currentTarget,R=j.ctrlKey||j.altKey||j.metaKey,$=j.key.length===1;y&&(j.key==="Tab"&&j.preventDefault(),!R&&$&&K(j.key));const L=k.current;if(j.target!==L||!wp.includes(j.key))return;j.preventDefault();const W=E().filter(P=>!P.disabled).map(P=>P.ref.current);Ia.includes(j.key)&&W.reverse(),zp(W)}),onBlur:N(e.onBlur,j=>{j.currentTarget.contains(j.target)||(window.clearTimeout(D.current),F.current="")}),onPointerMove:N(e.onPointerMove,_t(j=>{const Q=j.target,y=U.current!==j.clientX;if(j.currentTarget.contains(Q)&&y){const R=j.clientX>U.current?"right":"left";Y.current=R,U.current=j.clientX}}))})})})})})})});Ua.displayName=ye;var Ip="MenuGroup",Qr=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{role:"group",...r,ref:t})});Qr.displayName=Ip;var Op="MenuLabel",Ba=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{...r,ref:t})});Ba.displayName=Op;var dn="MenuItem",Zo="menu.itemSelect",Pn=l.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,s=l.useRef(null),a=zt(dn,e.__scopeMenu),c=Zr(dn,e.__scopeMenu),d=ne(t,s),u=l.useRef(!1),f=()=>{const p=s.current;if(!n&&p){const h=new CustomEvent(Zo,{bubbles:!0,cancelable:!0});p.addEventListener(Zo,g=>r==null?void 0:r(g),{once:!0}),Rs(p,h),h.defaultPrevented?u.current=!1:a.onClose()}};return i.jsx(Ha,{...o,ref:d,disabled:n,onClick:N(e.onClick,f),onPointerDown:p=>{var h;(h=e.onPointerDown)==null||h.call(e,p),u.current=!0},onPointerUp:N(e.onPointerUp,p=>{var h;u.current||(h=p.currentTarget)==null||h.click()}),onKeyDown:N(e.onKeyDown,p=>{const h=c.searchRef.current!=="";n||h&&p.key===" "||dr.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});Pn.displayName=dn;var Ha=l.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...s}=e,a=Zr(dn,n),c=La(n),d=l.useRef(null),u=ne(t,d),[f,p]=l.useState(!1),[h,g]=l.useState("");return l.useEffect(()=>{const x=d.current;x&&g((x.textContent??"").trim())},[s.children]),i.jsx(Nt.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:i.jsx(_a,{asChild:!0,...c,focusable:!r,children:i.jsx(z.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:u,onPointerMove:N(e.onPointerMove,_t(x=>{r?a.onItemLeave(x):(a.onItemEnter(x),x.defaultPrevented||x.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:N(e.onPointerLeave,_t(x=>a.onItemLeave(x))),onFocus:N(e.onFocus,()=>p(!0)),onBlur:N(e.onBlur,()=>p(!1))})})})}),Lp="MenuCheckboxItem",za=l.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return i.jsx(Ka,{scope:e.__scopeMenu,checked:n,children:i.jsx(Pn,{role:"menuitemcheckbox","aria-checked":fn(n)?"mixed":n,...o,ref:t,"data-state":to(n),onSelect:N(o.onSelect,()=>r==null?void 0:r(fn(n)?!0:!n),{checkForDefaultPrevented:!1})})})});za.displayName=Lp;var Wa="MenuRadioGroup",[Dp,Fp]=nt(Wa,{value:void 0,onValueChange:()=>{}}),Va=l.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,s=ke(r);return i.jsx(Dp,{scope:e.__scopeMenu,value:n,onValueChange:s,children:i.jsx(Qr,{...o,ref:t})})});Va.displayName=Wa;var Ga="MenuRadioItem",qa=l.forwardRef((e,t)=>{const{value:n,...r}=e,o=Fp(Ga,e.__scopeMenu),s=n===o.value;return i.jsx(Ka,{scope:e.__scopeMenu,checked:s,children:i.jsx(Pn,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":to(s),onSelect:N(r.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,n)},{checkForDefaultPrevented:!1})})})});qa.displayName=Ga;var eo="MenuItemIndicator",[Ka,$p]=nt(eo,{checked:!1}),Ya=l.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,s=$p(eo,n);return i.jsx(Te,{present:r||fn(s.checked)||s.checked===!0,children:i.jsx(z.span,{...o,ref:t,"data-state":to(s.checked)})})});Ya.displayName=eo;var Up="MenuSeparator",Xa=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Xa.displayName=Up;var Bp="MenuArrow",Za=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=Mn(n);return i.jsx(Kr,{...o,...r,ref:t})});Za.displayName=Bp;var Hp="MenuSub",[Zg,Ja]=nt(Hp),Mt="MenuSubTrigger",Qa=l.forwardRef((e,t)=>{const n=rt(Mt,e.__scopeMenu),r=zt(Mt,e.__scopeMenu),o=Ja(Mt,e.__scopeMenu),s=Zr(Mt,e.__scopeMenu),a=l.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=l.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return l.useEffect(()=>f,[f]),l.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),d(null)}},[c,d]),i.jsx(Yr,{asChild:!0,...u,children:i.jsx(Ha,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":ni(n.open),...e,ref:vn(t,o.onTriggerChange),onClick:p=>{var h;(h=e.onClick)==null||h.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:N(e.onPointerMove,_t(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:N(e.onPointerLeave,_t(p=>{var g,x;f();const h=(g=n.content)==null?void 0:g.getBoundingClientRect();if(h){const m=(x=n.content)==null?void 0:x.dataset.side,v=m==="right",b=v?-5:5,C=h[v?"left":"right"],w=h[v?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+b,y:p.clientY},{x:C,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:C,y:h.bottom}],side:m}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:N(e.onKeyDown,p=>{var g;const h=s.searchRef.current!=="";e.disabled||h&&p.key===" "||Cp[r.dir].includes(p.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),p.preventDefault())})})})});Qa.displayName=Mt;var ei="MenuSubContent",ti=l.forwardRef((e,t)=>{const n=Fa(ye,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,s=rt(ye,e.__scopeMenu),a=zt(ye,e.__scopeMenu),c=Ja(ei,e.__scopeMenu),d=l.useRef(null),u=ne(t,d);return i.jsx(Nt.Provider,{scope:e.__scopeMenu,children:i.jsx(Te,{present:r||s.open,children:i.jsx(Nt.Slot,{scope:e.__scopeMenu,children:i.jsx(Jr,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var p;a.isUsingKeyboardRef.current&&((p=d.current)==null||p.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:N(e.onFocusOutside,f=>{f.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:N(e.onEscapeKeyDown,f=>{a.onClose(),f.preventDefault()}),onKeyDown:N(e.onKeyDown,f=>{var g;const p=f.currentTarget.contains(f.target),h=Ep[a.dir].includes(f.key);p&&h&&(s.onOpenChange(!1),(g=c.trigger)==null||g.focus(),f.preventDefault())})})})})})});ti.displayName=ei;function ni(e){return e?"open":"closed"}function fn(e){return e==="indeterminate"}function to(e){return fn(e)?"indeterminate":e?"checked":"unchecked"}function zp(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Wp(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Vp(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=Wp(e,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return d!==n?d:void 0}function Gp(e,t){const{x:n,y:r}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],d=t[a],u=c.x,f=c.y,p=d.x,h=d.y;f>r!=h>r&&n<(p-u)*(r-f)/(h-f)+u&&(o=!o)}return o}function qp(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Gp(n,t)}function _t(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Kp=Da,Yp=Yr,Xp=$a,Zp=Ua,Jp=Qr,Qp=Ba,eh=Pn,th=za,nh=Va,rh=qa,oh=Ya,sh=Xa,ah=Za,ih=Qa,ch=ti,jn="DropdownMenu",[lh]=Ie(jn,[Oa]),le=Oa(),[uh,ri]=lh(jn),oi=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,d=le(t),u=l.useRef(null),[f,p]=Ze({prop:o,defaultProp:s??!1,onChange:a,caller:jn});return i.jsx(uh,{scope:t,triggerId:Ee(),triggerRef:u,contentId:Ee(),open:f,onOpenChange:p,onOpenToggle:l.useCallback(()=>p(h=>!h),[p]),modal:c,children:i.jsx(Kp,{...d,open:f,onOpenChange:p,dir:r,modal:c,children:n})})};oi.displayName=jn;var si="DropdownMenuTrigger",ai=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,s=ri(si,n),a=le(n);return i.jsx(Yp,{asChild:!0,...a,children:i.jsx(z.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:vn(t,s.triggerRef),onPointerDown:N(e.onPointerDown,c=>{!r&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:N(e.onKeyDown,c=>{r||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});ai.displayName=si;var dh="DropdownMenuPortal",ii=e=>{const{__scopeDropdownMenu:t,...n}=e,r=le(t);return i.jsx(Xp,{...r,...n})};ii.displayName=dh;var ci="DropdownMenuContent",li=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ri(ci,n),s=le(n),a=l.useRef(!1);return i.jsx(Zp,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...r,ref:t,onCloseAutoFocus:N(e.onCloseAutoFocus,c=>{var d;a.current||(d=o.triggerRef.current)==null||d.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:N(e.onInteractOutside,c=>{const d=c.detail.originalEvent,u=d.button===0&&d.ctrlKey===!0,f=d.button===2||u;(!o.modal||f)&&(a.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)"}})});li.displayName=ci;var fh="DropdownMenuGroup",ph=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(Jp,{...o,...r,ref:t})});ph.displayName=fh;var hh="DropdownMenuLabel",ui=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(Qp,{...o,...r,ref:t})});ui.displayName=hh;var mh="DropdownMenuItem",di=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(eh,{...o,...r,ref:t})});di.displayName=mh;var gh="DropdownMenuCheckboxItem",vh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(th,{...o,...r,ref:t})});vh.displayName=gh;var yh="DropdownMenuRadioGroup",xh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(nh,{...o,...r,ref:t})});xh.displayName=yh;var bh="DropdownMenuRadioItem",wh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(rh,{...o,...r,ref:t})});wh.displayName=bh;var Ch="DropdownMenuItemIndicator",Eh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(oh,{...o,...r,ref:t})});Eh.displayName=Ch;var kh="DropdownMenuSeparator",fi=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(sh,{...o,...r,ref:t})});fi.displayName=kh;var Sh="DropdownMenuArrow",Rh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ah,{...o,...r,ref:t})});Rh.displayName=Sh;var Th="DropdownMenuSubTrigger",Mh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ih,{...o,...r,ref:t})});Mh.displayName=Th;var Ph="DropdownMenuSubContent",jh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ch,{...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)"}})});jh.displayName=Ph;var Jg=oi,Qg=ai,ev=ii,tv=li,nv=ui,rv=di,ov=fi,Ah="Label",pi=l.forwardRef((e,t)=>i.jsx(z.label,{...e,ref:t,onMouseDown:n=>{var o;n.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));pi.displayName=Ah;var sv=pi;function Jo(e,[t,n]){return Math.min(n,Math.max(t,e))}var Nh=[" ","Enter","ArrowUp","ArrowDown"],_h=[" ","Enter"],et="Select",[An,Nn,Ih]=jr(et),[xt]=Ie(et,[Ih,yt]),_n=yt(),[Oh,Ke]=xt(et),[Lh,Dh]=xt(et),hi=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:d,dir:u,name:f,autoComplete:p,disabled:h,required:g,form:x}=e,m=_n(t),[v,b]=l.useState(null),[C,w]=l.useState(null),[E,S]=l.useState(!1),M=yn(u),[k,A]=Ze({prop:r,defaultProp:o??!1,onChange:s,caller:et}),[D,F]=Ze({prop:a,defaultProp:c,onChange:d,caller:et}),B=l.useRef(null),_=v?x||!!v.closest("form"):!0,[Y,U]=l.useState(new Set),J=Array.from(Y).map(O=>O.props.value).join(";");return i.jsx(Vr,{...m,children:i.jsxs(Oh,{required:g,scope:t,trigger:v,onTriggerChange:b,valueNode:C,onValueNodeChange:w,valueNodeHasChildren:E,onValueNodeHasChildrenChange:S,contentId:Ee(),value:D,onValueChange:F,open:k,onOpenChange:A,dir:M,triggerPointerDownPosRef:B,disabled:h,children:[i.jsx(An.Provider,{scope:t,children:i.jsx(Lh,{scope:e.__scopeSelect,onNativeOptionAdd:l.useCallback(O=>{U(K=>new Set(K).add(O))},[]),onNativeOptionRemove:l.useCallback(O=>{U(K=>{const I=new Set(K);return I.delete(O),I})},[]),children:n})}),_?i.jsxs(Li,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:p,value:D,onChange:O=>F(O.target.value),disabled:h,form:x,children:[D===void 0?i.jsx("option",{value:""}):null,Array.from(Y)]},J):null]})})};hi.displayName=et;var mi="SelectTrigger",gi=l.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,s=_n(n),a=Ke(mi,n),c=a.disabled||r,d=ne(t,a.onTriggerChange),u=Nn(n),f=l.useRef("touch"),[p,h,g]=Fi(m=>{const v=u().filter(w=>!w.disabled),b=v.find(w=>w.value===a.value),C=$i(v,m,b);C!==void 0&&a.onValueChange(C.value)}),x=m=>{c||(a.onOpenChange(!0),g()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return i.jsx(Gr,{asChild:!0,...s,children:i.jsx(z.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Di(a.value)?"":void 0,...o,ref:d,onClick:N(o.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&x(m)}),onPointerDown:N(o.onPointerDown,m=>{f.current=m.pointerType;const v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(x(m),m.preventDefault())}),onKeyDown:N(o.onKeyDown,m=>{const v=p.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(v&&m.key===" ")&&Nh.includes(m.key)&&(x(),m.preventDefault())})})})});gi.displayName=mi;var vi="SelectValue",yi=l.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:s,placeholder:a="",...c}=e,d=Ke(vi,n),{onValueNodeHasChildrenChange:u}=d,f=s!==void 0,p=ne(t,d.onValueNodeChange);return ie(()=>{u(f)},[u,f]),i.jsx(z.span,{...c,ref:p,style:{pointerEvents:"none"},children:Di(d.value)?i.jsx(i.Fragment,{children:a}):s})});yi.displayName=vi;var Fh="SelectIcon",xi=l.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return i.jsx(z.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});xi.displayName=Fh;var $h="SelectPortal",bi=e=>i.jsx($t,{asChild:!0,...e});bi.displayName=$h;var tt="SelectContent",wi=l.forwardRef((e,t)=>{const n=Ke(tt,e.__scopeSelect),[r,o]=l.useState();if(ie(()=>{o(new DocumentFragment)},[]),!n.open){const s=r;return s?Dt.createPortal(i.jsx(Ci,{scope:e.__scopeSelect,children:i.jsx(An.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(Ei,{...e,ref:t})});wi.displayName=tt;var Ce=10,[Ci,Ye]=xt(tt),Uh="SelectContentImpl",Bh=Xe("SelectContent.RemoveScroll"),Ei=l.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v,...b}=e,C=Ke(tt,n),[w,E]=l.useState(null),[S,M]=l.useState(null),k=ne(t,P=>E(P)),[A,D]=l.useState(null),[F,B]=l.useState(null),_=Nn(n),[Y,U]=l.useState(!1),J=l.useRef(!1);l.useEffect(()=>{if(w)return Nr(w)},[w]),Ar();const O=l.useCallback(P=>{const[X,...G]=_().map(oe=>oe.ref.current),[ee]=G.slice(-1),re=document.activeElement;for(const oe of P)if(oe===re||(oe==null||oe.scrollIntoView({block:"nearest"}),oe===X&&S&&(S.scrollTop=0),oe===ee&&S&&(S.scrollTop=S.scrollHeight),oe==null||oe.focus(),document.activeElement!==re))return},[_,S]),K=l.useCallback(()=>O([A,w]),[O,A,w]);l.useEffect(()=>{Y&&K()},[Y,K]);const{onOpenChange:I,triggerPointerDownPosRef:j}=C;l.useEffect(()=>{if(w){let P={x:0,y:0};const X=ee=>{var re,oe;P={x:Math.abs(Math.round(ee.pageX)-(((re=j.current)==null?void 0:re.x)??0)),y:Math.abs(Math.round(ee.pageY)-(((oe=j.current)==null?void 0:oe.y)??0))}},G=ee=>{P.x<=10&&P.y<=10?ee.preventDefault():w.contains(ee.target)||I(!1),document.removeEventListener("pointermove",X),j.current=null};return j.current!==null&&(document.addEventListener("pointermove",X),document.addEventListener("pointerup",G,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",X),document.removeEventListener("pointerup",G,{capture:!0})}}},[w,I,j]),l.useEffect(()=>{const P=()=>I(!1);return window.addEventListener("blur",P),window.addEventListener("resize",P),()=>{window.removeEventListener("blur",P),window.removeEventListener("resize",P)}},[I]);const[Q,y]=Fi(P=>{const X=_().filter(re=>!re.disabled),G=X.find(re=>re.ref.current===document.activeElement),ee=$i(X,P,G);ee&&setTimeout(()=>ee.ref.current.focus())}),R=l.useCallback((P,X,G)=>{const ee=!J.current&&!G;(C.value!==void 0&&C.value===X||ee)&&(D(P),ee&&(J.current=!0))},[C.value]),$=l.useCallback(()=>w==null?void 0:w.focus(),[w]),L=l.useCallback((P,X,G)=>{const ee=!J.current&&!G;(C.value!==void 0&&C.value===X||ee)&&B(P)},[C.value]),V=r==="popper"?fr:ki,W=V===fr?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v}:{};return i.jsx(Ci,{scope:n,content:w,viewport:S,onViewportChange:M,itemRefCallback:R,selectedItem:A,onItemLeave:$,itemTextRefCallback:L,focusSelectedItem:K,selectedItemText:F,position:r,isPositioned:Y,searchRef:Q,children:i.jsx(wn,{as:Bh,allowPinchZoom:!0,children:i.jsx(xn,{asChild:!0,trapped:C.open,onMountAutoFocus:P=>{P.preventDefault()},onUnmountAutoFocus:N(o,P=>{var X;(X=C.trigger)==null||X.focus({preventScroll:!0}),P.preventDefault()}),children:i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:P=>P.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:i.jsx(V,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:P=>P.preventDefault(),...b,...W,onPlaced:()=>U(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:N(b.onKeyDown,P=>{const X=P.ctrlKey||P.altKey||P.metaKey;if(P.key==="Tab"&&P.preventDefault(),!X&&P.key.length===1&&y(P.key),["ArrowUp","ArrowDown","Home","End"].includes(P.key)){let ee=_().filter(re=>!re.disabled).map(re=>re.ref.current);if(["ArrowUp","End"].includes(P.key)&&(ee=ee.slice().reverse()),["ArrowUp","ArrowDown"].includes(P.key)){const re=P.target,oe=ee.indexOf(re);ee=ee.slice(oe+1)}setTimeout(()=>O(ee)),P.preventDefault()}})})})})})})});Ei.displayName=Uh;var Hh="SelectItemAlignedPosition",ki=l.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,s=Ke(tt,n),a=Ye(tt,n),[c,d]=l.useState(null),[u,f]=l.useState(null),p=ne(t,k=>f(k)),h=Nn(n),g=l.useRef(!1),x=l.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:b,focusSelectedItem:C}=a,w=l.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&u&&m&&v&&b){const k=s.trigger.getBoundingClientRect(),A=u.getBoundingClientRect(),D=s.valueNode.getBoundingClientRect(),F=b.getBoundingClientRect();if(s.dir!=="rtl"){const re=F.left-A.left,oe=D.left-re,fe=k.left-oe,Pe=k.width+fe,wt=Math.max(Pe,A.width),Ct=window.innerWidth-Ce,Et=Jo(oe,[Ce,Math.max(Ce,Ct-wt)]);c.style.minWidth=Pe+"px",c.style.left=Et+"px"}else{const re=A.right-F.right,oe=window.innerWidth-D.right-re,fe=window.innerWidth-k.right-oe,Pe=k.width+fe,wt=Math.max(Pe,A.width),Ct=window.innerWidth-Ce,Et=Jo(oe,[Ce,Math.max(Ce,Ct-wt)]);c.style.minWidth=Pe+"px",c.style.right=Et+"px"}const B=h(),_=window.innerHeight-Ce*2,Y=m.scrollHeight,U=window.getComputedStyle(u),J=parseInt(U.borderTopWidth,10),O=parseInt(U.paddingTop,10),K=parseInt(U.borderBottomWidth,10),I=parseInt(U.paddingBottom,10),j=J+O+Y+I+K,Q=Math.min(v.offsetHeight*5,j),y=window.getComputedStyle(m),R=parseInt(y.paddingTop,10),$=parseInt(y.paddingBottom,10),L=k.top+k.height/2-Ce,V=_-L,W=v.offsetHeight/2,P=v.offsetTop+W,X=J+O+P,G=j-X;if(X<=L){const re=B.length>0&&v===B[B.length-1].ref.current;c.style.bottom="0px";const oe=u.clientHeight-m.offsetTop-m.offsetHeight,fe=Math.max(V,W+(re?$:0)+oe+K),Pe=X+fe;c.style.height=Pe+"px"}else{const re=B.length>0&&v===B[0].ref.current;c.style.top="0px";const fe=Math.max(L,J+m.offsetTop+(re?R:0)+W)+G;c.style.height=fe+"px",m.scrollTop=X-L+m.offsetTop}c.style.margin=`${Ce}px 0`,c.style.minHeight=Q+"px",c.style.maxHeight=_+"px",r==null||r(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,c,u,m,v,b,s.dir,r]);ie(()=>w(),[w]);const[E,S]=l.useState();ie(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);const M=l.useCallback(k=>{k&&x.current===!0&&(w(),C==null||C(),x.current=!1)},[w,C]);return i.jsx(Wh,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:M,children:i.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:i.jsx(z.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});ki.displayName=Hh;var zh="SelectPopperPosition",fr=l.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Ce,...s}=e,a=_n(n);return i.jsx(qr,{...a,...s,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...s.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)"}})});fr.displayName=zh;var[Wh,no]=xt(tt,{}),pr="SelectViewport",Si=l.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,s=Ye(pr,n),a=no(pr,n),c=ne(t,s.onViewportChange),d=l.useRef(0);return i.jsxs(i.Fragment,{children:[i.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}),i.jsx(An.Slot,{scope:n,children:i.jsx(z.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:N(o.onScroll,u=>{const f=u.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&p){const g=Math.abs(d.current-f.scrollTop);if(g>0){const x=window.innerHeight-Ce*2,m=parseFloat(p.style.minHeight),v=parseFloat(p.style.height),b=Math.max(m,v);if(b<x){const C=b+g,w=Math.min(x,C),E=C-w;p.style.height=w+"px",p.style.bottom==="0px"&&(f.scrollTop=E>0?E:0,p.style.justifyContent="flex-end")}}}d.current=f.scrollTop})})})]})});Si.displayName=pr;var Ri="SelectGroup",[Vh,Gh]=xt(Ri),qh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Ee();return i.jsx(Vh,{scope:n,id:o,children:i.jsx(z.div,{role:"group","aria-labelledby":o,...r,ref:t})})});qh.displayName=Ri;var Ti="SelectLabel",Kh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Gh(Ti,n);return i.jsx(z.div,{id:o.id,...r,ref:t})});Kh.displayName=Ti;var pn="SelectItem",[Yh,Mi]=xt(pn),Pi=l.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:s,...a}=e,c=Ke(pn,n),d=Ye(pn,n),u=c.value===r,[f,p]=l.useState(s??""),[h,g]=l.useState(!1),x=ne(t,C=>{var w;return(w=d.itemRefCallback)==null?void 0:w.call(d,C,r,o)}),m=Ee(),v=l.useRef("touch"),b=()=>{o||(c.onValueChange(r),c.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 i.jsx(Yh,{scope:n,value:r,disabled:o,textId:m,isSelected:u,onItemTextChange:l.useCallback(C=>{p(w=>w||((C==null?void 0:C.textContent)??"").trim())},[]),children:i.jsx(An.ItemSlot,{scope:n,value:r,disabled:o,textValue:f,children:i.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,...a,ref:x,onFocus:N(a.onFocus,()=>g(!0)),onBlur:N(a.onBlur,()=>g(!1)),onClick:N(a.onClick,()=>{v.current!=="mouse"&&b()}),onPointerUp:N(a.onPointerUp,()=>{v.current==="mouse"&&b()}),onPointerDown:N(a.onPointerDown,C=>{v.current=C.pointerType}),onPointerMove:N(a.onPointerMove,C=>{var w;v.current=C.pointerType,o?(w=d.onItemLeave)==null||w.call(d):v.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(a.onPointerLeave,C=>{var w;C.currentTarget===document.activeElement&&((w=d.onItemLeave)==null||w.call(d))}),onKeyDown:N(a.onKeyDown,C=>{var E;((E=d.searchRef)==null?void 0:E.current)!==""&&C.key===" "||(_h.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});Pi.displayName=pn;var Pt="SelectItemText",ji=l.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...s}=e,a=Ke(Pt,n),c=Ye(Pt,n),d=Mi(Pt,n),u=Dh(Pt,n),[f,p]=l.useState(null),h=ne(t,b=>p(b),d.onItemTextChange,b=>{var C;return(C=c.itemTextRefCallback)==null?void 0:C.call(c,b,d.value,d.disabled)}),g=f==null?void 0:f.textContent,x=l.useMemo(()=>i.jsx("option",{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=u;return ie(()=>(m(x),()=>v(x)),[m,v,x]),i.jsxs(i.Fragment,{children:[i.jsx(z.span,{id:d.textId,...s,ref:h}),d.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Dt.createPortal(s.children,a.valueNode):null]})});ji.displayName=Pt;var Ai="SelectItemIndicator",Ni=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Mi(Ai,n).isSelected?i.jsx(z.span,{"aria-hidden":!0,...r,ref:t}):null});Ni.displayName=Ai;var hr="SelectScrollUpButton",_i=l.forwardRef((e,t)=>{const n=Ye(hr,e.__scopeSelect),r=no(hr,e.__scopeSelect),[o,s]=l.useState(!1),a=ne(t,r.onScrollButtonChange);return ie(()=>{if(n.viewport&&n.isPositioned){let c=function(){const u=d.scrollTop>0;s(u)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),o?i.jsx(Oi,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});_i.displayName=hr;var mr="SelectScrollDownButton",Ii=l.forwardRef((e,t)=>{const n=Ye(mr,e.__scopeSelect),r=no(mr,e.__scopeSelect),[o,s]=l.useState(!1),a=ne(t,r.onScrollButtonChange);return ie(()=>{if(n.viewport&&n.isPositioned){let c=function(){const u=d.scrollHeight-d.clientHeight,f=Math.ceil(d.scrollTop)<u;s(f)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),o?i.jsx(Oi,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});Ii.displayName=mr;var Oi=l.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,s=Ye("SelectScrollButton",n),a=l.useRef(null),c=Nn(n),d=l.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return l.useEffect(()=>()=>d(),[d]),ie(()=>{var f;const u=c().find(p=>p.ref.current===document.activeElement);(f=u==null?void 0:u.ref.current)==null||f.scrollIntoView({block:"nearest"})},[c]),i.jsx(z.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:N(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:N(o.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:N(o.onPointerLeave,()=>{d()})})}),Xh="SelectSeparator",Zh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return i.jsx(z.div,{"aria-hidden":!0,...r,ref:t})});Zh.displayName=Xh;var gr="SelectArrow",Jh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=_n(n),s=Ke(gr,n),a=Ye(gr,n);return s.open&&a.position==="popper"?i.jsx(Kr,{...o,...r,ref:t}):null});Jh.displayName=gr;var Qh="SelectBubbleInput",Li=l.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const o=l.useRef(null),s=ne(r,o),a=Hd(t);return l.useEffect(()=>{const c=o.current;if(!c)return;const d=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(d,"value").set;if(a!==t&&f){const p=new Event("change",{bubbles:!0});f.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(z.select,{...n,style:{...Ts,...n.style},ref:s,defaultValue:t})});Li.displayName=Qh;function Di(e){return e===""||e===void 0}function Fi(e){const t=ke(e),n=l.useRef(""),r=l.useRef(0),o=l.useCallback(a=>{const c=n.current+a;t(c),(function d(u){n.current=u,window.clearTimeout(r.current),u!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[t]),s=l.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,s]}function $i(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=em(e,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.textValue.toLowerCase().startsWith(o.toLowerCase()));return d!==n?d:void 0}function em(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var av=hi,iv=gi,cv=yi,lv=xi,uv=bi,dv=wi,fv=Si,pv=Pi,hv=ji,mv=Ni,gv=_i,vv=Ii,tm="Separator",Qo="horizontal",nm=["horizontal","vertical"],Ui=l.forwardRef((e,t)=>{const{decorative:n,orientation:r=Qo,...o}=e,s=rm(r)?r:Qo,c=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(z.div,{"data-orientation":s,...c,...o,ref:t})});Ui.displayName=tm;function rm(e){return nm.includes(e)}var yv=Ui,In="Tabs",[om]=Ie(In,[Tn]),Bi=Tn(),[sm,ro]=om(In),Hi=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:s,orientation:a="horizontal",dir:c,activationMode:d="automatic",...u}=e,f=yn(c),[p,h]=Ze({prop:r,onChange:o,defaultProp:s??"",caller:In});return i.jsx(sm,{scope:n,baseId:Ee(),value:p,onValueChange:h,orientation:a,dir:f,activationMode:d,children:i.jsx(z.div,{dir:f,"data-orientation":a,...u,ref:t})})});Hi.displayName=In;var zi="TabsList",Wi=l.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,s=ro(zi,n),a=Bi(n);return i.jsx(Na,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:r,children:i.jsx(z.div,{role:"tablist","aria-orientation":s.orientation,...o,ref:t})})});Wi.displayName=zi;var Vi="TabsTrigger",Gi=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...s}=e,a=ro(Vi,n),c=Bi(n),d=Yi(a.baseId,r),u=Xi(a.baseId,r),f=r===a.value;return i.jsx(_a,{asChild:!0,...c,focusable:!o,active:f,children:i.jsx(z.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":u,"data-state":f?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:d,...s,ref:t,onMouseDown:N(e.onMouseDown,p=>{!o&&p.button===0&&p.ctrlKey===!1?a.onValueChange(r):p.preventDefault()}),onKeyDown:N(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&a.onValueChange(r)}),onFocus:N(e.onFocus,()=>{const p=a.activationMode!=="manual";!f&&!o&&p&&a.onValueChange(r)})})})});Gi.displayName=Vi;var qi="TabsContent",Ki=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:s,...a}=e,c=ro(qi,n),d=Yi(c.baseId,r),u=Xi(c.baseId,r),f=r===c.value,p=l.useRef(f);return l.useEffect(()=>{const h=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(h)},[]),i.jsx(Te,{present:o||f,children:({present:h})=>i.jsx(z.div,{"data-state":f?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!h,id:u,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:h&&s})})});Ki.displayName=qi;function Yi(e,t){return`${e}-trigger-${t}`}function Xi(e,t){return`${e}-content-${t}`}var am=Hi,im=Wi,cm=Gi,lm=Ki,[On]=Ie("Tooltip",[yt]),Ln=yt(),Zi="TooltipProvider",um=700,vr="tooltip.open",[dm,oo]=On(Zi),Ji=e=>{const{__scopeTooltip:t,delayDuration:n=um,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:s}=e,a=l.useRef(!0),c=l.useRef(!1),d=l.useRef(0);return l.useEffect(()=>{const u=d.current;return()=>window.clearTimeout(u)},[]),i.jsx(dm,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:l.useCallback(()=>{window.clearTimeout(d.current),a.current=!1},[]),onClose:l.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:l.useCallback(u=>{c.current=u},[]),disableHoverableContent:o,children:s})};Ji.displayName=Zi;var It="Tooltip",[fm,Wt]=On(It),Qi=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,d=oo(It,e.__scopeTooltip),u=Ln(t),[f,p]=l.useState(null),h=Ee(),g=l.useRef(0),x=a??d.disableHoverableContent,m=c??d.delayDuration,v=l.useRef(!1),[b,C]=Ze({prop:r,defaultProp:o??!1,onChange:k=>{k?(d.onOpen(),document.dispatchEvent(new CustomEvent(vr))):d.onClose(),s==null||s(k)},caller:It}),w=l.useMemo(()=>b?v.current?"delayed-open":"instant-open":"closed",[b]),E=l.useCallback(()=>{window.clearTimeout(g.current),g.current=0,v.current=!1,C(!0)},[C]),S=l.useCallback(()=>{window.clearTimeout(g.current),g.current=0,C(!1)},[C]),M=l.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{v.current=!0,C(!0),g.current=0},m)},[m,C]);return l.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),i.jsx(Vr,{...u,children:i.jsx(fm,{scope:t,contentId:h,open:b,stateAttribute:w,trigger:f,onTriggerChange:p,onTriggerEnter:l.useCallback(()=>{d.isOpenDelayedRef.current?M():E()},[d.isOpenDelayedRef,M,E]),onTriggerLeave:l.useCallback(()=>{x?S():(window.clearTimeout(g.current),g.current=0)},[S,x]),onOpen:E,onClose:S,disableHoverableContent:x,children:n})})};Qi.displayName=It;var yr="TooltipTrigger",ec=l.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Wt(yr,n),s=oo(yr,n),a=Ln(n),c=l.useRef(null),d=ne(t,c,o.onTriggerChange),u=l.useRef(!1),f=l.useRef(!1),p=l.useCallback(()=>u.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(Gr,{asChild:!0,...a,children:i.jsx(z.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:d,onPointerMove:N(e.onPointerMove,h=>{h.pointerType!=="touch"&&!f.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),f.current=!0)}),onPointerLeave:N(e.onPointerLeave,()=>{o.onTriggerLeave(),f.current=!1}),onPointerDown:N(e.onPointerDown,()=>{o.open&&o.onClose(),u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:N(e.onFocus,()=>{u.current||o.onOpen()}),onBlur:N(e.onBlur,o.onClose),onClick:N(e.onClick,o.onClose)})})});ec.displayName=yr;var so="TooltipPortal",[pm,hm]=On(so,{forceMount:void 0}),tc=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,s=Wt(so,t);return i.jsx(pm,{scope:t,forceMount:n,children:i.jsx(Te,{present:n||s.open,children:i.jsx($t,{asChild:!0,container:o,children:r})})})};tc.displayName=so;var ft="TooltipContent",nc=l.forwardRef((e,t)=>{const n=hm(ft,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...s}=e,a=Wt(ft,e.__scopeTooltip);return i.jsx(Te,{present:r||a.open,children:a.disableHoverableContent?i.jsx(rc,{side:o,...s,ref:t}):i.jsx(mm,{side:o,...s,ref:t})})}),mm=l.forwardRef((e,t)=>{const n=Wt(ft,e.__scopeTooltip),r=oo(ft,e.__scopeTooltip),o=l.useRef(null),s=ne(t,o),[a,c]=l.useState(null),{trigger:d,onClose:u}=n,f=o.current,{onPointerInTransitChange:p}=r,h=l.useCallback(()=>{c(null),p(!1)},[p]),g=l.useCallback((x,m)=>{const v=x.currentTarget,b={x:x.clientX,y:x.clientY},C=xm(b,v.getBoundingClientRect()),w=bm(b,C),E=wm(m.getBoundingClientRect()),S=Em([...w,...E]);c(S),p(!0)},[p]);return l.useEffect(()=>()=>h(),[h]),l.useEffect(()=>{if(d&&f){const x=v=>g(v,f),m=v=>g(v,d);return d.addEventListener("pointerleave",x),f.addEventListener("pointerleave",m),()=>{d.removeEventListener("pointerleave",x),f.removeEventListener("pointerleave",m)}}},[d,f,g,h]),l.useEffect(()=>{if(a){const x=m=>{const v=m.target,b={x:m.clientX,y:m.clientY},C=(d==null?void 0:d.contains(v))||(f==null?void 0:f.contains(v)),w=!Cm(b,a);C?h():w&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[d,f,a,u,h]),i.jsx(rc,{...e,ref:s})}),[gm,vm]=On(It,{isInside:!1}),ym=au("TooltipContent"),rc=l.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,d=Wt(ft,n),u=Ln(n),{onClose:f}=d;return l.useEffect(()=>(document.addEventListener(vr,f),()=>document.removeEventListener(vr,f)),[f]),l.useEffect(()=>{if(d.trigger){const p=h=>{const g=h.target;g!=null&&g.contains(d.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,f]),i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:i.jsxs(qr,{"data-state":d.stateAttribute,...u,...c,ref:t,style:{...c.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:[i.jsx(ym,{children:r}),i.jsx(gm,{scope:n,isInside:!0,children:i.jsx(fu,{id:d.contentId,role:"tooltip",children:o||r})})]})})});nc.displayName=ft;var oc="TooltipArrow",sc=l.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ln(n);return vm(oc,n).isInside?null:i.jsx(Kr,{...o,...r,ref:t})});sc.displayName=oc;function xm(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,o,s)){case s:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function bm(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 wm(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 Cm(e,t){const{x:n,y:r}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],d=t[a],u=c.x,f=c.y,p=d.x,h=d.y;f>r!=h>r&&n<(p-u)*(r-f)/(h-f)+u&&(o=!o)}return o}function Em(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),km(t)}function km(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 s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.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 s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.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 xv=Ji,bv=Qi,wv=ec,Cv=tc,Ev=nc,kv=sc;const ao="-",Sm=e=>{const t=Tm(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const c=a.split(ao);return c[0]===""&&c.length!==1&&c.shift(),ac(c,t)||Rm(a)},getConflictingClassGroupIds:(a,c)=>{const d=n[a]||[];return c&&r[a]?[...d,...r[a]]:d}}},ac=(e,t)=>{var a;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?ac(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const s=e.join(ao);return(a=t.validators.find(({validator:c})=>c(s)))==null?void 0:a.classGroupId},es=/^\[(.+)\]$/,Rm=e=>{if(es.test(e)){const t=es.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Tm=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Pm(Object.entries(e.classGroups),n).forEach(([s,a])=>{xr(a,r,s,t)}),r},xr=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?t:ts(t,o);s.classGroupId=n;return}if(typeof o=="function"){if(Mm(o)){xr(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,a])=>{xr(a,ts(t,s),n,r)})})},ts=(e,t)=>{let n=e;return t.split(ao).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Mm=e=>e.isThemeGetter,Pm=(e,t)=>t?e.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?t+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,c])=>[t+a,c])):s);return[n,o]}):e,jm=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(s,a)=>{n.set(s,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=r.get(s))!==void 0)return o(s,a),a},set(s,a){n.has(s)?n.set(s,a):o(s,a)}}},ic="!",Am=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],s=t.length,a=c=>{const d=[];let u=0,f=0,p;for(let v=0;v<c.length;v++){let b=c[v];if(u===0){if(b===o&&(r||c.slice(v,v+s)===t)){d.push(c.slice(f,v)),f=v+s;continue}if(b==="/"){p=v;continue}}b==="["?u++:b==="]"&&u--}const h=d.length===0?c:c.substring(f),g=h.startsWith(ic),x=g?h.substring(1):h,m=p&&p>f?p-f:void 0;return{modifiers:d,hasImportantModifier:g,baseClassName:x,maybePostfixModifierPosition:m}};return n?c=>n({className:c,parseClassName:a}):a},Nm=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},_m=e=>({cache:jm(e.cacheSize),parseClassName:Am(e),...Sm(e)}),Im=/\s+/,Om=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,s=[],a=e.trim().split(Im);let c="";for(let d=a.length-1;d>=0;d-=1){const u=a[d],{modifiers:f,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:g}=n(u);let x=!!g,m=r(x?h.substring(0,g):h);if(!m){if(!x){c=u+(c.length>0?" "+c:c);continue}if(m=r(h),!m){c=u+(c.length>0?" "+c:c);continue}x=!1}const v=Nm(f).join(":"),b=p?v+ic:v,C=b+m;if(s.includes(C))continue;s.push(C);const w=o(m,x);for(let E=0;E<w.length;++E){const S=w[E];s.push(b+S)}c=u+(c.length>0?" "+c:c)}return c};function Lm(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=cc(t))&&(r&&(r+=" "),r+=n);return r}const cc=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=cc(e[r]))&&(n&&(n+=" "),n+=t);return n};function Dm(e,...t){let n,r,o,s=a;function a(d){const u=t.reduce((f,p)=>p(f),e());return n=_m(u),r=n.cache.get,o=n.cache.set,s=c,c(d)}function c(d){const u=r(d);if(u)return u;const f=Om(d,n);return o(d,f),f}return function(){return s(Lm.apply(null,arguments))}}const se=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},lc=/^\[(?:([a-z-]+):)?(.+)\]$/i,Fm=/^\d+\/\d+$/,$m=new Set(["px","full","screen"]),Um=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Bm=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Hm=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,zm=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Wm=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Le=e=>ut(e)||$m.has(e)||Fm.test(e),He=e=>bt(e,"length",Jm),ut=e=>!!e&&!Number.isNaN(Number(e)),tr=e=>bt(e,"number",ut),Rt=e=>!!e&&Number.isInteger(Number(e)),Vm=e=>e.endsWith("%")&&ut(e.slice(0,-1)),q=e=>lc.test(e),ze=e=>Um.test(e),Gm=new Set(["length","size","percentage"]),qm=e=>bt(e,Gm,uc),Km=e=>bt(e,"position",uc),Ym=new Set(["image","url"]),Xm=e=>bt(e,Ym,eg),Zm=e=>bt(e,"",Qm),Tt=()=>!0,bt=(e,t,n)=>{const r=lc.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},Jm=e=>Bm.test(e)&&!Hm.test(e),uc=()=>!1,Qm=e=>zm.test(e),eg=e=>Wm.test(e),tg=()=>{const e=se("colors"),t=se("spacing"),n=se("blur"),r=se("brightness"),o=se("borderColor"),s=se("borderRadius"),a=se("borderSpacing"),c=se("borderWidth"),d=se("contrast"),u=se("grayscale"),f=se("hueRotate"),p=se("invert"),h=se("gap"),g=se("gradientColorStops"),x=se("gradientColorStopPositions"),m=se("inset"),v=se("margin"),b=se("opacity"),C=se("padding"),w=se("saturate"),E=se("scale"),S=se("sepia"),M=se("skew"),k=se("space"),A=se("translate"),D=()=>["auto","contain","none"],F=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto",q,t],_=()=>[q,t],Y=()=>["",Le,He],U=()=>["auto",ut,q],J=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],O=()=>["solid","dashed","dotted","double","none"],K=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],I=()=>["start","end","center","between","around","evenly","stretch"],j=()=>["","0",q],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>[ut,q];return{cacheSize:500,separator:":",theme:{colors:[Tt],spacing:[Le,He],blur:["none","",ze,q],brightness:y(),borderColor:[e],borderRadius:["none","","full",ze,q],borderSpacing:_(),borderWidth:Y(),contrast:y(),grayscale:j(),hueRotate:y(),invert:j(),gap:_(),gradientColorStops:[e],gradientColorStopPositions:[Vm,He],inset:B(),margin:B(),opacity:y(),padding:_(),saturate:y(),scale:y(),sepia:j(),skew:y(),space:_(),translate:_()},classGroups:{aspect:[{aspect:["auto","square","video",q]}],container:["container"],columns:[{columns:[ze]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...J(),q]}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Rt,q]}],basis:[{basis:B()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",q]}],grow:[{grow:j()}],shrink:[{shrink:j()}],order:[{order:["first","last","none",Rt,q]}],"grid-cols":[{"grid-cols":[Tt]}],"col-start-end":[{col:["auto",{span:["full",Rt,q]},q]}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":[Tt]}],"row-start-end":[{row:["auto",{span:[Rt,q]},q]}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",q]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",q]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...I()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...I(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...I(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",q,t]}],"min-w":[{"min-w":[q,t,"min","max","fit"]}],"max-w":[{"max-w":[q,t,"none","full","min","max","fit","prose",{screen:[ze]},ze]}],h:[{h:[q,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[q,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[q,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[q,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ze,He]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",tr]}],"font-family":[{font:[Tt]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",q]}],"line-clamp":[{"line-clamp":["none",ut,tr]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Le,q]}],"list-image":[{"list-image":["none",q]}],"list-style-type":[{list:["none","disc","decimal",q]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Le,He]}],"underline-offset":[{"underline-offset":["auto",Le,q]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...J(),Km]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",qm]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Xm]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...O(),"hidden"]}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:O()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...O()]}],"outline-offset":[{"outline-offset":[Le,q]}],"outline-w":[{outline:[Le,He]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[Le,He]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ze,Zm]}],"shadow-color":[{shadow:[Tt]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...K(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":K()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",ze,q]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[p]}],saturate:[{saturate:[w]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",q]}],duration:[{duration:y()}],ease:[{ease:["linear","in","out","in-out",q]}],delay:[{delay:y()}],animate:[{animate:["none","spin","ping","pulse","bounce",q]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Rt,q]}],"translate-x":[{"translate-x":[A]}],"translate-y":[{"translate-y":[A]}],"skew-x":[{"skew-x":[M]}],"skew-y":[{"skew-y":[M]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",q]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",q]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",q]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Le,He,tr]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},ng=Dm(tg);function we(...e){return ng(Es(e))}const rg=Pr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer 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 og({className:e,variant:t="default",size:n="default",asChild:r=!1,...o}){const s=r?ks:"button";return i.jsx(s,{"data-slot":"button","data-variant":t,"data-size":n,className:we(rg({variant:t,size:n,className:e})),...o})}/**
|
|
88
|
+
*/var Do;function _d(){if(Do)return Zn;Do=1;var e=br();function t(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,a=e.useDebugValue;function c(p,h){var g=h(),x=r({inst:{value:g,getSnapshot:h}}),m=x[0].inst,v=x[1];return s(function(){m.value=g,m.getSnapshot=h,d(m)&&v({inst:m})},[p,g,h]),o(function(){return d(m)&&v({inst:m}),p(function(){d(m)&&v({inst:m})})},[p]),a(g),g}function d(p){var h=p.getSnapshot;p=p.value;try{var g=h();return!n(p,g)}catch{return!0}}function u(p,h){return h()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:c;return Zn.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,Zn}var Fo;function Id(){return Fo||(Fo=1,Xn.exports=_d()),Xn.exports}var Od=Id();function Ld(){return Od.useSyncExternalStore(Dd,()=>!0,()=>!1)}function Dd(){return()=>{}}var Lr="Avatar",[Fd]=Ie(Lr),[$d,ta]=Fd(Lr),na=l.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,s]=l.useState("idle");return i.jsx($d,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:i.jsx(z.span,{...r,ref:t})})});na.displayName=Lr;var ra="AvatarImage",Ud=l.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=e,a=ta(ra,n),c=Hd(r,s),d=ke(u=>{o(u),a.onImageLoadingStatusChange(u)});return ie(()=>{c!=="idle"&&d(c)},[c,d]),c==="loaded"?i.jsx(z.img,{...s,ref:t,src:r}):null});Ud.displayName=ra;var oa="AvatarFallback",sa=l.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,s=ta(oa,n),[a,c]=l.useState(r===void 0);return l.useEffect(()=>{if(r!==void 0){const d=window.setTimeout(()=>c(!0),r);return()=>window.clearTimeout(d)}},[r]),a&&s.imageLoadingStatus!=="loaded"?i.jsx(z.span,{...o,ref:t}):null});sa.displayName=oa;function $o(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function Hd(e,{referrerPolicy:t,crossOrigin:n}){const r=Ld(),o=l.useRef(null),s=r?(o.current||(o.current=new window.Image),o.current):null,[a,c]=l.useState(()=>$o(s,e));return ie(()=>{c($o(s,e))},[s,e]),ie(()=>{const d=p=>()=>{c(p)};if(!s)return;const u=d("loaded"),f=d("error");return s.addEventListener("load",u),s.addEventListener("error",f),t&&(s.referrerPolicy=t),typeof n=="string"&&(s.crossOrigin=n),()=>{s.removeEventListener("load",u),s.removeEventListener("error",f)}},[s,n,t]),a}var Yg=na,Xg=sa;function Bd(e){const t=l.useRef({value:e,previous:e});return l.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function zd(e){const[t,n]=l.useState(void 0);return ie(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,u=Array.isArray(d)?d[0]:d;a=u.inlineSize,c=u.blockSize}else a=e.offsetWidth,c=e.offsetHeight;n({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const Wd=["top","right","bottom","left"],Ge=Math.min,pe=Math.max,an=Math.round,Jt=Math.floor,Ne=e=>({x:e,y:e}),Vd={left:"right",right:"left",bottom:"top",top:"bottom"},Gd={start:"end",end:"start"};function ir(e,t,n){return pe(e,Ge(t,n))}function $e(e,t){return typeof e=="function"?e(t):e}function Ue(e){return e.split("-")[0]}function gt(e){return e.split("-")[1]}function Dr(e){return e==="x"?"y":"x"}function Fr(e){return e==="y"?"height":"width"}const qd=new Set(["top","bottom"]);function Ae(e){return qd.has(Ue(e))?"y":"x"}function $r(e){return Dr(Ae(e))}function Kd(e,t,n){n===void 0&&(n=!1);const r=gt(e),o=$r(e),s=Fr(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=cn(a)),[a,cn(a)]}function Yd(e){const t=cn(e);return[cr(e),t,cr(t)]}function cr(e){return e.replace(/start|end/g,t=>Gd[t])}const Uo=["left","right"],Ho=["right","left"],Xd=["top","bottom"],Zd=["bottom","top"];function Jd(e,t,n){switch(e){case"top":case"bottom":return n?t?Ho:Uo:t?Uo:Ho;case"left":case"right":return t?Xd:Zd;default:return[]}}function Qd(e,t,n,r){const o=gt(e);let s=Jd(Ue(e),n==="start",r);return o&&(s=s.map(a=>a+"-"+o),t&&(s=s.concat(s.map(cr)))),s}function cn(e){return e.replace(/left|right|bottom|top/g,t=>Vd[t])}function ef(e){return{top:0,right:0,bottom:0,left:0,...e}}function aa(e){return typeof e!="number"?ef(e):{top:e,right:e,bottom:e,left:e}}function ln(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Bo(e,t,n){let{reference:r,floating:o}=e;const s=Ae(t),a=$r(t),c=Fr(a),d=Ue(t),u=s==="y",f=r.x+r.width/2-o.width/2,p=r.y+r.height/2-o.height/2,h=r[c]/2-o[c]/2;let g;switch(d){case"top":g={x:f,y:r.y-o.height};break;case"bottom":g={x:f,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:p};break;case"left":g={x:r.x-o.width,y:p};break;default:g={x:r.x,y:r.y}}switch(gt(t)){case"start":g[a]-=h*(n&&u?-1:1);break;case"end":g[a]+=h*(n&&u?-1:1);break}return g}async function tf(e,t){var n;t===void 0&&(t={});const{x:r,y:o,platform:s,rects:a,elements:c,strategy:d}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:p="floating",altBoundary:h=!1,padding:g=0}=$e(t,e),x=aa(g),v=c[h?p==="floating"?"reference":"floating":p],b=ln(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(v)))==null||n?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:u,rootBoundary:f,strategy:d})),C=p==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,w=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),E=await(s.isElement==null?void 0:s.isElement(w))?await(s.getScale==null?void 0:s.getScale(w))||{x:1,y:1}:{x:1,y:1},S=ln(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:C,offsetParent:w,strategy:d}):C);return{top:(b.top-S.top+x.top)/E.y,bottom:(S.bottom-b.bottom+x.bottom)/E.y,left:(b.left-S.left+x.left)/E.x,right:(S.right-b.right+x.right)/E.x}}const nf=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:f,y:p}=Bo(u,r,d),h=r,g={},x=0;for(let v=0;v<c.length;v++){var m;const{name:b,fn:C}=c[v],{x:w,y:E,data:S,reset:M}=await C({x:f,y:p,initialPlacement:r,placement:h,strategy:o,middlewareData:g,rects:u,platform:{...a,detectOverflow:(m=a.detectOverflow)!=null?m:tf},elements:{reference:e,floating:t}});f=w??f,p=E??p,g={...g,[b]:{...g[b],...S}},M&&x<=50&&(x++,typeof M=="object"&&(M.placement&&(h=M.placement),M.rects&&(u=M.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):M.rects),{x:f,y:p}=Bo(u,h,d)),v=-1)}return{x:f,y:p,placement:h,strategy:o,middlewareData:g}},rf=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c,middlewareData:d}=t,{element:u,padding:f=0}=$e(e,t)||{};if(u==null)return{};const p=aa(f),h={x:n,y:r},g=$r(o),x=Fr(g),m=await a.getDimensions(u),v=g==="y",b=v?"top":"left",C=v?"bottom":"right",w=v?"clientHeight":"clientWidth",E=s.reference[x]+s.reference[g]-h[g]-s.floating[x],S=h[g]-s.reference[g],M=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let k=M?M[w]:0;(!k||!await(a.isElement==null?void 0:a.isElement(M)))&&(k=c.floating[w]||s.floating[x]);const A=E/2-S/2,D=k/2-m[x]/2-1,F=Ge(p[b],D),H=Ge(p[C],D),_=F,Y=k-m[x]-H,U=k/2-m[x]/2+A,J=ir(_,U,Y),O=!d.arrow&>(o)!=null&&U!==J&&s.reference[x]/2-(U<_?F:H)-m[x]/2<0,K=O?U<_?U-_:U-Y:0;return{[g]:h[g]+K,data:{[g]:J,centerOffset:U-J-K,...O&&{alignmentOffset:K}},reset:O}}}),of=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:s,rects:a,initialPlacement:c,platform:d,elements:u}=t,{mainAxis:f=!0,crossAxis:p=!0,fallbackPlacements:h,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:m=!0,...v}=$e(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const b=Ue(o),C=Ae(c),w=Ue(c)===c,E=await(d.isRTL==null?void 0:d.isRTL(u.floating)),S=h||(w||!m?[cn(c)]:Yd(c)),M=x!=="none";!h&&M&&S.push(...Qd(c,m,x,E));const k=[c,...S],A=await d.detectOverflow(t,v),D=[];let F=((r=s.flip)==null?void 0:r.overflows)||[];if(f&&D.push(A[b]),p){const U=Kd(o,a,E);D.push(A[U[0]],A[U[1]])}if(F=[...F,{placement:o,overflows:D}],!D.every(U=>U<=0)){var H,_;const U=(((H=s.flip)==null?void 0:H.index)||0)+1,J=k[U];if(J&&(!(p==="alignment"?C!==Ae(J):!1)||F.every(I=>Ae(I.placement)===C?I.overflows[0]>0:!0)))return{data:{index:U,overflows:F},reset:{placement:J}};let O=(_=F.filter(K=>K.overflows[0]<=0).sort((K,I)=>K.overflows[1]-I.overflows[1])[0])==null?void 0:_.placement;if(!O)switch(g){case"bestFit":{var Y;const K=(Y=F.filter(I=>{if(M){const j=Ae(I.placement);return j===C||j==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(j=>j>0).reduce((j,Q)=>j+Q,0)]).sort((I,j)=>I[1]-j[1])[0])==null?void 0:Y[0];K&&(O=K);break}case"initialPlacement":O=c;break}if(o!==O)return{reset:{placement:O}}}return{}}}};function zo(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Wo(e){return Wd.some(t=>e[t]>=0)}const sf=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:o="referenceHidden",...s}=$e(e,t);switch(o){case"referenceHidden":{const a=await r.detectOverflow(t,{...s,elementContext:"reference"}),c=zo(a,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Wo(c)}}}case"escaped":{const a=await r.detectOverflow(t,{...s,altBoundary:!0}),c=zo(a,n.floating);return{data:{escapedOffsets:c,escaped:Wo(c)}}}default:return{}}}}},ia=new Set(["left","top"]);async function af(e,t){const{placement:n,platform:r,elements:o}=e,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=Ue(n),c=gt(n),d=Ae(n)==="y",u=ia.has(a)?-1:1,f=s&&d?-1:1,p=$e(t,e);let{mainAxis:h,crossAxis:g,alignmentAxis:x}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return c&&typeof x=="number"&&(g=c==="end"?x*-1:x),d?{x:g*f,y:h*u}:{x:h*u,y:g*f}}const cf=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:s,placement:a,middlewareData:c}=t,d=await af(t,e);return a===((n=c.offset)==null?void 0:n.placement)&&(r=c.arrow)!=null&&r.alignmentOffset?{}:{x:o+d.x,y:s+d.y,data:{...d,placement:a}}}}},lf=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o,platform:s}=t,{mainAxis:a=!0,crossAxis:c=!1,limiter:d={fn:b=>{let{x:C,y:w}=b;return{x:C,y:w}}},...u}=$e(e,t),f={x:n,y:r},p=await s.detectOverflow(t,u),h=Ae(Ue(o)),g=Dr(h);let x=f[g],m=f[h];if(a){const b=g==="y"?"top":"left",C=g==="y"?"bottom":"right",w=x+p[b],E=x-p[C];x=ir(w,x,E)}if(c){const b=h==="y"?"top":"left",C=h==="y"?"bottom":"right",w=m+p[b],E=m-p[C];m=ir(w,m,E)}const v=d.fn({...t,[g]:x,[h]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[g]:a,[h]:c}}}}}},uf=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:u=!0}=$e(e,t),f={x:n,y:r},p=Ae(o),h=Dr(p);let g=f[h],x=f[p];const m=$e(c,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(d){const w=h==="y"?"height":"width",E=s.reference[h]-s.floating[w]+v.mainAxis,S=s.reference[h]+s.reference[w]-v.mainAxis;g<E?g=E:g>S&&(g=S)}if(u){var b,C;const w=h==="y"?"width":"height",E=ia.has(Ue(o)),S=s.reference[p]-s.floating[w]+(E&&((b=a.offset)==null?void 0:b[p])||0)+(E?0:v.crossAxis),M=s.reference[p]+s.reference[w]+(E?0:((C=a.offset)==null?void 0:C[p])||0)-(E?v.crossAxis:0);x<S?x=S:x>M&&(x=M)}return{[h]:g,[p]:x}}}},df=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:s,platform:a,elements:c}=t,{apply:d=()=>{},...u}=$e(e,t),f=await a.detectOverflow(t,u),p=Ue(o),h=gt(o),g=Ae(o)==="y",{width:x,height:m}=s.floating;let v,b;p==="top"||p==="bottom"?(v=p,b=h===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(b=p,v=h==="end"?"top":"bottom");const C=m-f.top-f.bottom,w=x-f.left-f.right,E=Ge(m-f[v],C),S=Ge(x-f[b],w),M=!t.middlewareData.shift;let k=E,A=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=w),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(k=C),M&&!h){const F=pe(f.left,0),H=pe(f.right,0),_=pe(f.top,0),Y=pe(f.bottom,0);g?A=x-2*(F!==0||H!==0?F+H:pe(f.left,f.right)):k=m-2*(_!==0||Y!==0?_+Y:pe(f.top,f.bottom))}await d({...t,availableWidth:A,availableHeight:k});const D=await a.getDimensions(c.floating);return x!==D.width||m!==D.height?{reset:{rects:!0}}:{}}}};function En(){return typeof window<"u"}function vt(e){return ca(e)?(e.nodeName||"").toLowerCase():"#document"}function he(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Oe(e){var t;return(t=(ca(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function ca(e){return En()?e instanceof Node||e instanceof he(e).Node:!1}function Se(e){return En()?e instanceof Element||e instanceof he(e).Element:!1}function _e(e){return En()?e instanceof HTMLElement||e instanceof he(e).HTMLElement:!1}function Vo(e){return!En()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof he(e).ShadowRoot}const ff=new Set(["inline","contents"]);function Ut(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Re(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!ff.has(o)}const pf=new Set(["table","td","th"]);function hf(e){return pf.has(vt(e))}const mf=[":popover-open",":modal"];function kn(e){return mf.some(t=>{try{return e.matches(t)}catch{return!1}})}const gf=["transform","translate","scale","rotate","perspective"],vf=["transform","translate","scale","rotate","perspective","filter"],yf=["paint","layout","strict","content"];function Ur(e){const t=Hr(),n=Se(e)?Re(e):e;return gf.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||vf.some(r=>(n.willChange||"").includes(r))||yf.some(r=>(n.contain||"").includes(r))}function xf(e){let t=qe(e);for(;_e(t)&&!dt(t);){if(Ur(t))return t;if(kn(t))return null;t=qe(t)}return null}function Hr(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const bf=new Set(["html","body","#document"]);function dt(e){return bf.has(vt(e))}function Re(e){return he(e).getComputedStyle(e)}function Sn(e){return Se(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function qe(e){if(vt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Vo(e)&&e.host||Oe(e);return Vo(t)?t.host:t}function la(e){const t=qe(e);return dt(t)?e.ownerDocument?e.ownerDocument.body:e.body:_e(t)&&Ut(t)?t:la(t)}function At(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=la(e),s=o===((r=e.ownerDocument)==null?void 0:r.body),a=he(o);if(s){const c=lr(a);return t.concat(a,a.visualViewport||[],Ut(o)?o:[],c&&n?At(c):[])}return t.concat(o,At(o,[],n))}function lr(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ua(e){const t=Re(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=_e(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=an(n)!==s||an(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function Br(e){return Se(e)?e:e.contextElement}function lt(e){const t=Br(e);if(!_e(t))return Ne(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=ua(t);let a=(s?an(n.width):n.width)/r,c=(s?an(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const wf=Ne(0);function da(e){const t=he(e);return!Hr()||!t.visualViewport?wf:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Cf(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==he(e)?!1:t}function Qe(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=Br(e);let a=Ne(1);t&&(r?Se(r)&&(a=lt(r)):a=lt(e));const c=Cf(s,n,r)?da(s):Ne(0);let d=(o.left+c.x)/a.x,u=(o.top+c.y)/a.y,f=o.width/a.x,p=o.height/a.y;if(s){const h=he(s),g=r&&Se(r)?he(r):r;let x=h,m=lr(x);for(;m&&r&&g!==x;){const v=lt(m),b=m.getBoundingClientRect(),C=Re(m),w=b.left+(m.clientLeft+parseFloat(C.paddingLeft))*v.x,E=b.top+(m.clientTop+parseFloat(C.paddingTop))*v.y;d*=v.x,u*=v.y,f*=v.x,p*=v.y,d+=w,u+=E,x=he(m),m=lr(x)}}return ln({width:f,height:p,x:d,y:u})}function Rn(e,t){const n=Sn(e).scrollLeft;return t?t.left+n:Qe(Oe(e)).left+n}function fa(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Rn(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function Ef(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const s=o==="fixed",a=Oe(r),c=t?kn(t.floating):!1;if(r===a||c&&s)return n;let d={scrollLeft:0,scrollTop:0},u=Ne(1);const f=Ne(0),p=_e(r);if((p||!p&&!s)&&((vt(r)!=="body"||Ut(a))&&(d=Sn(r)),_e(r))){const g=Qe(r);u=lt(r),f.x=g.x+r.clientLeft,f.y=g.y+r.clientTop}const h=a&&!p&&!s?fa(a,d):Ne(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-d.scrollLeft*u.x+f.x+h.x,y:n.y*u.y-d.scrollTop*u.y+f.y+h.y}}function kf(e){return Array.from(e.getClientRects())}function Sf(e){const t=Oe(e),n=Sn(e),r=e.ownerDocument.body,o=pe(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=pe(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+Rn(e);const c=-n.scrollTop;return Re(r).direction==="rtl"&&(a+=pe(t.clientWidth,r.clientWidth)-o),{width:o,height:s,x:a,y:c}}const Go=25;function Rf(e,t){const n=he(e),r=Oe(e),o=n.visualViewport;let s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;const f=Hr();(!f||f&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}const u=Rn(r);if(u<=0){const f=r.ownerDocument,p=f.body,h=getComputedStyle(p),g=f.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,x=Math.abs(r.clientWidth-p.clientWidth-g);x<=Go&&(s-=x)}else u<=Go&&(s+=u);return{width:s,height:a,x:c,y:d}}const Tf=new Set(["absolute","fixed"]);function Mf(e,t){const n=Qe(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,s=_e(e)?lt(e):Ne(1),a=e.clientWidth*s.x,c=e.clientHeight*s.y,d=o*s.x,u=r*s.y;return{width:a,height:c,x:d,y:u}}function qo(e,t,n){let r;if(t==="viewport")r=Rf(e,n);else if(t==="document")r=Sf(Oe(e));else if(Se(t))r=Mf(t,n);else{const o=da(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return ln(r)}function pa(e,t){const n=qe(e);return n===t||!Se(n)||dt(n)?!1:Re(n).position==="fixed"||pa(n,t)}function Pf(e,t){const n=t.get(e);if(n)return n;let r=At(e,[],!1).filter(c=>Se(c)&&vt(c)!=="body"),o=null;const s=Re(e).position==="fixed";let a=s?qe(e):e;for(;Se(a)&&!dt(a);){const c=Re(a),d=Ur(a);!d&&c.position==="fixed"&&(o=null),(s?!d&&!o:!d&&c.position==="static"&&!!o&&Tf.has(o.position)||Ut(a)&&!d&&pa(e,a))?r=r.filter(f=>f!==a):o=c,a=qe(a)}return t.set(e,r),r}function jf(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[...n==="clippingAncestors"?kn(t)?[]:Pf(t,this._c):[].concat(n),r],c=a[0],d=a.reduce((u,f)=>{const p=qo(t,f,o);return u.top=pe(p.top,u.top),u.right=Ge(p.right,u.right),u.bottom=Ge(p.bottom,u.bottom),u.left=pe(p.left,u.left),u},qo(t,c,o));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function Af(e){const{width:t,height:n}=ua(e);return{width:t,height:n}}function Nf(e,t,n){const r=_e(t),o=Oe(t),s=n==="fixed",a=Qe(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=Ne(0);function u(){d.x=Rn(o)}if(r||!r&&!s)if((vt(t)!=="body"||Ut(o))&&(c=Sn(t)),r){const g=Qe(t,!0,s,t);d.x=g.x+t.clientLeft,d.y=g.y+t.clientTop}else o&&u();s&&!r&&o&&u();const f=o&&!r&&!s?fa(o,c):Ne(0),p=a.left+c.scrollLeft-d.x-f.x,h=a.top+c.scrollTop-d.y-f.y;return{x:p,y:h,width:a.width,height:a.height}}function Jn(e){return Re(e).position==="static"}function Ko(e,t){if(!_e(e)||Re(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Oe(e)===n&&(n=n.ownerDocument.body),n}function ha(e,t){const n=he(e);if(kn(e))return n;if(!_e(e)){let o=qe(e);for(;o&&!dt(o);){if(Se(o)&&!Jn(o))return o;o=qe(o)}return n}let r=Ko(e,t);for(;r&&hf(r)&&Jn(r);)r=Ko(r,t);return r&&dt(r)&&Jn(r)&&!Ur(r)?n:r||xf(e)||n}const _f=async function(e){const t=this.getOffsetParent||ha,n=this.getDimensions,r=await n(e.floating);return{reference:Nf(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function If(e){return Re(e).direction==="rtl"}const Of={convertOffsetParentRelativeRectToViewportRelativeRect:Ef,getDocumentElement:Oe,getClippingRect:jf,getOffsetParent:ha,getElementRects:_f,getClientRects:kf,getDimensions:Af,getScale:lt,isElement:Se,isRTL:If};function ma(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Lf(e,t){let n=null,r;const o=Oe(e);function s(){var c;clearTimeout(r),(c=n)==null||c.disconnect(),n=null}function a(c,d){c===void 0&&(c=!1),d===void 0&&(d=1),s();const u=e.getBoundingClientRect(),{left:f,top:p,width:h,height:g}=u;if(c||t(),!h||!g)return;const x=Jt(p),m=Jt(o.clientWidth-(f+h)),v=Jt(o.clientHeight-(p+g)),b=Jt(f),w={rootMargin:-x+"px "+-m+"px "+-v+"px "+-b+"px",threshold:pe(0,Ge(1,d))||1};let E=!0;function S(M){const k=M[0].intersectionRatio;if(k!==d){if(!E)return a();k?a(!1,k):r=setTimeout(()=>{a(!1,1e-7)},1e3)}k===1&&!ma(u,e.getBoundingClientRect())&&a(),E=!1}try{n=new IntersectionObserver(S,{...w,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,w)}n.observe(e)}return a(!0),s}function Df(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,u=Br(e),f=o||s?[...u?At(u):[],...At(t)]:[];f.forEach(b=>{o&&b.addEventListener("scroll",n,{passive:!0}),s&&b.addEventListener("resize",n)});const p=u&&c?Lf(u,n):null;let h=-1,g=null;a&&(g=new ResizeObserver(b=>{let[C]=b;C&&C.target===u&&g&&(g.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=g)==null||w.observe(t)})),n()}),u&&!d&&g.observe(u),g.observe(t));let x,m=d?Qe(e):null;d&&v();function v(){const b=Qe(e);m&&!ma(m,b)&&n(),m=b,x=requestAnimationFrame(v)}return n(),()=>{var b;f.forEach(C=>{o&&C.removeEventListener("scroll",n),s&&C.removeEventListener("resize",n)}),p==null||p(),(b=g)==null||b.disconnect(),g=null,d&&cancelAnimationFrame(x)}}const Ff=cf,$f=lf,Uf=of,Hf=df,Bf=sf,Yo=rf,zf=uf,Wf=(e,t,n)=>{const r=new Map,o={platform:Of,...n},s={...o.platform,_c:r};return nf(e,t,{...o,platform:s})};var Vf=typeof document<"u",Gf=function(){},rn=Vf?l.useLayoutEffect:Gf;function un(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!un(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!un(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function ga(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Xo(e,t){const n=ga(e);return Math.round(t*n)/n}function Qn(e){const t=l.useRef(e);return rn(()=>{t.current=e}),t}function qf(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:a}={},transform:c=!0,whileElementsMounted:d,open:u}=e,[f,p]=l.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,g]=l.useState(r);un(h,r)||g(r);const[x,m]=l.useState(null),[v,b]=l.useState(null),C=l.useCallback(I=>{I!==M.current&&(M.current=I,m(I))},[]),w=l.useCallback(I=>{I!==k.current&&(k.current=I,b(I))},[]),E=s||x,S=a||v,M=l.useRef(null),k=l.useRef(null),A=l.useRef(f),D=d!=null,F=Qn(d),H=Qn(o),_=Qn(u),Y=l.useCallback(()=>{if(!M.current||!k.current)return;const I={placement:t,strategy:n,middleware:h};H.current&&(I.platform=H.current),Wf(M.current,k.current,I).then(j=>{const Q={...j,isPositioned:_.current!==!1};U.current&&!un(A.current,Q)&&(A.current=Q,Dt.flushSync(()=>{p(Q)}))})},[h,t,n,H,_]);rn(()=>{u===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,p(I=>({...I,isPositioned:!1})))},[u]);const U=l.useRef(!1);rn(()=>(U.current=!0,()=>{U.current=!1}),[]),rn(()=>{if(E&&(M.current=E),S&&(k.current=S),E&&S){if(F.current)return F.current(E,S,Y);Y()}},[E,S,Y,F,D]);const J=l.useMemo(()=>({reference:M,floating:k,setReference:C,setFloating:w}),[C,w]),O=l.useMemo(()=>({reference:E,floating:S}),[E,S]),K=l.useMemo(()=>{const I={position:n,left:0,top:0};if(!O.floating)return I;const j=Xo(O.floating,f.x),Q=Xo(O.floating,f.y);return c?{...I,transform:"translate("+j+"px, "+Q+"px)",...ga(O.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:j,top:Q}},[n,c,O.floating,f.x,f.y]);return l.useMemo(()=>({...f,update:Y,refs:J,elements:O,floatingStyles:K}),[f,Y,J,O,K])}const Kf=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Yo({element:r.current,padding:o}).fn(n):{}:r?Yo({element:r,padding:o}).fn(n):{}}}},Yf=(e,t)=>({...Ff(e),options:[e,t]}),Xf=(e,t)=>({...$f(e),options:[e,t]}),Zf=(e,t)=>({...zf(e),options:[e,t]}),Jf=(e,t)=>({...Uf(e),options:[e,t]}),Qf=(e,t)=>({...Hf(e),options:[e,t]}),ep=(e,t)=>({...Bf(e),options:[e,t]}),tp=(e,t)=>({...Kf(e),options:[e,t]});var np="Arrow",va=l.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...s}=e;return i.jsx(z.svg,{...s,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});va.displayName=np;var rp=va,zr="Popper",[ya,yt]=Ie(zr),[op,xa]=ya(zr),ba=e=>{const{__scopePopper:t,children:n}=e,[r,o]=l.useState(null);return i.jsx(op,{scope:t,anchor:r,onAnchorChange:o,children:n})};ba.displayName=zr;var wa="PopperAnchor",Ca=l.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,s=xa(wa,n),a=l.useRef(null),c=ne(t,a),d=l.useRef(null);return l.useEffect(()=>{const u=d.current;d.current=(r==null?void 0:r.current)||a.current,u!==d.current&&s.onAnchorChange(d.current)}),r?null:i.jsx(z.div,{...o,ref:c})});Ca.displayName=wa;var Wr="PopperContent",[sp,ap]=ya(Wr),Ea=l.forwardRef((e,t)=>{var P,X,G,ee,re,oe;const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:c=0,avoidCollisions:d=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:g="optimized",onPlaced:x,...m}=e,v=xa(Wr,n),[b,C]=l.useState(null),w=ne(t,fe=>C(fe)),[E,S]=l.useState(null),M=zd(E),k=(M==null?void 0:M.width)??0,A=(M==null?void 0:M.height)??0,D=r+(s!=="center"?"-"+s:""),F=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},H=Array.isArray(u)?u:[u],_=H.length>0,Y={padding:F,boundary:H.filter(cp),altBoundary:_},{refs:U,floatingStyles:J,placement:O,isPositioned:K,middlewareData:I}=qf({strategy:"fixed",placement:D,whileElementsMounted:(...fe)=>Df(...fe,{animationFrame:g==="always"}),elements:{reference:v.anchor},middleware:[Yf({mainAxis:o+A,alignmentAxis:a}),d&&Xf({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Zf():void 0,...Y}),d&&Jf({...Y}),Qf({...Y,apply:({elements:fe,rects:Pe,availableWidth:wt,availableHeight:Ct})=>{const{width:Et,height:vc}=Pe.reference,Vt=fe.floating.style;Vt.setProperty("--radix-popper-available-width",`${wt}px`),Vt.setProperty("--radix-popper-available-height",`${Ct}px`),Vt.setProperty("--radix-popper-anchor-width",`${Et}px`),Vt.setProperty("--radix-popper-anchor-height",`${vc}px`)}}),E&&tp({element:E,padding:c}),lp({arrowWidth:k,arrowHeight:A}),h&&ep({strategy:"referenceHidden",...Y})]}),[j,Q]=Ra(O),y=ke(x);ie(()=>{K&&(y==null||y())},[K,y]);const R=(P=I.arrow)==null?void 0:P.x,$=(X=I.arrow)==null?void 0:X.y,L=((G=I.arrow)==null?void 0:G.centerOffset)!==0,[V,W]=l.useState();return ie(()=>{b&&W(window.getComputedStyle(b).zIndex)},[b]),i.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...J,transform:K?J.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:V,"--radix-popper-transform-origin":[(ee=I.transformOrigin)==null?void 0:ee.x,(re=I.transformOrigin)==null?void 0:re.y].join(" "),...((oe=I.hide)==null?void 0:oe.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(sp,{scope:n,placedSide:j,onArrowChange:S,arrowX:R,arrowY:$,shouldHideArrow:L,children:i.jsx(z.div,{"data-side":j,"data-align":Q,...m,ref:w,style:{...m.style,animation:K?void 0:"none"}})})})});Ea.displayName=Wr;var ka="PopperArrow",ip={top:"bottom",right:"left",bottom:"top",left:"right"},Sa=l.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,s=ap(ka,r),a=ip[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(rp,{...o,ref:n,style:{...o.style,display:"block"}})})});Sa.displayName=ka;function cp(e){return e!==null}var lp=e=>({name:"transformOrigin",options:e,fn(t){var v,b,C;const{placement:n,rects:r,middlewareData:o}=t,a=((v=o.arrow)==null?void 0:v.centerOffset)!==0,c=a?0:e.arrowWidth,d=a?0:e.arrowHeight,[u,f]=Ra(n),p={start:"0%",center:"50%",end:"100%"}[f],h=(((b=o.arrow)==null?void 0:b.x)??0)+c/2,g=(((C=o.arrow)==null?void 0:C.y)??0)+d/2;let x="",m="";return u==="bottom"?(x=a?p:`${h}px`,m=`${-d}px`):u==="top"?(x=a?p:`${h}px`,m=`${r.floating.height+d}px`):u==="right"?(x=`${-d}px`,m=a?p:`${g}px`):u==="left"&&(x=`${r.floating.width+d}px`,m=a?p:`${g}px`),{data:{x,y:m}}}});function Ra(e){const[t,n="center"]=e.split("-");return[t,n]}var Vr=ba,Gr=Ca,qr=Ea,Kr=Sa,er="rovingFocusGroup.onEntryFocus",up={bubbles:!1,cancelable:!0},Ht="RovingFocusGroup",[ur,Ta,dp]=jr(Ht),[fp,Tn]=Ie(Ht,[dp]),[pp,hp]=fp(Ht),Ma=l.forwardRef((e,t)=>i.jsx(ur.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(ur.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(mp,{...e,ref:t})})}));Ma.displayName=Ht;var mp=l.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,h=l.useRef(null),g=ne(t,h),x=yn(s),[m,v]=Ze({prop:a,defaultProp:c??null,onChange:d,caller:Ht}),[b,C]=l.useState(!1),w=ke(u),E=Ta(n),S=l.useRef(!1),[M,k]=l.useState(0);return l.useEffect(()=>{const A=h.current;if(A)return A.addEventListener(er,w),()=>A.removeEventListener(er,w)},[w]),i.jsx(pp,{scope:n,orientation:r,dir:x,loop:o,currentTabStopId:m,onItemFocus:l.useCallback(A=>v(A),[v]),onItemShiftTab:l.useCallback(()=>C(!0),[]),onFocusableItemAdd:l.useCallback(()=>k(A=>A+1),[]),onFocusableItemRemove:l.useCallback(()=>k(A=>A-1),[]),children:i.jsx(z.div,{tabIndex:b||M===0?-1:0,"data-orientation":r,...p,ref:g,style:{outline:"none",...e.style},onMouseDown:N(e.onMouseDown,()=>{S.current=!0}),onFocus:N(e.onFocus,A=>{const D=!S.current;if(A.target===A.currentTarget&&D&&!b){const F=new CustomEvent(er,up);if(A.currentTarget.dispatchEvent(F),!F.defaultPrevented){const H=E().filter(O=>O.focusable),_=H.find(O=>O.active),Y=H.find(O=>O.id===m),J=[_,Y,...H].filter(Boolean).map(O=>O.ref.current);Aa(J,f)}}S.current=!1}),onBlur:N(e.onBlur,()=>C(!1))})})}),Pa="RovingFocusGroupItem",ja=l.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,children:a,...c}=e,d=Ee(),u=s||d,f=hp(Pa,n),p=f.currentTabStopId===u,h=Ta(n),{onFocusableItemAdd:g,onFocusableItemRemove:x,currentTabStopId:m}=f;return l.useEffect(()=>{if(r)return g(),()=>x()},[r,g,x]),i.jsx(ur.ItemSlot,{scope:n,id:u,focusable:r,active:o,children:i.jsx(z.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:N(e.onMouseDown,v=>{r?f.onItemFocus(u):v.preventDefault()}),onFocus:N(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:N(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){f.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const b=yp(v,f.orientation,f.dir);if(b!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let w=h().filter(E=>E.focusable).map(E=>E.ref.current);if(b==="last")w.reverse();else if(b==="prev"||b==="next"){b==="prev"&&w.reverse();const E=w.indexOf(v.currentTarget);w=f.loop?xp(w,E+1):w.slice(E+1)}setTimeout(()=>Aa(w))}}),children:typeof a=="function"?a({isCurrentTabStop:p,hasTabStop:m!=null}):a})})});ja.displayName=Pa;var gp={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function vp(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function yp(e,t,n){const r=vp(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return gp[r]}function Aa(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function xp(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Na=Ma,_a=ja,dr=["Enter"," "],bp=["ArrowDown","PageUp","Home"],Ia=["ArrowUp","PageDown","End"],wp=[...bp,...Ia],Cp={ltr:[...dr,"ArrowRight"],rtl:[...dr,"ArrowLeft"]},Ep={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Bt="Menu",[Nt,kp,Sp]=jr(Bt),[nt,Oa]=Ie(Bt,[Sp,yt,Tn]),Mn=yt(),La=Tn(),[Rp,rt]=nt(Bt),[Tp,zt]=nt(Bt),Da=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:s,modal:a=!0}=e,c=Mn(t),[d,u]=l.useState(null),f=l.useRef(!1),p=ke(s),h=yn(o);return l.useEffect(()=>{const g=()=>{f.current=!0,document.addEventListener("pointerdown",x,{capture:!0,once:!0}),document.addEventListener("pointermove",x,{capture:!0,once:!0})},x=()=>f.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",x,{capture:!0}),document.removeEventListener("pointermove",x,{capture:!0})}},[]),i.jsx(Vr,{...c,children:i.jsx(Rp,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:u,children:i.jsx(Tp,{scope:t,onClose:l.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:h,modal:a,children:r})})})};Da.displayName=Bt;var Mp="MenuAnchor",Yr=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=Mn(n);return i.jsx(Gr,{...o,...r,ref:t})});Yr.displayName=Mp;var Xr="MenuPortal",[Pp,Fa]=nt(Xr,{forceMount:void 0}),$a=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,s=rt(Xr,t);return i.jsx(Pp,{scope:t,forceMount:n,children:i.jsx(Te,{present:n||s.open,children:i.jsx($t,{asChild:!0,container:o,children:r})})})};$a.displayName=Xr;var ye="MenuContent",[jp,Zr]=nt(ye),Ua=l.forwardRef((e,t)=>{const n=Fa(ye,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,s=rt(ye,e.__scopeMenu),a=zt(ye,e.__scopeMenu);return i.jsx(Nt.Provider,{scope:e.__scopeMenu,children:i.jsx(Te,{present:r||s.open,children:i.jsx(Nt.Slot,{scope:e.__scopeMenu,children:a.modal?i.jsx(Ap,{...o,ref:t}):i.jsx(Np,{...o,ref:t})})})})}),Ap=l.forwardRef((e,t)=>{const n=rt(ye,e.__scopeMenu),r=l.useRef(null),o=ne(t,r);return l.useEffect(()=>{const s=r.current;if(s)return Nr(s)},[]),i.jsx(Jr,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:N(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Np=l.forwardRef((e,t)=>{const n=rt(ye,e.__scopeMenu);return i.jsx(Jr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),_p=Xe("MenuContent.ScrollLock"),Jr=l.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:h,onDismiss:g,disableOutsideScroll:x,...m}=e,v=rt(ye,n),b=zt(ye,n),C=Mn(n),w=La(n),E=kp(n),[S,M]=l.useState(null),k=l.useRef(null),A=ne(t,k,v.onContentChange),D=l.useRef(0),F=l.useRef(""),H=l.useRef(0),_=l.useRef(null),Y=l.useRef("right"),U=l.useRef(0),J=x?wn:l.Fragment,O=x?{as:_p,allowPinchZoom:!0}:void 0,K=j=>{var P,X;const Q=F.current+j,y=E().filter(G=>!G.disabled),R=document.activeElement,$=(P=y.find(G=>G.ref.current===R))==null?void 0:P.textValue,L=y.map(G=>G.textValue),V=Vp(L,Q,$),W=(X=y.find(G=>G.textValue===V))==null?void 0:X.ref.current;(function G(ee){F.current=ee,window.clearTimeout(D.current),ee!==""&&(D.current=window.setTimeout(()=>G(""),1e3))})(Q),W&&setTimeout(()=>W.focus())};l.useEffect(()=>()=>window.clearTimeout(D.current),[]),Ar();const I=l.useCallback(j=>{var y,R;return Y.current===((y=_.current)==null?void 0:y.side)&&qp(j,(R=_.current)==null?void 0:R.area)},[]);return i.jsx(jp,{scope:n,searchRef:F,onItemEnter:l.useCallback(j=>{I(j)&&j.preventDefault()},[I]),onItemLeave:l.useCallback(j=>{var Q;I(j)||((Q=k.current)==null||Q.focus(),M(null))},[I]),onTriggerLeave:l.useCallback(j=>{I(j)&&j.preventDefault()},[I]),pointerGraceTimerRef:H,onPointerGraceIntentChange:l.useCallback(j=>{_.current=j},[]),children:i.jsx(J,{...O,children:i.jsx(xn,{asChild:!0,trapped:o,onMountAutoFocus:N(s,j=>{var Q;j.preventDefault(),(Q=k.current)==null||Q.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:h,onDismiss:g,children:i.jsx(Na,{asChild:!0,...w,dir:b.dir,orientation:"vertical",loop:r,currentTabStopId:S,onCurrentTabStopIdChange:M,onEntryFocus:N(d,j=>{b.isUsingKeyboardRef.current||j.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(qr,{role:"menu","aria-orientation":"vertical","data-state":ni(v.open),"data-radix-menu-content":"",dir:b.dir,...C,...m,ref:A,style:{outline:"none",...m.style},onKeyDown:N(m.onKeyDown,j=>{const y=j.target.closest("[data-radix-menu-content]")===j.currentTarget,R=j.ctrlKey||j.altKey||j.metaKey,$=j.key.length===1;y&&(j.key==="Tab"&&j.preventDefault(),!R&&$&&K(j.key));const L=k.current;if(j.target!==L||!wp.includes(j.key))return;j.preventDefault();const W=E().filter(P=>!P.disabled).map(P=>P.ref.current);Ia.includes(j.key)&&W.reverse(),zp(W)}),onBlur:N(e.onBlur,j=>{j.currentTarget.contains(j.target)||(window.clearTimeout(D.current),F.current="")}),onPointerMove:N(e.onPointerMove,_t(j=>{const Q=j.target,y=U.current!==j.clientX;if(j.currentTarget.contains(Q)&&y){const R=j.clientX>U.current?"right":"left";Y.current=R,U.current=j.clientX}}))})})})})})})});Ua.displayName=ye;var Ip="MenuGroup",Qr=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{role:"group",...r,ref:t})});Qr.displayName=Ip;var Op="MenuLabel",Ha=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{...r,ref:t})});Ha.displayName=Op;var dn="MenuItem",Zo="menu.itemSelect",Pn=l.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,s=l.useRef(null),a=zt(dn,e.__scopeMenu),c=Zr(dn,e.__scopeMenu),d=ne(t,s),u=l.useRef(!1),f=()=>{const p=s.current;if(!n&&p){const h=new CustomEvent(Zo,{bubbles:!0,cancelable:!0});p.addEventListener(Zo,g=>r==null?void 0:r(g),{once:!0}),Rs(p,h),h.defaultPrevented?u.current=!1:a.onClose()}};return i.jsx(Ba,{...o,ref:d,disabled:n,onClick:N(e.onClick,f),onPointerDown:p=>{var h;(h=e.onPointerDown)==null||h.call(e,p),u.current=!0},onPointerUp:N(e.onPointerUp,p=>{var h;u.current||(h=p.currentTarget)==null||h.click()}),onKeyDown:N(e.onKeyDown,p=>{const h=c.searchRef.current!=="";n||h&&p.key===" "||dr.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});Pn.displayName=dn;var Ba=l.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...s}=e,a=Zr(dn,n),c=La(n),d=l.useRef(null),u=ne(t,d),[f,p]=l.useState(!1),[h,g]=l.useState("");return l.useEffect(()=>{const x=d.current;x&&g((x.textContent??"").trim())},[s.children]),i.jsx(Nt.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:i.jsx(_a,{asChild:!0,...c,focusable:!r,children:i.jsx(z.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:u,onPointerMove:N(e.onPointerMove,_t(x=>{r?a.onItemLeave(x):(a.onItemEnter(x),x.defaultPrevented||x.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:N(e.onPointerLeave,_t(x=>a.onItemLeave(x))),onFocus:N(e.onFocus,()=>p(!0)),onBlur:N(e.onBlur,()=>p(!1))})})})}),Lp="MenuCheckboxItem",za=l.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return i.jsx(Ka,{scope:e.__scopeMenu,checked:n,children:i.jsx(Pn,{role:"menuitemcheckbox","aria-checked":fn(n)?"mixed":n,...o,ref:t,"data-state":to(n),onSelect:N(o.onSelect,()=>r==null?void 0:r(fn(n)?!0:!n),{checkForDefaultPrevented:!1})})})});za.displayName=Lp;var Wa="MenuRadioGroup",[Dp,Fp]=nt(Wa,{value:void 0,onValueChange:()=>{}}),Va=l.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,s=ke(r);return i.jsx(Dp,{scope:e.__scopeMenu,value:n,onValueChange:s,children:i.jsx(Qr,{...o,ref:t})})});Va.displayName=Wa;var Ga="MenuRadioItem",qa=l.forwardRef((e,t)=>{const{value:n,...r}=e,o=Fp(Ga,e.__scopeMenu),s=n===o.value;return i.jsx(Ka,{scope:e.__scopeMenu,checked:s,children:i.jsx(Pn,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":to(s),onSelect:N(r.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,n)},{checkForDefaultPrevented:!1})})})});qa.displayName=Ga;var eo="MenuItemIndicator",[Ka,$p]=nt(eo,{checked:!1}),Ya=l.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,s=$p(eo,n);return i.jsx(Te,{present:r||fn(s.checked)||s.checked===!0,children:i.jsx(z.span,{...o,ref:t,"data-state":to(s.checked)})})});Ya.displayName=eo;var Up="MenuSeparator",Xa=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx(z.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Xa.displayName=Up;var Hp="MenuArrow",Za=l.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=Mn(n);return i.jsx(Kr,{...o,...r,ref:t})});Za.displayName=Hp;var Bp="MenuSub",[Zg,Ja]=nt(Bp),Mt="MenuSubTrigger",Qa=l.forwardRef((e,t)=>{const n=rt(Mt,e.__scopeMenu),r=zt(Mt,e.__scopeMenu),o=Ja(Mt,e.__scopeMenu),s=Zr(Mt,e.__scopeMenu),a=l.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=s,u={__scopeMenu:e.__scopeMenu},f=l.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return l.useEffect(()=>f,[f]),l.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),d(null)}},[c,d]),i.jsx(Yr,{asChild:!0,...u,children:i.jsx(Ba,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":ni(n.open),...e,ref:vn(t,o.onTriggerChange),onClick:p=>{var h;(h=e.onClick)==null||h.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:N(e.onPointerMove,_t(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:N(e.onPointerLeave,_t(p=>{var g,x;f();const h=(g=n.content)==null?void 0:g.getBoundingClientRect();if(h){const m=(x=n.content)==null?void 0:x.dataset.side,v=m==="right",b=v?-5:5,C=h[v?"left":"right"],w=h[v?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+b,y:p.clientY},{x:C,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:C,y:h.bottom}],side:m}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:N(e.onKeyDown,p=>{var g;const h=s.searchRef.current!=="";e.disabled||h&&p.key===" "||Cp[r.dir].includes(p.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),p.preventDefault())})})})});Qa.displayName=Mt;var ei="MenuSubContent",ti=l.forwardRef((e,t)=>{const n=Fa(ye,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,s=rt(ye,e.__scopeMenu),a=zt(ye,e.__scopeMenu),c=Ja(ei,e.__scopeMenu),d=l.useRef(null),u=ne(t,d);return i.jsx(Nt.Provider,{scope:e.__scopeMenu,children:i.jsx(Te,{present:r||s.open,children:i.jsx(Nt.Slot,{scope:e.__scopeMenu,children:i.jsx(Jr,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var p;a.isUsingKeyboardRef.current&&((p=d.current)==null||p.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:N(e.onFocusOutside,f=>{f.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:N(e.onEscapeKeyDown,f=>{a.onClose(),f.preventDefault()}),onKeyDown:N(e.onKeyDown,f=>{var g;const p=f.currentTarget.contains(f.target),h=Ep[a.dir].includes(f.key);p&&h&&(s.onOpenChange(!1),(g=c.trigger)==null||g.focus(),f.preventDefault())})})})})})});ti.displayName=ei;function ni(e){return e?"open":"closed"}function fn(e){return e==="indeterminate"}function to(e){return fn(e)?"indeterminate":e?"checked":"unchecked"}function zp(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Wp(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Vp(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=Wp(e,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return d!==n?d:void 0}function Gp(e,t){const{x:n,y:r}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],d=t[a],u=c.x,f=c.y,p=d.x,h=d.y;f>r!=h>r&&n<(p-u)*(r-f)/(h-f)+u&&(o=!o)}return o}function qp(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Gp(n,t)}function _t(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Kp=Da,Yp=Yr,Xp=$a,Zp=Ua,Jp=Qr,Qp=Ha,eh=Pn,th=za,nh=Va,rh=qa,oh=Ya,sh=Xa,ah=Za,ih=Qa,ch=ti,jn="DropdownMenu",[lh]=Ie(jn,[Oa]),le=Oa(),[uh,ri]=lh(jn),oi=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:s,onOpenChange:a,modal:c=!0}=e,d=le(t),u=l.useRef(null),[f,p]=Ze({prop:o,defaultProp:s??!1,onChange:a,caller:jn});return i.jsx(uh,{scope:t,triggerId:Ee(),triggerRef:u,contentId:Ee(),open:f,onOpenChange:p,onOpenToggle:l.useCallback(()=>p(h=>!h),[p]),modal:c,children:i.jsx(Kp,{...d,open:f,onOpenChange:p,dir:r,modal:c,children:n})})};oi.displayName=jn;var si="DropdownMenuTrigger",ai=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,s=ri(si,n),a=le(n);return i.jsx(Yp,{asChild:!0,...a,children:i.jsx(z.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:vn(t,s.triggerRef),onPointerDown:N(e.onPointerDown,c=>{!r&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:N(e.onKeyDown,c=>{r||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});ai.displayName=si;var dh="DropdownMenuPortal",ii=e=>{const{__scopeDropdownMenu:t,...n}=e,r=le(t);return i.jsx(Xp,{...r,...n})};ii.displayName=dh;var ci="DropdownMenuContent",li=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ri(ci,n),s=le(n),a=l.useRef(!1);return i.jsx(Zp,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...r,ref:t,onCloseAutoFocus:N(e.onCloseAutoFocus,c=>{var d;a.current||(d=o.triggerRef.current)==null||d.focus(),a.current=!1,c.preventDefault()}),onInteractOutside:N(e.onInteractOutside,c=>{const d=c.detail.originalEvent,u=d.button===0&&d.ctrlKey===!0,f=d.button===2||u;(!o.modal||f)&&(a.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)"}})});li.displayName=ci;var fh="DropdownMenuGroup",ph=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(Jp,{...o,...r,ref:t})});ph.displayName=fh;var hh="DropdownMenuLabel",ui=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(Qp,{...o,...r,ref:t})});ui.displayName=hh;var mh="DropdownMenuItem",di=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(eh,{...o,...r,ref:t})});di.displayName=mh;var gh="DropdownMenuCheckboxItem",vh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(th,{...o,...r,ref:t})});vh.displayName=gh;var yh="DropdownMenuRadioGroup",xh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(nh,{...o,...r,ref:t})});xh.displayName=yh;var bh="DropdownMenuRadioItem",wh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(rh,{...o,...r,ref:t})});wh.displayName=bh;var Ch="DropdownMenuItemIndicator",Eh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(oh,{...o,...r,ref:t})});Eh.displayName=Ch;var kh="DropdownMenuSeparator",fi=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(sh,{...o,...r,ref:t})});fi.displayName=kh;var Sh="DropdownMenuArrow",Rh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ah,{...o,...r,ref:t})});Rh.displayName=Sh;var Th="DropdownMenuSubTrigger",Mh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ih,{...o,...r,ref:t})});Mh.displayName=Th;var Ph="DropdownMenuSubContent",jh=l.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=le(n);return i.jsx(ch,{...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)"}})});jh.displayName=Ph;var Jg=oi,Qg=ai,ev=ii,tv=li,nv=ui,rv=di,ov=fi,Ah="Label",pi=l.forwardRef((e,t)=>i.jsx(z.label,{...e,ref:t,onMouseDown:n=>{var o;n.target.closest("button, input, select, textarea")||((o=e.onMouseDown)==null||o.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));pi.displayName=Ah;var sv=pi;function Jo(e,[t,n]){return Math.min(n,Math.max(t,e))}var Nh=[" ","Enter","ArrowUp","ArrowDown"],_h=[" ","Enter"],et="Select",[An,Nn,Ih]=jr(et),[xt]=Ie(et,[Ih,yt]),_n=yt(),[Oh,Ke]=xt(et),[Lh,Dh]=xt(et),hi=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:s,value:a,defaultValue:c,onValueChange:d,dir:u,name:f,autoComplete:p,disabled:h,required:g,form:x}=e,m=_n(t),[v,b]=l.useState(null),[C,w]=l.useState(null),[E,S]=l.useState(!1),M=yn(u),[k,A]=Ze({prop:r,defaultProp:o??!1,onChange:s,caller:et}),[D,F]=Ze({prop:a,defaultProp:c,onChange:d,caller:et}),H=l.useRef(null),_=v?x||!!v.closest("form"):!0,[Y,U]=l.useState(new Set),J=Array.from(Y).map(O=>O.props.value).join(";");return i.jsx(Vr,{...m,children:i.jsxs(Oh,{required:g,scope:t,trigger:v,onTriggerChange:b,valueNode:C,onValueNodeChange:w,valueNodeHasChildren:E,onValueNodeHasChildrenChange:S,contentId:Ee(),value:D,onValueChange:F,open:k,onOpenChange:A,dir:M,triggerPointerDownPosRef:H,disabled:h,children:[i.jsx(An.Provider,{scope:t,children:i.jsx(Lh,{scope:e.__scopeSelect,onNativeOptionAdd:l.useCallback(O=>{U(K=>new Set(K).add(O))},[]),onNativeOptionRemove:l.useCallback(O=>{U(K=>{const I=new Set(K);return I.delete(O),I})},[]),children:n})}),_?i.jsxs(Li,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:p,value:D,onChange:O=>F(O.target.value),disabled:h,form:x,children:[D===void 0?i.jsx("option",{value:""}):null,Array.from(Y)]},J):null]})})};hi.displayName=et;var mi="SelectTrigger",gi=l.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,s=_n(n),a=Ke(mi,n),c=a.disabled||r,d=ne(t,a.onTriggerChange),u=Nn(n),f=l.useRef("touch"),[p,h,g]=Fi(m=>{const v=u().filter(w=>!w.disabled),b=v.find(w=>w.value===a.value),C=$i(v,m,b);C!==void 0&&a.onValueChange(C.value)}),x=m=>{c||(a.onOpenChange(!0),g()),m&&(a.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return i.jsx(Gr,{asChild:!0,...s,children:i.jsx(z.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Di(a.value)?"":void 0,...o,ref:d,onClick:N(o.onClick,m=>{m.currentTarget.focus(),f.current!=="mouse"&&x(m)}),onPointerDown:N(o.onPointerDown,m=>{f.current=m.pointerType;const v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(x(m),m.preventDefault())}),onKeyDown:N(o.onKeyDown,m=>{const v=p.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&h(m.key),!(v&&m.key===" ")&&Nh.includes(m.key)&&(x(),m.preventDefault())})})})});gi.displayName=mi;var vi="SelectValue",yi=l.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:s,placeholder:a="",...c}=e,d=Ke(vi,n),{onValueNodeHasChildrenChange:u}=d,f=s!==void 0,p=ne(t,d.onValueNodeChange);return ie(()=>{u(f)},[u,f]),i.jsx(z.span,{...c,ref:p,style:{pointerEvents:"none"},children:Di(d.value)?i.jsx(i.Fragment,{children:a}):s})});yi.displayName=vi;var Fh="SelectIcon",xi=l.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return i.jsx(z.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});xi.displayName=Fh;var $h="SelectPortal",bi=e=>i.jsx($t,{asChild:!0,...e});bi.displayName=$h;var tt="SelectContent",wi=l.forwardRef((e,t)=>{const n=Ke(tt,e.__scopeSelect),[r,o]=l.useState();if(ie(()=>{o(new DocumentFragment)},[]),!n.open){const s=r;return s?Dt.createPortal(i.jsx(Ci,{scope:e.__scopeSelect,children:i.jsx(An.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(Ei,{...e,ref:t})});wi.displayName=tt;var Ce=10,[Ci,Ye]=xt(tt),Uh="SelectContentImpl",Hh=Xe("SelectContent.RemoveScroll"),Ei=l.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v,...b}=e,C=Ke(tt,n),[w,E]=l.useState(null),[S,M]=l.useState(null),k=ne(t,P=>E(P)),[A,D]=l.useState(null),[F,H]=l.useState(null),_=Nn(n),[Y,U]=l.useState(!1),J=l.useRef(!1);l.useEffect(()=>{if(w)return Nr(w)},[w]),Ar();const O=l.useCallback(P=>{const[X,...G]=_().map(oe=>oe.ref.current),[ee]=G.slice(-1),re=document.activeElement;for(const oe of P)if(oe===re||(oe==null||oe.scrollIntoView({block:"nearest"}),oe===X&&S&&(S.scrollTop=0),oe===ee&&S&&(S.scrollTop=S.scrollHeight),oe==null||oe.focus(),document.activeElement!==re))return},[_,S]),K=l.useCallback(()=>O([A,w]),[O,A,w]);l.useEffect(()=>{Y&&K()},[Y,K]);const{onOpenChange:I,triggerPointerDownPosRef:j}=C;l.useEffect(()=>{if(w){let P={x:0,y:0};const X=ee=>{var re,oe;P={x:Math.abs(Math.round(ee.pageX)-(((re=j.current)==null?void 0:re.x)??0)),y:Math.abs(Math.round(ee.pageY)-(((oe=j.current)==null?void 0:oe.y)??0))}},G=ee=>{P.x<=10&&P.y<=10?ee.preventDefault():w.contains(ee.target)||I(!1),document.removeEventListener("pointermove",X),j.current=null};return j.current!==null&&(document.addEventListener("pointermove",X),document.addEventListener("pointerup",G,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",X),document.removeEventListener("pointerup",G,{capture:!0})}}},[w,I,j]),l.useEffect(()=>{const P=()=>I(!1);return window.addEventListener("blur",P),window.addEventListener("resize",P),()=>{window.removeEventListener("blur",P),window.removeEventListener("resize",P)}},[I]);const[Q,y]=Fi(P=>{const X=_().filter(re=>!re.disabled),G=X.find(re=>re.ref.current===document.activeElement),ee=$i(X,P,G);ee&&setTimeout(()=>ee.ref.current.focus())}),R=l.useCallback((P,X,G)=>{const ee=!J.current&&!G;(C.value!==void 0&&C.value===X||ee)&&(D(P),ee&&(J.current=!0))},[C.value]),$=l.useCallback(()=>w==null?void 0:w.focus(),[w]),L=l.useCallback((P,X,G)=>{const ee=!J.current&&!G;(C.value!==void 0&&C.value===X||ee)&&H(P)},[C.value]),V=r==="popper"?fr:ki,W=V===fr?{side:c,sideOffset:d,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:h,collisionPadding:g,sticky:x,hideWhenDetached:m,avoidCollisions:v}:{};return i.jsx(Ci,{scope:n,content:w,viewport:S,onViewportChange:M,itemRefCallback:R,selectedItem:A,onItemLeave:$,itemTextRefCallback:L,focusSelectedItem:K,selectedItemText:F,position:r,isPositioned:Y,searchRef:Q,children:i.jsx(wn,{as:Hh,allowPinchZoom:!0,children:i.jsx(xn,{asChild:!0,trapped:C.open,onMountAutoFocus:P=>{P.preventDefault()},onUnmountAutoFocus:N(o,P=>{var X;(X=C.trigger)==null||X.focus({preventScroll:!0}),P.preventDefault()}),children:i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:P=>P.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:i.jsx(V,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:P=>P.preventDefault(),...b,...W,onPlaced:()=>U(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:N(b.onKeyDown,P=>{const X=P.ctrlKey||P.altKey||P.metaKey;if(P.key==="Tab"&&P.preventDefault(),!X&&P.key.length===1&&y(P.key),["ArrowUp","ArrowDown","Home","End"].includes(P.key)){let ee=_().filter(re=>!re.disabled).map(re=>re.ref.current);if(["ArrowUp","End"].includes(P.key)&&(ee=ee.slice().reverse()),["ArrowUp","ArrowDown"].includes(P.key)){const re=P.target,oe=ee.indexOf(re);ee=ee.slice(oe+1)}setTimeout(()=>O(ee)),P.preventDefault()}})})})})})})});Ei.displayName=Uh;var Bh="SelectItemAlignedPosition",ki=l.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,s=Ke(tt,n),a=Ye(tt,n),[c,d]=l.useState(null),[u,f]=l.useState(null),p=ne(t,k=>f(k)),h=Nn(n),g=l.useRef(!1),x=l.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:b,focusSelectedItem:C}=a,w=l.useCallback(()=>{if(s.trigger&&s.valueNode&&c&&u&&m&&v&&b){const k=s.trigger.getBoundingClientRect(),A=u.getBoundingClientRect(),D=s.valueNode.getBoundingClientRect(),F=b.getBoundingClientRect();if(s.dir!=="rtl"){const re=F.left-A.left,oe=D.left-re,fe=k.left-oe,Pe=k.width+fe,wt=Math.max(Pe,A.width),Ct=window.innerWidth-Ce,Et=Jo(oe,[Ce,Math.max(Ce,Ct-wt)]);c.style.minWidth=Pe+"px",c.style.left=Et+"px"}else{const re=A.right-F.right,oe=window.innerWidth-D.right-re,fe=window.innerWidth-k.right-oe,Pe=k.width+fe,wt=Math.max(Pe,A.width),Ct=window.innerWidth-Ce,Et=Jo(oe,[Ce,Math.max(Ce,Ct-wt)]);c.style.minWidth=Pe+"px",c.style.right=Et+"px"}const H=h(),_=window.innerHeight-Ce*2,Y=m.scrollHeight,U=window.getComputedStyle(u),J=parseInt(U.borderTopWidth,10),O=parseInt(U.paddingTop,10),K=parseInt(U.borderBottomWidth,10),I=parseInt(U.paddingBottom,10),j=J+O+Y+I+K,Q=Math.min(v.offsetHeight*5,j),y=window.getComputedStyle(m),R=parseInt(y.paddingTop,10),$=parseInt(y.paddingBottom,10),L=k.top+k.height/2-Ce,V=_-L,W=v.offsetHeight/2,P=v.offsetTop+W,X=J+O+P,G=j-X;if(X<=L){const re=H.length>0&&v===H[H.length-1].ref.current;c.style.bottom="0px";const oe=u.clientHeight-m.offsetTop-m.offsetHeight,fe=Math.max(V,W+(re?$:0)+oe+K),Pe=X+fe;c.style.height=Pe+"px"}else{const re=H.length>0&&v===H[0].ref.current;c.style.top="0px";const fe=Math.max(L,J+m.offsetTop+(re?R:0)+W)+G;c.style.height=fe+"px",m.scrollTop=X-L+m.offsetTop}c.style.margin=`${Ce}px 0`,c.style.minHeight=Q+"px",c.style.maxHeight=_+"px",r==null||r(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,c,u,m,v,b,s.dir,r]);ie(()=>w(),[w]);const[E,S]=l.useState();ie(()=>{u&&S(window.getComputedStyle(u).zIndex)},[u]);const M=l.useCallback(k=>{k&&x.current===!0&&(w(),C==null||C(),x.current=!1)},[w,C]);return i.jsx(Wh,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:M,children:i.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:i.jsx(z.div,{...o,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});ki.displayName=Bh;var zh="SelectPopperPosition",fr=l.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Ce,...s}=e,a=_n(n);return i.jsx(qr,{...a,...s,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...s.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)"}})});fr.displayName=zh;var[Wh,no]=xt(tt,{}),pr="SelectViewport",Si=l.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,s=Ye(pr,n),a=no(pr,n),c=ne(t,s.onViewportChange),d=l.useRef(0);return i.jsxs(i.Fragment,{children:[i.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}),i.jsx(An.Slot,{scope:n,children:i.jsx(z.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:N(o.onScroll,u=>{const f=u.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:h}=a;if(h!=null&&h.current&&p){const g=Math.abs(d.current-f.scrollTop);if(g>0){const x=window.innerHeight-Ce*2,m=parseFloat(p.style.minHeight),v=parseFloat(p.style.height),b=Math.max(m,v);if(b<x){const C=b+g,w=Math.min(x,C),E=C-w;p.style.height=w+"px",p.style.bottom==="0px"&&(f.scrollTop=E>0?E:0,p.style.justifyContent="flex-end")}}}d.current=f.scrollTop})})})]})});Si.displayName=pr;var Ri="SelectGroup",[Vh,Gh]=xt(Ri),qh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Ee();return i.jsx(Vh,{scope:n,id:o,children:i.jsx(z.div,{role:"group","aria-labelledby":o,...r,ref:t})})});qh.displayName=Ri;var Ti="SelectLabel",Kh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=Gh(Ti,n);return i.jsx(z.div,{id:o.id,...r,ref:t})});Kh.displayName=Ti;var pn="SelectItem",[Yh,Mi]=xt(pn),Pi=l.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:s,...a}=e,c=Ke(pn,n),d=Ye(pn,n),u=c.value===r,[f,p]=l.useState(s??""),[h,g]=l.useState(!1),x=ne(t,C=>{var w;return(w=d.itemRefCallback)==null?void 0:w.call(d,C,r,o)}),m=Ee(),v=l.useRef("touch"),b=()=>{o||(c.onValueChange(r),c.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 i.jsx(Yh,{scope:n,value:r,disabled:o,textId:m,isSelected:u,onItemTextChange:l.useCallback(C=>{p(w=>w||((C==null?void 0:C.textContent)??"").trim())},[]),children:i.jsx(An.ItemSlot,{scope:n,value:r,disabled:o,textValue:f,children:i.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,...a,ref:x,onFocus:N(a.onFocus,()=>g(!0)),onBlur:N(a.onBlur,()=>g(!1)),onClick:N(a.onClick,()=>{v.current!=="mouse"&&b()}),onPointerUp:N(a.onPointerUp,()=>{v.current==="mouse"&&b()}),onPointerDown:N(a.onPointerDown,C=>{v.current=C.pointerType}),onPointerMove:N(a.onPointerMove,C=>{var w;v.current=C.pointerType,o?(w=d.onItemLeave)==null||w.call(d):v.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(a.onPointerLeave,C=>{var w;C.currentTarget===document.activeElement&&((w=d.onItemLeave)==null||w.call(d))}),onKeyDown:N(a.onKeyDown,C=>{var E;((E=d.searchRef)==null?void 0:E.current)!==""&&C.key===" "||(_h.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});Pi.displayName=pn;var Pt="SelectItemText",ji=l.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...s}=e,a=Ke(Pt,n),c=Ye(Pt,n),d=Mi(Pt,n),u=Dh(Pt,n),[f,p]=l.useState(null),h=ne(t,b=>p(b),d.onItemTextChange,b=>{var C;return(C=c.itemTextRefCallback)==null?void 0:C.call(c,b,d.value,d.disabled)}),g=f==null?void 0:f.textContent,x=l.useMemo(()=>i.jsx("option",{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=u;return ie(()=>(m(x),()=>v(x)),[m,v,x]),i.jsxs(i.Fragment,{children:[i.jsx(z.span,{id:d.textId,...s,ref:h}),d.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Dt.createPortal(s.children,a.valueNode):null]})});ji.displayName=Pt;var Ai="SelectItemIndicator",Ni=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Mi(Ai,n).isSelected?i.jsx(z.span,{"aria-hidden":!0,...r,ref:t}):null});Ni.displayName=Ai;var hr="SelectScrollUpButton",_i=l.forwardRef((e,t)=>{const n=Ye(hr,e.__scopeSelect),r=no(hr,e.__scopeSelect),[o,s]=l.useState(!1),a=ne(t,r.onScrollButtonChange);return ie(()=>{if(n.viewport&&n.isPositioned){let c=function(){const u=d.scrollTop>0;s(u)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),o?i.jsx(Oi,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});_i.displayName=hr;var mr="SelectScrollDownButton",Ii=l.forwardRef((e,t)=>{const n=Ye(mr,e.__scopeSelect),r=no(mr,e.__scopeSelect),[o,s]=l.useState(!1),a=ne(t,r.onScrollButtonChange);return ie(()=>{if(n.viewport&&n.isPositioned){let c=function(){const u=d.scrollHeight-d.clientHeight,f=Math.ceil(d.scrollTop)<u;s(f)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),o?i.jsx(Oi,{...e,ref:a,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});Ii.displayName=mr;var Oi=l.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,s=Ye("SelectScrollButton",n),a=l.useRef(null),c=Nn(n),d=l.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return l.useEffect(()=>()=>d(),[d]),ie(()=>{var f;const u=c().find(p=>p.ref.current===document.activeElement);(f=u==null?void 0:u.ref.current)==null||f.scrollIntoView({block:"nearest"})},[c]),i.jsx(z.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:N(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:N(o.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:N(o.onPointerLeave,()=>{d()})})}),Xh="SelectSeparator",Zh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return i.jsx(z.div,{"aria-hidden":!0,...r,ref:t})});Zh.displayName=Xh;var gr="SelectArrow",Jh=l.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=_n(n),s=Ke(gr,n),a=Ye(gr,n);return s.open&&a.position==="popper"?i.jsx(Kr,{...o,...r,ref:t}):null});Jh.displayName=gr;var Qh="SelectBubbleInput",Li=l.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const o=l.useRef(null),s=ne(r,o),a=Bd(t);return l.useEffect(()=>{const c=o.current;if(!c)return;const d=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(d,"value").set;if(a!==t&&f){const p=new Event("change",{bubbles:!0});f.call(c,t),c.dispatchEvent(p)}},[a,t]),i.jsx(z.select,{...n,style:{...Ts,...n.style},ref:s,defaultValue:t})});Li.displayName=Qh;function Di(e){return e===""||e===void 0}function Fi(e){const t=ke(e),n=l.useRef(""),r=l.useRef(0),o=l.useCallback(a=>{const c=n.current+a;t(c),(function d(u){n.current=u,window.clearTimeout(r.current),u!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[t]),s=l.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return l.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,s]}function $i(e,t,n){const o=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let a=em(e,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const d=a.find(u=>u.textValue.toLowerCase().startsWith(o.toLowerCase()));return d!==n?d:void 0}function em(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var av=hi,iv=gi,cv=yi,lv=xi,uv=bi,dv=wi,fv=Si,pv=Pi,hv=ji,mv=Ni,gv=_i,vv=Ii,tm="Separator",Qo="horizontal",nm=["horizontal","vertical"],Ui=l.forwardRef((e,t)=>{const{decorative:n,orientation:r=Qo,...o}=e,s=rm(r)?r:Qo,c=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(z.div,{"data-orientation":s,...c,...o,ref:t})});Ui.displayName=tm;function rm(e){return nm.includes(e)}var yv=Ui,In="Tabs",[om]=Ie(In,[Tn]),Hi=Tn(),[sm,ro]=om(In),Bi=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:s,orientation:a="horizontal",dir:c,activationMode:d="automatic",...u}=e,f=yn(c),[p,h]=Ze({prop:r,onChange:o,defaultProp:s??"",caller:In});return i.jsx(sm,{scope:n,baseId:Ee(),value:p,onValueChange:h,orientation:a,dir:f,activationMode:d,children:i.jsx(z.div,{dir:f,"data-orientation":a,...u,ref:t})})});Bi.displayName=In;var zi="TabsList",Wi=l.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,s=ro(zi,n),a=Hi(n);return i.jsx(Na,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:r,children:i.jsx(z.div,{role:"tablist","aria-orientation":s.orientation,...o,ref:t})})});Wi.displayName=zi;var Vi="TabsTrigger",Gi=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...s}=e,a=ro(Vi,n),c=Hi(n),d=Yi(a.baseId,r),u=Xi(a.baseId,r),f=r===a.value;return i.jsx(_a,{asChild:!0,...c,focusable:!o,active:f,children:i.jsx(z.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":u,"data-state":f?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:d,...s,ref:t,onMouseDown:N(e.onMouseDown,p=>{!o&&p.button===0&&p.ctrlKey===!1?a.onValueChange(r):p.preventDefault()}),onKeyDown:N(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&a.onValueChange(r)}),onFocus:N(e.onFocus,()=>{const p=a.activationMode!=="manual";!f&&!o&&p&&a.onValueChange(r)})})})});Gi.displayName=Vi;var qi="TabsContent",Ki=l.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:s,...a}=e,c=ro(qi,n),d=Yi(c.baseId,r),u=Xi(c.baseId,r),f=r===c.value,p=l.useRef(f);return l.useEffect(()=>{const h=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(h)},[]),i.jsx(Te,{present:o||f,children:({present:h})=>i.jsx(z.div,{"data-state":f?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!h,id:u,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:h&&s})})});Ki.displayName=qi;function Yi(e,t){return`${e}-trigger-${t}`}function Xi(e,t){return`${e}-content-${t}`}var am=Bi,im=Wi,cm=Gi,lm=Ki,[On]=Ie("Tooltip",[yt]),Ln=yt(),Zi="TooltipProvider",um=700,vr="tooltip.open",[dm,oo]=On(Zi),Ji=e=>{const{__scopeTooltip:t,delayDuration:n=um,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:s}=e,a=l.useRef(!0),c=l.useRef(!1),d=l.useRef(0);return l.useEffect(()=>{const u=d.current;return()=>window.clearTimeout(u)},[]),i.jsx(dm,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:l.useCallback(()=>{window.clearTimeout(d.current),a.current=!1},[]),onClose:l.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:l.useCallback(u=>{c.current=u},[]),disableHoverableContent:o,children:s})};Ji.displayName=Zi;var It="Tooltip",[fm,Wt]=On(It),Qi=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:s,disableHoverableContent:a,delayDuration:c}=e,d=oo(It,e.__scopeTooltip),u=Ln(t),[f,p]=l.useState(null),h=Ee(),g=l.useRef(0),x=a??d.disableHoverableContent,m=c??d.delayDuration,v=l.useRef(!1),[b,C]=Ze({prop:r,defaultProp:o??!1,onChange:k=>{k?(d.onOpen(),document.dispatchEvent(new CustomEvent(vr))):d.onClose(),s==null||s(k)},caller:It}),w=l.useMemo(()=>b?v.current?"delayed-open":"instant-open":"closed",[b]),E=l.useCallback(()=>{window.clearTimeout(g.current),g.current=0,v.current=!1,C(!0)},[C]),S=l.useCallback(()=>{window.clearTimeout(g.current),g.current=0,C(!1)},[C]),M=l.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{v.current=!0,C(!0),g.current=0},m)},[m,C]);return l.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),i.jsx(Vr,{...u,children:i.jsx(fm,{scope:t,contentId:h,open:b,stateAttribute:w,trigger:f,onTriggerChange:p,onTriggerEnter:l.useCallback(()=>{d.isOpenDelayedRef.current?M():E()},[d.isOpenDelayedRef,M,E]),onTriggerLeave:l.useCallback(()=>{x?S():(window.clearTimeout(g.current),g.current=0)},[S,x]),onOpen:E,onClose:S,disableHoverableContent:x,children:n})})};Qi.displayName=It;var yr="TooltipTrigger",ec=l.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Wt(yr,n),s=oo(yr,n),a=Ln(n),c=l.useRef(null),d=ne(t,c,o.onTriggerChange),u=l.useRef(!1),f=l.useRef(!1),p=l.useCallback(()=>u.current=!1,[]);return l.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(Gr,{asChild:!0,...a,children:i.jsx(z.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:d,onPointerMove:N(e.onPointerMove,h=>{h.pointerType!=="touch"&&!f.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),f.current=!0)}),onPointerLeave:N(e.onPointerLeave,()=>{o.onTriggerLeave(),f.current=!1}),onPointerDown:N(e.onPointerDown,()=>{o.open&&o.onClose(),u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:N(e.onFocus,()=>{u.current||o.onOpen()}),onBlur:N(e.onBlur,o.onClose),onClick:N(e.onClick,o.onClose)})})});ec.displayName=yr;var so="TooltipPortal",[pm,hm]=On(so,{forceMount:void 0}),tc=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,s=Wt(so,t);return i.jsx(pm,{scope:t,forceMount:n,children:i.jsx(Te,{present:n||s.open,children:i.jsx($t,{asChild:!0,container:o,children:r})})})};tc.displayName=so;var ft="TooltipContent",nc=l.forwardRef((e,t)=>{const n=hm(ft,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...s}=e,a=Wt(ft,e.__scopeTooltip);return i.jsx(Te,{present:r||a.open,children:a.disableHoverableContent?i.jsx(rc,{side:o,...s,ref:t}):i.jsx(mm,{side:o,...s,ref:t})})}),mm=l.forwardRef((e,t)=>{const n=Wt(ft,e.__scopeTooltip),r=oo(ft,e.__scopeTooltip),o=l.useRef(null),s=ne(t,o),[a,c]=l.useState(null),{trigger:d,onClose:u}=n,f=o.current,{onPointerInTransitChange:p}=r,h=l.useCallback(()=>{c(null),p(!1)},[p]),g=l.useCallback((x,m)=>{const v=x.currentTarget,b={x:x.clientX,y:x.clientY},C=xm(b,v.getBoundingClientRect()),w=bm(b,C),E=wm(m.getBoundingClientRect()),S=Em([...w,...E]);c(S),p(!0)},[p]);return l.useEffect(()=>()=>h(),[h]),l.useEffect(()=>{if(d&&f){const x=v=>g(v,f),m=v=>g(v,d);return d.addEventListener("pointerleave",x),f.addEventListener("pointerleave",m),()=>{d.removeEventListener("pointerleave",x),f.removeEventListener("pointerleave",m)}}},[d,f,g,h]),l.useEffect(()=>{if(a){const x=m=>{const v=m.target,b={x:m.clientX,y:m.clientY},C=(d==null?void 0:d.contains(v))||(f==null?void 0:f.contains(v)),w=!Cm(b,a);C?h():w&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[d,f,a,u,h]),i.jsx(rc,{...e,ref:s})}),[gm,vm]=On(It,{isInside:!1}),ym=au("TooltipContent"),rc=l.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:a,...c}=e,d=Wt(ft,n),u=Ln(n),{onClose:f}=d;return l.useEffect(()=>(document.addEventListener(vr,f),()=>document.removeEventListener(vr,f)),[f]),l.useEffect(()=>{if(d.trigger){const p=h=>{const g=h.target;g!=null&&g.contains(d.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,f]),i.jsx(Ft,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:i.jsxs(qr,{"data-state":d.stateAttribute,...u,...c,ref:t,style:{...c.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:[i.jsx(ym,{children:r}),i.jsx(gm,{scope:n,isInside:!0,children:i.jsx(fu,{id:d.contentId,role:"tooltip",children:o||r})})]})})});nc.displayName=ft;var oc="TooltipArrow",sc=l.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ln(n);return vm(oc,n).isInside?null:i.jsx(Kr,{...o,...r,ref:t})});sc.displayName=oc;function xm(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,o,s)){case s:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function bm(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 wm(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 Cm(e,t){const{x:n,y:r}=e;let o=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const c=t[s],d=t[a],u=c.x,f=c.y,p=d.x,h=d.y;f>r!=h>r&&n<(p-u)*(r-f)/(h-f)+u&&(o=!o)}return o}function Em(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),km(t)}function km(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 s=t[t.length-1],a=t[t.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.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 s=n[n.length-1],a=n[n.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.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 xv=Ji,bv=Qi,wv=ec,Cv=tc,Ev=nc,kv=sc;const ao="-",Sm=e=>{const t=Tm(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const c=a.split(ao);return c[0]===""&&c.length!==1&&c.shift(),ac(c,t)||Rm(a)},getConflictingClassGroupIds:(a,c)=>{const d=n[a]||[];return c&&r[a]?[...d,...r[a]]:d}}},ac=(e,t)=>{var a;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?ac(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const s=e.join(ao);return(a=t.validators.find(({validator:c})=>c(s)))==null?void 0:a.classGroupId},es=/^\[(.+)\]$/,Rm=e=>{if(es.test(e)){const t=es.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Tm=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Pm(Object.entries(e.classGroups),n).forEach(([s,a])=>{xr(a,r,s,t)}),r},xr=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?t:ts(t,o);s.classGroupId=n;return}if(typeof o=="function"){if(Mm(o)){xr(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,a])=>{xr(a,ts(t,s),n,r)})})},ts=(e,t)=>{let n=e;return t.split(ao).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Mm=e=>e.isThemeGetter,Pm=(e,t)=>t?e.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?t+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,c])=>[t+a,c])):s);return[n,o]}):e,jm=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(s,a)=>{n.set(s,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=r.get(s))!==void 0)return o(s,a),a},set(s,a){n.has(s)?n.set(s,a):o(s,a)}}},ic="!",Am=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],s=t.length,a=c=>{const d=[];let u=0,f=0,p;for(let v=0;v<c.length;v++){let b=c[v];if(u===0){if(b===o&&(r||c.slice(v,v+s)===t)){d.push(c.slice(f,v)),f=v+s;continue}if(b==="/"){p=v;continue}}b==="["?u++:b==="]"&&u--}const h=d.length===0?c:c.substring(f),g=h.startsWith(ic),x=g?h.substring(1):h,m=p&&p>f?p-f:void 0;return{modifiers:d,hasImportantModifier:g,baseClassName:x,maybePostfixModifierPosition:m}};return n?c=>n({className:c,parseClassName:a}):a},Nm=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},_m=e=>({cache:jm(e.cacheSize),parseClassName:Am(e),...Sm(e)}),Im=/\s+/,Om=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,s=[],a=e.trim().split(Im);let c="";for(let d=a.length-1;d>=0;d-=1){const u=a[d],{modifiers:f,hasImportantModifier:p,baseClassName:h,maybePostfixModifierPosition:g}=n(u);let x=!!g,m=r(x?h.substring(0,g):h);if(!m){if(!x){c=u+(c.length>0?" "+c:c);continue}if(m=r(h),!m){c=u+(c.length>0?" "+c:c);continue}x=!1}const v=Nm(f).join(":"),b=p?v+ic:v,C=b+m;if(s.includes(C))continue;s.push(C);const w=o(m,x);for(let E=0;E<w.length;++E){const S=w[E];s.push(b+S)}c=u+(c.length>0?" "+c:c)}return c};function Lm(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=cc(t))&&(r&&(r+=" "),r+=n);return r}const cc=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=cc(e[r]))&&(n&&(n+=" "),n+=t);return n};function Dm(e,...t){let n,r,o,s=a;function a(d){const u=t.reduce((f,p)=>p(f),e());return n=_m(u),r=n.cache.get,o=n.cache.set,s=c,c(d)}function c(d){const u=r(d);if(u)return u;const f=Om(d,n);return o(d,f),f}return function(){return s(Lm.apply(null,arguments))}}const se=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},lc=/^\[(?:([a-z-]+):)?(.+)\]$/i,Fm=/^\d+\/\d+$/,$m=new Set(["px","full","screen"]),Um=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Hm=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Bm=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,zm=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Wm=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Le=e=>ut(e)||$m.has(e)||Fm.test(e),Be=e=>bt(e,"length",Jm),ut=e=>!!e&&!Number.isNaN(Number(e)),tr=e=>bt(e,"number",ut),Rt=e=>!!e&&Number.isInteger(Number(e)),Vm=e=>e.endsWith("%")&&ut(e.slice(0,-1)),q=e=>lc.test(e),ze=e=>Um.test(e),Gm=new Set(["length","size","percentage"]),qm=e=>bt(e,Gm,uc),Km=e=>bt(e,"position",uc),Ym=new Set(["image","url"]),Xm=e=>bt(e,Ym,eg),Zm=e=>bt(e,"",Qm),Tt=()=>!0,bt=(e,t,n)=>{const r=lc.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},Jm=e=>Hm.test(e)&&!Bm.test(e),uc=()=>!1,Qm=e=>zm.test(e),eg=e=>Wm.test(e),tg=()=>{const e=se("colors"),t=se("spacing"),n=se("blur"),r=se("brightness"),o=se("borderColor"),s=se("borderRadius"),a=se("borderSpacing"),c=se("borderWidth"),d=se("contrast"),u=se("grayscale"),f=se("hueRotate"),p=se("invert"),h=se("gap"),g=se("gradientColorStops"),x=se("gradientColorStopPositions"),m=se("inset"),v=se("margin"),b=se("opacity"),C=se("padding"),w=se("saturate"),E=se("scale"),S=se("sepia"),M=se("skew"),k=se("space"),A=se("translate"),D=()=>["auto","contain","none"],F=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto",q,t],_=()=>[q,t],Y=()=>["",Le,Be],U=()=>["auto",ut,q],J=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],O=()=>["solid","dashed","dotted","double","none"],K=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],I=()=>["start","end","center","between","around","evenly","stretch"],j=()=>["","0",q],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>[ut,q];return{cacheSize:500,separator:":",theme:{colors:[Tt],spacing:[Le,Be],blur:["none","",ze,q],brightness:y(),borderColor:[e],borderRadius:["none","","full",ze,q],borderSpacing:_(),borderWidth:Y(),contrast:y(),grayscale:j(),hueRotate:y(),invert:j(),gap:_(),gradientColorStops:[e],gradientColorStopPositions:[Vm,Be],inset:H(),margin:H(),opacity:y(),padding:_(),saturate:y(),scale:y(),sepia:j(),skew:y(),space:_(),translate:_()},classGroups:{aspect:[{aspect:["auto","square","video",q]}],container:["container"],columns:[{columns:[ze]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...J(),q]}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Rt,q]}],basis:[{basis:H()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",q]}],grow:[{grow:j()}],shrink:[{shrink:j()}],order:[{order:["first","last","none",Rt,q]}],"grid-cols":[{"grid-cols":[Tt]}],"col-start-end":[{col:["auto",{span:["full",Rt,q]},q]}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":[Tt]}],"row-start-end":[{row:["auto",{span:[Rt,q]},q]}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",q]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",q]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...I()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...I(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...I(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",q,t]}],"min-w":[{"min-w":[q,t,"min","max","fit"]}],"max-w":[{"max-w":[q,t,"none","full","min","max","fit","prose",{screen:[ze]},ze]}],h:[{h:[q,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[q,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[q,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[q,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ze,Be]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",tr]}],"font-family":[{font:[Tt]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",q]}],"line-clamp":[{"line-clamp":["none",ut,tr]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Le,q]}],"list-image":[{"list-image":["none",q]}],"list-style-type":[{list:["none","disc","decimal",q]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Le,Be]}],"underline-offset":[{"underline-offset":["auto",Le,q]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...J(),Km]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",qm]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Xm]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...O(),"hidden"]}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:O()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...O()]}],"outline-offset":[{"outline-offset":[Le,q]}],"outline-w":[{outline:[Le,Be]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:Y()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[Le,Be]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ze,Zm]}],"shadow-color":[{shadow:[Tt]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...K(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":K()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[d]}],"drop-shadow":[{"drop-shadow":["","none",ze,q]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[p]}],saturate:[{saturate:[w]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[d]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",q]}],duration:[{duration:y()}],ease:[{ease:["linear","in","out","in-out",q]}],delay:[{delay:y()}],animate:[{animate:["none","spin","ping","pulse","bounce",q]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Rt,q]}],"translate-x":[{"translate-x":[A]}],"translate-y":[{"translate-y":[A]}],"skew-x":[{"skew-x":[M]}],"skew-y":[{"skew-y":[M]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",q]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",q]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",q]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Le,Be,tr]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},ng=Dm(tg);function we(...e){return ng(Es(e))}const rg=Pr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer 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 og({className:e,variant:t="default",size:n="default",asChild:r=!1,...o}){const s=r?ks:"button";return i.jsx(s,{"data-slot":"button","data-variant":t,"data-size":n,className:we(rg({variant:t,size:n,className:e})),...o})}/**
|
|
89
89
|
* @license lucide-react v0.468.0 - ISC
|
|
90
90
|
*
|
|
91
91
|
* This source code is licensed under the ISC license.
|
|
@@ -195,7 +195,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
195
195
|
*
|
|
196
196
|
* This source code is licensed under the ISC license.
|
|
197
197
|
* See the LICENSE file in the root directory of this source tree.
|
|
198
|
-
*/const
|
|
198
|
+
*/const Hv=T("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);/**
|
|
199
199
|
* @license lucide-react v0.468.0 - ISC
|
|
200
200
|
*
|
|
201
201
|
* This source code is licensed under the ISC license.
|
|
@@ -205,7 +205,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
205
205
|
*
|
|
206
206
|
* This source code is licensed under the ISC license.
|
|
207
207
|
* See the LICENSE file in the root directory of this source tree.
|
|
208
|
-
*/const
|
|
208
|
+
*/const Bv=T("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
209
209
|
* @license lucide-react v0.468.0 - ISC
|
|
210
210
|
*
|
|
211
211
|
* This source code is licensed under the ISC license.
|
|
@@ -500,7 +500,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
500
500
|
*
|
|
501
501
|
* This source code is licensed under the ISC license.
|
|
502
502
|
* See the LICENSE file in the root directory of this source tree.
|
|
503
|
-
*/const
|
|
503
|
+
*/const Hy=T("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
|
|
504
504
|
* @license lucide-react v0.468.0 - ISC
|
|
505
505
|
*
|
|
506
506
|
* This source code is licensed under the ISC license.
|
|
@@ -510,7 +510,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
510
510
|
*
|
|
511
511
|
* This source code is licensed under the ISC license.
|
|
512
512
|
* See the LICENSE file in the root directory of this source tree.
|
|
513
|
-
*/const
|
|
513
|
+
*/const By=T("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
|
|
514
514
|
* @license lucide-react v0.468.0 - ISC
|
|
515
515
|
*
|
|
516
516
|
* This source code is licensed under the ISC license.
|
|
@@ -615,7 +615,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
615
615
|
*
|
|
616
616
|
* This source code is licensed under the ISC license.
|
|
617
617
|
* See the LICENSE file in the root directory of this source tree.
|
|
618
|
-
*/const ix=T("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function ge({className:e,...t}){return i.jsx("div",{"data-slot":"card",className:we("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function cx({className:e,...t}){return i.jsx("div",{"data-slot":"card-header",className:we("@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 lx({className:e,...t}){return i.jsx("div",{"data-slot":"card-title",className:we("leading-none font-semibold",e),...t})}function ux({className:e,...t}){return i.jsx("div",{"data-slot":"card-description",className:we("text-muted-foreground text-sm",e),...t})}function ve({className:e,...t}){return i.jsx("div",{"data-slot":"card-content",className:we("px-6",e),...t})}function dx({className:e,...t}){return i.jsx("div",{"data-slot":"card-footer",className:we("flex items-center px-6 [.border-t]:pt-6",e),...t})}function vg(e=2e3){const[t,n]=l.useState(!1),r=l.useCallback(async o=>{const s=()=>{n(!0),setTimeout(()=>n(!1),e)};try{return await navigator.clipboard.writeText(o),s(),!0}catch{try{const a=document.createElement("textarea");return a.value=o,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a),s(),!0}catch{return!1}}},[e]);return{copied:t,copy:r}}const io="@rulemetric/cli",yg=`npm install -g ${io}`,fx=`npm install -g ${io}@latest`,px=`npm i -g ${io}@latest`,xg=Pr("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 [button&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 [button&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 [button&]: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 [button&]:hover:bg-accent [button&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground [button&]:hover:bg-accent [button&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline [button&]:hover:underline"}},defaultVariants:{variant:"default"}});function co({className:e,variant:t="default",asChild:n=!1,...r}){const o=n?ks:"span";return i.jsx(o,{"data-slot":"badge","data-variant":t,className:we(xg({variant:t}),e),...r})}function hc({className:e,orientation:t="horizontal",...n}){return i.jsx(am,{"data-slot":"tabs","data-orientation":t,orientation:t,className:we("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}const bg=Pr("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 max-w-full items-center justify-center group-data-[orientation=horizontal]/tabs:overflow-x-auto 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 mc({className:e,variant:t="default",...n}){return i.jsx(im,{"data-slot":"tabs-list","data-variant":t,className:we(bg({variant:t}),e),...n})}function ue({className:e,...t}){return i.jsx(cm,{"data-slot":"tabs-trigger",className:we("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 cursor-pointer 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})}function de({className:e,...t}){return i.jsx(lm,{"data-slot":"tabs-content",className:we("flex-1 outline-none",e),...t})}function gc(e,t,n="tab"){const[r,o]=Zl(),s=r.get(n);return[s!=null&&e.includes(s)?s:t,d=>{o(u=>{const f=new URLSearchParams(u);return d===t?f.delete(n):f.set(n,d),f},{replace:!0})}]}const wg=[{group:"Auth",commands:[{name:"auth login",desc:"Log in to RuleMetric (email/password)"},{name:"auth create-key",desc:"Create a long-lived API key for hooks and proxy"},{name:"auth revoke-key",desc:"Revoke an API key"},{name:"auth logout",desc:"Log out and clear stored credentials"},{name:"auth status",desc:"Show current auth status"}]},{group:"Instructions",commands:[{name:"instructions list",desc:"List all your instructions"},{name:"import <file>",desc:"Import a CLAUDE.md, .cursorrules, etc."},{name:"catalog",desc:"Browse the org/team instruction catalog"}]},{group:"Sessions",commands:[{name:"sessions list",desc:"List captured sessions (supports --tool, --limit)"},{name:"sessions import <file>",desc:"Import session from JSONL/JSON (auto-detects tool)"}]},{group:"Hooks",commands:[{name:"hooks install",desc:"Install session tracking hooks in current project"},{name:"hooks install --global",desc:"Install hooks for all projects"},{name:"hooks uninstall",desc:"Remove hooks from current project"},{name:"hooks run <name>",desc:"Execute a hook script (called by AI tools)"}]},{group:"Evals",commands:[{name:"evals create <target-id>",desc:"Create eval test cases for a target"},{name:"evals run <target-id>",desc:"Execute evals (with/without target, grading)"},{name:"evals benchmark <target-id>",desc:"Aggregate runs into statistical benchmarks"},{name:"evals optimize <target-id>",desc:"Iteratively optimize instruction content"},{name:"evals optimize-description <target-id>",desc:"Optimize trigger description using queries"},{name:"evals compare <a-id> <b-id>",desc:"Blind A/B comparison between two targets"},{name:"evals agent",desc:"Run the worker in the foreground (one-off)"}]},{group:"Proxy",commands:[{name:"proxy start",desc:"Start the mitmproxy context sniffer"},{name:"proxy stop",desc:"Stop mitmproxy (gateway stays alive)"},{name:"proxy status",desc:"Check gateway and proxy health"}]},{group:"Worker / Service",commands:[{name:"service install --worker-only",desc:"Install the worker as a persistent service (launchd/systemd) — no repo needed"},{name:"service status",desc:"Check installed RuleMetric services"},{name:"service uninstall",desc:"Remove installed RuleMetric services"}]}],Cg=[{group:"Instructions",endpoints:[{method:"GET",path:"/api/instructions",desc:"List instructions (supports ?scope=, ?search=)"},{method:"POST",path:"/api/instructions",desc:"Create a new instruction"},{method:"GET",path:"/api/instructions/:id",desc:"Get instruction by ID"},{method:"PUT",path:"/api/instructions/:id",desc:"Update instruction (creates version on content change)"},{method:"DELETE",path:"/api/instructions/:id",desc:"Archive an instruction"}]},{group:"Sessions",endpoints:[{method:"POST",path:"/api/sessions",desc:"Create a new session"},{method:"GET",path:"/api/sessions",desc:"List sessions (?tool, ?outcome, ?friction, ?instructionId, ?projectPath)"},{method:"GET",path:"/api/sessions/:id",desc:"Get session with linked instructions"},{method:"POST",path:"/api/sessions/:id/events",desc:"Append event (atomic sequence assignment)"},{method:"PATCH",path:"/api/sessions/:id/enrich",desc:"Merge metadata, analysis, tokenUsage, externalSessionId"},{method:"POST",path:"/api/sessions/:id/analyze",desc:"AI-powered session analysis"},{method:"POST",path:"/api/sessions/import",desc:"Import from raw content (auto-detects tool)"},{method:"POST",path:"/api/sessions/link-instructions",desc:"Scan snapshots, auto-create + link instructions"}]},{group:"Context Snapshots",endpoints:[{method:"POST",path:"/api/sessions/:id/context-snapshots",desc:"Store captured LLM request snapshot"},{method:"GET",path:"/api/sessions/:id/context-snapshots",desc:"List snapshots (supports ?limit=, ?offset=)"},{method:"GET",path:"/api/context-snapshots/:id",desc:"Get single snapshot"}]},{group:"Eval Targets & Cases",endpoints:[{method:"POST",path:"/api/eval-targets",desc:"Create eval target"},{method:"GET",path:"/api/eval-targets",desc:"List targets (supports ?type=, ?content_hash=)"},{method:"GET",path:"/api/eval-targets/:id",desc:"Get target by ID"},{method:"PUT",path:"/api/eval-targets/:id",desc:"Update target (content change = new version)"},{method:"POST",path:"/api/eval-targets/:id/evals",desc:"Create test case for target"},{method:"GET",path:"/api/eval-targets/:id/evals",desc:"List test cases"}]},{group:"Eval Runs & Benchmarks",endpoints:[{method:"POST",path:"/api/eval-runs",desc:"Create eval run (posted by CLI worker)"},{method:"GET",path:"/api/eval-targets/:id/runs",desc:"List runs (supports ?iteration=, ?limit=)"},{method:"POST",path:"/api/eval-targets/:id/benchmarks",desc:"Create aggregated benchmark"},{method:"GET",path:"/api/eval-targets/:id/benchmarks",desc:"List benchmarks"}]},{group:"Eval Jobs",endpoints:[{method:"POST",path:"/api/eval-jobs",desc:"Create pending eval job (web UI triggers); the local CLI worker claims it via GET /api/work/next"},{method:"GET",path:"/api/eval-targets/:id/jobs",desc:"List jobs for a target"},{method:"PATCH",path:"/api/eval-jobs/:id/progress",desc:"Update job progress"},{method:"PATCH",path:"/api/eval-jobs/:id/state",desc:"Mirror state updates from worker (driven by runner.events)"},{method:"POST",path:"/api/eval-jobs/:id/cancel",desc:"Cancel a pending job"}]},{group:"Eval from Context",endpoints:[{method:"POST",path:"/api/eval-from-context",desc:"Find-or-create target + auto-generate evals + create job"}]},{group:"Eval Conversations",endpoints:[{method:"POST",path:"/api/eval-targets/:id/conversations",desc:"Get-or-create chat conversation"},{method:"POST",path:"/api/eval-conversations/:id/messages",desc:"Send user message (creates worker job)"},{method:"POST",path:"/api/eval-conversations/:id/messages/assistant",desc:"Worker posts assistant message"},{method:"POST",path:"/api/eval-conversations/:id/apply-proposal",desc:"Apply proposed content changes"}]},{group:"Insights",endpoints:[{method:"GET",path:"/api/insights/compute",desc:"Live aggregation (?projectPath, ?since, ?until)"},{method:"GET",path:"/api/insights/instruction-impact",desc:"With-vs-without comparison (?instructionId)"}]},{group:"API Keys",endpoints:[{method:"GET",path:"/api/auth/api-keys",desc:"List API keys for current user"},{method:"POST",path:"/api/auth/api-keys",desc:"Create new API key (returns key once)"},{method:"DELETE",path:"/api/auth/api-keys/:id",desc:"Revoke an API key"}]},{group:"Worker Status",endpoints:[{method:"POST",path:"/api/workers/heartbeat",desc:"Upsert worker connection heartbeat"},{method:"GET",path:"/api/workers/status",desc:"List all worker connections for user"}]}],Eg={GET:"text-teal-500 bg-teal-500/10 border-teal-500/20",POST:"text-blue-500 bg-blue-500/10 border-blue-500/20",PUT:"text-amber-500 bg-amber-500/10 border-amber-500/20",PATCH:"text-pink-500 bg-pink-500/10 border-pink-500/20",DELETE:"text-red-500 bg-red-500/10 border-red-500/20"},it=window.location.origin;function kg({text:e}){const{copied:t,copy:n}=vg();return i.jsx(og,{variant:"ghost",size:"sm",onClick:()=>n(e),className:"cursor-pointer h-7 text-xs",children:t?i.jsxs(i.Fragment,{children:[i.jsx(lg,{className:"mr-1 h-3 w-3"}),"Copied"]}):i.jsxs(i.Fragment,{children:[i.jsx(dg,{className:"mr-1 h-3 w-3"}),"Copy"]})})}function Z({label:e,code:t}){return i.jsxs("div",{className:"relative",children:[i.jsxs("div",{className:"flex items-center justify-between mb-1",children:[i.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:e}),i.jsx(kg,{text:t})]}),i.jsx("pre",{className:"overflow-auto rounded-lg border border-border bg-[#0B1120] p-4 text-sm font-mono whitespace-pre-wrap",children:t})]})}function te({title:e,children:t}){return i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-lg font-mono font-semibold tracking-tight",children:e}),t]})}function Sg(){const[e,t]=gc(["claude-code","cursor","copilot","antigravity","windsurf","other"],"claude-code","tool");return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"1. Sign Up & Log In",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Create an account on this dashboard, then authenticate the CLI:"}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["Rather keep everything on your own machine?"," ",i.jsx(gn,{to:"/docs?tab=local",className:"text-primary hover:underline",children:"Local Mode"})," ","runs the same product with no cloud contact — no account required."]}),i.jsx(Z,{label:"Terminal",code:`# Install the CLI
|
|
618
|
+
*/const ix=T("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function ge({className:e,...t}){return i.jsx("div",{"data-slot":"card",className:we("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function cx({className:e,...t}){return i.jsx("div",{"data-slot":"card-header",className:we("@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 lx({className:e,...t}){return i.jsx("div",{"data-slot":"card-title",className:we("leading-none font-semibold",e),...t})}function ux({className:e,...t}){return i.jsx("div",{"data-slot":"card-description",className:we("text-muted-foreground text-sm",e),...t})}function ve({className:e,...t}){return i.jsx("div",{"data-slot":"card-content",className:we("px-6",e),...t})}function dx({className:e,...t}){return i.jsx("div",{"data-slot":"card-footer",className:we("flex items-center px-6 [.border-t]:pt-6",e),...t})}function vg(e=2e3){const[t,n]=l.useState(!1),r=l.useCallback(async o=>{const s=()=>{n(!0),setTimeout(()=>n(!1),e)};try{return await navigator.clipboard.writeText(o),s(),!0}catch{try{const a=document.createElement("textarea");return a.value=o,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a),s(),!0}catch{return!1}}},[e]);return{copied:t,copy:r}}const io="@rulemetric/cli",yg=`npm install -g ${io}`,fx=`npm install -g ${io}@latest`,px=`npm i -g ${io}@latest`,xg=Pr("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 [button&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 [button&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 [button&]: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 [button&]:hover:bg-accent [button&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground [button&]:hover:bg-accent [button&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline [button&]:hover:underline"}},defaultVariants:{variant:"default"}});function co({className:e,variant:t="default",asChild:n=!1,...r}){const o=n?ks:"span";return i.jsx(o,{"data-slot":"badge","data-variant":t,className:we(xg({variant:t}),e),...r})}function hc({className:e,orientation:t="horizontal",...n}){return i.jsx(am,{"data-slot":"tabs","data-orientation":t,orientation:t,className:we("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}const bg=Pr("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 max-w-full items-center justify-center group-data-[orientation=horizontal]/tabs:overflow-x-auto 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 mc({className:e,variant:t="default",...n}){return i.jsx(im,{"data-slot":"tabs-list","data-variant":t,className:we(bg({variant:t}),e),...n})}function ue({className:e,...t}){return i.jsx(cm,{"data-slot":"tabs-trigger",className:we("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 cursor-pointer 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})}function de({className:e,...t}){return i.jsx(lm,{"data-slot":"tabs-content",className:we("flex-1 outline-none",e),...t})}function gc(e,t,n="tab"){const[r,o]=Zl(),s=r.get(n);return[s!=null&&e.includes(s)?s:t,d=>{o(u=>{const f=new URLSearchParams(u);return d===t?f.delete(n):f.set(n,d),f},{replace:!0})}]}const wg=[{group:"Auth",commands:[{name:"auth login",desc:"Log in to RuleMetric (email/password)"},{name:"auth create-key",desc:"Create a long-lived API key for hooks and proxy"},{name:"auth revoke-key",desc:"Revoke an API key"},{name:"auth logout",desc:"Log out and clear stored credentials"},{name:"auth status",desc:"Show current auth status"}]},{group:"Instructions",commands:[{name:"instructions list",desc:"List all your instructions"},{name:"import <file>",desc:"Import a CLAUDE.md, .cursorrules, etc."},{name:"catalog",desc:"Browse the org/team instruction catalog"}]},{group:"Sessions",commands:[{name:"sessions list",desc:"List captured sessions (supports --tool, --limit)"},{name:"sessions import <file>",desc:"Import session from JSONL/JSON (auto-detects tool)"}]},{group:"Hooks",commands:[{name:"hooks install",desc:"Install session tracking hooks in current project"},{name:"hooks install --global",desc:"Install hooks for all projects"},{name:"hooks uninstall",desc:"Remove hooks from current project"},{name:"hooks run <name>",desc:"Execute a hook script (called by AI tools)"}]},{group:"Evals",commands:[{name:"evals create <target-id>",desc:"Create eval test cases for a target"},{name:"evals run <target-id>",desc:"Execute evals (with/without target, grading)"},{name:"evals benchmark <target-id>",desc:"Aggregate runs into statistical benchmarks"},{name:"evals agent",desc:"Run the worker in the foreground (one-off)"}]},{group:"Proxy",commands:[{name:"proxy start",desc:"Start the mitmproxy context sniffer"},{name:"proxy stop",desc:"Stop mitmproxy (gateway stays alive)"},{name:"proxy status",desc:"Check gateway and proxy health"}]},{group:"Worker / Service",commands:[{name:"service install --worker-only",desc:"Install the worker as a persistent service (launchd/systemd) — no repo needed"},{name:"service status",desc:"Check installed RuleMetric services"},{name:"service uninstall",desc:"Remove installed RuleMetric services"}]}],Cg=[{group:"Instructions",endpoints:[{method:"GET",path:"/api/instructions",desc:"List instructions (supports ?scope=, ?search=)"},{method:"POST",path:"/api/instructions",desc:"Create a new instruction"},{method:"GET",path:"/api/instructions/:id",desc:"Get instruction by ID"},{method:"PUT",path:"/api/instructions/:id",desc:"Update instruction (creates version on content change)"},{method:"DELETE",path:"/api/instructions/:id",desc:"Archive an instruction"}]},{group:"Sessions",endpoints:[{method:"POST",path:"/api/sessions",desc:"Create a new session"},{method:"GET",path:"/api/sessions",desc:"List sessions (?tool, ?outcome, ?friction, ?instructionId, ?projectPath)"},{method:"GET",path:"/api/sessions/:id",desc:"Get session with linked instructions"},{method:"POST",path:"/api/sessions/:id/events",desc:"Append event (atomic sequence assignment)"},{method:"PATCH",path:"/api/sessions/:id/enrich",desc:"Merge metadata, analysis, tokenUsage, externalSessionId"},{method:"POST",path:"/api/sessions/:id/analyze",desc:"AI-powered session analysis"},{method:"POST",path:"/api/sessions/import",desc:"Import from raw content (auto-detects tool)"},{method:"POST",path:"/api/sessions/link-instructions",desc:"Scan snapshots, auto-create + link instructions"}]},{group:"Context Snapshots",endpoints:[{method:"POST",path:"/api/sessions/:id/context-snapshots",desc:"Store captured LLM request snapshot"},{method:"GET",path:"/api/sessions/:id/context-snapshots",desc:"List snapshots (supports ?limit=, ?offset=)"},{method:"GET",path:"/api/context-snapshots/:id",desc:"Get single snapshot"}]},{group:"Eval Targets & Cases",endpoints:[{method:"POST",path:"/api/eval-targets",desc:"Create eval target"},{method:"GET",path:"/api/eval-targets",desc:"List targets (supports ?type=, ?content_hash=)"},{method:"GET",path:"/api/eval-targets/:id",desc:"Get target by ID"},{method:"PUT",path:"/api/eval-targets/:id",desc:"Update target (content change = new version)"},{method:"POST",path:"/api/eval-targets/:id/evals",desc:"Create test case for target"},{method:"GET",path:"/api/eval-targets/:id/evals",desc:"List test cases"}]},{group:"Eval Runs & Benchmarks",endpoints:[{method:"POST",path:"/api/eval-runs",desc:"Create eval run (posted by CLI worker)"},{method:"GET",path:"/api/eval-targets/:id/runs",desc:"List runs (supports ?iteration=, ?limit=)"},{method:"POST",path:"/api/eval-targets/:id/benchmarks",desc:"Create aggregated benchmark"},{method:"GET",path:"/api/eval-targets/:id/benchmarks",desc:"List benchmarks"}]},{group:"Eval Jobs",endpoints:[{method:"POST",path:"/api/eval-jobs",desc:"Create pending eval job (web UI triggers); the local CLI worker claims it via GET /api/work/next"},{method:"GET",path:"/api/eval-targets/:id/jobs",desc:"List jobs for a target"},{method:"PATCH",path:"/api/eval-jobs/:id/progress",desc:"Update job progress"},{method:"PATCH",path:"/api/eval-jobs/:id/state",desc:"Mirror state updates from worker (driven by runner.events)"},{method:"POST",path:"/api/eval-jobs/:id/cancel",desc:"Cancel a pending job"}]},{group:"Eval from Context",endpoints:[{method:"POST",path:"/api/eval-from-context",desc:"Find-or-create target + auto-generate evals + create job"}]},{group:"Eval Conversations",endpoints:[{method:"POST",path:"/api/eval-targets/:id/conversations",desc:"Get-or-create chat conversation"},{method:"POST",path:"/api/eval-conversations/:id/messages",desc:"Send user message (creates worker job)"},{method:"POST",path:"/api/eval-conversations/:id/messages/assistant",desc:"Worker posts assistant message"},{method:"POST",path:"/api/eval-conversations/:id/apply-proposal",desc:"Apply proposed content changes"}]},{group:"Insights",endpoints:[{method:"GET",path:"/api/insights/compute",desc:"Live aggregation (?projectPath, ?since, ?until)"},{method:"GET",path:"/api/insights/instruction-impact",desc:"With-vs-without comparison (?instructionId)"}]},{group:"API Keys",endpoints:[{method:"GET",path:"/api/auth/api-keys",desc:"List API keys for current user"},{method:"POST",path:"/api/auth/api-keys",desc:"Create new API key (returns key once)"},{method:"DELETE",path:"/api/auth/api-keys/:id",desc:"Revoke an API key"}]},{group:"Worker Status",endpoints:[{method:"POST",path:"/api/workers/heartbeat",desc:"Upsert worker connection heartbeat"},{method:"GET",path:"/api/workers/status",desc:"List all worker connections for user"}]}],Eg={GET:"text-teal-500 bg-teal-500/10 border-teal-500/20",POST:"text-blue-500 bg-blue-500/10 border-blue-500/20",PUT:"text-amber-500 bg-amber-500/10 border-amber-500/20",PATCH:"text-pink-500 bg-pink-500/10 border-pink-500/20",DELETE:"text-red-500 bg-red-500/10 border-red-500/20"},it=window.location.origin;function kg({text:e}){const{copied:t,copy:n}=vg();return i.jsx(og,{variant:"ghost",size:"sm",onClick:()=>n(e),className:"cursor-pointer h-7 text-xs",children:t?i.jsxs(i.Fragment,{children:[i.jsx(lg,{className:"mr-1 h-3 w-3"}),"Copied"]}):i.jsxs(i.Fragment,{children:[i.jsx(dg,{className:"mr-1 h-3 w-3"}),"Copy"]})})}function Z({label:e,code:t}){return i.jsxs("div",{className:"relative",children:[i.jsxs("div",{className:"flex items-center justify-between mb-1",children:[i.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:e}),i.jsx(kg,{text:t})]}),i.jsx("pre",{className:"overflow-auto rounded-lg border border-border bg-[#0B1120] p-4 text-sm font-mono whitespace-pre-wrap",children:t})]})}function te({title:e,children:t}){return i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-lg font-mono font-semibold tracking-tight",children:e}),t]})}function Sg(){const[e,t]=gc(["claude-code","cursor","copilot","antigravity","windsurf","other"],"claude-code","tool");return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"1. Sign Up & Log In",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Create an account on this dashboard, then authenticate the CLI:"}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["Rather keep everything on your own machine?"," ",i.jsx(gn,{to:"/docs?tab=local",className:"text-primary hover:underline",children:"Local Mode"})," ","runs the same product with no cloud contact — no account required."]}),i.jsx(Z,{label:"Terminal",code:`# Install the CLI
|
|
619
619
|
${yg}
|
|
620
620
|
|
|
621
621
|
# Log in (email/password prompt)
|
|
@@ -698,7 +698,11 @@ rulemetric skills install <id>`}),i.jsxs("div",{className:"space-y-1",children:[
|
|
|
698
698
|
# .agents/skills/<name>/SKILL.md -> Cursor, Codex, Copilot,
|
|
699
699
|
# Gemini CLI, Cline, Amp, Warp, Zed, OpenCode
|
|
700
700
|
# .claude/skills/<name> -> Claude Code (symlink)
|
|
701
|
-
rulemetric skills install <id>`}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Any MCP-compatible tool can connect to the RuleMetric MCP server using the standard config pattern shown in the other tabs."})]})]})]}),i.jsxs(te,{title:"3.
|
|
701
|
+
rulemetric skills install <id>`}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Any MCP-compatible tool can connect to the RuleMetric MCP server using the standard config pattern shown in the other tabs."})]})]})]}),i.jsxs(te,{title:"3. Run the Background Worker",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"The worker prepares suggestions and runs experiments using your installed AI tools. Install it as a persistent service on this machine. Automatic updates are optional."}),i.jsx(Z,{label:"Terminal",code:`rulemetric service install --worker-only
|
|
702
|
+
|
|
703
|
+
# Opt in to stable npm updates after active work finishes
|
|
704
|
+
rulemetric service install --worker-only --force --auto-update
|
|
705
|
+
rulemetric service updates`})]}),i.jsxs(te,{title:"4. View Your Data",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Once set up, RuleMetric automatically captures your AI coding activity:"}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[{label:"Dashboard",desc:"Session stats, tool usage, activity feed",path:"/dashboard"},{label:"Sessions",desc:"Browse and analyze each AI conversation",path:"/sessions"},{label:"Loop",desc:"See running work, waiting jobs, and recorded blockers",path:"/loop"},{label:"Evaluations",desc:"Inspect metric findings and actual application receipts",path:"/evaluations"},{label:"Insights",desc:"Review evidence and suggestions that still need testing",path:"/insights"}].map(n=>i.jsxs("div",{className:"rounded-lg border border-border bg-background p-3",children:[i.jsx("h4",{className:"text-sm font-medium",children:n.label}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:n.desc})]},n.label))})]}),i.jsx(te,{title:"Architecture",children:i.jsx("div",{className:"rounded-lg border border-border bg-muted/30 p-4 space-y-2",children:i.jsx("pre",{className:"text-xs font-mono text-muted-foreground whitespace-pre overflow-x-auto",children:`Your AI Tool (Claude Code, Cursor, Copilot, etc.)
|
|
702
706
|
|
|
|
703
707
|
├── Hooks (session lifecycle + events)
|
|
704
708
|
| └── POST /api/sessions, /api/sessions/:id/events
|
|
@@ -710,16 +714,7 @@ rulemetric skills install <id>`}),i.jsx("p",{className:"text-sm text-muted-foreg
|
|
|
710
714
|
└── Tools: list, search, catalog, recommend
|
|
711
715
|
|
|
|
712
716
|
v
|
|
713
|
-
RuleMetric API → Supabase DB → Web Dashboard`})})})]})}function Rg(){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["All commands are prefixed with ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"rulemetric"}),". Use ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"--help"})," on any command for full options."]}),wg.map(e=>i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium mb-2",children:e.group}),i.jsx("div",{className:"grid gap-2",children:e.commands.map(t=>i.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-border bg-background p-3",children:[i.jsx("code",{className:"font-mono text-xs bg-muted px-2 py-1 rounded shrink-0",children:t.name}),i.jsx("span",{className:"text-sm text-muted-foreground",children:t.desc})]},t.name))})]},e.group))]})}function Tg(){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["All API endpoints require authentication via ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"Authorization: Bearer <api-key-or-jwt>"})," header. Use an API key (",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"rm_..."}),") for CLI/proxy or a Supabase JWT for web sessions. Base URL: ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:it})]}),Cg.map(e=>i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium mb-2",children:e.group}),i.jsx("div",{className:"grid gap-1.5",children:e.endpoints.map(t=>i.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-background px-3 py-2",children:[i.jsx(co,{variant:"outline",className:`font-mono text-xs w-14 justify-center shrink-0 ${Eg[t.method]??""}`,children:t.method}),i.jsx("code",{className:"font-mono text-xs shrink-0",children:t.path}),i.jsx(fc,{className:"h-3 w-3 text-muted-foreground shrink-0"}),i.jsx("span",{className:"text-sm text-muted-foreground truncate",children:t.desc})]},`${t.method}-${t.path}`))})]},e.group))]})}function Mg(){return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"Overview",children:[i.
|
|
714
|
-
|
|
|
715
|
-
├── Test Cases (evals) — prompts + expectations
|
|
716
|
-
| |
|
|
717
|
-
| ├── Run with_target → grade against expectations
|
|
718
|
-
| └── Run without_target → grade (baseline)
|
|
719
|
-
|
|
|
720
|
-
├── Benchmark — aggregate stats (mean, stddev, min, max)
|
|
721
|
-
|
|
|
722
|
-
└── Optimization — iteratively improve content using results`})})]}),i.jsxs(te,{title:"Creating Eval Targets",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:'An eval target is the instruction you want to test. Create one from the CLI or by clicking "Eval" on a context item in the session detail page.'}),i.jsx(Z,{label:"Terminal",code:`# Create test cases for an instruction
|
|
717
|
+
RuleMetric API → Supabase DB → Web Dashboard`})})})]})}function Rg(){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["All commands are prefixed with ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"rulemetric"}),". Use ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"--help"})," on any command for full options."]}),wg.map(e=>i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium mb-2",children:e.group}),i.jsx("div",{className:"grid gap-2",children:e.commands.map(t=>i.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-border bg-background p-3",children:[i.jsx("code",{className:"font-mono text-xs bg-muted px-2 py-1 rounded shrink-0",children:t.name}),i.jsx("span",{className:"text-sm text-muted-foreground",children:t.desc})]},t.name))})]},e.group))]})}function Tg(){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["All API endpoints require authentication via ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"Authorization: Bearer <api-key-or-jwt>"})," header. Use an API key (",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"rm_..."}),") for CLI/proxy or a Supabase JWT for web sessions. Base URL: ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:it})]}),Cg.map(e=>i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium mb-2",children:e.group}),i.jsx("div",{className:"grid gap-1.5",children:e.endpoints.map(t=>i.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-background px-3 py-2",children:[i.jsx(co,{variant:"outline",className:`font-mono text-xs w-14 justify-center shrink-0 ${Eg[t.method]??""}`,children:t.method}),i.jsx("code",{className:"font-mono text-xs shrink-0",children:t.path}),i.jsx(fc,{className:"h-3 w-3 text-muted-foreground shrink-0"}),i.jsx("span",{className:"text-sm text-muted-foreground truncate",children:t.desc})]},`${t.method}-${t.path}`))})]},e.group))]})}function Mg(){return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"Overview",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Evaluations records experiments across fixtures, benchmarks, replayed cases, and repository work. Each record separates execution status, findings for correctness and effort, and actual changes applied. A completed job alone does not show that an instruction helped."}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Automatically prepared fixture experiments use captured requests and cited repository context. Independent checks judge task artifacts. A frozen policy permits one repair after a failed check, counts both attempts, and retains the original failure. Limited or incomplete evidence stays inconclusive."})]}),i.jsxs(te,{title:"Creating Eval Targets",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:'An eval target is the instruction you want to test. Create one from the CLI or by clicking "Eval" on a context item in the session detail page.'}),i.jsx(Z,{label:"Terminal",code:`# Create test cases for an instruction
|
|
723
718
|
rulemetric evals create <target-id> \\
|
|
724
719
|
--name "no-console-log" \\
|
|
725
720
|
--prompt "Write a logging utility for a Node.js app" \\
|
|
@@ -731,14 +726,11 @@ rulemetric evals run <target-id> --runs-per-eval 3
|
|
|
731
726
|
rulemetric evals run <target-id> --skip-baseline
|
|
732
727
|
|
|
733
728
|
# Use a specific model
|
|
734
|
-
rulemetric evals run <target-id> --model claude-sonnet-4-5-20250929`})}),i.jsx(te,{title:"Benchmarking &
|
|
729
|
+
rulemetric evals run <target-id> --model claude-sonnet-4-5-20250929`})}),i.jsx(te,{title:"Benchmarking & Experiment Results",children:i.jsx(Z,{label:"Terminal",code:`# Aggregate results into a benchmark
|
|
735
730
|
rulemetric evals benchmark <target-id>
|
|
736
731
|
|
|
737
|
-
#
|
|
738
|
-
rulemetric evals
|
|
739
|
-
|
|
740
|
-
# Compare two instruction versions
|
|
741
|
-
rulemetric evals compare <target-a-id> <target-b-id>`})}),i.jsxs(te,{title:"Web-Triggered Evals (Job Queue)",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"You can trigger evals from the web dashboard. A local CLI worker picks up the job and executes it. For a worker that always runs (insights, suggestions, and eval jobs), install it as a persistent service — launchd on macOS, systemd on Linux, no repo required:"}),i.jsx(Z,{label:"Terminal — install a persistent worker (recommended)",code:"rulemetric service install --worker-only"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Or run it once in the foreground (stops when you close the terminal):"}),i.jsx(Z,{label:"Terminal — one-off foreground worker",code:"rulemetric evals agent"}),i.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-4 space-y-2",children:[i.jsx("h4",{className:"text-sm font-medium",children:"Triggering from the dashboard"}),i.jsxs("ul",{className:"text-sm text-muted-foreground list-disc pl-5 space-y-1",children:[i.jsxs("li",{children:[i.jsx("strong",{children:"Evals page:"}),' Go to Evals > select a target > click "Run Evals"']}),i.jsxs("li",{children:[i.jsx("strong",{children:"Session context:"}),' Go to Sessions > select session > Context tab > click "Eval" on any instruction']})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"The worker claims the job, executes evals locally, and streams progress back to the dashboard in real-time."})]})]}),i.jsxs(te,{title:"Eval from Context",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["When viewing a session's captured context, instruction items (",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"claude_md"}),", ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"memory"}),", ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"skill_loaded"}),') show an "Eval" button. Clicking it:']}),i.jsxs("ol",{className:"text-sm text-muted-foreground list-decimal pl-5 space-y-1",children:[i.jsx("li",{children:"Finds or creates an eval target from the instruction content (matched by content hash)"}),i.jsx("li",{children:"Auto-generates eval cases from imperative rules (NEVER/ALWAYS/MUST patterns)"}),i.jsx("li",{children:"Queues an eval job for the CLI worker to execute"})]}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:'Results appear inline as a pass-rate badge. Click the badge to see detailed results, or click "View Details" to go to the full eval target page.'})]})]})}function Pg(){return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"Gateway + Proxy Architecture",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Two-layer HTTPS proxy captures full LLM context from 25+ providers."}),i.jsx("div",{className:"rounded-lg border border-border bg-muted/30 p-4",children:i.jsx("pre",{className:"text-xs font-mono text-muted-foreground whitespace-pre overflow-x-auto",children:`AI Tool → HTTPS_PROXY (:8787 gateway) → mitmproxy (:8788) → LLM API
|
|
732
|
+
# List recorded experiments and metric findings
|
|
733
|
+
rulemetric experiments list --all`})}),i.jsxs(te,{title:"Web-Triggered Evals (Job Queue)",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"You can trigger evals from the web dashboard. A local CLI worker picks up the job and executes it. For a worker that always runs (insights, suggestions, and eval jobs), install it as a persistent service — launchd on macOS, systemd on Linux, no repo required:"}),i.jsx(Z,{label:"Terminal — install a persistent worker (recommended)",code:"rulemetric service install --worker-only"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Or run it once in the foreground (stops when you close the terminal):"}),i.jsx(Z,{label:"Terminal — one-off foreground worker",code:"rulemetric evals agent"}),i.jsxs("div",{className:"rounded-lg border border-border bg-muted/30 p-4 space-y-2",children:[i.jsx("h4",{className:"text-sm font-medium",children:"Triggering from the dashboard"}),i.jsxs("ul",{className:"text-sm text-muted-foreground list-disc pl-5 space-y-1",children:[i.jsxs("li",{children:[i.jsx("strong",{children:"Evals page:"}),' Go to Evals > select a target > click "Run Evals"']}),i.jsxs("li",{children:[i.jsx("strong",{children:"Session context:"}),' Go to Sessions > select session > Context tab > click "Eval" on any instruction']})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"The worker claims the job, executes evals locally, and streams progress back to the dashboard in real-time."})]})]}),i.jsxs(te,{title:"Eval from Context",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["When viewing a session's captured context, instruction items (",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"claude_md"}),", ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"memory"}),", ",i.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded font-mono",children:"skill_loaded"}),') show an "Eval" button. Clicking it:']}),i.jsxs("ol",{className:"text-sm text-muted-foreground list-decimal pl-5 space-y-1",children:[i.jsx("li",{children:"Finds or creates an eval target from the instruction content (matched by content hash)"}),i.jsx("li",{children:"Prepares missing cases through the local worker, using the target content and available repository context"}),i.jsx("li",{children:"Queues an eval job for the CLI worker to execute"})]}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:'Results appear inline as a pass-rate badge. Click the badge to see detailed results, or click "View Details" to go to the full eval target page.'})]})]})}function Pg(){return i.jsxs("div",{className:"space-y-8",children:[i.jsxs(te,{title:"Gateway + Proxy Architecture",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"Two-layer HTTPS proxy captures full LLM context from 25+ providers."}),i.jsx("div",{className:"rounded-lg border border-border bg-muted/30 p-4",children:i.jsx("pre",{className:"text-xs font-mono text-muted-foreground whitespace-pre overflow-x-auto",children:`AI Tool → HTTPS_PROXY (:8787 gateway) → mitmproxy (:8788) → LLM API
|
|
742
734
|
↘ (if proxy down) → LLM API direct`})}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"The gateway is always-on. When mitmproxy is running, traffic routes through it for capture. When it's off, traffic goes direct — your tool never breaks."}),i.jsx(Z,{label:"Terminal",code:`rulemetric proxy start # start mitmproxy
|
|
743
735
|
rulemetric proxy stop # stop mitmproxy (gateway stays alive)
|
|
744
736
|
rulemetric proxy status # check health`})]}),i.jsxs(te,{title:"Setup",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:["For Claude Code, ",i.jsx("code",{className:"text-xs bg-muted px-1 rounded",children:"rulemetric hooks install"})," configures everything automatically (",i.jsx("code",{className:"text-xs bg-muted px-1 rounded",children:"HTTPS_PROXY"})," and ",i.jsx("code",{className:"text-xs bg-muted px-1 rounded",children:"NODE_EXTRA_CA_CERTS"})," in ",i.jsx("code",{className:"text-xs bg-muted px-1 rounded",children:".claude/settings.local.json"}),"; global installs use ",i.jsx("code",{className:"text-xs bg-muted px-1 rounded",children:"~/.claude/settings.json"}),"). No manual env vars needed."]}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"For other tools, route HTTPS traffic through the gateway:"}),i.jsx(Z,{label:"Environment",code:`export HTTPS_PROXY=http://localhost:8787
|
|
@@ -779,4 +771,4 @@ rulemetric capture scope --tool hooks --off
|
|
|
779
771
|
|
|
780
772
|
# The worker's Codex transcript sweep
|
|
781
773
|
rulemetric capture scope --add ~/work/client-a
|
|
782
|
-
rulemetric capture scope --off`}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"One honest caveat: the optional mitmproxy network-capture chain is governed by its host allowlist, not by these scopes. Hooks-first capture (the default) is fully governed."})]})})})]})}function hx(){const[e,t]=gc(["getting-started","cli","api","evals","proxy","insights","data","local"],"getting-started");return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{children:[i.jsx("h2",{className:"text-2xl font-mono font-bold tracking-tight",children:"Documentation"}),i.jsx("p",{className:"text-muted-foreground",children:"Guides, CLI reference, API reference, and system documentation"})]}),i.jsxs(hc,{value:e,onValueChange:t,children:[i.jsxs(mc,{children:[i.jsxs(ue,{value:"getting-started",className:"cursor-pointer",children:[i.jsx(cg,{className:"mr-2 h-4 w-4"}),"Quick Start"]}),i.jsxs(ue,{value:"cli",className:"cursor-pointer",children:[i.jsx(mg,{className:"mr-2 h-4 w-4"}),"CLI Reference"]}),i.jsxs(ue,{value:"api",className:"cursor-pointer",children:[i.jsx(ug,{className:"mr-2 h-4 w-4"}),"API Reference"]}),i.jsxs(ue,{value:"evals",className:"cursor-pointer",children:[i.jsx(fg,{className:"mr-2 h-4 w-4"}),"Eval System"]}),i.jsxs(ue,{value:"proxy",className:"cursor-pointer",children:[i.jsx(pg,{className:"mr-2 h-4 w-4"}),"Proxy & Context"]}),i.jsxs(ue,{value:"insights",className:"cursor-pointer",children:[i.jsx(gg,{className:"mr-2 h-4 w-4"}),"Insights"]}),i.jsxs(ue,{value:"local",className:"cursor-pointer",children:[i.jsx(pc,{className:"mr-2 h-4 w-4"}),"Local Mode"]}),i.jsxs(ue,{value:"data",className:"cursor-pointer",children:[i.jsx(hg,{className:"mr-2 h-4 w-4"}),"Data & Retention"]})]}),i.jsx(de,{value:"getting-started",className:"mt-6",children:i.jsx(Sg,{})}),i.jsx(de,{value:"cli",className:"mt-6",children:i.jsx(Rg,{})}),i.jsx(de,{value:"api",className:"mt-6",children:i.jsx(Tg,{})}),i.jsx(de,{value:"evals",className:"mt-6",children:i.jsx(Mg,{})}),i.jsx(de,{value:"proxy",className:"mt-6",children:i.jsx(Pg,{})}),i.jsx(de,{value:"insights",className:"mt-6",children:i.jsx(jg,{})}),i.jsx(de,{value:"local",className:"mt-6",children:i.jsx(Ag,{})}),i.jsx(de,{value:"data",className:"mt-6",children:i.jsx(Ng,{})})]})]})}export{Qg as $,Iy as A,og as B,Vg as C,qg as D,Sv as E,fg as F,by as G,gg as H,yy as I,Fv as J,ny as K,gn as L,gy as M,Og as N,Wg as O,zg as P,Cy as Q,
|
|
774
|
+
rulemetric capture scope --off`}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"One honest caveat: the optional mitmproxy network-capture chain is governed by its host allowlist, not by these scopes. Hooks-first capture (the default) is fully governed."})]})})})]})}function hx(){const[e,t]=gc(["getting-started","cli","api","evals","proxy","insights","data","local"],"getting-started");return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{children:[i.jsx("h2",{className:"text-2xl font-mono font-bold tracking-tight",children:"Documentation"}),i.jsx("p",{className:"text-muted-foreground",children:"Guides, CLI reference, API reference, and system documentation"})]}),i.jsxs(hc,{value:e,onValueChange:t,children:[i.jsxs(mc,{children:[i.jsxs(ue,{value:"getting-started",className:"cursor-pointer",children:[i.jsx(cg,{className:"mr-2 h-4 w-4"}),"Quick Start"]}),i.jsxs(ue,{value:"cli",className:"cursor-pointer",children:[i.jsx(mg,{className:"mr-2 h-4 w-4"}),"CLI Reference"]}),i.jsxs(ue,{value:"api",className:"cursor-pointer",children:[i.jsx(ug,{className:"mr-2 h-4 w-4"}),"API Reference"]}),i.jsxs(ue,{value:"evals",className:"cursor-pointer",children:[i.jsx(fg,{className:"mr-2 h-4 w-4"}),"Eval System"]}),i.jsxs(ue,{value:"proxy",className:"cursor-pointer",children:[i.jsx(pg,{className:"mr-2 h-4 w-4"}),"Proxy & Context"]}),i.jsxs(ue,{value:"insights",className:"cursor-pointer",children:[i.jsx(gg,{className:"mr-2 h-4 w-4"}),"Insights"]}),i.jsxs(ue,{value:"local",className:"cursor-pointer",children:[i.jsx(pc,{className:"mr-2 h-4 w-4"}),"Local Mode"]}),i.jsxs(ue,{value:"data",className:"cursor-pointer",children:[i.jsx(hg,{className:"mr-2 h-4 w-4"}),"Data & Retention"]})]}),i.jsx(de,{value:"getting-started",className:"mt-6",children:i.jsx(Sg,{})}),i.jsx(de,{value:"cli",className:"mt-6",children:i.jsx(Rg,{})}),i.jsx(de,{value:"api",className:"mt-6",children:i.jsx(Tg,{})}),i.jsx(de,{value:"evals",className:"mt-6",children:i.jsx(Mg,{})}),i.jsx(de,{value:"proxy",className:"mt-6",children:i.jsx(Pg,{})}),i.jsx(de,{value:"insights",className:"mt-6",children:i.jsx(jg,{})}),i.jsx(de,{value:"local",className:"mt-6",children:i.jsx(Ag,{})}),i.jsx(de,{value:"data",className:"mt-6",children:i.jsx(Ng,{})})]})]})}export{Qg as $,Iy as A,og as B,Vg as C,qg as D,Sv as E,fg as F,by as G,gg as H,yy as I,Fv as J,ny as K,gn as L,gy as M,Og as N,Wg as O,zg as P,Cy as Q,Hg as R,Wy as S,Gg as T,zy as U,cg as V,By as W,ax as X,Ry as Y,Jg as Z,$g as _,Ec as a,Oy as a$,ev as a0,tv as a1,rv as a2,ov as a3,nv as a4,Yg as a5,Xg as a6,Bg as a7,kr as a8,Lv as a9,ux as aA,dx as aB,xv as aC,bv as aD,wv as aE,Cv as aF,Ev as aG,kv as aH,ix as aI,My as aJ,ug as aK,Uv as aL,py as aM,ey as aN,ly as aO,fc as aP,gc as aQ,hc as aR,mc as aS,ue as aT,de as aU,ry as aV,ox as aW,rx as aX,xy as aY,ay as aZ,iy as a_,Hv as aa,Wv as ab,Qv as ac,_v as ad,Ov as ae,Ty as af,tx as ag,ky as ah,Vv as ai,px as aj,yg as ak,fx as al,vy as am,Dy as an,co as ao,Ay as ap,Ly as aq,Uy as ar,Jv as as,jv as at,Kv as au,dy as av,hy as aw,my as ax,sv as ay,Zl as az,l as b,Yy as b0,mg as b1,cy as b2,Bv as b3,Nv as b4,Tv as b5,Av as b6,Mv as b7,fy as b8,Yv as b9,Ny as bA,Fy as bB,Rv as bC,Gy as bD,Dv as bE,Zy as bF,Xv as bG,Iv as bH,$v as bI,nx as bJ,Sy as bK,ex as bL,oy as bM,Pv as bN,ty as bO,Qy as bP,Hy as bQ,Fg as bR,Dg as bS,wl as bT,av as ba,iv as bb,lv as bc,cv as bd,uv as be,dv as bf,fv as bg,pv as bh,mv as bi,hv as bj,gv as bk,zv as bl,vv as bm,uy as bn,_y as bo,Zv as bp,Ky as bq,qy as br,Vy as bs,hx as bt,qv as bu,jy as bv,sx as bw,sy as bx,Jy as by,$y as bz,ws as c,we as d,Kg as e,lg as f,_g as g,dg as h,ge as i,i as j,cx as k,lx as l,ve as m,Ig as n,We as o,Ey as p,Py as q,br as r,Xy as s,Gv as t,vg as u,ou as v,He as w,Lg as x,yv as y,wy as z};
|