\n \n\n\n\n\n\n","\n \n \n \n\n\n\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","import{h as m,cloneVNode as h,Fragment as b}from\"vue\";import{match as j}from\"./match.js\";var R=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(R||{}),O=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(O||{});function P({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=w(o,e),s=Object.assign(i,{props:n});if(r||t&2&&n.static)return u(s);if(t&1){let l=(a=n.unmount)==null||a?0:1;return j(l,{[0](){return null},[1](){return u({...i,props:{...n,hidden:!0,style:{display:\"none\"}}})}})}return u(s)}function u({props:r,attrs:t,slots:e,slot:o,name:i}){var f;let{as:n,...s}=N(r,[\"unmount\",\"static\"]),a=(f=e.default)==null?void 0:f.call(e,o),l={};if(n===\"template\"){if(a=y(a),Object.keys(s).length>0||Object.keys(t).length>0){let[c,...p]=a!=null?a:[];if(!k(c)||p.length>0)throw new Error(['Passing props on \"template\"!',\"\",`The current component <${i} /> is rendering a \"template\".`,\"However we need to passthrough the following props:\",Object.keys(s).concat(Object.keys(t)).sort((d,g)=>d.localeCompare(g)).map(d=>` - ${d}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(d=>` - ${d}`).join(`\n`)].join(`\n`));return h(c,Object.assign({},s,l))}return Array.isArray(a)&&a.length===1?a[0]:a}return m(n,Object.assign({},s,l),a)}function y(r){return r.flatMap(t=>t.type===b?y(t.children):[t])}function w(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith(\"on\")&&typeof i[n]==\"function\"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t[\"aria-disabled\"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...s){let a=e[i];for(let l of a){if(n!=null&&n.defaultPrevented)return;l(n,...s)}}});return t}function A(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function N(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function k(r){return r==null?!1:typeof r.type==\"string\"||typeof r.type==\"object\"||typeof r.type==\"function\"}export{R as Features,O as RenderStrategy,A as compact,N as omit,P as render};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","let e=0;function n(){return++e}function t(){return n()}export{t as useId};\n","import{defineComponent as i}from\"vue\";import{render as a}from\"../utils/render.js\";var p=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(p||{});let m=i({name:\"Hidden\",props:{as:{type:[Object,String],default:\"div\"},features:{type:Number,default:1}},setup(r,{slots:t,attrs:o}){return()=>{let{features:e,...d}=r,n={\"aria-hidden\":(e&2)===2?!0:void 0,style:{position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(e&4)===4&&(e&2)!==2&&{display:\"none\"}}};return a({ourProps:n,theirProps:d,slot:{},attrs:o,slots:t,name:\"Hidden\"})}}});export{p as Features,m as Hidden};\n","function o(n){var l;return n==null||n.value==null?null:(l=n.value.$el)!=null?l:n.value}export{o as dom};\n","import{dom as r}from\"./dom.js\";function e(n){if(typeof window==\"undefined\")return null;if(n instanceof Node)return n.ownerDocument;if(n!=null&&n.hasOwnProperty(\"value\")){let o=r(n);if(o)return o.ownerDocument}return document}export{e as getOwnerDocument};\n","import{match as E}from\"./match.js\";import{getOwnerDocument as p}from\"./owner.js\";let c=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var L=(o=>(o[o.First=1]=\"First\",o[o.Previous=2]=\"Previous\",o[o.Next=4]=\"Next\",o[o.Last=8]=\"Last\",o[o.WrapAround=16]=\"WrapAround\",o[o.NoScroll=32]=\"NoScroll\",o))(L||{}),N=(n=>(n[n.Error=0]=\"Error\",n[n.Overflow=1]=\"Overflow\",n[n.Success=2]=\"Success\",n[n.Underflow=3]=\"Underflow\",n))(N||{}),T=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(T||{});function b(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c))}var M=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(M||{});function F(e,r=0){var t;return e===((t=p(e))==null?void 0:t.body)?!1:E(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function H(e){e==null||e.focus({preventScroll:!0})}let h=[\"textarea\",\"input\"].join(\",\");function v(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,h))!=null?t:!1}function w(e,r=t=>t){return e.slice().sort((t,l)=>{let n=r(t),i=r(l);if(n===null||i===null)return 0;let o=n.compareDocumentPosition(i);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function P(e,r,t=!0){var d;let l=(d=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?d:document,n=Array.isArray(e)?t?w(e):e:b(e),i=l.activeElement,o=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),m=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(i))-1;if(r&4)return Math.max(0,n.indexOf(i))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),x=r&32?{preventScroll:!0}:{},f=0,s=n.length,u;do{if(f>=s||f+s<=0)return 0;let a=m+f;if(r&16)a=(a+s)%s;else{if(a<0)return 3;if(a>=s)return 1}u=n[a],u==null||u.focus(x),f+=o}while(u!==l.activeElement);return u.hasAttribute(\"tabindex\")||u.setAttribute(\"tabindex\",\"0\"),r&6&&v(u)&&u.select(),2}export{L as Focus,N as FocusResult,M as FocusableMode,H as focusElement,P as focusIn,b as getFocusableElements,F as isFocusableElement,w as sortByDomNode};\n","import{watchEffect as d}from\"vue\";function w(e,n,t){typeof window!=\"undefined\"&&d(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent};\n","import{ref as a}from\"vue\";import{useWindowEvent as t}from\"./use-window-event.js\";var d=(r=>(r[r.Forwards=0]=\"Forwards\",r[r.Backwards=1]=\"Backwards\",r))(d||{});function n(){let o=a(0);return t(\"keydown\",e=>{e.key===\"Tab\"&&(o.value=e.shiftKey?1:0)}),o}export{d as Direction,n as useTabDirection};\n","import{watchEffect as i}from\"vue\";function r(n,e,d,o){typeof window!=\"undefined\"&&i(t=>{n=n!=null?n:window,n.addEventListener(e,d,o),t(()=>n.removeEventListener(e,d,o))})}export{r as useEventListener};\n","import{computed as f,defineComponent as h,h as F,onMounted as H,ref as v,watch as p,Fragment as y}from\"vue\";import{render as k}from\"../../utils/render.js\";import{Hidden as R,Features as M}from\"../../internal/hidden.js\";import{dom as L}from\"../../utils/dom.js\";import{focusIn as d,Focus as E,focusElement as m,FocusResult as P}from\"../../utils/focus-management.js\";import{match as B}from\"../../utils/match.js\";import{useTabDirection as S,Direction as b}from\"../../hooks/use-tab-direction.js\";import{getOwnerDocument as g}from\"../../utils/owner.js\";import{useEventListener as I}from\"../../hooks/use-event-listener.js\";import\"../../utils/micro-task.js\";var D=(e=>(e[e.None=1]=\"None\",e[e.InitialFocus=2]=\"InitialFocus\",e[e.TabLock=4]=\"TabLock\",e[e.FocusLock=8]=\"FocusLock\",e[e.RestoreFocus=16]=\"RestoreFocus\",e[e.All=30]=\"All\",e))(D||{});let V=Object.assign(h({name:\"FocusTrap\",props:{as:{type:[Object,String],default:\"div\"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:Object,default:v(new Set)}},inheritAttrs:!1,setup(o,{attrs:u,slots:l,expose:r}){let t=v(null);r({el:t,$el:t});let a=f(()=>g(t));O({ownerDocument:a},f(()=>Boolean(o.features&16)));let e=A({ownerDocument:a,container:t,initialFocus:f(()=>o.initialFocus)},f(()=>Boolean(o.features&2)));N({ownerDocument:a,container:t,containers:o.containers,previousActiveElement:e},f(()=>Boolean(o.features&8)));let s=S();function i(){let n=L(t);!n||B(s.value,{[b.Forwards]:()=>d(n,E.First),[b.Backwards]:()=>d(n,E.Last)})}return()=>{let n={},T={ref:t},{features:c,initialFocus:C,containers:_,...w}=o;return F(y,[Boolean(c&4)&&F(R,{as:\"button\",type:\"button\",onFocus:i,features:M.Focusable}),k({ourProps:T,theirProps:{...u,...w},slot:n,attrs:u,slots:l,name:\"FocusTrap\"}),Boolean(c&4)&&F(R,{as:\"button\",type:\"button\",onFocus:i,features:M.Focusable})])}}}),{features:D});function O({ownerDocument:o},u){let l=v(null),r={value:!1};H(()=>{p(u,(t,a)=>{var e;t!==a&&(!u.value||(r.value=!0,l.value||(l.value=(e=o.value)==null?void 0:e.activeElement)))},{immediate:!0}),p(u,(t,a,e)=>{t!==a&&(!u.value||e(()=>{r.value!==!1&&(r.value=!1,m(l.value),l.value=null)}))},{immediate:!0})})}function A({ownerDocument:o,container:u,initialFocus:l},r){let t=v(null);return H(()=>{p([u,l,r],(a,e)=>{if(a.every((i,n)=>(e==null?void 0:e[n])===i)||!r.value)return;let s=L(u);!s||requestAnimationFrame(()=>{var T,c;let i=L(l),n=(T=o.value)==null?void 0:T.activeElement;if(i){if(i===n){t.value=n;return}}else if(s.contains(n)){t.value=n;return}i?m(i):d(s,E.First|E.NoScroll)===P.Error&&console.warn(\"There are no focusable elements inside the \"),t.value=(c=o.value)==null?void 0:c.activeElement})},{immediate:!0,flush:\"post\"})}),t}function N({ownerDocument:o,container:u,containers:l,previousActiveElement:r},t){var a;I((a=o.value)==null?void 0:a.defaultView,\"focus\",e=>{if(!t.value)return;let s=new Set(l==null?void 0:l.value);s.add(u);let i=r.value;if(!i)return;let n=e.target;n&&n instanceof HTMLElement?j(s,n)?(r.value=n,m(n)):(e.preventDefault(),e.stopPropagation(),m(i)):m(r.value)},!0)}function j(o,u){var l;for(let r of o)if((l=r.value)!=null&&l.contains(u))return!0;return!1}export{V as FocusTrap};\n","import{ref as E,watchEffect as m}from\"vue\";import{getOwnerDocument as b}from\"../utils/owner.js\";let l=\"body > *\",i=new Set,r=new Map;function u(t){t.setAttribute(\"aria-hidden\",\"true\"),t.inert=!0}function s(t){let n=r.get(t);!n||(n[\"aria-hidden\"]===null?t.removeAttribute(\"aria-hidden\"):t.setAttribute(\"aria-hidden\",n[\"aria-hidden\"]),t.inert=n.inert)}function g(t,n=E(!0)){m(d=>{if(!n.value||!t.value)return;let a=t.value,o=b(a);if(!!o){i.add(a);for(let e of r.keys())e.contains(a)&&(s(e),r.delete(e));o.querySelectorAll(l).forEach(e=>{if(e instanceof HTMLElement){for(let f of i)if(e.contains(f))return;i.size===1&&(r.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),u(e))}}),d(()=>{if(i.delete(a),i.size>0)o.querySelectorAll(l).forEach(e=>{if(e instanceof HTMLElement&&!r.has(e)){for(let f of i)if(e.contains(f))return;r.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),u(e)}});else for(let e of r.keys())s(e),r.delete(e)})}})}export{g as useInertOthers};\n","import{defineComponent as l,inject as a,provide as c}from\"vue\";import{render as p}from\"../utils/render.js\";let e=Symbol(\"ForcePortalRootContext\");function u(){return a(e,!1)}let P=l({name:\"ForcePortalRoot\",props:{as:{type:[Object,String],default:\"template\"},force:{type:Boolean,default:!1}},setup(o,{slots:t,attrs:r}){return c(e,o.force),()=>{let{force:f,...n}=o;return p({theirProps:n,ourProps:{},slot:{},slots:t,attrs:r,name:\"ForcePortalRoot\"})}}});export{P as ForcePortalRoot,u as usePortalRoot};\n","import{Teleport as P,defineComponent as s,h,inject as y,onUnmounted as T,provide as E,reactive as w,ref as d,watchEffect as C,computed as b}from\"vue\";import{render as f}from\"../../utils/render.js\";import{usePortalRoot as j}from\"../../internal/portal-force-root.js\";import{getOwnerDocument as v}from\"../../utils/owner.js\";function c(t){let r=v(t);if(!r){if(t===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${t}`)}let o=r.getElementById(\"headlessui-portal-root\");if(o)return o;let e=r.createElement(\"div\");return e.setAttribute(\"id\",\"headlessui-portal-root\"),r.body.appendChild(e)}let R=s({name:\"Portal\",props:{as:{type:[Object,String],default:\"div\"}},setup(t,{slots:r,attrs:o}){let e=d(null),p=b(()=>v(e)),n=j(),u=y(g,null),l=d(n===!0||u==null?c(e.value):u.resolveTarget());return C(()=>{n||u!=null&&(l.value=u.resolveTarget())}),T(()=>{var i,m;let a=(i=p.value)==null?void 0:i.getElementById(\"headlessui-portal-root\");!a||l.value===a&&l.value.children.length<=0&&((m=l.value.parentElement)==null||m.removeChild(l.value))}),()=>{if(l.value===null)return null;let a={ref:e,\"data-headlessui-portal\":\"\"};return h(P,{to:l.value},f({ourProps:a,theirProps:t,slot:{},attrs:o,slots:r,name:\"Portal\"}))}}}),g=Symbol(\"PortalGroupContext\"),L=s({name:\"PortalGroup\",props:{as:{type:[Object,String],default:\"template\"},target:{type:Object,default:null}},setup(t,{attrs:r,slots:o}){let e=w({resolveTarget(){return t.target}});return E(g,e),()=>{let{target:p,...n}=t;return f({theirProps:n,ourProps:{},slot:{},attrs:r,slots:o,name:\"PortalGroup\"})}}});export{R as Portal,L as PortalGroup};\n","import{inject as d,provide as u,onMounted as l,onUnmounted as p}from\"vue\";let i=Symbol(\"StackContext\");var c=(e=>(e[e.Add=0]=\"Add\",e[e.Remove=1]=\"Remove\",e))(c||{});function a(){return d(i,()=>{})}function s({type:n,element:o,onUpdate:e}){let m=a();function t(...r){e==null||e(...r),m(...r)}l(()=>{t(0,n,o),p(()=>{t(1,n,o)})}),u(i,t)}export{c as StackMessage,a as useStackContext,s as useStackProvider};\n","import{computed as m,defineComponent as x,inject as R,onMounted as v,onUnmounted as D,provide as j,ref as p,unref as y}from\"vue\";import{useId as C}from\"../../hooks/use-id.js\";import{render as h}from\"../../utils/render.js\";let u=Symbol(\"DescriptionContext\");function b(){let t=R(u,null);if(t===null)throw new Error(\"Missing parent\");return t}function P({slot:t=p({}),name:o=\"Description\",props:s={}}={}){let e=p([]);function n(r){return e.value.push(r),()=>{let i=e.value.indexOf(r);i!==-1&&e.value.splice(i,1)}}return j(u,{register:n,slot:t,name:o,props:s}),m(()=>e.value.length>0?e.value.join(\" \"):void 0)}let S=x({name:\"Description\",props:{as:{type:[Object,String],default:\"p\"}},setup(t,{attrs:o,slots:s}){let e=b(),n=`headlessui-description-${C()}`;return v(()=>D(e.register(n))),()=>{let{name:r=\"Description\",slot:i=p({}),props:l={}}=e,c=t,d={...Object.entries(l).reduce((f,[a,g])=>Object.assign(f,{[a]:y(g)}),{}),id:n};return h({ourProps:d,theirProps:c,slot:i.value,attrs:o,slots:s,name:r})}}});export{S as Description,P as useDescriptions};\n","import{inject as t,provide as r}from\"vue\";let n=Symbol(\"Context\");var l=(e=>(e[e.Open=0]=\"Open\",e[e.Closed=1]=\"Closed\",e))(l||{});function f(){return p()!==null}function p(){return t(n,null)}function c(o){r(n,o)}export{l as State,f as hasOpenClosed,p as useOpenClosed,c as useOpenClosedProvider};\n","import{useWindowEvent as u}from\"./use-window-event.js\";import{computed as c}from\"vue\";import{FocusableMode as E,isFocusableElement as d}from\"../utils/focus-management.js\";import{dom as C}from\"../utils/dom.js\";function T(l,f,a=c(()=>!0)){function i(t,r){if(!a.value||t.defaultPrevented)return;let n=r(t);if(n===null||!n.ownerDocument.documentElement.contains(n))return;let m=function o(e){return typeof e==\"function\"?o(e()):Array.isArray(e)||e instanceof Set?e:[e]}(l);for(let o of m){if(o===null)continue;let e=o instanceof HTMLElement?o:C(o);if(e!=null&&e.contains(n))return}return!d(n,E.Loose)&&n.tabIndex!==-1&&t.preventDefault(),f(t,n)}u(\"click\",t=>i(t,r=>r.target),!0),u(\"blur\",t=>i(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{T as useOutsideClick};\n","import{computed as g,defineComponent as S,h as v,inject as L,nextTick as Z,onMounted as x,onUnmounted as ee,provide as te,ref as D,watchEffect as W}from\"vue\";import{render as b,Features as K}from\"../../utils/render.js\";import{Keys as le}from\"../../keyboard.js\";import{useId as O}from\"../../hooks/use-id.js\";import{FocusTrap as P}from\"../../components/focus-trap/focus-trap.js\";import{useInertOthers as oe}from\"../../hooks/use-inert-others.js\";import{Portal as N,PortalGroup as ae}from\"../portal/portal.js\";import{StackMessage as _,useStackProvider as re}from\"../../internal/stack-context.js\";import{match as F}from\"../../utils/match.js\";import{ForcePortalRoot as I}from\"../../internal/portal-force-root.js\";import{Description as ie,useDescriptions as ne}from\"../description/description.js\";import{dom as U}from\"../../utils/dom.js\";import{useOpenClosed as ue,State as V}from\"../../internal/open-closed.js\";import{useOutsideClick as se}from\"../../hooks/use-outside-click.js\";import{getOwnerDocument as pe}from\"../../utils/owner.js\";import{useEventListener as de}from\"../../hooks/use-event-listener.js\";import{Hidden as fe,Features as ce}from\"../../internal/hidden.js\";var ge=(t=>(t[t.Open=0]=\"Open\",t[t.Closed=1]=\"Closed\",t))(ge||{});let M=Symbol(\"DialogContext\");function R(a){let n=L(M,null);if(n===null){let t=new Error(`<${a} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,R),t}return n}let T=\"DC8F892D-2EBD-447C-A4C8-A03058436FF4\",Ae=S({name:\"Dialog\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:T},initialFocus:{type:Object,default:null}},emits:{close:a=>!0},setup(a,{emit:n,attrs:t,slots:u,expose:i}){var A;let d=D(!1);x(()=>{d.value=!0});let r=D(0),p=ue(),h=g(()=>a.open===T&&p!==null?F(p.value,{[V.Open]:!0,[V.Closed]:!1}):a.open),E=D(new Set),f=D(null),B=D(null),k=g(()=>pe(f));if(i({el:f,$el:f}),!(a.open!==T||p!==null))throw new Error(\"You forgot to provide an `open` prop to the `Dialog`.\");if(typeof h.value!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${h.value===T?void 0:a.open}`);let c=g(()=>d.value&&h.value?0:1),$=g(()=>c.value===0),C=g(()=>r.value>1),Y=L(M,null)!==null,q=g(()=>C.value?\"parent\":\"leaf\");oe(f,g(()=>C.value?$.value:!1)),re({type:\"Dialog\",element:f,onUpdate:(o,l,e)=>{if(l===\"Dialog\")return F(o,{[_.Add](){E.value.add(e),r.value+=1},[_.Remove](){E.value.delete(e),r.value-=1}})}});let G=ne({name:\"DialogDescription\",slot:g(()=>({open:h.value}))}),z=`headlessui-dialog-${O()}`,w=D(null),y={titleId:w,panelRef:D(null),dialogState:c,setTitleId(o){w.value!==o&&(w.value=o)},close(){n(\"close\",!1)}};return te(M,y),se(()=>{var l,e,m;return[...Array.from((e=(l=k.value)==null?void 0:l.querySelectorAll(\"body > *, [data-headlessui-portal]\"))!=null?e:[]).filter(s=>!(!(s instanceof HTMLElement)||s.contains(U(B))||y.panelRef.value&&s.contains(y.panelRef.value))),(m=y.panelRef.value)!=null?m:f.value]},(o,l)=>{y.close(),Z(()=>l==null?void 0:l.focus())},g(()=>c.value===0&&!C.value)),de((A=k.value)==null?void 0:A.defaultView,\"keydown\",o=>{o.defaultPrevented||o.key===le.Escape&&c.value===0&&(C.value||(o.preventDefault(),o.stopPropagation(),y.close()))}),W(o=>{var j;if(c.value!==0||Y)return;let l=k.value;if(!l)return;let e=l==null?void 0:l.documentElement,m=(j=l.defaultView)!=null?j:window,s=e.style.overflow,J=e.style.paddingRight,H=m.innerWidth-e.clientWidth;if(e.style.overflow=\"hidden\",H>0){let Q=e.clientWidth-e.offsetWidth,X=H-Q;e.style.paddingRight=`${X}px`}o(()=>{e.style.overflow=s,e.style.paddingRight=J})}),W(o=>{if(c.value!==0)return;let l=U(f);if(!l)return;let e=new IntersectionObserver(m=>{for(let s of m)s.boundingClientRect.x===0&&s.boundingClientRect.y===0&&s.boundingClientRect.width===0&&s.boundingClientRect.height===0&&y.close()});e.observe(l),o(()=>e.disconnect())}),()=>{let o={...t,ref:f,id:z,role:\"dialog\",\"aria-modal\":c.value===0?!0:void 0,\"aria-labelledby\":w.value,\"aria-describedby\":G.value},{open:l,initialFocus:e,...m}=a,s={open:c.value===0};return v(I,{force:!0},()=>[v(N,()=>v(ae,{target:f.value},()=>v(I,{force:!1},()=>v(P,{initialFocus:e,containers:E,features:$.value?F(q.value,{parent:P.features.RestoreFocus,leaf:P.features.All&~P.features.FocusLock}):P.features.None},()=>b({ourProps:o,theirProps:m,slot:s,attrs:t,slots:u,visible:c.value===0,features:K.RenderStrategy|K.Static,name:\"Dialog\"}))))),v(fe,{features:ce.Hidden,ref:B})])}}}),He=S({name:\"DialogOverlay\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{attrs:n,slots:t}){let u=R(\"DialogOverlay\"),i=`headlessui-dialog-overlay-${O()}`;function d(r){r.target===r.currentTarget&&(r.preventDefault(),r.stopPropagation(),u.close())}return()=>b({ourProps:{id:i,\"aria-hidden\":!0,onClick:d},theirProps:a,slot:{open:u.dialogState.value===0},attrs:n,slots:t,name:\"DialogOverlay\"})}}),je=S({name:\"DialogBackdrop\",props:{as:{type:[Object,String],default:\"div\"}},inheritAttrs:!1,setup(a,{attrs:n,slots:t,expose:u}){let i=R(\"DialogBackdrop\"),d=`headlessui-dialog-backdrop-${O()}`,r=D(null);return u({el:r,$el:r}),x(()=>{if(i.panelRef.value===null)throw new Error(\"A component is being used, but a component is missing.\")}),()=>{let p=a,h={id:d,ref:r,\"aria-hidden\":!0};return v(I,{force:!0},()=>v(N,()=>b({ourProps:h,theirProps:{...n,...p},slot:{open:i.dialogState.value===0},attrs:n,slots:t,name:\"DialogBackdrop\"})))}}}),Le=S({name:\"DialogPanel\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{attrs:n,slots:t,expose:u}){let i=R(\"DialogPanel\"),d=`headlessui-dialog-panel-${O()}`;u({el:i.panelRef,$el:i.panelRef});function r(p){p.stopPropagation()}return()=>{let p={id:d,ref:i.panelRef,onClick:r};return b({ourProps:p,theirProps:a,slot:{open:i.dialogState.value===0},attrs:n,slots:t,name:\"DialogPanel\"})}}}),We=S({name:\"DialogTitle\",props:{as:{type:[Object,String],default:\"h2\"}},setup(a,{attrs:n,slots:t}){let u=R(\"DialogTitle\"),i=`headlessui-dialog-title-${O()}`;return x(()=>{u.setTitleId(i),ee(()=>u.setTitleId(null))}),()=>b({ourProps:{id:i},theirProps:a,slot:{open:u.dialogState.value===0},attrs:n,slots:t,name:\"DialogTitle\"})}}),Ke=ie;export{Ae as Dialog,je as DialogBackdrop,Ke as DialogDescription,He as DialogOverlay,Le as DialogPanel,We as DialogTitle};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","function r(){let i=[],o=[],t={enqueue(e){o.push(e)},requestAnimationFrame(...e){let a=requestAnimationFrame(...e);t.add(()=>cancelAnimationFrame(a))},nextFrame(...e){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...e)})},setTimeout(...e){let a=setTimeout(...e);t.add(()=>clearTimeout(a))},add(e){i.push(e)},dispose(){for(let e of i.splice(0))e()},async workQueue(){for(let e of o.splice(0))await e()}};return t}export{r as disposables};\n","import{once as f}from\"../../../utils/once.js\";import{disposables as p}from\"../../../utils/disposables.js\";function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished=\"finished\",i.Cancelled=\"cancelled\",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(\",\").filter(Boolean).map(r=>r.includes(\"ms\")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t(\"finished\"),l+s):t(\"finished\"),i.add(()=>t(\"cancelled\")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o(\"cancelled\")),s.dispose}export{g as Reason,L as transition};\n","import{computed as b,defineComponent as A,h as D,inject as L,onMounted as h,onUnmounted as I,provide as H,ref as T,watch as X,watchEffect as y}from\"vue\";import{useId as Y}from\"../../hooks/use-id.js\";import{match as E}from\"../../utils/match.js\";import{Features as Z,omit as ee,render as P,RenderStrategy as f}from\"../../utils/render.js\";import{Reason as j,transition as M}from\"./utils/transition.js\";import{dom as U}from\"../../utils/dom.js\";import{useOpenClosedProvider as te,State as V,useOpenClosed as ne,hasOpenClosed as re}from\"../../internal/open-closed.js\";function d(e=\"\"){return e.split(\" \").filter(t=>t.trim().length>1)}let B=Symbol(\"TransitionContext\");var ae=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(ae||{});function le(){return L(B,null)!==null}function ie(){let e=L(B,null);if(e===null)throw new Error(\"A is used but it is missing a parent .\");return e}function se(){let e=L(F,null);if(e===null)throw new Error(\"A is used but it is missing a parent .\");return e}let F=Symbol(\"NestingContext\");function w(e){return\"children\"in e?w(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function K(e){let t=T([]),a=T(!1);h(()=>a.value=!0),I(()=>a.value=!1);function s(r,n=f.Hidden){let l=t.value.findIndex(({id:i})=>i===r);l!==-1&&(E(n,{[f.Unmount](){t.value.splice(l,1)},[f.Hidden](){t.value[l].state=\"hidden\"}}),!w(t)&&a.value&&(e==null||e()))}function v(r){let n=t.value.find(({id:l})=>l===r);return n?n.state!==\"visible\"&&(n.state=\"visible\"):t.value.push({id:r,state:\"visible\"}),()=>s(r,f.Unmount)}return{children:t,register:v,unregister:s}}let _=Z.RenderStrategy,oe=A({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:v}){if(!le()&&re())return()=>D(fe,{...e,onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\")},s);let r=T(null),n=T(\"visible\"),l=b(()=>e.unmount?f.Unmount:f.Hidden);v({el:r,$el:r});let{show:i,appear:x}=ie(),{register:g,unregister:p}=se(),R={value:!0},m=Y(),S={value:!1},N=K(()=>{S.value||(n.value=\"hidden\",p(m),t(\"afterLeave\"))});h(()=>{let o=g(m);I(o)}),y(()=>{if(l.value===f.Hidden&&!!m){if(i&&n.value!==\"visible\"){n.value=\"visible\";return}E(n.value,{[\"hidden\"]:()=>p(m),[\"visible\"]:()=>g(m)})}});let k=d(e.enter),$=d(e.enterFrom),q=d(e.enterTo),O=d(e.entered),z=d(e.leave),G=d(e.leaveFrom),J=d(e.leaveTo);h(()=>{y(()=>{if(n.value===\"visible\"){let o=U(r);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")}})});function Q(o){let c=R.value&&!x.value,u=U(r);!u||!(u instanceof HTMLElement)||c||(S.value=!0,i.value&&t(\"beforeEnter\"),i.value||t(\"beforeLeave\"),o(i.value?M(u,k,$,q,O,C=>{S.value=!1,C===j.Finished&&t(\"afterEnter\")}):M(u,z,G,J,O,C=>{S.value=!1,C===j.Finished&&(w(N)||(n.value=\"hidden\",p(m),t(\"afterLeave\")))})))}return h(()=>{X([i],(o,c,u)=>{Q(u),R.value=!1},{immediate:!0})}),H(F,N),te(b(()=>E(n.value,{[\"visible\"]:V.Open,[\"hidden\"]:V.Closed}))),()=>{let{appear:o,show:c,enter:u,enterFrom:C,enterTo:de,entered:ve,leave:pe,leaveFrom:me,leaveTo:Te,...W}=e;return P({theirProps:W,ourProps:{ref:r},slot:{},slots:s,attrs:a,features:_,visible:n.value===\"visible\",name:\"TransitionChild\"})}}}),ue=oe,fe=A({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let v=ne(),r=b(()=>e.show===null&&v!==null?E(v.value,{[V.Open]:!0,[V.Closed]:!1}):e.show);y(()=>{if(![!0,!1].includes(r.value))throw new Error('A is used but it is missing a `:show=\"true | false\"` prop.')});let n=T(r.value?\"visible\":\"hidden\"),l=K(()=>{n.value=\"hidden\"}),i=T(!0),x={show:r,appear:b(()=>e.appear||!i.value)};return h(()=>{y(()=>{i.value=!1,r.value?n.value=\"visible\":w(l)||(n.value=\"hidden\")})}),H(F,l),H(B,x),()=>{let g=ee(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),p={unmount:e.unmount};return P({ourProps:{...p,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[D(ue,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...p,...g},s.default)]},attrs:{},features:_,visible:n.value===\"visible\",name:\"Transition\"})}}});export{oe as TransitionChild,fe as TransitionRoot};\n","import { createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"2\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\"\n }, [\n _createVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n })\n ]))\n}","\nimport CloudFun, { computed, defineComponent, ref } from \"@cloudfun/core\";\nimport {\n Dialog,\n DialogPanel,\n DialogTitle,\n TransitionChild,\n TransitionRoot\n} from \"@headlessui/vue\";\nimport { ExclamationIcon } from \"@heroicons/vue/outline\";\n\nexport default defineComponent({\n components: {\n Dialog,\n DialogPanel,\n DialogTitle,\n TransitionChild,\n TransitionRoot,\n ExclamationIcon\n },\n props: {\n title: {\n type: String\n }\n },\n setup() {},\n methods: {\n close() {\n this.$emit(\"dismiss\");\n },\n leaveVendor() {\n // setTimeout(() => {\n // sessionStorage.clear();\n // this.$router.push(\"/login\");\n // // CloudFun.send(\"success\", {\n // // subject: \"退出供應商\",\n // // content: \"成功\"\n // // });\n // }, 1000);\n\n this.$model.dispatch(\"vendorMember/leave\").then(\n payload => {\n console.log(\n \"🚀 ~ file: Main.vue ~ line 708 ~ leaveVendor ~ payload\",\n payload\n );\n if (payload.status) {\n sessionStorage.clear();\n this.$router.push(\"/login\");\n } else {\n CloudFun.send(\"error\", {\n subject: \"退出供應商\",\n content: \"失敗\"\n });\n }\n },\n reason => {\n CloudFun.send(\"error\", {\n subject: \"退出供應商失敗\",\n content: reason.messag\n });\n }\n );\n }\n }\n});\n","import { render } from \"./LeaveModal.vue?vue&type=template&id=b6cc5776\"\nimport script from \"./LeaveModal.vue?vue&type=script&lang=ts\"\nexport * from \"./LeaveModal.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n/* eslint-disable */\nimport CloudFun, { defineComponent, ref, onMounted } from \"@cloudfun/core\";\nimport Grid, { GridOptions } from \"@/cloudfun/components/Grid.vue\";\nimport { VxeFormProps } from \"vxe-table\";\nimport SelectBox, {\n SelectBoxOptions\n} from \"@/cloudfun/components/SelectBox.vue\";\nimport FileUploader from \"@/cloudfun/components/FileUploader.vue\";\nimport { VueUploadItem } from \"vue-upload-component\";\nimport router from \"@/router\";\nimport CfInputBox from \"@/cloudfun/components/CfInputBoxHorizontal.vue\";\nimport CfInputRadioBox from \"@/cloudfun/components/CfInputRadioBox.vue\";\nimport { Form } from \"vee-validate\";\nimport * as Yup from \"yup\";\nimport LeaveModal from \"@/views/user-edit/modal/LeaveModal.vue\";\n\nexport default defineComponent({\n components: {\n // Grid,\n // SelectBox,\n FileUploader,\n CfInputBox,\n CfInputRadioBox,\n VForm: Form,\n LeaveModal\n },\n setup(props, { emit }) {\n const model = CloudFun.current?.model;\n const uploader = ref({});\n const info = ref({});\n const auth = ref({});\n const imageUrl = ref({});\n const vendor = ref({} as any);\n const open = ref(false);\n\n const getInfo = () => {\n return model\n ?.dispatch(\"user/find\")\n .then(response => {\n if (response.status) {\n return response.payload;\n } else {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: response.message\n });\n }\n })\n .catch(error => {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: error.message\n });\n });\n };\n\n const getVendorInfo = () => {\n return model\n ?.dispatch(\"vendor/info\")\n .then(response => {\n if (response.status) {\n return response.payload;\n } else {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: response.message\n });\n }\n })\n .catch(error => {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: error.message\n });\n });\n };\n\n const getAuth = () => {\n return model\n ?.dispatch(\"user/auth\")\n .then(response => {\n if (response.status) {\n return response.payload;\n } else {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: response.message\n });\n }\n })\n .catch(error => {\n CloudFun.send(\"error\", {\n subject: \"讀取失敗\",\n content: error.message\n });\n });\n };\n\n const save = (data: any) => {\n if (!info.value.isUseDisplayName)\n info.value.displayName = info.value.name;\n\n model\n ?.dispatch(\"user/update\", info.value)\n .then(response => {\n CloudFun.send(response.status ? \"info\" : \"error\", {\n subject: response.status ? \"儲存成功\" : \"儲存失敗\",\n content: response.status ? \"修改完成\" : response.message\n });\n if (response.status) {\n // setTimeout(() => {\n // router.push('/user');\n // }, 1500);\n CloudFun.send(\"reloadAuth\", \"\");\n close();\n }\n })\n .catch(error => {\n console.log(error.message);\n CloudFun.send(\"error\", {\n subject: \"儲存失敗\",\n content: error.messag\n });\n });\n };\n\n const close = () => {\n emit(\"showEdit\", false);\n };\n\n onMounted(async () => {\n auth.value = await getAuth();\n if (!auth.value.isBuyer) router.push(\"/\");\n\n info.value = await getInfo();\n if (info.value?.avatarImageID)\n imageUrl.value = `${uploadAction}/${info.value.avatarImageID}`;\n\n if (info.value?.mobile)\n info.value.mobile = info.value.mobile.replace(\"-\", \"\");\n\n vendor.value = await getVendorInfo();\n });\n\n const uploadAction = `${process.env.VUE_APP_BACKEND_URL}/api/v1/Image`;\n const user = JSON.parse(sessionStorage.getItem(\"EmptyNext-user\")!);\n const headers = {\n Authorization: `Bearer ${user?.token}`\n };\n const imageData = { ProductID: 0 };\n\n // const phoneExp = /^09[0-9]{8}$/;\n const phoneExp = /(\\d{2,3}-?|\\(\\d{2,3}\\))\\d{3,4}-?\\d{4}|09\\d{2}(\\d{6}|-\\d{3}-\\d{3})/;\n\n const notVendorValidationSchema = Yup.object().shape({\n // name: Yup.string().required(\"必要欄位\"),\n displayName: Yup.string().required(\"必要欄位\")\n });\n\n const VendorValidationSchema = Yup.object().shape({\n // name: Yup.string().required(\"必要欄位\"),\n isUseDisplayName: Yup.string()\n .required(\"必要欄位\")\n .oneOf([\"true\", \"false\"]),\n displayName: Yup.string().test(\n \"isUseDisplayName\",\n \"必要欄位\",\n (value, schema) => {\n if (schema.parent.isUseDisplayName === \"true\")\n return value != null && value.length > 0;\n return true;\n }\n ),\n contact_Title: Yup.string().required(\"必要欄位\"),\n contact_Tel: Yup.string()\n .required(\"必要欄位\")\n .test(\"mobile\", \"業務電話格式錯誤\", (value, testContext) => {\n if (value?.startsWith(\"09\")) {\n return value.match(phoneExp) ? true : false;\n }\n return true;\n })\n });\n\n return {\n info,\n uploader,\n uploadAction,\n headers,\n imageData,\n save,\n imageUrl,\n notVendorValidationSchema,\n VendorValidationSchema,\n close,\n vendor,\n open\n };\n },\n methods: {\n async uploaderFilter(\n current: VueUploadItem,\n original: VueUploadItem,\n prevent: any\n ) {\n if (!current || !current.name) return prevent();\n if (!/\\.(png|gif|jpg|jpeg)$/i.test(current.name)) {\n alert(\"未支援此種圖片格式\");\n return prevent();\n }\n },\n leaveConfirm() {\n this.open = true;\n }\n }\n});\n","import { render } from \"./Main.vue?vue&type=template&id=acf6e538\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\n\nimport \"./Main.vue?vue&type=style&index=0&id=acf6e538&lang=scss\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}