diff --git a/__init__.py b/__init__.py
index c3c4795..d388bc9 100644
--- a/__init__.py
+++ b/__init__.py
@@ -16,7 +16,7 @@ import json
from .version_control import update_version_if_outdated
from .service.model_manager.model_installer import download_url_with_wget
from .service.model_manager.model_list import get_model_list
-from .service.model_manager.model_preview import get_thumbnail_for_image_file
+from .service.media_service import *
WEB_DIRECTORY = "entry"
DEFAULT_USER = "guest"
@@ -205,46 +205,6 @@ async def rename_file(request):
else:
return web.Response(text="File not found", status=404)
-image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp']
-video_extensions = ['.mp4', '.mov', '.avi', '.webm', '.mkv']
-@server.PromptServer.instance.routes.get("/workspace/view_media")
-async def api_view_file(request):
- filename = request.query.get("filename", None)
- if not filename:
- return web.Response(status=404)
-
- # validation for security: prevent accessing arbitrary path
- if filename[0] == '/' or '..' in filename:
- return web.Response(status=400)
-
- output_path = folder_paths.get_output_directory()
- file_path = os.path.join(output_path, filename)
-
- if not os.path.exists(file_path):
- return web.Response(status=404)
-
- file_extension = os.path.splitext(filename)[1].lower()
- if file_extension in image_extensions:
- return web.json_response(
- body=get_thumbnail_for_image_file(file_path),
- content_type='image/jpeg',
- headers={"Content-Disposition": f"filename=\"{filename}.jpg\""}
- )
-
- with open(file_path, 'rb') as f:
- media_file = f.read()
-
- content_type = 'application/json'
- if file_extension in video_extensions:
- content_type = f'video/{file_extension[1:]}'
-
- return web.Response(
- body=media_file,
- content_type=content_type,
- headers={"Content-Disposition": f"filename=\"{filename}\""}
- )
-
-
@server.PromptServer.instance.routes.post("/workspace/open_workflow_file_browser")
async def open_workflow_file_browser(request):
my_workflows_dir = get_my_workflows_dir()
diff --git a/dist/workspace_web/App-09wdM9e8.js b/dist/workspace_web/App-09wdM9e8.js
new file mode 100644
index 0000000..572e683
--- /dev/null
+++ b/dist/workspace_web/App-09wdM9e8.js
@@ -0,0 +1,15 @@
+var Wi=Object.defineProperty;var Ki=(t,e,n)=>e in t?Wi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ce=(t,e,n)=>(Ki(t,typeof e!="symbol"?e+"":e,n),n);import{u as $i,a as zi,r as y,c as Ui,b as Ke,m as xe,d as vt,f as G,j as v,B as Ne,e as qi,g as V,h as oe,o as $e,i as Ot,k as ze,I as Vi,l as yr,n as Nr,p as le,q as Hi,s as Ji,t as Yi,v as Gi,w as gr,x as Xi,y as Zi,z as Qi,A as el,C as tl,D as To,E as aa,F as Bo,G as ia,H as nl,J as rl,K as ol,P as la,M as Lo,L as Wo,N as Ko,O as $o,Q as zo,R as Uo,S as qo,_ as wr,T as sl,U as al,V as Vo}from"./input.js";import{app as ye}from"/scripts/app.js";import{api as Es}from"/scripts/api.js";function il(t){return t!=null&&typeof t=="object"&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE}function ca(t){var e;return il(t)&&(e=t.ownerDocument)!=null?e:document}function ll(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var cl=ll();function ul(t){const e=Object.assign({},t);for(let n in e)e[n]===void 0&&delete e[n];return e}function dl(t){const{theme:e}=$i(),n=zi();return y.useMemo(()=>Ui(e.direction,{...n,...t}),[t,e.direction,n])}var fl=Object.defineProperty,hl=(t,e,n)=>e in t?fl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ue=(t,e,n)=>(hl(t,typeof e!="symbol"?e+"":e,n),n);function Ds(t){return t.sort((e,n)=>{const r=e.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pl=t=>typeof t=="object"&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE;function Os(t,e,n){let r=t+1;return n&&r>=e&&(r=0),r}function Ss(t,e,n){let r=t-1;return n&&r<0&&(r=e),r}var Jr=typeof window<"u"?y.useLayoutEffect:y.useEffect,Qn=t=>t,ml=class{constructor(){ue(this,"descendants",new Map),ue(this,"register",t=>{if(t!=null)return pl(t)?this.registerNode(t):e=>{this.registerNode(e,t)}}),ue(this,"unregister",t=>{this.descendants.delete(t);const e=Ds(Array.from(this.descendants.keys()));this.assignIndex(e)}),ue(this,"destroy",()=>{this.descendants.clear()}),ue(this,"assignIndex",t=>{this.descendants.forEach(e=>{const n=t.indexOf(e.node);e.index=n,e.node.dataset.index=e.index.toString()})}),ue(this,"count",()=>this.descendants.size),ue(this,"enabledCount",()=>this.enabledValues().length),ue(this,"values",()=>Array.from(this.descendants.values()).sort((e,n)=>e.index-n.index)),ue(this,"enabledValues",()=>this.values().filter(t=>!t.disabled)),ue(this,"item",t=>{if(this.count()!==0)return this.values()[t]}),ue(this,"enabledItem",t=>{if(this.enabledCount()!==0)return this.enabledValues()[t]}),ue(this,"first",()=>this.item(0)),ue(this,"firstEnabled",()=>this.enabledItem(0)),ue(this,"last",()=>this.item(this.descendants.size-1)),ue(this,"lastEnabled",()=>{const t=this.enabledValues().length-1;return this.enabledItem(t)}),ue(this,"indexOf",t=>{var e,n;return t&&(n=(e=this.descendants.get(t))==null?void 0:e.index)!=null?n:-1}),ue(this,"enabledIndexOf",t=>t==null?-1:this.enabledValues().findIndex(e=>e.node.isSameNode(t))),ue(this,"next",(t,e=!0)=>{const n=Os(t,this.count(),e);return this.item(n)}),ue(this,"nextEnabled",(t,e=!0)=>{const n=this.item(t);if(!n)return;const r=this.enabledIndexOf(n.node),o=Os(r,this.enabledCount(),e);return this.enabledItem(o)}),ue(this,"prev",(t,e=!0)=>{const n=Ss(t,this.count()-1,e);return this.item(n)}),ue(this,"prevEnabled",(t,e=!0)=>{const n=this.item(t);if(!n)return;const r=this.enabledIndexOf(n.node),o=Ss(r,this.enabledCount()-1,e);return this.enabledItem(o)}),ue(this,"registerNode",(t,e)=>{if(!t||this.descendants.has(t))return;const n=Array.from(this.descendants.keys()).concat(t),r=Ds(n);e!=null&&e.disabled&&(e.disabled=!!e.disabled);const o={node:t,index:-1,...e};this.descendants.set(t,o),this.assignIndex(r)})}};function vl(){const t=y.useRef(new ml);return Jr(()=>()=>t.current.destroy()),t.current}var[yl,ua]=Ke({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function gl(t){const e=ua(),[n,r]=y.useState(-1),o=y.useRef(null);Jr(()=>()=>{o.current&&e.unregister(o.current)},[]),Jr(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Qn(t?e.register(t):e.register);return{descendants:e,index:n,enabledIndex:e.enabledIndexOf(o.current),register:xe(s,o)}}function da(){return[Qn(yl),()=>Qn(ua()),()=>vl(),o=>gl(o)]}function fa(t){const{value:e,defaultValue:n,onChange:r,shouldUpdate:o=(f,p)=>f!==p}=t,s=vt(r),a=vt(o),[i,l]=y.useState(n),u=e!==void 0,c=u?e:i,d=vt(f=>{const b=typeof f=="function"?f(c):f;a(c,b)&&(u||l(b),s(b))},[u,s,c,a]);return[c,d]}function Ho(t){return y.Children.toArray(t).filter(e=>y.isValidElement(e))}var hn=G((t,e)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=t,i=n||r,l=y.isValidElement(i)?y.cloneElement(i,{"aria-hidden":!0,focusable:!1}):null;return v.jsx(Ne,{padding:"0",borderRadius:o?"full":void 0,ref:e,"aria-label":s,...a,children:l})});hn.displayName="IconButton";var[wl,ha]=qi("Card"),bl=G(function(e,n){const{className:r,...o}=e,s=ha();return v.jsx(V.div,{ref:n,className:oe("chakra-card__body",r),__css:s.body,...o})}),xl=G(function(e,n){const{className:r,...o}=e,s=ha();return v.jsx(V.div,{ref:n,className:oe("chakra-card__header",r),__css:s.header,...o})}),_l=G(function(e,n){const{className:r,children:o,direction:s="column",justify:a,align:i,...l}=$e(e),u=Ot("Card",e);return v.jsx(V.div,{ref:n,className:oe("chakra-card",r),__css:{display:"flex",flexDirection:s,justifyContent:a,alignItems:i,position:"relative",minWidth:0,wordWrap:"break-word",...u.container},...l,children:v.jsx(wl,{value:u,children:o})})}),[kl,pa]=Ke({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[Cl,Yt]=Ke({strict:!1,name:"FormControlContext"});function El(t){const{id:e,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=t,i=y.useId(),l=e||`field-${i}`,u=`${l}-label`,c=`${l}-feedback`,d=`${l}-helptext`,[f,p]=y.useState(!1),[b,h]=y.useState(!1),[w,g]=y.useState(!1),m=y.useCallback((x={},O=null)=>({id:d,...x,ref:xe(O,D=>{D&&h(!0)})}),[d]),_=y.useCallback((x={},O=null)=>({...x,ref:O,"data-focus":ze(w),"data-disabled":ze(o),"data-invalid":ze(r),"data-readonly":ze(s),id:x.id!==void 0?x.id:u,htmlFor:x.htmlFor!==void 0?x.htmlFor:l}),[l,o,w,r,s,u]),k=y.useCallback((x={},O=null)=>({id:c,...x,ref:xe(O,D=>{D&&p(!0)}),"aria-live":"polite"}),[c]),E=y.useCallback((x={},O=null)=>({...x,...a,ref:O,role:"group","data-focus":ze(w),"data-disabled":ze(o),"data-invalid":ze(r),"data-readonly":ze(s)}),[a,o,w,r,s]),C=y.useCallback((x={},O=null)=>({...x,ref:O,role:"presentation","aria-hidden":!0,children:x.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!w,onFocus:()=>g(!0),onBlur:()=>g(!1),hasFeedbackText:f,setHasFeedbackText:p,hasHelpText:b,setHasHelpText:h,id:l,labelId:u,feedbackId:c,helpTextId:d,htmlProps:a,getHelpTextProps:m,getErrorMessageProps:k,getRootProps:E,getLabelProps:_,getRequiredIndicatorProps:C}}var br=G(function(e,n){const r=Ot("Form",e),o=$e(e),{getRootProps:s,htmlProps:a,...i}=El(o),l=oe("chakra-form-control",e.className);return v.jsx(Cl,{value:i,children:v.jsx(kl,{value:r,children:v.jsx(V.div,{...s({},n),className:l,__css:r.container})})})});br.displayName="FormControl";var Dl=G(function(e,n){const r=Yt(),o=pa(),s=oe("chakra-form__helper-text",e.className);return v.jsx(V.div,{...r==null?void 0:r.getHelpTextProps(e,n),__css:o.helperText,className:s})});Dl.displayName="FormHelperText";var[Ol,Sl]=Ke({name:"FormErrorStylesContext",errorMessage:`useFormErrorStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),xr=G((t,e)=>{const n=Ot("FormError",t),r=$e(t),o=Yt();return o!=null&&o.isInvalid?v.jsx(Ol,{value:n,children:v.jsx(V.div,{...o==null?void 0:o.getErrorMessageProps(r,e),className:oe("chakra-form__error-message",t.className),__css:{display:"flex",alignItems:"center",...n.text}})}):null});xr.displayName="FormErrorMessage";var Il=G((t,e)=>{const n=Sl(),r=Yt();if(!(r!=null&&r.isInvalid))return null;const o=oe("chakra-form__error-icon",t.className);return v.jsx(Vi,{ref:e,"aria-hidden":!0,...t,__css:n.icon,className:o,children:v.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})});Il.displayName="FormErrorIcon";var _r=G(function(e,n){var r;const o=yr("FormLabel",e),s=$e(e),{className:a,children:i,requiredIndicator:l=v.jsx(ma,{}),optionalIndicator:u=null,...c}=s,d=Yt(),f=(r=d==null?void 0:d.getLabelProps(c,n))!=null?r:{ref:n,...c};return v.jsxs(V.label,{...f,className:oe("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[i,d!=null&&d.isRequired?l:u]})});_r.displayName="FormLabel";var ma=G(function(e,n){const r=Yt(),o=pa();if(!(r!=null&&r.isRequired))return null;const s=oe("chakra-form__required-indicator",e.className);return v.jsx(V.span,{...r==null?void 0:r.getRequiredIndicatorProps(e,n),__css:o.requiredIndicator,className:s})});ma.displayName="RequiredIndicator";function Pl(t){const{isDisabled:e,isInvalid:n,isReadOnly:r,isRequired:o,...s}=jl(t);return{...s,disabled:e,readOnly:r,required:o,"aria-invalid":Nr(n),"aria-required":Nr(o),"aria-readonly":Nr(r)}}function jl(t){var e,n,r;const o=Yt(),{id:s,disabled:a,readOnly:i,required:l,isRequired:u,isInvalid:c,isReadOnly:d,isDisabled:f,onFocus:p,onBlur:b,...h}=t,w=t["aria-describedby"]?[t["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&w.push(o.feedbackId),o!=null&&o.hasHelpText&&w.push(o.helpTextId),{...h,"aria-describedby":w.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(e=a??f)!=null?e:o==null?void 0:o.isDisabled,isReadOnly:(n=i??d)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=l??u)!=null?r:o==null?void 0:o.isRequired,isInvalid:c??(o==null?void 0:o.isInvalid),onFocus:le(o==null?void 0:o.onFocus,p),onBlur:le(o==null?void 0:o.onBlur,b)}}function Lt(t,e,n,r){const o=vt(n);return y.useEffect(()=>{const s=typeof t=="function"?t():t??document;if(!(!n||!s))return s.addEventListener(e,o,r),()=>{s.removeEventListener(e,o,r)}},[e,t,r,o,n]),()=>{const s=typeof t=="function"?t():t??document;s==null||s.removeEventListener(e,o,r)}}function Nl(t){return"current"in t}var va=()=>typeof window<"u";function Al(){var t;const e=navigator.userAgentData;return(t=e==null?void 0:e.platform)!=null?t:navigator.platform}var Fl=t=>va()&&t.test(navigator.vendor),Ml=t=>va()&&t.test(Al()),Rl=()=>Ml(/mac|iphone|ipad|ipod/i),Tl=()=>Rl()&&Fl(/apple/i);function Bl(t){const{ref:e,elements:n,enabled:r}=t,o=()=>{var s,a;return(a=(s=e.current)==null?void 0:s.ownerDocument)!=null?a:document};Lt(o,"pointerdown",s=>{if(!Tl()||!r)return;const a=s.target,l=(n??[e]).some(u=>{const c=Nl(u)?u.current:u;return(c==null?void 0:c.contains(a))||c===a});o().activeElement!==a&&l&&(s.preventDefault(),a.focus())})}var ya={exports:{}},Ll="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Wl=Ll,Kl=Wl;function ga(){}function wa(){}wa.resetWarningCache=ga;var $l=function(){function t(r,o,s,a,i,l){if(l!==Kl){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:wa,resetWarningCache:ga};return n.PropTypes=n,n};ya.exports=$l();var zl=ya.exports;const dt=Hi(zl);function Ul(t){const e=t.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=e.getComputedStyle(t);return/auto|scroll|overlay|hidden/.test(n+o+r)}function ql(t){return t.localName==="html"?t:t.assignedSlot||t.parentElement||t.ownerDocument.documentElement}function ba(t){return["html","body","#document"].includes(t.localName)?t.ownerDocument.body:Ji(t)&&Ul(t)?t:ba(ql(t))}var Vl=cl?y.useLayoutEffect:y.useEffect;function Yr(t,e=[]){const n=y.useRef(t);return Vl(()=>{n.current=t}),y.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},e)}function Hl(t){const{ref:e,handler:n,enabled:r=!0}=t,o=Yr(n),a=y.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;y.useEffect(()=>{if(!r)return;const i=d=>{Ar(d,e)&&(a.isPointerDown=!0)},l=d=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&Ar(d,e)&&(a.isPointerDown=!1,o(d))},u=d=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&Ar(d,e)&&(a.isPointerDown=!1,o(d))},c=ca(e.current);return c.addEventListener("mousedown",i,!0),c.addEventListener("mouseup",l,!0),c.addEventListener("touchstart",i,!0),c.addEventListener("touchend",u,!0),()=>{c.removeEventListener("mousedown",i,!0),c.removeEventListener("mouseup",l,!0),c.removeEventListener("touchstart",i,!0),c.removeEventListener("touchend",u,!0)}},[n,e,o,a,r])}function Ar(t,e){var n;const r=t.target;return r&&!ca(r).contains(r)?!1:!((n=e.current)!=null&&n.contains(r))}function Jl(t,e){const n=y.useId();return y.useMemo(()=>t||[e,n].filter(Boolean).join("-"),[t,e,n])}function Yl(t,e){const n=t!==void 0;return[n,n&&typeof t<"u"?t:e]}function Gl(t={}){const{onClose:e,onOpen:n,isOpen:r,id:o}=t,s=Yr(n),a=Yr(e),[i,l]=y.useState(t.defaultIsOpen||!1),[u,c]=Yl(r,i),d=Jl(o,"disclosure"),f=y.useCallback(()=>{u||l(!1),a==null||a()},[u,a]),p=y.useCallback(()=>{u||l(!0),s==null||s()},[u,s]),b=y.useCallback(()=>{(c?f:p)()},[c,p,f]);return{isOpen:!!c,onOpen:p,onClose:f,onToggle:b,isControlled:u,getButtonProps:(h={})=>({...h,"aria-expanded":c,"aria-controls":d,onClick:Yi(h.onClick,b)}),getDisclosureProps:(h={})=>({...h,hidden:!c,id:d})}}var kn=G(function(e,n){const{htmlSize:r,...o}=e,s=Ot("Input",o),a=$e(o),i=Pl(a),l=oe("chakra-input",e.className);return v.jsx(V.input,{size:r,...i,__css:s.field,ref:n,className:l})});kn.displayName="Input";kn.id="Input";var Xl=Object.freeze(["base","sm","md","lg","xl","2xl"]);function Zl(t,e){return Array.isArray(t)?t.map(n=>n===null?null:e(n)):Gi(t)?Object.keys(t).reduce((n,r)=>(n[r]=e(t[r]),n),{}):t!=null?e(t):null}function gh(t,e=Xl){const n={};return t.forEach((r,o)=>{const s=e[o];r!=null&&(n[s]=r)}),n}var yt=G(function(e,n){const r=yr("Text",e),{className:o,align:s,decoration:a,casing:i,...l}=$e(e),u=ul({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return v.jsx(V.p,{ref:n,className:oe("chakra-text",e.className),...u,...l,__css:r})});yt.displayName="Text";var Gr=t=>v.jsx(V.div,{className:"chakra-stack__divider",...t,__css:{...t.__css,borderWidth:0,alignSelf:"stretch",borderColor:"inherit",width:"auto",height:"auto"}});Gr.displayName="StackDivider";var xa=t=>v.jsx(V.div,{className:"chakra-stack__item",...t,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...t.__css}});xa.displayName="StackItem";function Ql(t){const{spacing:e,direction:n}=t,r={column:{my:e,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:e,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:e,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:e,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":Zl(n,o=>r[o])}}var on=G((t,e)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:i,children:l,divider:u,className:c,shouldWrapChildren:d,...f}=t,p=n?"row":r??"column",b=y.useMemo(()=>Ql({spacing:a,direction:p}),[a,p]),h=!!u,w=!d&&!h,g=y.useMemo(()=>{const _=Ho(l);return w?_:_.map((k,E)=>{const C=typeof k.key<"u"?k.key:E,x=E+1===_.length,D=d?v.jsx(xa,{children:k},C):k;if(!h)return D;const P=y.cloneElement(u,{__css:b}),N=x?null:P;return v.jsxs(y.Fragment,{children:[D,N]},C)})},[u,b,h,w,d,l]),m=oe("chakra-stack",c);return v.jsx(V.div,{ref:e,display:"flex",alignItems:o,justifyContent:s,flexDirection:p,flexWrap:i,gap:h?void 0:a,className:m,...f,children:g})});on.displayName="Stack";var Bt=G((t,e)=>v.jsx(on,{align:"center",...t,direction:"row",ref:e}));Bt.displayName="HStack";var _a=G(function(e,n){const r=yr("Heading",e),{className:o,...s}=$e(e);return v.jsx(V.h2,{ref:n,className:oe("chakra-heading",e.className),...s,__css:r})});_a.displayName="Heading";var at=V("div");at.displayName="Box";var ka=G(function(e,n){const{size:r,centerContent:o=!0,...s}=e,a=o?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return v.jsx(at,{ref:n,boxSize:r,__css:{...a,flexShrink:0,flexGrow:0},...s})});ka.displayName="Square";var ec=G(function(e,n){const{size:r,...o}=e;return v.jsx(ka,{size:r,ref:n,borderRadius:"9999px",...o})});ec.displayName="Circle";var Kn=G(function(e,n){const{direction:r,align:o,justify:s,wrap:a,basis:i,grow:l,shrink:u,...c}=e,d={display:"flex",flexDirection:r,alignItems:o,justifyContent:s,flexWrap:a,flexBasis:i,flexGrow:l,flexShrink:u};return v.jsx(V.div,{ref:n,__css:d,...c})});Kn.displayName="Flex";function tc(t){const{key:e}=t;return e.length===1||e.length>1&&/[^a-zA-Z0-9]/.test(e)}function nc(t={}){const{timeout:e=300,preventDefault:n=()=>!0}=t,[r,o]=y.useState([]),s=y.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},i=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},e)};y.useEffect(()=>a,[]);function l(u){return c=>{if(c.key==="Backspace"){const d=[...r];d.pop(),o(d);return}if(tc(c)){const d=r.concat(c.key);n(c)&&(c.preventDefault(),c.stopPropagation()),o(d),u(d.join("")),i()}}}return l}function rc(t,e,n,r){if(e==null)return r;if(!r)return t.find(a=>n(a).toLowerCase().startsWith(e.toLowerCase()));const o=t.filter(s=>n(s).toLowerCase().startsWith(e.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=t.indexOf(o[0]),t[s])}return r}function oc(){const t=y.useRef(new Map),e=t.current,n=y.useCallback((o,s,a,i)=>{t.current.set(a,{type:s,el:o,options:i}),o.addEventListener(s,a,i)},[]),r=y.useCallback((o,s,a,i)=>{o.removeEventListener(s,a,i),t.current.delete(a)},[]);return y.useEffect(()=>()=>{e.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,e]),{add:n,remove:r}}function Fr(t){const e=t.target,{tagName:n,isContentEditable:r}=e;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function Ca(t={}){const{ref:e,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:i,onClick:l,onKeyDown:u,onKeyUp:c,tabIndex:d,onMouseOver:f,onMouseLeave:p,...b}=t,[h,w]=y.useState(!0),[g,m]=y.useState(!1),_=oc(),k=I=>{I&&I.tagName!=="BUTTON"&&w(!1)},E=h?d:d||0,C=n&&!r,x=y.useCallback(I=>{if(n){I.stopPropagation(),I.preventDefault();return}I.currentTarget.focus(),l==null||l(I)},[n,l]),O=y.useCallback(I=>{g&&Fr(I)&&(I.preventDefault(),I.stopPropagation(),m(!1),_.remove(document,"keyup",O,!1))},[g,_]),D=y.useCallback(I=>{if(u==null||u(I),n||I.defaultPrevented||I.metaKey||!Fr(I.nativeEvent)||h)return;const H=o&&I.key==="Enter";s&&I.key===" "&&(I.preventDefault(),m(!0)),H&&(I.preventDefault(),I.currentTarget.click()),_.add(document,"keyup",O,!1)},[n,h,u,o,s,_,O]),P=y.useCallback(I=>{if(c==null||c(I),n||I.defaultPrevented||I.metaKey||!Fr(I.nativeEvent)||h)return;s&&I.key===" "&&(I.preventDefault(),m(!1),I.currentTarget.click())},[s,h,n,c]),N=y.useCallback(I=>{I.button===0&&(m(!1),_.remove(document,"mouseup",N,!1))},[_]),K=y.useCallback(I=>{if(I.button!==0)return;if(n){I.stopPropagation(),I.preventDefault();return}h||m(!0),I.currentTarget.focus({preventScroll:!0}),_.add(document,"mouseup",N,!1),a==null||a(I)},[n,h,a,_,N]),T=y.useCallback(I=>{I.button===0&&(h||m(!1),i==null||i(I))},[i,h]),L=y.useCallback(I=>{if(n){I.preventDefault();return}f==null||f(I)},[n,f]),Z=y.useCallback(I=>{g&&(I.preventDefault(),m(!1)),p==null||p(I)},[g,p]),$=xe(e,k);return h?{...b,ref:$,type:"button","aria-disabled":C?void 0:n,disabled:C,onClick:x,onMouseDown:a,onMouseUp:i,onKeyUp:c,onKeyDown:u,onMouseOver:f,onMouseLeave:p}:{...b,ref:$,role:"button","data-active":ze(g),"aria-disabled":n?"true":void 0,tabIndex:C?void 0:E,onClick:x,onMouseDown:K,onMouseUp:T,onKeyUp:P,onKeyDown:D,onMouseOver:L,onMouseLeave:Z}}function sc(t){const e=t.current;if(!e)return!1;const n=Qi(e);return!n||e.contains(n)?!1:!!el(n)}function Ea(t,e){const{shouldFocus:n,visible:r,focusRef:o}=e,s=n&&!r;gr(()=>{if(!s||sc(t))return;const a=(o==null?void 0:o.current)||t.current;let i;if(a)return i=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(i)}},[s,t,o])}var ac={preventScroll:!0,shouldFocus:!1};function ic(t,e=ac){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=e,a=lc(t)?t.current:t,i=o&&s,l=y.useRef(i),u=y.useRef(s);Xi(()=>{!u.current&&s&&(l.current=i),u.current=s},[s,i]);const c=y.useCallback(()=>{if(!(!s||!a||!l.current)&&(l.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var d;(d=n.current)==null||d.focus({preventScroll:r})});else{const d=Zi(a);d.length>0&&requestAnimationFrame(()=>{d[0].focus({preventScroll:r})})}},[s,r,a,n]);gr(()=>{c()},[c]),Lt(a,"transitionend",c)}function lc(t){return"current"in t}var At=(t,e)=>({var:t,varRef:e?`var(${t}, ${e})`:`var(${t})`}),fe={arrowShadowColor:At("--popper-arrow-shadow-color"),arrowSize:At("--popper-arrow-size","8px"),arrowSizeHalf:At("--popper-arrow-size-half"),arrowBg:At("--popper-arrow-bg"),transformOrigin:At("--popper-transform-origin"),arrowOffset:At("--popper-arrow-offset")};function cc(t){if(t.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(t.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(t.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(t.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var uc={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},dc=t=>uc[t],Is={scroll:!0,resize:!0};function fc(t){let e;return typeof t=="object"?e={enabled:!0,options:{...Is,...t}}:e={enabled:t,options:Is},e}var hc={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:t})=>{t.styles.popper.width=`${t.rects.reference.width}px`},effect:({state:t})=>()=>{const e=t.elements.reference;t.elements.popper.style.width=`${e.offsetWidth}px`}},pc={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:t})=>{Ps(t)},effect:({state:t})=>()=>{Ps(t)}},Ps=t=>{t.elements.popper.style.setProperty(fe.transformOrigin.var,dc(t.placement))},mc={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:t})=>{vc(t)}},vc=t=>{var e;if(!t.placement)return;const n=yc(t.placement);if((e=t.elements)!=null&&e.arrow&&n){Object.assign(t.elements.arrow.style,{[n.property]:n.value,width:fe.arrowSize.varRef,height:fe.arrowSize.varRef,zIndex:-1});const r={[fe.arrowSizeHalf.var]:`calc(${fe.arrowSize.varRef} / 2 - 1px)`,[fe.arrowOffset.var]:`calc(${fe.arrowSizeHalf.varRef} * -1)`};for(const o in r)t.elements.arrow.style.setProperty(o,r[o])}},yc=t=>{if(t.startsWith("top"))return{property:"bottom",value:fe.arrowOffset.varRef};if(t.startsWith("bottom"))return{property:"top",value:fe.arrowOffset.varRef};if(t.startsWith("left"))return{property:"right",value:fe.arrowOffset.varRef};if(t.startsWith("right"))return{property:"left",value:fe.arrowOffset.varRef}},gc={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:t})=>{js(t)},effect:({state:t})=>()=>{js(t)}},js=t=>{if(!t.elements.arrow)return;const e=t.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!e)return;const n=cc(t.placement);n&&e.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(e.style,{transform:"rotate(45deg)",background:fe.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},wc={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},bc={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function xc(t,e="ltr"){var n,r;const o=((n=wc[t])==null?void 0:n[e])||t;return e==="ltr"?o:(r=bc[t])!=null?r:o}var Se="top",Re="bottom",Te="right",Ie="left",Jo="auto",Cn=[Se,Re,Te,Ie],zt="start",pn="end",_c="clippingParents",Da="viewport",Qt="popper",kc="reference",Ns=Cn.reduce(function(t,e){return t.concat([e+"-"+zt,e+"-"+pn])},[]),Oa=[].concat(Cn,[Jo]).reduce(function(t,e){return t.concat([e,e+"-"+zt,e+"-"+pn])},[]),Cc="beforeRead",Ec="read",Dc="afterRead",Oc="beforeMain",Sc="main",Ic="afterMain",Pc="beforeWrite",jc="write",Nc="afterWrite",Ac=[Cc,Ec,Dc,Oc,Sc,Ic,Pc,jc,Nc];function He(t){return t?(t.nodeName||"").toLowerCase():null}function Ae(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ct(t){var e=Ae(t).Element;return t instanceof e||t instanceof Element}function Me(t){var e=Ae(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Yo(t){if(typeof ShadowRoot>"u")return!1;var e=Ae(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Fc(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},o=e.attributes[n]||{},s=e.elements[n];!Me(s)||!He(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var i=o[a];i===!1?s.removeAttribute(a):s.setAttribute(a,i===!0?"":i)}))})}function Mc(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var o=e.elements[r],s=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),i=a.reduce(function(l,u){return l[u]="",l},{});!Me(o)||!He(o)||(Object.assign(o.style,i),Object.keys(s).forEach(function(l){o.removeAttribute(l)}))})}}const Rc={name:"applyStyles",enabled:!0,phase:"write",fn:Fc,effect:Mc,requires:["computeStyles"]};function qe(t){return t.split("-")[0]}var gt=Math.max,er=Math.min,Ut=Math.round;function Xr(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Sa(){return!/^((?!chrome|android).)*safari/i.test(Xr())}function qt(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var r=t.getBoundingClientRect(),o=1,s=1;e&&Me(t)&&(o=t.offsetWidth>0&&Ut(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&Ut(r.height)/t.offsetHeight||1);var a=Ct(t)?Ae(t):window,i=a.visualViewport,l=!Sa()&&n,u=(r.left+(l&&i?i.offsetLeft:0))/o,c=(r.top+(l&&i?i.offsetTop:0))/s,d=r.width/o,f=r.height/s;return{width:d,height:f,top:c,right:u+d,bottom:c+f,left:u,x:u,y:c}}function Go(t){var e=qt(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function Ia(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Yo(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function tt(t){return Ae(t).getComputedStyle(t)}function Tc(t){return["table","td","th"].indexOf(He(t))>=0}function ut(t){return((Ct(t)?t.ownerDocument:t.document)||window.document).documentElement}function kr(t){return He(t)==="html"?t:t.assignedSlot||t.parentNode||(Yo(t)?t.host:null)||ut(t)}function As(t){return!Me(t)||tt(t).position==="fixed"?null:t.offsetParent}function Bc(t){var e=/firefox/i.test(Xr()),n=/Trident/i.test(Xr());if(n&&Me(t)){var r=tt(t);if(r.position==="fixed")return null}var o=kr(t);for(Yo(o)&&(o=o.host);Me(o)&&["html","body"].indexOf(He(o))<0;){var s=tt(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function En(t){for(var e=Ae(t),n=As(t);n&&Tc(n)&&tt(n).position==="static";)n=As(n);return n&&(He(n)==="html"||He(n)==="body"&&tt(n).position==="static")?e:n||Bc(t)||e}function Xo(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function sn(t,e,n){return gt(t,er(e,n))}function Lc(t,e,n){var r=sn(t,e,n);return r>n?n:r}function Pa(){return{top:0,right:0,bottom:0,left:0}}function ja(t){return Object.assign({},Pa(),t)}function Na(t,e){return e.reduce(function(n,r){return n[r]=t,n},{})}var Wc=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,ja(typeof e!="number"?e:Na(e,Cn))};function Kc(t){var e,n=t.state,r=t.name,o=t.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,i=qe(n.placement),l=Xo(i),u=[Ie,Te].indexOf(i)>=0,c=u?"height":"width";if(!(!s||!a)){var d=Wc(o.padding,n),f=Go(s),p=l==="y"?Se:Ie,b=l==="y"?Re:Te,h=n.rects.reference[c]+n.rects.reference[l]-a[l]-n.rects.popper[c],w=a[l]-n.rects.reference[l],g=En(s),m=g?l==="y"?g.clientHeight||0:g.clientWidth||0:0,_=h/2-w/2,k=d[p],E=m-f[c]-d[b],C=m/2-f[c]/2+_,x=sn(k,C,E),O=l;n.modifiersData[r]=(e={},e[O]=x,e.centerOffset=x-C,e)}}function $c(t){var e=t.state,n=t.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||Ia(e.elements.popper,o)&&(e.elements.arrow=o))}const zc={name:"arrow",enabled:!0,phase:"main",fn:Kc,effect:$c,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Vt(t){return t.split("-")[1]}var Uc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qc(t,e){var n=t.x,r=t.y,o=e.devicePixelRatio||1;return{x:Ut(n*o)/o||0,y:Ut(r*o)/o||0}}function Fs(t){var e,n=t.popper,r=t.popperRect,o=t.placement,s=t.variation,a=t.offsets,i=t.position,l=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,d=t.isFixed,f=a.x,p=f===void 0?0:f,b=a.y,h=b===void 0?0:b,w=typeof c=="function"?c({x:p,y:h}):{x:p,y:h};p=w.x,h=w.y;var g=a.hasOwnProperty("x"),m=a.hasOwnProperty("y"),_=Ie,k=Se,E=window;if(u){var C=En(n),x="clientHeight",O="clientWidth";if(C===Ae(n)&&(C=ut(n),tt(C).position!=="static"&&i==="absolute"&&(x="scrollHeight",O="scrollWidth")),C=C,o===Se||(o===Ie||o===Te)&&s===pn){k=Re;var D=d&&C===E&&E.visualViewport?E.visualViewport.height:C[x];h-=D-r.height,h*=l?1:-1}if(o===Ie||(o===Se||o===Re)&&s===pn){_=Te;var P=d&&C===E&&E.visualViewport?E.visualViewport.width:C[O];p-=P-r.width,p*=l?1:-1}}var N=Object.assign({position:i},u&&Uc),K=c===!0?qc({x:p,y:h},Ae(n)):{x:p,y:h};if(p=K.x,h=K.y,l){var T;return Object.assign({},N,(T={},T[k]=m?"0":"",T[_]=g?"0":"",T.transform=(E.devicePixelRatio||1)<=1?"translate("+p+"px, "+h+"px)":"translate3d("+p+"px, "+h+"px, 0)",T))}return Object.assign({},N,(e={},e[k]=m?h+"px":"",e[_]=g?p+"px":"",e.transform="",e))}function Vc(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,i=n.roundOffsets,l=i===void 0?!0:i,u={placement:qe(e.placement),variation:Vt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Fs(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Fs(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Hc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Vc,data:{}};var jn={passive:!0};function Jc(t){var e=t.state,n=t.instance,r=t.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,i=a===void 0?!0:a,l=Ae(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&u.forEach(function(c){c.addEventListener("scroll",n.update,jn)}),i&&l.addEventListener("resize",n.update,jn),function(){s&&u.forEach(function(c){c.removeEventListener("scroll",n.update,jn)}),i&&l.removeEventListener("resize",n.update,jn)}}const Yc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Jc,data:{}};var Gc={left:"right",right:"left",bottom:"top",top:"bottom"};function $n(t){return t.replace(/left|right|bottom|top/g,function(e){return Gc[e]})}var Xc={start:"end",end:"start"};function Ms(t){return t.replace(/start|end/g,function(e){return Xc[e]})}function Zo(t){var e=Ae(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Qo(t){return qt(ut(t)).left+Zo(t).scrollLeft}function Zc(t,e){var n=Ae(t),r=ut(t),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(o){s=o.width,a=o.height;var u=Sa();(u||!u&&e==="fixed")&&(i=o.offsetLeft,l=o.offsetTop)}return{width:s,height:a,x:i+Qo(t),y:l}}function Qc(t){var e,n=ut(t),r=Zo(t),o=(e=t.ownerDocument)==null?void 0:e.body,s=gt(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=gt(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),i=-r.scrollLeft+Qo(t),l=-r.scrollTop;return tt(o||n).direction==="rtl"&&(i+=gt(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:i,y:l}}function es(t){var e=tt(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function Aa(t){return["html","body","#document"].indexOf(He(t))>=0?t.ownerDocument.body:Me(t)&&es(t)?t:Aa(kr(t))}function an(t,e){var n;e===void 0&&(e=[]);var r=Aa(t),o=r===((n=t.ownerDocument)==null?void 0:n.body),s=Ae(r),a=o?[s].concat(s.visualViewport||[],es(r)?r:[]):r,i=e.concat(a);return o?i:i.concat(an(kr(a)))}function Zr(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function eu(t,e){var n=qt(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function Rs(t,e,n){return e===Da?Zr(Zc(t,n)):Ct(e)?eu(e,n):Zr(Qc(ut(t)))}function tu(t){var e=an(kr(t)),n=["absolute","fixed"].indexOf(tt(t).position)>=0,r=n&&Me(t)?En(t):t;return Ct(r)?e.filter(function(o){return Ct(o)&&Ia(o,r)&&He(o)!=="body"}):[]}function nu(t,e,n,r){var o=e==="clippingParents"?tu(t):[].concat(e),s=[].concat(o,[n]),a=s[0],i=s.reduce(function(l,u){var c=Rs(t,u,r);return l.top=gt(c.top,l.top),l.right=er(c.right,l.right),l.bottom=er(c.bottom,l.bottom),l.left=gt(c.left,l.left),l},Rs(t,a,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Fa(t){var e=t.reference,n=t.element,r=t.placement,o=r?qe(r):null,s=r?Vt(r):null,a=e.x+e.width/2-n.width/2,i=e.y+e.height/2-n.height/2,l;switch(o){case Se:l={x:a,y:e.y-n.height};break;case Re:l={x:a,y:e.y+e.height};break;case Te:l={x:e.x+e.width,y:i};break;case Ie:l={x:e.x-n.width,y:i};break;default:l={x:e.x,y:e.y}}var u=o?Xo(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(s){case zt:l[u]=l[u]-(e[c]/2-n[c]/2);break;case pn:l[u]=l[u]+(e[c]/2-n[c]/2);break}}return l}function mn(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=r===void 0?t.placement:r,s=n.strategy,a=s===void 0?t.strategy:s,i=n.boundary,l=i===void 0?_c:i,u=n.rootBoundary,c=u===void 0?Da:u,d=n.elementContext,f=d===void 0?Qt:d,p=n.altBoundary,b=p===void 0?!1:p,h=n.padding,w=h===void 0?0:h,g=ja(typeof w!="number"?w:Na(w,Cn)),m=f===Qt?kc:Qt,_=t.rects.popper,k=t.elements[b?m:f],E=nu(Ct(k)?k:k.contextElement||ut(t.elements.popper),l,c,a),C=qt(t.elements.reference),x=Fa({reference:C,element:_,strategy:"absolute",placement:o}),O=Zr(Object.assign({},_,x)),D=f===Qt?O:C,P={top:E.top-D.top+g.top,bottom:D.bottom-E.bottom+g.bottom,left:E.left-D.left+g.left,right:D.right-E.right+g.right},N=t.modifiersData.offset;if(f===Qt&&N){var K=N[o];Object.keys(P).forEach(function(T){var L=[Te,Re].indexOf(T)>=0?1:-1,Z=[Se,Re].indexOf(T)>=0?"y":"x";P[T]+=K[Z]*L})}return P}function ru(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?Oa:l,c=Vt(r),d=c?i?Ns:Ns.filter(function(b){return Vt(b)===c}):Cn,f=d.filter(function(b){return u.indexOf(b)>=0});f.length===0&&(f=d);var p=f.reduce(function(b,h){return b[h]=mn(t,{placement:h,boundary:o,rootBoundary:s,padding:a})[qe(h)],b},{});return Object.keys(p).sort(function(b,h){return p[b]-p[h]})}function ou(t){if(qe(t)===Jo)return[];var e=$n(t);return[Ms(t),e,Ms(e)]}function su(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,b=p===void 0?!0:p,h=n.allowedAutoPlacements,w=e.options.placement,g=qe(w),m=g===w,_=l||(m||!b?[$n(w)]:ou(w)),k=[w].concat(_).reduce(function(W,z){return W.concat(qe(z)===Jo?ru(e,{placement:z,boundary:c,rootBoundary:d,padding:u,flipVariations:b,allowedAutoPlacements:h}):z)},[]),E=e.rects.reference,C=e.rects.popper,x=new Map,O=!0,D=k[0],P=0;P=0,Z=L?"width":"height",$=mn(e,{placement:N,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),I=L?T?Te:Ie:T?Re:Se;E[Z]>C[Z]&&(I=$n(I));var H=$n(I),J=[];if(s&&J.push($[K]<=0),i&&J.push($[I]<=0,$[H]<=0),J.every(function(W){return W})){D=N,O=!1;break}x.set(N,J)}if(O)for(var de=b?3:1,j=function(z){var q=k.find(function(te){var re=x.get(te);if(re)return re.slice(0,z).every(function(ie){return ie})});if(q)return D=q,"break"},R=de;R>0;R--){var F=j(R);if(F==="break")break}e.placement!==D&&(e.modifiersData[r]._skip=!0,e.placement=D,e.reset=!0)}}const au={name:"flip",enabled:!0,phase:"main",fn:su,requiresIfExists:["offset"],data:{_skip:!1}};function Ts(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Bs(t){return[Se,Te,Re,Ie].some(function(e){return t[e]>=0})}function iu(t){var e=t.state,n=t.name,r=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,a=mn(e,{elementContext:"reference"}),i=mn(e,{altBoundary:!0}),l=Ts(a,r),u=Ts(i,o,s),c=Bs(l),d=Bs(u);e.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}const lu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:iu};function cu(t,e,n){var r=qe(t),o=[Ie,Se].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,a=s[0],i=s[1];return a=a||0,i=(i||0)*o,[Ie,Te].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function uu(t){var e=t.state,n=t.options,r=t.name,o=n.offset,s=o===void 0?[0,0]:o,a=Oa.reduce(function(c,d){return c[d]=cu(d,e.rects,s),c},{}),i=a[e.placement],l=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=a}const du={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:uu};function fu(t){var e=t.state,n=t.name;e.modifiersData[n]=Fa({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const hu={name:"popperOffsets",enabled:!0,phase:"read",fn:fu,data:{}};function pu(t){return t==="x"?"y":"x"}function mu(t){var e=t.state,n=t.options,r=t.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,b=n.tetherOffset,h=b===void 0?0:b,w=mn(e,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),g=qe(e.placement),m=Vt(e.placement),_=!m,k=Xo(g),E=pu(k),C=e.modifiersData.popperOffsets,x=e.rects.reference,O=e.rects.popper,D=typeof h=="function"?h(Object.assign({},e.rects,{placement:e.placement})):h,P=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),N=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,K={x:0,y:0};if(C){if(s){var T,L=k==="y"?Se:Ie,Z=k==="y"?Re:Te,$=k==="y"?"height":"width",I=C[k],H=I+w[L],J=I-w[Z],de=p?-O[$]/2:0,j=m===zt?x[$]:O[$],R=m===zt?-O[$]:-x[$],F=e.elements.arrow,W=p&&F?Go(F):{width:0,height:0},z=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Pa(),q=z[L],te=z[Z],re=sn(0,x[$],W[$]),ie=_?x[$]/2-de-re-q-P.mainAxis:j-re-q-P.mainAxis,we=_?-x[$]/2+de+re+te+P.mainAxis:R+re+te+P.mainAxis,Ce=e.elements.arrow&&En(e.elements.arrow),Q=Ce?k==="y"?Ce.clientTop||0:Ce.clientLeft||0:0,pe=(T=N==null?void 0:N[k])!=null?T:0,Pt=I+ie-pe-Q,Y=I+we-pe,Oe=sn(p?er(H,Pt):H,I,p?gt(J,Y):J);C[k]=Oe,K[k]=Oe-I}if(i){var me,Be=k==="x"?Se:Ie,jt=k==="x"?Re:Te,Le=C[E],Nt=E==="y"?"height":"width",Pr=Le+w[Be],bs=Le-w[jt],jr=[Se,Ie].indexOf(g)!==-1,xs=(me=N==null?void 0:N[E])!=null?me:0,_s=jr?Pr:Le-x[Nt]-O[Nt]-xs+P.altAxis,ks=jr?Le+x[Nt]+O[Nt]-xs-P.altAxis:bs,Cs=p&&jr?Lc(_s,Le,ks):sn(p?_s:Pr,Le,p?ks:bs);C[E]=Cs,K[E]=Cs-Le}e.modifiersData[r]=K}}const vu={name:"preventOverflow",enabled:!0,phase:"main",fn:mu,requiresIfExists:["offset"]};function yu(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function gu(t){return t===Ae(t)||!Me(t)?Zo(t):yu(t)}function wu(t){var e=t.getBoundingClientRect(),n=Ut(e.width)/t.offsetWidth||1,r=Ut(e.height)/t.offsetHeight||1;return n!==1||r!==1}function bu(t,e,n){n===void 0&&(n=!1);var r=Me(e),o=Me(e)&&wu(e),s=ut(e),a=qt(t,o,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((He(e)!=="body"||es(s))&&(i=gu(e)),Me(e)?(l=qt(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=Qo(s))),{x:a.left+i.scrollLeft-l.x,y:a.top+i.scrollTop-l.y,width:a.width,height:a.height}}function xu(t){var e=new Map,n=new Set,r=[];t.forEach(function(s){e.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(i){if(!n.has(i)){var l=e.get(i);l&&o(l)}}),r.push(s)}return t.forEach(function(s){n.has(s.name)||o(s)}),r}function _u(t){var e=xu(t);return Ac.reduce(function(n,r){return n.concat(e.filter(function(o){return o.phase===r}))},[])}function ku(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function Cu(t){var e=t.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var Ls={placement:"bottom",modifiers:[],strategy:"absolute"};function Ws(){for(var t=arguments.length,e=new Array(t),n=0;n{}),_=y.useCallback(()=>{var P;!e||!b.current||!h.current||((P=m.current)==null||P.call(m),w.current=Ou(b.current,h.current,{placement:g,modifiers:[gc,mc,pc,{...hc,enabled:!!f},{name:"eventListeners",...fc(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:i??[0,l]}},{name:"flip",enabled:!!u,options:{padding:8}},{name:"preventOverflow",enabled:!!d,options:{boundary:c}},...n??[]],strategy:o}),w.current.forceUpdate(),m.current=w.current.destroy)},[g,e,n,f,a,s,i,l,u,d,c,o]);y.useEffect(()=>()=>{var P;!b.current&&!h.current&&((P=w.current)==null||P.destroy(),w.current=null)},[]);const k=y.useCallback(P=>{b.current=P,_()},[_]),E=y.useCallback((P={},N=null)=>({...P,ref:xe(k,N)}),[k]),C=y.useCallback(P=>{h.current=P,_()},[_]),x=y.useCallback((P={},N=null)=>({...P,ref:xe(C,N),style:{...P.style,position:o,minWidth:f?void 0:"max-content",inset:"0 auto auto 0"}}),[o,C,f]),O=y.useCallback((P={},N=null)=>{const{size:K,shadowColor:T,bg:L,style:Z,...$}=P;return{...$,ref:N,"data-popper-arrow":"",style:Su(P)}},[]),D=y.useCallback((P={},N=null)=>({...P,ref:N,"data-popper-arrow-inner":""}),[]);return{update(){var P;(P=w.current)==null||P.update()},forceUpdate(){var P;(P=w.current)==null||P.forceUpdate()},transformOrigin:fe.transformOrigin.varRef,referenceRef:k,popperRef:C,getPopperProps:x,getArrowProps:O,getArrowInnerProps:D,getReferenceProps:E}}function Su(t){const{size:e,shadowColor:n,bg:r,style:o}=t,s={...o,position:"absolute"};return e&&(s["--popper-arrow-size"]=e),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function ns(t={}){const{onClose:e,onOpen:n,isOpen:r,id:o}=t,s=vt(n),a=vt(e),[i,l]=y.useState(t.defaultIsOpen||!1),u=r!==void 0?r:i,c=r!==void 0,d=y.useId(),f=o??`disclosure-${d}`,p=y.useCallback(()=>{c||l(!1),a==null||a()},[c,a]),b=y.useCallback(()=>{c||l(!0),s==null||s()},[c,s]),h=y.useCallback(()=>{u?p():b()},[u,b,p]);function w(m={}){return{...m,"aria-expanded":u,"aria-controls":f,onClick(_){var k;(k=m.onClick)==null||k.call(m,_),h()}}}function g(m={}){return{...m,hidden:!u,id:f}}return{isOpen:u,onOpen:b,onClose:p,onToggle:h,isControlled:c,getButtonProps:w,getDisclosureProps:g}}function Iu(t){const{ref:e,handler:n,enabled:r=!0}=t,o=vt(n),a=y.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;y.useEffect(()=>{if(!r)return;const i=d=>{Mr(d,e)&&(a.isPointerDown=!0)},l=d=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&Mr(d,e)&&(a.isPointerDown=!1,o(d))},u=d=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&Mr(d,e)&&(a.isPointerDown=!1,o(d))},c=Ma(e.current);return c.addEventListener("mousedown",i,!0),c.addEventListener("mouseup",l,!0),c.addEventListener("touchstart",i,!0),c.addEventListener("touchend",u,!0),()=>{c.removeEventListener("mousedown",i,!0),c.removeEventListener("mouseup",l,!0),c.removeEventListener("touchstart",i,!0),c.removeEventListener("touchend",u,!0)}},[n,e,o,a,r])}function Mr(t,e){var n;const r=t.target;return r&&!Ma(r).contains(r)?!1:!((n=e.current)!=null&&n.contains(r))}function Ma(t){var e;return(e=t==null?void 0:t.ownerDocument)!=null?e:document}function Ra(t){const{isOpen:e,ref:n}=t,[r,o]=y.useState(e),[s,a]=y.useState(!1);return y.useEffect(()=>{s||(o(e),a(!0))},[e,s,r]),Lt(()=>n.current,"animationend",()=>{o(e)}),{present:!(e?!1:!r),onComplete(){var l;const u=tl(n.current),c=new u.CustomEvent("animationend",{bubbles:!0});(l=n.current)==null||l.dispatchEvent(c)}}}function rs(t){const{wasSelected:e,enabled:n,isSelected:r,mode:o="unmount"}=t;return!!(!n||r||o==="keepMounted"&&e)}var[Pu,ju,Nu,Au]=da(),[Fu,Dn]=Ke({strict:!1,name:"MenuContext"});function Mu(t,...e){const n=y.useId(),r=t||n;return y.useMemo(()=>e.map(o=>`${o}-${r}`),[r,e])}function Ta(t){var e;return(e=t==null?void 0:t.ownerDocument)!=null?e:document}function Ks(t){return Ta(t).activeElement===t}function Ru(t={}){const{id:e,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:i,defaultIsOpen:l,onClose:u,onOpen:c,placement:d="bottom-start",lazyBehavior:f="unmount",direction:p,computePositionOnMount:b=!1,...h}=t,w=y.useRef(null),g=y.useRef(null),m=Nu(),_=y.useCallback(()=>{requestAnimationFrame(()=>{var F;(F=w.current)==null||F.focus({preventScroll:!1})})},[]),k=y.useCallback(()=>{const F=setTimeout(()=>{var W;if(o)(W=o.current)==null||W.focus();else{const z=m.firstEnabled();z&&T(z.index)}});H.current.add(F)},[m,o]),E=y.useCallback(()=>{const F=setTimeout(()=>{const W=m.lastEnabled();W&&T(W.index)});H.current.add(F)},[m]),C=y.useCallback(()=>{c==null||c(),s?k():_()},[s,k,_,c]),{isOpen:x,onOpen:O,onClose:D,onToggle:P}=ns({isOpen:i,defaultIsOpen:l,onClose:u,onOpen:C});Iu({enabled:x&&r,ref:w,handler:F=>{var W;(W=g.current)!=null&&W.contains(F.target)||D()}});const N=ts({...h,enabled:x||b,placement:d,direction:p}),[K,T]=y.useState(-1);gr(()=>{x||T(-1)},[x]),Ea(w,{focusRef:g,visible:x,shouldFocus:!0});const L=Ra({isOpen:x,ref:w}),[Z,$]=Mu(e,"menu-button","menu-list"),I=y.useCallback(()=>{O(),_()},[O,_]),H=y.useRef(new Set([]));y.useEffect(()=>{const F=H.current;return()=>{F.forEach(W=>clearTimeout(W)),F.clear()}},[]);const J=y.useCallback(()=>{O(),k()},[k,O]),de=y.useCallback(()=>{O(),E()},[O,E]),j=y.useCallback(()=>{var F,W;const z=Ta(w.current),q=(F=w.current)==null?void 0:F.contains(z.activeElement);if(!(x&&!q))return;const re=(W=m.item(K))==null?void 0:W.node;re==null||re.focus({preventScroll:!0})},[x,K,m]),R=y.useRef(null);return{openAndFocusMenu:I,openAndFocusFirstItem:J,openAndFocusLastItem:de,onTransitionEnd:j,unstable__animationState:L,descendants:m,popper:N,buttonId:Z,menuId:$,forceUpdate:N.forceUpdate,orientation:"vertical",isOpen:x,onToggle:P,onOpen:O,onClose:D,menuRef:w,buttonRef:g,focusedIndex:K,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:T,isLazy:a,lazyBehavior:f,initialFocusRef:o,rafId:R}}function wh(t={},e=null){const n=Dn(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,i=y.useCallback(l=>{const u=l.key,d={Enter:s,ArrowDown:s,ArrowUp:a}[u];d&&(l.preventDefault(),l.stopPropagation(),d(l))},[s,a]);return{...t,ref:xe(n.buttonRef,e,o.referenceRef),id:n.buttonId,"data-active":ze(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:le(t.onClick,r),onKeyDown:le(t.onKeyDown,i)}}function Qr(t){var e;return Lu(t)&&!!((e=t==null?void 0:t.getAttribute("role"))!=null&&e.startsWith("menuitem"))}function Tu(t={},e=null){const n=Dn();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within