yuyeon 0.3.8-beta.11 → 0.3.8-beta.12
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/yuyeon.js +7 -3
- package/dist/yuyeon.umd.cjs +1 -1
- package/lib/components/dialog/YDialog.js +17 -2
- package/lib/components/dialog/YDialog.js.map +1 -1
- package/lib/components/layer/active-event.js +1 -0
- package/lib/components/layer/active-event.js.map +1 -1
- package/lib/components/layer/active-stack.js +2 -2
- package/lib/components/layer/active-stack.js.map +1 -1
- package/package.json +1 -1
- package/types/components/layer/active-stack.d.ts +1 -1
package/dist/yuyeon.js
CHANGED
|
@@ -4075,7 +4075,7 @@ function Zi(e, t, {
|
|
|
4075
4075
|
i && (Array.isArray(i) || zi(i, r));
|
|
4076
4076
|
}
|
|
4077
4077
|
function o(i = n.value, r = a.value) {
|
|
4078
|
-
i && Ui(i, r);
|
|
4078
|
+
i && (Array.isArray(i) || Ui(i, r));
|
|
4079
4079
|
}
|
|
4080
4080
|
}
|
|
4081
4081
|
let Ji = 0;
|
|
@@ -4138,7 +4138,7 @@ function ta(e) {
|
|
|
4138
4138
|
}
|
|
4139
4139
|
const na = /* @__PURE__ */ Symbol.for("yuyeon.active-stack");
|
|
4140
4140
|
function sr(e, t) {
|
|
4141
|
-
const n = le(na, null), a =
|
|
4141
|
+
const n = le(na, null), a = D([]), l = te(), o = D();
|
|
4142
4142
|
let i = null;
|
|
4143
4143
|
function r() {
|
|
4144
4144
|
return l.exposed;
|
|
@@ -4563,7 +4563,11 @@ const Ue = R({
|
|
|
4563
4563
|
return;
|
|
4564
4564
|
}
|
|
4565
4565
|
function T(I) {
|
|
4566
|
-
return I.some((O) =>
|
|
4566
|
+
return I.some((O) => {
|
|
4567
|
+
if (O?.exposeProxy?.content$?.contains(S)) return !0;
|
|
4568
|
+
const E = O?.exposeProxy?.children ?? [];
|
|
4569
|
+
return T(E);
|
|
4570
|
+
});
|
|
4567
4571
|
}
|
|
4568
4572
|
if (h !== S && u.value?.content$ && ![document, u.value?.content$].includes(S) && !u.value?.content$.contains(S) && !T(s.value)) {
|
|
4569
4573
|
const O = [...u.value.content$.querySelectorAll('button, [href], input:not([type="hidden"]), select, textarea, [tabindex]:not([tabindex="-1"])')].filter((_) => !_.hasAttribute("disabled") && !_.matches('[tabindex="-1"]'));
|
package/dist/yuyeon.umd.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
(function(oe,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(oe=typeof globalThis<"u"?globalThis:oe||self,n(oe.yuyeon={},oe.Vue))})(this,(function(oe,n){"use strict";function an(e,t,a){const o=t.length-1;let r=e;if(o<0)return r===void 0?a:r;for(let l=0;l<o;l+=1){if(r==null)return a;r=r[t[l]]}return r==null||r[t[o]]===void 0?a:r[t[o]]}function re(e={},t={},a){const o={...e};for(const r in t){const l=o[r],i=t[r];if(typeof l=="object"&&typeof i=="object"){o[r]=re(l,i);continue}o[r]=i}return o}function H(e,t,a){let o=t;return e==null||!o||typeof o!="string"?a:e[o]!==void 0?e[o]:(o=o.replace(/\[(\w+)\]/g,".$1"),o=o.replace(/^\./,""),an(e,o.split("."),a))}function le(e,t,a){if(t==null)return e===void 0?a:e;if(e!==Object(e)){if(typeof t!="function")return a;const r=t(e,a);return typeof r>"u"?a:r}if(typeof t=="string")return H(e,t,a);if(Array.isArray(t))return an(e,t,a);if(typeof t!="function")return a;const o=t(e,a);return typeof o>"u"?a:o}function de(e,t=0,a=1){return Math.max(t,Math.min(a,e))}function fe(e,t=0){return Array.from({length:e},(a,o)=>t+o)}function ie(e,t){if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;const a=Object.keys(e);return a.length!==Object.keys(t).length?!1:a.every(o=>ie(e[o],t[o]))}function go(e){const t=typeof e;return e!==null&&(t==="object"||t==="function")}function Ke(e){return e==null||e?.trim()===""}function te(e,t){const a={...e};return t.forEach(o=>delete a[o]),a}const on=()=>{};function vo(e,t){return["then","catch","finally"].forEach(o=>{Object.defineProperty(e,o,{value:t[o].bind(t),writable:!1,enumerable:!1})}),e}function bo(e,t=n.getCurrentInstance()){const a=t?.provides;if(a&&e in a)return a[e]}function st(e,t="camel"){let a="";for(let o=0;o<e.length;o+=1){const r=e[o],l=r.charCodeAt(0);l>=65&&l<=90?a+=`${o===0&&t==="camel"?"":"-"}${r.toLowerCase()}`:a+=r}return a}function rn(e){let t="",a=0;for(;a<e.length;){const o=e[a];o==="-"?(a+=1,t+=e[a].toUpperCase()):t+=o,a+=1}return t}function po(e){const t=/\{([^{}]+)\}/g,a=[];let o,r=0;for(o=t.exec(e);o!==null;){const l=o[1],i=o.index,c=t.lastIndex;if(i>0){const u=e.substring(r,i);a.push({type:"text",content:u})}l.trim()&&a.push({type:"variable",content:l.trim()}),r=c,o=t.exec(e)}return a.push({type:"text",content:e.substring(r,e.length)}),a}function wo(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function B(e,t){return a=>Object.keys(e).reduce((o,r)=>{const l=e[r],c=typeof l=="object"&&l!=null&&!Array.isArray(l)?l:{type:l};return a&&r in a?o[r]={...c,default:a[r]}:o[r]=c,t&&!o[r].source&&(o[r].source=t),o},{})}function z(e,t){return Object.keys(t).reduce((a,o)=>(e&&o in e&&(a[o]=e[o]),a),{})}const ln=e=>/^on[^a-z]/.test(e);function ut(e,t){const a=`on${n.capitalize(t)}`;return!!(e[a]||e[`${a}Once`]||e[`${a}Capture`]||e[`${a}OnceCapture`]||e[`${a}CaptureOnce`])}function So(e,t){return typeof e.props?.[t]<"u"||typeof e.props?.[st(t)]<"u"}const We=Symbol.for("yuyeon.defaults");function xo(e){return n.ref(e)}function No(e){return xo(e)}function cn(){const e=n.inject(We);if(!e)throw new Error('【yuyeon】 Not found provided "DefaultsModule"');return e}function Co(e={},t,a=cn()){const o=n.getCurrentInstance();if(t=t||o?.type?.name||o?.type?.__name,!t)throw new Error("Missing component name");const r=n.computed(()=>a.value?.[t]),l=n.shallowRef(),i=new Proxy(e,{get(u,s){const d=Reflect.get(u,s);return s==="class"||s==="style"?[r.value?.[s],d].filter(m=>m!=null):typeof s=="string"&&!So(o.vnode,s)?r.value?.[s]!==void 0?r.value?.[s]:a.value?.global?.[s]!==void 0?a.value?.global?.[s]:d:d}});n.watchEffect(()=>{if(r.value){const u=Object.entries(r.value).filter(([s])=>s.startsWith(s[0].toUpperCase()));l.value=u.length?Object.fromEntries(u):void 0}else l.value=void 0});function c(){const u=bo(We,o);n.provide(We,n.computed(()=>l.value?re(u?.value??{},l.value):u?.value))}return{props:i,provideSubDefaults:c}}function M(e){return e._setup=e._setup??e.setup,e._setup&&(e.setup=function(t,a){const o=cn();if(!o.value)return e._setup(t,a);const{props:r,provideSubDefaults:l}=Co(t,e.name,o),i=e._setup(r,a);return l(),i}),e}function we(){return n.getCurrentInstance()?.uid}function me(e){const t={};return typeof e=="string"?t[e]=!0:Array.isArray(e)?e.reduce((a,o)=>(a[o]=!0,a),t):typeof e=="object"&&Object.keys(e).reduce((a,o)=>(a[o]=!!e[o],a),t),t}function dt(e){if(!e)return;const t="$el"in e?e.$el:e;return t.nodeType===Node.TEXT_NODE||t.nodeType===Node.COMMENT_NODE?t.nextElementSibling instanceof HTMLElement?t.nextElementSibling:void 0:t instanceof HTMLElement?t:void 0}function He(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(a=>He(e,a)).flat(1);if(Array.isArray(t.children))return t.children.map(a=>He(e,a)).flat(1);if(t.component){if(Object.getOwnPropertySymbols(t.component.provides).includes(e))return[t.component];if(t.component.subTree)return He(e,t.component.subTree).flat(1)}return[]}const ko=M({name:"YApp",setup(e,{slots:t}){return()=>n.h("div",{class:"y-app"},n.h("div",{class:"y-app__container"},t))}});function sn(e,t){const a=[];for(const o of t)e.includes(o)||a.push(o);return a}function ye(e){return Array.isArray(e)?e:[e]}function ft(e,t){let a;function o(){a=n.effectScope(),a.run(()=>t.length?t(()=>{a?.stop(),o()}):t())}n.watch(e,r=>{r&&!a?o():r||(a?.stop(),a=void 0)},{immediate:!0}),n.onScopeDispose(()=>{a?.stop()})}function K(e,t="modelValue",a,o=l=>l,r=l=>l){const l=n.getCurrentInstance(),i=st(t),c=i===t?rn(t):t,u=n.ref(e[c]!==void 0?e[c]:a),s=n.computed(()=>{e[c];const m=l.vnode.props;return!!m&&(m.hasOwnProperty(i)||m.hasOwnProperty(c))&&(m.hasOwnProperty(`onUpdate:${i}`)||m.hasOwnProperty(`onUpdate:${c}`))});ft(()=>!s.value,()=>{n.watch(()=>e[c],m=>{u.value=m})});const d=n.computed({get(){return o(s.value?e[c]:u.value)},set(m){const v=r(m),h=n.toRaw(s.value?e[c]:u.value);h===v||o(h)===m||(u.value=v,l?.emit(`update:${c}`,v))}});return Object.defineProperty(d,"rxValue",{get:()=>s.value?e[c]:u.value}),d}function mt(e,t,a){const o=K(e,t,e[t]??a.value);return n.watch(a,r=>{e[t]==null&&(o.value=r)}),o}const Vo=B({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean,returnItem:Boolean},"choice"),_o=B({value:null,disabled:Boolean,selectedClass:String},"choice-item");function To(e,t,a=!0){const o=n.getCurrentInstance();if(!o)throw new Error('"useChoiceItem" must be used inside a component setup function');const r=we();n.provide(Symbol.for(`${t.description}:id`),r);const l=n.inject(t,null);if(!l){if(!a)return l;throw new Error("Not found provider")}const i=n.toRef(e,"value"),c=n.computed(()=>!!(l.disabled.value||e.disabled));l.register({id:r,value:i,disabled:c},o),n.onBeforeUnmount(()=>{l.unregister(r)});const u=n.computed(()=>l.isSelected(r)),s=n.computed(()=>u.value&&[l.selectedClass.value,e.selectedClass]);return n.watch(u,d=>{o.emit("choice:selected",{value:d})}),{id:r,isSelected:u,toggle:()=>l.select(r,!u.value),select:d=>l.select(r,d),selectedClass:s,value:i,disabled:c,provider:l}}function Do(e,t){let a=!1;const o=n.reactive([]),r=K(e,"modelValue",[],v=>v==null?[]:un(o,ye(v)),v=>{const h=Oo(o,v);return e.multiple?h:h[0]}),l=n.getCurrentInstance();function i(v,h){const x=v,b=Symbol.for(`${t.description}:id`),w=He(b,l?.vnode).indexOf(h);w>-1?o.splice(w,0,x):o.push(x)}function c(v){if(a)return;u();const h=o.findIndex(x=>x.id===v);o.splice(h,1)}function u(){const v=o.find(h=>!h.disabled);v&&e.mandatory==="force"&&!r.value.length&&(r.value=[v.id])}n.onMounted(()=>{u()}),n.onBeforeUnmount(()=>{a=!0});function s(v,h){const x=o.find(b=>b.id===v);if(!(h&&x?.disabled))if(e.multiple){const b=r.value.slice(),f=b.findIndex(T=>T===v),w=~f;if(h=h??!w,w&&e.mandatory&&b.length<=1||!w&&e.max!=null&&b.length+1>e.max)return;f<0&&h?b.push(v):f>=0&&!h&&b.splice(f,1),r.value=b}else{const b=r.value.includes(v);if(e.mandatory&&b)return;r.value=h??!b?[v]:[]}}function d(v){if(e.multiple,r.value.length){const h=r.value[0],x=o.findIndex(w=>w.id===h);let b=(x+v)%o.length,f=o[b];for(;f.disabled&&b!==x;)b=(b+v)%o.length,f=o[b];if(f.disabled)return;r.value=[o[b].id]}else{const h=o.find(x=>!x.disabled);h&&(r.value=[h.id])}}const m={register:i,unregister:c,selected:r,select:s,disabled:n.toRef(e,"disabled"),prev:()=>d(o.length-1),next:()=>d(1),isSelected:v=>r.value.includes(v),selectedClass:n.computed(()=>e.selectedClass),items:n.computed(()=>o),getItemIndex:v=>Eo(o,v)};return n.provide(t,m),m}function Eo(e,t){const a=un(e,[t]);return a.length?e.findIndex(o=>o.id===a[0]):-1}function un(e,t){const a=[];return t.forEach(o=>{const r=e.find(i=>ie(o,i.value)),l=e[o];r?.value!=null?a.push(r.id):l!=null&&a.push(l.id)}),a}function Oo(e,t){const a=[];return t.forEach(o=>{const r=e.findIndex(l=>l.id===o);if(~r){const l=e[r];a.push(l.value!=null?l.value:r)}}),a}function Ao(e,t){n.watch(()=>e.isActive?.value,a=>{e.isLink.value&&a&&t&&n.nextTick(()=>{t(!0)})},{immediate:!0})}function R(e){const t=n.getCurrentInstance();t&&(t.render=e)}const Po=B({href:String,replace:Boolean,to:[String,Object],exact:Boolean,activeClass:String,exactActiveClass:String},"VueRouter");function Io(e,t){const a=n.resolveDynamicComponent("RouterLink"),o=n.computed(()=>!!(e.href||e.to)),r=n.computed(()=>o?.value||ut(t,"click")||ut(e,"click"));if(typeof a=="string")return{isLink:o,isClickable:r,href:n.toRef(e,"href")};const l=e.to?a.useLink(e):void 0;return{isLink:o,isClickable:r,route:l?.route,navigate:l?.navigate,isActive:l&&n.computed(()=>e.exact?l.isExactActive?.value:l.isActive?.value),href:n.computed(()=>e.to?l?.route.value.href:e.href)}}const dn="y-plate-wave__animation";function fn(e){if(!e)return;const t=document.createElement("span");t.className=dn,e.appendChild(t),t.dataset.activated=String(performance.now())}function yt(e){if(!e)return;const t=e.getElementsByClassName(dn);if(t.length===0)return;const a=t[t.length-1];if(a.dataset.isHiding)return;a.dataset.isHiding="true";const o=performance.now()-Number(a.dataset.activated),r=Math.max(250-o,0);setTimeout(()=>{a&&e.removeChild(a)},r+300)}let ht=!1;function mn(e){fn(e.currentTarget)}function Oe(e){yt(e.currentTarget)}function Mo(e){}function yn(e){!ht&&(e.key==="Enter"||e.key==="Space")&&(ht=!0,fn(e.currentTarget))}function hn(e){ht=!1,yt(e.currentTarget)}function gn(e){e.removeEventListener("mousedown",mn),e.removeEventListener("mouseup",Oe),e.removeEventListener("mouseleave",Oe),e.removeEventListener("keydown",yn),e.removeEventListener("keyup",hn)}function vn(e,t,a=!1){const{value:o,modifiers:r}=t;let l=o??!0;if(typeof o=="boolean"&&(l=o),l||yt(e),l&&a){if(r.stop){e.addEventListener("mousedown",Mo);return}e.addEventListener("mousedown",mn),e.addEventListener("mouseup",Oe),e.addEventListener("mouseleave",Oe),e.addEventListener("keydown",yn),e.addEventListener("keyup",hn),e.addEventListener("blur",Oe)}else!l&&!a&&gn(e)}const bn={mounted(e,t){vn(e,t,!0)},updated(e,t){t.value!==t.oldValue&&vn(e,t)},unmount(e){gn(e)}},Yo=/rgb(a?)\((?<v>.*)\)/,Bo=/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/;function gt(e){if(e&&e[0]==="#"){const t=e.substring(1,e.length),a=t.length,o=[];if(a===3||a===6){const r=a===6?2:1;for(let l=0;l<3;l+=1){const i=t.substring(l*r,l*r+r);o.push(Number.parseInt(i,16))}return o}}}function Se(e){return Yo.test(e)||Bo.test(e)}function $o(e){if(e?.startsWith("#"))return gt(e)?.join(",")||"";const t=/rgb(a?)\((?<v>.*)\)/;if(t.test(e)){const a=t.exec(e)?.[2]||"";if(a){const o=a.trim().split(",");return o.splice(3,1),o.join(",")}}return""}const pn=M({name:"YSpinnerRing",render(){return n.createVNode("svg",{class:"y-spinner-ring",width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("circle",{class:"y-spinner-ring__circle",cx:"24",cy:"24",r:"18","stroke-width":"4","stroke-dasharray":"113.097","stroke-dashoffset":"113.097"},null)])}}),Ro=Symbol.for("yuyeon.y-toggle-button"),ee="y-button",ze=B({loading:Boolean,active:{type:Boolean,default:void 0},injectSymbol:{type:null,default:Ro},variation:{type:String},small:Boolean,icon:Boolean,outlined:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},filled:{type:Boolean,default:!1},color:{type:String},noWave:{type:Boolean,default:!1},...Po(),..._o()},"YButton"),U=M({name:"YButton",directives:{PlateWave:bn},props:ze(),emits:{click:e=>!0,"choice:selected":e=>!0},setup(e,{attrs:t,slots:a,emit:o}){const r=To(e,e.injectSymbol,!1),l=Io(e,t);Ao(l,r?.select);const i=n.computed(()=>e.active!==void 0?e.active:l.isLink.value?l.isActive?.value:r?.isSelected.value),c=n.computed(()=>{const{variation:v}=e;return typeof v=="string"?v.split(",").map(h=>h.trim()):[]}),u=n.computed(()=>{const{outlined:v,rounded:h,filled:x,small:b,icon:f}=e;return{[`${ee}--outlined`]:c.value.includes("outlined")||v,[`${ee}--rounded`]:c.value.includes("rounded")||h,[`${ee}--filled`]:c.value.includes("filled")||x,[`${ee}--text`]:c.value.includes("text"),[`${ee}--small`]:c.value.includes("small")||b,[`${ee}--x-small`]:c.value.includes("x-small")||b,[`${ee}--icon`]:c.value.includes("icon")||f,[`${ee}--color`]:e.color,[`${ee}--loading`]:e.loading,[`${ee}--disabled`]:e.disabled,[`${ee}--active`]:i.value}}),s=n.computed(()=>{let{color:v}=e,h;return v&&!Se(v)&&(v=`var(--y-theme-${v})`,h=`var(--y-theme-on-${e.color})`),{"--y-button__color":v,"--y-button__text-color":h}}),d=n.computed(()=>r?.disabled.value||e.disabled);function m(v){d.value||e.loading||l.isLink.value&&(v.metaKey||v.altKey||v.ctrlKey||v.shiftKey||v.button!==0||t.target==="_blank")||(o("click",v),l.navigate?.(v),r?.toggle())}return R(()=>{const v=l.isLink.value?"a":"button";return n.withDirectives(n.createVNode(v,{type:v==="a"?void 0:"button",class:[`${ee}`,r?.selectedClass.value,{...u.value}],href:e.disabled?void 0:l.href.value,style:s.value,onClick:m,disabled:e.disabled?!0:void 0},{default:()=>[n.createVNode("span",{class:["y-button__content"]},[e.loading&&(a.loading?a.loading?.():n.createVNode(pn,n.mergeProps({width:"24",height:"24"}),null)),a.default?.()]),a.append?.()]}),[[n.resolveDirective("plate-wave"),!e.noWave&&!e.loading]])}),{link:l}}}),Lo=B({focused:Boolean,"onUpdate:focused":Function},"focus");function vt(e,t){const a=K(e,"focused");function o(){a.value=!0}function r(){a.value=!1}const l=n.computed(()=>({[`${t}--focused`]:a.value}));return{focused:a,whenFocus:o,whenBlur:r,focusedClasses:l}}const Fo=(e,t,a)=>{function o(r){e.classList.forEach(l=>{l.startsWith("y-theme--")&&l!==r&&e.classList.remove(l)}),e.classList.add(r)}n.watchEffect(()=>{const r=t.instance?.$yuyeon?.theme??a?.ctx?.root.appContext.config.globalProperties?.$yuyeon?.theme,l=t.value??n.unref(r.currentThemeKey)??"";if(!l)return;const i=`y-theme--${l}`;o(i)},{flush:"post"})},q={mainTRC:2.4,sRco:.2126729,sGco:.7151522,sBco:.072175,normBG:.56,normTXT:.57,revTXT:.62,revBG:.65,blkThrs:.022,blkClmp:1.414,scaleBoW:1.14,scaleWoB:1.14,loBoWoffset:.027,loWoBoffset:.027,deltaYmin:5e-4,loClip:.1};function bt(e=[0,0,0]){function t(a){return Math.pow(a/255,q.mainTRC)}return q.sRco*t(e[0])+q.sGco*t(e[1])+q.sBco*t(e[2])}function wn(e,t,a=-1){const o=[0,1.1];if(isNaN(e)||isNaN(t)||Math.min(e,t)<o[0]||Math.max(e,t)>o[1])return 0;let r=0,l=0,i="BoW";return e=e>q.blkThrs?e:e+Math.pow(q.blkThrs-e,q.blkClmp),t=t>q.blkThrs?t:t+Math.pow(q.blkThrs-t,q.blkClmp),Math.abs(t-e)<q.deltaYmin?0:(t>e?(r=(Math.pow(t,q.normBG)-Math.pow(e,q.normTXT))*q.scaleBoW,l=r<q.loClip?0:r-q.loBoWoffset):(i="WoB",r=(Math.pow(t,q.revBG)-Math.pow(e,q.revTXT))*q.scaleWoB,l=r>-.1?0:r+q.loWoBoffset),a<0?l*100:a==0?Math.round(Math.abs(l)*100)+"<sub>"+i+"</sub>":Number.isInteger(a)?(l*100).toFixed(a):0)}function jo(e){const t={};for(const[a,o]of Object.entries(e)){const r=t[a]={...o,colors:{...o.colors},variables:{...o.variables}};for(const l of Object.keys(r.colors)){const i=r.colors[l];if(/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})/i.test(i)&&(r.colors[l]=i,r.colors[`${l}-rgb`]=gt(i)?.join(", ")),/^on-[a-z]/.test(l)||r.colors[`on-${l}`])continue;const c=`on-${l}`,u=bt(gt(i)??[0,0,0]),s=Math.abs(wn(bt([0,0,0]),u)),d=Math.abs(wn(bt([255,255,255]),u));r.colors[c]=d>Math.min(s,50)?"#ffffff":"#000000",r.colors[`${c}-rgb`]=d>Math.min(s,50)?"255, 255, 255":"0, 0, 0"}}return t}function Ko(e){const t={},{scaleMethod:a,colors:o}=e;for(const[r,l]of Object.entries(o))typeof l=="string"&&(t[r]=l);return t}function Ae(e,t){return[`${e} {
|
|
2
2
|
`,...t.map(a=>` ${a}
|
|
3
3
|
`),`}
|
|
4
|
-
`]}function Ue(e,t=""){return Object.entries(e).map(([a,o])=>Wo(`${t}-${a}`,o))}function Wo(e,t){return`--y-${e}: ${t};`}const Sn={light:"light"},Ho=["light","dark","auto"],xn={scaleMethod:"tonal",colors:{primary:"#0062a1",secondary:"#6251a6",tertiary:"#3c691b",neutral:"#5d5e61",positive:"#009d61",negative:"#ba1a1a",warning:"#f69400",info:"#0d62e6"}},Nn={light:{isDark:!1,colors:{primary:"#0062a1",secondary:"#6251a6",tertiary:"#3c691b",background:"#fdfbff","on-background":"#1a1c1e",surface:"#fdfbff","on-surface":"#1a1c1e","surface-variant":"#dfe3eb","on-surface-variant":"#42474e",outline:"#73777f","outline-variant":"#c2c7cf",error:"#ba1a1a","on-error":"#ffffff",warning:"#8a5100","on-warning":"#ffffff",info:"#0056d0","on-info":"#ffffff",success:"#006d42","on-success":"#ffffff",shadow:"#000000",highlighter:"#ffff00"},variables:{"outline-opacity":.14,"base-shadow-opacity":.14,"base-font":"#141414"}},dark:{isDark:!0,colors:{primary:"#9ccaff","on-primary":"#003257",secondary:"#cbbeff","on-secondary":"#332074",tertiary:"#a1d57a","on-tertiary":"#173800",background:"#1a1c1e","on-background":"#e2e2e6",surface:"#1a1c1e","on-surface":"#e2e2e6","surface-variant":"#42474e","on-surface-variant":"#c2c7cf",outline:"#8c9199","outline-variant":"#42474e",error:"#ffb4ab","on-error":"#690005",warning:"#ffb86e","on-warning":"#492900",info:"#b1c5ff","on-info":"#002c72",success:"#61dd9a","on-success":"#003920",shadow:"#000000",highlighter:"#51510d"},variables:{"outline-opacity":.14,"base-shadow-opacity":.14,"base-font":"#f5f5f5"}}};function zo(e){return e?{scheme:Ho.includes(e.scheme)?e.scheme:Sn.light,theme:e.theme??["light","dark"],themes:{...re(Nn,e.themes)},palette:{...re(xn,e.palette)},separation:e?.separation}:{scheme:Sn.light,theme:["light","dark"],themes:{...re(Nn)},palette:{...re(xn)}}}const Ge=Symbol.for("yuyeon.theme"),xe=B({theme:String},"theme");function Uo(){return window.matchMedia("(prefers-color-scheme)").media!=="not all"}function Go(e){const t=n.effectScope(),a=n.reactive(zo(e)),o=n.ref(a.scheme),r=n.ref(a.theme),l=n.ref(a.themes),i=n.ref(a.palette),c=n.ref(!0),u=n.ref("");function s(g){u.value=g.matches?"dark":"light"}const d=n.computed(()=>o.value==="auto"?u.value:o.value==="dark"?"dark":"light"),m=n.computed(()=>typeof r.value=="string"&&r.value in h?r.value:Array.isArray(r.value)?d.value==="dark"?r.value?.[1]??"dark":r.value?.[0]??"light":d.value),v=n.computed(()=>Ko(i.value)),h=n.computed(()=>jo(l.value)),x=n.computed(()=>{const g=m.value,p=h.value[g];return p?.colors?p.colors:{}}),b=n.computed(()=>{const g=a.separation?`#${a.separation}`:"",p=[];p.push(...Ae(":root",Ue(v.value,"palette")));for(const[y,_]of Object.entries(h.value)){const{colors:O,variables:V,isDark:E}=_,k={...O,...V},C=E?"dark":"light";o.value==="auto"?p.push(...Ae(`@media (prefers-color-scheme: ${C})`,Ae(`${g}[data-theme-scheme='auto'][data-${C}-theme='${y}']`,Ue(k,"theme")))):p.push(...Ae(`${g}[data-theme-scheme='${C}'][data-${C}-theme='${y}']`,Ue(k,"theme"))),p.push(...Ae(`${g} .y-theme--${y}`,Ue(k,"theme")))}return p.join("")});function f(g){g.directive("theme",Fo);let p=document.getElementById(`yuyeon-theme-palette${a.separation?"__"+a.separation:""}`);n.watch(b,y,{immediate:!0});function y(){if(typeof document<"u"&&!p){const _=document.createElement("style");_.type="text/css",_.id=`yuyeon-theme-palette${a.separation?"__"+a.separation:""}`,e?.cspNonce&&_.setAttribute("nonce",e.cspNonce),p=_,document.head.appendChild(p)}p&&(p.innerHTML=b.value)}}function w(g){if(c.value=Uo(),c.value){const p=window.matchMedia("(prefers-color-scheme: dark)");s(p),p.addEventListener("change",s)}n.watch(r,p=>{const[y,_]=p;g.root.dataset.lightTheme=y,g.root.dataset.darkTheme=_},{immediate:!0}),n.watch(o,p=>{g.root.setAttribute("data-theme-scheme",p==="auto"?"auto":d.value)},{immediate:!0})}function T(g){t.run(()=>{w(g)})}const D=n.computed(()=>`y-theme--${m.value}`);return{install:f,init:T,scope:t,instance:{global:{scheme:o,theme:r},themes:l,scheme:o,theme:r,currentThemeKey:m,currentThemeColors:x,themeClasses:D,computedThemes:h,computedPalette:v,supportedAutoMode:n.readonly(c),preferColorScheme:n.readonly(u)}}}function Ne(e){n.getCurrentInstance();const t=n.inject(Ge,null);if(!t)throw new Error('Not found provided "ThemeModule"');t.computedPalette;const a=n.computed(()=>{if(e.theme){const l=n.unref(t.theme);switch(e.theme){case"light":return l?.[0]??"light";case"dark":return l?.[1]??"dark";default:return e.theme}}return n.unref(t.currentThemeKey)}),o=n.computed(()=>`y-theme--${a.value}`),r={...t,currentThemeKey:a,themeClasses:o};return n.provide(Ge,r),r}function qo(){n.getCurrentInstance();const e=n.inject(Ge,null);if(!e)throw new Error('【yuyeon】 Not found provided "ThemeModule"');return e}const Cn=Symbol.for("yuyeon.form"),Xo=B({readonly:Boolean,disabled:Boolean,loading:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Zo(e){const t=K(e),a=n.shallowRef(!1),o=n.ref([]),r=n.ref([]),l=n.computed(()=>e.readonly),i=n.computed(()=>e.disabled),c=n.computed(()=>e.loading);async function u(){const h=[];let x=!0;r.value=[],a.value=!0;for(const b of o.value){const f=await b.validate();f.length>0&&(x=!1,h.push({id:b.id,vnode:b.vnode,exposed:b.vnode.component?.exposed,errors:f}))}return r.value=h,a.value=!1,{valid:x,errors:r.value}}function s(h){const{id:x,validate:b,vnode:f}=h;o.value.push({id:x,validate:b,vnode:f,isError:null,errors:[]})}function d(h){o.value=o.value.filter(x=>x.id!==h)}function m(h,x,b){const f=o.value.find(w=>w.id===h);f&&(f.isError=x,f.errors=b)}const v={inputs:o,isDisabled:i,isReadonly:l,isLoading:c,isValid:t,isValidating:a,register:s,unregister:d,update:m,validateOn:n.toRef(e,"validateOn")};return n.provide(Cn,v),{inputs:o,errors:r,isValid:t,isDisabled:i,isReadonly:l,isLoading:c,isValidating:a,validate:u}}function Jo(){return n.inject(Cn,null)}const Qo=B({readonly:Boolean,disabled:Boolean,status:{type:String,validator(e){return["success","warning","error"].includes(e)}},helperText:String,validators:Array,validateOn:{type:String},validationValue:null,maxErrors:{type:[Number,String],default:1}},"validation");function er(e,t,a=we()){const o=K(e,"modelValue"),r=n.getCurrentInstance(),l=Jo(),i=n.ref(!1),c=n.ref(),u=n.ref([]),s=n.computed(()=>e.name??a),d=n.computed(()=>e.validationValue===void 0?o.value:e.validationValue),m=n.computed(()=>{let g=e.validateOn||l?.validateOn?.value||"input";g==="lazy"&&(g="input,lazy");const p=new Set(g?.split(",")??[]);return{blur:p.has("blur")||p.has("input"),input:p.has("input"),lazy:p.has("lazy"),submit:p.has("submit")}}),v=n.computed(()=>e.readonly||l?.isReadonly.value),h=n.computed(()=>e.disabled||l?.isDisabled.value),x=n.computed(()=>e.loading||l?.isLoading.value),b=n.computed(()=>e.status==="error"||u.value.length>0),f=n.computed(()=>!b.value&&e.status==="success");n.watch([b,u],([g,p])=>{l?.update(s.value,g,p)},{immediate:!0}),n.watch(()=>e.validators,()=>{D()}),ft(()=>m.value.input,()=>{n.watch(d,()=>{if(d.value!=null)w();else if(e.focused){const g=n.watch(()=>e.focused,p=>{p||w(),g()})}})}),n.onBeforeUnmount(()=>{l?.unregister?.(s.value)}),n.onBeforeMount(()=>{l?.register({id:s.value,vnode:r.vnode,resetValidation:D,validate:w})});async function w(){const g=[];if(i.value=!0,Array.isArray(e.validators))for(const p of e.validators){if(g.length>=+(e.maxErrors??1))break;const _=await(typeof p=="function"?p:()=>p)(d.value);if(_!==!0){if(_!==!1&&typeof _!="string"){console.warn("Wrong validator return type");continue}g.push(_||"")}}return i.value=!1,u.value=g,c.value=g?.[0],g}function T(){u.value=[],c.value=void 0}async function D(){m.value.lazy?T():await w()}return{invokeValidators:w,resetError:T,validating:i,validateOn:m,errorResult:c,errors:u,isReadonly:v,isDisabled:h,isLoading:x,isError:b,isSuccess:f}}function tr(e){const t=e.getBoundingClientRect(),a=getComputedStyle(e),o=a.transform;if(o){let r,l,i,c;if(o.startsWith("matrix3d(")){const h=o.slice(9,-1).split(/, /);r=+h[0],l=+h[5],i=+h[12],c=+h[13]}else if(o.startsWith("matrix(")){const h=o.slice(7,-1).split(/, /);r=+h[0],l=+h[3],i=+h[4],c=+h[5]}else return t;const u=a.transformOrigin,s=t.x-i-(1-r)*parseFloat(u),d=t.y-c-(1-l)*parseFloat(u.slice(u.indexOf(" ")+1)),m=r?t.width/r:e.offsetWidth,v=l?t.height/l:e.offsetHeight;return{x:s,y:d,width:m,height:v,top:d,right:s+m,bottom:d+v,left:s}}else return t}function pt(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function kn(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}function F(e,t="px"){if(e==null||e==="")return;const a=Number(e);return typeof e=="string"&&isNaN(a)?e:isFinite(a)?`${a}${t}`:void 0}const ae="y-input",Pe=B({name:String,width:{type:[String,Number]},height:[Number,String],displayTag:{type:String,default:"div"},label:String,modelValue:{type:[String,Number,Array,Object]},autoSelect:{type:Boolean,default:!0},floating:{type:Boolean,default:!1},floated:{type:Boolean,default:()=>!1},placeholder:String,required:Boolean,loading:Boolean,variation:String,outlined:Boolean,filled:Boolean,ceramic:Boolean,...Qo(),...Lo(),extended:Object},"YInput"),be=M({name:"YInput",props:{...xe(),...Pe()},emits:["error","click","mousedown","mouseup","focus","blur","mousedown:display","mouseup:display","keydown:display","click:leading","update:modelValue","update:focused"],slots:Object,setup(e,{slots:t,attrs:a,expose:o,emit:r}){const l=we(),{themeClasses:i}=Ne(e),{focused:c,focusedClasses:u,whenFocus:s,whenBlur:d}=vt(e,"y-input"),{isDisabled:m,isReadonly:v,isLoading:h,invokeValidators:x,resetError:b,isError:f,isSuccess:w,errors:T,errorResult:D}=er(e,ae,l),g=n.ref(),p=n.ref(),y=n.ref();n.ref();const _=n.shallowRef(!1),O=n.computed(()=>e.variation?e.variation.split(",").map(I=>I.trim()):[]),V=n.computed(()=>e.floated||!!e.placeholder||!e.placeholder&&c.value||!!y.value),E=n.computed(()=>({[i.value]:!0,"y-input--ceramic":!!e.ceramic,"y-input--outlined":!e.ceramic&&(O.value.includes("outlined")||!!e.outlined),"y-input--filled":O.value.includes("filled")||!!e.filled,"y-input--loading":h.value,"y-input--has-value":!!y.value,"y-input--focused":c.value,"y-input--readonly":v.value,"y-input--disabled":m.value,"y-input--error":f.value,"y-input--success":w.value})),k=n.computed(()=>({width:F(e.width),height:F(e.height)}));n.watch(()=>e.modelValue,I=>{y.value=I}),n.watch(()=>e.readonly,I=>{I||(y.value=e.modelValue)}),n.watch(y,I=>{!v.value&&!h.value&&r("update:modelValue",I)}),n.watch(f,I=>{r("error",I,T.value)}),n.watch(()=>e.focused,I=>{I||x()});function C(I){r("click",I)}function N(I){_.value=!0,r("mousedown:display",I)}function S(I){_.value=!1,r("mouseup:display",I)}function Y(I){r("keydown:display",I)}function $(I){s(),r("focus",I)}function P(I){d(),x(),r("blur",I)}function A(I){r("click:leading",I)}function L(){if(e.label||t.label)return n.createVNode("label",{class:[{[`${ae}__label`]:!0,"y-input__floating-label":e.floating,"y-input__floating-label--floated":e.floating&&V.value}],for:`y-input--${l}`},[t.label?t.label():e.label?n.createVNode(n.Fragment,null,[e.label,e.required&&n.createVNode("span",{class:"y-input__required-mark"},[n.createTextVNode("*")])]):e.placeholder&&!y.value&&e.placeholder])}return o({...e.extended??{},createLabel:L,invokeValidators:x,validate:x,resetError:b}),R(()=>n.createVNode("div",{class:[`${ae}`,{...E.value}]},[t.prepend&&n.createVNode("div",{class:`${ae}__prepend`},[t.prepend()]),n.createVNode("div",{ref:g,class:[`${ae}__stack`]},[!e.floating&&L(),t["leading-out"]&&t["leading-out"](),n.createVNode("div",{ref:p,class:`${ae}__display`,style:[{...k.value}],"data-base-parent":!0,onClick:C,onMousedown:N,onMouseup:S,onKeydown:Y},[n.createVNode("div",{class:`${ae}__plate`},null),t.leading&&n.createVNode("div",{class:"y-input__leading",onClick:A},[t.leading({error:f.value})]),t.default?t.default({value:e.modelValue,loading:h.value,attrId:`y-input--${l}`,focused:c.value}):n.createVNode("div",{class:`${ae}__value`,"data-id":`y-input--${l}`,tabindex:0,onFocus:$,onBlur:P},[e.floating&&L(),e.modelValue?.toString()]),t.trailing?.()]),t["trailing-out"]&&t["trailing-out"](),n.createVNode("div",{class:`${ae}__helper-text`},[t["helper-text"]?n.createVNode("span",null,[t["helper-text"]({error:f.value,errors:T.value,errorResult:D.value})]):e.helperText??D.value])]),t.append&&n.createVNode("div",{class:`${ae}__append`},[t.append()])])),{...e.extended??{},themeClasses:i,isFocused:c,focusedClasses:u,whenFocus:s,whenBlur:d,createLabel:L,invokeValidators:x}}}),wt=M({name:"YIconClear",setup(){return()=>n.createVNode("svg",{role:"presentation",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"m8 1.5c-3.5839 0-6.5 2.9161-6.5 6.5 0 3.5839 2.9161 6.5 6.5 6.5 3.5839 0 6.5-2.9161 6.5-6.5 0-3.5839-2.9161-6.5-6.5-6.5zm-2 4a.5.5 0 01.35352.14648l1.6465 1.6465 1.6465-1.6465a.5.5 0 01.35352-.14648.5.5 0 01.35352.14648.5.5 0 010 .70703l-1.6465 1.6465 1.6465 1.6465a.5.5 0 010 .70703.5.5 0 01-.70703 0l-1.6465-1.6465-1.6465 1.6465a.5.5 0 01-.70703 0 .5.5 0 010-.70703l1.6465-1.6465-1.6465-1.6465a.5.5 0 010-.70703.5.5 0 01.35352-.14648z",fill:"currentColor","stroke-miterlimit":"10"},null)])}}),qe="y-field-input",St=B({enableClear:Boolean,inputAlign:String,inlineLabel:Boolean,displayText:[String,Function],whenInputValid:[Boolean,Number],tabindex:{type:String,default:"0"},type:{type:String,default:"text"},inputStyle:Object,...Pe({variation:"filled"})},"YFieldInput"),Xe=M({name:"YFieldInput",props:{...St()},emits:["update:modelValue","update:focused","input","change","click","mousedown","mouseup","keydown","keyup","focus","blur","mousedown:display","keydown:display","click:clear"],slots:Object,setup(e,{attrs:t,expose:a,emit:o,slots:r}){const l=n.ref(),i=n.ref(),{focused:c,whenFocus:u,whenBlur:s}=vt(e,"y-field-input"),d=n.ref(""),m=n.ref(""),v=n.toRef(e,"type"),h=n.computed(()=>({[qe]:!0,[`${qe}--inline-label`]:!!e.inlineLabel}));function x(N){o("click",N)}function b(N){u(),m.value=d.value,o("focus",N)}function f(N){s(),o("blur",N),E()}function w(N){o("input",N);const S=N.target;d.value=S?.value,m.value=S?.value}function T(N){o("change",d.value)}function D(N){o("keydown",N)}function g(N){o("keyup",N)}function p(N){o("click:clear",N),V()}function y(N){(N.code==="Space"||N.code==="Enter")&&V()}function _(){i.value?.focus()}function O(){i.value?.select()}function V(){d.value="",m.value="",o("update:modelValue",d.value),o("change",d.value)}function E(){const N=n.getCurrentInstance(),{displayText:S}=e;if(S!==void 0){let Y=d.value;typeof S=="string"&&(Y=S),S&&typeof S=="function"&&(Y=S.call(N,Y)),n.nextTick(()=>{m.value=Y})}}n.watch(()=>e.modelValue,N=>{d.value=N,m.value=N},{immediate:!0}),n.watch(d,N=>{c.value?m.value=N:E()},{immediate:!0});const k={focus:_,select:O,clear:V};a({...k,input$:i,validate:()=>l.value?.invokeValidators(),resetError:()=>l.value?.resetError()});function C(N){o("update:modelValue",N)}return R(()=>n.createVNode(be,n.mergeProps({class:h.value,ref:l},z(e,be.props),{modelValue:d.value,focused:c.value,extended:k,"onUpdate:modelValue":C,onClick:x,"onMousedown:display":N=>o("mousedown:display",N),"onKeydown:display":N=>o("keydown:display",N),style:[t.style]}),{leading:r.leading?N=>{const S=[],Y=r.leading?.(N);if(Y)S.push(Y);else return;return S}:void 0,default:N=>n.createVNode("div",{class:[`${qe}__field`],"data-id":N.attrId,ref:"field"},[e.floating?l.value?.createLabel?.():void 0,r.default?.({...N,focused:c.value}),n.createVNode("input",{ref:i,value:m.value,name:e.name,id:N.attrId,type:v.value,readonly:e.readonly||e.loading||N.loading,placeholder:e.placeholder,disabled:e.disabled,tabindex:e.tabindex||"0",autocomplete:t.autocomplete,maxlength:t.maxlength,min:t.min,max:t.max,style:[e.inputStyle,{textAlign:e.inputAlign}],size:t.size??1,onInput:w,onFocus:b,onBlur:f,onChange:T,onKeydown:D,onKeyup:g},null)]),trailing:r.trailing||e.enableClear&&d.value?()=>n.createVNode(n.Fragment,null,[e.enableClear&&d.value&&n.createVNode("div",{class:["y-input__trailing","y-input__trailing--clear"]},[n.createVNode("button",{type:"button",class:[`${qe}__clear`],disabled:e.disabled,onClick:p,onKeydown:y,tabindex:2},[n.createVNode(wt,null,null)])]),r.trailing&&n.createVNode("div",{class:["y-input__trailing"]},[r.trailing()])]):void 0,label:r.label?()=>r.label?.():void 0,prepend:r.prepend?()=>r.prepend?.():void 0,append:r.append?()=>r.append?.():void 0,"leading-out":r["leading-out"]?()=>r["leading-out"]?.():void 0,"trailing-out":r["trailing-out"]?()=>r["trailing-out"]?.():void 0,"helper-text":r["helper-text"]?N=>r["helper-text"]?.(N):void 0})),{focused:c,inValue:d}}}),Vn=B({displayText:[String,Function],whenInputValid:[Boolean,Number],...Pe({variation:"filled"})},"YTextarea"),_n="y-textarea",nr=M({name:"YTextarea",props:Vn(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0,"mousedown:display":e=>!0,input:e=>!0,change:(e,t)=>!0,focus:e=>!0,blur:e=>!0,click:e=>!0,keydown:e=>!0,keyup:e=>!0},slots:Object,setup(e,{attrs:t,emit:a,slots:o,expose:r}){const l=we(),i=n.ref(),c=n.ref(),u=n.ref(""),s=n.ref(""),{focused:d,whenFocus:m,whenBlur:v}=vt(e,"y-field-input");function h(y){a("update:modelValue",y)}function x(){const y=n.getCurrentInstance(),{displayText:_}=e;if(_!==void 0){let O=u.value;typeof _=="string"&&(O=_),_&&typeof _=="function"&&(O=_.call(y,O)),n.nextTick(()=>{s.value=O})}}function b(y){a("input",y);const _=y.target;u.value=_?.value,s.value=_?.value}function f(y){a("change",u.value,y)}function w(y){m(),s.value=u.value,a("focus",y)}function T(y){v(),a("blur",y),x()}function D(y){a("keydown",y)}function g(y){a("keyup",y)}function p(y){a("click",y)}return n.watch(()=>e.modelValue,y=>{u.value=y,s.value=y},{immediate:!0}),n.watch(u,y=>{d.value?s.value=y:x()}),r({el$:i,input$:c,validate:()=>i.value?.invokeValidators()}),R(()=>{const y=z(e,be.props);return n.createVNode(be,n.mergeProps({class:[_n]},y,{modelValue:u.value,"onUpdate:modelValue":h,focused:d.value,onClick:p,"onMousedown:display":_=>a("mousedown:display",_)}),{default:_=>n.createVNode("div",{class:[`${_n}__field`],"data-id":_.attrId,ref:"field"},[e.floating?i.value?.createLabel?.():void 0,o.default?()=>o.default(_):void 0,n.createVNode("textarea",n.mergeProps({ref:c,value:s.value,id:`y-input--${l}`,disabled:e.disabled,placeholder:e.placeholder,readonly:e.readonly,required:e.required},t,{onInput:b,onFocus:w,onBlur:T,onChange:f,onKeydown:D,onKeyup:g}),null)]),label:o.label?()=>o.label?.():void 0,"helper-text":o["helper-text"]?()=>o["helper-text"]?.():void 0})}),{el$:i,input$:c}}}),ar="y-form",or=M({name:"YForm",props:{...Xo()},emits:{"update:modelValue":e=>!0,submit:e=>!0,"keydown.enter":e=>!0},setup(e,{emit:t,slots:a,expose:o}){const r=Zo(e),l=n.ref();function i(u){const s=r.validate(),d=vo(u,s);t("submit",d),d.defaultPrevented||s.then(({valid:m})=>{m&&l.value?.submit()}),d.preventDefault()}function c(u){u.preventDefault(),u.stopImmediatePropagation(),t("keydown.enter",u)}o({...r}),R(()=>n.createVNode("form",{ref:l,class:[ar],novalidate:!0,onSubmit:i,onKeydown:n.withKeys(c,["enter"])},[a.default?.()]))}}),rr={search:"search",noItems:"No Options",noData:"No Data"},Tn="$yuyeon";function Dn(e,t){return e.replace(/\{(\d+)\}/g,(a,o)=>String(t[+o]))}function En(e,t,a){function o(i,...c){if(!i.startsWith(Tn))return Dn(i,c);const u=i.replace(Tn,""),s=e.value&&a.value[e.value],d=t.value&&a.value[t.value];let m=H(s,u,null);return m||(m=H(d,u,null)),m||(m=i),typeof m!="string"&&(m=i),Dn(m,c)}function r(i,c){return new Intl.NumberFormat([e.value,t.value],c).format(i)}function l(i){const c=mt(i,"locale",e),u=mt(i,"fallbackLocale",t),s=mt(i,"messages",a),d=En(c,u,s);return{name:"yuyeon",locale:e,fallbackLocale:t,messages:a,t:d.translate,n:d.number,getContext:d.getContext}}return{translate:o,number:r,getContext:l}}function lr(e){const t=n.shallowRef(e?.locale??"en"),a=n.shallowRef(e?.fallbackLocale??"en"),o=n.ref({en:rr,...e?.messages}),r=En(t,a,o);return{name:"yuyeon",locale:t,fallbackLocale:a,messages:o,t:r.translate,n:r.number,getContext:r.getContext}}function ir(e){return e?.adapter&&e.adapter?.name?e.adapter:lr(e)}const cr={af:"af-ZA",bg:"bg-BG",ca:"ca-ES",cs:"cs-CZ",de:"de-DE",el:"el-GR",en:"en-US",et:"et-EE",fa:"fa-IR",fi:"fi-FI",hr:"hr-HR",hu:"hu-HU",he:"he-IL",id:"id-ID",it:"it-IT",ja:"ja-JP",ko:"ko-KR",lv:"lv-LV",lt:"lt-LT",nl:"nl-NL",no:"no-NO",pl:"pl-PL",pt:"pt-PT",ro:"ro-RO",ru:"ru-RU",sk:"sk-SK",sl:"sl-SI",srCyrl:"sr-SP",srLatn:"sr-SP",sv:"sv-SE",th:"th-TH",tr:"tr-TR",az:"az-AZ",uk:"uk-UA",vi:"vi-VN",zhHans:"zh-CN",zhHant:"zh-TW"},sr={af:!1,ar:!0,bg:!1,ca:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1},On=Symbol.for("yuyeon.i18n");function ur(e,t){const a=n.ref(t?.rtlOptions??sr),o=n.computed(()=>a.value[e.locale.value]??!1),r=n.computed(()=>`y-i18n--${o.value?"rtl":"ltr"}`);return{rtlOptions:a,rtl:o,rtlClasses:r}}function dr(e){const t=ir(e),a=ur(t,e);return{localeModule:t,rtlModule:a}}function Ie(){const e=n.inject(On);if(!e)throw new Error('【yuyeon】 Not found provided "I18nModule"');return e}function An(e,t){const a=n.reactive(typeof e.adapter=="function"?new e.adapter({locale:e.locale[t.locale.value]??t.locale.value,formats:e.formats}):e.adapter);return n.watch(t.locale,o=>{a.locale=e.locale[o]??o??a.locale}),a}const xt={AD:1,AE:6,AF:6,AG:0,AI:1,AL:1,AM:1,AN:1,AR:1,AS:0,AT:1,AU:1,AX:1,AZ:1,BA:1,BD:0,BE:1,BG:1,BH:6,BM:1,BN:1,BR:0,BS:0,BT:0,BW:0,BY:1,BZ:0,CA:0,CH:1,CL:1,CM:1,CN:1,CO:0,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DM:0,DO:0,DZ:6,EC:1,EE:1,EG:6,ES:1,ET:0,FI:1,FJ:1,FO:1,FR:1,GB:1,GE:1,GF:1,GP:1,GR:1,GT:0,GU:0,HK:0,HN:0,HR:1,HU:1,ID:0,IE:1,IL:0,IN:0,IQ:6,IR:6,IS:1,IT:1,JM:0,JO:6,JP:0,KE:0,KG:1,KH:0,KR:0,KW:6,KZ:1,LA:0,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MH:0,MK:1,MM:0,MN:1,MO:0,MQ:1,MT:0,MV:5,MX:0,MY:1,MZ:0,NI:0,NL:1,NO:1,NP:0,NZ:1,OM:6,PA:0,PE:0,PH:0,PK:0,PL:1,PR:0,PT:0,PY:0,QA:6,RE:1,RO:1,RS:1,RU:1,SA:0,SD:6,SE:1,SG:0,SI:1,SK:1,SM:1,SV:0,SY:6,TH:0,TJ:1,TM:1,TR:1,TT:0,TW:0,UA:1,UM:0,US:0,UY:1,UZ:1,VA:1,VE:0,VI:0,VN:1,WS:0,XK:1,YE:0,ZA:0,ZW:0},fr=1e3*60*60*24,mr=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/,Ze=new Date(1970,0,4);class j{static date(t){if(t==null)return new Date;if(t instanceof Date)return t;let a;if(typeof t=="string"){if(mr.test(t))return j.parseLocalDate(t);if(a=Date.parse(t),!isNaN(a))return new Date(a)}return null}static format(t,a,o,r){const l=j.date(t)??new Date,i=r?.[a];if(typeof i=="function")return i(l,a,o);let c={};switch(a){case"fullDateWithWeekday":c={weekday:"long",day:"numeric",month:"long",year:"numeric"};break;case"normalDateWithWeekday":c={weekday:"short",day:"numeric",month:"short"};break;case"keyboardDate":c={day:"2-digit",month:"2-digit",year:"numeric"};break;case"monthAndDate":c={month:"long",day:"numeric"};break;case"monthAndYear":c={month:"long",year:"numeric"};break;case"year":c={year:"numeric"};break;case"month":c={month:"long"};break;case"monthShort":c={month:"short"};break;case"dayOfMonth":c={day:"numeric"};break;case"shortDate":c={year:"2-digit",month:"numeric",day:"numeric"};break;default:c=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(o,c).format(l)}static parseLocalDate(t){const a=t.split("-").map(Number);return new Date(a[0],a[1]-1,a[2])}static parseISO(t){const[a,o,r]=t.split("-").map(Number);return new Date(a,o-1,r)}static toISO(t,a){const o=t.toJsDate(a),r=o.getFullYear(),l=o.getMonth()+1<10?`0${o.getMonth()+1}`:`${o.getMonth()+1}`,i=o.getDate()<10?`0${o.getDate()}`:`${o.getDate()}`;return`${r}-${l}-${i}`}static getWeekArray(t,a){const o=[];let r=[];const l=j.startOfMonth(t),i=j.endOfMonth(t),c=(l.getDay()-xt[a.slice(-2).toUpperCase()]+7)%7,u=(i.getDay()-xt[a.slice(-2).toUpperCase()]+7)%7;for(let s=0;s<c;s++){const d=new Date(l);d.setDate(d.getDate()-(c-s)),r.push(d)}for(let s=1;s<=i.getDate();s++)r.push(new Date(t.getFullYear(),t.getMonth(),s)),r.length===7&&(o.push(r),r=[]);for(let s=1;s<7-u;s++){const d=new Date(i);d.setDate(d.getDate()+s),r.push(d)}return r.length>0&&o.push(r),o}static startOfMonth(t){return new Date(t.getFullYear(),t.getMonth(),1)}static endOfMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}static startOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())}static startOfYear(t){return new Date(t.getFullYear(),0,1)}static endOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59,999)}static endOfYear(t){return new Date(t.getFullYear(),11,31)}static getYear(t){return t.getFullYear()}static getMonth(t){return t.getMonth()}static getDay(t){return t.getDate()}static getNextMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,1)}static getWeekdays(t,a){let o=xt[t.slice(-2).toUpperCase()]??0;return typeof a<"u"&&a>=0&&a<7&&(o=a),[...Array(7).keys()].map(r=>{const l=new Date(Ze);return l.setDate(Ze.getDate()+o+r),new Intl.DateTimeFormat(t,{weekday:"narrow"}).format(l)})}static getMeridians(t){const a=new Date(Ze).setHours(11),o=new Date(Ze).setHours(13),r=Intl.DateTimeFormat(t,{minute:"numeric",hour:"numeric",hour12:!0});return[r.format(a).replace(/\d+:\d+/,"").trim(),r.format(o).replace(/\d+:\d+/,"").trim()]}static isAfter(t,a){return t.getTime()>a.getTime()}static isBefore(t,a){return t.getTime()<a.getTime()}static isEqual(t,a){return t.getTime()===a.getTime()}static isSameDay(t,a){return t.getDate()===a.getDate()&&t.getMonth()===a.getMonth()&&t.getFullYear()===a.getFullYear()}static isSameMonth(t,a){return!!(t.getMonth()===a.getMonth()&&t.getFullYear()&&a.getFullYear())}static isValid(t){const a=new Date(t);return a instanceof Date&&!isNaN(a.getTime())}static isWithinRange(t,a){return j.isAfter(t,a[0])&&j.isBefore(t,a[1])}static addDays(t,a){const o=new Date(t);return o.setDate(o.getDate()+a),o}static addMonths(t,a){const o=new Date(t);return o.setMonth(o.getMonth()+a),o}static getDiff(t,a,o){const r=new Date(t),l=new Date(a);return o==="month"?r.getMonth()-l.getMonth()+(r.getFullYear()-l.getFullYear())*12:Math.floor(r.getTime()-l.getTime())/fr}static setMonth(t,a){const o=new Date(t);return o.setMonth(a),o}static setYear(t,a){const o=new Date(t);return o.setFullYear(a),o}static getHour(t){return t.getHours()}static setHour(t,a){const o=new Date(t);return o.setHours(a),o}static getMinute(t){return t.getMinutes()}static setMinute(t,a){const o=new Date(t);return o.setMinutes(a),o}static parseTime(t,a){const o=String(a).replace(/\D/g,"");if(!o)return null;const r=o.length,l=j.includesPm(t,a);let i,c;if(r===1||r===2)i=parseInt(o,10),c=0;else if(r===3)i=parseInt(o[0],10),c=parseInt(o.slice(1),10);else{const u=o.slice(0,4);i=parseInt(u.slice(0,2),10),c=parseInt(u.slice(2),10)}return i<12&&l&&(i+=12),i<0||i>23||c<0||c>59?null:{hours:i,minutes:c}}static includesPm(t,a){if(a.trim().toLowerCase().includes("pm"))return!0;const o=j.getMeridians(t);return!!o[1]&&a.trim().includes(o[1])}}class yr{locale="ko-kr";formats;constructor(t){this.locale=t.locale,this.formats=t.formats}getWeekArray(t){return j.getWeekArray(t,this.locale)}startOfMonth(t){return j.startOfMonth(t)}endOfMonth(t){return j.endOfMonth(t)}addDays(t,a){return j.addDays(t,a)}addMonths(t,a){return j.addMonths(t,a)}date(t){return j.date(t)}endOfDay(t){return j.endOfDay(t)}endOfYear(t){return j.endOfYear(t)}format(t,a){return j.format(t,a,this.locale,this.formats)}getDiff(t,a,o){return j.getDiff(t,a,o)}getYear(t){return j.getYear(t)}getMonth(t){return j.getMonth(t)}getDay(t){return j.getDay(t)}getNextMonth(t){return j.getNextMonth(t)}getWeekdays(t){return j.getWeekdays(this.locale,t)}isAfter(t,a){return j.isAfter(t,a)}isBefore(t,a){return j.isBefore(t,a)}isEqual(t,a){return j.isEqual(t,a)}isSameDay(t,a){return j.isSameDay(t,a)}isSameMonth(t,a){return j.isSameMonth(t,a)}isValid(t){return j.isValid(t)}isWithinRange(t,a){return j.isWithinRange(t,a)}parseISO(t){return j.parseISO(t)}setMonth(t,a){return j.setMonth(t,a)}setYear(t,a){return j.setYear(t,a)}startOfDay(t){return j.startOfDay(t)}startOfYear(t){return j.startOfYear(t)}toISO(t){return j.toISO(this,t)}toJsDate(t){return t}getHour(t){return j.getHour(t)}getMinute(t){return j.getMinute(t)}setHour(t,a){return j.setHour(t,a)}setMinute(t,a){return j.setMinute(t,a)}parseTime(t){return j.parseTime(this.locale,t)}}function hr(e){return re({adapter:yr,locale:cr},e)}const gr=Symbol.for("yuyeon.date"),Pn=Symbol.for("yuyeon.date-options");function vr(e,t){const a=hr(e);return{options:a,instance:An(a,t)}}function Je(){const e=n.inject(Pn);if(!e)throw new Error('【yuyeon】 Not found provided "DateModule" for options');const t=Ie();return An(e,t)}const In=typeof window<"u",Mn={canUseIntersectionObserver:In&&"IntersectionObserver"in window,canUseResizeObserver:In&&"ResizeObserver"in window};function pe(e){const t=n.ref(),a=n.ref();if(Mn.canUseResizeObserver){const o=new ResizeObserver((r,l)=>{e?.(r,l),r.length&&(a.value=r[0].contentRect)});n.onBeforeUnmount(()=>{o.disconnect()}),n.watch(t,(r,l)=>{if(l){const i=dt(l);i&&o.unobserve(i),a.value=void 0}if(r){const i=dt(r);i&&o.observe(i)}},{flush:"post"})}return{resizeObservedRef:t,contentRect:n.readonly(a)}}function br(e,t){const a=n.ref(!1),o=n.ref();o.value=t.value;const r=n.computed(()=>e.value?t.value:o.value);n.watch(t,()=>{a.value||(o.value=t.value),e.value||(a.value=!0)});function l(){o.value=t.value,e.value||(a.value=!1)}function i(){document.visibilityState==="visible"&&(o.value=t.value,a.value=!1)}return n.onMounted(()=>{document.addEventListener("visibilitychange",i)}),n.onUnmounted(()=>{document.removeEventListener("visibilitychange",i)}),{entered:a,lazyValue:r,onAfterUpdate:l}}function pr(e,t,a){const{tickDuration:o}={};let r=o??100,l=-1;const i=n.ref(0),c=n.ref(n.unref(t)),u=n.ref(!1);function s(){const h=Date.now(),x=h-i.value;let b=r;const f=c.value-x;if(c.value=f,f<1){e();return}const w=x-r;w>0?b-=w:w<0&&(b+=w),f>=1&&(i.value=h,l=window.setTimeout(s,b))}function d(){u.value||(u.value=!0,i.value=Date.now(),l=window.setTimeout(s,r))}function m(){window.clearTimeout(l),l=-1,u.value=!1}function v(){m(),c.value=n.unref(t)}return{start:d,stop:m,reset:v,drift:c,isWork:u}}function wr(e,t){const a={};function o(i){a[i]&&window.clearTimeout(a[i]),delete a[i]}function r(i,c,u){a[i]=window.setTimeout(()=>{const s=i==="openDelay";t?.(s),u(s)},c)}const l=i=>()=>{o("openDelay"),o("closeDelay");const c=e[i]??0;return new Promise(u=>{const s=parseInt(String(c),10);r(i,s,u)})};return{startOpenDelay:l("openDelay"),startCloseDelay:l("closeDelay")}}const Me=B({transition:{type:[String,Object],default:"slide-fade"}},"PolyTransition");function Yn(e){return{polyTransitionBindProps:n.computed(()=>{const{is:a,...o}=typeof e.transition=="object"?e.transition:{is:e.transition,name:e.transition};return{is:a,transitionProps:o}})}}const Ye=(e,{slots:t})=>{const{is:a,transitionProps:o,...r}=e,{component:l=n.Transition,...i}=typeof a=="object"?{component:a,...o}:{name:a};return n.h(l,{...i,...o,...r},t)};function Bn(e){const t=n.shallowRef(0),a=n.computed(()=>{const{modelValue:o,value:r}=e,l=Number(o??r);return Number.isNaN(l)||l<0?0:l>100?100:l});return n.watch(a,(o,r)=>{t.value=o-r}),{numValue:a,delta:t}}const $n=M({name:"YProgressBar",props:{modelValue:{type:Number},rounded:{type:Boolean},height:{type:Number},noRewindTransition:{type:Boolean},outlined:{type:Boolean},innerText:{type:Boolean},color:{type:String,default:"primary"},textColor:{type:String},outlineColor:{type:String},indeterminate:Boolean,reverse:Boolean},setup(e,{slots:t}){const{numValue:a,delta:o}=Bn(e),r=n.computed(()=>{let c=!1;return e.noRewindTransition&&o.value<0&&(c=!0),{"y-progress--no-trans":c,"y-progress--outlined":e.outlined,"y-progress--indeterminate":e.indeterminate,"y-progress-bar--rounded":e.rounded,"y-progress-bar--reverse":e.reverse}}),l=n.computed(()=>{let c=e.color??"";return Se(c)||(c=`var(--y-theme-${c})`),c}),i=n.computed(()=>{let c;return e.innerText&&a.value<5&&a.value>0&&(c="2rem"),{width:`${a.value}%`,minWidth:c}});return R(()=>n.createVNode("div",{class:{"y-progress y-progress-bar":!0,...r.value},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":a.value,style:{"--y-progress-bar__height":e.height!==void 0?`${e.height}px`:void 0,"--y-progress-bar__outline-color":e.outlineColor!==void 0?e.outlineColor:void 0,"--y-progress-bar__color":l.value,"--y-progress-bar__value":a.value}},[n.createVNode("div",{class:"y-progress__track"},null),n.createVNode("div",{class:"y-progress__tube"},[n.createVNode("div",{class:"y-progress__lead",style:i.value},[t["lead-inner"]?t["lead-inner"]():e.innerText&&n.createVNode("div",{class:{"y-progress__lead-inner":!0,"y-progress__lead-inner--fixed":a.value<3},style:{color:e.textColor}},[n.createVNode("span",null,[a,n.createTextVNode(" %")])])]),t["tube-append"]&&t["tube-append"]()])])),{numValue:a,delta:o}}}),Nt=(e,t)=>e.includes(t),Rn=["top","bottom"],Sr=["start","end","left","right"];function Ln(e,t){let[a,o]=e.split(" ");return o||(o=Nt(Rn,a)?"start":Nt(Sr,a)?"top":"center"),{side:Fn(a,t),align:Fn(o,t)}}function Fn(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function Ct(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function kt(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function jn(e){return{side:e.align,align:e.side}}function Kn(e){return Nt(Rn,e.side)?"y":"x"}function Vt(e,t=0,a={leading:!1,trailing:!0}){let o,r,l=0,i,c,u,s=0,d=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError("NOT Function");t=+t||0,go(a)&&(d=!!a.leading,m="maxWait"in a,l=m?Math.max(+(a?.maxWait||0),t):l,v="trailing"in a?!!a.trailing:v);function h(y){const _=o,O=r;return o=r=void 0,s=y,i=e.apply(O,_),i}function x(y){return s=y,c=window.setTimeout(w,t),d?h(y):i}function b(y){var _=y-(u??0),O=y-(s??0),V=t-_;return m?Math.min(V,(l??0)-O):V}function f(y){var _=y-(u??0),O=y-(s??0);return u===void 0||_>=t||_<0||m&&O>=(l??0)}function w(){const y=Date.now();if(f(y))return T(y);c=window.setTimeout(w,b(y))}function T(y){return c=void 0,v&&o?h(y):(o=r=void 0,i)}function D(){c!==void 0&&clearTimeout(c),s=0,o=u=r=c=void 0}function g(){return c===void 0?i:T(Date.now())}function p(){const y=Date.now(),_=f(y);if(o=arguments,r=this,u=y,_){if(c===void 0)return x(u);if(m)return clearTimeout(c),c=window.setTimeout(w,t),h(u)}return c===void 0&&(c=window.setTimeout(w,t)),i}return p.cancel=D,p.flush=g,p}function _t(e){const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}function xr(e,t,a){if(!e)return!1;const o=_t(t);if(typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&o.host===e.target)return!1;const r=[];return r.push(t),!r.some(l=>l?.contains(e.target))}class Nr{clean=!0;frames=[];raf=-1;run(){cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame(()=>{const t=this.frames.shift();t&&t(),frames.length?this.run():this.clean=!0})}requestNewFrame(t){!this.clean||this.frames.length?(this.frames.push(t),this.run()):(this.clean=!1,t(),this.run())}}function Cr(e){const t=n.reactive({}),a=n.computed(e);return n.watchEffect(()=>{for(const o in a.value)t[o]=a.value[o]},{flush:"sync"}),n.toRefs(t)}class Be{x;y;width;height;constructor({x:t,y:a,width:o,height:r}){this.x=t??0,this.y=a??0,this.width=o??0,this.height=r??0}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function Wn(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function kr(e,t){for(;e;){if(Tt(e))return e;e=e.parentElement}return document.scrollingElement}function Qe(e,t,a){const o=[];if(t&&e&&!t.contains(e))return o;for(;e&&(Tt(e)&&o.push(e),e!==t);)e=e.parentElement;return o}function Tt(e,t){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const a=window.getComputedStyle(e);return a.overflowY==="scroll"||a.overflowY==="auto"&&e.clientHeight<e.scrollHeight}const Vr=M({name:"YProgressRing",props:{modelValue:{type:Number},rounded:{type:Boolean},size:{type:Number,default:32},noRewindTransition:{type:Boolean},color:{type:String,default:"primary"},indeterminate:Boolean,reverse:Boolean,width:{type:Number,default:20}},setup(e,{slots:t}){const a=2*Math.PI*24,{numValue:o,delta:r}=Bn(e),l=n.computed(()=>{let s=e.color??"";return Se(s)||(s=`var(--y-theme-${s})`),s}),i=n.computed(()=>{const s=de(e.width,1,100);if(s===100)return"";const d=48,m=64,v=(100-s)/100*(d/2);return`polygon(100% 50%, 100% 100%, 0 100%, 0 0, 100% 0, 100% 50%, ${[...Array(m)].map((x,b)=>{const f=-b/(m-1)*Math.PI*2,w=Math.cos(f)*v+d/2,T=Math.sin(f)*v+d/2;return`${w}px ${T}px`}).join(",")})`}),c=n.computed(()=>a-a*o.value/100),u=n.computed(()=>{let s=!1;return e.noRewindTransition&&r.value<0&&(s=!0),{"y-progress--no-trans":s,"y-progress--indeterminate":e.indeterminate,"y-progress-ring--hole":!!i.value}});return R(()=>n.createVNode("div",{class:{"y-progress y-progress-ring":!0,...u.value},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":o.value,style:{"--y-progress-ring__size":F(e.size),"--y-progress-ring__color":l.value,"--y-progress-ring__value":o.value,"--y-progress-ring__hole-path":i.value}},[n.createVNode("svg",{class:"y-progress-ring__tube",width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("circle",{class:"y-progress-ring__track",cx:"24",cy:"24",r:"24"},null),n.createVNode("circle",{class:"y-progress-ring__lead",cx:"24",cy:"24",r:"12","stroke-width":"24","stroke-dasharray":a/2,"stroke-dashoffset":c.value/2},null)])])),{numValue:o,delta:r}}}),et=M({name:"YCard",props:{outline:{type:Boolean},...xe()},setup(e,{slots:t}){const{themeClasses:a}=Ne(e);R(()=>n.h("div",{class:["y-card",{"y-card--outlined":e.outline},a.value]},t.default?.()))}}),_r=M({name:"YCardBody",render(){return n.h("div",{class:"y-card__body"},this.$slots.default?.())}}),Tr=M({name:"YCardFooter",render(){return n.h("div",{class:"y-card__footer"},this.$slots.default?.())}}),Dr=M({name:"YCardHeader",render(){return n.h("div",{class:"y-card__header"},this.$slots.default?.())}}),Hn={color:String,background:String,backgroundOpacity:{type:Number}},Er=B(Hn,"style-color");function zn(e,t){return{colorVars:n.computed(()=>{let{color:o,background:r}=e;return r||(r=o),o&&!Se(o)&&(o=`var(--y-theme-${o})`),r&&(Se(r)?r=`rgba(${$o(r)}, ${e.backgroundOpacity})`:r.startsWith("var(")||(r=`rgba(${`var(--y-theme-${r}-rgb)`}, ${e.backgroundOpacity})`)),{[`--y-${t}__color`]:o,[`--y-${t}__background`]:r}})}}const Un=B({...Hn,small:Boolean},"YChip"),Or=M({name:"YChip",props:{...Un()},setup(e,{slots:t,emit:a}){const o=n.computed(()=>ut(e,"click")),{colorVars:r}=zn(e,"chip");return R(()=>n.createVNode("span",{class:["y-chip",{"y-chip--small":e.small,"y-chip--clickable":o.value}],style:r.value},[n.createVNode("span",{class:"y-chip__content"},[t.default?.()])])),{}}}),Gn=B({modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Object]},max:{type:Number},loading:{type:Boolean},disabled:{type:Boolean},stickOut:{type:Boolean},stateLabel:{type:Boolean},color:{type:String},labelOn:{type:String,default:"ON"},labelOff:{type:String,default:"OFF"}},"YSwitch"),Ar=M({name:"YSwitch",props:{...Gn()},emits:["update:modelValue","change","click","focus","blur","keydown","overmax"],setup(e,{emit:t,slots:a}){const r=`input-${(we()??"").toString()}`,l=n.ref(),i=K(e),c=n.ref(!1),u=n.ref(!1),s=n.computed(()=>Array.isArray(i.value)),d=n.computed(()=>s.value?i.value.findIndex(g=>g===e.value):-1),m=n.computed(()=>({"y-switch--active":c.value,"y-switch--focused":u.value,"y-switch--disabled":!!e.disabled,"y-switch--loading":!!e.loading,"y-switch--stick-out":!!e.stickOut}));n.watch(i,()=>{v()},{immediate:!0});function v(){const g=i.value;if(Array.isArray(g)){const p=g.find(y=>y===e.value);c.value=p!==void 0}else typeof g=="boolean"&&(c.value=g)}function h(g){const p=i.value;if(Array.isArray(p)){const y=p.slice();if(g&&e.max!==void 0&&y.length>=e.max){t("overmax"),x(!1);return}g&&d.value<0?y.push(e.value):d.value>-1&&y.splice(d.value,1),t("change",y)}}function x(g,p){n.nextTick(()=>{c.value=g})}function b(g){u.value=!0,t("focus",g)}function f(g){u.value=!1,t("blur",g)}function w(g){e.disabled||e.loading||T(!c.value)}function T(g,p){c.value=g,s.value?h(g):(i.value=g,t("change",g))}function D(g){t("keydown",g)}R(()=>{const g={backgroundColor:e.color};return n.createVNode("div",{class:{"y-switch":!0,...m.value}},[n.createVNode("div",{class:"y-switch__slot"},[n.createVNode("div",{class:"y-switch__input",onClick:n.withModifiers(w,["exact"]),onKeydown:D},[n.createVNode("input",{ref:l,id:r,"aria-checked":c.value,type:"checkbox",role:"switch",onFocus:b,onBlur:f,disabled:e.disabled,checked:c.value},null),n.createVNode("div",{class:"y-switch__track",style:g},[e.stateLabel&&n.createVNode("div",{class:"y-switch__state"},[n.createVNode("span",{class:"y-switch__state-label y-switch__state-label--on"},[e.labelOn]),n.createVNode("span",{class:"y-switch__state-label y-switch__state-label--off"},[e.labelOff])])]),n.createVNode("div",{class:"y-switch__thumb"},[e.loading&&n.createVNode("div",{class:"y-switch__spinner"},null)])]),a.label&&n.createVNode("label",{for:r,class:"y-switch__label"},[a.label?.(),n.createVNode("input",{hidden:!0},null)])])])})}});function Pr(e,t,a,o){const{contentEl:r,base:l,active:i}=t;function c(){}return{updateCoordinate:c}}function Dt(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ir(e,t){return{x:e.x-t.x,y:e.y-t.y}}function qn(e,t){if(e.side==="top"||e.side==="bottom"){const{side:a,align:o}=e,r=o==="left"?0:o==="center"?t.width/2:o==="right"?t.width:o,l=a==="top"?0:a==="bottom"?t.height:a;return Dt({x:r,y:l},t)}else if(e.side==="left"||e.side==="right"){const{side:a,align:o}=e,r=a==="left"?0:a==="right"?t.width:a,l=o==="top"?0:o==="center"?t.height/2:o==="bottom"?t.height:o;return Dt({x:r,y:l},t)}return Dt({x:t.width/2,y:t.height/2},t)}function Mr(e,t,a,o){const{contentEl:r,pivot:l}=t,i=n.ref(!1),c=n.ref([!1,!1]),[u,s,d,m]=["minWidth","minHeight","maxWidth","maxHeight"].map(g=>n.computed(()=>{const p=parseFloat(e[g]);return Number.isNaN(p)?1/0:p})),{preferredAnchor:v,preferredOrigin:h}=Cr(()=>{const g=`${e.position} ${e.align}`,p=Ln(g,!1),y=e.origin==="overlap"?p:e.origin==="auto"?Ct(p):Ln(e.origin,!1);return p.side===y.side&&p.align===kt(y).align?{preferredAnchor:jn(p),preferredOrigin:jn(y)}:{preferredAnchor:p,preferredOrigin:y}}),x=n.computed(()=>Xn(e.offset)),b=n.computed(()=>Xn(e.viewportMargin));let f=!1;const w=new ResizeObserver(()=>{f&&D()});n.watch([t.pivot,t.contentEl],([g,p],[y,_])=>{y&&!Array.isArray(y)&&y.nodeType===1&&w.unobserve(y),g&&!Array.isArray(g)&&g.nodeType===1&&w.observe(g),_&&w.unobserve(_),p&&w.observe(p)},{immediate:!0}),n.onScopeDispose(()=>{w.disconnect()});function T(g){const p=tr(g);return p.x-=parseFloat(g.style.left||"0"),p.y-=parseFloat(g.style.top||"0"),p}function D(){f=!1;const g=l.value,p=r.value;if(requestAnimationFrame(()=>{requestAnimationFrame(()=>{f=!0})}),!g||!p)return;const y=Array.isArray(g)?new Be({x:g?.[0]??0,y:g?.[1]??0,width:0,height:0}):g.getBoundingClientRect(),_=T(p),O=Qe(p);O.length<1&&O.push(document.documentElement);const V=O.reduce((A,L)=>{const I=L.getBoundingClientRect(),W=new Be({x:L===document.documentElement?0:I.x,y:L===document.documentElement?0:I.y,width:L.clientWidth,height:L.clientHeight});return A?new Be({x:Math.max(A.left,W.left),y:Math.max(A.top,W.top),width:Math.min(A.right,W.right)-Math.max(A.left,W.left),height:Math.min(A.bottom,W.bottom)-Math.max(A.top,W.top)}):W},void 0);V.x+=b.value[0],V.y+=b.value[1],V.width-=b.value[0]*2,V.height-=b.value[1]*2;let E={anchor:v.value,origin:h.value};function k(A){const L=new Be(_),I=qn(A.anchor,y),W=qn(A.origin,L);let{x:J,y:Q}=Ir(I,W);switch(A.anchor.side){case"top":Q-=x.value[0];break;case"bottom":Q+=x.value[0];break;case"left":J-=x.value[0];break;case"right":J+=x.value[0];break}switch(A.anchor.align){case"top":Q-=x.value[1];break;case"bottom":Q+=x.value[1];break;case"left":J-=x.value[1];break;case"right":J+=x.value[1];break;case"center":{A.anchor.side==="top"||A.anchor.side==="bottom"?J+=x.value[1]:Q+=x.value[1];break}}return L.x+=J,L.y+=Q,L.width=Math.min(L.width,d.value),L.height=Math.min(L.height,m.value),{overflows:Wn(L,V),x:J,y:Q}}let C=0,N=0;const S={x:0,y:0},Y={x:!1,y:!1};let $=-1;for(;!($++>10);){const{x:A,y:L,overflows:I}=k(E);C+=A,N+=L,_.x+=A,_.y+=L;{const W=Kn(E.anchor),J=I.x.before||I.x.after,Q=I.y.before||I.y.after;let je=!1;if(["x","y"].forEach(Z=>{if(Z==="x"&&J&&!Y.x||Z==="y"&&Q&&!Y.y){const ge={anchor:{...E.anchor},origin:{...E.origin}},it=Z==="x"?W==="y"?kt:Ct:W==="y"?Ct:kt;ge.anchor=it(ge.anchor),ge.origin=it(ge.origin);const{overflows:Ee}=k(ge);(Ee[Z].before<=I[Z].before&&Ee[Z].after<=I[Z].after||Ee[Z].before+Ee[Z].after<(I[Z].before+I[Z].after)/2)&&(E=ge,je=Y[Z]=!0)}}),je)continue}I.x.before&&(C+=I.x.before,_.x+=I.x.before),I.x.after&&(C-=I.x.after,_.x-=I.x.after),I.y.before&&(N+=I.y.before,_.y+=I.y.before),I.y.after&&(N-=I.y.after,_.y-=I.y.after);{const W=Wn(_,V);S.x=V.width-W.x.before-W.x.after,S.y=V.height-W.y.before-W.y.after,C+=W.x.before,_.x+=W.x.before,N+=W.y.before,_.y+=W.y.before}break}const P=Kn(E.anchor);return a.value={side:E.anchor.side,align:E.anchor.align,rect:new Be({x:C,y:N,width:_.width,height:_.height}),offset:[0,0]},Object.assign(o.value,{"--y-levitation-anchor-origin":`${E.anchor.side} ${E.anchor.align}`,transformOrigin:`${E.origin.side} ${E.origin.align}`,top:F(pt(N)),left:i.value?void 0:F(pt(C)),right:i.value?F(pt(-C)):void 0,minWidth:F(P==="y"?Math.min(u.value,y.width):u.value),maxWidth:F(kn(de(S.x,u.value===1/0?0:u.value,d.value))),maxHeight:F(kn(de(S.y,s.value===1/0?0:s.value,m.value)))}),c.value=[Y.x,Y.y],{available:S,contentRect:_,flipped:Y,placement:E}}return n.watch(()=>[e.offset,e.minWidth,e.minHeight,e.maxWidth,e.maxHeight,v.value,h.value],()=>D()),n.nextTick(()=>{const g=D();if(!g)return;const{available:p,contentRect:y}=g;y.height>p.y&&requestAnimationFrame(()=>{D(),requestAnimationFrame(()=>{D()})})}),{updateCoordinate:D,isFlipped:c,preferredAnchor:v,preferredOrigin:h}}function Xn(e){let t;return typeof e=="string"?(t=e.split(" ").map(parseFloat),t.length===1&&t.push(0)):Array.isArray(e)?t=e.map(parseFloat):t=[e,0],t.slice(0,2).map(a=>Number.isNaN(a)||a==null?0:a)}const Yr={levitation:Mr,arrangement:Pr},Et=B({coordinateStrategy:{type:[String,Function],default:"arrangement"},position:{type:String,default:"default"},align:{type:String,default:"start"},origin:{type:String,default:"auto"},offset:{type:[Number,String,Array]},viewportMargin:{type:[Number,String,Array],default:16}},"Coordinate");function Br(e,t){const a=n.ref(),o=n.ref({side:"",align:"",offset:[0,0],rect:{x:0,y:0,width:0,height:0}}),r=n.ref({});ft(()=>!!(t.active.value&&e.coordinateStrategy),i=>{if(n.watch(()=>e.coordinateStrategy,i),n.onScopeDispose(()=>{a.value=void 0}),typeof e.coordinateStrategy=="function")a.value=e.coordinateStrategy(e,t,o,r)?.updateCoordinate;else{const c=Yr[e.coordinateStrategy];a.value=c?.(e,t,o,r)?.updateCoordinate}}),window.addEventListener("resize",l,{passive:!0}),n.onScopeDispose(()=>{window.removeEventListener("resize",l),a.value=void 0});function l(i){a.value?.(i)}return{coordination:o,coordinateStyles:r,updateCoordinate:a}}const Zn=B({minWidth:[Number,String],width:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],height:[Number,String],maxHeight:[Number,String]},"dimension");function $r(e){return{dimensionStyles:n.computed(()=>({minWidth:F(e.minWidth),width:F(e.width),maxWidth:F(e.maxWidth),minHeight:F(e.minHeight),height:F(e.height),maxHeight:F(e.maxHeight)}))}}const Jn="y-layer-group",ce=new WeakMap;function Rr(e){const t=n.getCurrentInstance();ho();const a=n.computed(()=>{let l=document.body;const i=t.root.proxy?.$el;i&&(l=i);const c=n.unref(e.layerGroup);if(typeof c=="string"){const s=document.querySelector(c);s&&(l=s)}c&&c.nodeType===1&&(l=c);let u=l.querySelector(`:scope > .${Jn}`);return u||(u=document.createElement("div"),u.className=Jn,l.appendChild(u)),u});n.watch(a,(l,i)=>{i&&ce.has(i)&&ce.get(i)?.delete(t),ce.has(l)&&ce.get(l)||ce.set(l,new Set),ce.get(l)?.add(t)},{immediate:!0});function o(){const l=[];return ce.get(a.value)?.forEach(c=>{c?.ctx?.active&&!c?.isUnmounted&&l.push(c)}),l}function r(){ce.get(a.value)?.delete(t)}return n.onBeforeUnmount(()=>{r()}),{layerGroup:a,layerGroupState:ce,getActiveLayers:o}}function Lr(){return!0}function Fr(e,t,a){const{value:o}=a,r=typeof o=="function"?o:o.handler;t._complementClick.lastMousedownWasOutside&&Qn(e,t,a)&&setTimeout(()=>{ea(e,a)&&r&&r(e)},0)}function Qn(e,t,a){if(!e||ea(e,a)===!1)return!1;const o=_t(t);if(typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&o.host===e.target)return!1;const r=(typeof a.value=="object"&&a.value.include||(()=>[]))();return r.push(t),!r.some(l=>l?.contains(e.target))}function ea(e,t){const{value:a}=t,o=typeof a=="object"&&a.determine||Lr;return o&&o?.(e)}function ta(e,t){const a=_t(e);t(document),typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&t(a)}const jr={mounted(e,t){const a=l=>Fr(l,e,t),o=l=>{e._complementClick.lastMousedownWasOutside=Qn(l,e,t)};ta(e,l=>{l?.addEventListener("click",a,!0),l?.addEventListener("mousedown",o,!0)}),e._complementClick||(e._complementClick={lastMousedownWasOutside:!0});const r=t.instance.$.uid;e._complementClick[r]={onClick:a,onMousedown:o}},unmounted(e,t){if(!e._complementClick)return;const a=t.instance.$.uid;ta(e,o=>{const r=e._complementClick?.[a];if(r){const{onClick:l,onMousedown:i}=r;o?.removeEventListener("click",l,!0),o?.removeEventListener("mousedown",i,!0)}}),delete e._complementClick[a]}},Kr=B({base:[String,Object,Array],baseProps:Object,pivot:{type:[String,Object,Array]}},"YLayer.base");function Wr(e){const t=n.getCurrentInstance(),a=n.ref(),o=n.ref(),r=n.ref(),l=n.ref(),i=n.computed(()=>{const s=o.value?.[0]?.el;if(s&&s.nodeType===Node.ELEMENT_NODE)return s}),c=n.computed(()=>r.value&&!e.base?r.value:Ot(e.base,t)),u=n.computed(()=>e.pivot==="cursor"&&l.value?l.value:Ot(e.pivot,t)||c.value);return n.watchEffect(()=>{if(!a.value){if(!i.value&&e.base&&!Array.isArray(e.base)){r.value=c.value;return}r.value=i.value;return}let s=a.value;s.baseEl&&(s=s.baseEl),a.value?.$el&&a.value.$el.nodeType===Node.ELEMENT_NODE&&(s=a.value.$el),s?.nodeType!==Node.ELEMENT_NODE&&(s=i.value),r.value=s},{flush:"post"}),n.nextTick(()=>{t?.proxy?.$el&&!c.value&&(r.value=Ot(e.base,t))}),{base$:a,baseEl:r,baseSlot:o,base:c,baseFromSlotEl:i,pivot:u,cursorPoint:l}}function Ot(e,t){if(!e)return;let a;if(e==="parent"){let o=t?.proxy?.$el?.parentNode,r=o;for(;o;){if(o?.hasAttribute("data-base-parent")){r=o;break}o=o.parentNode}a=r}else typeof e=="string"?a=document.querySelector(e):"$el"in e?a=e.$el:a=e;return a}const Hr=B({closeClickContent:{type:Boolean}},"YLayer.content");function zr(e,t){return{contentEvents:n.computed(()=>{const o={};return e.closeClickContent&&(o.onClick=r=>{t.value=!1}),o})}}const Ur=new Nr,na={none:null,close:Xr,block:Zr,reposition:Jr},Gr=B({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in na}},"YLayer__scroll-strategies");function qr(e,t){let a;n.watchEffect(async()=>{a?.stop(),t.active.value&&e.scrollStrategy&&(a=n.effectScope(),await n.nextTick(),a.active&&a.run(()=>{typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,a):na[e.scrollStrategy]?.(t,e,a)}))}),n.onScopeDispose(()=>{a?.stop()})}function Xr(e){function t(a){e.active.value=!1}ra(e.baseEl.value??e.contentEl.value,t)}const At="y-layer--scroll-blocked",aa="y-layer-scroll-blocked",Pt="--y-body-scroll-x",It="--y-body-scroll-y",oa="--y-scrollbar-offset";function Zr(e,t){const a=e.root.value?.offsetParent,o=[...new Set([...Qe(e.baseEl.value,t.contained?a:void 0),...Qe(e.contentEl.value,t.contained?a:void 0)])].filter(i=>!i.classList.contains(aa)),r=window.innerWidth-document.documentElement.offsetWidth,l=(i=>Tt(i)&&i)(a||document.documentElement);l&&e.root.value.classList.add(At),o.forEach((i,c)=>{i.style.setProperty(Pt,F(-i.scrollLeft)??null),i.style.setProperty(It,F(-i.scrollTop)??null),i.style.setProperty(oa,F(r)??null),i.classList.add(At)}),n.onScopeDispose(()=>{o.forEach((i,c)=>{const u=parseFloat(i.style.getPropertyValue(Pt)),s=parseFloat(i.style.getPropertyValue(It));i.style.removeProperty(Pt),i.style.removeProperty(It),i.style.removeProperty(oa),i.classList.remove(aa),i.scrollLeft=-u,i.scrollTop=-s}),l&&e.root.value.classList.remove(At)})}function Jr(e,t,a){let o=!1,r=-1,l=-1;function i(c){Ur.requestNewFrame(()=>{const u=performance.now();e.updateCoordinate.value?.(c),o=(performance.now()-u)/(1e3/60)>2})}l=(typeof requestIdleCallback>"u"?c=>c():requestIdleCallback)(()=>{a.run(()=>{ra(e.baseEl.value??e.contentEl.value,c=>{o?(cancelAnimationFrame(r),r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{i(c)})})):i(c)})})}),n.onScopeDispose(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(l),cancelAnimationFrame(r)})}function ra(e,t){const a=[document,...Qe(e)];a.forEach(o=>{o.addEventListener("scroll",t,{passive:!0})}),n.onScopeDispose(()=>{a.forEach(o=>{o.removeEventListener("scroll",t)})})}const $e=new WeakMap;function Qr(e,t){$e.has(e)||$e.set(e,new Map);const a=$e.get(e);for(const[o,r]of Object.entries(t))if(ln(o)){const l=o[2].toLowerCase()+o.slice(3);a.has(l)&&(e.removeEventListener(l,a.get(l)),a.delete(l)),r&&(e.addEventListener(l,r),a.set(l,r))}else e.setAttribute(o,r)}function el(e,t){const a=$e.get(e);for(const[o,r]of Object.entries(t))if(ln(o)){const l=o[2].toLowerCase()+o.slice(3);a?.has(l)&&(e.removeEventListener(l,a.get(l)),a.delete(l))}else e.removeAttribute(o);a?.size===0&&$e.delete(e)}function tl(e,t){const a={};function o(i){a[i]&&window.clearTimeout(a[i]),delete a[i]}function r(i,c,u){a[i]=window.setTimeout(()=>{const s=i==="openDelay";t?.(s),u(s)},c)}const l=i=>()=>{o("openDelay"),o("closeDelay");const c=e[i]??0;return new Promise(u=>{const s=parseInt(String(c),10);r(i,s,u)})};return{startOpenDelay:l("openDelay"),startCloseDelay:l("closeDelay")}}const nl=B({openOnHover:{type:Boolean,default:!1},openOnFocus:{type:Boolean,default:void 0},openOnClick:{type:Boolean,default:void 0},openOnClickBase:{type:Boolean,default:void 0}},"YLayer.active-event");function al(e,{active:t,children:a,base:o,finish:r,baseSlotEl:l}){const i=n.getCurrentInstance(),c=n.shallowRef(!1),u=n.shallowRef(!1),{startOpenDelay:s,startCloseDelay:d}=tl(e,f=>{!f&&e.openOnHover&&!c.value&&a.value.length===0?t.value=!1:f&&(t.value=!0)}),m=n.computed(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),v=n.computed(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!m.value),h={onMouseenter:f=>{c.value=!0,s()},onMouseleave:f=>{c.value=!1,d()},onClick:f=>{f.stopPropagation();const w=t.value;e.disabled||c.value&&!r.value||(t.value=!w)},onFocus:f=>{s()}},x=n.computed(()=>{const f={};return v.value&&(f.onClick=h.onClick),m.value&&(f.onFocus=h.onFocus),e.openOnHover&&(f.onMouseenter=h.onMouseenter,f.onMouseleave=h.onMouseleave),f});let b;return n.watch(()=>!!e.base,f=>{f&&typeof window<"u"&&(b=n.effectScope(),b.run(()=>{ol(e,i,{base:o,baseEvents:x})}))},{immediate:!0,flush:"post"}),{hovered:c,focused:u,baseEvents:x}}function ol(e,t,{base:a,baseEvents:o}){n.watch(a,(i,c)=>{c&&i!==c&&l(c),i&&n.nextTick(()=>r(i))},{immediate:!0}),n.onScopeDispose(()=>{l()});function r(i=a.value,c=o.value){i&&(Array.isArray(i)||Qr(i,c))}function l(i=a.value,c=o.value){i&&el(i,c)}}let rl=0;const X=[];let tt=!1;function la(e){yl(e)}function ll(){tt||(tt=!0,document.addEventListener("click",la,!0))}function il(){tt&&(tt=!1,document.removeEventListener("click",la,!0))}function cl(e){const t=++rl;return X.push({id:t,...e}),ll(),{id:t,unregister:()=>{const a=X.findIndex(o=>o.id===t);a>-1&&X.splice(a,1),X.length===0&&il()}}}function sl(e,t){const a=X.find(o=>o.id===e);a&&Object.assign(a,t)}function ul(){for(let e=X.length-1;e>=0;e--)if(X[e].modal())return X[e].id;return null}function dl(e){return X.some(t=>t.modal()&&t.id!==e)}function fl(e){return X.some(t=>t.modal()&&(t.maximized?.()??!1)&&t.id!==e)}function ml(e,t){return e instanceof Node?t.some(a=>a?.contains(e)):!1}function yl(e){if(X.length===0)return;const t=e.target;for(let a=X.length-1;a>=0;a--)if(ml(t,X[a].els())){ia(a);return}ia(-1)}function ia(e){for(let t=X.length-1;t>e;t--){const a=X[t];if(a.modal()||(a.close(),a.preventCloseBubble()))break}}const ca=Symbol.for("yuyeon.active-stack");function hl(e,t){const a=n.inject(ca,null),o=n.shallowRef([]),r=n.getCurrentInstance(),l=n.ref();let i=null;function c(){return r.exposed}function u(m){o.value.push(m)}function s(m){if(m){const v=o.value.findIndex(h=>h===m);if(v>-1){o.value.splice(v,1);return}}o.value.pop()}function d(){n.unref(c()?.modal)||(t.value=!1)}return n.watch(t,m=>{m?(a?.push(r),e.relayStack!==!1&&(i=cl({els:()=>{const v=c();return[n.unref(v?.baseEl),n.unref(v?.content$)]},modal:()=>!!n.unref(c()?.modal),preventCloseBubble:()=>!!n.unref(c()?.preventCloseBubble),close:d}),l.value=i.id)):(e.relayStack||d(),a?.pop(r),i?.unregister(),i=null,l.value=void 0)}),n.provide(ca,{push:u,pop:s,clear:d,vm:r}),{push:u,pop:s,parent:a,children:o,relayId:l}}function gl(e,t){if(!e||e.type===n.Comment)return!1;const a=e.props??{};return Object.keys(t).some(o=>{const r=a[o];return r?Array.isArray(r)?r.includes(t[o]):r===t[o]:!1})}const Ce=B({modelValue:{type:Boolean},scrim:{type:Boolean},scrimOpacity:{type:Number},eager:{type:Boolean},classes:{type:[Array,String,Object]},contentClasses:{type:[Array,String,Object]},closeClickScrim:{type:Boolean},contentStyles:{type:Object,default:()=>{}},disabled:{type:Boolean,default:!1},maximized:{type:Boolean},openDelay:{type:Number,default:200},closeDelay:{type:Number,default:200},zIndex:{type:[Number,String],default:2e3},contained:Boolean,layerGroup:[String,Object],...nl(),...xe(),...Me(),...Kr(),...Hr(),...Et(),...Gr(),...Zn(),preventCloseBubble:Boolean,closeCondition:{type:[Boolean,Function],default:void 0}},"YLayer"),ne=M({name:"YLayer",inheritAttrs:!1,components:{PolyTransition:Ye},directives:{ComplementClick:jr},props:{modal:Boolean,relayStack:Boolean,...Ce()},emits:{"update:modelValue":e=>!0,"click:complement":e=>!0,afterLeave:()=>!0,afterEnter:()=>!0},slots:Object,setup(e,{emit:t,expose:a,attrs:o,slots:r}){const l=n.getCurrentInstance(),i=n.shallowRef(!1),c=n.toRef(e,"disabled");n.toRef(e,"maximized");const u=n.ref(),s=n.ref(),d=n.ref(),m=K(e),v=n.computed({get:()=>!!m.value,set:G=>{G&&e.disabled||(m.value=G)}}),{themeClasses:h}=Ne(e),{polyTransitionBindProps:x}=Yn(e),{dimensionStyles:b}=$r(e),{base:f,base$:w,baseEl:T,baseSlot:D,baseFromSlotEl:g,pivot:p}=Wr(e),{contentEvents:y}=zr(e,v),{layerGroup:_,layerGroupState:O,getActiveLayers:V}=Rr(e),{children:E,parent:k,relayId:C}=hl(e,v),{hovered:N,focused:S,baseEvents:Y}=al(e,{active:v,children:E,base:f,finish:i,baseSlotEl:g}),{lazyValue:$,onAfterUpdate:P}=br(n.toRef(e,"eager"),v),A=n.computed(()=>!c.value&&($.value||v.value)),{coordination:L,coordinateStyles:I,updateCoordinate:W}=Br(e,{contentEl:s,base:f,active:v,pivot:p});qr(e,{root:d,contentEl:s,active:v,baseEl:f,updateCoordinate:W}),n.watch(v,G=>{G||(i.value=!1,N.value=!1)});function J(G){t("click:complement",G),je(G)&&(e.modal||u.value!==null&&u.value===G.target&&e.closeClickScrim&&(v.value=!1))}function Q(){return(!e.openOnHover||e.openOnHover&&!N.value)&&v.value&&i.value}function je(G){return!(e.closeCondition===!1||typeof e.closeCondition=="function"&&e.closeCondition(G)===!1)}const Z=n.reactive({handler:J,determine:Q,include:()=>[T.value]});function ge(){i.value=!0,t("afterEnter")}function it(){P(),i.value=!1,t("afterLeave")}function Ee(){e.closeClickScrim&&(v.value=!1)}function Vi(G){N.value=!0}function _i(G){N.value=!1}const Ti=n.computed(()=>({zIndex:(e.zIndex??"2000").toString()})),Di=n.computed(()=>{const{classes:G}=e;return{...me(G),"y-layer--active":!!v.value}}),Ei=n.computed(()=>{const G=me(e.contentClasses),{side:ve,align:ct}=L.value;return{...G,[`y-layer--side-${ve}`]:!!ve,[`y-layer--align-${ct}`]:!!ct}});function Oi(){v.value=!1}return a({scrim$:u,base$:w,content$:n.computed(()=>s.value),baseEl:T,active:v,onAfterUpdate:P,updateCoordinate:W,hovered:N,focused:S,finish:i,modal:n.computed(()=>e.modal),preventCloseBubble:e.preventCloseBubble,getActiveLayers:V,isMe:G=>G===l,coordination:L,children:E,parent:k,relayId:C}),R(()=>{const G=r.base?.({active:v.value,props:n.mergeProps({ref:w,class:{"y-layer-base":!0,"y-layer-base--active":v.value}},Y.value,e.baseProps??{})}),ve=G?.[0],ct=gl(ve,Y.value);return D.value=ve&&!ct?[n.cloneVNode(ve,n.mergeProps(ve.props??{},Y.value))]:G,n.createVNode(n.Fragment,null,[D.value,n.createVNode(n.Teleport,{disabled:!_.value,to:_.value},{default:()=>[A.value&&n.createVNode("div",n.mergeProps({ref:d,class:[{"y-layer":!0,"y-layer--finish":i.value,"y-layer--contained":e.contained,...Di.value},h.value],onMouseenter:Vi,onMouseleave:_i,style:Ti.value},o),[n.createVNode(n.Transition,{name:"fade",appear:!0},{default:()=>[v.value&&e.scrim&&n.createVNode("div",{ref:"scrim$",class:"y-layer__scrim",style:{"--y-layer-scrim-opacity":e.scrimOpacity},onClick:Ee,onKeydown:on(),onKeyup:on()},null)]}),n.createVNode(Ye,n.mergeProps({onAfterEnter:ge,onAfterLeave:it,appear:!0},x.value),{default:()=>[n.withDirectives(n.createVNode("div",n.mergeProps({ref:s,class:{"y-layer__content":!0,...Ei.value},style:[{...b.value,...I.value,...e.contentStyles}]},y.value),[r.default?.({active:v.value,close:Oi})]),[[n.vShow,v.value],[n.resolveDirective("complement-click"),{...Z}]])]})])]})])}),{complementClickOption:Z,layerGroup:_,active:v,finish:i,rendered:A,lazyValue:$,onAfterUpdate:P,scrim$:u,content$:s,base:f,base$:w,baseEl:T,baseFromSlotEl:g,polyTransitionBindProps:x,coordinateStyles:I,layerGroupState:O,getActiveLayers:V,coordination:L,baseEvents:Y}}}),sa=B({persistent:{type:Boolean,default:!0},dialogClasses:{type:[Array,String,Object]},focusTrap:{type:[Boolean,String,Object,Array],default:!0},offset:{type:String},...te(Ce({scrim:!0,openOnClick:!0,scrollStrategy:null}),["offset","classes"])},"YDialog"),vl=M({name:"YDialog",components:{YLayer:ne,YCard:et},props:sa(),emits:["update:modelValue","afterEnter","afterLeave"],setup(e,{emit:t,slots:a}){const r=n.getCurrentInstance()?.appContext.config.globalProperties.$yuyeon,l=K(e),i=n.computed(()=>({...me(e.dialogClasses),"y-dialog":!0,"y-dialog--maximized":e.maximized})),c=n.computed(()=>({...e.contentStyles??{},paddingTop:F(e.offset)})),u=n.ref(),s=n.computed(()=>u.value?.children||[]),d=n.computed(()=>u.value?.relayId);n.watch(l,D=>{D?v():h(),f(D)}),n.watch(d,D=>{D!=null&&sl(D,{maximized:()=>e.maximized??!1})}),n.onBeforeMount(()=>{l.value&&(v(),f(!0))}),n.onBeforeUnmount(()=>{h(),l.value&&f(!1)});function m(D){if(e.focusTrap===!1||d.value==null||ul()!==d.value)return;const g=D.relatedTarget,p=D.target,y=e.focusTrap;if(typeof y=="string"&&document.querySelector(y)?.isSameNode(p))return;if(typeof y=="object"){if(Array.isArray(y)){if(y.some(V=>typeof V=="string"?document.querySelector(V)?.isSameNode(p):typeof V=="object"?V?.isSameNode(p):!1))return}else if(y?.isSameNode(p))return}function _(O){return O.some(V=>!V.content$?.contains(p))}if(g!==p&&u.value?.content$&&![document,u.value?.content$].includes(p)&&!u.value?.content$.contains(p)&&!_(s.value)){const V=[...u.value.content$.querySelectorAll('button, [href], input:not([type="hidden"]), select, textarea, [tabindex]:not([tabindex="-1"])')].filter(C=>!C.hasAttribute("disabled")&&!C.matches('[tabindex="-1"]'));if(!V.length)return;const E=V[0],k=V[V.length-1];if(p?.isSameNode(E)||p?.isSameNode(k))return;E===k?k.focus():E.focus()}}function v(){document.addEventListener("focusin",m)}function h(){document.removeEventListener("focusin",m)}const x=n.ref(0),b=n.ref(0);function f(D){const g=r.root,p=d.value??void 0;D?(e.maximized&&document.documentElement.classList.add("y-dialog--prevent-scroll"),g.classList.contains("y-dialog--virtual-scroll")||(x.value=document.documentElement.scrollTop,b.value=document.documentElement.scrollLeft,g.classList.add("y-dialog--virtual-scroll"),g.style.top=F(-1*x.value)||"",g.style.left=F(-1*b.value)||"")):dl(p)?fl(p)||document.documentElement.classList.remove("y-dialog--prevent-scroll"):(document.documentElement.classList.remove("y-dialog--prevent-scroll"),g.classList.remove("y-dialog--virtual-scroll"),g.style.top="",g.style.left="",n.nextTick(()=>{x.value&&(document.documentElement.scrollTop=x.value),b.value&&(document.documentElement.scrollLeft=b.value)}))}function w(){t("afterEnter")}function T(){t("afterLeave")}return R(()=>n.createVNode(ne,n.mergeProps({ref:u,modelValue:l.value,"onUpdate:modelValue":D=>l.value=D,classes:i.value,"content-styles":c.value,modal:!0,relayStack:!0},te(z(e,ne.props),["contentStyles"]),{onAfterEnter:w,onAfterLeave:T}),{default:(...D)=>a.default?.(...D),base:(...D)=>a.base?.(...D)})),{active:l,layer:u,classes:i,children:s,relayId:d}}});function bl(e,t,a){if(typeof e.animate>"u")return Promise.resolve();let o;try{o=e.animate(t,a)}catch{return Promise.resolve()}const r=new Promise(l=>{o.onfinish=()=>{l(o)}});return Object.assign(r,{animation:o}),r}const ke=M({name:"YPlate",props:{variation:Object},setup(){const e=n.computed(()=>({"y-plate":!0}));R(()=>n.createVNode("div",{class:e.value},null))}}),ua={name:"y-snackbar",onBeforeEnter:e=>t=>{if(!t.getAttribute("data-transform")){const a=t.style.getPropertyValue("transform");t.setAttribute("data-transform",a),t.setAttribute("data-direction",e),t.style.setProperty("transform",`${a.replace(/translateY(.+)/,"")} translateY(${e==="top"?"-":""}40px)`)}},onEnter(e,t){const a=e.getAttribute("data-transform"),o=e.getAttribute("data-direction");!o||!a||bl(e,[{transform:`${a.replace(/translateY(.+)/,`translateY(${o==="top"?"-":""}40px)`)}`},{transform:`${a.replace(/translateY(.+)/,"translateY(0)")}`}],{duration:300,easing:"cubic-bezier(0.25, 0.8, 0.5, 1)",fill:"forwards"}).then(()=>{e.removeAttribute("data-transform"),e.removeAttribute("data-direction"),e.style.setProperty("transform",""),t()})}},da=B({...Ce({scrollStrategy:"none",position:"top center"}),modelValue:{type:Boolean},contentClasses:{type:[Array,String,Object]},transition:{type:[String,Object],default:()=>({...ua})},duration:{type:Number,default:4e3},closeClickContent:{type:Boolean,default:!0}},"YSnackbar"),pl=M({name:"YSnackbar",components:{YPlate:ke,YLayer:ne},emits:["update:modelValue","click"],props:{...da()},setup(e,{emit:t,slots:a}){const o=K(e),r=n.ref(!1),l=n.toRef(e,"duration"),{start:i,stop:c,reset:u}=pr(h,l),s=n.computed(()=>({"y-snackbar":!0})),d=n.computed(()=>({...me(e.contentClasses),"y-snackbar__display":!0})),m=n.computed(()=>{const[f,w]=e.position?.split(" ")??[];let T="top",D="left";w?(D=w,T=f):f==="bottom"?T="bottom":D=f;const g={[D==="center"?"left":D]:D==="center"?"50%":0,[T]:0};return D==="center"&&(g.transform="translateX(-50%)"),g}),v=n.computed(()=>{const{transition:f,position:w}=e;return f?.name==="y-snackbar"?(f.onBeforeEnter=ua.onBeforeEnter(w.includes("top")?"top":"bottom"),{...f}):e.transition});n.watch(r,f=>{f?c():x()}),n.watch(()=>e.duration,f=>{!Number.isNaN(f)&&o.value&&(u(),x(),r.value&&c())}),n.watch(o,f=>{f?x():u()},{immediate:!0});function h(){o.value=!1}function x(){e.duration>0&&i()}function b(f){t("click",f),e.closeClickContent&&(o.value=!1)}return R(()=>n.createVNode(ne,n.mergeProps({ref:"layer"},te(z(e,ne.props),["scrim","transition","content-classes","classes"]),{modelValue:o.value,"onUpdate:modelValue":f=>{o.value=f},classes:s.value,"content-classes":d.value,scrim:!1,"content-styles":m.value,transition:v.value}),{default:()=>n.createVNode(n.Fragment,null,[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-snackbar__content",tabindex:0,onKeydown:f=>{f.key==="Enter"&&b(f)},onClick:n.withModifiers(b,["exact"]),onMouseenter:()=>{r.value=!0},onMouseleave:()=>{r.value=!1}},[a.default?.()])])})),{active:o,hover:r,classes:s,computedContentClasses:d,computedInset:m,proxyTransition:v,onClickContent:b}}}),wl="YTooltip",Sl={tooltipClasses:{type:[Array,String,Object]},preventClip:{type:Boolean,default:!0},...Ce({coordinateStrategy:"levitation",scrollStrategy:"reposition",openOnHover:!0,align:"center",offset:8}),...Me({transition:"fade"})},fa=B(Sl,"YTooltip"),xl=M({name:wl,props:{...fa()},emits:["update:modelValue"],setup(e,{slots:t,emit:a,expose:o}){const r=K(e),l=n.ref(),i=n.ref(),c=n.computed({get:()=>!!r.value,set:h=>{h&&e.disabled||(r.value=h)}}),u=n.computed(()=>l.value?.children||[]),s=n.computed(()=>l.value?.parent),d=n.computed(()=>l.value?.baseEl),m=n.computed(()=>({...me(e.tooltipClasses),"y-tooltip":!0}));n.computed(()=>!!l.value?.hovered),n.watch(c,h=>{h&&n.nextTick(()=>{const x=l.value?.content$;i.value=x})});function v(h){if(c.value){u.value.length===0&&(c.value=!1);const x=s.value?.content$,b=s.value?.modal;!e.preventCloseBubble&&!(x&&!xr(h,x))&&!b&&s.value?.clear()}}return o({layer$:l,baseEl:d}),R(()=>n.createVNode(ne,n.mergeProps({ref:l},te(z(e,ne.props),["scrim"]),{classes:m.value,scrim:!1,transition:e.transition,"onClick:complement":v,modelValue:c.value,"onUpdate:modelValue":h=>c.value=h}),{default:(...h)=>n.createVNode(n.Fragment,null,[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-tooltip__content"},[t.default?.(...h)??""])]),base:(...h)=>t.base?.(...h)})),{layer$:l,el$:l,baseEl:d,active:c}}});function ma(e=!1){const a=`expand-${e?"h":"v"}-transition`,o=e?"width":"height",r=rn(`offset-${o}`);function l(i,c){function u(d){if(d._originStyle){d.style.overflow=d._originStyle.overflow,d.style.flex=d._originStyle.flex;const m=d._originStyle[o];m!=null&&(d.style[o]=m)}delete d._originStyle}function s(d){if(c&&d){const m=d.getBoundingClientRect();i.value=m?.[o]}}return{onBeforeEnter(d){d._parent=d.parentNode,d._originStyle={transition:d.style.transition,overflow:d.style.overflow,[o]:d.style[o],flex:d.style.flex}},onEnter(d){const m=d._originStyle;d.style.setProperty("transition","none","important"),d.style.overflow="hidden",d.style.flex="0 0 auto";const v=`${d[r]}px`;c&&i.value!=null?d.style[o]=`${i.value}px`:d.style[o]="0",d.getBoundingClientRect(),d.style.transition=m?.transition??"",requestAnimationFrame(()=>{d.style[o]=v})},onAfterEnter(d){u(d)},onEnterCancelled(d){u(d)},onLeave(d){s(d),!c&&(d._originStyle={transition:"",overflow:d.style.overflow,flex:d.style.flex,[o]:d.style[o]},d.style.overflow="hidden",d.style.flex="0 0 auto",d.style[o]=`${d[r]}px`,d.getBoundingClientRect(),requestAnimationFrame(()=>{d.style[o]="0"}))},onAfterLeave(d){u(d)},onLeaveCancelled(d){u(d)}}}return n.defineComponent({name:a,props:{disabled:{type:Boolean,default:!1},relay:Boolean},setup(i,{slots:c}){const u=n.ref();return()=>n.h(n.Transition,{name:i.disabled?"":a,css:!i.disabled,...i.disabled?{}:l(u,i.relay)},c.default)}})}const ya=ma(!1),Nl=ma(!0),Cl=n.defineComponent({name:"YDividePanel",setup(e,{slots:t}){const a=n.ref(50),o=n.ref(!1),r=n.ref(),l=n.ref(!1),i=n.ref();n.watch(r,x=>{l.value=!!x});const c=n.computed(()=>{let x="0 0";return l.value&&(x=`0 0 ${100-a.value}% 0`),{position:"absolute",inset:x}}),u=n.computed(()=>({"y-divide-panel":!0,"y-divide-panel--resizing":o.value}));function s(x){const b=x,f=i.value.getBoundingClientRect();requestAnimationFrame(()=>{a.value=Math.min(Math.max(10,(b.clientY-f.y)/f.height*100),90)})}function d(){o.value=!1,i.value.removeEventListener("mousemove",s),i.value.removeEventListener("mouseup",m),i.value.removeEventListener("mouseleave",v)}function m(x){d()}function v(x){d()}function h(x){x.preventDefault(),o.value=!0,i.value.addEventListener("mousemove",s),i.value.addEventListener("mouseup",m),i.value.addEventListener("mouseleave",v)}return R(()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{class:u.value,ref:i},[n.createVNode("div",{class:"y-divide-panel__top-container",style:c.value},[t.default?.()]),r.value=t.secondary&&n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"y-divide-panel__divider",style:{position:"absolute",inset:`${a.value}% 0 0 0`},onMousedown:h},[n.createVNode("div",{class:"y-divide-panel__divider-line"},null)]),n.createVNode("div",{class:"y-divide-panel__secondary-container",style:{position:"absolute",inset:`${a.value}% 0 0 0`}},[t.secondary?.()])])])])),{activeSecondary:l}}}),Mt=B({items:{type:Array,default:()=>[]},itemKey:{type:String,default:"key"},itemText:{type:String,default:"text"},itemChildren:{type:[Boolean,String],default:"children"}},"abstract.items"),ha=Symbol.for("YTreeView");function kl(e){const t=n.ref({}),a=K(e,"expanded"),o=K(e,"active"),r=K(e,"selected"),l=n.ref(new Set),i=n.ref(new Set),c=n.ref(new Set),u=n.shallowRef(!1),s=n.ref(new Set),d=n.computed(()=>{let V=!1,E=!1;return(k,C)=>(V=C.every(N=>i.value.has(N)),E=m(k).some(N=>i.value.has(N)),{all:V,some:E})});function m(V){const E=[],{childKeys:k}=t.value[V];E.push(...k);const C=k.slice();for(;C.length>0;){const N=C.splice(0,1)[0],S=t.value[N];S&&(E.push(...S.childKeys),C.push(...S.childKeys))}return E}function v(V){return!!e.search&&s.value.has(V)}function h(V){const E=t.value[V];E?.vnode&&(E.vnode.active=E.active,E.vnode.selected=E.selected,E.vnode.indeterminate=E.indeterminate,E.vnode.expanded=E.expanded)}function x(V,E){if(!(V in t.value))return;const k=t.value[V],C=H(k.item,e.itemChildren);Array.isArray(C)&&C.length>0&&(E?l.value.add(V):l.value.delete(V),k.expanded=E,h(V))}function b(V,E,k){if(!(V in t.value))return;const C=t.value[V];let N=E?"":V;if(!e.multipleActive&&E&&!c.value.has(V)&&([N]=[...c.value]),E)c.value.add(V),C.active=!0,h(V);else if(e.requiredActive&&c.value.size===1&&V===N){h(V);return}if(N&&N in t.value&&(c.value.delete(N),t.value[N].active=!1,h(N)),!(e.activeSingleModifier&&k?.getModifierState(e.activeSingleModifier))&&e.multipleActive&&(!e.onlyEventActiveStrategy||e.onlyEventActiveStrategy&&k)&&(e.activeStrategy==="cascade"||e.activeStrategy==="relative")){for(const S of m(V))S in t.value&&D(S,E);if(e.activeStrategy==="relative"){let S=C.parentKey;do{const Y=S;if(S=null,!Y)continue;const $=t.value[Y];if(!$)continue;(w(Y,"active",E)||!E)&&(D(Y,E),$.parentKey&&(S=$.parentKey))}while(S!=null)}}}function f(V,E){if(!(V in t.value))return;const k=t.value[V];if(E&&(e.selectStrategy!=="leaf"?i.value.add(V):k.childKeys.length||i.value.add(V),k.selected=!0),!E&&V in t.value&&(i.value.delete(V),t.value[V].selected=!1,h(V)),e.selectStrategy==="cascade"||e.selectStrategy==="relative"||e.selectStrategy==="leaf"){for(const C of m(V))if(C in t.value){if(e.selectStrategy==="leaf"&&t.value[C]?.childKeys?.length&&E)continue;g(C,E)}if(e.selectStrategy==="relative"||e.selectStrategy==="leaf"&&!E){let C=k.parentKey;do{const N=C;if(C=null,!N)continue;const S=t.value[N];if(!S)continue;(w(N,"selected",E)||!E)&&(g(N,E),S.parentKey&&(C=S.parentKey))}while(C!=null)}}}function w(V,E,k){const C=t.value[V];if(!C)return!1;const{childKeys:N}=C;return N.every(S=>t.value[S]?.[E]===k)}function T(V,E){const k=t.value[V];if(!k)return!1;const{childKeys:C}=k;return C.some(N=>t.value[N]?.[E]===!0)}function D(V,E){E?c.value.add(V):c.value.delete(V),t.value[V].active=E,h(V)}function g(V,E){E?i.value.add(V):i.value.delete(V),t.value[V].selected=E,h(V)}function p(){const V=[...l.value];a.value=e.returnItem?V.map(E=>t.value[E].item):V}function y(){const V=[...c.value];o.value=e.returnItem?V.map(E=>t.value[E].item):V}function _(){const V=[...i.value];r.value=e.returnItem?V.map(E=>t.value[E].item):V}function O(V,E){t.value[V]&&(t.value[V].vnode=E),h(V)}return n.provide(ha,{register:O,updateExpanded:x,updateActive:b,updateSelected:f,searchLoading:u,isExcluded:v,emitExpanded:p,emitActive:y,emitSelected:_,isChildrenAll:w,isChildrenSome:T,selectedState:d}),{nodes:t,expanded:a,active:o,selected:r,issueVnodeState:h,updateExpanded:x,updateActive:b,updateSelected:f,emitExpanded:p,emitActive:y,emitSelected:_,expandedSet:l,selectedSet:i,activeSet:c,searchLoading:u,excludedSet:s,isExcluded:v,selectedState:d}}function Vl(){const e=n.inject(ha);if(!e)throw new Error("Not found provided YTreeView");return e}const se=M({name:"YIconCheckbox",props:{checked:Boolean,indeterminate:Boolean,disabled:Boolean},render(){return n.createVNode("svg",{role:"presentation",class:["y-icon-checkbox",{"y-icon-checkbox--checked":this.checked,"y-icon-checkbox--indeterminate":this.indeterminate,"y-icon-checkbox--disabled":this.disabled}],xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[n.createVNode("path",{class:"y-icon-checkbox__border-path",d:"M 15.525 21.825 H 8.325 C 4.851 21.825 2.025 18.999 2.025 15.525 V 8.325 C 2.025 4.851 4.851 2.025 8.325 2.025 H 15.525 C 18.999 2.025 21.825 4.851 21.825 8.325 V 15.525 C 21.825 18.999 18.999 21.825 15.525 21.825 Z"},null),n.createVNode("path",{class:"y-icon-checkbox__checkmark-path",fill:"none",d:this.indeterminate?"M5.73,11.91 11.1,11.91 17.79,11.91":"M5.73,11.91 11.1,16.28 17.79,7.59"},null)])}}),_l=M({name:"YIconDropdown",setup(){return()=>n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"M7,10L12,15L17,10H7Z",fill:"currentColor"},null)])}}),Re=M({name:"YIconExpand",setup(){return()=>n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"m9.6086 5.7953 13.557 10.269-13.557 10.141",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"4.1024"},null)])}}),nt={next:"m12.18 23.585 7.6399-7.5489-7.4693-7.622",prev:"m19.82 23.585-7.6399-7.5489 7.4693-7.622",last:"m10.488 23.812 7.4981-7.7457-7.3307-7.8207m0 0zm10.856-0.075007v15.659",first:"m21.512 23.812-7.4981-7.7457 7.3307-7.8207m0 0zm-10.856-0.075007v15.659"},ue=M({name:"YIconPageControl",props:{type:{type:String,default:"next"}},render(){return n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:this.$props.type in nt?nt[this.$props.type]:nt.next,fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3"},null)])}}),Yt=M({name:"YIconSort",props:{direction:{type:String},disabled:{type:Boolean}},render(){return n.createVNode("svg",{role:"presentation",version:"1.1",width:"16",height:"16",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",class:["y-icon-sort",{"y-icon-sort--disabled":this.disabled,"y-icon-sort--asc":this.direction==="asc","y-icon-sort--desc":this.direction==="desc"}]},[n.createVNode("path",{d:"m8.4146 12.52 7.5489-7.6399 7.622 7.4693",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",class:"y-icon-sort__asc"},null),n.createVNode("path",{d:"m8.4146 19.48 7.5489 7.6399 7.622-7.4693",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",class:"y-icon-sort__desc"},null)])}}),ga={expand:Re,dropdown:_l,clear:wt,checkbox:se,pageControl:ue,next:{component:ue,props:{type:"next"}},prev:{component:ue,props:{type:"prev"}},sort:Yt},va=M({name:"YTextHighlighter",props:{text:{type:String},keyword:{type:String},color:{type:String},sensitive:{type:Boolean}},computed:{splitText(){const{keyword:e,text:t}=this;if(e&&t){const a=[];let o=t;const r=new RegExp(wo(e),this.sensitive?"":"i");for(;o.length>0;){const l=o.search(r);l<0?(a.push({text:o,isKeyword:!1}),o=""):l<1?(a.push({text:o.substring(0,e.length),isKeyword:!0}),o=o.substring(e.length,o.length)):(a.push({text:o.substring(0,l),isKeyword:!1}),a.push({text:o.substring(l,l+e.length),isKeyword:!0}),o=o.substring(l+e.length,o.length))}return a}return[{text:this.text||"",isKeyword:!1}]}},methods:{createItem(e){return n.h("span",{staticClass:"y-text-highlighter__item"},[e])},createHighlightKeywordItem(e){return n.h("span",{staticClass:"y-text-highlighter__item",class:"y-text-highlighter__item--highlight",style:{backgroundColor:this.color}},[e])},createSplitTexts(){return this.splitText.map(e=>e.isKeyword?this.createHighlightKeywordItem(e.text):this.createItem(e.text))}},render(){const e=this.createSplitTexts();return n.h("span",{staticClass:"y-text-highlighter"},e)}}),Bt=B({search:String,disableTransition:Boolean,enableActive:Boolean,activeStrategy:{type:String,default:"independent"},activeClass:[String,Array],activeSingleModifier:String,requiredActive:Boolean,activeColor:{type:String,default:"primary"},enableSelect:Boolean,selectStrategy:{type:String,default:"relative"},onMouseenterContainer:Function,onMouseleaveContainer:Function,onMousemoveContainer:Function,onDblclickContainer:Function,itemSelectable:{type:[String,Array,Function]},...Mt({itemKey:"id"})},"YTreeViewNode"),ba=M({name:"YTreeNode",components:{YButton:U,YIconExpand:Re,YPlate:ke,YIconCheckbox:se},props:{item:{type:Object},level:{type:Number,default:0},...Bt()},slots:Object,setup(e,{slots:t,expose:a}){const o=n.resolveComponent("YTreeViewNode",!0),r=Vl(),l=n.ref(),i=n.ref(!1),c=n.ref(!1),u=n.ref(!1),s=n.ref(!1),d=n.computed(()=>H(e.item,e.itemKey)),m=n.computed(()=>(H(e.item,e.itemChildren)??[]).slice()),v=n.computed(()=>m.value.length<1),h=n.computed(()=>r.searchLoading.value),x=n.computed(()=>m.value.filter(P=>!r.isExcluded(H(P,e.itemKey)))),b=n.computed(()=>r.selectedState.value(d.value,m.value.map(P=>H(P,e.itemKey)))),f=n.computed(()=>!!m.value?.length&&b.value.all),w=n.computed(()=>(e.selectStrategy==="relative"||e.selectStrategy==="leaf")&&(m.value?.length??0)>0&&!f.value&&b.value.some),T=n.computed(()=>u.value||e.selectStrategy==="leaf"&&f.value),D=n.computed(()=>({"y-tree-view-node":!0,"y-tree-view-node--leaf":v.value,"y-tree-view-node--expanded":i.value,"y-tree-view-node--active":c.value})),g=n.computed(()=>({"--tree-view-node--level":e.level})),p=n.computed(()=>H(e.item,e.itemText)??""),y=n.computed(()=>{if(e.itemSelectable!=null){let P=!0;return typeof e.itemSelectable=="function"?P=!!e.itemSelectable(e.item):Array.isArray(e.itemSelectable)?P=e.itemSelectable.includes(d.value):P=le(e.item,e.itemSelectable,!0),!P}return!1}),_=n.computed(()=>({level:e.level,imLeaf:v.value,toggleActive:O}));n.watch(w,P=>{s.value=P});function O(P){const A=!c.value;c.value=A,r.updateActive(d.value,A,P),r.emitActive()}function V(P){O(P)}function E(P){P.stopPropagation();const A=!i.value;i.value=A,r.updateExpanded(d.value,A),r.emitExpanded()}function k(P){if(P.stopPropagation(),y.value)return;const A=!T.value;u.value=A,r.updateSelected(d.value,A),r.emitSelected()}function C(P){e.onMouseenterContainer?.(P,{..._.value,item:e.item})}function N(P){e.onMouseleaveContainer?.(P,{..._.value,item:e.item})}function S(P){e.onMousemoveContainer?.(P,{..._.value,item:e.item})}function Y(P){e.onDblclickContainer?.(P,{..._.value,item:e.item,toggleExpand:()=>E(P)})}R(()=>{const P=[];for(let A=0;A<e.level;A+=1)P.push(n.createVNode("div",{class:"y-tree-view-node__indent-spacer"},null));return n.createVNode("div",{class:D.value,style:g.value,role:"treeitem","data-level":e.level},[n.createVNode("div",{ref:l,class:"y-tree-view-node__container",onClick:A=>e.enableActive?V(A):void 0,onMouseenter:e.onMouseenterContainer&&C,onMouseleave:e.onMouseleaveContainer&&N,onMousemove:e.onMousemoveContainer&&S,onDblclick:Y},[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-tree-view-node__indents"},[P]),!v.value&&x.value.length>0?n.createVNode(U,{class:"y-tree-view-node__expand-icon",variation:"icon",onClick:E},{default:()=>[t["expand-icon"]?t["expand-icon"]():n.createVNode(Re,null,null)]}):n.createVNode("i",{class:"y-tree-view-node__no-expand-icon"},null),e.enableSelect&&n.createVNode("div",{class:["y-tree-view-node__select",{"y-tree-view-node__select--disabled":y.value}],role:"checkbox","aria-checked":T.value,onClick:k},[n.createVNode(se,{checked:T.value,indeterminate:!u.value&&w.value,disabled:y.value},null)]),n.createVNode("div",{class:"y-tree-view-node__content"},[t.leading&&n.createVNode("div",{class:"y-tree-view-node__leading"},[t.leading(_.value)]),n.createVNode("div",{class:"y-tree-view-node__text"},[t.default?t.default?.({text:p.value,item:e.item,..._.value}):e.search&&!h.value?n.createVNode(va,{text:p.value,keyword:e.search},null):p.value]),t.trailing&&n.createVNode("div",{class:"y-tree-view-node__trailing"},[t.trailing(_.value)])])]),m.value.length>0&&n.createVNode(ya,{disabled:e.disableTransition},{default:()=>[i.value&&n.createVNode("div",{class:["y-tree-view-node__leaves"],role:"tree"},[x.value.map(A=>n.createVNode(o,n.mergeProps(n.mergeProps(e),{key:H(A,e.itemKey),level:(e.level??0)+1,item:A}),{default:t.default&&((...L)=>t.default?.(...L)),"expand-icon":t["expand-icon"]&&((...L)=>t["expand-icon"]?.(...L)),leading:t.leading&&((...L)=>t.leading?.(...L)),trailing:t.trailing&&((...L)=>t.trailing?.(...L))}))])]})])});const $={myKey:d,expanded:i,active:c,selected:u,indeterminate:s};return a($),n.onBeforeMount(()=>{r?.register?.(d.value,$)}),{treeView:r,myKey:d,expanded:i,active:c,selected:u,indeterminate:s,childrenSelection:b}}});function Tl(e,t,a){const o=[],r=e.slice();for(;r.length>0;){const l=r.splice(0,1),i=H(l,t);o.push(i);const c=H(l,a);Array.isArray(c)&&r.push(...c)}return o}function Dl(e,t,a){return H(e,a)?.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())>-1}function pa(e,t,a,o,r,l,i){const c=H(t,l);if(c){let u=!1;for(let s=0;s<c.length;s++)pa(e,c[s],a,o,r,l,i)&&(u=!0);if(u)return!0;if(e(t,a,r))return!0}else if(e(t,a,r))return!0;return i.add(H(t,o)),!1}const wa=Bt(),El=n.defineComponent({name:"YTreeView",props:{expanded:{type:[Array],default:()=>[]},active:{type:[Array],default:()=>[]},multipleActive:Boolean,onlyEventActiveStrategy:Boolean,selected:{type:[Array],default:()=>[]},returnItem:Boolean,defaultExpand:[Boolean,String,Number],filter:Function,searchDebounceWait:{type:Number,default:700},...wa},emits:["update:expanded","update:active","update:selected","mouseenterContainer","mouseleaveContainer","mousemoveContainer","dblclickContainer"],setup(e,{slots:t,expose:a}){const o=n.shallowRef(Vt(y,e.searchDebounceWait)),r=n.ref([]),{nodes:l,expanded:i,active:c,selected:u,expandedSet:s,selectedSet:d,activeSet:m,searchLoading:v,excludedSet:h,issueVnodeState:x,updateExpanded:b,updateActive:f,updateSelected:w,emitExpanded:T,emitActive:D,emitSelected:g,isExcluded:p}=kl(e);function y(S,Y="",$=Dl){const P=new Set;if(!Y){v.value=!1,h.value=P,sn(r.value,[...s.value]).forEach(L=>{b(L,!1)}),r.value.forEach(L=>{b(L,!0)});return}for(const A of S)pa($,A,Y??"",e.itemKey,e.itemText,e.itemChildren,P);h.value=P,v.value=!1,V()}n.watch(()=>e.search,()=>{v.value=!0,o.value(e.items,e.search,e.filter)});function _(S){return e.returnItem?H(S,e.itemKey):S}function O(S,Y=null,$=0){for(const P of S){const A=H(P,e.itemKey),L=H(P,e.itemChildren)??[],W=Object.hasOwn(l.value,A)?l.value[A]:{vnode:null,selected:u.value?.includes(A)??!1,indeterminate:!1,active:c.value?.includes(A)??!1,expanded:i.value?.includes(A)??!1},J={vnode:W.vnode,item:P,level:$,parentKey:Y,childKeys:L.map(Q=>H(Q,e.itemKey)),expanded:L.length>0&&W.expanded,active:W.active,indeterminate:W.indeterminate,selected:W.selected};O(L,A,$+1),l.value[A]=J,l.value[A].expanded&&s.value.add(A),l.value[A].selected&&d.value.add(A),l.value[A].active&&m.value.add(A),x(A)}}n.watch(s,S=>{e.search||(r.value=[...S])},{deep:!0});function V(S=!0){return Object.entries(l.value).forEach(([Y,$])=>{(S===!0||Number(S)>=$.level)&&b(Y,!0)}),T(),s.value}function E(S,Y,$,P){const A=e.returnItem?S.map(I=>H(I,e.itemKey)):S,L=[...Y.value];ie(L,A)||(L.forEach(I=>{$(I,!1)}),A.forEach(I=>{$(I,!0)}),P())}n.watch(i,S=>{E(S,s,b,T)}),n.watch(c,S=>{E(S,m,f,D)}),n.watch(u,S=>{E(S,d,w,g)}),n.watch(()=>e.items,S=>{const Y=Object.keys(l.value).map(I=>H(l.value[I].item,e.itemKey)),$=Tl(S,e.itemKey,e.itemChildren),P=sn(Y,$);if(P.length<1&&$.length<Y.length)return;P.forEach(I=>{delete l.value[I]});const A=[...d.value],L=[...m.value];d.value.clear(),s.value.clear(),m.value.clear(),O(S),ie(A,[...d.value])||g(),ie(L,[...m.value])||D(),o.value(S,e.search,e.filter)},{deep:!0,flush:"sync"}),O(e.items);const k=n.computed(()=>e.items.slice().filter(S=>!p(H(S,e.itemKey)))),C=n.computed(()=>({"y-tree-view":!0})),N=n.computed(()=>{let S=e.activeColor;return e.activeColor&&!Se(e.activeColor)&&(S=`var(--y-theme-${e.activeColor})`),{"--y-tree-view__active-color":S}});return n.onMounted(()=>{e.search&&(v.value=!0,y(e.items,e.search,e.filter)),e.defaultExpand!=null&&e.defaultExpand!==!1?r.value=[...V(e.defaultExpand)]:(i.value.forEach(S=>{b(_(S),!0)}),T());for(const S of e.active.map(_))f(S,!0);for(const S of e.selected.map(_))w(S,!0)}),a({expand:V}),R(()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{class:C.value,style:N.value,role:"tree"},[v.value&&n.createVNode($n,{indeterminate:!0},null),k.value.length>0?k.value.slice().map(S=>n.createVNode(ba,n.mergeProps({key:H(S,e.itemKey)},{...z(e,wa),item:S,level:0}),t)):n.createVNode("div",{class:"y-tree-view__no-data"},[t["no-data"]?t["no-data"]():n.createVNode("span",null,[n.createTextVNode("No Data")])])])])),{nodes:l,expandedSet:s,selectedSet:d,activeSet:m,excludedSet:h,searchLoading:v,expandedCache:r,renderLeaves:k}}}),Sa=B({tag:{type:[String,Object],default:"div"},onClick:Function,disabled:Boolean,...xe()},"YListItem"),$t=M({name:"YListItem",props:{...Sa()},emits:{click:e=>!0},slots:Object,setup(e,{slots:t,emit:a}){const{themeClasses:o}=Ne(e);function r(i){a("click",i)}const l=n.computed(()=>!e.disabled&&!!e.onClick);R(()=>{const i=e.tag;return n.createVNode(i,{class:["y-list-item",{"y-list-item--pointer":l.value,"y-list-item--disabled":e.disabled},o.value],onClick:r},{default:()=>[t.leading&&n.createVNode("div",{class:"y-list-item__leading"},[t.leading()]),n.createVNode("div",{class:"y-list-item__content"},[t.default?.()]),t.trailing&&n.createVNode("div",{class:"y-list-item__trailing"},[t.trailing()])]})})}}),xa=B({disabled:Boolean,...xe()},"YList"),Rt=M({name:"YList",props:{...xa()},setup(e,{slots:t,attrs:a}){const o=n.ref(),{themeClasses:r}=Ne(e),l=n.shallowRef(!1);function i(d){!l.value&&(d.relatedTarget&&o.value?.contains(d.relatedTarget))}function c(d){l.value=!0}function u(d){l.value=!1}function s(d){}R(()=>n.createVNode("div",n.mergeProps({ref:o,class:["y-list",r.value],role:"listbox",tabindex:a.tabindex??(e.disabled||l.value?-1:0),onFocus:i,onFocusin:c,onFocusout:u,onKeydown:s},a),[t.default?.()]))}});function Ol(){const e=n.ref(),t=n.ref(),a=n.shallowRef(),o=n.shallowRef(),r=n.shallowRef(),l=Vt(c,100),{resizeObservedRef:i}=pe(u=>{l(u)});function c(u){if(a.value=u?.[0]?.contentRect,t.value){const s=t.value.getBoundingClientRect();if(s){const d={};for(const m in s)typeof s[m]!="function"&&(d[m]=s[m]);o.value={...d,clientWidth:t.value?.clientWidth??0}}}if(e.value){const s=e.value?.getBoundingClientRect();s&&(r.value=s)}}return n.watch(e,u=>{if(u){const s=i.value;t.value=s.querySelector(".y-table__wrapper")||void 0}}),{containerRef:i,wrapperRef:t,tableRef:e,containerRect:a,wrapperRect:o,tableRect:r}}const Na=Symbol.for("y-table"),Lt=Symbol.for("y-data-table"),Ft=B({tag:{type:String,default:"div"},fixedHead:{type:Boolean},height:{type:[Number,String]},flexHeight:{type:Boolean},onScroll:Function},"YTable"),Ve=M({name:"YTable",props:{...Ft()},emits:["scroll"],setup(e,{slots:t,emit:a}){const{containerRef:o,tableRef:r,containerRect:l,wrapperRef:i,wrapperRect:c}=Ol();n.provide(Na,{containerRect:l,tableRef:r,wrapperRef:i,wrapperRect:c});function u(s){a("scroll",s)}R(()=>{const s=e.tag??"div",d=e.flexHeight?l.value?.height??e.height:e.height;return n.createVNode(s,{class:["y-table",{"y-table--fixed-head":e.fixedHead,"y-table--fixed-height":e.flexHeight||e.height,"y-table--flex-height":e.flexHeight}],style:{"--y-table-container-width":F(l.value?.width),"--y-table-wrapper-width":F(c.value?.width)}},{default:()=>[t.top?.(),t.default?n.createVNode("div",{ref:o,class:["y-table__container"]},[t.leading?.(),n.createVNode("div",{class:["y-table__wrapper"],style:{height:F(d)},onScroll:u},[n.createVNode("table",{ref:r},[t.default()])]),t.trailing?.()]):t.container?.(o,l),t.bottom?.()]})})}}),Al=B({enableExpand:Boolean,expanded:{type:Array,default:()=>[]}},"YDataTable--expand"),jt=Symbol.for("yuyeon.data-table.expand");function Ca(e){const t=K(e,"expanded",e.expanded??[],l=>new Set(l),l=>[...l]);function a(l){return t.value.has(l.value)}function o(l,i){const c=new Set(t.value);i?c.add(l.value):c.delete(l.value),t.value=c}function r(l){o(l,!a(l))}return n.provide(jt,{expands:t,isExpanded:a,expand:o,toggleExpand:r}),{expands:t,isExpanded:a,expand:o,toggleExpand:r}}function ka(){const e=n.inject(jt);if(!e)throw new Error(`Not provided: ${jt.description}`);return e}const Pl=B({headers:{type:Array,default:()=>[]}},"YDataTable--header"),Kt=Symbol.for("yuyeon.data-table.header");function Va(e,t){const a=n.ref([]),o=n.ref([]);n.watchEffect(()=>{const l=e.headers?.length?[e.headers]:[],i=l.flatMap((h,x)=>h.map(b=>({column:b,rowIndex:x}))),c=l.length,s={...{text:"",sortable:!1},width:48};if(t?.enableSelect?.value){const h=i.findIndex(({column:x})=>x.key==="data-table-select");if(h<0){const x=i.some(({column:b})=>b?.fixed===!0||b?.fixed==="left");i.unshift({column:{...s,key:"data-table-select",rowspan:c,fixed:x},rowIndex:0})}else i.splice(h,1,{column:{...s,...i[h].column},rowIndex:i[h].rowIndex})}const d=fe(c).map(()=>[]),m=fe(c).fill(0);i.forEach(({column:h,rowIndex:x})=>{const{key:b}=h;for(let f=x;f<=x+(h.rowspan??1)-1;f+=1)d[f].push({...h,key:b,fixedOffset:m[f],sortable:h.sortable??!!b}),m[f]+=Number(h.width??0)}),d.forEach(h=>{for(let f=h.length-1;f>=0;f--)if(h[f].fixed===!0||h[f].fixed==="left"){h[f].lastFixed=!0;break}const x=h.filter(f=>f.fixed==="right");let b=0;for(let f=x.length-1;f>=0;f--)x[f].rightOffset=b,b+=Number(x[f].width??0),f===0&&(x[f].lastFixed=!0)});const v=new Set;a.value=d.map(h=>{const x=[];for(const b of h)v.has(b.key)||(v.add(b.key),x.push(b));return x}),o.value=d[d.length-1]||[]});const r={headers:a,columns:o};return n.provide(Kt,r),r}function Wt(){const e=n.inject(Kt);if(!e)throw new Error(`Not provided: ${Kt.description}`);return e}const Il=B({items:{type:Array,default:()=>[]},itemKey:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},returnItem:Boolean},"YDataTable--items");function Ml(e,t,a,o){const r=n.ref(null),l=le(t,e.itemKey),i=e.returnItem?t:l;let c;typeof e.itemSelectable=="function"?c=!!e.itemSelectable(t):c=le(t,e.itemSelectable,!0);const u=o.reduce((d,m)=>(d[m.key]=le(t,m.value??m.key),d),{});function s(d){r.value=d}return{index:a,key:l,value:i,selectable:c,columns:u,raw:t,rowRef:r,_bindRowRef:s}}function Yl(e,t,a){return t.map((o,r)=>Ml(e,o,r,a))}function _a(e,t){return{items:n.computed(()=>Yl(e,e.items,t.value))}}function Ta({page:e,pageSize:t,sortBy:a,search:o},r){const l=n.computed(()=>({page:e.value,pageSize:t.value,sortBy:a.value,search:o.value}));n.watch(()=>o?.value,()=>{e.value=1});let i=null;n.watch(l,()=>{ie(i,l.value)||(r("update:options",l.value),i=l.value)},{deep:!0,immediate:!0})}const Bl=Symbol.for("yuyeon.data-table.pagination"),$l=B({page:{type:[Number,String],default:1},pageSize:{type:[Number,String],default:10}},"YDataTable--pagination");function Da(e){const t=K(e,"page",void 0,o=>+(o??1)),a=K(e,"pageSize",void 0,o=>+(o??10));return{page:t,pageSize:a}}function Ea(e){const{page:t,pageSize:a,total:o}=e,r=n.computed(()=>a.value===-1?0:a.value*(t.value-1)),l=n.computed(()=>a.value===-1?o.value:Math.min(o.value,r.value+a.value)),i=n.computed(()=>a.value===-1||o.value===0?1:Math.ceil(o.value/a.value));n.watch([t,i],()=>{t.value>i.value&&(t.value=i.value)});function c(v,h){a.value=v,h||(t.value=1)}function u(){t.value=de(t.value+1,1,i.value)}function s(){t.value=de(t.value-1,1,i.value)}function d(v){t.value=de(v,1,i.value)}const m={page:t,pageSize:a,startIndex:r,endIndex:l,pageLength:i,total:o,nextPage:u,prevPage:s,setPage:d,setPageSize:c};return n.provide(Bl,m),m}function Rl(e){const{items:t,startIndex:a,endIndex:o,pageSize:r}=e;return{paginatedItems:n.computed(()=>r.value<=0?t.value:t.value.slice(a.value,o.value))}}const Ll=B({enableSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},itemComparator:{type:[Function,String],default:()=>ie}},"YDataTable--selection"),Fl={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},Oa={showSelectAll:!0,allSelected:({pageItems:e})=>e,select:({items:e,value:t,selected:a})=>{for(const o of e)t?a.add(o.value):a.delete(o.value);return a},selectAll:({value:e,pageItems:t,selected:a})=>Oa.select({items:t,value:e,selected:a})},Aa={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:a})=>{for(const o of e)t?a.add(o.value):a.delete(o.value);return a},selectAll:({value:e,allItems:t,selected:a})=>Aa.select({items:t,value:e,selected:a})},Ht=Symbol.for("yuyeon.data-table.selection");function Pa(e,{allItems:t,pageItems:a}){const o=K(e,"modelValue",e.modelValue,f=>new Set(ye(f).map(w=>t.value.find(T=>{const{itemComparator:D}=e;return typeof D=="function"&&D(w,T.value),le(w,e.itemKey)===T.key})?.value??w)),f=>[...f.values()]),r=n.computed(()=>t.value.filter(f=>f.selectable)),l=n.computed(()=>a.value.filter(f=>f.selectable)),i=n.computed(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Fl;case"all":return Aa;default:return Oa}});function c(f){return ye(f).every(w=>o.value.has(w.value))}function u(f){return ye(f).some(w=>o.value.has(w.value))}function s(f,w){o.value=i.value.select({items:f,value:w,selected:new Set(o.value)})}function d(f){s([f],!c([f]))}function m(f){o.value=i.value.selectAll({value:f,allItems:r.value,pageItems:l.value,selected:new Set(o.value)})}const v=n.computed(()=>i.value.allSelected({allItems:r.value,pageItems:l.value})),h=n.computed(()=>u(l.value)),x=n.computed(()=>c(v.value)),b={toggleSelect:d,select:s,selectAll:m,isSelected:c,isSomeSelected:u,someSelected:h,allSelected:x,showSelectAll:i.value.showSelectAll,selectables:v};return n.provide(Ht,b),b}function zt(){const e=n.inject(Ht);if(!e)throw new Error(`Not provided: ${Ht.description}`);return e}function jl(e,t,a,o){const{locale:r}=Ie();return{sortedItems:n.computed(()=>a.value.length===0?t.value:Kl(t.value,a.value,r.value))}}function Kl(e,t,a){const o=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(l=>l).sort((l,i)=>{for(let c=0;c<t.length;c++){const u=t[c].key,s=t[c].order??"asc";if(s===!1)continue;let d=H(n.unref(l.columns),u),m=H(n.unref(i.columns),u);if(n.unref(l.raw),n.unref(i.raw),s==="desc"&&([d,m]=[m,d]),d instanceof Date&&m instanceof Date)return d.getTime()-m.getTime();if([d,m]=[d,m].map(v=>v!=null?v.toString().toLocaleLowerCase():v),d!==m)return Ke(d)&&Ke(m)?0:Ke(d)?-1:Ke(m)?1:!isNaN(d)&&!isNaN(m)?Number(d)-Number(m):o.compare(d,m)}return 0}).map(l=>l)}const Ut=Symbol.for("yuyeon.data-table.sorting"),Wl=B({sortBy:{type:Array,default:()=>[]},multiSort:Boolean},"YDataTable--sorting");function Ia(e){const t=K(e,"sortBy"),a=n.toRef(e,"multiSort");return{sortBy:t,multiSort:a}}function Ma(e){const{sortBy:t,multiSort:a,page:o}=e,r=c=>{let u=t.value?.map(m=>({...m}))??[];const s=u.find(m=>m.key===c.key),d={key:c.key,order:"asc"};s?s.order==="desc"?c.mustSort?s.order="asc":u=u.filter(m=>m.key!==c.key):s.order="desc":a?.value?u=[...u,d]:u=[d],t.value=u,o&&(o.value=1)};function l(c){return!!t.value.find(u=>u.key===c.key)}const i={sortBy:t,toggleSort:r,isSorted:l};return n.provide(Ut,i),i}function Hl(){const e=n.inject(Ut);if(!e)throw new Error(`Not provided: ${Ut.description}`);return e}const at=M({name:"YDataTableCell",functional:!0,props:{type:{type:String,default:"data"},fixed:{type:String},fixedOffset:{type:Number},rightOffset:{type:Number},width:{type:[Number,String]},maxWidth:{type:[Number,String]},height:{type:[Number,String]},align:{type:String,default:"start"}},emits:["click"],setup(e,{slots:t,emit:a,attrs:o}){const r=n.computed(()=>{const l={};return e.fixed&&e.fixedOffset!==void 0&&(e.fixed.startsWith("lead")?l.left=F(e.fixedOffset):e.fixed.startsWith("trail")&&(l.right=F(e.rightOffset))),l});R(()=>{const l=e.type==="head"?"th":"td";return n.createVNode(l,n.mergeProps({class:[`y-data-table__${l}`,"y-data-table-cell",{"y-data-table-cell--fixed":e.fixed,"y-data-table-cell--fixed-last":e.fixed?.endsWith("last"),[`y-data-table-cell--fixed-${e.fixed?.replace("-last","")}`]:e.fixed,[`y-data-table-cell--align-${e.align}`]:e.align}],style:{width:F(e.width),height:F(e.height),maxWidth:F(e.maxWidth),...r.value}},o,{onClick:i=>a("click",i)}),{default:()=>[t.default?.()]})})}}),Ya=B({index:Number,onHover:Function,onMousedown:Function,onClick:Function,onDblclick:Function,onContextmenu:Function,onKeydown:Function},"YDataTableRow"),Ba=M({name:"YDataTableRow",props:{item:Object,cellProps:[Object,Function],...Ya()},emits:["hover","mousedown","click","dblclick","contextmenu"],setup(e,{slots:t}){const a=n.getCurrentInstance(),{columns:o}=Wt(),{isSelected:r,toggleSelect:l}=zt(),{isExpanded:i,toggleExpand:c}=ka(),u=n.computed(()=>e.item&&r(e.item));function s(b){const f=[];return typeof b=="string"&&f.push(b),Array.isArray(b)&&b.forEach(w=>{typeof w=="string"&&f.push(w)}),f}function d(b){e.onMousedown?.(b,a?.proxy?.$el)}function m(b){e.onClick?.(b,a?.proxy?.$el)}function v(b){e.onContextmenu?.(b,a?.proxy?.$el)}function h(b){e.onDblclick?.(b,a?.proxy?.$el)}function x(b){e.onKeydown?.(b,a?.proxy?.$el)}R(()=>n.createVNode("tr",{class:["y-data-table__row",{"y-data-table__row--selected":u.value,"y-data-table__row--expanded":i(e.item)}],onClick:e.onClick&&m,onContextmenu:e.onContextmenu&&v,onDblclick:e.onDblclick&&h,onMousedown:e.onMousedown&&d,onKeydown:e.onKeydown&&x},[e.item&&o.value.map((b,f)=>{const w=e.item,T={index:e.index,item:e.item.raw,internalItem:e.item,columns:o.value,value:le(w.columns,b.key),selected:u.value,toggleSelect:l,isExpanded:i,toggleExpand:c,column:b,el:a?.proxy?.$el},D=n.computed(()=>{const p=[];if(typeof b.classes=="function"){const y=b.classes.call(null,T.item,T.index,b);y&&p.push(...s(y))}else b.classes&&p.push(...s(b.classes));return p}),g=typeof e.cellProps=="function"?e.cellProps({index:T.index,column:b,internalItem:T.internalItem,item:T.item,value:T.value,selected:T.selected}):e.cellProps;return n.createVNode(at,n.mergeProps({align:b.align,fixed:b.fixed?(b.fixed==="right"?"trail":"lead")+(b.lastFixed?"-last":""):void 0,fixedOffset:b.fixedOffset,rightOffset:b.rightOffset,width:b.width,maxWidth:b.maxWidth,class:["y-data-table-data",{"y-data-table-data--select":b.key==="data-table-select"},...D.value]},g),{default:()=>{const p=`item.${b.key}`;return t[p]?t[p]?.(T):b.key==="data-table-select"?t["item.data-table-select"]?.(T)??n.createVNode(U,{variation:"text,small",disabled:!w.selectable,onClick:y=>{y.stopPropagation(),w.selectable&&l(w)}},{default:()=>[n.createVNode(se,{checked:r(w),disabled:!w.selectable},null)]}):T.value}})})]))}}),Gt=B({items:{type:Array,default:()=>[]},loading:[Boolean,String],loadingText:String,hideNoData:Boolean,noDataText:{type:String,default:""},rowProps:[Function,Object],rowHeight:Number,"onClick:row":Function,"onDblclick:row":Function,"onContextmenu:row":Function,"onMousedown:row":Function,"onKeydown:row":Function},"YDataTableBody"),_e=M({name:"YDataTableBody",props:{...Gt()},emits:["click:row","dblclick:row","contextmenu:row","mousedown:row"],setup(e,{slots:t}){const{columns:a}=Wt(),{isSelected:o,toggleSelect:r}=zt(),{isExpanded:l,toggleExpand:i}=ka();R(()=>e.loading&&!e.items.length?n.createVNode("tr",null,[n.createVNode("td",{colspan:a.value.length,class:"y-data-table__loading"},[t.loading?t.loading():n.createVNode("div",null,[e.loadingText])])]):!e.loading&&e.items.length<1&&!e.hideNoData?n.createVNode("tr",{key:"no-data",class:"y-data-table__no-data"},[n.createVNode("td",{colspan:a.value.length},[t["no-data"]?.()??e.noDataText])]):n.createVNode(n.Fragment,null,[t.body?t.body?.(e):e.items.map((c,u)=>{const s={index:u,item:c.raw,internalItem:c,columns:a.value,isSelected:o,toggleSelect:r,isExpanded:l,toggleExpand:i};function d(f,w){e["onClick:row"]?.(f,{...s,el:w})}function m(f,w){e["onDblclick:row"]?.(f,{...s,el:w})}function v(f,w){e["onContextmenu:row"]?.(f,{...s,el:w})}function h(f,w){e["onMousedown:row"]?.(f,{...s,el:w})}function x(f,w){e["onKeydown:row"]?.(f,{...s,el:w})}const b={...s,props:n.mergeProps({key:`item__${c.key??c.index}`,item:c,index:u},typeof e.rowProps=="function"?e.rowProps({item:s.item,index:s.index,internalItem:s.internalItem}):e.rowProps),onClick:d,onContextmenu:v,onDblclick:m,onMousedown:h,onKeydown:x};return n.createVNode(n.Fragment,null,[t.item?t.item(b):n.createVNode(Ba,n.mergeProps({ref:f=>{c._bindRowRef(f)}},b.props,{onClick:e["onClick:row"]&&d,onContextmenu:e["onContextmenu:row"]&&v,onDblclick:e["onDblclick:row"]&&m,onMousedown:e["onMousedown:row"]&&h,onKeydown:e["onKeydown:row"]&&x}),t),l(c)&&t["expanded-row"]?.(b)])})]))}});function zl(){const e=n.ref([]);n.onBeforeUpdate(()=>e.value=[]);function t(a,o){e.value[o]=a}return{refs:e,updateRef:t}}const $a=B({start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],maxVisible:[Number,String],endButton:{type:[Boolean,Number]},gap:{type:[String,Number],default:4},color:String,activeColor:String,buttonVariation:[String],activeButtonVariation:[String],align:{type:String,default:"center"}},"YPagination"),Ra=M({name:"YPagination",components:{YButton:U},props:{...$a()},emits:{"update:modelValue":e=>!0,change:(e,t)=>!0},setup(e,{slots:t,emit:a}){const o=K(e),r=n.computed(()=>parseInt(e.length,10)),l=n.computed(()=>parseInt(e.start,10)),i=n.shallowRef(-1),{resizeObservedRef:c}=pe(w=>{if(1>w.length)return;const{target:T,contentRect:D}=w[0],g=T.querySelector(".y-pagination__list > *");if(g){const p=D.width,y=g.offsetWidth+parseFloat(getComputedStyle(g).marginRight)*2;i.value=u(p,y)}});function u(w,T){const D=e.endButton?5:3,g=+(e.gap??4),p=(T+g)*D-g,y=Math.max(0,Math.floor(+((w-p)/(T+g)).toFixed(2))),_=Number(e.maxVisible);return Number.isNaN(_)?y:Math.min(_,y)}const s=n.computed(()=>{const w=Number(e.maxVisible);if(e.totalVisible){const T=parseInt(e.totalVisible,10);return Number.isNaN(w)?T:Math.min(T,w)}else if(i.value>=0)return i.value;return u(innerWidth,58)}),d=n.computed(()=>{const w=!!e.disabled||o.value<=l.value,T=!!e.disabled||o.value>=l.value+r.value-1;return{first:{disabled:w,variation:e.buttonVariation,onClick:D=>{D.preventDefault();let g=o.value;if(e.endButton===!0)g=1;else{const p=Number(e.endButton);Number.isNaN(p)||(g=de(g-p,1,+r.value))}o.value=g,a("change",g,"first")}},prev:{disabled:w,variation:e.buttonVariation,onClick:D=>{D.preventDefault();const g=Math.max(1,o.value-1);o.value=g,a("change",g,"prev")}},next:{disabled:T,variation:e.buttonVariation,onClick:D=>{D.preventDefault();const g=Math.min(+r.value,o.value+1);o.value=g,a("change",g,"next")}},last:{disabled:T,variation:e.buttonVariation,onClick:D=>{D.preventDefault();let g=o.value;e.endButton===!0?g=+r.value:typeof e.endButton=="number"&&(g=de(g+e.endButton,1,+r.value)),o.value=g,a("change",g,"last")}}}}),m=n.computed(()=>{if(r.value<=0||Number.isNaN(r.value)||r.value>Number.MAX_SAFE_INTEGER)return[];if(s.value<=1)return[o.value];if(r.value<=s.value)return fe(r.value,l.value);const w=s.value%2===0,T=w?s.value/2:Math.floor(s.value/2),D=w?T:T+1,g=r.value-T;if(D-o.value>=0)return[...fe(Math.max(1,s.value-1),l.value),"ellipsis",r.value];if(o.value-g>=(w?1:0)){const p=s.value-1,y=r.value-p+l.value;return[l.value,"ellipsis",...fe(p,y)]}else{const p=Math.max(1,s.value-3),y=p===1?o.value:o.value-Math.ceil(p/2)+l.value;return[l.value,"ellipsis",...fe(p,y),"ellipsis",r.value]}}),{refs:v,updateRef:h}=zl();function x(w,T=1){w.preventDefault(),o.value=T,a("change",T)}const b=n.computed(()=>m.value.map((w,T)=>{const D=g=>h(g,T);if(w==="ellipsis")return{active:!1,key:`ellipsis-${T}`,page:w,props:{ref:D,ellipsis:!0,disabled:!0}};{const g=w===o.value;return{active:g,key:`item-${w}`,page:w,props:{ref:D,ellipsis:!1,disabled:!!e.disabled||+e.length<2,color:g?e.activeColor:e.color,variation:g?e.activeButtonVariation:e.buttonVariation,onClick:p=>x(p,w)}}}})),f=n.computed(()=>{let w;if(e.gap){const T=+e.gap;Number.isNaN(T)?typeof e.gap=="string"&&(w=e.gap):w=F(T)}return{"--y-pagination__gap":w}});return R(()=>n.createVNode("nav",{ref:c,class:["y-pagination",{[`y-pagination--align-${e.align}`]:e.align!=="start"}],style:f.value},[n.createVNode("ul",{class:["y-pagination__list"]},[e.endButton&&n.createVNode("li",{key:"first",class:"y-pagination__first"},[t.first?t.first(d.value.first):n.createVNode(U,d.value.first,{default:()=>[t["first-icon"]?t["first-icon"]():n.createVNode(ue,{type:"first"},null)]})]),n.createVNode("li",{key:"prev",class:"y-pagination__prev"},[t.prev?t.prev(d.value.prev):n.createVNode(U,d.value.prev,{default:()=>[t["prev-icon"]?t["prev-icon"]():n.createVNode(ue,{type:"prev"},null)]})]),b.value.map((w,T)=>n.createVNode("li",{key:w.key,class:["y-pagination__item",{"y-pagination__item--active":w.active}]},[n.createVNode(U,w.props,{default:()=>[w.props.ellipsis?t.ellipsis?t.ellipsis():"...":w.page]})])),n.createVNode("li",{key:"next",class:"y-pagination__next"},[t.next?t.next(d.value.next):n.createVNode(U,d.value.next,{default:()=>[t["next-icon"]?t["next-icon"]():n.createVNode(ue,{type:"next"},null)]})]),e.endButton&&n.createVNode("li",{key:"last",class:"y-pagination__last"},[t.last?t.last(d.value.last):n.createVNode(U,d.value.last,{default:()=>[t["last-icon"]?t["last-icon"]():n.createVNode(ue,{type:"last"},null)]})])])])),{itemCount:i,page:o,refs:v}}}),ot=B({pageLength:Number,setPageSize:Function,setPage:Function,paginationProps:{type:Object},...$l()},"YDataTableControl"),Te=M({name:"YDataTableControl",components:{YButton:U,YIconExpand:Re,YFieldInput:Xe,YIconPageControl:ue},props:ot(),setup(e,{slots:t}){R(()=>n.createVNode("footer",{class:["y-data-table-control"]},[t.prepend?.(e),t.default?t.default():n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"y-data-table-control__start"},null),n.createVNode("div",{class:"y-data-table-control__end"},[n.createVNode(Ra,n.mergeProps(e.paginationProps,{"model-value":e.page,"onUpdate:modelValue":e.setPage,length:e.pageLength}),null)])]),t.append?.(e)]))}}),La=B({multiSort:Boolean,sortAscIcon:{type:String,default:"@sortAsc"},sortDescIcon:{type:String,default:"@sortDesc"},dualSortIcon:Boolean,sticky:Boolean},"YDataTableHead"),Le=M({name:"YDataTableHead",components:{YDataTableCell:at},props:{...La()},setup(e,{slots:t}){const{toggleSort:a,sortBy:o,isSorted:r}=Hl(),{someSelected:l,allSelected:i,selectAll:c,showSelectAll:u,selectables:s}=zt(),{columns:d,headers:m}=Wt(),v=(f,w)=>{if(!e.sticky&&!f.fixed)return;const T={};return(f.fixed===!0||f.fixed==="left")&&(T.left=F(f.fixedOffset)),f.fixed==="right"&&(T.right=F(f.rightOffset)),{position:"sticky",zIndex:f.fixed?4:e.sticky?3:void 0,top:e.sticky?`calc(var(--v-table-header-height) * ${w})`:void 0,...T}};function h(f){}function x(f){const w=o.value.find(T=>T.key===f.key);if(w){if(w.order==="asc")return"asc";if(w.order==="desc")return"desc"}}const b=({column:f,x:w,y:T})=>n.createVNode(at,n.mergeProps({type:"head",align:f.align,fixed:f.fixed?(f.fixed==="right"?"trail":"lead")+(f.lastFixed?"-last":""):void 0,class:["y-data-table-header",{"y-data-table-header--sortable":f.sortable,"y-data-table-header--sorted":r(f),"y-data-table-header--select":f.key==="data-table-select"},...ye(f.headerClasses??[])],style:{width:F(f.width),minWidth:F(f.width),maxWidth:F(f.maxWidth),...v(f,T)}},{rowspan:f.rowspan,colspan:f.colspan},{onClick:h}),{default:()=>{const D=`header.${f.key}`,g={column:f,selectAll:c,isSorted:r,toggleSort:a,sortBy:o.value,someSelected:l.value,allSelected:i.value,selectables:s.value,getSortDirection:x};return t[D]?t[D]?.(g):f.key==="data-table-select"?t["header.data-table-select"]?.(g)??(u&&n.createVNode(U,{variation:"text,small",disabled:s.value.length<1,onClick:p=>{p.stopPropagation(),c(!i.value)}},{default:()=>[n.createVNode(se,{checked:i.value,indeterminate:!i.value&&l.value,disabled:s.value.length<1},null)]})):n.createVNode("div",{class:"y-data-table-header__content"},[n.createVNode("span",{class:"y-data-table-header__text"},[t?.[`header-text.${f.key}`]?.(g)??f.text]),n.createVNode("span",{class:["y-data-table-header__sorting-icon",{"y-data-table-header__sorting-icon--disabled":!f.sortable}],onClick:f.sortable?p=>{p.stopPropagation(),a(f)}:void 0},[n.createVNode(Yt,{disabled:!f.sortable,direction:x(f)},null)])])}});R(()=>n.createVNode(n.Fragment,null,[t.head?t.head?.(e):m.value.map((f,w)=>n.createVNode("tr",null,[f.map((T,D)=>n.createVNode(b,{column:T,x:D,y:w},null))]))]))}}),rt=M({name:"YDataTableLayer",props:{slotProps:Object},setup(e,{slots:t}){const a=n.inject(Na),o=n.inject(Lt);return R(()=>{const r={...e.slotProps,YTable:a,YDataTable:o};return n.createVNode("div",{class:["y-data-table-layer"]},[t.layer?t.layer?.(r):n.createVNode(n.Fragment,null,[n.createVNode("div",{class:["y-data-table-layer__head"]},[t["layer-head"]?.(r)]),n.createVNode("div",{class:["y-data-table-layer__body"]},[t["layer-body"]?.(r)])])])}),{YTableWire:a}}}),qt=B({...Gt(),width:[String,Number],search:String,hideDefaultTbody:Boolean,...Pl(),...Il(),...Wl(),...Ll(),...Al(),...La(),...Ft()},"DataTable"),Ul=M({name:"YDataTable",props:{...te(ot(),["setPage","setPageSize","pageLength"]),...qt()},emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:pageSize":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"click:row":(e,t)=>!0,scroll:e=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),{page:r,pageSize:l}=Da(e),{sortBy:i,multiSort:c}=Ia(e),{columns:u,headers:s}=Va(e,{enableSelect:n.toRef(e,"enableSelect")}),{items:d}=_a(e,u),{toggleSort:m}=Ma({sortBy:i,multiSort:c,page:r}),v=n.computed(()=>d.value.length),{startIndex:h,endIndex:x,pageLength:b,setPageSize:f,setPage:w}=Ea({page:r,pageSize:l,total:v}),{sortedItems:T}=jl(e,d,i),{paginatedItems:D}=Rl({items:T,startIndex:h,endIndex:x,pageSize:l}),{isSelected:g,select:p,selectAll:y,toggleSelect:_,someSelected:O,allSelected:V}=Pa(e,{allItems:d,pageItems:d}),{isExpanded:E,toggleExpand:k}=Ca(e),{resizeObservedRef:C,contentRect:N}=pe();Ta({page:r,pageSize:l,search:n.toRef(e,"search"),sortBy:i},a);const S=n.computed(()=>({page:r.value,pageSize:l.value,pageLength:b.value,setPageSize:f,setPage:w,sortBy:i.value,toggleSort:m,isExpanded:E,toggleExpand:k,someSelected:O.value,allSelected:V.value,isSelected:g,select:p,selectAll:y,toggleSelect:_,items:D.value,columns:u.value,headers:s.value,TableBodyRef:o}));return n.provide(Lt,{toggleSort:m,sortBy:i,headRect:N}),R(()=>{const Y=z(e,Le.props),$=z(e,_e.props),P=z(e,Ve.props);return n.createVNode(Ve,n.mergeProps({class:["y-data-table",{"y-data-table--no-data":!e.loading&&e.items.length<1&&!e.hideNoData}]},P,{style:{"--y-table-head-height":F(N.value?.height)}}),{top:()=>t.top?.(S.value),leading:()=>t.leading?t.leading(S.value):n.createVNode(n.Fragment,null,[n.createVNode(rt,{"slot-props":S.value},t)]),default:()=>t.default?t.default(S.value):n.createVNode(n.Fragment,null,[n.createVNode("thead",{ref:C},[n.createVNode(Le,Y,t)]),t.thead?.(S.value),!e.hideDefaultTbody&&n.createVNode("tbody",null,[n.createVNode(_e,n.mergeProps({ref:o},$,{items:S.value.items}),t)]),t.tbody?.(S.value),t.tfoot?.(S.value)]),trailing:()=>t.trailing?.(S.value),bottom:()=>t.bottom?t.bottom(S.value):n.createVNode(Te,n.mergeProps(z(S.value,Te.props),{paginationProps:e.paginationProps}),{prepend:t["control.prepend"],append:t["control.append"]})})}),{paginatedItems:D}}}),Fa=B({total:{type:[Number,String],required:!0},...te(ot(),["setPage","setPageSize","pageLength"]),...qt()},"YDataTableServer"),Gl=M({name:"YDataTableServer",components:{YTable:Ve,YDataTableLayer:rt,YDataTableHead:Le,YDataTableBody:_e,YDataTableControl:Te},props:{...Fa()},emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:pageSize":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"click:row":(e,t)=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),{page:r,pageSize:l}=Da(e),{sortBy:i,multiSort:c}=Ia(e),u=n.computed(()=>parseInt(e.total)),{columns:s,headers:d}=Va(e,{enableSelect:n.toRef(e,"enableSelect")}),{items:m}=_a(e,s),{toggleSort:v}=Ma({sortBy:i,multiSort:c,page:r}),{pageLength:h,setPageSize:x,setPage:b}=Ea({page:r,pageSize:l,total:u}),{isSelected:f,select:w,selectAll:T,toggleSelect:D,someSelected:g,allSelected:p}=Pa(e,{allItems:m,pageItems:m}),{isExpanded:y,toggleExpand:_}=Ca(e),O=n.ref(),V=Vt(C,100),{resizeObservedRef:E}=pe(N=>{V(N)});Ta({page:r,pageSize:l,search:n.toRef(e,"search"),sortBy:i},a);const k=n.computed(()=>({page:r.value,pageSize:l.value,pageLength:h.value,setPageSize:x,setPage:b,sortBy:i.value,toggleSort:v,isExpanded:y,toggleExpand:_,someSelected:g.value,allSelected:p.value,isSelected:f,select:w,selectAll:T,toggleSelect:D,items:m.value,columns:s.value,headers:d.value,TableBodyRef:o}));function C(N){O.value=N?.[0].contentRect}n.provide(Lt,{toggleSort:v,sortBy:i,headRect:O}),R(()=>{const N=z(e,Le.props),S=z(e,_e.props),Y=z(e,Ve.props);return n.createVNode(Ve,n.mergeProps({class:["y-data-table",{"y-data-table--no-data":!e.loading&&e.items.length<1&&!e.hideNoData}]},Y,{style:{"--y-table-head-height":F(O.value?.height)}}),{top:()=>t.top?.(k.value),leading:()=>t.leading?t.leading(k.value):n.createVNode(n.Fragment,null,[n.createVNode(rt,{slotProps:k.value},t)]),default:()=>t.default?t.default(k.value):n.createVNode(n.Fragment,null,[n.createVNode("thead",{ref:E},[n.createVNode(Le,N,t)]),t.thead?.(k.value),n.createVNode("tbody",null,[n.createVNode(_e,n.mergeProps({ref:o},S,{items:m.value}),t)]),t.tbody?.(k.value),t.tfoot?.(k.value)]),trailing:()=>t.trailing?.(k.value),bottom:()=>t.bottom?t.bottom(k.value):n.createVNode(Te,n.mergeProps(z(k.value,Te.props),{paginationProps:e.paginationProps}),{prepend:t["control.prepend"]})})})}}),ja=M({name:"YDataTableLayerRow",props:{layerProps:Object,item:Object,width:{type:Number},scrollTop:{type:Number,default:0},headRect:Object,classes:Function,styles:Object},slots:Object,setup(e,{slots:t}){const a=n.shallowRef(null),o=n.useTemplateRef("layerRowRef"),r=n.shallowRef(null),l=n.shallowRef(!1),i=n.ref(),c=n.computed(()=>{const s=e.styles?.(e.item,{width:e.width,height:r.value?.[0]?.height})??{};return{transform:`translateY(${e.scrollTop*-1+(i.value?.offsetTop??0)-(e.headRect?.height??40)}px)`,width:F(s?.width??e.width),height:F(s?.height??r.value?.[0]?.height)}}),u=n.computed(()=>{const s=e.classes?.(e.item);return Array.isArray(s)?s:[s]});n.watch(()=>e.item?.rowRef.value,()=>{i.value=e.item?.rowRef.value?.$el},{immediate:!0}),n.watch(i,(s,d)=>{s?(a.value?.unobserve(s),a.value=new ResizeObserver(()=>{r.value=s.getClientRects()}),a.value.observe(s),l.value=!0):(l.value=!1,d&&s!==d&&a.value?.unobserve(d))},{immediate:!0}),n.onBeforeUnmount(()=>{a.value&&(a.value.disconnect(),a.value=null)}),R(()=>n.withDirectives(n.createVNode("div",{ref:o,class:["y-data-table-layer-row",...u.value],style:c.value},[t.default?.({item:e.item,width:e.width,height:r.value?.[0]?.height,scrollTop:e.scrollTop})]),[[n.vShow,l.value]]))}}),ql=M({name:"YDataTableLayerRows",props:{layerProps:Object,items:Array,classes:Function,styles:Object,single:Boolean},slots:Object,setup(e,{slots:t}){const a=n.shallowRef(null),o=n.shallowRef(0),r=n.shallowRef(0),l=n.shallowRef(0),i=n.computed(()=>e.layerProps?.YTable?.wrapperRef.value),c=n.computed(()=>e.layerProps?.YDataTable?.headRect.value);n.watch(i,s=>{s&&(u(),s.addEventListener("scroll",u),a.value=new ResizeObserver(()=>{o.value=s.offsetTop??0,l.value=s?.clientWidth??0}),a.value.observe(s))},{immediate:!0});function u(){requestAnimationFrame(()=>{r.value=i.value?.scrollTop??0})}return R(()=>n.createVNode("div",{class:"y-data-table-layer-rows"},[e.items?.map(s=>n.createVNode(ja,{item:s,"head-rect":c.value,"scroll-top":r.value,width:l.value,classes:e.classes,styles:e.styles},t))])),{headRect:c}}}),Xl="YMenu",Xt={menuClasses:{type:[Array,String,Object]},preventClip:{type:Boolean,default:!0},...Ce({openOnClick:!0,coordinateStrategy:"levitation",scrollStrategy:"reposition"})},Fe=M({name:Xl,props:{...Xt,...Me({transition:"fade"})},emits:["update:modelValue","afterLeave","hoverContent"],slots:Object,expose:["layer$","baseEl"],setup(e,{slots:t,emit:a,expose:o}){const r=K(e),l=n.ref(),i=n.computed(()=>({...me(e.menuClasses),"y-menu":!0})),c=n.computed(()=>!!l.value?.hovered),u=n.computed(()=>l.value?.parent),s=n.computed(()=>l.value?.children||[]),d=n.computed(()=>({...me(e.contentClasses)})),m=n.computed(()=>l.value?.baseEl);n.watch(c,h=>{a("hoverContent",h)});function v(h){r.value}return o({layer$:l,baseEl:m}),R(()=>n.createVNode(ne,n.mergeProps({ref:l,transition:e.transition,"onClick:complement":v,relayStack:!0,onAfterLeave:()=>a("afterLeave")},{...z(e,ne.props),classes:i.value,scrim:!1,contentClasses:{"y-menu__content":!0,...d.value}},{modelValue:r.value,"onUpdate:modelValue":h=>r.value=h}),{default:h=>n.createVNode(n.Fragment,null,[t.default?.(h)??""]),base:(...h)=>t.base?.(...h)})),{layer$:l,baseEl:m,classes:i,children:s,parent:u,active:r,hovered:c}}}),Zt=M({name:"YInputCheckbox",components:{YIconCheckbox:se},props:{id:String,value:Boolean,icon:String,color:{type:String,default:()=>"primary"},disabled:Boolean,readonly:Boolean},emits:["focus","blur","click"],data(){return{counterId:this.$.uid.toString(),checked:!1,focused:!1}},computed:{coloredClass(){if(!this.color.startsWith("#"))return`color--${this.color}`},classes(){const e={"y-input":!0,"y-input--checkbox":!0,"y-input--active":this.checked,"y-input--focused":this.focused};return this.coloredClass&&(e[this.coloredClass]=!0),e},inputId(){let e=this.counterId;return this.id&&(e=this.id),`input-${e}`},iconComponent(){return this.icon?null:se}},methods:{onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.$emit("click",e)}},watch:{value(e){this.checked=e}},created(){this.checked=!!this.value},render(){const{onClick:e,classes:t,inputId:a,checked:o,onFocus:r,onBlur:l,disabled:i,readonly:c,iconComponent:u}=this;return n.createVNode(n.Fragment,null,[n.createVNode("div",{onClick:e,class:t},[n.createVNode("input",{id:a,"aria-checked":o,role:"checkbox",type:"checkbox",checked:o,onFocus:r,onBlur:l,disabled:i,readonly:c},null),this.$slots.icon?this.$slots.icon({checked:o}):u?n.h(u):n.createVNode(se,null,null)])])}}),Zl=M({name:"YCheckbox",components:{YInputCheckbox:Zt},emits:["focus","blur","click","update:modelValue","change"],props:{modelValue:[Boolean,Array],value:[String,Number,Object],label:String,reverse:Boolean,icon:{type:[Object,String]},color:{type:String,default:()=>"primary"},disabled:Boolean,readonly:Boolean},setup(e,{emit:t,slots:a}){const o=n.ref(!1),r=n.ref(!1),l=(we()??"").toString(),i=`input-${l}`;function c(b){o.value=!0,t("focus",b)}function u(b){o.value=!1,t("blur",b)}function s(b,...f){if(t("click",b),e.disabled||e.readonly)return;const w=!r.value;r.value=w,t("change",w)}function d(){Array.isArray(e.modelValue)?e.modelValue?.find(f=>f===e.value)!==void 0?r.value=!0:r.value=!1:typeof e.modelValue=="boolean"&&(r.value=e.modelValue)}const m=n.computed(()=>{const{reverse:b,disabled:f,readonly:w}=e;return{"y-checkbox":!0,"y-checkbox--reverse":!!b,"y-checkbox--focused":o.value,"y-checkbox--disabled":!!f,"y-checkbox--readonly":!!w}}),v=n.computed(()=>{if(typeof e.icon=="string")return e.icon}),h=n.computed(()=>Array.isArray(e.modelValue));function x(){return h.value?e.modelValue.findIndex(b=>b===e.value):-1}return n.watch(r,b=>{if(Array.isArray(e.modelValue)){const f=e.modelValue,w=x();b&&w===-1?f.push(e.value):!b&&w!==-1&&f.splice(w,1),t("update:modelValue",f)}else t("update:modelValue",b)}),n.watch(()=>e.modelValue,b=>{Array.isArray(b)?d():r.value=!!b},{immediate:!0,deep:!0}),R(()=>n.createVNode("div",{class:[{...m.value}]},[a.leading?.(),n.createVNode("div",{class:"y-checkbox__slot"},[n.createVNode(Zt,{onClick:(b,...f)=>{b.stopPropagation(),s(b,...f)},onFocus:c,onBlur:u,id:l,value:r.value,icon:v.value,color:e.color,disabled:e.disabled,readonly:e.readonly},{default:()=>[a.icon&&{icon:(...b)=>a.icon?.(...b)}]}),n.createVNode("label",{onClick:n.withModifiers(()=>{},["stop"]),class:"y-checkbox__label",for:i},[a.label?a.label?.():e.label])]),a.trailing?.()])),{checked:r}}}),Jt=[String,Object,Array,Function],Ka=B({icon:{type:Jt},tag:{type:String,required:!0}},"icon"),Qt=M({name:"YComponentIcon",props:Ka(),setup(e,{slots:t}){return()=>{const a=e.icon;let o=()=>n.createVNode(n.Fragment,null,null),r={};return a instanceof Object&&(o=a,"component"in a&&(o=a.component,r=a?.props)),n.createVNode(e.tag,null,{default:()=>[e.icon?n.createVNode(o,n.mergeProps(r),null):t.default?.()]})}}}),Wa=M({name:"YSvgIcon",inheritAttrs:!1,props:Ka(),setup(e,{attrs:t}){return()=>n.createVNode(e.tag,t,{default:()=>[n.createVNode("svg",{class:"y-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(a=>Array.isArray(a)?n.createVNode("path",{d:a[0],"fill-opacity":a[1]},null):n.createVNode("path",{d:a},null)):n.createVNode("path",{d:e.icon},null)])]})}}),Ha=Symbol.for("yuyeon.icon");function Jl(e){return re({defaultSet:"built",sets:{svg:{component:Wa}},aliases:{...ga}},e)}function Ql(e){const t=n.inject(Ha);if(!t)throw new Error('Not found provided "IconModule"');return{iconData:n.computed(()=>{const o=n.unref(e);if(!o)return{component:Qt};let r=o;if(typeof r=="object"&&"alias"in r&&typeof r.alias=="string"&&(r=r.alias),typeof r=="string"&&(r=r.trim(),r.startsWith("$")&&(r=t.aliases?.[r.slice(1)])),!r)throw new Error(`Could not find aliased icon "${o}"`);if(Array.isArray(r))return{component:Wa,icon:r};if(typeof r!="string"){const u=n.unref(e);return u&&typeof u=="object"&&"iconProps"in u&&(r={component:"component"in r?r.component:r,props:"props"in r?re(r.props,u?.iconProps??{}):u.iconProps}),{component:Qt,icon:r}}const l=Object.keys(t.sets).find(u=>typeof r=="string"&&r.startsWith(`${u}:`)),i=l?r.slice(l.length+1):r,c=t.sets[l??t.defaultSet];if(!c?.component&&typeof r=="string"){const s=new DOMParser().parseFromString(r,"text/xml").querySelector("svg");if(s)return{component:Qt,icon:{mounted(){s.childNodes.forEach(d=>{this.$el?.appendChild(d)})},render:function(){const d={};if(s.hasAttributes())for(let v=0;v<s.attributes.length;v+=1){const h=s.attributes.item(v);h&&(d[`^${h.name}`]=h.value)}return n.h("svg",{...d},[])}}}}return{icon:i,component:c.component}})}}function ei(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const za=B({color:String,gap:String,icon:Jt,tag:{type:String,default:"i"},size:{type:[String,Number]},class:[String,Array,Object],...xe()},"YIcon"),he=M({name:"YIcon",props:za(),setup(e,{attrs:t,slots:a}){const o=n.ref(),{themeClasses:r}=Ne(e),{iconData:l}=Ql(n.computed(()=>o.value||e.icon));R(()=>{const i=a.default?.();return i&&(o.value=i.filter(c=>c.type===Text&&c.children&&typeof c.children=="string")[0]?.children),n.createVNode(l.value.component,{tag:e.tag,icon:l.value.icon,class:["y-icon","notranslate",r.value,{"y-icon--clickable":!!t.onClick},e.class],style:{fontSize:F(e.size),width:F(e.size),height:F(e.size)},role:t.onClick?"button":void 0,"aria-hidden":!t.onClick},ei(i)?i:{default:()=>[i]})})}});function ti(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Ua=B({...te(Xt,["modelValue","coordinateStrategy"]),modelValue:Boolean,variation:String,color:String,...te(Et({position:"bottom"}),["coordinateStrategy"]),dropdownIcon:{type:[String,Array,Object],default:"$dropdown"},...Mt(),...Me({transition:"fade"}),...ze},"YDropdown"),ni=M({name:"YDropdown",inheritAttrs:!1,components:{YMenu:Fe},props:{...Ua()},slots:Object,emits:["update:modelValue","click"],setup(e,{slots:t,attrs:a,emit:o}){const r=K(e);function l(i){r.value=!1,o("click",i)}R(()=>{const i=z(e,Fe.props),c=z(typeof e.dropdownIcon=="object"?e.dropdownIcon:{},he.props);return n.createVNode(n.Fragment,null,[n.createVNode(Fe,n.mergeProps(i,{modelValue:r.value,"onUpdate:modelValue":u=>r.value=u,"content-classes":me(["y-dropdown__content",e.contentClasses])}),{base:(...u)=>t.base?t.base?.(...u):n.createVNode(U,n.mergeProps({variation:e.variation,color:e.color,class:["y-dropdown",{"y-dropdown--opened":r.value}],disabled:e.disabled},a,[...u][0]?.props??{}),{default:()=>[n.createVNode("span",{class:"y-dropdown__default"},[t.default?.()]),t["dropdown-icon"]?t["dropdown-icon"]():n.createVNode(he,n.mergeProps(n.mergeProps(c),{icon:e.dropdownIcon,class:["y-dropdown__icon"]}),null)]}),default:()=>{let u;return t.menu?t.menu():n.createVNode(et,null,{default:()=>[Array.isArray(e.items)&&e.items.length>0?n.createVNode(Rt,null,ti(u=e.items.map(s=>{const d=H(s,e.itemText),m=`item.${s.key}`;return n.createVNode($t,{onClick:v=>l(s)},{default:()=>[t.item?t.item({text:d,item:s}):t?.[m]?t[m]({text:d,item:s}):d]})}))?u:{default:()=>[u]}):n.createVNode("div",{class:"y-dropdown__no-options"},[n.createTextVNode("항목이 없습니다.")])]})}})])})}}),ai={...Mt({itemKey:"value",itemChildren:!1}),returnItem:Boolean},oi=B(ai,"list-items");function Ga(e,t){const a=[];for(const o of t)a.push(qa(e,o));return a}function qa(e,t){const a=!!t?.hide,o=!!t?.disabled,r=le(t,e.itemText,t),l=e.returnItem?t:le(t,e.itemKey,r),i=le(t,e.itemChildren);return{value:l,text:r,hide:a,disabled:o,props:{value:l,text:r},children:Array.isArray(i)?Ga(e,i):void 0,raw:t}}function ri(e){const t=n.computed(()=>Ga(e,e.items));function a(r){return r.filter(l=>l!==null||t.value.some(i=>i.value===null)).map(l=>t.value.find(c=>ie(l,c.value))??qa(e,l))}function o(r){return e.returnItem?r.map(({raw:l})=>l):r.map(({value:l})=>l)}return{items:t,toEmitItems:o,toRefineItems:a}}function li(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Xa=B({opened:Boolean,closeOnBlur:Boolean,multiple:Boolean,itemComparator:{type:Function,default:ie},defaultSelect:Boolean,menuProps:{type:Object},...oi()},"Select"),Za=B({maxHeight:{type:[Number,String],default:310},dropdownIcon:{type:[String,Array,Object],default:"$dropdown"},openDelay:{type:Number,default:200},closeDelay:{type:Number,default:200},...Xa(),...St(),...te(Et({position:"bottom"}),["coordinateStrategy"])},"YSelect"),ii=M({name:"YSelect",inheritAttrs:!1,props:{...Za()},emits:{"update:modelValue":()=>!0,"update:opened":e=>!0,"click:item":(e,t)=>!0,change:e=>!0},slots:Object,setup(e,{slots:t,attrs:a,expose:o,emit:r}){const l=n.ref(),i=n.ref(),c=n.ref(),u=n.ref(),s=K(e,"opened"),d=n.shallowRef(!1),{items:m,toRefineItems:v,toEmitItems:h}=ri(e),{t:x}=Ie(),b=S=>{const Y=h(ye(S));return e.multiple?Y:Y[0]??null},f=K(e,"modelValue",[],S=>v(S===null?[null]:ye(S)),b),w=n.computed(()=>{const S=[];for(const Y of f.value){const $=m.value.find(P=>e.itemComparator(P.value,Y.value));$!==void 0&&S.push($)}return S}),T=n.computed(()=>w.value.map(S=>S?.props?.value)),D=n.computed(()=>({...e.menuProps,preventCloseBubble:!0}));function g(S){return!!w.value.find(Y=>Y?.value===S.value)}function p(S){e.disabled||(S.key==="Enter"||S.key===" ")&&(s.value=!s.value)}function y(S){requestAnimationFrame(()=>{i.value?.layer$?.content$?.contains(document.activeElement)||s.value&&e.closeOnBlur&&(s.value=!1)})}function _(S,Y){S.disabled||(E(S,Y),e.multiple||setTimeout(()=>{s.value=!1},40))}function O(){d.value}function V(S){if(S.target&&i.value?.layer$?.content$)return S.target?.contains(i.value?.layer$?.content$)}function E(S,Y){let $;if(e.multiple){const P=w.value.findIndex(A=>A.value===S.value);if(P===-1)$=[...f.value,S];else{const A=f.value.slice();A.splice(P,1),$=A}}else $=[S];f.value=$,r("change",b($),Y,l.value)}const k=n.computed(()=>e.multiple?w.value.map(S=>S.text).join(", "):w.value?.[0]?.text??""),C=n.computed(()=>i.value?.baseEl);n.watch(s,S=>{S&&n.nextTick(()=>{N()})});function N(){if(w.value.length===0)return;const S=dt(c.value);if(S){const Y=S?.querySelector(".y-list-item--active"),$=i.value?.layer$?.content$;if(Y&&$){const P=kr(Y);P&&($.contains(P)||$.isSameNode(P))&&P.scrollTo({top:Y.offsetTop,behavior:"smooth"})}}}return R(()=>{const S=z(e,Xe.props),Y=z(typeof e.dropdownIcon=="object"?e.dropdownIcon:{},he.props);return n.createVNode(Xe,n.mergeProps({ref:l},S,{modelValue:f.value.map($=>$.props.value).join(", "),validationValue:f.rxValue,"onKeydown:display":p,onBlur:y,readonly:!0,class:["y-select",{"y-select--opened":s.value,"y-select--selected":T.value.length>0}]},a,{focused:d.value}),{default:()=>{const $={items:w.value.map(P=>P.raw),displayText:k.value,placeholder:e.placeholder,internalItems:w.value};return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:["y-select__selection"]},[t.selection?t.selection?.($):T.value.length>0?k.value:e.placeholder]),n.createVNode(Fe,n.mergeProps({ref:i,offset:e.offset,position:e.position,align:e.align,origin:e.origin,"content-classes":["y-select__content"],maxHeight:e.maxHeight,"open-on-click-base":!1,onAfterLeave:O,"open-delay":e.openDelay,"close-delay":e.closeDelay,closeCondition:V,base:"parent"},D.value,{modelValue:s.value,"onUpdate:modelValue":P=>s.value=P}),{default:t.menu?()=>t.menu?.():()=>{let P;return n.createVNode(et,{ref:u},{default:()=>[t["menu-prepend"]?.(),(m.value?.length??0)>0?n.createVNode(Rt,{ref:c},li(P=m.value.map(A=>{const L={item:A,selected:g(A),select:I=>{E(A,I)}};return n.withDirectives(n.createVNode($t,{onClick:I=>_(A,I),class:[{"y-list-item--active":g(A)}],disabled:A.disabled},{default:()=>t.item?t.item?.(L):A.text,leading:t["item-leading"]&&(()=>t["item-leading"]?.(L)),trailing:t["item-trailing"]&&(()=>t["item-trailing"]?.(L))}),[[n.vShow,!A.hide]])}))?P:{default:()=>[P]}):n.createVNode("div",{class:"y-select__no-options"},[x("$yuyeon.noItems")]),t["menu-append"]?.()]})}})])},leading:t.leading?(...$)=>t.leading?.(...$):void 0,trailing:(...$)=>t["dropdown-icon"]?t["dropdown-icon"]():n.createVNode(he,n.mergeProps(n.mergeProps(Y),{icon:e.dropdownIcon,class:["y-select__icon"]}),null),label:t.label?(...$)=>t.label?.(...$):void 0,"helper-text":t["helper-text"]?(...$)=>t["helper-text"]?.(...$):void 0})}),n.onMounted(()=>{e.defaultSelect&&(e.modelValue===void 0||Array.isArray(e.modelValue)&&e.modelValue.length===0)&&m.value?.length&&E(m.value[0])}),o({fieldInputRef:l,baseEl:C,opened:s}),{fieldInputRef:l,model:f,selections:w,selected:T,menuRef:i,baseEl:C,opened:s}}}),en=Symbol.for("yuyeon.y-tabs"),Ja=B({text:String,hideIndicator:Boolean,indicatorColor:String,...ze({selectedClass:"y-tab--selected",noWave:!0})},"YTab"),Qa=M({name:"YTab",props:Ja(),slots:Object,setup(e,{slots:t,attrs:a}){const o=n.shallowRef(!1),r=n.ref(),l=n.computed(()=>({})),i=n.computed(()=>({role:"tab","aria-selected":`${String(o.value)}`,tabindex:o.value?0:-1}));function c({value:u}){o.value=u}return R(()=>{const u=z(e,U.props);return n.createVNode(U,n.mergeProps({class:["y-tab"],active:!1},i.value,a,u,{injectSymbol:en,"onChoice:selected":c}),{default:()=>t.default?.()??e.text,append:()=>!e.hideIndicator&&n.createVNode("div",{ref:r,class:["y-tab__indicator"],style:l.value},null)})}),{}}}),eo=B({items:{type:Array},...Vo({selectedClass:"y-tab--active",mandatory:"force"})},"YTabs"),ci=M({name:"YTabs",props:{tag:{type:String,default:"div"},...eo()},emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){const{resizeObservedRef:a}=pe(),{resizeObservedRef:o}=pe(),r=Do(e,en),l=n.computed(()=>({next:r.next,prev:r.prev,select:r.select,isSelected:r.isSelected})),i=n.computed(()=>e.items?.map(c=>typeof c!="object"?{text:c,value:c}:c)??[]);return R(()=>n.createVNode(e.tag,{class:["y-tabs"],role:"tablist"},{default:()=>[n.createVNode("div",{key:"container",ref:a,class:["y-tabs__container"]},[n.createVNode("div",{key:"content",ref:o,class:["y-tabs__content"]},[t.default?t.default(l.value):i.value.map(c=>n.createVNode(Qa,n.mergeProps(c,{key:c.text}),null))])])]})),{selected:r.selected}}}),to="YAlert",si=st(to),ui=M({name:to,props:{...{semantic:String,variation:String,color:String,textColor:String,outlineColor:String}},slots:Object,setup(e,{slots:t}){const a=n.ref(),o=n.computed(()=>{const{variation:l}=e;return l?l.split(",").map(i=>i.trim()).filter(i=>!!i):[]}),r=n.computed(()=>{const l={};return e.color&&(l["--y-alert-surface-color"]=e.color,o.value.includes("filled")?l["--y-alert-surface-opacity"]=1:l["--y-alert-text-color"]=e.color,e.textColor&&(l["--y-alert-text-color"]=e.textColor),!e.outlineColor&&!e.semantic&&(l["--y-alert-outline-color"]=e.color)),e.outlineColor&&(l["--y-alert-outline-color"]=e.outlineColor),l});R(()=>n.withDirectives(n.createVNode("div",{ref:a,class:[si,{[`y-alert--${e.semantic}`]:e.semantic,"y-alert--filled":o.value.includes("filled"),"y-alert--outlined":o.value.includes("outlined")}],style:r.value},[n.createVNode(ke,null,null),t.leading&&n.createVNode("div",{class:["y-alert__leading"]},[t.leading()]),n.createVNode("div",{class:["y-alert__content"]},[t.title&&n.createVNode("div",{class:["y-alert__title"]},[t.title()]),t.default?.()]),t.trailing&&n.createVNode("div",{class:["y-alert__trailing"]},[t.trailing()])]),[[n.resolveDirective("theme")]]))}}),no=B({vertical:Boolean},"YDivider"),di=M({name:"YDivider",props:no(),setup(e){R(()=>n.withDirectives(n.createVNode("hr",{class:["y-divider",{"y-divider--vertical":e.vertical}]},null),[[n.resolveDirective("theme")]]))}}),tn=B({year:[Number,String],month:[Number,String],modelValue:Array,multiple:Boolean,range:[Boolean,String],allowedDates:[Array,Function],max:null,min:null,disabled:Boolean,color:String,hideWeekdays:Boolean,showAdjacentMonthDates:{type:Boolean,default:!0},hideHeader:Boolean,"onClick:day":Function},"YDateCalendar"),nn=M({name:"YDateCalendar",props:tn(),emits:{"update:modelValue":e=>!0,"update:year":e=>!0,"update:month":e=>!0,"click:day":e=>!0},setup(e,{slots:t,emit:a}){const o=Je(),r=Ie(),l=n.ref(),i=n.ref([]),c=K(e,"modelValue",[],g=>g==null?[]:ye(g)),u=n.computed(()=>c.value.length>0?o.date(c.value[0]):e.min?o.date(e.min):Array.isArray(e.allowedDates)?o.date(e.allowedDates[0]):o.date()),s=K(e,"year",void 0,g=>{const p=g!=null?Number(g):o.getYear(u.value);return o.startOfYear(o.setYear(o.date(),p))},g=>o.getYear(g)),d=K(e,"month",void 0,g=>{const p=g!=null?Number(g):o.getMonth(u.value);let y=o.setYear(o.date(),o.getYear(s.value));return y=o.startOfMonth(y),o.setMonth(y,p)},g=>o.getMonth(g)),m=n.computed(()=>{const g=o.getWeekArray(d.value),p=g.flat(),y=42;if(p.length<y){const _=p[p.length-1];let O=[];for(let V=1;V<=y-p.length;V++)O.push(o.addDays(_,V)),V%7===0&&(g.push(O),O=[])}return g}),v=n.computed(()=>{const g=m.value,p=o.date();return g.map((y,_)=>y.map((O,V)=>{const E=o.toISO(O),k=!o.isSameMonth(O,d.value),C=!!c.value?.find(N=>N!=null&&o.isSameDay(O,N));return{date:O,isoDate:E,formatted:o.format(O,"keyboardDate"),year:o.getYear(O),month:o.getMonth(O),day:o.getDay(O),disabled:w(O),weekStart:V%7===0,weekEnd:V%7===6,rangeStart:C&&c.value.length>1&&e.range&&o.isSameDay(b.value,O),rangeEnd:C&&c.value.length===2&&e.range&&o.isSameDay(f.value,O),weekIndex:_,selected:C,interval:T(O),today:o.isSameDay(O,p),adjacent:k,hidden:k&&!e.showAdjacentMonthDates,hovered:!1,localized:o.format(O,"dayOfMonth")}}))}),h=n.computed(()=>r.locale&&o.getWeekdays()),x=n.computed(()=>o.format(d.value,"monthAndYear")),b=n.computed(()=>{if(e.range&&c.value?.[0])return c.value[0]}),f=n.computed(()=>{if(e.range&&c.value?.[1])return c.value[1]});function w(g){if(e.disabled)return!0;const p=o.date(g);return e.min&&o.isAfter(o.date(e.min),p)||e.max&&o.isAfter(p,o.date(e.max))?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(y=>o.isSameDay(o.date(y),p)):typeof e.allowedDates=="function"?!e.allowedDates(p):!1}function T(g){if(!e.range)return!1;if(c.value.length===2){const p=o.date(g),y=o.date(c.value[0]),_=o.date(c.value[1]);if(o.isAfter(p,y)&&o.isBefore(p,_))return!0}return!1}function D(g){const p=g.date;if(e.multiple){if(e.range==="manual"){a("click:day",g);return}const y=c.value.findIndex(_=>o.isSameDay(_,p));if(e.range)if(c.value.length===1){const _=o.date(c.value[0]),O=o.date(p);o.isAfter(_,O)?c.value=[O,o.endOfDay(c.value[0])]:c.value=[o.startOfDay(c.value[0]),o.endOfDay(p)]}else c.value=[p];else if(y===-1)c.value=[...c.value,p];else{const _=[...c.value];_.splice(y,1),c.value=_}}else c.value=[p];a("click:day",g)}return R(()=>n.createVNode("div",{class:["y-date-calendar",{"y-date-calendar--range":e.range&&c.value.length===2}]},[!e.hideHeader&&n.createVNode("header",{class:"y-date-calendar__header"},[t.header?t.header():x.value]),n.createVNode("div",{ref:l,class:["y-date-calendar__container"]},[!e.hideWeekdays&&n.createVNode("div",{class:["y-date-calendar__week"]},[h.value.map(g=>n.createVNode("div",{class:["y-date-calendar__cell","y-date-calendar__weekday"]},[g]))]),v.value.map((g,p)=>n.createVNode("div",{class:["y-date-calendar__week"],role:"row","aria-rowindex":p},[g.map((y,_)=>{const O={props:{onClick:()=>{D(y)}},item:y,index:_};return n.createVNode("div",{class:["y-date-calendar__cell","y-date-calendar__day",{"y-date-calendar__day--adjacent":y.adjacent,"y-date-calendar__day--hovered":y.hovered,"y-date-calendar__day--selected":y.selected,"y-date-calendar__day--week-start":y.weekStart,"y-date-calendar__day--week-end":y.weekEnd,"y-date-calendar__day--range-interval":y.interval,"y-date-calendar__day--range-start":y.rangeStart,"y-date-calendar__day--range-end":y.rangeEnd}],"data-date":y.disabled?void 0:y.isoDate},[(e.showAdjacentMonthDates||!y.adjacent)&&n.createVNode(n.Fragment,null,[t.day?.(O)??n.createVNode(U,n.mergeProps({color:(y.selected||y.today)&&!y.disabled?e.color:void 0,disabled:y.disabled,variation:["rounded",y.selected?"filled":y.today?"outlined":"text"].join(",")},O.props),{default:()=>[y.day]})])])})]))])])),{day$:i,container$:l,dateUtil:o,displayValue:u,month:d,year:s,rangeStart:b,rangeEnd:f,model:c}}}),fi=B({disabled:{type:[Boolean,String,Array],default:!1},nextIcon:{type:[String,Object],default:"$next"},prevIcon:{type:[String,Object],default:"$prev"},dropdownIcon:{type:[String,Object]},mode:{type:String,default:"date"},yearText:String,monthText:String},"YDataPickerControl"),ao=M({name:"YDatePickerControl",props:fi(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0},setup(e,{emit:t}){const a=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("year"):!!e.disabled),o=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("month"):!!e.disabled),r=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("prev"):!!e.disabled),l=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("next"):!!e.disabled);function i(){t("click:prev")}function c(){t("click:next")}function u(){t("click:year")}function s(){t("click:month")}R(()=>n.createVNode("div",{class:["y-date-picker-control"]},[n.createVNode(U,{variation:"text",class:"y-date-picker-control__display",disabled:a.value,onClick:u},{default:()=>[e.yearText]}),n.createVNode(U,{variation:"text",class:"y-date-picker-control__display",disabled:o.value,onClick:s},{default:()=>[e.monthText]}),n.createVNode("div",{class:"flex-spacer"},null),n.createVNode(U,{class:"y-date-picker-control__page-button",variation:"text",disabled:r.value,onClick:i},{default:()=>[n.createVNode(he,{icon:e.prevIcon},null)]}),n.createVNode(U,{class:"y-date-picker-control__page-button",variation:"text",disabled:l.value,onClick:c},{default:()=>[n.createVNode(he,{icon:e.nextIcon},null)]})]))}}),oo=B({modelValue:Number,color:String,height:[String,Number]},"YMonthPicker"),ro=M({name:"YMonthPicker",props:oo(),emits:["mode","click","update:modelValue"],setup(e,{emit:t}){const a=Je(),o=K(e,"modelValue"),r=n.computed(()=>{let i=a.startOfYear(a.date());return fe(12).map(c=>{const u=a.format(i,"monthShort");return i=a.getNextMonth(i),{text:u,value:c}})});function l(i){t("click",i),o.value===i&&t("mode"),o.value=i}return R(()=>n.createVNode("div",{class:["y-month-picker"]},[r.value.map((i,c)=>{const u={active:c===o.value};return n.createVNode("div",{class:["y-month-picker__cell","y-month-picker__month"]},[n.createVNode(U,{variation:["rounded","text"].join(","),active:u.active,color:e.color,onClick:()=>l(c)},{default:()=>[i.text]})])})])),{}}}),lo=B({modelValue:Number,color:String,height:[String,Number],min:null,max:null},"YYearPicker"),lt=20,io=M({name:"YYearPicker",props:lo(),emits:["mode","click","update:modelValue"],setup(e,{emit:t,expose:a}){const o=Je(),r=K(e,"modelValue"),l=r.value,i=n.ref(l-l%lt-(l<0?lt:0)),c=n.computed(()=>{let d=o.startOfYear(o.date());return fe(lt+1,i.value).map(m=>(d=o.setYear(d,m),{text:o.format(d,"year"),value:m,active:r.value===m}))});function u(d){t("click",d),r.value===d&&t("mode"),r.value=d}function s(d=1){let m=i.value+lt*d;m<0&&(m=0),i.value=m}return a({changePage:s}),R(()=>n.createVNode("div",{class:["y-year-picker"]},[c.value.map(d=>n.createVNode("div",{class:["y-year-picker__cell"]},[n.createVNode(U,{variation:["rounded","text"].join(","),active:d.active,color:e.color,onClick:()=>u(d.value)},{default:()=>[d.text]})]))])),{}}}),co=B({...te(tn(),["modelValue"]),modelValue:null},"YDatePicker"),mi=M({name:"YDatePicker",props:co(),emits:["update:month","update:year","update:modelValue","update:mode","click:day"],setup(e,{emit:t}){const a=n.ref(),o=Je(),r=K(e,"modelValue"),l=K(e,"mode"),i=K(e,"month"),c=K(e,"year"),u=n.computed({get:()=>i.value!=null||!Number.isNaN(Number(i.value))?Number(i.value):o.getMonth(o.date()),set:p=>{i.value=p}}),s=n.computed({get:()=>c.value!=null||!Number.isNaN(Number(c.value))?Number(c.value):o.getYear(o.date()),set:p=>{c.value=p}}),d=n.computed(()=>{let p=o.startOfMonth(o.date());return p=o.setYear(p,+s.value),o.setMonth(p,+u.value)}),m=n.computed(()=>o.format(d.value,"month")),v=n.computed(()=>o.format(d.value,"year"));function h(){l.value=l.value==="month"?"date":"month"}function x(){l.value=l.value==="year"?"date":"year"}function b(){x()}function f(){h()}function w(p){if(l.value==="month"){s.value=s.value+p;return}if(l.value==="year"){a.value?.changePage(p);return}const y=u.value+p;y>11?(s.value+=1,u.value=0):y<0?(s.value-=1,u.value=11):u.value=y}function T(){w(-1)}function D(){w(1)}function g(p){t("click:day",p.date)}n.watch(u,()=>{l.value==="month"&&h(),t("update:month",u.value)}),n.watch(s,()=>{l.value==="year"&&(l.value="month"),t("update:year",s.value)}),R(()=>n.createVNode("div",{class:["y-date-picker"]},[n.createVNode(ao,n.mergeProps(z(e,ao.props),{yearText:v.value,monthText:m.value,"onClick:year":b,"onClick:month":f,"onClick:prev":T,"onClick:next":D}),null),n.createVNode(n.Transition,{name:"fade",mode:"out-in"},{default:()=>[l.value==="month"?n.createVNode(ro,{modelValue:u.value,"onUpdate:modelValue":p=>u.value=p,onMode:()=>{l.value="date"}},null):l.value==="year"?n.createVNode(io,{modelValue:s.value,"onUpdate:modelValue":p=>s.value=p,ref:a,onMode:()=>{l.value="month"}},null):n.createVNode(nn,n.mergeProps(te(z(e,nn.props),["onClick:day"]),{hideHeader:!0,modelValue:r.value,"onUpdate:modelValue":p=>r.value=p,month:u.value,"onUpdate:month":p=>u.value=p,year:s.value,"onUpdate:year":p=>s.value=p,"onClick:day":g}),null)]})]))}});function yi(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const so=B({tag:{type:String,default:"div"},dot:Boolean,bordered:Boolean,floating:Boolean,inline:Boolean,icon:Jt,hide:Boolean,label:{type:String,default:"$yuyeon.badge"},content:[Number,String],max:Number,transition:{type:String,default:"fade"},...Er({backgroundOpacity:1})},"YBadge"),hi=M({name:"YBadge",props:so(),slots:Object,setup(e,{slots:t}){const{t:a}=Ie(),{colorVars:o}=zn(e,"badge");R(()=>{let r;const l=e.tag,i=Number(e.content),c=!e.max||isNaN(i)?e.content:i<=+e.max?i:`${e.max}+`;return n.createVNode(l,{class:["y-badge",{"y-badge--bordered":e.bordered,"y-badge--dot":e.dot,"y-badge--floating":e.floating,"y-badge--inline":e.inline}],style:o.value},{default:()=>[n.createVNode("div",{class:"y-badge__base"},[t.default?.(),n.createVNode(Ye,{is:e.transition,transitionProps:{name:e.transition}},yi(r=n.withDirectives(n.createVNode("span",{class:["y-badge__badge"],"aria-atomic":"true","aria-label":a(e.label,i),"aria-live":"polite",role:"status"},[e.dot?void 0:t.badge?t.badge?.():e.icon?n.createVNode(he,{icon:e.icon},null):c]),[[n.vShow,!e.hide]]))?r:{default:()=>[r]})])]})})}}),gi=M({name:"YTextEllipsis",props:{text:{type:String,default:""},position:{type:String}},setup(e){const{resizeObservedRef:t,contentRect:a}=pe(),o=n.ref(!1),r=n.computed(()=>a.value?.width),l=n.computed(()=>e.text),i=n.computed(()=>{if(o.value){const u=Math.round(e.text.length*.5);return e.text.substring(0,u)}return e.text}),c=n.computed(()=>{if(o.value){const u=Math.round(e.text.length*.5);return e.text.substring(u,e.text.length)}return e.text});n.watch(r,u=>{t.value&&u!=null&&(o.value=t.value.scrollWidth>t.value.offsetWidth)}),R(()=>n.createVNode("span",{title:l.value,class:["y-text-ellipsis",{overflowed:o.value}]},[n.createVNode("span",{ref:t,class:"y-text-ellipsis__origin"},[e.text]),o.value&&n.createVNode("span",{class:"y-text-ellipsis__start"},[i.value]),o.value&&n.createVNode("span",{class:"y-text-ellipsis__end"},[c.value])]))}}),De="y-ip-field",uo="y-ipv4-field",fo=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,vi=M({name:uo,props:{fixedUntil:Number,text:Boolean,subnet:Boolean,autoFillSubnet:[Boolean,Number,String],...Pe()},emits:{"update:modelValue":e=>!0,tab:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),r=n.ref(),l=n.ref([]),i=K(e),c=n.reactive({0:"",1:"",2:"",3:"",4:""}),u=n.reactive({0:"",1:"",2:"",3:"",4:""}),s=n.ref(!1),d=n.ref([]);function m(k){return!/[^0-9]/.test(k)&&Number(k)<33&&Number(k)>-1}function v(k,C){const S=C.target?.value||"",Y=u[k],$=k<4?fo.test(S):m(S),P=S!==""?Number(S).toString():"";c[k]=P.replace(/\./g,""),!$&&S!==""?p(k,Y.replace(/\./g,"")):(S.length>2&&y(k),u[k]=P.replace(/\./g,""),O())}function h(k,C){s.value=!0,d.value.push(k)}function x(k,C){s.value=!1,n.nextTick(()=>{setTimeout(()=>{d.value.forEach((N,S)=>{N===k&&d.value.splice(S,1)})})})}function b(k,C){}function f(k,C){const N=C.target;if(C.key==="Backspace"&&C.target&&N.value===""&&_(k),(C.key==="ArrowRight"||C.key==="ArrowDown"&&!C.shiftKey)&&N.selectionStart!==null&&N.value.length<=N.selectionStart)if(k===3){C.preventDefault(),a("tab");return}else{C.preventDefault(),y(k);return}if((C.key==="ArrowLeft"||C.key==="ArrowUp"&&!C.shiftKey)&&N.selectionStart!==null&&N.selectionStart===0)if(k===0){C.preventDefault(),a("tab",-1);return}else{C.preventDefault(),_(k);return}if(C.key==="."){C.preventDefault(),y(k);return}(C.key==="Tab"&&!C.shiftKey&&N.value!==""||C.key==="Enter"||C.key===".")&&e.onTab&&k===3&&(C.preventDefault(),a("tab",3))}function w(k,C){}function T(k){if(typeof k=="string"){let C=[];if(k.lastIndexOf("/")>-1){const N=k.substring(k.lastIndexOf("/")+1,k.length);e.subnet&&m(N)&&(c[4]=N),C=k.substring(0,k.lastIndexOf("/")).split(".")}else C=k.split(".");if(C.length>2){for(let N=0;N<4;N+=1){const S=C[N];S!==void 0&&fo.test(S)?c[N]=S:c[N]=""}O()}}}function D(k){const C=(k.clipboardData||window.clipboardData).getData("text");isNaN(Number(C))&&(k.preventDefault(),T(C))}function g(){e.autoFillSubnet&&c[0]&&c[1]&&c[2]&&c[3]&&!c[4]&&(typeof e.autoFillSubnet=="boolean"?c[4]="32":c[4]=e.autoFillSubnet.toString(),O())}function p(k,C){n.nextTick(()=>{c[k]=C.replace(/\./g,""),O()})}function y(k){const C=k+1;if(C<4){const N=l.value[C];c[C]===""&&(c[C]="0",O()),N.focus(),N.selectionStart=0}}function _(k){const C=k-1;if(C>-1){const N=l.value[C];N.focus(),N.selectionStart=N.value.length+1}}function O(){i.value=V()}function V(){return c[0]===""&&c[1]===""&&c[2]===""&&c[3]===""?"":`${c[0]}.${c[1]}.${c[2]}.${c[3]}${e.subnet?"/"+c[4]:""}`}const E=n.computed(()=>d.value.length>0);return n.watch(i,k=>{if(k===""){for(let C=0;C<5;C+=1)c[C]="",u[C]="";return}else T(k)},{immediate:!0}),n.watch(E,k=>{k||g()}),n.watch(s,k=>{a(k?"focus":"blur")}),R(()=>(l.value=[],n.createVNode(be,n.mergeProps({ref:r,class:[uo,De,{[`${De}--text`]:e.text}]},z(e,be.props)),{leading:(...k)=>t.leading?.(...k),default:k=>n.createVNode("div",n.mergeProps({class:[`${De}__field`]},n.mergeProps({"data-id":k.attrId}),{ref:o}),[[0,1,2,3,4].map(C=>{const N=n.toRef(c,C);return(!e.subnet&&C<4||e.subnet)&&[n.createVNode("div",{class:[`${De}__part`]},[n.createVNode("input",{ref:S=>l.value.push(S),id:`${k.attrId}__part--${C}`,value:N.value,class:[`${De}__part-input`],readonly:e.readonly||e.loading,disabled:e.disabled,autocomplete:"false",maxlength:C===4?2:3,onInput:S=>v(C,S),onFocus:S=>h(C),onBlur:S=>x(C),onChange:S=>void 0,onKeydown:S=>f(C,S),onKeyup:S=>void 0,onPaste:D},null)]),C!==4&&(!e.subnet&&C<3||e.subnet)&&n.createVNode("div",{class:[`${De}__part`]},[C<3?".":"/"])]})]),trailing:(...k)=>t.trailing?.(...k),label:t.label&&(()=>t.label?.()),"helper-text":t["helper-text"]&&(()=>t["helper-text"]?.())}))),{parts:c,lazyParts:u,isFocused:s,fieldFocused:d}}}),mo=B({disabled:Boolean,modelValue:{type:Boolean,default:void 0},openDelay:{type:Number,default:100},closeDelay:{type:Number,default:100}},"YHover"),bi=M({name:"YHover",props:mo(),emits:["update:modelValue","hover"],setup(e,{slots:t,emit:a}){const o=K(e,"modelValue"),{startOpenDelay:r,startCloseDelay:l}=wr(e,c=>{e.disabled||(o.value=c)}),i=n.ref();n.watch(o,c=>{a("hover",c,i)}),R(()=>(i.value=t.default?.({isHovering:o.value,props:{onMouseenter:()=>r(),onMouseleave:()=>l()}}),n.createVNode(n.Fragment,null,[i.value])))}}),pi=M({name:"YTi",props:{text:String,item:Object,tag:{type:String,default:"span"}},setup(e,{slots:t}){const a=n.computed(()=>po(e.text??""));function o(r){return H(e.item,r)}R(()=>{const r=e.tag;return n.createVNode(r,null,{default:()=>[t.default?t.default?.({nodes:a.value}):a.value.map(l=>l.type==="text"?l.content:l.type==="variable"?t?.[l.content]?t[l.content]?.({key:l.content,value:o(l.content)}):o(l.content):l.content)]})})}});function wi(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const yo=B({src:String,crossorigin:String,referrerpolicy:String,...Me({transition:"fade"}),objectFit:{type:String,default:"contain"},eager:Boolean,...Zn()},"YImg"),Si=M({name:"YImg",props:{...yo()},slots:Object,emits:["load","loaded","error","status"],setup(e,{slots:t,attrs:a,emit:o}){const r=n.getCurrentInstance(),l=n.ref(),i=n.shallowRef(e.eager?"loading":"idle"),c=n.shallowRef(""),u=n.shallowRef(),s=n.shallowRef(),{polyTransitionBindProps:d}=Yn(e),m=n.computed(()=>({src:e.src})),v=n.computed(()=>({"y-img--cover":e.objectFit==="cover","y-img--contain":e.objectFit==="contain","y-img--fill":e.objectFit==="fill","y-img--scale-down":e.objectFit==="scale-down"}));function h(){const y=l.value;y&&(c.value=y.currentSrc||y.src)}function x(y){if(y.naturalWidth||y.naturalHeight)u.value=y.naturalWidth,s.value=y.naturalHeight;else{if(!y.complete&&i.value==="loading")return!1;(y.currentSrc.endsWith(".svg")||y.currentSrc.startsWith("data:image/svg+xml"))&&(u.value=1,s.value=1)}return!0}n.watch(()=>e.src,()=>{p()}),n.watch(i,y=>{o("status",y)},{immediate:!0});const b=y=>t.placeholder?n.createVNode(Ye,n.mergeProps(d.value,{appear:!0}),{default:()=>[(y.status==="idle"||y.status==="error")&&n.createVNode("div",{class:"y-img__placeholder"},[t.placeholder?.(y)])]}):null;function f(){r.isUnmounted||(i.value="loaded")}function w(y){r.isUnmounted||(i.value="error",o("error",y))}const T=y=>{let _;const O=n.createVNode("img",{ref:l,src:m.value.src,crossorigin:e.crossorigin,referrerpolicy:e.referrerpolicy,draggable:a.draggable,alt:a.alt,class:["y-img__img",v.value],onLoad:f,onError:w},null);return n.createVNode(Ye,n.mergeProps(d.value,{appear:!0}),wi(_=n.withDirectives(O,[[n.vShow,y.status==="loaded"]]))?_:{default:()=>[_]})};let D=-1;function g(y,_=100){const O=()=>{clearTimeout(D),!r.isUnmounted&&!x(y)&&_!=null&&(D=window.setTimeout(O,_))};O()}function p(y){e.eager,!(Mn.canUseIntersectionObserver&&!y&&!e.eager)&&(i.value="loading",m.value.src&&n.nextTick(()=>{o("load",l.value?.currentSrc||m.value.src),setTimeout(()=>{if(!r.isUnmounted)if(l.value?.complete){if(l.value?.naturalWidth||w(),i.value==="error")return;g(l.value,null),i.value==="loading"&&f()}else l.value&&(g(l.value),h())})}))}return n.onBeforeMount(()=>{p()}),n.onBeforeUnmount(()=>{clearTimeout(D)}),R(()=>n.createVNode("div",{class:["y-img"]},[n.createVNode(b,{status:i.value},null),n.createVNode(T,{status:i.value},null)])),{status:i,image$:l}}}),xi=Object.freeze(Object.defineProperty({__proto__:null,PageControlPaths:nt,YAlert:ui,YApp:ko,YBadge:hi,YButton:U,YCard:et,YCardBody:_r,YCardFooter:Tr,YCardHeader:Dr,YCheckbox:Zl,YChip:Or,YDataTable:Ul,YDataTableBody:_e,YDataTableCell:at,YDataTableControl:Te,YDataTableLayer:rt,YDataTableLayerRow:ja,YDataTableLayerRows:ql,YDataTableRow:Ba,YDataTableServer:Gl,YDateCalendar:nn,YDatePicker:mi,YDialog:vl,YDividePanel:Cl,YDivider:di,YDropdown:ni,YExpandHTransition:Nl,YExpandVTransition:ya,YFieldInput:Xe,YForm:or,YHover:bi,YIcon:he,YIconCheckbox:se,YIconClear:wt,YIconExpand:Re,YIconPageControl:ue,YIconSort:Yt,YImg:Si,YInput:be,YInputCheckbox:Zt,YIpv4Field:vi,YLayer:ne,YList:Rt,YListItem:$t,YMenu:Fe,YMenuPropOptions:Xt,YMonthPicker:ro,YPagination:Ra,YProgressBar:$n,YProgressRing:Vr,YSelect:ii,YSnackbar:pl,YSpinnerRing:pn,YSwitch:Ar,YTab:Qa,YTable:Ve,YTabs:ci,YTextEllipsis:gi,YTextHighlighter:va,YTextarea:nr,YTi:pi,YTooltip:xl,YTreeView:El,YTreeViewNode:ba,YYearPicker:io,Y_TABS_KEY:en,builtSet:ga,pressDataTableProps:qt,pressDataTableServerProps:Fa,pressSelectPropsOptions:Xa,pressYBadgePropsOptions:so,pressYButtonProps:ze,pressYChipPropsOptions:Un,pressYDataTableBodyProps:Gt,pressYDataTableControlPropsOptions:ot,pressYDataTableRowProps:Ya,pressYDateCalendarPropsOptions:tn,pressYDatePickerPropsOptions:co,pressYDialogPropsOptions:sa,pressYDividerPropsOptions:no,pressYDropdownPropsOptions:Ua,pressYFieldInputPropsOptions:St,pressYHoverPropsOptions:mo,pressYIconPropsOptions:za,pressYImgPropsOptions:yo,pressYInputPropsOptions:Pe,pressYLayerProps:Ce,pressYListItemProps:Sa,pressYListPropsOptions:xa,pressYMonthPickerPropsOptions:oo,pressYPaginationProps:$a,pressYSelectPropsOptions:Za,pressYSnackbarPropsOptions:da,pressYSwitchPropsOptions:Gn,pressYTabPropsOptions:Ja,pressYTableProps:Ft,pressYTabsPropOptions:eo,pressYTextareaPropsOptions:Vn,pressYTooltipPropsOptions:fa,pressYTreeViewNodeProps:Bt,pressYYearPickerPropsOptions:lo},Symbol.toStringTag,{value:"Module"})),Ni=",--. ,--.,--.,--.,--. ,--.,---. ,---. ,--,--, \n \\ ' / | || | \\ ' /| .-. :| .-. || \\ \n \\ ' ' '' ' \\ ' \\ --.' '-' '| || | \n.-' / `----' .-' / `----' `---' `--''--' \n`---' `---' ",Ci={credit:!0};function ki(e=Ci){const t=No(e?.defaults),a=Go(e?.theme),o=dr(e?.i18n),r=vr(e?.date,o.localeModule),l=Jl(e?.icon),i=e?.components??xi;return{install:u=>{a.install(u);const s=n.reactive({app:null,root:null,theme:a.instance,i18n:{...o.localeModule,...o.rtlModule},date:r,defaults:t,icon:l});Object.keys(i).forEach(v=>{const h=i[v];typeof h=="object"&&"name"in h&&u.component(v,h)}),u.directive("plate-wave",bn),u.provide(We,t),u.provide(Ge,a.instance),u.provide(Ha,l),u.provide(On,{...o.localeModule,...o.rtlModule}),u.provide(Pn,r.options),u.provide(gr,r.instance),u.config.globalProperties.$yuyeon=s,n.nextTick(()=>{s.root=u._container,s.app=u._instance,s.root&&(s.root.classList.add("y-root"),s.root.setAttribute("data-y-root",""),a.init(s))}),e?.credit&&console.log(Ni);const{unmount:d,mount:m}=u;u.mount=(...v)=>{const h=m(...v);return s.app||(s.app=u._instance),s.root||n.nextTick(()=>{s.root=u._container,s.root&&(s.root.classList.add("y-root"),s.root.setAttribute("data-y-root",""),a.init(s))}),u.mount=m,h},u.unmount=()=>{d(),a.scope.stop(),u.unmount=d}}}}function ho(){const e=n.getCurrentInstance();if(!e)throw new Error("[yuyeon] Called outside of setup context");return e.appContext.config.globalProperties.$yuyeon}oe.init=ki,oe.useTheme=qo,oe.useYuyeon=ho,Object.defineProperty(oe,Symbol.toStringTag,{value:"Module"})}));
|
|
4
|
+
`]}function Ue(e,t=""){return Object.entries(e).map(([a,o])=>Wo(`${t}-${a}`,o))}function Wo(e,t){return`--y-${e}: ${t};`}const Sn={light:"light"},Ho=["light","dark","auto"],xn={scaleMethod:"tonal",colors:{primary:"#0062a1",secondary:"#6251a6",tertiary:"#3c691b",neutral:"#5d5e61",positive:"#009d61",negative:"#ba1a1a",warning:"#f69400",info:"#0d62e6"}},Nn={light:{isDark:!1,colors:{primary:"#0062a1",secondary:"#6251a6",tertiary:"#3c691b",background:"#fdfbff","on-background":"#1a1c1e",surface:"#fdfbff","on-surface":"#1a1c1e","surface-variant":"#dfe3eb","on-surface-variant":"#42474e",outline:"#73777f","outline-variant":"#c2c7cf",error:"#ba1a1a","on-error":"#ffffff",warning:"#8a5100","on-warning":"#ffffff",info:"#0056d0","on-info":"#ffffff",success:"#006d42","on-success":"#ffffff",shadow:"#000000",highlighter:"#ffff00"},variables:{"outline-opacity":.14,"base-shadow-opacity":.14,"base-font":"#141414"}},dark:{isDark:!0,colors:{primary:"#9ccaff","on-primary":"#003257",secondary:"#cbbeff","on-secondary":"#332074",tertiary:"#a1d57a","on-tertiary":"#173800",background:"#1a1c1e","on-background":"#e2e2e6",surface:"#1a1c1e","on-surface":"#e2e2e6","surface-variant":"#42474e","on-surface-variant":"#c2c7cf",outline:"#8c9199","outline-variant":"#42474e",error:"#ffb4ab","on-error":"#690005",warning:"#ffb86e","on-warning":"#492900",info:"#b1c5ff","on-info":"#002c72",success:"#61dd9a","on-success":"#003920",shadow:"#000000",highlighter:"#51510d"},variables:{"outline-opacity":.14,"base-shadow-opacity":.14,"base-font":"#f5f5f5"}}};function zo(e){return e?{scheme:Ho.includes(e.scheme)?e.scheme:Sn.light,theme:e.theme??["light","dark"],themes:{...re(Nn,e.themes)},palette:{...re(xn,e.palette)},separation:e?.separation}:{scheme:Sn.light,theme:["light","dark"],themes:{...re(Nn)},palette:{...re(xn)}}}const Ge=Symbol.for("yuyeon.theme"),xe=B({theme:String},"theme");function Uo(){return window.matchMedia("(prefers-color-scheme)").media!=="not all"}function Go(e){const t=n.effectScope(),a=n.reactive(zo(e)),o=n.ref(a.scheme),r=n.ref(a.theme),l=n.ref(a.themes),i=n.ref(a.palette),c=n.ref(!0),u=n.ref("");function s(g){u.value=g.matches?"dark":"light"}const d=n.computed(()=>o.value==="auto"?u.value:o.value==="dark"?"dark":"light"),m=n.computed(()=>typeof r.value=="string"&&r.value in h?r.value:Array.isArray(r.value)?d.value==="dark"?r.value?.[1]??"dark":r.value?.[0]??"light":d.value),v=n.computed(()=>Ko(i.value)),h=n.computed(()=>jo(l.value)),x=n.computed(()=>{const g=m.value,p=h.value[g];return p?.colors?p.colors:{}}),b=n.computed(()=>{const g=a.separation?`#${a.separation}`:"",p=[];p.push(...Ae(":root",Ue(v.value,"palette")));for(const[y,_]of Object.entries(h.value)){const{colors:O,variables:V,isDark:E}=_,k={...O,...V},C=E?"dark":"light";o.value==="auto"?p.push(...Ae(`@media (prefers-color-scheme: ${C})`,Ae(`${g}[data-theme-scheme='auto'][data-${C}-theme='${y}']`,Ue(k,"theme")))):p.push(...Ae(`${g}[data-theme-scheme='${C}'][data-${C}-theme='${y}']`,Ue(k,"theme"))),p.push(...Ae(`${g} .y-theme--${y}`,Ue(k,"theme")))}return p.join("")});function f(g){g.directive("theme",Fo);let p=document.getElementById(`yuyeon-theme-palette${a.separation?"__"+a.separation:""}`);n.watch(b,y,{immediate:!0});function y(){if(typeof document<"u"&&!p){const _=document.createElement("style");_.type="text/css",_.id=`yuyeon-theme-palette${a.separation?"__"+a.separation:""}`,e?.cspNonce&&_.setAttribute("nonce",e.cspNonce),p=_,document.head.appendChild(p)}p&&(p.innerHTML=b.value)}}function w(g){if(c.value=Uo(),c.value){const p=window.matchMedia("(prefers-color-scheme: dark)");s(p),p.addEventListener("change",s)}n.watch(r,p=>{const[y,_]=p;g.root.dataset.lightTheme=y,g.root.dataset.darkTheme=_},{immediate:!0}),n.watch(o,p=>{g.root.setAttribute("data-theme-scheme",p==="auto"?"auto":d.value)},{immediate:!0})}function T(g){t.run(()=>{w(g)})}const D=n.computed(()=>`y-theme--${m.value}`);return{install:f,init:T,scope:t,instance:{global:{scheme:o,theme:r},themes:l,scheme:o,theme:r,currentThemeKey:m,currentThemeColors:x,themeClasses:D,computedThemes:h,computedPalette:v,supportedAutoMode:n.readonly(c),preferColorScheme:n.readonly(u)}}}function Ne(e){n.getCurrentInstance();const t=n.inject(Ge,null);if(!t)throw new Error('Not found provided "ThemeModule"');t.computedPalette;const a=n.computed(()=>{if(e.theme){const l=n.unref(t.theme);switch(e.theme){case"light":return l?.[0]??"light";case"dark":return l?.[1]??"dark";default:return e.theme}}return n.unref(t.currentThemeKey)}),o=n.computed(()=>`y-theme--${a.value}`),r={...t,currentThemeKey:a,themeClasses:o};return n.provide(Ge,r),r}function qo(){n.getCurrentInstance();const e=n.inject(Ge,null);if(!e)throw new Error('【yuyeon】 Not found provided "ThemeModule"');return e}const Cn=Symbol.for("yuyeon.form"),Xo=B({readonly:Boolean,disabled:Boolean,loading:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Zo(e){const t=K(e),a=n.shallowRef(!1),o=n.ref([]),r=n.ref([]),l=n.computed(()=>e.readonly),i=n.computed(()=>e.disabled),c=n.computed(()=>e.loading);async function u(){const h=[];let x=!0;r.value=[],a.value=!0;for(const b of o.value){const f=await b.validate();f.length>0&&(x=!1,h.push({id:b.id,vnode:b.vnode,exposed:b.vnode.component?.exposed,errors:f}))}return r.value=h,a.value=!1,{valid:x,errors:r.value}}function s(h){const{id:x,validate:b,vnode:f}=h;o.value.push({id:x,validate:b,vnode:f,isError:null,errors:[]})}function d(h){o.value=o.value.filter(x=>x.id!==h)}function m(h,x,b){const f=o.value.find(w=>w.id===h);f&&(f.isError=x,f.errors=b)}const v={inputs:o,isDisabled:i,isReadonly:l,isLoading:c,isValid:t,isValidating:a,register:s,unregister:d,update:m,validateOn:n.toRef(e,"validateOn")};return n.provide(Cn,v),{inputs:o,errors:r,isValid:t,isDisabled:i,isReadonly:l,isLoading:c,isValidating:a,validate:u}}function Jo(){return n.inject(Cn,null)}const Qo=B({readonly:Boolean,disabled:Boolean,status:{type:String,validator(e){return["success","warning","error"].includes(e)}},helperText:String,validators:Array,validateOn:{type:String},validationValue:null,maxErrors:{type:[Number,String],default:1}},"validation");function er(e,t,a=we()){const o=K(e,"modelValue"),r=n.getCurrentInstance(),l=Jo(),i=n.ref(!1),c=n.ref(),u=n.ref([]),s=n.computed(()=>e.name??a),d=n.computed(()=>e.validationValue===void 0?o.value:e.validationValue),m=n.computed(()=>{let g=e.validateOn||l?.validateOn?.value||"input";g==="lazy"&&(g="input,lazy");const p=new Set(g?.split(",")??[]);return{blur:p.has("blur")||p.has("input"),input:p.has("input"),lazy:p.has("lazy"),submit:p.has("submit")}}),v=n.computed(()=>e.readonly||l?.isReadonly.value),h=n.computed(()=>e.disabled||l?.isDisabled.value),x=n.computed(()=>e.loading||l?.isLoading.value),b=n.computed(()=>e.status==="error"||u.value.length>0),f=n.computed(()=>!b.value&&e.status==="success");n.watch([b,u],([g,p])=>{l?.update(s.value,g,p)},{immediate:!0}),n.watch(()=>e.validators,()=>{D()}),ft(()=>m.value.input,()=>{n.watch(d,()=>{if(d.value!=null)w();else if(e.focused){const g=n.watch(()=>e.focused,p=>{p||w(),g()})}})}),n.onBeforeUnmount(()=>{l?.unregister?.(s.value)}),n.onBeforeMount(()=>{l?.register({id:s.value,vnode:r.vnode,resetValidation:D,validate:w})});async function w(){const g=[];if(i.value=!0,Array.isArray(e.validators))for(const p of e.validators){if(g.length>=+(e.maxErrors??1))break;const _=await(typeof p=="function"?p:()=>p)(d.value);if(_!==!0){if(_!==!1&&typeof _!="string"){console.warn("Wrong validator return type");continue}g.push(_||"")}}return i.value=!1,u.value=g,c.value=g?.[0],g}function T(){u.value=[],c.value=void 0}async function D(){m.value.lazy?T():await w()}return{invokeValidators:w,resetError:T,validating:i,validateOn:m,errorResult:c,errors:u,isReadonly:v,isDisabled:h,isLoading:x,isError:b,isSuccess:f}}function tr(e){const t=e.getBoundingClientRect(),a=getComputedStyle(e),o=a.transform;if(o){let r,l,i,c;if(o.startsWith("matrix3d(")){const h=o.slice(9,-1).split(/, /);r=+h[0],l=+h[5],i=+h[12],c=+h[13]}else if(o.startsWith("matrix(")){const h=o.slice(7,-1).split(/, /);r=+h[0],l=+h[3],i=+h[4],c=+h[5]}else return t;const u=a.transformOrigin,s=t.x-i-(1-r)*parseFloat(u),d=t.y-c-(1-l)*parseFloat(u.slice(u.indexOf(" ")+1)),m=r?t.width/r:e.offsetWidth,v=l?t.height/l:e.offsetHeight;return{x:s,y:d,width:m,height:v,top:d,right:s+m,bottom:d+v,left:s}}else return t}function pt(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function kn(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}function F(e,t="px"){if(e==null||e==="")return;const a=Number(e);return typeof e=="string"&&isNaN(a)?e:isFinite(a)?`${a}${t}`:void 0}const ae="y-input",Pe=B({name:String,width:{type:[String,Number]},height:[Number,String],displayTag:{type:String,default:"div"},label:String,modelValue:{type:[String,Number,Array,Object]},autoSelect:{type:Boolean,default:!0},floating:{type:Boolean,default:!1},floated:{type:Boolean,default:()=>!1},placeholder:String,required:Boolean,loading:Boolean,variation:String,outlined:Boolean,filled:Boolean,ceramic:Boolean,...Qo(),...Lo(),extended:Object},"YInput"),be=M({name:"YInput",props:{...xe(),...Pe()},emits:["error","click","mousedown","mouseup","focus","blur","mousedown:display","mouseup:display","keydown:display","click:leading","update:modelValue","update:focused"],slots:Object,setup(e,{slots:t,attrs:a,expose:o,emit:r}){const l=we(),{themeClasses:i}=Ne(e),{focused:c,focusedClasses:u,whenFocus:s,whenBlur:d}=vt(e,"y-input"),{isDisabled:m,isReadonly:v,isLoading:h,invokeValidators:x,resetError:b,isError:f,isSuccess:w,errors:T,errorResult:D}=er(e,ae,l),g=n.ref(),p=n.ref(),y=n.ref();n.ref();const _=n.shallowRef(!1),O=n.computed(()=>e.variation?e.variation.split(",").map(I=>I.trim()):[]),V=n.computed(()=>e.floated||!!e.placeholder||!e.placeholder&&c.value||!!y.value),E=n.computed(()=>({[i.value]:!0,"y-input--ceramic":!!e.ceramic,"y-input--outlined":!e.ceramic&&(O.value.includes("outlined")||!!e.outlined),"y-input--filled":O.value.includes("filled")||!!e.filled,"y-input--loading":h.value,"y-input--has-value":!!y.value,"y-input--focused":c.value,"y-input--readonly":v.value,"y-input--disabled":m.value,"y-input--error":f.value,"y-input--success":w.value})),k=n.computed(()=>({width:F(e.width),height:F(e.height)}));n.watch(()=>e.modelValue,I=>{y.value=I}),n.watch(()=>e.readonly,I=>{I||(y.value=e.modelValue)}),n.watch(y,I=>{!v.value&&!h.value&&r("update:modelValue",I)}),n.watch(f,I=>{r("error",I,T.value)}),n.watch(()=>e.focused,I=>{I||x()});function C(I){r("click",I)}function N(I){_.value=!0,r("mousedown:display",I)}function S(I){_.value=!1,r("mouseup:display",I)}function Y(I){r("keydown:display",I)}function $(I){s(),r("focus",I)}function P(I){d(),x(),r("blur",I)}function A(I){r("click:leading",I)}function L(){if(e.label||t.label)return n.createVNode("label",{class:[{[`${ae}__label`]:!0,"y-input__floating-label":e.floating,"y-input__floating-label--floated":e.floating&&V.value}],for:`y-input--${l}`},[t.label?t.label():e.label?n.createVNode(n.Fragment,null,[e.label,e.required&&n.createVNode("span",{class:"y-input__required-mark"},[n.createTextVNode("*")])]):e.placeholder&&!y.value&&e.placeholder])}return o({...e.extended??{},createLabel:L,invokeValidators:x,validate:x,resetError:b}),R(()=>n.createVNode("div",{class:[`${ae}`,{...E.value}]},[t.prepend&&n.createVNode("div",{class:`${ae}__prepend`},[t.prepend()]),n.createVNode("div",{ref:g,class:[`${ae}__stack`]},[!e.floating&&L(),t["leading-out"]&&t["leading-out"](),n.createVNode("div",{ref:p,class:`${ae}__display`,style:[{...k.value}],"data-base-parent":!0,onClick:C,onMousedown:N,onMouseup:S,onKeydown:Y},[n.createVNode("div",{class:`${ae}__plate`},null),t.leading&&n.createVNode("div",{class:"y-input__leading",onClick:A},[t.leading({error:f.value})]),t.default?t.default({value:e.modelValue,loading:h.value,attrId:`y-input--${l}`,focused:c.value}):n.createVNode("div",{class:`${ae}__value`,"data-id":`y-input--${l}`,tabindex:0,onFocus:$,onBlur:P},[e.floating&&L(),e.modelValue?.toString()]),t.trailing?.()]),t["trailing-out"]&&t["trailing-out"](),n.createVNode("div",{class:`${ae}__helper-text`},[t["helper-text"]?n.createVNode("span",null,[t["helper-text"]({error:f.value,errors:T.value,errorResult:D.value})]):e.helperText??D.value])]),t.append&&n.createVNode("div",{class:`${ae}__append`},[t.append()])])),{...e.extended??{},themeClasses:i,isFocused:c,focusedClasses:u,whenFocus:s,whenBlur:d,createLabel:L,invokeValidators:x}}}),wt=M({name:"YIconClear",setup(){return()=>n.createVNode("svg",{role:"presentation",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"m8 1.5c-3.5839 0-6.5 2.9161-6.5 6.5 0 3.5839 2.9161 6.5 6.5 6.5 3.5839 0 6.5-2.9161 6.5-6.5 0-3.5839-2.9161-6.5-6.5-6.5zm-2 4a.5.5 0 01.35352.14648l1.6465 1.6465 1.6465-1.6465a.5.5 0 01.35352-.14648.5.5 0 01.35352.14648.5.5 0 010 .70703l-1.6465 1.6465 1.6465 1.6465a.5.5 0 010 .70703.5.5 0 01-.70703 0l-1.6465-1.6465-1.6465 1.6465a.5.5 0 01-.70703 0 .5.5 0 010-.70703l1.6465-1.6465-1.6465-1.6465a.5.5 0 010-.70703.5.5 0 01.35352-.14648z",fill:"currentColor","stroke-miterlimit":"10"},null)])}}),qe="y-field-input",St=B({enableClear:Boolean,inputAlign:String,inlineLabel:Boolean,displayText:[String,Function],whenInputValid:[Boolean,Number],tabindex:{type:String,default:"0"},type:{type:String,default:"text"},inputStyle:Object,...Pe({variation:"filled"})},"YFieldInput"),Xe=M({name:"YFieldInput",props:{...St()},emits:["update:modelValue","update:focused","input","change","click","mousedown","mouseup","keydown","keyup","focus","blur","mousedown:display","keydown:display","click:clear"],slots:Object,setup(e,{attrs:t,expose:a,emit:o,slots:r}){const l=n.ref(),i=n.ref(),{focused:c,whenFocus:u,whenBlur:s}=vt(e,"y-field-input"),d=n.ref(""),m=n.ref(""),v=n.toRef(e,"type"),h=n.computed(()=>({[qe]:!0,[`${qe}--inline-label`]:!!e.inlineLabel}));function x(N){o("click",N)}function b(N){u(),m.value=d.value,o("focus",N)}function f(N){s(),o("blur",N),E()}function w(N){o("input",N);const S=N.target;d.value=S?.value,m.value=S?.value}function T(N){o("change",d.value)}function D(N){o("keydown",N)}function g(N){o("keyup",N)}function p(N){o("click:clear",N),V()}function y(N){(N.code==="Space"||N.code==="Enter")&&V()}function _(){i.value?.focus()}function O(){i.value?.select()}function V(){d.value="",m.value="",o("update:modelValue",d.value),o("change",d.value)}function E(){const N=n.getCurrentInstance(),{displayText:S}=e;if(S!==void 0){let Y=d.value;typeof S=="string"&&(Y=S),S&&typeof S=="function"&&(Y=S.call(N,Y)),n.nextTick(()=>{m.value=Y})}}n.watch(()=>e.modelValue,N=>{d.value=N,m.value=N},{immediate:!0}),n.watch(d,N=>{c.value?m.value=N:E()},{immediate:!0});const k={focus:_,select:O,clear:V};a({...k,input$:i,validate:()=>l.value?.invokeValidators(),resetError:()=>l.value?.resetError()});function C(N){o("update:modelValue",N)}return R(()=>n.createVNode(be,n.mergeProps({class:h.value,ref:l},z(e,be.props),{modelValue:d.value,focused:c.value,extended:k,"onUpdate:modelValue":C,onClick:x,"onMousedown:display":N=>o("mousedown:display",N),"onKeydown:display":N=>o("keydown:display",N),style:[t.style]}),{leading:r.leading?N=>{const S=[],Y=r.leading?.(N);if(Y)S.push(Y);else return;return S}:void 0,default:N=>n.createVNode("div",{class:[`${qe}__field`],"data-id":N.attrId,ref:"field"},[e.floating?l.value?.createLabel?.():void 0,r.default?.({...N,focused:c.value}),n.createVNode("input",{ref:i,value:m.value,name:e.name,id:N.attrId,type:v.value,readonly:e.readonly||e.loading||N.loading,placeholder:e.placeholder,disabled:e.disabled,tabindex:e.tabindex||"0",autocomplete:t.autocomplete,maxlength:t.maxlength,min:t.min,max:t.max,style:[e.inputStyle,{textAlign:e.inputAlign}],size:t.size??1,onInput:w,onFocus:b,onBlur:f,onChange:T,onKeydown:D,onKeyup:g},null)]),trailing:r.trailing||e.enableClear&&d.value?()=>n.createVNode(n.Fragment,null,[e.enableClear&&d.value&&n.createVNode("div",{class:["y-input__trailing","y-input__trailing--clear"]},[n.createVNode("button",{type:"button",class:[`${qe}__clear`],disabled:e.disabled,onClick:p,onKeydown:y,tabindex:2},[n.createVNode(wt,null,null)])]),r.trailing&&n.createVNode("div",{class:["y-input__trailing"]},[r.trailing()])]):void 0,label:r.label?()=>r.label?.():void 0,prepend:r.prepend?()=>r.prepend?.():void 0,append:r.append?()=>r.append?.():void 0,"leading-out":r["leading-out"]?()=>r["leading-out"]?.():void 0,"trailing-out":r["trailing-out"]?()=>r["trailing-out"]?.():void 0,"helper-text":r["helper-text"]?N=>r["helper-text"]?.(N):void 0})),{focused:c,inValue:d}}}),Vn=B({displayText:[String,Function],whenInputValid:[Boolean,Number],...Pe({variation:"filled"})},"YTextarea"),_n="y-textarea",nr=M({name:"YTextarea",props:Vn(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0,"mousedown:display":e=>!0,input:e=>!0,change:(e,t)=>!0,focus:e=>!0,blur:e=>!0,click:e=>!0,keydown:e=>!0,keyup:e=>!0},slots:Object,setup(e,{attrs:t,emit:a,slots:o,expose:r}){const l=we(),i=n.ref(),c=n.ref(),u=n.ref(""),s=n.ref(""),{focused:d,whenFocus:m,whenBlur:v}=vt(e,"y-field-input");function h(y){a("update:modelValue",y)}function x(){const y=n.getCurrentInstance(),{displayText:_}=e;if(_!==void 0){let O=u.value;typeof _=="string"&&(O=_),_&&typeof _=="function"&&(O=_.call(y,O)),n.nextTick(()=>{s.value=O})}}function b(y){a("input",y);const _=y.target;u.value=_?.value,s.value=_?.value}function f(y){a("change",u.value,y)}function w(y){m(),s.value=u.value,a("focus",y)}function T(y){v(),a("blur",y),x()}function D(y){a("keydown",y)}function g(y){a("keyup",y)}function p(y){a("click",y)}return n.watch(()=>e.modelValue,y=>{u.value=y,s.value=y},{immediate:!0}),n.watch(u,y=>{d.value?s.value=y:x()}),r({el$:i,input$:c,validate:()=>i.value?.invokeValidators()}),R(()=>{const y=z(e,be.props);return n.createVNode(be,n.mergeProps({class:[_n]},y,{modelValue:u.value,"onUpdate:modelValue":h,focused:d.value,onClick:p,"onMousedown:display":_=>a("mousedown:display",_)}),{default:_=>n.createVNode("div",{class:[`${_n}__field`],"data-id":_.attrId,ref:"field"},[e.floating?i.value?.createLabel?.():void 0,o.default?()=>o.default(_):void 0,n.createVNode("textarea",n.mergeProps({ref:c,value:s.value,id:`y-input--${l}`,disabled:e.disabled,placeholder:e.placeholder,readonly:e.readonly,required:e.required},t,{onInput:b,onFocus:w,onBlur:T,onChange:f,onKeydown:D,onKeyup:g}),null)]),label:o.label?()=>o.label?.():void 0,"helper-text":o["helper-text"]?()=>o["helper-text"]?.():void 0})}),{el$:i,input$:c}}}),ar="y-form",or=M({name:"YForm",props:{...Xo()},emits:{"update:modelValue":e=>!0,submit:e=>!0,"keydown.enter":e=>!0},setup(e,{emit:t,slots:a,expose:o}){const r=Zo(e),l=n.ref();function i(u){const s=r.validate(),d=vo(u,s);t("submit",d),d.defaultPrevented||s.then(({valid:m})=>{m&&l.value?.submit()}),d.preventDefault()}function c(u){u.preventDefault(),u.stopImmediatePropagation(),t("keydown.enter",u)}o({...r}),R(()=>n.createVNode("form",{ref:l,class:[ar],novalidate:!0,onSubmit:i,onKeydown:n.withKeys(c,["enter"])},[a.default?.()]))}}),rr={search:"search",noItems:"No Options",noData:"No Data"},Tn="$yuyeon";function Dn(e,t){return e.replace(/\{(\d+)\}/g,(a,o)=>String(t[+o]))}function En(e,t,a){function o(i,...c){if(!i.startsWith(Tn))return Dn(i,c);const u=i.replace(Tn,""),s=e.value&&a.value[e.value],d=t.value&&a.value[t.value];let m=H(s,u,null);return m||(m=H(d,u,null)),m||(m=i),typeof m!="string"&&(m=i),Dn(m,c)}function r(i,c){return new Intl.NumberFormat([e.value,t.value],c).format(i)}function l(i){const c=mt(i,"locale",e),u=mt(i,"fallbackLocale",t),s=mt(i,"messages",a),d=En(c,u,s);return{name:"yuyeon",locale:e,fallbackLocale:t,messages:a,t:d.translate,n:d.number,getContext:d.getContext}}return{translate:o,number:r,getContext:l}}function lr(e){const t=n.shallowRef(e?.locale??"en"),a=n.shallowRef(e?.fallbackLocale??"en"),o=n.ref({en:rr,...e?.messages}),r=En(t,a,o);return{name:"yuyeon",locale:t,fallbackLocale:a,messages:o,t:r.translate,n:r.number,getContext:r.getContext}}function ir(e){return e?.adapter&&e.adapter?.name?e.adapter:lr(e)}const cr={af:"af-ZA",bg:"bg-BG",ca:"ca-ES",cs:"cs-CZ",de:"de-DE",el:"el-GR",en:"en-US",et:"et-EE",fa:"fa-IR",fi:"fi-FI",hr:"hr-HR",hu:"hu-HU",he:"he-IL",id:"id-ID",it:"it-IT",ja:"ja-JP",ko:"ko-KR",lv:"lv-LV",lt:"lt-LT",nl:"nl-NL",no:"no-NO",pl:"pl-PL",pt:"pt-PT",ro:"ro-RO",ru:"ru-RU",sk:"sk-SK",sl:"sl-SI",srCyrl:"sr-SP",srLatn:"sr-SP",sv:"sv-SE",th:"th-TH",tr:"tr-TR",az:"az-AZ",uk:"uk-UA",vi:"vi-VN",zhHans:"zh-CN",zhHant:"zh-TW"},sr={af:!1,ar:!0,bg:!1,ca:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1},On=Symbol.for("yuyeon.i18n");function ur(e,t){const a=n.ref(t?.rtlOptions??sr),o=n.computed(()=>a.value[e.locale.value]??!1),r=n.computed(()=>`y-i18n--${o.value?"rtl":"ltr"}`);return{rtlOptions:a,rtl:o,rtlClasses:r}}function dr(e){const t=ir(e),a=ur(t,e);return{localeModule:t,rtlModule:a}}function Ie(){const e=n.inject(On);if(!e)throw new Error('【yuyeon】 Not found provided "I18nModule"');return e}function An(e,t){const a=n.reactive(typeof e.adapter=="function"?new e.adapter({locale:e.locale[t.locale.value]??t.locale.value,formats:e.formats}):e.adapter);return n.watch(t.locale,o=>{a.locale=e.locale[o]??o??a.locale}),a}const xt={AD:1,AE:6,AF:6,AG:0,AI:1,AL:1,AM:1,AN:1,AR:1,AS:0,AT:1,AU:1,AX:1,AZ:1,BA:1,BD:0,BE:1,BG:1,BH:6,BM:1,BN:1,BR:0,BS:0,BT:0,BW:0,BY:1,BZ:0,CA:0,CH:1,CL:1,CM:1,CN:1,CO:0,CR:1,CY:1,CZ:1,DE:1,DJ:6,DK:1,DM:0,DO:0,DZ:6,EC:1,EE:1,EG:6,ES:1,ET:0,FI:1,FJ:1,FO:1,FR:1,GB:1,GE:1,GF:1,GP:1,GR:1,GT:0,GU:0,HK:0,HN:0,HR:1,HU:1,ID:0,IE:1,IL:0,IN:0,IQ:6,IR:6,IS:1,IT:1,JM:0,JO:6,JP:0,KE:0,KG:1,KH:0,KR:0,KW:6,KZ:1,LA:0,LB:1,LI:1,LK:1,LT:1,LU:1,LV:1,LY:6,MC:1,MD:1,ME:1,MH:0,MK:1,MM:0,MN:1,MO:0,MQ:1,MT:0,MV:5,MX:0,MY:1,MZ:0,NI:0,NL:1,NO:1,NP:0,NZ:1,OM:6,PA:0,PE:0,PH:0,PK:0,PL:1,PR:0,PT:0,PY:0,QA:6,RE:1,RO:1,RS:1,RU:1,SA:0,SD:6,SE:1,SG:0,SI:1,SK:1,SM:1,SV:0,SY:6,TH:0,TJ:1,TM:1,TR:1,TT:0,TW:0,UA:1,UM:0,US:0,UY:1,UZ:1,VA:1,VE:0,VI:0,VN:1,WS:0,XK:1,YE:0,ZA:0,ZW:0},fr=1e3*60*60*24,mr=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/,Ze=new Date(1970,0,4);class j{static date(t){if(t==null)return new Date;if(t instanceof Date)return t;let a;if(typeof t=="string"){if(mr.test(t))return j.parseLocalDate(t);if(a=Date.parse(t),!isNaN(a))return new Date(a)}return null}static format(t,a,o,r){const l=j.date(t)??new Date,i=r?.[a];if(typeof i=="function")return i(l,a,o);let c={};switch(a){case"fullDateWithWeekday":c={weekday:"long",day:"numeric",month:"long",year:"numeric"};break;case"normalDateWithWeekday":c={weekday:"short",day:"numeric",month:"short"};break;case"keyboardDate":c={day:"2-digit",month:"2-digit",year:"numeric"};break;case"monthAndDate":c={month:"long",day:"numeric"};break;case"monthAndYear":c={month:"long",year:"numeric"};break;case"year":c={year:"numeric"};break;case"month":c={month:"long"};break;case"monthShort":c={month:"short"};break;case"dayOfMonth":c={day:"numeric"};break;case"shortDate":c={year:"2-digit",month:"numeric",day:"numeric"};break;default:c=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(o,c).format(l)}static parseLocalDate(t){const a=t.split("-").map(Number);return new Date(a[0],a[1]-1,a[2])}static parseISO(t){const[a,o,r]=t.split("-").map(Number);return new Date(a,o-1,r)}static toISO(t,a){const o=t.toJsDate(a),r=o.getFullYear(),l=o.getMonth()+1<10?`0${o.getMonth()+1}`:`${o.getMonth()+1}`,i=o.getDate()<10?`0${o.getDate()}`:`${o.getDate()}`;return`${r}-${l}-${i}`}static getWeekArray(t,a){const o=[];let r=[];const l=j.startOfMonth(t),i=j.endOfMonth(t),c=(l.getDay()-xt[a.slice(-2).toUpperCase()]+7)%7,u=(i.getDay()-xt[a.slice(-2).toUpperCase()]+7)%7;for(let s=0;s<c;s++){const d=new Date(l);d.setDate(d.getDate()-(c-s)),r.push(d)}for(let s=1;s<=i.getDate();s++)r.push(new Date(t.getFullYear(),t.getMonth(),s)),r.length===7&&(o.push(r),r=[]);for(let s=1;s<7-u;s++){const d=new Date(i);d.setDate(d.getDate()+s),r.push(d)}return r.length>0&&o.push(r),o}static startOfMonth(t){return new Date(t.getFullYear(),t.getMonth(),1)}static endOfMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}static startOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())}static startOfYear(t){return new Date(t.getFullYear(),0,1)}static endOfDay(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59,999)}static endOfYear(t){return new Date(t.getFullYear(),11,31)}static getYear(t){return t.getFullYear()}static getMonth(t){return t.getMonth()}static getDay(t){return t.getDate()}static getNextMonth(t){return new Date(t.getFullYear(),t.getMonth()+1,1)}static getWeekdays(t,a){let o=xt[t.slice(-2).toUpperCase()]??0;return typeof a<"u"&&a>=0&&a<7&&(o=a),[...Array(7).keys()].map(r=>{const l=new Date(Ze);return l.setDate(Ze.getDate()+o+r),new Intl.DateTimeFormat(t,{weekday:"narrow"}).format(l)})}static getMeridians(t){const a=new Date(Ze).setHours(11),o=new Date(Ze).setHours(13),r=Intl.DateTimeFormat(t,{minute:"numeric",hour:"numeric",hour12:!0});return[r.format(a).replace(/\d+:\d+/,"").trim(),r.format(o).replace(/\d+:\d+/,"").trim()]}static isAfter(t,a){return t.getTime()>a.getTime()}static isBefore(t,a){return t.getTime()<a.getTime()}static isEqual(t,a){return t.getTime()===a.getTime()}static isSameDay(t,a){return t.getDate()===a.getDate()&&t.getMonth()===a.getMonth()&&t.getFullYear()===a.getFullYear()}static isSameMonth(t,a){return!!(t.getMonth()===a.getMonth()&&t.getFullYear()&&a.getFullYear())}static isValid(t){const a=new Date(t);return a instanceof Date&&!isNaN(a.getTime())}static isWithinRange(t,a){return j.isAfter(t,a[0])&&j.isBefore(t,a[1])}static addDays(t,a){const o=new Date(t);return o.setDate(o.getDate()+a),o}static addMonths(t,a){const o=new Date(t);return o.setMonth(o.getMonth()+a),o}static getDiff(t,a,o){const r=new Date(t),l=new Date(a);return o==="month"?r.getMonth()-l.getMonth()+(r.getFullYear()-l.getFullYear())*12:Math.floor(r.getTime()-l.getTime())/fr}static setMonth(t,a){const o=new Date(t);return o.setMonth(a),o}static setYear(t,a){const o=new Date(t);return o.setFullYear(a),o}static getHour(t){return t.getHours()}static setHour(t,a){const o=new Date(t);return o.setHours(a),o}static getMinute(t){return t.getMinutes()}static setMinute(t,a){const o=new Date(t);return o.setMinutes(a),o}static parseTime(t,a){const o=String(a).replace(/\D/g,"");if(!o)return null;const r=o.length,l=j.includesPm(t,a);let i,c;if(r===1||r===2)i=parseInt(o,10),c=0;else if(r===3)i=parseInt(o[0],10),c=parseInt(o.slice(1),10);else{const u=o.slice(0,4);i=parseInt(u.slice(0,2),10),c=parseInt(u.slice(2),10)}return i<12&&l&&(i+=12),i<0||i>23||c<0||c>59?null:{hours:i,minutes:c}}static includesPm(t,a){if(a.trim().toLowerCase().includes("pm"))return!0;const o=j.getMeridians(t);return!!o[1]&&a.trim().includes(o[1])}}class yr{locale="ko-kr";formats;constructor(t){this.locale=t.locale,this.formats=t.formats}getWeekArray(t){return j.getWeekArray(t,this.locale)}startOfMonth(t){return j.startOfMonth(t)}endOfMonth(t){return j.endOfMonth(t)}addDays(t,a){return j.addDays(t,a)}addMonths(t,a){return j.addMonths(t,a)}date(t){return j.date(t)}endOfDay(t){return j.endOfDay(t)}endOfYear(t){return j.endOfYear(t)}format(t,a){return j.format(t,a,this.locale,this.formats)}getDiff(t,a,o){return j.getDiff(t,a,o)}getYear(t){return j.getYear(t)}getMonth(t){return j.getMonth(t)}getDay(t){return j.getDay(t)}getNextMonth(t){return j.getNextMonth(t)}getWeekdays(t){return j.getWeekdays(this.locale,t)}isAfter(t,a){return j.isAfter(t,a)}isBefore(t,a){return j.isBefore(t,a)}isEqual(t,a){return j.isEqual(t,a)}isSameDay(t,a){return j.isSameDay(t,a)}isSameMonth(t,a){return j.isSameMonth(t,a)}isValid(t){return j.isValid(t)}isWithinRange(t,a){return j.isWithinRange(t,a)}parseISO(t){return j.parseISO(t)}setMonth(t,a){return j.setMonth(t,a)}setYear(t,a){return j.setYear(t,a)}startOfDay(t){return j.startOfDay(t)}startOfYear(t){return j.startOfYear(t)}toISO(t){return j.toISO(this,t)}toJsDate(t){return t}getHour(t){return j.getHour(t)}getMinute(t){return j.getMinute(t)}setHour(t,a){return j.setHour(t,a)}setMinute(t,a){return j.setMinute(t,a)}parseTime(t){return j.parseTime(this.locale,t)}}function hr(e){return re({adapter:yr,locale:cr},e)}const gr=Symbol.for("yuyeon.date"),Pn=Symbol.for("yuyeon.date-options");function vr(e,t){const a=hr(e);return{options:a,instance:An(a,t)}}function Je(){const e=n.inject(Pn);if(!e)throw new Error('【yuyeon】 Not found provided "DateModule" for options');const t=Ie();return An(e,t)}const In=typeof window<"u",Mn={canUseIntersectionObserver:In&&"IntersectionObserver"in window,canUseResizeObserver:In&&"ResizeObserver"in window};function pe(e){const t=n.ref(),a=n.ref();if(Mn.canUseResizeObserver){const o=new ResizeObserver((r,l)=>{e?.(r,l),r.length&&(a.value=r[0].contentRect)});n.onBeforeUnmount(()=>{o.disconnect()}),n.watch(t,(r,l)=>{if(l){const i=dt(l);i&&o.unobserve(i),a.value=void 0}if(r){const i=dt(r);i&&o.observe(i)}},{flush:"post"})}return{resizeObservedRef:t,contentRect:n.readonly(a)}}function br(e,t){const a=n.ref(!1),o=n.ref();o.value=t.value;const r=n.computed(()=>e.value?t.value:o.value);n.watch(t,()=>{a.value||(o.value=t.value),e.value||(a.value=!0)});function l(){o.value=t.value,e.value||(a.value=!1)}function i(){document.visibilityState==="visible"&&(o.value=t.value,a.value=!1)}return n.onMounted(()=>{document.addEventListener("visibilitychange",i)}),n.onUnmounted(()=>{document.removeEventListener("visibilitychange",i)}),{entered:a,lazyValue:r,onAfterUpdate:l}}function pr(e,t,a){const{tickDuration:o}={};let r=o??100,l=-1;const i=n.ref(0),c=n.ref(n.unref(t)),u=n.ref(!1);function s(){const h=Date.now(),x=h-i.value;let b=r;const f=c.value-x;if(c.value=f,f<1){e();return}const w=x-r;w>0?b-=w:w<0&&(b+=w),f>=1&&(i.value=h,l=window.setTimeout(s,b))}function d(){u.value||(u.value=!0,i.value=Date.now(),l=window.setTimeout(s,r))}function m(){window.clearTimeout(l),l=-1,u.value=!1}function v(){m(),c.value=n.unref(t)}return{start:d,stop:m,reset:v,drift:c,isWork:u}}function wr(e,t){const a={};function o(i){a[i]&&window.clearTimeout(a[i]),delete a[i]}function r(i,c,u){a[i]=window.setTimeout(()=>{const s=i==="openDelay";t?.(s),u(s)},c)}const l=i=>()=>{o("openDelay"),o("closeDelay");const c=e[i]??0;return new Promise(u=>{const s=parseInt(String(c),10);r(i,s,u)})};return{startOpenDelay:l("openDelay"),startCloseDelay:l("closeDelay")}}const Me=B({transition:{type:[String,Object],default:"slide-fade"}},"PolyTransition");function Yn(e){return{polyTransitionBindProps:n.computed(()=>{const{is:a,...o}=typeof e.transition=="object"?e.transition:{is:e.transition,name:e.transition};return{is:a,transitionProps:o}})}}const Ye=(e,{slots:t})=>{const{is:a,transitionProps:o,...r}=e,{component:l=n.Transition,...i}=typeof a=="object"?{component:a,...o}:{name:a};return n.h(l,{...i,...o,...r},t)};function Bn(e){const t=n.shallowRef(0),a=n.computed(()=>{const{modelValue:o,value:r}=e,l=Number(o??r);return Number.isNaN(l)||l<0?0:l>100?100:l});return n.watch(a,(o,r)=>{t.value=o-r}),{numValue:a,delta:t}}const $n=M({name:"YProgressBar",props:{modelValue:{type:Number},rounded:{type:Boolean},height:{type:Number},noRewindTransition:{type:Boolean},outlined:{type:Boolean},innerText:{type:Boolean},color:{type:String,default:"primary"},textColor:{type:String},outlineColor:{type:String},indeterminate:Boolean,reverse:Boolean},setup(e,{slots:t}){const{numValue:a,delta:o}=Bn(e),r=n.computed(()=>{let c=!1;return e.noRewindTransition&&o.value<0&&(c=!0),{"y-progress--no-trans":c,"y-progress--outlined":e.outlined,"y-progress--indeterminate":e.indeterminate,"y-progress-bar--rounded":e.rounded,"y-progress-bar--reverse":e.reverse}}),l=n.computed(()=>{let c=e.color??"";return Se(c)||(c=`var(--y-theme-${c})`),c}),i=n.computed(()=>{let c;return e.innerText&&a.value<5&&a.value>0&&(c="2rem"),{width:`${a.value}%`,minWidth:c}});return R(()=>n.createVNode("div",{class:{"y-progress y-progress-bar":!0,...r.value},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":a.value,style:{"--y-progress-bar__height":e.height!==void 0?`${e.height}px`:void 0,"--y-progress-bar__outline-color":e.outlineColor!==void 0?e.outlineColor:void 0,"--y-progress-bar__color":l.value,"--y-progress-bar__value":a.value}},[n.createVNode("div",{class:"y-progress__track"},null),n.createVNode("div",{class:"y-progress__tube"},[n.createVNode("div",{class:"y-progress__lead",style:i.value},[t["lead-inner"]?t["lead-inner"]():e.innerText&&n.createVNode("div",{class:{"y-progress__lead-inner":!0,"y-progress__lead-inner--fixed":a.value<3},style:{color:e.textColor}},[n.createVNode("span",null,[a,n.createTextVNode(" %")])])]),t["tube-append"]&&t["tube-append"]()])])),{numValue:a,delta:o}}}),Nt=(e,t)=>e.includes(t),Rn=["top","bottom"],Sr=["start","end","left","right"];function Ln(e,t){let[a,o]=e.split(" ");return o||(o=Nt(Rn,a)?"start":Nt(Sr,a)?"top":"center"),{side:Fn(a,t),align:Fn(o,t)}}function Fn(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function Ct(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function kt(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function jn(e){return{side:e.align,align:e.side}}function Kn(e){return Nt(Rn,e.side)?"y":"x"}function Vt(e,t=0,a={leading:!1,trailing:!0}){let o,r,l=0,i,c,u,s=0,d=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError("NOT Function");t=+t||0,go(a)&&(d=!!a.leading,m="maxWait"in a,l=m?Math.max(+(a?.maxWait||0),t):l,v="trailing"in a?!!a.trailing:v);function h(y){const _=o,O=r;return o=r=void 0,s=y,i=e.apply(O,_),i}function x(y){return s=y,c=window.setTimeout(w,t),d?h(y):i}function b(y){var _=y-(u??0),O=y-(s??0),V=t-_;return m?Math.min(V,(l??0)-O):V}function f(y){var _=y-(u??0),O=y-(s??0);return u===void 0||_>=t||_<0||m&&O>=(l??0)}function w(){const y=Date.now();if(f(y))return T(y);c=window.setTimeout(w,b(y))}function T(y){return c=void 0,v&&o?h(y):(o=r=void 0,i)}function D(){c!==void 0&&clearTimeout(c),s=0,o=u=r=c=void 0}function g(){return c===void 0?i:T(Date.now())}function p(){const y=Date.now(),_=f(y);if(o=arguments,r=this,u=y,_){if(c===void 0)return x(u);if(m)return clearTimeout(c),c=window.setTimeout(w,t),h(u)}return c===void 0&&(c=window.setTimeout(w,t)),i}return p.cancel=D,p.flush=g,p}function _t(e){const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}function xr(e,t,a){if(!e)return!1;const o=_t(t);if(typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&o.host===e.target)return!1;const r=[];return r.push(t),!r.some(l=>l?.contains(e.target))}class Nr{clean=!0;frames=[];raf=-1;run(){cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame(()=>{const t=this.frames.shift();t&&t(),frames.length?this.run():this.clean=!0})}requestNewFrame(t){!this.clean||this.frames.length?(this.frames.push(t),this.run()):(this.clean=!1,t(),this.run())}}function Cr(e){const t=n.reactive({}),a=n.computed(e);return n.watchEffect(()=>{for(const o in a.value)t[o]=a.value[o]},{flush:"sync"}),n.toRefs(t)}class Be{x;y;width;height;constructor({x:t,y:a,width:o,height:r}){this.x=t??0,this.y=a??0,this.width=o??0,this.height=r??0}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function Wn(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function kr(e,t){for(;e;){if(Tt(e))return e;e=e.parentElement}return document.scrollingElement}function Qe(e,t,a){const o=[];if(t&&e&&!t.contains(e))return o;for(;e&&(Tt(e)&&o.push(e),e!==t);)e=e.parentElement;return o}function Tt(e,t){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const a=window.getComputedStyle(e);return a.overflowY==="scroll"||a.overflowY==="auto"&&e.clientHeight<e.scrollHeight}const Vr=M({name:"YProgressRing",props:{modelValue:{type:Number},rounded:{type:Boolean},size:{type:Number,default:32},noRewindTransition:{type:Boolean},color:{type:String,default:"primary"},indeterminate:Boolean,reverse:Boolean,width:{type:Number,default:20}},setup(e,{slots:t}){const a=2*Math.PI*24,{numValue:o,delta:r}=Bn(e),l=n.computed(()=>{let s=e.color??"";return Se(s)||(s=`var(--y-theme-${s})`),s}),i=n.computed(()=>{const s=de(e.width,1,100);if(s===100)return"";const d=48,m=64,v=(100-s)/100*(d/2);return`polygon(100% 50%, 100% 100%, 0 100%, 0 0, 100% 0, 100% 50%, ${[...Array(m)].map((x,b)=>{const f=-b/(m-1)*Math.PI*2,w=Math.cos(f)*v+d/2,T=Math.sin(f)*v+d/2;return`${w}px ${T}px`}).join(",")})`}),c=n.computed(()=>a-a*o.value/100),u=n.computed(()=>{let s=!1;return e.noRewindTransition&&r.value<0&&(s=!0),{"y-progress--no-trans":s,"y-progress--indeterminate":e.indeterminate,"y-progress-ring--hole":!!i.value}});return R(()=>n.createVNode("div",{class:{"y-progress y-progress-ring":!0,...u.value},role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":o.value,style:{"--y-progress-ring__size":F(e.size),"--y-progress-ring__color":l.value,"--y-progress-ring__value":o.value,"--y-progress-ring__hole-path":i.value}},[n.createVNode("svg",{class:"y-progress-ring__tube",width:"48",height:"48",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("circle",{class:"y-progress-ring__track",cx:"24",cy:"24",r:"24"},null),n.createVNode("circle",{class:"y-progress-ring__lead",cx:"24",cy:"24",r:"12","stroke-width":"24","stroke-dasharray":a/2,"stroke-dashoffset":c.value/2},null)])])),{numValue:o,delta:r}}}),et=M({name:"YCard",props:{outline:{type:Boolean},...xe()},setup(e,{slots:t}){const{themeClasses:a}=Ne(e);R(()=>n.h("div",{class:["y-card",{"y-card--outlined":e.outline},a.value]},t.default?.()))}}),_r=M({name:"YCardBody",render(){return n.h("div",{class:"y-card__body"},this.$slots.default?.())}}),Tr=M({name:"YCardFooter",render(){return n.h("div",{class:"y-card__footer"},this.$slots.default?.())}}),Dr=M({name:"YCardHeader",render(){return n.h("div",{class:"y-card__header"},this.$slots.default?.())}}),Hn={color:String,background:String,backgroundOpacity:{type:Number}},Er=B(Hn,"style-color");function zn(e,t){return{colorVars:n.computed(()=>{let{color:o,background:r}=e;return r||(r=o),o&&!Se(o)&&(o=`var(--y-theme-${o})`),r&&(Se(r)?r=`rgba(${$o(r)}, ${e.backgroundOpacity})`:r.startsWith("var(")||(r=`rgba(${`var(--y-theme-${r}-rgb)`}, ${e.backgroundOpacity})`)),{[`--y-${t}__color`]:o,[`--y-${t}__background`]:r}})}}const Un=B({...Hn,small:Boolean},"YChip"),Or=M({name:"YChip",props:{...Un()},setup(e,{slots:t,emit:a}){const o=n.computed(()=>ut(e,"click")),{colorVars:r}=zn(e,"chip");return R(()=>n.createVNode("span",{class:["y-chip",{"y-chip--small":e.small,"y-chip--clickable":o.value}],style:r.value},[n.createVNode("span",{class:"y-chip__content"},[t.default?.()])])),{}}}),Gn=B({modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Object]},max:{type:Number},loading:{type:Boolean},disabled:{type:Boolean},stickOut:{type:Boolean},stateLabel:{type:Boolean},color:{type:String},labelOn:{type:String,default:"ON"},labelOff:{type:String,default:"OFF"}},"YSwitch"),Ar=M({name:"YSwitch",props:{...Gn()},emits:["update:modelValue","change","click","focus","blur","keydown","overmax"],setup(e,{emit:t,slots:a}){const r=`input-${(we()??"").toString()}`,l=n.ref(),i=K(e),c=n.ref(!1),u=n.ref(!1),s=n.computed(()=>Array.isArray(i.value)),d=n.computed(()=>s.value?i.value.findIndex(g=>g===e.value):-1),m=n.computed(()=>({"y-switch--active":c.value,"y-switch--focused":u.value,"y-switch--disabled":!!e.disabled,"y-switch--loading":!!e.loading,"y-switch--stick-out":!!e.stickOut}));n.watch(i,()=>{v()},{immediate:!0});function v(){const g=i.value;if(Array.isArray(g)){const p=g.find(y=>y===e.value);c.value=p!==void 0}else typeof g=="boolean"&&(c.value=g)}function h(g){const p=i.value;if(Array.isArray(p)){const y=p.slice();if(g&&e.max!==void 0&&y.length>=e.max){t("overmax"),x(!1);return}g&&d.value<0?y.push(e.value):d.value>-1&&y.splice(d.value,1),t("change",y)}}function x(g,p){n.nextTick(()=>{c.value=g})}function b(g){u.value=!0,t("focus",g)}function f(g){u.value=!1,t("blur",g)}function w(g){e.disabled||e.loading||T(!c.value)}function T(g,p){c.value=g,s.value?h(g):(i.value=g,t("change",g))}function D(g){t("keydown",g)}R(()=>{const g={backgroundColor:e.color};return n.createVNode("div",{class:{"y-switch":!0,...m.value}},[n.createVNode("div",{class:"y-switch__slot"},[n.createVNode("div",{class:"y-switch__input",onClick:n.withModifiers(w,["exact"]),onKeydown:D},[n.createVNode("input",{ref:l,id:r,"aria-checked":c.value,type:"checkbox",role:"switch",onFocus:b,onBlur:f,disabled:e.disabled,checked:c.value},null),n.createVNode("div",{class:"y-switch__track",style:g},[e.stateLabel&&n.createVNode("div",{class:"y-switch__state"},[n.createVNode("span",{class:"y-switch__state-label y-switch__state-label--on"},[e.labelOn]),n.createVNode("span",{class:"y-switch__state-label y-switch__state-label--off"},[e.labelOff])])]),n.createVNode("div",{class:"y-switch__thumb"},[e.loading&&n.createVNode("div",{class:"y-switch__spinner"},null)])]),a.label&&n.createVNode("label",{for:r,class:"y-switch__label"},[a.label?.(),n.createVNode("input",{hidden:!0},null)])])])})}});function Pr(e,t,a,o){const{contentEl:r,base:l,active:i}=t;function c(){}return{updateCoordinate:c}}function Dt(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ir(e,t){return{x:e.x-t.x,y:e.y-t.y}}function qn(e,t){if(e.side==="top"||e.side==="bottom"){const{side:a,align:o}=e,r=o==="left"?0:o==="center"?t.width/2:o==="right"?t.width:o,l=a==="top"?0:a==="bottom"?t.height:a;return Dt({x:r,y:l},t)}else if(e.side==="left"||e.side==="right"){const{side:a,align:o}=e,r=a==="left"?0:a==="right"?t.width:a,l=o==="top"?0:o==="center"?t.height/2:o==="bottom"?t.height:o;return Dt({x:r,y:l},t)}return Dt({x:t.width/2,y:t.height/2},t)}function Mr(e,t,a,o){const{contentEl:r,pivot:l}=t,i=n.ref(!1),c=n.ref([!1,!1]),[u,s,d,m]=["minWidth","minHeight","maxWidth","maxHeight"].map(g=>n.computed(()=>{const p=parseFloat(e[g]);return Number.isNaN(p)?1/0:p})),{preferredAnchor:v,preferredOrigin:h}=Cr(()=>{const g=`${e.position} ${e.align}`,p=Ln(g,!1),y=e.origin==="overlap"?p:e.origin==="auto"?Ct(p):Ln(e.origin,!1);return p.side===y.side&&p.align===kt(y).align?{preferredAnchor:jn(p),preferredOrigin:jn(y)}:{preferredAnchor:p,preferredOrigin:y}}),x=n.computed(()=>Xn(e.offset)),b=n.computed(()=>Xn(e.viewportMargin));let f=!1;const w=new ResizeObserver(()=>{f&&D()});n.watch([t.pivot,t.contentEl],([g,p],[y,_])=>{y&&!Array.isArray(y)&&y.nodeType===1&&w.unobserve(y),g&&!Array.isArray(g)&&g.nodeType===1&&w.observe(g),_&&w.unobserve(_),p&&w.observe(p)},{immediate:!0}),n.onScopeDispose(()=>{w.disconnect()});function T(g){const p=tr(g);return p.x-=parseFloat(g.style.left||"0"),p.y-=parseFloat(g.style.top||"0"),p}function D(){f=!1;const g=l.value,p=r.value;if(requestAnimationFrame(()=>{requestAnimationFrame(()=>{f=!0})}),!g||!p)return;const y=Array.isArray(g)?new Be({x:g?.[0]??0,y:g?.[1]??0,width:0,height:0}):g.getBoundingClientRect(),_=T(p),O=Qe(p);O.length<1&&O.push(document.documentElement);const V=O.reduce((A,L)=>{const I=L.getBoundingClientRect(),W=new Be({x:L===document.documentElement?0:I.x,y:L===document.documentElement?0:I.y,width:L.clientWidth,height:L.clientHeight});return A?new Be({x:Math.max(A.left,W.left),y:Math.max(A.top,W.top),width:Math.min(A.right,W.right)-Math.max(A.left,W.left),height:Math.min(A.bottom,W.bottom)-Math.max(A.top,W.top)}):W},void 0);V.x+=b.value[0],V.y+=b.value[1],V.width-=b.value[0]*2,V.height-=b.value[1]*2;let E={anchor:v.value,origin:h.value};function k(A){const L=new Be(_),I=qn(A.anchor,y),W=qn(A.origin,L);let{x:J,y:Q}=Ir(I,W);switch(A.anchor.side){case"top":Q-=x.value[0];break;case"bottom":Q+=x.value[0];break;case"left":J-=x.value[0];break;case"right":J+=x.value[0];break}switch(A.anchor.align){case"top":Q-=x.value[1];break;case"bottom":Q+=x.value[1];break;case"left":J-=x.value[1];break;case"right":J+=x.value[1];break;case"center":{A.anchor.side==="top"||A.anchor.side==="bottom"?J+=x.value[1]:Q+=x.value[1];break}}return L.x+=J,L.y+=Q,L.width=Math.min(L.width,d.value),L.height=Math.min(L.height,m.value),{overflows:Wn(L,V),x:J,y:Q}}let C=0,N=0;const S={x:0,y:0},Y={x:!1,y:!1};let $=-1;for(;!($++>10);){const{x:A,y:L,overflows:I}=k(E);C+=A,N+=L,_.x+=A,_.y+=L;{const W=Kn(E.anchor),J=I.x.before||I.x.after,Q=I.y.before||I.y.after;let je=!1;if(["x","y"].forEach(Z=>{if(Z==="x"&&J&&!Y.x||Z==="y"&&Q&&!Y.y){const ge={anchor:{...E.anchor},origin:{...E.origin}},it=Z==="x"?W==="y"?kt:Ct:W==="y"?Ct:kt;ge.anchor=it(ge.anchor),ge.origin=it(ge.origin);const{overflows:Ee}=k(ge);(Ee[Z].before<=I[Z].before&&Ee[Z].after<=I[Z].after||Ee[Z].before+Ee[Z].after<(I[Z].before+I[Z].after)/2)&&(E=ge,je=Y[Z]=!0)}}),je)continue}I.x.before&&(C+=I.x.before,_.x+=I.x.before),I.x.after&&(C-=I.x.after,_.x-=I.x.after),I.y.before&&(N+=I.y.before,_.y+=I.y.before),I.y.after&&(N-=I.y.after,_.y-=I.y.after);{const W=Wn(_,V);S.x=V.width-W.x.before-W.x.after,S.y=V.height-W.y.before-W.y.after,C+=W.x.before,_.x+=W.x.before,N+=W.y.before,_.y+=W.y.before}break}const P=Kn(E.anchor);return a.value={side:E.anchor.side,align:E.anchor.align,rect:new Be({x:C,y:N,width:_.width,height:_.height}),offset:[0,0]},Object.assign(o.value,{"--y-levitation-anchor-origin":`${E.anchor.side} ${E.anchor.align}`,transformOrigin:`${E.origin.side} ${E.origin.align}`,top:F(pt(N)),left:i.value?void 0:F(pt(C)),right:i.value?F(pt(-C)):void 0,minWidth:F(P==="y"?Math.min(u.value,y.width):u.value),maxWidth:F(kn(de(S.x,u.value===1/0?0:u.value,d.value))),maxHeight:F(kn(de(S.y,s.value===1/0?0:s.value,m.value)))}),c.value=[Y.x,Y.y],{available:S,contentRect:_,flipped:Y,placement:E}}return n.watch(()=>[e.offset,e.minWidth,e.minHeight,e.maxWidth,e.maxHeight,v.value,h.value],()=>D()),n.nextTick(()=>{const g=D();if(!g)return;const{available:p,contentRect:y}=g;y.height>p.y&&requestAnimationFrame(()=>{D(),requestAnimationFrame(()=>{D()})})}),{updateCoordinate:D,isFlipped:c,preferredAnchor:v,preferredOrigin:h}}function Xn(e){let t;return typeof e=="string"?(t=e.split(" ").map(parseFloat),t.length===1&&t.push(0)):Array.isArray(e)?t=e.map(parseFloat):t=[e,0],t.slice(0,2).map(a=>Number.isNaN(a)||a==null?0:a)}const Yr={levitation:Mr,arrangement:Pr},Et=B({coordinateStrategy:{type:[String,Function],default:"arrangement"},position:{type:String,default:"default"},align:{type:String,default:"start"},origin:{type:String,default:"auto"},offset:{type:[Number,String,Array]},viewportMargin:{type:[Number,String,Array],default:16}},"Coordinate");function Br(e,t){const a=n.ref(),o=n.ref({side:"",align:"",offset:[0,0],rect:{x:0,y:0,width:0,height:0}}),r=n.ref({});ft(()=>!!(t.active.value&&e.coordinateStrategy),i=>{if(n.watch(()=>e.coordinateStrategy,i),n.onScopeDispose(()=>{a.value=void 0}),typeof e.coordinateStrategy=="function")a.value=e.coordinateStrategy(e,t,o,r)?.updateCoordinate;else{const c=Yr[e.coordinateStrategy];a.value=c?.(e,t,o,r)?.updateCoordinate}}),window.addEventListener("resize",l,{passive:!0}),n.onScopeDispose(()=>{window.removeEventListener("resize",l),a.value=void 0});function l(i){a.value?.(i)}return{coordination:o,coordinateStyles:r,updateCoordinate:a}}const Zn=B({minWidth:[Number,String],width:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],height:[Number,String],maxHeight:[Number,String]},"dimension");function $r(e){return{dimensionStyles:n.computed(()=>({minWidth:F(e.minWidth),width:F(e.width),maxWidth:F(e.maxWidth),minHeight:F(e.minHeight),height:F(e.height),maxHeight:F(e.maxHeight)}))}}const Jn="y-layer-group",ce=new WeakMap;function Rr(e){const t=n.getCurrentInstance();ho();const a=n.computed(()=>{let l=document.body;const i=t.root.proxy?.$el;i&&(l=i);const c=n.unref(e.layerGroup);if(typeof c=="string"){const s=document.querySelector(c);s&&(l=s)}c&&c.nodeType===1&&(l=c);let u=l.querySelector(`:scope > .${Jn}`);return u||(u=document.createElement("div"),u.className=Jn,l.appendChild(u)),u});n.watch(a,(l,i)=>{i&&ce.has(i)&&ce.get(i)?.delete(t),ce.has(l)&&ce.get(l)||ce.set(l,new Set),ce.get(l)?.add(t)},{immediate:!0});function o(){const l=[];return ce.get(a.value)?.forEach(c=>{c?.ctx?.active&&!c?.isUnmounted&&l.push(c)}),l}function r(){ce.get(a.value)?.delete(t)}return n.onBeforeUnmount(()=>{r()}),{layerGroup:a,layerGroupState:ce,getActiveLayers:o}}function Lr(){return!0}function Fr(e,t,a){const{value:o}=a,r=typeof o=="function"?o:o.handler;t._complementClick.lastMousedownWasOutside&&Qn(e,t,a)&&setTimeout(()=>{ea(e,a)&&r&&r(e)},0)}function Qn(e,t,a){if(!e||ea(e,a)===!1)return!1;const o=_t(t);if(typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&o.host===e.target)return!1;const r=(typeof a.value=="object"&&a.value.include||(()=>[]))();return r.push(t),!r.some(l=>l?.contains(e.target))}function ea(e,t){const{value:a}=t,o=typeof a=="object"&&a.determine||Lr;return o&&o?.(e)}function ta(e,t){const a=_t(e);t(document),typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&t(a)}const jr={mounted(e,t){const a=l=>Fr(l,e,t),o=l=>{e._complementClick.lastMousedownWasOutside=Qn(l,e,t)};ta(e,l=>{l?.addEventListener("click",a,!0),l?.addEventListener("mousedown",o,!0)}),e._complementClick||(e._complementClick={lastMousedownWasOutside:!0});const r=t.instance.$.uid;e._complementClick[r]={onClick:a,onMousedown:o}},unmounted(e,t){if(!e._complementClick)return;const a=t.instance.$.uid;ta(e,o=>{const r=e._complementClick?.[a];if(r){const{onClick:l,onMousedown:i}=r;o?.removeEventListener("click",l,!0),o?.removeEventListener("mousedown",i,!0)}}),delete e._complementClick[a]}},Kr=B({base:[String,Object,Array],baseProps:Object,pivot:{type:[String,Object,Array]}},"YLayer.base");function Wr(e){const t=n.getCurrentInstance(),a=n.ref(),o=n.ref(),r=n.ref(),l=n.ref(),i=n.computed(()=>{const s=o.value?.[0]?.el;if(s&&s.nodeType===Node.ELEMENT_NODE)return s}),c=n.computed(()=>r.value&&!e.base?r.value:Ot(e.base,t)),u=n.computed(()=>e.pivot==="cursor"&&l.value?l.value:Ot(e.pivot,t)||c.value);return n.watchEffect(()=>{if(!a.value){if(!i.value&&e.base&&!Array.isArray(e.base)){r.value=c.value;return}r.value=i.value;return}let s=a.value;s.baseEl&&(s=s.baseEl),a.value?.$el&&a.value.$el.nodeType===Node.ELEMENT_NODE&&(s=a.value.$el),s?.nodeType!==Node.ELEMENT_NODE&&(s=i.value),r.value=s},{flush:"post"}),n.nextTick(()=>{t?.proxy?.$el&&!c.value&&(r.value=Ot(e.base,t))}),{base$:a,baseEl:r,baseSlot:o,base:c,baseFromSlotEl:i,pivot:u,cursorPoint:l}}function Ot(e,t){if(!e)return;let a;if(e==="parent"){let o=t?.proxy?.$el?.parentNode,r=o;for(;o;){if(o?.hasAttribute("data-base-parent")){r=o;break}o=o.parentNode}a=r}else typeof e=="string"?a=document.querySelector(e):"$el"in e?a=e.$el:a=e;return a}const Hr=B({closeClickContent:{type:Boolean}},"YLayer.content");function zr(e,t){return{contentEvents:n.computed(()=>{const o={};return e.closeClickContent&&(o.onClick=r=>{t.value=!1}),o})}}const Ur=new Nr,na={none:null,close:Xr,block:Zr,reposition:Jr},Gr=B({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in na}},"YLayer__scroll-strategies");function qr(e,t){let a;n.watchEffect(async()=>{a?.stop(),t.active.value&&e.scrollStrategy&&(a=n.effectScope(),await n.nextTick(),a.active&&a.run(()=>{typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,a):na[e.scrollStrategy]?.(t,e,a)}))}),n.onScopeDispose(()=>{a?.stop()})}function Xr(e){function t(a){e.active.value=!1}ra(e.baseEl.value??e.contentEl.value,t)}const At="y-layer--scroll-blocked",aa="y-layer-scroll-blocked",Pt="--y-body-scroll-x",It="--y-body-scroll-y",oa="--y-scrollbar-offset";function Zr(e,t){const a=e.root.value?.offsetParent,o=[...new Set([...Qe(e.baseEl.value,t.contained?a:void 0),...Qe(e.contentEl.value,t.contained?a:void 0)])].filter(i=>!i.classList.contains(aa)),r=window.innerWidth-document.documentElement.offsetWidth,l=(i=>Tt(i)&&i)(a||document.documentElement);l&&e.root.value.classList.add(At),o.forEach((i,c)=>{i.style.setProperty(Pt,F(-i.scrollLeft)??null),i.style.setProperty(It,F(-i.scrollTop)??null),i.style.setProperty(oa,F(r)??null),i.classList.add(At)}),n.onScopeDispose(()=>{o.forEach((i,c)=>{const u=parseFloat(i.style.getPropertyValue(Pt)),s=parseFloat(i.style.getPropertyValue(It));i.style.removeProperty(Pt),i.style.removeProperty(It),i.style.removeProperty(oa),i.classList.remove(aa),i.scrollLeft=-u,i.scrollTop=-s}),l&&e.root.value.classList.remove(At)})}function Jr(e,t,a){let o=!1,r=-1,l=-1;function i(c){Ur.requestNewFrame(()=>{const u=performance.now();e.updateCoordinate.value?.(c),o=(performance.now()-u)/(1e3/60)>2})}l=(typeof requestIdleCallback>"u"?c=>c():requestIdleCallback)(()=>{a.run(()=>{ra(e.baseEl.value??e.contentEl.value,c=>{o?(cancelAnimationFrame(r),r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{i(c)})})):i(c)})})}),n.onScopeDispose(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(l),cancelAnimationFrame(r)})}function ra(e,t){const a=[document,...Qe(e)];a.forEach(o=>{o.addEventListener("scroll",t,{passive:!0})}),n.onScopeDispose(()=>{a.forEach(o=>{o.removeEventListener("scroll",t)})})}const $e=new WeakMap;function Qr(e,t){$e.has(e)||$e.set(e,new Map);const a=$e.get(e);for(const[o,r]of Object.entries(t))if(ln(o)){const l=o[2].toLowerCase()+o.slice(3);a.has(l)&&(e.removeEventListener(l,a.get(l)),a.delete(l)),r&&(e.addEventListener(l,r),a.set(l,r))}else e.setAttribute(o,r)}function el(e,t){const a=$e.get(e);for(const[o,r]of Object.entries(t))if(ln(o)){const l=o[2].toLowerCase()+o.slice(3);a?.has(l)&&(e.removeEventListener(l,a.get(l)),a.delete(l))}else e.removeAttribute(o);a?.size===0&&$e.delete(e)}function tl(e,t){const a={};function o(i){a[i]&&window.clearTimeout(a[i]),delete a[i]}function r(i,c,u){a[i]=window.setTimeout(()=>{const s=i==="openDelay";t?.(s),u(s)},c)}const l=i=>()=>{o("openDelay"),o("closeDelay");const c=e[i]??0;return new Promise(u=>{const s=parseInt(String(c),10);r(i,s,u)})};return{startOpenDelay:l("openDelay"),startCloseDelay:l("closeDelay")}}const nl=B({openOnHover:{type:Boolean,default:!1},openOnFocus:{type:Boolean,default:void 0},openOnClick:{type:Boolean,default:void 0},openOnClickBase:{type:Boolean,default:void 0}},"YLayer.active-event");function al(e,{active:t,children:a,base:o,finish:r,baseSlotEl:l}){const i=n.getCurrentInstance(),c=n.shallowRef(!1),u=n.shallowRef(!1),{startOpenDelay:s,startCloseDelay:d}=tl(e,f=>{!f&&e.openOnHover&&!c.value&&a.value.length===0?t.value=!1:f&&(t.value=!0)}),m=n.computed(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),v=n.computed(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!m.value),h={onMouseenter:f=>{c.value=!0,s()},onMouseleave:f=>{c.value=!1,d()},onClick:f=>{f.stopPropagation();const w=t.value;e.disabled||c.value&&!r.value||(t.value=!w)},onFocus:f=>{s()}},x=n.computed(()=>{const f={};return v.value&&(f.onClick=h.onClick),m.value&&(f.onFocus=h.onFocus),e.openOnHover&&(f.onMouseenter=h.onMouseenter,f.onMouseleave=h.onMouseleave),f});let b;return n.watch(()=>!!e.base,f=>{f&&typeof window<"u"&&(b=n.effectScope(),b.run(()=>{ol(e,i,{base:o,baseEvents:x})}))},{immediate:!0,flush:"post"}),{hovered:c,focused:u,baseEvents:x}}function ol(e,t,{base:a,baseEvents:o}){n.watch(a,(i,c)=>{c&&i!==c&&l(c),i&&n.nextTick(()=>r(i))},{immediate:!0}),n.onScopeDispose(()=>{l()});function r(i=a.value,c=o.value){i&&(Array.isArray(i)||Qr(i,c))}function l(i=a.value,c=o.value){i&&(Array.isArray(i)||el(i,c))}}let rl=0;const X=[];let tt=!1;function la(e){yl(e)}function ll(){tt||(tt=!0,document.addEventListener("click",la,!0))}function il(){tt&&(tt=!1,document.removeEventListener("click",la,!0))}function cl(e){const t=++rl;return X.push({id:t,...e}),ll(),{id:t,unregister:()=>{const a=X.findIndex(o=>o.id===t);a>-1&&X.splice(a,1),X.length===0&&il()}}}function sl(e,t){const a=X.find(o=>o.id===e);a&&Object.assign(a,t)}function ul(){for(let e=X.length-1;e>=0;e--)if(X[e].modal())return X[e].id;return null}function dl(e){return X.some(t=>t.modal()&&t.id!==e)}function fl(e){return X.some(t=>t.modal()&&(t.maximized?.()??!1)&&t.id!==e)}function ml(e,t){return e instanceof Node?t.some(a=>a?.contains(e)):!1}function yl(e){if(X.length===0)return;const t=e.target;for(let a=X.length-1;a>=0;a--)if(ml(t,X[a].els())){ia(a);return}ia(-1)}function ia(e){for(let t=X.length-1;t>e;t--){const a=X[t];if(a.modal()||(a.close(),a.preventCloseBubble()))break}}const ca=Symbol.for("yuyeon.active-stack");function hl(e,t){const a=n.inject(ca,null),o=n.ref([]),r=n.getCurrentInstance(),l=n.ref();let i=null;function c(){return r.exposed}function u(m){o.value.push(m)}function s(m){if(m){const v=o.value.findIndex(h=>h===m);if(v>-1){o.value.splice(v,1);return}}o.value.pop()}function d(){n.unref(c()?.modal)||(t.value=!1)}return n.watch(t,m=>{m?(a?.push(r),e.relayStack!==!1&&(i=cl({els:()=>{const v=c();return[n.unref(v?.baseEl),n.unref(v?.content$)]},modal:()=>!!n.unref(c()?.modal),preventCloseBubble:()=>!!n.unref(c()?.preventCloseBubble),close:d}),l.value=i.id)):(e.relayStack||d(),a?.pop(r),i?.unregister(),i=null,l.value=void 0)}),n.provide(ca,{push:u,pop:s,clear:d,vm:r}),{push:u,pop:s,parent:a,children:o,relayId:l}}function gl(e,t){if(!e||e.type===n.Comment)return!1;const a=e.props??{};return Object.keys(t).some(o=>{const r=a[o];return r?Array.isArray(r)?r.includes(t[o]):r===t[o]:!1})}const Ce=B({modelValue:{type:Boolean},scrim:{type:Boolean},scrimOpacity:{type:Number},eager:{type:Boolean},classes:{type:[Array,String,Object]},contentClasses:{type:[Array,String,Object]},closeClickScrim:{type:Boolean},contentStyles:{type:Object,default:()=>{}},disabled:{type:Boolean,default:!1},maximized:{type:Boolean},openDelay:{type:Number,default:200},closeDelay:{type:Number,default:200},zIndex:{type:[Number,String],default:2e3},contained:Boolean,layerGroup:[String,Object],...nl(),...xe(),...Me(),...Kr(),...Hr(),...Et(),...Gr(),...Zn(),preventCloseBubble:Boolean,closeCondition:{type:[Boolean,Function],default:void 0}},"YLayer"),ne=M({name:"YLayer",inheritAttrs:!1,components:{PolyTransition:Ye},directives:{ComplementClick:jr},props:{modal:Boolean,relayStack:Boolean,...Ce()},emits:{"update:modelValue":e=>!0,"click:complement":e=>!0,afterLeave:()=>!0,afterEnter:()=>!0},slots:Object,setup(e,{emit:t,expose:a,attrs:o,slots:r}){const l=n.getCurrentInstance(),i=n.shallowRef(!1),c=n.toRef(e,"disabled");n.toRef(e,"maximized");const u=n.ref(),s=n.ref(),d=n.ref(),m=K(e),v=n.computed({get:()=>!!m.value,set:G=>{G&&e.disabled||(m.value=G)}}),{themeClasses:h}=Ne(e),{polyTransitionBindProps:x}=Yn(e),{dimensionStyles:b}=$r(e),{base:f,base$:w,baseEl:T,baseSlot:D,baseFromSlotEl:g,pivot:p}=Wr(e),{contentEvents:y}=zr(e,v),{layerGroup:_,layerGroupState:O,getActiveLayers:V}=Rr(e),{children:E,parent:k,relayId:C}=hl(e,v),{hovered:N,focused:S,baseEvents:Y}=al(e,{active:v,children:E,base:f,finish:i,baseSlotEl:g}),{lazyValue:$,onAfterUpdate:P}=br(n.toRef(e,"eager"),v),A=n.computed(()=>!c.value&&($.value||v.value)),{coordination:L,coordinateStyles:I,updateCoordinate:W}=Br(e,{contentEl:s,base:f,active:v,pivot:p});qr(e,{root:d,contentEl:s,active:v,baseEl:f,updateCoordinate:W}),n.watch(v,G=>{G||(i.value=!1,N.value=!1)});function J(G){t("click:complement",G),je(G)&&(e.modal||u.value!==null&&u.value===G.target&&e.closeClickScrim&&(v.value=!1))}function Q(){return(!e.openOnHover||e.openOnHover&&!N.value)&&v.value&&i.value}function je(G){return!(e.closeCondition===!1||typeof e.closeCondition=="function"&&e.closeCondition(G)===!1)}const Z=n.reactive({handler:J,determine:Q,include:()=>[T.value]});function ge(){i.value=!0,t("afterEnter")}function it(){P(),i.value=!1,t("afterLeave")}function Ee(){e.closeClickScrim&&(v.value=!1)}function Vi(G){N.value=!0}function _i(G){N.value=!1}const Ti=n.computed(()=>({zIndex:(e.zIndex??"2000").toString()})),Di=n.computed(()=>{const{classes:G}=e;return{...me(G),"y-layer--active":!!v.value}}),Ei=n.computed(()=>{const G=me(e.contentClasses),{side:ve,align:ct}=L.value;return{...G,[`y-layer--side-${ve}`]:!!ve,[`y-layer--align-${ct}`]:!!ct}});function Oi(){v.value=!1}return a({scrim$:u,base$:w,content$:n.computed(()=>s.value),baseEl:T,active:v,onAfterUpdate:P,updateCoordinate:W,hovered:N,focused:S,finish:i,modal:n.computed(()=>e.modal),preventCloseBubble:e.preventCloseBubble,getActiveLayers:V,isMe:G=>G===l,coordination:L,children:E,parent:k,relayId:C}),R(()=>{const G=r.base?.({active:v.value,props:n.mergeProps({ref:w,class:{"y-layer-base":!0,"y-layer-base--active":v.value}},Y.value,e.baseProps??{})}),ve=G?.[0],ct=gl(ve,Y.value);return D.value=ve&&!ct?[n.cloneVNode(ve,n.mergeProps(ve.props??{},Y.value))]:G,n.createVNode(n.Fragment,null,[D.value,n.createVNode(n.Teleport,{disabled:!_.value,to:_.value},{default:()=>[A.value&&n.createVNode("div",n.mergeProps({ref:d,class:[{"y-layer":!0,"y-layer--finish":i.value,"y-layer--contained":e.contained,...Di.value},h.value],onMouseenter:Vi,onMouseleave:_i,style:Ti.value},o),[n.createVNode(n.Transition,{name:"fade",appear:!0},{default:()=>[v.value&&e.scrim&&n.createVNode("div",{ref:"scrim$",class:"y-layer__scrim",style:{"--y-layer-scrim-opacity":e.scrimOpacity},onClick:Ee,onKeydown:on(),onKeyup:on()},null)]}),n.createVNode(Ye,n.mergeProps({onAfterEnter:ge,onAfterLeave:it,appear:!0},x.value),{default:()=>[n.withDirectives(n.createVNode("div",n.mergeProps({ref:s,class:{"y-layer__content":!0,...Ei.value},style:[{...b.value,...I.value,...e.contentStyles}]},y.value),[r.default?.({active:v.value,close:Oi})]),[[n.vShow,v.value],[n.resolveDirective("complement-click"),{...Z}]])]})])]})])}),{complementClickOption:Z,layerGroup:_,active:v,finish:i,rendered:A,lazyValue:$,onAfterUpdate:P,scrim$:u,content$:s,base:f,base$:w,baseEl:T,baseFromSlotEl:g,polyTransitionBindProps:x,coordinateStyles:I,layerGroupState:O,getActiveLayers:V,coordination:L,baseEvents:Y}}}),sa=B({persistent:{type:Boolean,default:!0},dialogClasses:{type:[Array,String,Object]},focusTrap:{type:[Boolean,String,Object,Array],default:!0},offset:{type:String},...te(Ce({scrim:!0,openOnClick:!0,scrollStrategy:null}),["offset","classes"])},"YDialog"),vl=M({name:"YDialog",components:{YLayer:ne,YCard:et},props:sa(),emits:["update:modelValue","afterEnter","afterLeave"],setup(e,{emit:t,slots:a}){const r=n.getCurrentInstance()?.appContext.config.globalProperties.$yuyeon,l=K(e),i=n.computed(()=>({...me(e.dialogClasses),"y-dialog":!0,"y-dialog--maximized":e.maximized})),c=n.computed(()=>({...e.contentStyles??{},paddingTop:F(e.offset)})),u=n.ref(),s=n.computed(()=>u.value?.children||[]),d=n.computed(()=>u.value?.relayId);n.watch(l,D=>{D?v():h(),f(D)}),n.watch(d,D=>{D!=null&&sl(D,{maximized:()=>e.maximized??!1})}),n.onBeforeMount(()=>{l.value&&(v(),f(!0))}),n.onBeforeUnmount(()=>{h(),l.value&&f(!1)});function m(D){if(e.focusTrap===!1||d.value==null||ul()!==d.value)return;const g=D.relatedTarget,p=D.target,y=e.focusTrap;if(typeof y=="string"&&document.querySelector(y)?.isSameNode(p))return;if(typeof y=="object"){if(Array.isArray(y)){if(y.some(V=>typeof V=="string"?document.querySelector(V)?.isSameNode(p):typeof V=="object"?V?.isSameNode(p):!1))return}else if(y?.isSameNode(p))return}function _(O){return O.some(V=>{if(V?.exposeProxy?.content$?.contains(p))return!0;const k=V?.exposeProxy?.children??[];return _(k)})}if(g!==p&&u.value?.content$&&![document,u.value?.content$].includes(p)&&!u.value?.content$.contains(p)&&!_(s.value)){const V=[...u.value.content$.querySelectorAll('button, [href], input:not([type="hidden"]), select, textarea, [tabindex]:not([tabindex="-1"])')].filter(C=>!C.hasAttribute("disabled")&&!C.matches('[tabindex="-1"]'));if(!V.length)return;const E=V[0],k=V[V.length-1];if(p?.isSameNode(E)||p?.isSameNode(k))return;E===k?k.focus():E.focus()}}function v(){document.addEventListener("focusin",m)}function h(){document.removeEventListener("focusin",m)}const x=n.ref(0),b=n.ref(0);function f(D){const g=r.root,p=d.value??void 0;D?(e.maximized&&document.documentElement.classList.add("y-dialog--prevent-scroll"),g.classList.contains("y-dialog--virtual-scroll")||(x.value=document.documentElement.scrollTop,b.value=document.documentElement.scrollLeft,g.classList.add("y-dialog--virtual-scroll"),g.style.top=F(-1*x.value)||"",g.style.left=F(-1*b.value)||"")):dl(p)?fl(p)||document.documentElement.classList.remove("y-dialog--prevent-scroll"):(document.documentElement.classList.remove("y-dialog--prevent-scroll"),g.classList.remove("y-dialog--virtual-scroll"),g.style.top="",g.style.left="",n.nextTick(()=>{x.value&&(document.documentElement.scrollTop=x.value),b.value&&(document.documentElement.scrollLeft=b.value)}))}function w(){t("afterEnter")}function T(){t("afterLeave")}return R(()=>n.createVNode(ne,n.mergeProps({ref:u,modelValue:l.value,"onUpdate:modelValue":D=>l.value=D,classes:i.value,"content-styles":c.value,modal:!0,relayStack:!0},te(z(e,ne.props),["contentStyles"]),{onAfterEnter:w,onAfterLeave:T}),{default:(...D)=>a.default?.(...D),base:(...D)=>a.base?.(...D)})),{active:l,layer:u,classes:i,children:s,relayId:d}}});function bl(e,t,a){if(typeof e.animate>"u")return Promise.resolve();let o;try{o=e.animate(t,a)}catch{return Promise.resolve()}const r=new Promise(l=>{o.onfinish=()=>{l(o)}});return Object.assign(r,{animation:o}),r}const ke=M({name:"YPlate",props:{variation:Object},setup(){const e=n.computed(()=>({"y-plate":!0}));R(()=>n.createVNode("div",{class:e.value},null))}}),ua={name:"y-snackbar",onBeforeEnter:e=>t=>{if(!t.getAttribute("data-transform")){const a=t.style.getPropertyValue("transform");t.setAttribute("data-transform",a),t.setAttribute("data-direction",e),t.style.setProperty("transform",`${a.replace(/translateY(.+)/,"")} translateY(${e==="top"?"-":""}40px)`)}},onEnter(e,t){const a=e.getAttribute("data-transform"),o=e.getAttribute("data-direction");!o||!a||bl(e,[{transform:`${a.replace(/translateY(.+)/,`translateY(${o==="top"?"-":""}40px)`)}`},{transform:`${a.replace(/translateY(.+)/,"translateY(0)")}`}],{duration:300,easing:"cubic-bezier(0.25, 0.8, 0.5, 1)",fill:"forwards"}).then(()=>{e.removeAttribute("data-transform"),e.removeAttribute("data-direction"),e.style.setProperty("transform",""),t()})}},da=B({...Ce({scrollStrategy:"none",position:"top center"}),modelValue:{type:Boolean},contentClasses:{type:[Array,String,Object]},transition:{type:[String,Object],default:()=>({...ua})},duration:{type:Number,default:4e3},closeClickContent:{type:Boolean,default:!0}},"YSnackbar"),pl=M({name:"YSnackbar",components:{YPlate:ke,YLayer:ne},emits:["update:modelValue","click"],props:{...da()},setup(e,{emit:t,slots:a}){const o=K(e),r=n.ref(!1),l=n.toRef(e,"duration"),{start:i,stop:c,reset:u}=pr(h,l),s=n.computed(()=>({"y-snackbar":!0})),d=n.computed(()=>({...me(e.contentClasses),"y-snackbar__display":!0})),m=n.computed(()=>{const[f,w]=e.position?.split(" ")??[];let T="top",D="left";w?(D=w,T=f):f==="bottom"?T="bottom":D=f;const g={[D==="center"?"left":D]:D==="center"?"50%":0,[T]:0};return D==="center"&&(g.transform="translateX(-50%)"),g}),v=n.computed(()=>{const{transition:f,position:w}=e;return f?.name==="y-snackbar"?(f.onBeforeEnter=ua.onBeforeEnter(w.includes("top")?"top":"bottom"),{...f}):e.transition});n.watch(r,f=>{f?c():x()}),n.watch(()=>e.duration,f=>{!Number.isNaN(f)&&o.value&&(u(),x(),r.value&&c())}),n.watch(o,f=>{f?x():u()},{immediate:!0});function h(){o.value=!1}function x(){e.duration>0&&i()}function b(f){t("click",f),e.closeClickContent&&(o.value=!1)}return R(()=>n.createVNode(ne,n.mergeProps({ref:"layer"},te(z(e,ne.props),["scrim","transition","content-classes","classes"]),{modelValue:o.value,"onUpdate:modelValue":f=>{o.value=f},classes:s.value,"content-classes":d.value,scrim:!1,"content-styles":m.value,transition:v.value}),{default:()=>n.createVNode(n.Fragment,null,[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-snackbar__content",tabindex:0,onKeydown:f=>{f.key==="Enter"&&b(f)},onClick:n.withModifiers(b,["exact"]),onMouseenter:()=>{r.value=!0},onMouseleave:()=>{r.value=!1}},[a.default?.()])])})),{active:o,hover:r,classes:s,computedContentClasses:d,computedInset:m,proxyTransition:v,onClickContent:b}}}),wl="YTooltip",Sl={tooltipClasses:{type:[Array,String,Object]},preventClip:{type:Boolean,default:!0},...Ce({coordinateStrategy:"levitation",scrollStrategy:"reposition",openOnHover:!0,align:"center",offset:8}),...Me({transition:"fade"})},fa=B(Sl,"YTooltip"),xl=M({name:wl,props:{...fa()},emits:["update:modelValue"],setup(e,{slots:t,emit:a,expose:o}){const r=K(e),l=n.ref(),i=n.ref(),c=n.computed({get:()=>!!r.value,set:h=>{h&&e.disabled||(r.value=h)}}),u=n.computed(()=>l.value?.children||[]),s=n.computed(()=>l.value?.parent),d=n.computed(()=>l.value?.baseEl),m=n.computed(()=>({...me(e.tooltipClasses),"y-tooltip":!0}));n.computed(()=>!!l.value?.hovered),n.watch(c,h=>{h&&n.nextTick(()=>{const x=l.value?.content$;i.value=x})});function v(h){if(c.value){u.value.length===0&&(c.value=!1);const x=s.value?.content$,b=s.value?.modal;!e.preventCloseBubble&&!(x&&!xr(h,x))&&!b&&s.value?.clear()}}return o({layer$:l,baseEl:d}),R(()=>n.createVNode(ne,n.mergeProps({ref:l},te(z(e,ne.props),["scrim"]),{classes:m.value,scrim:!1,transition:e.transition,"onClick:complement":v,modelValue:c.value,"onUpdate:modelValue":h=>c.value=h}),{default:(...h)=>n.createVNode(n.Fragment,null,[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-tooltip__content"},[t.default?.(...h)??""])]),base:(...h)=>t.base?.(...h)})),{layer$:l,el$:l,baseEl:d,active:c}}});function ma(e=!1){const a=`expand-${e?"h":"v"}-transition`,o=e?"width":"height",r=rn(`offset-${o}`);function l(i,c){function u(d){if(d._originStyle){d.style.overflow=d._originStyle.overflow,d.style.flex=d._originStyle.flex;const m=d._originStyle[o];m!=null&&(d.style[o]=m)}delete d._originStyle}function s(d){if(c&&d){const m=d.getBoundingClientRect();i.value=m?.[o]}}return{onBeforeEnter(d){d._parent=d.parentNode,d._originStyle={transition:d.style.transition,overflow:d.style.overflow,[o]:d.style[o],flex:d.style.flex}},onEnter(d){const m=d._originStyle;d.style.setProperty("transition","none","important"),d.style.overflow="hidden",d.style.flex="0 0 auto";const v=`${d[r]}px`;c&&i.value!=null?d.style[o]=`${i.value}px`:d.style[o]="0",d.getBoundingClientRect(),d.style.transition=m?.transition??"",requestAnimationFrame(()=>{d.style[o]=v})},onAfterEnter(d){u(d)},onEnterCancelled(d){u(d)},onLeave(d){s(d),!c&&(d._originStyle={transition:"",overflow:d.style.overflow,flex:d.style.flex,[o]:d.style[o]},d.style.overflow="hidden",d.style.flex="0 0 auto",d.style[o]=`${d[r]}px`,d.getBoundingClientRect(),requestAnimationFrame(()=>{d.style[o]="0"}))},onAfterLeave(d){u(d)},onLeaveCancelled(d){u(d)}}}return n.defineComponent({name:a,props:{disabled:{type:Boolean,default:!1},relay:Boolean},setup(i,{slots:c}){const u=n.ref();return()=>n.h(n.Transition,{name:i.disabled?"":a,css:!i.disabled,...i.disabled?{}:l(u,i.relay)},c.default)}})}const ya=ma(!1),Nl=ma(!0),Cl=n.defineComponent({name:"YDividePanel",setup(e,{slots:t}){const a=n.ref(50),o=n.ref(!1),r=n.ref(),l=n.ref(!1),i=n.ref();n.watch(r,x=>{l.value=!!x});const c=n.computed(()=>{let x="0 0";return l.value&&(x=`0 0 ${100-a.value}% 0`),{position:"absolute",inset:x}}),u=n.computed(()=>({"y-divide-panel":!0,"y-divide-panel--resizing":o.value}));function s(x){const b=x,f=i.value.getBoundingClientRect();requestAnimationFrame(()=>{a.value=Math.min(Math.max(10,(b.clientY-f.y)/f.height*100),90)})}function d(){o.value=!1,i.value.removeEventListener("mousemove",s),i.value.removeEventListener("mouseup",m),i.value.removeEventListener("mouseleave",v)}function m(x){d()}function v(x){d()}function h(x){x.preventDefault(),o.value=!0,i.value.addEventListener("mousemove",s),i.value.addEventListener("mouseup",m),i.value.addEventListener("mouseleave",v)}return R(()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{class:u.value,ref:i},[n.createVNode("div",{class:"y-divide-panel__top-container",style:c.value},[t.default?.()]),r.value=t.secondary&&n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"y-divide-panel__divider",style:{position:"absolute",inset:`${a.value}% 0 0 0`},onMousedown:h},[n.createVNode("div",{class:"y-divide-panel__divider-line"},null)]),n.createVNode("div",{class:"y-divide-panel__secondary-container",style:{position:"absolute",inset:`${a.value}% 0 0 0`}},[t.secondary?.()])])])])),{activeSecondary:l}}}),Mt=B({items:{type:Array,default:()=>[]},itemKey:{type:String,default:"key"},itemText:{type:String,default:"text"},itemChildren:{type:[Boolean,String],default:"children"}},"abstract.items"),ha=Symbol.for("YTreeView");function kl(e){const t=n.ref({}),a=K(e,"expanded"),o=K(e,"active"),r=K(e,"selected"),l=n.ref(new Set),i=n.ref(new Set),c=n.ref(new Set),u=n.shallowRef(!1),s=n.ref(new Set),d=n.computed(()=>{let V=!1,E=!1;return(k,C)=>(V=C.every(N=>i.value.has(N)),E=m(k).some(N=>i.value.has(N)),{all:V,some:E})});function m(V){const E=[],{childKeys:k}=t.value[V];E.push(...k);const C=k.slice();for(;C.length>0;){const N=C.splice(0,1)[0],S=t.value[N];S&&(E.push(...S.childKeys),C.push(...S.childKeys))}return E}function v(V){return!!e.search&&s.value.has(V)}function h(V){const E=t.value[V];E?.vnode&&(E.vnode.active=E.active,E.vnode.selected=E.selected,E.vnode.indeterminate=E.indeterminate,E.vnode.expanded=E.expanded)}function x(V,E){if(!(V in t.value))return;const k=t.value[V],C=H(k.item,e.itemChildren);Array.isArray(C)&&C.length>0&&(E?l.value.add(V):l.value.delete(V),k.expanded=E,h(V))}function b(V,E,k){if(!(V in t.value))return;const C=t.value[V];let N=E?"":V;if(!e.multipleActive&&E&&!c.value.has(V)&&([N]=[...c.value]),E)c.value.add(V),C.active=!0,h(V);else if(e.requiredActive&&c.value.size===1&&V===N){h(V);return}if(N&&N in t.value&&(c.value.delete(N),t.value[N].active=!1,h(N)),!(e.activeSingleModifier&&k?.getModifierState(e.activeSingleModifier))&&e.multipleActive&&(!e.onlyEventActiveStrategy||e.onlyEventActiveStrategy&&k)&&(e.activeStrategy==="cascade"||e.activeStrategy==="relative")){for(const S of m(V))S in t.value&&D(S,E);if(e.activeStrategy==="relative"){let S=C.parentKey;do{const Y=S;if(S=null,!Y)continue;const $=t.value[Y];if(!$)continue;(w(Y,"active",E)||!E)&&(D(Y,E),$.parentKey&&(S=$.parentKey))}while(S!=null)}}}function f(V,E){if(!(V in t.value))return;const k=t.value[V];if(E&&(e.selectStrategy!=="leaf"?i.value.add(V):k.childKeys.length||i.value.add(V),k.selected=!0),!E&&V in t.value&&(i.value.delete(V),t.value[V].selected=!1,h(V)),e.selectStrategy==="cascade"||e.selectStrategy==="relative"||e.selectStrategy==="leaf"){for(const C of m(V))if(C in t.value){if(e.selectStrategy==="leaf"&&t.value[C]?.childKeys?.length&&E)continue;g(C,E)}if(e.selectStrategy==="relative"||e.selectStrategy==="leaf"&&!E){let C=k.parentKey;do{const N=C;if(C=null,!N)continue;const S=t.value[N];if(!S)continue;(w(N,"selected",E)||!E)&&(g(N,E),S.parentKey&&(C=S.parentKey))}while(C!=null)}}}function w(V,E,k){const C=t.value[V];if(!C)return!1;const{childKeys:N}=C;return N.every(S=>t.value[S]?.[E]===k)}function T(V,E){const k=t.value[V];if(!k)return!1;const{childKeys:C}=k;return C.some(N=>t.value[N]?.[E]===!0)}function D(V,E){E?c.value.add(V):c.value.delete(V),t.value[V].active=E,h(V)}function g(V,E){E?i.value.add(V):i.value.delete(V),t.value[V].selected=E,h(V)}function p(){const V=[...l.value];a.value=e.returnItem?V.map(E=>t.value[E].item):V}function y(){const V=[...c.value];o.value=e.returnItem?V.map(E=>t.value[E].item):V}function _(){const V=[...i.value];r.value=e.returnItem?V.map(E=>t.value[E].item):V}function O(V,E){t.value[V]&&(t.value[V].vnode=E),h(V)}return n.provide(ha,{register:O,updateExpanded:x,updateActive:b,updateSelected:f,searchLoading:u,isExcluded:v,emitExpanded:p,emitActive:y,emitSelected:_,isChildrenAll:w,isChildrenSome:T,selectedState:d}),{nodes:t,expanded:a,active:o,selected:r,issueVnodeState:h,updateExpanded:x,updateActive:b,updateSelected:f,emitExpanded:p,emitActive:y,emitSelected:_,expandedSet:l,selectedSet:i,activeSet:c,searchLoading:u,excludedSet:s,isExcluded:v,selectedState:d}}function Vl(){const e=n.inject(ha);if(!e)throw new Error("Not found provided YTreeView");return e}const se=M({name:"YIconCheckbox",props:{checked:Boolean,indeterminate:Boolean,disabled:Boolean},render(){return n.createVNode("svg",{role:"presentation",class:["y-icon-checkbox",{"y-icon-checkbox--checked":this.checked,"y-icon-checkbox--indeterminate":this.indeterminate,"y-icon-checkbox--disabled":this.disabled}],xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[n.createVNode("path",{class:"y-icon-checkbox__border-path",d:"M 15.525 21.825 H 8.325 C 4.851 21.825 2.025 18.999 2.025 15.525 V 8.325 C 2.025 4.851 4.851 2.025 8.325 2.025 H 15.525 C 18.999 2.025 21.825 4.851 21.825 8.325 V 15.525 C 21.825 18.999 18.999 21.825 15.525 21.825 Z"},null),n.createVNode("path",{class:"y-icon-checkbox__checkmark-path",fill:"none",d:this.indeterminate?"M5.73,11.91 11.1,11.91 17.79,11.91":"M5.73,11.91 11.1,16.28 17.79,7.59"},null)])}}),_l=M({name:"YIconDropdown",setup(){return()=>n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"M7,10L12,15L17,10H7Z",fill:"currentColor"},null)])}}),Re=M({name:"YIconExpand",setup(){return()=>n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:"m9.6086 5.7953 13.557 10.269-13.557 10.141",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"4.1024"},null)])}}),nt={next:"m12.18 23.585 7.6399-7.5489-7.4693-7.622",prev:"m19.82 23.585-7.6399-7.5489 7.4693-7.622",last:"m10.488 23.812 7.4981-7.7457-7.3307-7.8207m0 0zm10.856-0.075007v15.659",first:"m21.512 23.812-7.4981-7.7457 7.3307-7.8207m0 0zm-10.856-0.075007v15.659"},ue=M({name:"YIconPageControl",props:{type:{type:String,default:"next"}},render(){return n.createVNode("svg",{role:"presentation",version:"1.1",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg"},[n.createVNode("path",{d:this.$props.type in nt?nt[this.$props.type]:nt.next,fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3"},null)])}}),Yt=M({name:"YIconSort",props:{direction:{type:String},disabled:{type:Boolean}},render(){return n.createVNode("svg",{role:"presentation",version:"1.1",width:"16",height:"16",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",class:["y-icon-sort",{"y-icon-sort--disabled":this.disabled,"y-icon-sort--asc":this.direction==="asc","y-icon-sort--desc":this.direction==="desc"}]},[n.createVNode("path",{d:"m8.4146 12.52 7.5489-7.6399 7.622 7.4693",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",class:"y-icon-sort__asc"},null),n.createVNode("path",{d:"m8.4146 19.48 7.5489 7.6399 7.622-7.4693",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",class:"y-icon-sort__desc"},null)])}}),ga={expand:Re,dropdown:_l,clear:wt,checkbox:se,pageControl:ue,next:{component:ue,props:{type:"next"}},prev:{component:ue,props:{type:"prev"}},sort:Yt},va=M({name:"YTextHighlighter",props:{text:{type:String},keyword:{type:String},color:{type:String},sensitive:{type:Boolean}},computed:{splitText(){const{keyword:e,text:t}=this;if(e&&t){const a=[];let o=t;const r=new RegExp(wo(e),this.sensitive?"":"i");for(;o.length>0;){const l=o.search(r);l<0?(a.push({text:o,isKeyword:!1}),o=""):l<1?(a.push({text:o.substring(0,e.length),isKeyword:!0}),o=o.substring(e.length,o.length)):(a.push({text:o.substring(0,l),isKeyword:!1}),a.push({text:o.substring(l,l+e.length),isKeyword:!0}),o=o.substring(l+e.length,o.length))}return a}return[{text:this.text||"",isKeyword:!1}]}},methods:{createItem(e){return n.h("span",{staticClass:"y-text-highlighter__item"},[e])},createHighlightKeywordItem(e){return n.h("span",{staticClass:"y-text-highlighter__item",class:"y-text-highlighter__item--highlight",style:{backgroundColor:this.color}},[e])},createSplitTexts(){return this.splitText.map(e=>e.isKeyword?this.createHighlightKeywordItem(e.text):this.createItem(e.text))}},render(){const e=this.createSplitTexts();return n.h("span",{staticClass:"y-text-highlighter"},e)}}),Bt=B({search:String,disableTransition:Boolean,enableActive:Boolean,activeStrategy:{type:String,default:"independent"},activeClass:[String,Array],activeSingleModifier:String,requiredActive:Boolean,activeColor:{type:String,default:"primary"},enableSelect:Boolean,selectStrategy:{type:String,default:"relative"},onMouseenterContainer:Function,onMouseleaveContainer:Function,onMousemoveContainer:Function,onDblclickContainer:Function,itemSelectable:{type:[String,Array,Function]},...Mt({itemKey:"id"})},"YTreeViewNode"),ba=M({name:"YTreeNode",components:{YButton:U,YIconExpand:Re,YPlate:ke,YIconCheckbox:se},props:{item:{type:Object},level:{type:Number,default:0},...Bt()},slots:Object,setup(e,{slots:t,expose:a}){const o=n.resolveComponent("YTreeViewNode",!0),r=Vl(),l=n.ref(),i=n.ref(!1),c=n.ref(!1),u=n.ref(!1),s=n.ref(!1),d=n.computed(()=>H(e.item,e.itemKey)),m=n.computed(()=>(H(e.item,e.itemChildren)??[]).slice()),v=n.computed(()=>m.value.length<1),h=n.computed(()=>r.searchLoading.value),x=n.computed(()=>m.value.filter(P=>!r.isExcluded(H(P,e.itemKey)))),b=n.computed(()=>r.selectedState.value(d.value,m.value.map(P=>H(P,e.itemKey)))),f=n.computed(()=>!!m.value?.length&&b.value.all),w=n.computed(()=>(e.selectStrategy==="relative"||e.selectStrategy==="leaf")&&(m.value?.length??0)>0&&!f.value&&b.value.some),T=n.computed(()=>u.value||e.selectStrategy==="leaf"&&f.value),D=n.computed(()=>({"y-tree-view-node":!0,"y-tree-view-node--leaf":v.value,"y-tree-view-node--expanded":i.value,"y-tree-view-node--active":c.value})),g=n.computed(()=>({"--tree-view-node--level":e.level})),p=n.computed(()=>H(e.item,e.itemText)??""),y=n.computed(()=>{if(e.itemSelectable!=null){let P=!0;return typeof e.itemSelectable=="function"?P=!!e.itemSelectable(e.item):Array.isArray(e.itemSelectable)?P=e.itemSelectable.includes(d.value):P=le(e.item,e.itemSelectable,!0),!P}return!1}),_=n.computed(()=>({level:e.level,imLeaf:v.value,toggleActive:O}));n.watch(w,P=>{s.value=P});function O(P){const A=!c.value;c.value=A,r.updateActive(d.value,A,P),r.emitActive()}function V(P){O(P)}function E(P){P.stopPropagation();const A=!i.value;i.value=A,r.updateExpanded(d.value,A),r.emitExpanded()}function k(P){if(P.stopPropagation(),y.value)return;const A=!T.value;u.value=A,r.updateSelected(d.value,A),r.emitSelected()}function C(P){e.onMouseenterContainer?.(P,{..._.value,item:e.item})}function N(P){e.onMouseleaveContainer?.(P,{..._.value,item:e.item})}function S(P){e.onMousemoveContainer?.(P,{..._.value,item:e.item})}function Y(P){e.onDblclickContainer?.(P,{..._.value,item:e.item,toggleExpand:()=>E(P)})}R(()=>{const P=[];for(let A=0;A<e.level;A+=1)P.push(n.createVNode("div",{class:"y-tree-view-node__indent-spacer"},null));return n.createVNode("div",{class:D.value,style:g.value,role:"treeitem","data-level":e.level},[n.createVNode("div",{ref:l,class:"y-tree-view-node__container",onClick:A=>e.enableActive?V(A):void 0,onMouseenter:e.onMouseenterContainer&&C,onMouseleave:e.onMouseleaveContainer&&N,onMousemove:e.onMousemoveContainer&&S,onDblclick:Y},[n.createVNode(ke,null,null),n.createVNode("div",{class:"y-tree-view-node__indents"},[P]),!v.value&&x.value.length>0?n.createVNode(U,{class:"y-tree-view-node__expand-icon",variation:"icon",onClick:E},{default:()=>[t["expand-icon"]?t["expand-icon"]():n.createVNode(Re,null,null)]}):n.createVNode("i",{class:"y-tree-view-node__no-expand-icon"},null),e.enableSelect&&n.createVNode("div",{class:["y-tree-view-node__select",{"y-tree-view-node__select--disabled":y.value}],role:"checkbox","aria-checked":T.value,onClick:k},[n.createVNode(se,{checked:T.value,indeterminate:!u.value&&w.value,disabled:y.value},null)]),n.createVNode("div",{class:"y-tree-view-node__content"},[t.leading&&n.createVNode("div",{class:"y-tree-view-node__leading"},[t.leading(_.value)]),n.createVNode("div",{class:"y-tree-view-node__text"},[t.default?t.default?.({text:p.value,item:e.item,..._.value}):e.search&&!h.value?n.createVNode(va,{text:p.value,keyword:e.search},null):p.value]),t.trailing&&n.createVNode("div",{class:"y-tree-view-node__trailing"},[t.trailing(_.value)])])]),m.value.length>0&&n.createVNode(ya,{disabled:e.disableTransition},{default:()=>[i.value&&n.createVNode("div",{class:["y-tree-view-node__leaves"],role:"tree"},[x.value.map(A=>n.createVNode(o,n.mergeProps(n.mergeProps(e),{key:H(A,e.itemKey),level:(e.level??0)+1,item:A}),{default:t.default&&((...L)=>t.default?.(...L)),"expand-icon":t["expand-icon"]&&((...L)=>t["expand-icon"]?.(...L)),leading:t.leading&&((...L)=>t.leading?.(...L)),trailing:t.trailing&&((...L)=>t.trailing?.(...L))}))])]})])});const $={myKey:d,expanded:i,active:c,selected:u,indeterminate:s};return a($),n.onBeforeMount(()=>{r?.register?.(d.value,$)}),{treeView:r,myKey:d,expanded:i,active:c,selected:u,indeterminate:s,childrenSelection:b}}});function Tl(e,t,a){const o=[],r=e.slice();for(;r.length>0;){const l=r.splice(0,1),i=H(l,t);o.push(i);const c=H(l,a);Array.isArray(c)&&r.push(...c)}return o}function Dl(e,t,a){return H(e,a)?.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())>-1}function pa(e,t,a,o,r,l,i){const c=H(t,l);if(c){let u=!1;for(let s=0;s<c.length;s++)pa(e,c[s],a,o,r,l,i)&&(u=!0);if(u)return!0;if(e(t,a,r))return!0}else if(e(t,a,r))return!0;return i.add(H(t,o)),!1}const wa=Bt(),El=n.defineComponent({name:"YTreeView",props:{expanded:{type:[Array],default:()=>[]},active:{type:[Array],default:()=>[]},multipleActive:Boolean,onlyEventActiveStrategy:Boolean,selected:{type:[Array],default:()=>[]},returnItem:Boolean,defaultExpand:[Boolean,String,Number],filter:Function,searchDebounceWait:{type:Number,default:700},...wa},emits:["update:expanded","update:active","update:selected","mouseenterContainer","mouseleaveContainer","mousemoveContainer","dblclickContainer"],setup(e,{slots:t,expose:a}){const o=n.shallowRef(Vt(y,e.searchDebounceWait)),r=n.ref([]),{nodes:l,expanded:i,active:c,selected:u,expandedSet:s,selectedSet:d,activeSet:m,searchLoading:v,excludedSet:h,issueVnodeState:x,updateExpanded:b,updateActive:f,updateSelected:w,emitExpanded:T,emitActive:D,emitSelected:g,isExcluded:p}=kl(e);function y(S,Y="",$=Dl){const P=new Set;if(!Y){v.value=!1,h.value=P,sn(r.value,[...s.value]).forEach(L=>{b(L,!1)}),r.value.forEach(L=>{b(L,!0)});return}for(const A of S)pa($,A,Y??"",e.itemKey,e.itemText,e.itemChildren,P);h.value=P,v.value=!1,V()}n.watch(()=>e.search,()=>{v.value=!0,o.value(e.items,e.search,e.filter)});function _(S){return e.returnItem?H(S,e.itemKey):S}function O(S,Y=null,$=0){for(const P of S){const A=H(P,e.itemKey),L=H(P,e.itemChildren)??[],W=Object.hasOwn(l.value,A)?l.value[A]:{vnode:null,selected:u.value?.includes(A)??!1,indeterminate:!1,active:c.value?.includes(A)??!1,expanded:i.value?.includes(A)??!1},J={vnode:W.vnode,item:P,level:$,parentKey:Y,childKeys:L.map(Q=>H(Q,e.itemKey)),expanded:L.length>0&&W.expanded,active:W.active,indeterminate:W.indeterminate,selected:W.selected};O(L,A,$+1),l.value[A]=J,l.value[A].expanded&&s.value.add(A),l.value[A].selected&&d.value.add(A),l.value[A].active&&m.value.add(A),x(A)}}n.watch(s,S=>{e.search||(r.value=[...S])},{deep:!0});function V(S=!0){return Object.entries(l.value).forEach(([Y,$])=>{(S===!0||Number(S)>=$.level)&&b(Y,!0)}),T(),s.value}function E(S,Y,$,P){const A=e.returnItem?S.map(I=>H(I,e.itemKey)):S,L=[...Y.value];ie(L,A)||(L.forEach(I=>{$(I,!1)}),A.forEach(I=>{$(I,!0)}),P())}n.watch(i,S=>{E(S,s,b,T)}),n.watch(c,S=>{E(S,m,f,D)}),n.watch(u,S=>{E(S,d,w,g)}),n.watch(()=>e.items,S=>{const Y=Object.keys(l.value).map(I=>H(l.value[I].item,e.itemKey)),$=Tl(S,e.itemKey,e.itemChildren),P=sn(Y,$);if(P.length<1&&$.length<Y.length)return;P.forEach(I=>{delete l.value[I]});const A=[...d.value],L=[...m.value];d.value.clear(),s.value.clear(),m.value.clear(),O(S),ie(A,[...d.value])||g(),ie(L,[...m.value])||D(),o.value(S,e.search,e.filter)},{deep:!0,flush:"sync"}),O(e.items);const k=n.computed(()=>e.items.slice().filter(S=>!p(H(S,e.itemKey)))),C=n.computed(()=>({"y-tree-view":!0})),N=n.computed(()=>{let S=e.activeColor;return e.activeColor&&!Se(e.activeColor)&&(S=`var(--y-theme-${e.activeColor})`),{"--y-tree-view__active-color":S}});return n.onMounted(()=>{e.search&&(v.value=!0,y(e.items,e.search,e.filter)),e.defaultExpand!=null&&e.defaultExpand!==!1?r.value=[...V(e.defaultExpand)]:(i.value.forEach(S=>{b(_(S),!0)}),T());for(const S of e.active.map(_))f(S,!0);for(const S of e.selected.map(_))w(S,!0)}),a({expand:V}),R(()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{class:C.value,style:N.value,role:"tree"},[v.value&&n.createVNode($n,{indeterminate:!0},null),k.value.length>0?k.value.slice().map(S=>n.createVNode(ba,n.mergeProps({key:H(S,e.itemKey)},{...z(e,wa),item:S,level:0}),t)):n.createVNode("div",{class:"y-tree-view__no-data"},[t["no-data"]?t["no-data"]():n.createVNode("span",null,[n.createTextVNode("No Data")])])])])),{nodes:l,expandedSet:s,selectedSet:d,activeSet:m,excludedSet:h,searchLoading:v,expandedCache:r,renderLeaves:k}}}),Sa=B({tag:{type:[String,Object],default:"div"},onClick:Function,disabled:Boolean,...xe()},"YListItem"),$t=M({name:"YListItem",props:{...Sa()},emits:{click:e=>!0},slots:Object,setup(e,{slots:t,emit:a}){const{themeClasses:o}=Ne(e);function r(i){a("click",i)}const l=n.computed(()=>!e.disabled&&!!e.onClick);R(()=>{const i=e.tag;return n.createVNode(i,{class:["y-list-item",{"y-list-item--pointer":l.value,"y-list-item--disabled":e.disabled},o.value],onClick:r},{default:()=>[t.leading&&n.createVNode("div",{class:"y-list-item__leading"},[t.leading()]),n.createVNode("div",{class:"y-list-item__content"},[t.default?.()]),t.trailing&&n.createVNode("div",{class:"y-list-item__trailing"},[t.trailing()])]})})}}),xa=B({disabled:Boolean,...xe()},"YList"),Rt=M({name:"YList",props:{...xa()},setup(e,{slots:t,attrs:a}){const o=n.ref(),{themeClasses:r}=Ne(e),l=n.shallowRef(!1);function i(d){!l.value&&(d.relatedTarget&&o.value?.contains(d.relatedTarget))}function c(d){l.value=!0}function u(d){l.value=!1}function s(d){}R(()=>n.createVNode("div",n.mergeProps({ref:o,class:["y-list",r.value],role:"listbox",tabindex:a.tabindex??(e.disabled||l.value?-1:0),onFocus:i,onFocusin:c,onFocusout:u,onKeydown:s},a),[t.default?.()]))}});function Ol(){const e=n.ref(),t=n.ref(),a=n.shallowRef(),o=n.shallowRef(),r=n.shallowRef(),l=Vt(c,100),{resizeObservedRef:i}=pe(u=>{l(u)});function c(u){if(a.value=u?.[0]?.contentRect,t.value){const s=t.value.getBoundingClientRect();if(s){const d={};for(const m in s)typeof s[m]!="function"&&(d[m]=s[m]);o.value={...d,clientWidth:t.value?.clientWidth??0}}}if(e.value){const s=e.value?.getBoundingClientRect();s&&(r.value=s)}}return n.watch(e,u=>{if(u){const s=i.value;t.value=s.querySelector(".y-table__wrapper")||void 0}}),{containerRef:i,wrapperRef:t,tableRef:e,containerRect:a,wrapperRect:o,tableRect:r}}const Na=Symbol.for("y-table"),Lt=Symbol.for("y-data-table"),Ft=B({tag:{type:String,default:"div"},fixedHead:{type:Boolean},height:{type:[Number,String]},flexHeight:{type:Boolean},onScroll:Function},"YTable"),Ve=M({name:"YTable",props:{...Ft()},emits:["scroll"],setup(e,{slots:t,emit:a}){const{containerRef:o,tableRef:r,containerRect:l,wrapperRef:i,wrapperRect:c}=Ol();n.provide(Na,{containerRect:l,tableRef:r,wrapperRef:i,wrapperRect:c});function u(s){a("scroll",s)}R(()=>{const s=e.tag??"div",d=e.flexHeight?l.value?.height??e.height:e.height;return n.createVNode(s,{class:["y-table",{"y-table--fixed-head":e.fixedHead,"y-table--fixed-height":e.flexHeight||e.height,"y-table--flex-height":e.flexHeight}],style:{"--y-table-container-width":F(l.value?.width),"--y-table-wrapper-width":F(c.value?.width)}},{default:()=>[t.top?.(),t.default?n.createVNode("div",{ref:o,class:["y-table__container"]},[t.leading?.(),n.createVNode("div",{class:["y-table__wrapper"],style:{height:F(d)},onScroll:u},[n.createVNode("table",{ref:r},[t.default()])]),t.trailing?.()]):t.container?.(o,l),t.bottom?.()]})})}}),Al=B({enableExpand:Boolean,expanded:{type:Array,default:()=>[]}},"YDataTable--expand"),jt=Symbol.for("yuyeon.data-table.expand");function Ca(e){const t=K(e,"expanded",e.expanded??[],l=>new Set(l),l=>[...l]);function a(l){return t.value.has(l.value)}function o(l,i){const c=new Set(t.value);i?c.add(l.value):c.delete(l.value),t.value=c}function r(l){o(l,!a(l))}return n.provide(jt,{expands:t,isExpanded:a,expand:o,toggleExpand:r}),{expands:t,isExpanded:a,expand:o,toggleExpand:r}}function ka(){const e=n.inject(jt);if(!e)throw new Error(`Not provided: ${jt.description}`);return e}const Pl=B({headers:{type:Array,default:()=>[]}},"YDataTable--header"),Kt=Symbol.for("yuyeon.data-table.header");function Va(e,t){const a=n.ref([]),o=n.ref([]);n.watchEffect(()=>{const l=e.headers?.length?[e.headers]:[],i=l.flatMap((h,x)=>h.map(b=>({column:b,rowIndex:x}))),c=l.length,s={...{text:"",sortable:!1},width:48};if(t?.enableSelect?.value){const h=i.findIndex(({column:x})=>x.key==="data-table-select");if(h<0){const x=i.some(({column:b})=>b?.fixed===!0||b?.fixed==="left");i.unshift({column:{...s,key:"data-table-select",rowspan:c,fixed:x},rowIndex:0})}else i.splice(h,1,{column:{...s,...i[h].column},rowIndex:i[h].rowIndex})}const d=fe(c).map(()=>[]),m=fe(c).fill(0);i.forEach(({column:h,rowIndex:x})=>{const{key:b}=h;for(let f=x;f<=x+(h.rowspan??1)-1;f+=1)d[f].push({...h,key:b,fixedOffset:m[f],sortable:h.sortable??!!b}),m[f]+=Number(h.width??0)}),d.forEach(h=>{for(let f=h.length-1;f>=0;f--)if(h[f].fixed===!0||h[f].fixed==="left"){h[f].lastFixed=!0;break}const x=h.filter(f=>f.fixed==="right");let b=0;for(let f=x.length-1;f>=0;f--)x[f].rightOffset=b,b+=Number(x[f].width??0),f===0&&(x[f].lastFixed=!0)});const v=new Set;a.value=d.map(h=>{const x=[];for(const b of h)v.has(b.key)||(v.add(b.key),x.push(b));return x}),o.value=d[d.length-1]||[]});const r={headers:a,columns:o};return n.provide(Kt,r),r}function Wt(){const e=n.inject(Kt);if(!e)throw new Error(`Not provided: ${Kt.description}`);return e}const Il=B({items:{type:Array,default:()=>[]},itemKey:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},returnItem:Boolean},"YDataTable--items");function Ml(e,t,a,o){const r=n.ref(null),l=le(t,e.itemKey),i=e.returnItem?t:l;let c;typeof e.itemSelectable=="function"?c=!!e.itemSelectable(t):c=le(t,e.itemSelectable,!0);const u=o.reduce((d,m)=>(d[m.key]=le(t,m.value??m.key),d),{});function s(d){r.value=d}return{index:a,key:l,value:i,selectable:c,columns:u,raw:t,rowRef:r,_bindRowRef:s}}function Yl(e,t,a){return t.map((o,r)=>Ml(e,o,r,a))}function _a(e,t){return{items:n.computed(()=>Yl(e,e.items,t.value))}}function Ta({page:e,pageSize:t,sortBy:a,search:o},r){const l=n.computed(()=>({page:e.value,pageSize:t.value,sortBy:a.value,search:o.value}));n.watch(()=>o?.value,()=>{e.value=1});let i=null;n.watch(l,()=>{ie(i,l.value)||(r("update:options",l.value),i=l.value)},{deep:!0,immediate:!0})}const Bl=Symbol.for("yuyeon.data-table.pagination"),$l=B({page:{type:[Number,String],default:1},pageSize:{type:[Number,String],default:10}},"YDataTable--pagination");function Da(e){const t=K(e,"page",void 0,o=>+(o??1)),a=K(e,"pageSize",void 0,o=>+(o??10));return{page:t,pageSize:a}}function Ea(e){const{page:t,pageSize:a,total:o}=e,r=n.computed(()=>a.value===-1?0:a.value*(t.value-1)),l=n.computed(()=>a.value===-1?o.value:Math.min(o.value,r.value+a.value)),i=n.computed(()=>a.value===-1||o.value===0?1:Math.ceil(o.value/a.value));n.watch([t,i],()=>{t.value>i.value&&(t.value=i.value)});function c(v,h){a.value=v,h||(t.value=1)}function u(){t.value=de(t.value+1,1,i.value)}function s(){t.value=de(t.value-1,1,i.value)}function d(v){t.value=de(v,1,i.value)}const m={page:t,pageSize:a,startIndex:r,endIndex:l,pageLength:i,total:o,nextPage:u,prevPage:s,setPage:d,setPageSize:c};return n.provide(Bl,m),m}function Rl(e){const{items:t,startIndex:a,endIndex:o,pageSize:r}=e;return{paginatedItems:n.computed(()=>r.value<=0?t.value:t.value.slice(a.value,o.value))}}const Ll=B({enableSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},itemComparator:{type:[Function,String],default:()=>ie}},"YDataTable--selection"),Fl={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},Oa={showSelectAll:!0,allSelected:({pageItems:e})=>e,select:({items:e,value:t,selected:a})=>{for(const o of e)t?a.add(o.value):a.delete(o.value);return a},selectAll:({value:e,pageItems:t,selected:a})=>Oa.select({items:t,value:e,selected:a})},Aa={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:a})=>{for(const o of e)t?a.add(o.value):a.delete(o.value);return a},selectAll:({value:e,allItems:t,selected:a})=>Aa.select({items:t,value:e,selected:a})},Ht=Symbol.for("yuyeon.data-table.selection");function Pa(e,{allItems:t,pageItems:a}){const o=K(e,"modelValue",e.modelValue,f=>new Set(ye(f).map(w=>t.value.find(T=>{const{itemComparator:D}=e;return typeof D=="function"&&D(w,T.value),le(w,e.itemKey)===T.key})?.value??w)),f=>[...f.values()]),r=n.computed(()=>t.value.filter(f=>f.selectable)),l=n.computed(()=>a.value.filter(f=>f.selectable)),i=n.computed(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Fl;case"all":return Aa;default:return Oa}});function c(f){return ye(f).every(w=>o.value.has(w.value))}function u(f){return ye(f).some(w=>o.value.has(w.value))}function s(f,w){o.value=i.value.select({items:f,value:w,selected:new Set(o.value)})}function d(f){s([f],!c([f]))}function m(f){o.value=i.value.selectAll({value:f,allItems:r.value,pageItems:l.value,selected:new Set(o.value)})}const v=n.computed(()=>i.value.allSelected({allItems:r.value,pageItems:l.value})),h=n.computed(()=>u(l.value)),x=n.computed(()=>c(v.value)),b={toggleSelect:d,select:s,selectAll:m,isSelected:c,isSomeSelected:u,someSelected:h,allSelected:x,showSelectAll:i.value.showSelectAll,selectables:v};return n.provide(Ht,b),b}function zt(){const e=n.inject(Ht);if(!e)throw new Error(`Not provided: ${Ht.description}`);return e}function jl(e,t,a,o){const{locale:r}=Ie();return{sortedItems:n.computed(()=>a.value.length===0?t.value:Kl(t.value,a.value,r.value))}}function Kl(e,t,a){const o=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(l=>l).sort((l,i)=>{for(let c=0;c<t.length;c++){const u=t[c].key,s=t[c].order??"asc";if(s===!1)continue;let d=H(n.unref(l.columns),u),m=H(n.unref(i.columns),u);if(n.unref(l.raw),n.unref(i.raw),s==="desc"&&([d,m]=[m,d]),d instanceof Date&&m instanceof Date)return d.getTime()-m.getTime();if([d,m]=[d,m].map(v=>v!=null?v.toString().toLocaleLowerCase():v),d!==m)return Ke(d)&&Ke(m)?0:Ke(d)?-1:Ke(m)?1:!isNaN(d)&&!isNaN(m)?Number(d)-Number(m):o.compare(d,m)}return 0}).map(l=>l)}const Ut=Symbol.for("yuyeon.data-table.sorting"),Wl=B({sortBy:{type:Array,default:()=>[]},multiSort:Boolean},"YDataTable--sorting");function Ia(e){const t=K(e,"sortBy"),a=n.toRef(e,"multiSort");return{sortBy:t,multiSort:a}}function Ma(e){const{sortBy:t,multiSort:a,page:o}=e,r=c=>{let u=t.value?.map(m=>({...m}))??[];const s=u.find(m=>m.key===c.key),d={key:c.key,order:"asc"};s?s.order==="desc"?c.mustSort?s.order="asc":u=u.filter(m=>m.key!==c.key):s.order="desc":a?.value?u=[...u,d]:u=[d],t.value=u,o&&(o.value=1)};function l(c){return!!t.value.find(u=>u.key===c.key)}const i={sortBy:t,toggleSort:r,isSorted:l};return n.provide(Ut,i),i}function Hl(){const e=n.inject(Ut);if(!e)throw new Error(`Not provided: ${Ut.description}`);return e}const at=M({name:"YDataTableCell",functional:!0,props:{type:{type:String,default:"data"},fixed:{type:String},fixedOffset:{type:Number},rightOffset:{type:Number},width:{type:[Number,String]},maxWidth:{type:[Number,String]},height:{type:[Number,String]},align:{type:String,default:"start"}},emits:["click"],setup(e,{slots:t,emit:a,attrs:o}){const r=n.computed(()=>{const l={};return e.fixed&&e.fixedOffset!==void 0&&(e.fixed.startsWith("lead")?l.left=F(e.fixedOffset):e.fixed.startsWith("trail")&&(l.right=F(e.rightOffset))),l});R(()=>{const l=e.type==="head"?"th":"td";return n.createVNode(l,n.mergeProps({class:[`y-data-table__${l}`,"y-data-table-cell",{"y-data-table-cell--fixed":e.fixed,"y-data-table-cell--fixed-last":e.fixed?.endsWith("last"),[`y-data-table-cell--fixed-${e.fixed?.replace("-last","")}`]:e.fixed,[`y-data-table-cell--align-${e.align}`]:e.align}],style:{width:F(e.width),height:F(e.height),maxWidth:F(e.maxWidth),...r.value}},o,{onClick:i=>a("click",i)}),{default:()=>[t.default?.()]})})}}),Ya=B({index:Number,onHover:Function,onMousedown:Function,onClick:Function,onDblclick:Function,onContextmenu:Function,onKeydown:Function},"YDataTableRow"),Ba=M({name:"YDataTableRow",props:{item:Object,cellProps:[Object,Function],...Ya()},emits:["hover","mousedown","click","dblclick","contextmenu"],setup(e,{slots:t}){const a=n.getCurrentInstance(),{columns:o}=Wt(),{isSelected:r,toggleSelect:l}=zt(),{isExpanded:i,toggleExpand:c}=ka(),u=n.computed(()=>e.item&&r(e.item));function s(b){const f=[];return typeof b=="string"&&f.push(b),Array.isArray(b)&&b.forEach(w=>{typeof w=="string"&&f.push(w)}),f}function d(b){e.onMousedown?.(b,a?.proxy?.$el)}function m(b){e.onClick?.(b,a?.proxy?.$el)}function v(b){e.onContextmenu?.(b,a?.proxy?.$el)}function h(b){e.onDblclick?.(b,a?.proxy?.$el)}function x(b){e.onKeydown?.(b,a?.proxy?.$el)}R(()=>n.createVNode("tr",{class:["y-data-table__row",{"y-data-table__row--selected":u.value,"y-data-table__row--expanded":i(e.item)}],onClick:e.onClick&&m,onContextmenu:e.onContextmenu&&v,onDblclick:e.onDblclick&&h,onMousedown:e.onMousedown&&d,onKeydown:e.onKeydown&&x},[e.item&&o.value.map((b,f)=>{const w=e.item,T={index:e.index,item:e.item.raw,internalItem:e.item,columns:o.value,value:le(w.columns,b.key),selected:u.value,toggleSelect:l,isExpanded:i,toggleExpand:c,column:b,el:a?.proxy?.$el},D=n.computed(()=>{const p=[];if(typeof b.classes=="function"){const y=b.classes.call(null,T.item,T.index,b);y&&p.push(...s(y))}else b.classes&&p.push(...s(b.classes));return p}),g=typeof e.cellProps=="function"?e.cellProps({index:T.index,column:b,internalItem:T.internalItem,item:T.item,value:T.value,selected:T.selected}):e.cellProps;return n.createVNode(at,n.mergeProps({align:b.align,fixed:b.fixed?(b.fixed==="right"?"trail":"lead")+(b.lastFixed?"-last":""):void 0,fixedOffset:b.fixedOffset,rightOffset:b.rightOffset,width:b.width,maxWidth:b.maxWidth,class:["y-data-table-data",{"y-data-table-data--select":b.key==="data-table-select"},...D.value]},g),{default:()=>{const p=`item.${b.key}`;return t[p]?t[p]?.(T):b.key==="data-table-select"?t["item.data-table-select"]?.(T)??n.createVNode(U,{variation:"text,small",disabled:!w.selectable,onClick:y=>{y.stopPropagation(),w.selectable&&l(w)}},{default:()=>[n.createVNode(se,{checked:r(w),disabled:!w.selectable},null)]}):T.value}})})]))}}),Gt=B({items:{type:Array,default:()=>[]},loading:[Boolean,String],loadingText:String,hideNoData:Boolean,noDataText:{type:String,default:""},rowProps:[Function,Object],rowHeight:Number,"onClick:row":Function,"onDblclick:row":Function,"onContextmenu:row":Function,"onMousedown:row":Function,"onKeydown:row":Function},"YDataTableBody"),_e=M({name:"YDataTableBody",props:{...Gt()},emits:["click:row","dblclick:row","contextmenu:row","mousedown:row"],setup(e,{slots:t}){const{columns:a}=Wt(),{isSelected:o,toggleSelect:r}=zt(),{isExpanded:l,toggleExpand:i}=ka();R(()=>e.loading&&!e.items.length?n.createVNode("tr",null,[n.createVNode("td",{colspan:a.value.length,class:"y-data-table__loading"},[t.loading?t.loading():n.createVNode("div",null,[e.loadingText])])]):!e.loading&&e.items.length<1&&!e.hideNoData?n.createVNode("tr",{key:"no-data",class:"y-data-table__no-data"},[n.createVNode("td",{colspan:a.value.length},[t["no-data"]?.()??e.noDataText])]):n.createVNode(n.Fragment,null,[t.body?t.body?.(e):e.items.map((c,u)=>{const s={index:u,item:c.raw,internalItem:c,columns:a.value,isSelected:o,toggleSelect:r,isExpanded:l,toggleExpand:i};function d(f,w){e["onClick:row"]?.(f,{...s,el:w})}function m(f,w){e["onDblclick:row"]?.(f,{...s,el:w})}function v(f,w){e["onContextmenu:row"]?.(f,{...s,el:w})}function h(f,w){e["onMousedown:row"]?.(f,{...s,el:w})}function x(f,w){e["onKeydown:row"]?.(f,{...s,el:w})}const b={...s,props:n.mergeProps({key:`item__${c.key??c.index}`,item:c,index:u},typeof e.rowProps=="function"?e.rowProps({item:s.item,index:s.index,internalItem:s.internalItem}):e.rowProps),onClick:d,onContextmenu:v,onDblclick:m,onMousedown:h,onKeydown:x};return n.createVNode(n.Fragment,null,[t.item?t.item(b):n.createVNode(Ba,n.mergeProps({ref:f=>{c._bindRowRef(f)}},b.props,{onClick:e["onClick:row"]&&d,onContextmenu:e["onContextmenu:row"]&&v,onDblclick:e["onDblclick:row"]&&m,onMousedown:e["onMousedown:row"]&&h,onKeydown:e["onKeydown:row"]&&x}),t),l(c)&&t["expanded-row"]?.(b)])})]))}});function zl(){const e=n.ref([]);n.onBeforeUpdate(()=>e.value=[]);function t(a,o){e.value[o]=a}return{refs:e,updateRef:t}}const $a=B({start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],maxVisible:[Number,String],endButton:{type:[Boolean,Number]},gap:{type:[String,Number],default:4},color:String,activeColor:String,buttonVariation:[String],activeButtonVariation:[String],align:{type:String,default:"center"}},"YPagination"),Ra=M({name:"YPagination",components:{YButton:U},props:{...$a()},emits:{"update:modelValue":e=>!0,change:(e,t)=>!0},setup(e,{slots:t,emit:a}){const o=K(e),r=n.computed(()=>parseInt(e.length,10)),l=n.computed(()=>parseInt(e.start,10)),i=n.shallowRef(-1),{resizeObservedRef:c}=pe(w=>{if(1>w.length)return;const{target:T,contentRect:D}=w[0],g=T.querySelector(".y-pagination__list > *");if(g){const p=D.width,y=g.offsetWidth+parseFloat(getComputedStyle(g).marginRight)*2;i.value=u(p,y)}});function u(w,T){const D=e.endButton?5:3,g=+(e.gap??4),p=(T+g)*D-g,y=Math.max(0,Math.floor(+((w-p)/(T+g)).toFixed(2))),_=Number(e.maxVisible);return Number.isNaN(_)?y:Math.min(_,y)}const s=n.computed(()=>{const w=Number(e.maxVisible);if(e.totalVisible){const T=parseInt(e.totalVisible,10);return Number.isNaN(w)?T:Math.min(T,w)}else if(i.value>=0)return i.value;return u(innerWidth,58)}),d=n.computed(()=>{const w=!!e.disabled||o.value<=l.value,T=!!e.disabled||o.value>=l.value+r.value-1;return{first:{disabled:w,variation:e.buttonVariation,onClick:D=>{D.preventDefault();let g=o.value;if(e.endButton===!0)g=1;else{const p=Number(e.endButton);Number.isNaN(p)||(g=de(g-p,1,+r.value))}o.value=g,a("change",g,"first")}},prev:{disabled:w,variation:e.buttonVariation,onClick:D=>{D.preventDefault();const g=Math.max(1,o.value-1);o.value=g,a("change",g,"prev")}},next:{disabled:T,variation:e.buttonVariation,onClick:D=>{D.preventDefault();const g=Math.min(+r.value,o.value+1);o.value=g,a("change",g,"next")}},last:{disabled:T,variation:e.buttonVariation,onClick:D=>{D.preventDefault();let g=o.value;e.endButton===!0?g=+r.value:typeof e.endButton=="number"&&(g=de(g+e.endButton,1,+r.value)),o.value=g,a("change",g,"last")}}}}),m=n.computed(()=>{if(r.value<=0||Number.isNaN(r.value)||r.value>Number.MAX_SAFE_INTEGER)return[];if(s.value<=1)return[o.value];if(r.value<=s.value)return fe(r.value,l.value);const w=s.value%2===0,T=w?s.value/2:Math.floor(s.value/2),D=w?T:T+1,g=r.value-T;if(D-o.value>=0)return[...fe(Math.max(1,s.value-1),l.value),"ellipsis",r.value];if(o.value-g>=(w?1:0)){const p=s.value-1,y=r.value-p+l.value;return[l.value,"ellipsis",...fe(p,y)]}else{const p=Math.max(1,s.value-3),y=p===1?o.value:o.value-Math.ceil(p/2)+l.value;return[l.value,"ellipsis",...fe(p,y),"ellipsis",r.value]}}),{refs:v,updateRef:h}=zl();function x(w,T=1){w.preventDefault(),o.value=T,a("change",T)}const b=n.computed(()=>m.value.map((w,T)=>{const D=g=>h(g,T);if(w==="ellipsis")return{active:!1,key:`ellipsis-${T}`,page:w,props:{ref:D,ellipsis:!0,disabled:!0}};{const g=w===o.value;return{active:g,key:`item-${w}`,page:w,props:{ref:D,ellipsis:!1,disabled:!!e.disabled||+e.length<2,color:g?e.activeColor:e.color,variation:g?e.activeButtonVariation:e.buttonVariation,onClick:p=>x(p,w)}}}})),f=n.computed(()=>{let w;if(e.gap){const T=+e.gap;Number.isNaN(T)?typeof e.gap=="string"&&(w=e.gap):w=F(T)}return{"--y-pagination__gap":w}});return R(()=>n.createVNode("nav",{ref:c,class:["y-pagination",{[`y-pagination--align-${e.align}`]:e.align!=="start"}],style:f.value},[n.createVNode("ul",{class:["y-pagination__list"]},[e.endButton&&n.createVNode("li",{key:"first",class:"y-pagination__first"},[t.first?t.first(d.value.first):n.createVNode(U,d.value.first,{default:()=>[t["first-icon"]?t["first-icon"]():n.createVNode(ue,{type:"first"},null)]})]),n.createVNode("li",{key:"prev",class:"y-pagination__prev"},[t.prev?t.prev(d.value.prev):n.createVNode(U,d.value.prev,{default:()=>[t["prev-icon"]?t["prev-icon"]():n.createVNode(ue,{type:"prev"},null)]})]),b.value.map((w,T)=>n.createVNode("li",{key:w.key,class:["y-pagination__item",{"y-pagination__item--active":w.active}]},[n.createVNode(U,w.props,{default:()=>[w.props.ellipsis?t.ellipsis?t.ellipsis():"...":w.page]})])),n.createVNode("li",{key:"next",class:"y-pagination__next"},[t.next?t.next(d.value.next):n.createVNode(U,d.value.next,{default:()=>[t["next-icon"]?t["next-icon"]():n.createVNode(ue,{type:"next"},null)]})]),e.endButton&&n.createVNode("li",{key:"last",class:"y-pagination__last"},[t.last?t.last(d.value.last):n.createVNode(U,d.value.last,{default:()=>[t["last-icon"]?t["last-icon"]():n.createVNode(ue,{type:"last"},null)]})])])])),{itemCount:i,page:o,refs:v}}}),ot=B({pageLength:Number,setPageSize:Function,setPage:Function,paginationProps:{type:Object},...$l()},"YDataTableControl"),Te=M({name:"YDataTableControl",components:{YButton:U,YIconExpand:Re,YFieldInput:Xe,YIconPageControl:ue},props:ot(),setup(e,{slots:t}){R(()=>n.createVNode("footer",{class:["y-data-table-control"]},[t.prepend?.(e),t.default?t.default():n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"y-data-table-control__start"},null),n.createVNode("div",{class:"y-data-table-control__end"},[n.createVNode(Ra,n.mergeProps(e.paginationProps,{"model-value":e.page,"onUpdate:modelValue":e.setPage,length:e.pageLength}),null)])]),t.append?.(e)]))}}),La=B({multiSort:Boolean,sortAscIcon:{type:String,default:"@sortAsc"},sortDescIcon:{type:String,default:"@sortDesc"},dualSortIcon:Boolean,sticky:Boolean},"YDataTableHead"),Le=M({name:"YDataTableHead",components:{YDataTableCell:at},props:{...La()},setup(e,{slots:t}){const{toggleSort:a,sortBy:o,isSorted:r}=Hl(),{someSelected:l,allSelected:i,selectAll:c,showSelectAll:u,selectables:s}=zt(),{columns:d,headers:m}=Wt(),v=(f,w)=>{if(!e.sticky&&!f.fixed)return;const T={};return(f.fixed===!0||f.fixed==="left")&&(T.left=F(f.fixedOffset)),f.fixed==="right"&&(T.right=F(f.rightOffset)),{position:"sticky",zIndex:f.fixed?4:e.sticky?3:void 0,top:e.sticky?`calc(var(--v-table-header-height) * ${w})`:void 0,...T}};function h(f){}function x(f){const w=o.value.find(T=>T.key===f.key);if(w){if(w.order==="asc")return"asc";if(w.order==="desc")return"desc"}}const b=({column:f,x:w,y:T})=>n.createVNode(at,n.mergeProps({type:"head",align:f.align,fixed:f.fixed?(f.fixed==="right"?"trail":"lead")+(f.lastFixed?"-last":""):void 0,class:["y-data-table-header",{"y-data-table-header--sortable":f.sortable,"y-data-table-header--sorted":r(f),"y-data-table-header--select":f.key==="data-table-select"},...ye(f.headerClasses??[])],style:{width:F(f.width),minWidth:F(f.width),maxWidth:F(f.maxWidth),...v(f,T)}},{rowspan:f.rowspan,colspan:f.colspan},{onClick:h}),{default:()=>{const D=`header.${f.key}`,g={column:f,selectAll:c,isSorted:r,toggleSort:a,sortBy:o.value,someSelected:l.value,allSelected:i.value,selectables:s.value,getSortDirection:x};return t[D]?t[D]?.(g):f.key==="data-table-select"?t["header.data-table-select"]?.(g)??(u&&n.createVNode(U,{variation:"text,small",disabled:s.value.length<1,onClick:p=>{p.stopPropagation(),c(!i.value)}},{default:()=>[n.createVNode(se,{checked:i.value,indeterminate:!i.value&&l.value,disabled:s.value.length<1},null)]})):n.createVNode("div",{class:"y-data-table-header__content"},[n.createVNode("span",{class:"y-data-table-header__text"},[t?.[`header-text.${f.key}`]?.(g)??f.text]),n.createVNode("span",{class:["y-data-table-header__sorting-icon",{"y-data-table-header__sorting-icon--disabled":!f.sortable}],onClick:f.sortable?p=>{p.stopPropagation(),a(f)}:void 0},[n.createVNode(Yt,{disabled:!f.sortable,direction:x(f)},null)])])}});R(()=>n.createVNode(n.Fragment,null,[t.head?t.head?.(e):m.value.map((f,w)=>n.createVNode("tr",null,[f.map((T,D)=>n.createVNode(b,{column:T,x:D,y:w},null))]))]))}}),rt=M({name:"YDataTableLayer",props:{slotProps:Object},setup(e,{slots:t}){const a=n.inject(Na),o=n.inject(Lt);return R(()=>{const r={...e.slotProps,YTable:a,YDataTable:o};return n.createVNode("div",{class:["y-data-table-layer"]},[t.layer?t.layer?.(r):n.createVNode(n.Fragment,null,[n.createVNode("div",{class:["y-data-table-layer__head"]},[t["layer-head"]?.(r)]),n.createVNode("div",{class:["y-data-table-layer__body"]},[t["layer-body"]?.(r)])])])}),{YTableWire:a}}}),qt=B({...Gt(),width:[String,Number],search:String,hideDefaultTbody:Boolean,...Pl(),...Il(),...Wl(),...Ll(),...Al(),...La(),...Ft()},"DataTable"),Ul=M({name:"YDataTable",props:{...te(ot(),["setPage","setPageSize","pageLength"]),...qt()},emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:pageSize":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"click:row":(e,t)=>!0,scroll:e=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),{page:r,pageSize:l}=Da(e),{sortBy:i,multiSort:c}=Ia(e),{columns:u,headers:s}=Va(e,{enableSelect:n.toRef(e,"enableSelect")}),{items:d}=_a(e,u),{toggleSort:m}=Ma({sortBy:i,multiSort:c,page:r}),v=n.computed(()=>d.value.length),{startIndex:h,endIndex:x,pageLength:b,setPageSize:f,setPage:w}=Ea({page:r,pageSize:l,total:v}),{sortedItems:T}=jl(e,d,i),{paginatedItems:D}=Rl({items:T,startIndex:h,endIndex:x,pageSize:l}),{isSelected:g,select:p,selectAll:y,toggleSelect:_,someSelected:O,allSelected:V}=Pa(e,{allItems:d,pageItems:d}),{isExpanded:E,toggleExpand:k}=Ca(e),{resizeObservedRef:C,contentRect:N}=pe();Ta({page:r,pageSize:l,search:n.toRef(e,"search"),sortBy:i},a);const S=n.computed(()=>({page:r.value,pageSize:l.value,pageLength:b.value,setPageSize:f,setPage:w,sortBy:i.value,toggleSort:m,isExpanded:E,toggleExpand:k,someSelected:O.value,allSelected:V.value,isSelected:g,select:p,selectAll:y,toggleSelect:_,items:D.value,columns:u.value,headers:s.value,TableBodyRef:o}));return n.provide(Lt,{toggleSort:m,sortBy:i,headRect:N}),R(()=>{const Y=z(e,Le.props),$=z(e,_e.props),P=z(e,Ve.props);return n.createVNode(Ve,n.mergeProps({class:["y-data-table",{"y-data-table--no-data":!e.loading&&e.items.length<1&&!e.hideNoData}]},P,{style:{"--y-table-head-height":F(N.value?.height)}}),{top:()=>t.top?.(S.value),leading:()=>t.leading?t.leading(S.value):n.createVNode(n.Fragment,null,[n.createVNode(rt,{"slot-props":S.value},t)]),default:()=>t.default?t.default(S.value):n.createVNode(n.Fragment,null,[n.createVNode("thead",{ref:C},[n.createVNode(Le,Y,t)]),t.thead?.(S.value),!e.hideDefaultTbody&&n.createVNode("tbody",null,[n.createVNode(_e,n.mergeProps({ref:o},$,{items:S.value.items}),t)]),t.tbody?.(S.value),t.tfoot?.(S.value)]),trailing:()=>t.trailing?.(S.value),bottom:()=>t.bottom?t.bottom(S.value):n.createVNode(Te,n.mergeProps(z(S.value,Te.props),{paginationProps:e.paginationProps}),{prepend:t["control.prepend"],append:t["control.append"]})})}),{paginatedItems:D}}}),Fa=B({total:{type:[Number,String],required:!0},...te(ot(),["setPage","setPageSize","pageLength"]),...qt()},"YDataTableServer"),Gl=M({name:"YDataTableServer",components:{YTable:Ve,YDataTableLayer:rt,YDataTableHead:Le,YDataTableBody:_e,YDataTableControl:Te},props:{...Fa()},emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:pageSize":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"click:row":(e,t)=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),{page:r,pageSize:l}=Da(e),{sortBy:i,multiSort:c}=Ia(e),u=n.computed(()=>parseInt(e.total)),{columns:s,headers:d}=Va(e,{enableSelect:n.toRef(e,"enableSelect")}),{items:m}=_a(e,s),{toggleSort:v}=Ma({sortBy:i,multiSort:c,page:r}),{pageLength:h,setPageSize:x,setPage:b}=Ea({page:r,pageSize:l,total:u}),{isSelected:f,select:w,selectAll:T,toggleSelect:D,someSelected:g,allSelected:p}=Pa(e,{allItems:m,pageItems:m}),{isExpanded:y,toggleExpand:_}=Ca(e),O=n.ref(),V=Vt(C,100),{resizeObservedRef:E}=pe(N=>{V(N)});Ta({page:r,pageSize:l,search:n.toRef(e,"search"),sortBy:i},a);const k=n.computed(()=>({page:r.value,pageSize:l.value,pageLength:h.value,setPageSize:x,setPage:b,sortBy:i.value,toggleSort:v,isExpanded:y,toggleExpand:_,someSelected:g.value,allSelected:p.value,isSelected:f,select:w,selectAll:T,toggleSelect:D,items:m.value,columns:s.value,headers:d.value,TableBodyRef:o}));function C(N){O.value=N?.[0].contentRect}n.provide(Lt,{toggleSort:v,sortBy:i,headRect:O}),R(()=>{const N=z(e,Le.props),S=z(e,_e.props),Y=z(e,Ve.props);return n.createVNode(Ve,n.mergeProps({class:["y-data-table",{"y-data-table--no-data":!e.loading&&e.items.length<1&&!e.hideNoData}]},Y,{style:{"--y-table-head-height":F(O.value?.height)}}),{top:()=>t.top?.(k.value),leading:()=>t.leading?t.leading(k.value):n.createVNode(n.Fragment,null,[n.createVNode(rt,{slotProps:k.value},t)]),default:()=>t.default?t.default(k.value):n.createVNode(n.Fragment,null,[n.createVNode("thead",{ref:E},[n.createVNode(Le,N,t)]),t.thead?.(k.value),n.createVNode("tbody",null,[n.createVNode(_e,n.mergeProps({ref:o},S,{items:m.value}),t)]),t.tbody?.(k.value),t.tfoot?.(k.value)]),trailing:()=>t.trailing?.(k.value),bottom:()=>t.bottom?t.bottom(k.value):n.createVNode(Te,n.mergeProps(z(k.value,Te.props),{paginationProps:e.paginationProps}),{prepend:t["control.prepend"]})})})}}),ja=M({name:"YDataTableLayerRow",props:{layerProps:Object,item:Object,width:{type:Number},scrollTop:{type:Number,default:0},headRect:Object,classes:Function,styles:Object},slots:Object,setup(e,{slots:t}){const a=n.shallowRef(null),o=n.useTemplateRef("layerRowRef"),r=n.shallowRef(null),l=n.shallowRef(!1),i=n.ref(),c=n.computed(()=>{const s=e.styles?.(e.item,{width:e.width,height:r.value?.[0]?.height})??{};return{transform:`translateY(${e.scrollTop*-1+(i.value?.offsetTop??0)-(e.headRect?.height??40)}px)`,width:F(s?.width??e.width),height:F(s?.height??r.value?.[0]?.height)}}),u=n.computed(()=>{const s=e.classes?.(e.item);return Array.isArray(s)?s:[s]});n.watch(()=>e.item?.rowRef.value,()=>{i.value=e.item?.rowRef.value?.$el},{immediate:!0}),n.watch(i,(s,d)=>{s?(a.value?.unobserve(s),a.value=new ResizeObserver(()=>{r.value=s.getClientRects()}),a.value.observe(s),l.value=!0):(l.value=!1,d&&s!==d&&a.value?.unobserve(d))},{immediate:!0}),n.onBeforeUnmount(()=>{a.value&&(a.value.disconnect(),a.value=null)}),R(()=>n.withDirectives(n.createVNode("div",{ref:o,class:["y-data-table-layer-row",...u.value],style:c.value},[t.default?.({item:e.item,width:e.width,height:r.value?.[0]?.height,scrollTop:e.scrollTop})]),[[n.vShow,l.value]]))}}),ql=M({name:"YDataTableLayerRows",props:{layerProps:Object,items:Array,classes:Function,styles:Object,single:Boolean},slots:Object,setup(e,{slots:t}){const a=n.shallowRef(null),o=n.shallowRef(0),r=n.shallowRef(0),l=n.shallowRef(0),i=n.computed(()=>e.layerProps?.YTable?.wrapperRef.value),c=n.computed(()=>e.layerProps?.YDataTable?.headRect.value);n.watch(i,s=>{s&&(u(),s.addEventListener("scroll",u),a.value=new ResizeObserver(()=>{o.value=s.offsetTop??0,l.value=s?.clientWidth??0}),a.value.observe(s))},{immediate:!0});function u(){requestAnimationFrame(()=>{r.value=i.value?.scrollTop??0})}return R(()=>n.createVNode("div",{class:"y-data-table-layer-rows"},[e.items?.map(s=>n.createVNode(ja,{item:s,"head-rect":c.value,"scroll-top":r.value,width:l.value,classes:e.classes,styles:e.styles},t))])),{headRect:c}}}),Xl="YMenu",Xt={menuClasses:{type:[Array,String,Object]},preventClip:{type:Boolean,default:!0},...Ce({openOnClick:!0,coordinateStrategy:"levitation",scrollStrategy:"reposition"})},Fe=M({name:Xl,props:{...Xt,...Me({transition:"fade"})},emits:["update:modelValue","afterLeave","hoverContent"],slots:Object,expose:["layer$","baseEl"],setup(e,{slots:t,emit:a,expose:o}){const r=K(e),l=n.ref(),i=n.computed(()=>({...me(e.menuClasses),"y-menu":!0})),c=n.computed(()=>!!l.value?.hovered),u=n.computed(()=>l.value?.parent),s=n.computed(()=>l.value?.children||[]),d=n.computed(()=>({...me(e.contentClasses)})),m=n.computed(()=>l.value?.baseEl);n.watch(c,h=>{a("hoverContent",h)});function v(h){r.value}return o({layer$:l,baseEl:m}),R(()=>n.createVNode(ne,n.mergeProps({ref:l,transition:e.transition,"onClick:complement":v,relayStack:!0,onAfterLeave:()=>a("afterLeave")},{...z(e,ne.props),classes:i.value,scrim:!1,contentClasses:{"y-menu__content":!0,...d.value}},{modelValue:r.value,"onUpdate:modelValue":h=>r.value=h}),{default:h=>n.createVNode(n.Fragment,null,[t.default?.(h)??""]),base:(...h)=>t.base?.(...h)})),{layer$:l,baseEl:m,classes:i,children:s,parent:u,active:r,hovered:c}}}),Zt=M({name:"YInputCheckbox",components:{YIconCheckbox:se},props:{id:String,value:Boolean,icon:String,color:{type:String,default:()=>"primary"},disabled:Boolean,readonly:Boolean},emits:["focus","blur","click"],data(){return{counterId:this.$.uid.toString(),checked:!1,focused:!1}},computed:{coloredClass(){if(!this.color.startsWith("#"))return`color--${this.color}`},classes(){const e={"y-input":!0,"y-input--checkbox":!0,"y-input--active":this.checked,"y-input--focused":this.focused};return this.coloredClass&&(e[this.coloredClass]=!0),e},inputId(){let e=this.counterId;return this.id&&(e=this.id),`input-${e}`},iconComponent(){return this.icon?null:se}},methods:{onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.$emit("click",e)}},watch:{value(e){this.checked=e}},created(){this.checked=!!this.value},render(){const{onClick:e,classes:t,inputId:a,checked:o,onFocus:r,onBlur:l,disabled:i,readonly:c,iconComponent:u}=this;return n.createVNode(n.Fragment,null,[n.createVNode("div",{onClick:e,class:t},[n.createVNode("input",{id:a,"aria-checked":o,role:"checkbox",type:"checkbox",checked:o,onFocus:r,onBlur:l,disabled:i,readonly:c},null),this.$slots.icon?this.$slots.icon({checked:o}):u?n.h(u):n.createVNode(se,null,null)])])}}),Zl=M({name:"YCheckbox",components:{YInputCheckbox:Zt},emits:["focus","blur","click","update:modelValue","change"],props:{modelValue:[Boolean,Array],value:[String,Number,Object],label:String,reverse:Boolean,icon:{type:[Object,String]},color:{type:String,default:()=>"primary"},disabled:Boolean,readonly:Boolean},setup(e,{emit:t,slots:a}){const o=n.ref(!1),r=n.ref(!1),l=(we()??"").toString(),i=`input-${l}`;function c(b){o.value=!0,t("focus",b)}function u(b){o.value=!1,t("blur",b)}function s(b,...f){if(t("click",b),e.disabled||e.readonly)return;const w=!r.value;r.value=w,t("change",w)}function d(){Array.isArray(e.modelValue)?e.modelValue?.find(f=>f===e.value)!==void 0?r.value=!0:r.value=!1:typeof e.modelValue=="boolean"&&(r.value=e.modelValue)}const m=n.computed(()=>{const{reverse:b,disabled:f,readonly:w}=e;return{"y-checkbox":!0,"y-checkbox--reverse":!!b,"y-checkbox--focused":o.value,"y-checkbox--disabled":!!f,"y-checkbox--readonly":!!w}}),v=n.computed(()=>{if(typeof e.icon=="string")return e.icon}),h=n.computed(()=>Array.isArray(e.modelValue));function x(){return h.value?e.modelValue.findIndex(b=>b===e.value):-1}return n.watch(r,b=>{if(Array.isArray(e.modelValue)){const f=e.modelValue,w=x();b&&w===-1?f.push(e.value):!b&&w!==-1&&f.splice(w,1),t("update:modelValue",f)}else t("update:modelValue",b)}),n.watch(()=>e.modelValue,b=>{Array.isArray(b)?d():r.value=!!b},{immediate:!0,deep:!0}),R(()=>n.createVNode("div",{class:[{...m.value}]},[a.leading?.(),n.createVNode("div",{class:"y-checkbox__slot"},[n.createVNode(Zt,{onClick:(b,...f)=>{b.stopPropagation(),s(b,...f)},onFocus:c,onBlur:u,id:l,value:r.value,icon:v.value,color:e.color,disabled:e.disabled,readonly:e.readonly},{default:()=>[a.icon&&{icon:(...b)=>a.icon?.(...b)}]}),n.createVNode("label",{onClick:n.withModifiers(()=>{},["stop"]),class:"y-checkbox__label",for:i},[a.label?a.label?.():e.label])]),a.trailing?.()])),{checked:r}}}),Jt=[String,Object,Array,Function],Ka=B({icon:{type:Jt},tag:{type:String,required:!0}},"icon"),Qt=M({name:"YComponentIcon",props:Ka(),setup(e,{slots:t}){return()=>{const a=e.icon;let o=()=>n.createVNode(n.Fragment,null,null),r={};return a instanceof Object&&(o=a,"component"in a&&(o=a.component,r=a?.props)),n.createVNode(e.tag,null,{default:()=>[e.icon?n.createVNode(o,n.mergeProps(r),null):t.default?.()]})}}}),Wa=M({name:"YSvgIcon",inheritAttrs:!1,props:Ka(),setup(e,{attrs:t}){return()=>n.createVNode(e.tag,t,{default:()=>[n.createVNode("svg",{class:"y-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(a=>Array.isArray(a)?n.createVNode("path",{d:a[0],"fill-opacity":a[1]},null):n.createVNode("path",{d:a},null)):n.createVNode("path",{d:e.icon},null)])]})}}),Ha=Symbol.for("yuyeon.icon");function Jl(e){return re({defaultSet:"built",sets:{svg:{component:Wa}},aliases:{...ga}},e)}function Ql(e){const t=n.inject(Ha);if(!t)throw new Error('Not found provided "IconModule"');return{iconData:n.computed(()=>{const o=n.unref(e);if(!o)return{component:Qt};let r=o;if(typeof r=="object"&&"alias"in r&&typeof r.alias=="string"&&(r=r.alias),typeof r=="string"&&(r=r.trim(),r.startsWith("$")&&(r=t.aliases?.[r.slice(1)])),!r)throw new Error(`Could not find aliased icon "${o}"`);if(Array.isArray(r))return{component:Wa,icon:r};if(typeof r!="string"){const u=n.unref(e);return u&&typeof u=="object"&&"iconProps"in u&&(r={component:"component"in r?r.component:r,props:"props"in r?re(r.props,u?.iconProps??{}):u.iconProps}),{component:Qt,icon:r}}const l=Object.keys(t.sets).find(u=>typeof r=="string"&&r.startsWith(`${u}:`)),i=l?r.slice(l.length+1):r,c=t.sets[l??t.defaultSet];if(!c?.component&&typeof r=="string"){const s=new DOMParser().parseFromString(r,"text/xml").querySelector("svg");if(s)return{component:Qt,icon:{mounted(){s.childNodes.forEach(d=>{this.$el?.appendChild(d)})},render:function(){const d={};if(s.hasAttributes())for(let v=0;v<s.attributes.length;v+=1){const h=s.attributes.item(v);h&&(d[`^${h.name}`]=h.value)}return n.h("svg",{...d},[])}}}}return{icon:i,component:c.component}})}}function ei(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const za=B({color:String,gap:String,icon:Jt,tag:{type:String,default:"i"},size:{type:[String,Number]},class:[String,Array,Object],...xe()},"YIcon"),he=M({name:"YIcon",props:za(),setup(e,{attrs:t,slots:a}){const o=n.ref(),{themeClasses:r}=Ne(e),{iconData:l}=Ql(n.computed(()=>o.value||e.icon));R(()=>{const i=a.default?.();return i&&(o.value=i.filter(c=>c.type===Text&&c.children&&typeof c.children=="string")[0]?.children),n.createVNode(l.value.component,{tag:e.tag,icon:l.value.icon,class:["y-icon","notranslate",r.value,{"y-icon--clickable":!!t.onClick},e.class],style:{fontSize:F(e.size),width:F(e.size),height:F(e.size)},role:t.onClick?"button":void 0,"aria-hidden":!t.onClick},ei(i)?i:{default:()=>[i]})})}});function ti(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Ua=B({...te(Xt,["modelValue","coordinateStrategy"]),modelValue:Boolean,variation:String,color:String,...te(Et({position:"bottom"}),["coordinateStrategy"]),dropdownIcon:{type:[String,Array,Object],default:"$dropdown"},...Mt(),...Me({transition:"fade"}),...ze},"YDropdown"),ni=M({name:"YDropdown",inheritAttrs:!1,components:{YMenu:Fe},props:{...Ua()},slots:Object,emits:["update:modelValue","click"],setup(e,{slots:t,attrs:a,emit:o}){const r=K(e);function l(i){r.value=!1,o("click",i)}R(()=>{const i=z(e,Fe.props),c=z(typeof e.dropdownIcon=="object"?e.dropdownIcon:{},he.props);return n.createVNode(n.Fragment,null,[n.createVNode(Fe,n.mergeProps(i,{modelValue:r.value,"onUpdate:modelValue":u=>r.value=u,"content-classes":me(["y-dropdown__content",e.contentClasses])}),{base:(...u)=>t.base?t.base?.(...u):n.createVNode(U,n.mergeProps({variation:e.variation,color:e.color,class:["y-dropdown",{"y-dropdown--opened":r.value}],disabled:e.disabled},a,[...u][0]?.props??{}),{default:()=>[n.createVNode("span",{class:"y-dropdown__default"},[t.default?.()]),t["dropdown-icon"]?t["dropdown-icon"]():n.createVNode(he,n.mergeProps(n.mergeProps(c),{icon:e.dropdownIcon,class:["y-dropdown__icon"]}),null)]}),default:()=>{let u;return t.menu?t.menu():n.createVNode(et,null,{default:()=>[Array.isArray(e.items)&&e.items.length>0?n.createVNode(Rt,null,ti(u=e.items.map(s=>{const d=H(s,e.itemText),m=`item.${s.key}`;return n.createVNode($t,{onClick:v=>l(s)},{default:()=>[t.item?t.item({text:d,item:s}):t?.[m]?t[m]({text:d,item:s}):d]})}))?u:{default:()=>[u]}):n.createVNode("div",{class:"y-dropdown__no-options"},[n.createTextVNode("항목이 없습니다.")])]})}})])})}}),ai={...Mt({itemKey:"value",itemChildren:!1}),returnItem:Boolean},oi=B(ai,"list-items");function Ga(e,t){const a=[];for(const o of t)a.push(qa(e,o));return a}function qa(e,t){const a=!!t?.hide,o=!!t?.disabled,r=le(t,e.itemText,t),l=e.returnItem?t:le(t,e.itemKey,r),i=le(t,e.itemChildren);return{value:l,text:r,hide:a,disabled:o,props:{value:l,text:r},children:Array.isArray(i)?Ga(e,i):void 0,raw:t}}function ri(e){const t=n.computed(()=>Ga(e,e.items));function a(r){return r.filter(l=>l!==null||t.value.some(i=>i.value===null)).map(l=>t.value.find(c=>ie(l,c.value))??qa(e,l))}function o(r){return e.returnItem?r.map(({raw:l})=>l):r.map(({value:l})=>l)}return{items:t,toEmitItems:o,toRefineItems:a}}function li(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const Xa=B({opened:Boolean,closeOnBlur:Boolean,multiple:Boolean,itemComparator:{type:Function,default:ie},defaultSelect:Boolean,menuProps:{type:Object},...oi()},"Select"),Za=B({maxHeight:{type:[Number,String],default:310},dropdownIcon:{type:[String,Array,Object],default:"$dropdown"},openDelay:{type:Number,default:200},closeDelay:{type:Number,default:200},...Xa(),...St(),...te(Et({position:"bottom"}),["coordinateStrategy"])},"YSelect"),ii=M({name:"YSelect",inheritAttrs:!1,props:{...Za()},emits:{"update:modelValue":()=>!0,"update:opened":e=>!0,"click:item":(e,t)=>!0,change:e=>!0},slots:Object,setup(e,{slots:t,attrs:a,expose:o,emit:r}){const l=n.ref(),i=n.ref(),c=n.ref(),u=n.ref(),s=K(e,"opened"),d=n.shallowRef(!1),{items:m,toRefineItems:v,toEmitItems:h}=ri(e),{t:x}=Ie(),b=S=>{const Y=h(ye(S));return e.multiple?Y:Y[0]??null},f=K(e,"modelValue",[],S=>v(S===null?[null]:ye(S)),b),w=n.computed(()=>{const S=[];for(const Y of f.value){const $=m.value.find(P=>e.itemComparator(P.value,Y.value));$!==void 0&&S.push($)}return S}),T=n.computed(()=>w.value.map(S=>S?.props?.value)),D=n.computed(()=>({...e.menuProps,preventCloseBubble:!0}));function g(S){return!!w.value.find(Y=>Y?.value===S.value)}function p(S){e.disabled||(S.key==="Enter"||S.key===" ")&&(s.value=!s.value)}function y(S){requestAnimationFrame(()=>{i.value?.layer$?.content$?.contains(document.activeElement)||s.value&&e.closeOnBlur&&(s.value=!1)})}function _(S,Y){S.disabled||(E(S,Y),e.multiple||setTimeout(()=>{s.value=!1},40))}function O(){d.value}function V(S){if(S.target&&i.value?.layer$?.content$)return S.target?.contains(i.value?.layer$?.content$)}function E(S,Y){let $;if(e.multiple){const P=w.value.findIndex(A=>A.value===S.value);if(P===-1)$=[...f.value,S];else{const A=f.value.slice();A.splice(P,1),$=A}}else $=[S];f.value=$,r("change",b($),Y,l.value)}const k=n.computed(()=>e.multiple?w.value.map(S=>S.text).join(", "):w.value?.[0]?.text??""),C=n.computed(()=>i.value?.baseEl);n.watch(s,S=>{S&&n.nextTick(()=>{N()})});function N(){if(w.value.length===0)return;const S=dt(c.value);if(S){const Y=S?.querySelector(".y-list-item--active"),$=i.value?.layer$?.content$;if(Y&&$){const P=kr(Y);P&&($.contains(P)||$.isSameNode(P))&&P.scrollTo({top:Y.offsetTop,behavior:"smooth"})}}}return R(()=>{const S=z(e,Xe.props),Y=z(typeof e.dropdownIcon=="object"?e.dropdownIcon:{},he.props);return n.createVNode(Xe,n.mergeProps({ref:l},S,{modelValue:f.value.map($=>$.props.value).join(", "),validationValue:f.rxValue,"onKeydown:display":p,onBlur:y,readonly:!0,class:["y-select",{"y-select--opened":s.value,"y-select--selected":T.value.length>0}]},a,{focused:d.value}),{default:()=>{const $={items:w.value.map(P=>P.raw),displayText:k.value,placeholder:e.placeholder,internalItems:w.value};return n.createVNode(n.Fragment,null,[n.createVNode("div",{class:["y-select__selection"]},[t.selection?t.selection?.($):T.value.length>0?k.value:e.placeholder]),n.createVNode(Fe,n.mergeProps({ref:i,offset:e.offset,position:e.position,align:e.align,origin:e.origin,"content-classes":["y-select__content"],maxHeight:e.maxHeight,"open-on-click-base":!1,onAfterLeave:O,"open-delay":e.openDelay,"close-delay":e.closeDelay,closeCondition:V,base:"parent"},D.value,{modelValue:s.value,"onUpdate:modelValue":P=>s.value=P}),{default:t.menu?()=>t.menu?.():()=>{let P;return n.createVNode(et,{ref:u},{default:()=>[t["menu-prepend"]?.(),(m.value?.length??0)>0?n.createVNode(Rt,{ref:c},li(P=m.value.map(A=>{const L={item:A,selected:g(A),select:I=>{E(A,I)}};return n.withDirectives(n.createVNode($t,{onClick:I=>_(A,I),class:[{"y-list-item--active":g(A)}],disabled:A.disabled},{default:()=>t.item?t.item?.(L):A.text,leading:t["item-leading"]&&(()=>t["item-leading"]?.(L)),trailing:t["item-trailing"]&&(()=>t["item-trailing"]?.(L))}),[[n.vShow,!A.hide]])}))?P:{default:()=>[P]}):n.createVNode("div",{class:"y-select__no-options"},[x("$yuyeon.noItems")]),t["menu-append"]?.()]})}})])},leading:t.leading?(...$)=>t.leading?.(...$):void 0,trailing:(...$)=>t["dropdown-icon"]?t["dropdown-icon"]():n.createVNode(he,n.mergeProps(n.mergeProps(Y),{icon:e.dropdownIcon,class:["y-select__icon"]}),null),label:t.label?(...$)=>t.label?.(...$):void 0,"helper-text":t["helper-text"]?(...$)=>t["helper-text"]?.(...$):void 0})}),n.onMounted(()=>{e.defaultSelect&&(e.modelValue===void 0||Array.isArray(e.modelValue)&&e.modelValue.length===0)&&m.value?.length&&E(m.value[0])}),o({fieldInputRef:l,baseEl:C,opened:s}),{fieldInputRef:l,model:f,selections:w,selected:T,menuRef:i,baseEl:C,opened:s}}}),en=Symbol.for("yuyeon.y-tabs"),Ja=B({text:String,hideIndicator:Boolean,indicatorColor:String,...ze({selectedClass:"y-tab--selected",noWave:!0})},"YTab"),Qa=M({name:"YTab",props:Ja(),slots:Object,setup(e,{slots:t,attrs:a}){const o=n.shallowRef(!1),r=n.ref(),l=n.computed(()=>({})),i=n.computed(()=>({role:"tab","aria-selected":`${String(o.value)}`,tabindex:o.value?0:-1}));function c({value:u}){o.value=u}return R(()=>{const u=z(e,U.props);return n.createVNode(U,n.mergeProps({class:["y-tab"],active:!1},i.value,a,u,{injectSymbol:en,"onChoice:selected":c}),{default:()=>t.default?.()??e.text,append:()=>!e.hideIndicator&&n.createVNode("div",{ref:r,class:["y-tab__indicator"],style:l.value},null)})}),{}}}),eo=B({items:{type:Array},...Vo({selectedClass:"y-tab--active",mandatory:"force"})},"YTabs"),ci=M({name:"YTabs",props:{tag:{type:String,default:"div"},...eo()},emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){const{resizeObservedRef:a}=pe(),{resizeObservedRef:o}=pe(),r=Do(e,en),l=n.computed(()=>({next:r.next,prev:r.prev,select:r.select,isSelected:r.isSelected})),i=n.computed(()=>e.items?.map(c=>typeof c!="object"?{text:c,value:c}:c)??[]);return R(()=>n.createVNode(e.tag,{class:["y-tabs"],role:"tablist"},{default:()=>[n.createVNode("div",{key:"container",ref:a,class:["y-tabs__container"]},[n.createVNode("div",{key:"content",ref:o,class:["y-tabs__content"]},[t.default?t.default(l.value):i.value.map(c=>n.createVNode(Qa,n.mergeProps(c,{key:c.text}),null))])])]})),{selected:r.selected}}}),to="YAlert",si=st(to),ui=M({name:to,props:{...{semantic:String,variation:String,color:String,textColor:String,outlineColor:String}},slots:Object,setup(e,{slots:t}){const a=n.ref(),o=n.computed(()=>{const{variation:l}=e;return l?l.split(",").map(i=>i.trim()).filter(i=>!!i):[]}),r=n.computed(()=>{const l={};return e.color&&(l["--y-alert-surface-color"]=e.color,o.value.includes("filled")?l["--y-alert-surface-opacity"]=1:l["--y-alert-text-color"]=e.color,e.textColor&&(l["--y-alert-text-color"]=e.textColor),!e.outlineColor&&!e.semantic&&(l["--y-alert-outline-color"]=e.color)),e.outlineColor&&(l["--y-alert-outline-color"]=e.outlineColor),l});R(()=>n.withDirectives(n.createVNode("div",{ref:a,class:[si,{[`y-alert--${e.semantic}`]:e.semantic,"y-alert--filled":o.value.includes("filled"),"y-alert--outlined":o.value.includes("outlined")}],style:r.value},[n.createVNode(ke,null,null),t.leading&&n.createVNode("div",{class:["y-alert__leading"]},[t.leading()]),n.createVNode("div",{class:["y-alert__content"]},[t.title&&n.createVNode("div",{class:["y-alert__title"]},[t.title()]),t.default?.()]),t.trailing&&n.createVNode("div",{class:["y-alert__trailing"]},[t.trailing()])]),[[n.resolveDirective("theme")]]))}}),no=B({vertical:Boolean},"YDivider"),di=M({name:"YDivider",props:no(),setup(e){R(()=>n.withDirectives(n.createVNode("hr",{class:["y-divider",{"y-divider--vertical":e.vertical}]},null),[[n.resolveDirective("theme")]]))}}),tn=B({year:[Number,String],month:[Number,String],modelValue:Array,multiple:Boolean,range:[Boolean,String],allowedDates:[Array,Function],max:null,min:null,disabled:Boolean,color:String,hideWeekdays:Boolean,showAdjacentMonthDates:{type:Boolean,default:!0},hideHeader:Boolean,"onClick:day":Function},"YDateCalendar"),nn=M({name:"YDateCalendar",props:tn(),emits:{"update:modelValue":e=>!0,"update:year":e=>!0,"update:month":e=>!0,"click:day":e=>!0},setup(e,{slots:t,emit:a}){const o=Je(),r=Ie(),l=n.ref(),i=n.ref([]),c=K(e,"modelValue",[],g=>g==null?[]:ye(g)),u=n.computed(()=>c.value.length>0?o.date(c.value[0]):e.min?o.date(e.min):Array.isArray(e.allowedDates)?o.date(e.allowedDates[0]):o.date()),s=K(e,"year",void 0,g=>{const p=g!=null?Number(g):o.getYear(u.value);return o.startOfYear(o.setYear(o.date(),p))},g=>o.getYear(g)),d=K(e,"month",void 0,g=>{const p=g!=null?Number(g):o.getMonth(u.value);let y=o.setYear(o.date(),o.getYear(s.value));return y=o.startOfMonth(y),o.setMonth(y,p)},g=>o.getMonth(g)),m=n.computed(()=>{const g=o.getWeekArray(d.value),p=g.flat(),y=42;if(p.length<y){const _=p[p.length-1];let O=[];for(let V=1;V<=y-p.length;V++)O.push(o.addDays(_,V)),V%7===0&&(g.push(O),O=[])}return g}),v=n.computed(()=>{const g=m.value,p=o.date();return g.map((y,_)=>y.map((O,V)=>{const E=o.toISO(O),k=!o.isSameMonth(O,d.value),C=!!c.value?.find(N=>N!=null&&o.isSameDay(O,N));return{date:O,isoDate:E,formatted:o.format(O,"keyboardDate"),year:o.getYear(O),month:o.getMonth(O),day:o.getDay(O),disabled:w(O),weekStart:V%7===0,weekEnd:V%7===6,rangeStart:C&&c.value.length>1&&e.range&&o.isSameDay(b.value,O),rangeEnd:C&&c.value.length===2&&e.range&&o.isSameDay(f.value,O),weekIndex:_,selected:C,interval:T(O),today:o.isSameDay(O,p),adjacent:k,hidden:k&&!e.showAdjacentMonthDates,hovered:!1,localized:o.format(O,"dayOfMonth")}}))}),h=n.computed(()=>r.locale&&o.getWeekdays()),x=n.computed(()=>o.format(d.value,"monthAndYear")),b=n.computed(()=>{if(e.range&&c.value?.[0])return c.value[0]}),f=n.computed(()=>{if(e.range&&c.value?.[1])return c.value[1]});function w(g){if(e.disabled)return!0;const p=o.date(g);return e.min&&o.isAfter(o.date(e.min),p)||e.max&&o.isAfter(p,o.date(e.max))?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(y=>o.isSameDay(o.date(y),p)):typeof e.allowedDates=="function"?!e.allowedDates(p):!1}function T(g){if(!e.range)return!1;if(c.value.length===2){const p=o.date(g),y=o.date(c.value[0]),_=o.date(c.value[1]);if(o.isAfter(p,y)&&o.isBefore(p,_))return!0}return!1}function D(g){const p=g.date;if(e.multiple){if(e.range==="manual"){a("click:day",g);return}const y=c.value.findIndex(_=>o.isSameDay(_,p));if(e.range)if(c.value.length===1){const _=o.date(c.value[0]),O=o.date(p);o.isAfter(_,O)?c.value=[O,o.endOfDay(c.value[0])]:c.value=[o.startOfDay(c.value[0]),o.endOfDay(p)]}else c.value=[p];else if(y===-1)c.value=[...c.value,p];else{const _=[...c.value];_.splice(y,1),c.value=_}}else c.value=[p];a("click:day",g)}return R(()=>n.createVNode("div",{class:["y-date-calendar",{"y-date-calendar--range":e.range&&c.value.length===2}]},[!e.hideHeader&&n.createVNode("header",{class:"y-date-calendar__header"},[t.header?t.header():x.value]),n.createVNode("div",{ref:l,class:["y-date-calendar__container"]},[!e.hideWeekdays&&n.createVNode("div",{class:["y-date-calendar__week"]},[h.value.map(g=>n.createVNode("div",{class:["y-date-calendar__cell","y-date-calendar__weekday"]},[g]))]),v.value.map((g,p)=>n.createVNode("div",{class:["y-date-calendar__week"],role:"row","aria-rowindex":p},[g.map((y,_)=>{const O={props:{onClick:()=>{D(y)}},item:y,index:_};return n.createVNode("div",{class:["y-date-calendar__cell","y-date-calendar__day",{"y-date-calendar__day--adjacent":y.adjacent,"y-date-calendar__day--hovered":y.hovered,"y-date-calendar__day--selected":y.selected,"y-date-calendar__day--week-start":y.weekStart,"y-date-calendar__day--week-end":y.weekEnd,"y-date-calendar__day--range-interval":y.interval,"y-date-calendar__day--range-start":y.rangeStart,"y-date-calendar__day--range-end":y.rangeEnd}],"data-date":y.disabled?void 0:y.isoDate},[(e.showAdjacentMonthDates||!y.adjacent)&&n.createVNode(n.Fragment,null,[t.day?.(O)??n.createVNode(U,n.mergeProps({color:(y.selected||y.today)&&!y.disabled?e.color:void 0,disabled:y.disabled,variation:["rounded",y.selected?"filled":y.today?"outlined":"text"].join(",")},O.props),{default:()=>[y.day]})])])})]))])])),{day$:i,container$:l,dateUtil:o,displayValue:u,month:d,year:s,rangeStart:b,rangeEnd:f,model:c}}}),fi=B({disabled:{type:[Boolean,String,Array],default:!1},nextIcon:{type:[String,Object],default:"$next"},prevIcon:{type:[String,Object],default:"$prev"},dropdownIcon:{type:[String,Object]},mode:{type:String,default:"date"},yearText:String,monthText:String},"YDataPickerControl"),ao=M({name:"YDatePickerControl",props:fi(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0},setup(e,{emit:t}){const a=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("year"):!!e.disabled),o=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("month"):!!e.disabled),r=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("prev"):!!e.disabled),l=n.computed(()=>Array.isArray(e.disabled)?e.disabled.includes("next"):!!e.disabled);function i(){t("click:prev")}function c(){t("click:next")}function u(){t("click:year")}function s(){t("click:month")}R(()=>n.createVNode("div",{class:["y-date-picker-control"]},[n.createVNode(U,{variation:"text",class:"y-date-picker-control__display",disabled:a.value,onClick:u},{default:()=>[e.yearText]}),n.createVNode(U,{variation:"text",class:"y-date-picker-control__display",disabled:o.value,onClick:s},{default:()=>[e.monthText]}),n.createVNode("div",{class:"flex-spacer"},null),n.createVNode(U,{class:"y-date-picker-control__page-button",variation:"text",disabled:r.value,onClick:i},{default:()=>[n.createVNode(he,{icon:e.prevIcon},null)]}),n.createVNode(U,{class:"y-date-picker-control__page-button",variation:"text",disabled:l.value,onClick:c},{default:()=>[n.createVNode(he,{icon:e.nextIcon},null)]})]))}}),oo=B({modelValue:Number,color:String,height:[String,Number]},"YMonthPicker"),ro=M({name:"YMonthPicker",props:oo(),emits:["mode","click","update:modelValue"],setup(e,{emit:t}){const a=Je(),o=K(e,"modelValue"),r=n.computed(()=>{let i=a.startOfYear(a.date());return fe(12).map(c=>{const u=a.format(i,"monthShort");return i=a.getNextMonth(i),{text:u,value:c}})});function l(i){t("click",i),o.value===i&&t("mode"),o.value=i}return R(()=>n.createVNode("div",{class:["y-month-picker"]},[r.value.map((i,c)=>{const u={active:c===o.value};return n.createVNode("div",{class:["y-month-picker__cell","y-month-picker__month"]},[n.createVNode(U,{variation:["rounded","text"].join(","),active:u.active,color:e.color,onClick:()=>l(c)},{default:()=>[i.text]})])})])),{}}}),lo=B({modelValue:Number,color:String,height:[String,Number],min:null,max:null},"YYearPicker"),lt=20,io=M({name:"YYearPicker",props:lo(),emits:["mode","click","update:modelValue"],setup(e,{emit:t,expose:a}){const o=Je(),r=K(e,"modelValue"),l=r.value,i=n.ref(l-l%lt-(l<0?lt:0)),c=n.computed(()=>{let d=o.startOfYear(o.date());return fe(lt+1,i.value).map(m=>(d=o.setYear(d,m),{text:o.format(d,"year"),value:m,active:r.value===m}))});function u(d){t("click",d),r.value===d&&t("mode"),r.value=d}function s(d=1){let m=i.value+lt*d;m<0&&(m=0),i.value=m}return a({changePage:s}),R(()=>n.createVNode("div",{class:["y-year-picker"]},[c.value.map(d=>n.createVNode("div",{class:["y-year-picker__cell"]},[n.createVNode(U,{variation:["rounded","text"].join(","),active:d.active,color:e.color,onClick:()=>u(d.value)},{default:()=>[d.text]})]))])),{}}}),co=B({...te(tn(),["modelValue"]),modelValue:null},"YDatePicker"),mi=M({name:"YDatePicker",props:co(),emits:["update:month","update:year","update:modelValue","update:mode","click:day"],setup(e,{emit:t}){const a=n.ref(),o=Je(),r=K(e,"modelValue"),l=K(e,"mode"),i=K(e,"month"),c=K(e,"year"),u=n.computed({get:()=>i.value!=null||!Number.isNaN(Number(i.value))?Number(i.value):o.getMonth(o.date()),set:p=>{i.value=p}}),s=n.computed({get:()=>c.value!=null||!Number.isNaN(Number(c.value))?Number(c.value):o.getYear(o.date()),set:p=>{c.value=p}}),d=n.computed(()=>{let p=o.startOfMonth(o.date());return p=o.setYear(p,+s.value),o.setMonth(p,+u.value)}),m=n.computed(()=>o.format(d.value,"month")),v=n.computed(()=>o.format(d.value,"year"));function h(){l.value=l.value==="month"?"date":"month"}function x(){l.value=l.value==="year"?"date":"year"}function b(){x()}function f(){h()}function w(p){if(l.value==="month"){s.value=s.value+p;return}if(l.value==="year"){a.value?.changePage(p);return}const y=u.value+p;y>11?(s.value+=1,u.value=0):y<0?(s.value-=1,u.value=11):u.value=y}function T(){w(-1)}function D(){w(1)}function g(p){t("click:day",p.date)}n.watch(u,()=>{l.value==="month"&&h(),t("update:month",u.value)}),n.watch(s,()=>{l.value==="year"&&(l.value="month"),t("update:year",s.value)}),R(()=>n.createVNode("div",{class:["y-date-picker"]},[n.createVNode(ao,n.mergeProps(z(e,ao.props),{yearText:v.value,monthText:m.value,"onClick:year":b,"onClick:month":f,"onClick:prev":T,"onClick:next":D}),null),n.createVNode(n.Transition,{name:"fade",mode:"out-in"},{default:()=>[l.value==="month"?n.createVNode(ro,{modelValue:u.value,"onUpdate:modelValue":p=>u.value=p,onMode:()=>{l.value="date"}},null):l.value==="year"?n.createVNode(io,{modelValue:s.value,"onUpdate:modelValue":p=>s.value=p,ref:a,onMode:()=>{l.value="month"}},null):n.createVNode(nn,n.mergeProps(te(z(e,nn.props),["onClick:day"]),{hideHeader:!0,modelValue:r.value,"onUpdate:modelValue":p=>r.value=p,month:u.value,"onUpdate:month":p=>u.value=p,year:s.value,"onUpdate:year":p=>s.value=p,"onClick:day":g}),null)]})]))}});function yi(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const so=B({tag:{type:String,default:"div"},dot:Boolean,bordered:Boolean,floating:Boolean,inline:Boolean,icon:Jt,hide:Boolean,label:{type:String,default:"$yuyeon.badge"},content:[Number,String],max:Number,transition:{type:String,default:"fade"},...Er({backgroundOpacity:1})},"YBadge"),hi=M({name:"YBadge",props:so(),slots:Object,setup(e,{slots:t}){const{t:a}=Ie(),{colorVars:o}=zn(e,"badge");R(()=>{let r;const l=e.tag,i=Number(e.content),c=!e.max||isNaN(i)?e.content:i<=+e.max?i:`${e.max}+`;return n.createVNode(l,{class:["y-badge",{"y-badge--bordered":e.bordered,"y-badge--dot":e.dot,"y-badge--floating":e.floating,"y-badge--inline":e.inline}],style:o.value},{default:()=>[n.createVNode("div",{class:"y-badge__base"},[t.default?.(),n.createVNode(Ye,{is:e.transition,transitionProps:{name:e.transition}},yi(r=n.withDirectives(n.createVNode("span",{class:["y-badge__badge"],"aria-atomic":"true","aria-label":a(e.label,i),"aria-live":"polite",role:"status"},[e.dot?void 0:t.badge?t.badge?.():e.icon?n.createVNode(he,{icon:e.icon},null):c]),[[n.vShow,!e.hide]]))?r:{default:()=>[r]})])]})})}}),gi=M({name:"YTextEllipsis",props:{text:{type:String,default:""},position:{type:String}},setup(e){const{resizeObservedRef:t,contentRect:a}=pe(),o=n.ref(!1),r=n.computed(()=>a.value?.width),l=n.computed(()=>e.text),i=n.computed(()=>{if(o.value){const u=Math.round(e.text.length*.5);return e.text.substring(0,u)}return e.text}),c=n.computed(()=>{if(o.value){const u=Math.round(e.text.length*.5);return e.text.substring(u,e.text.length)}return e.text});n.watch(r,u=>{t.value&&u!=null&&(o.value=t.value.scrollWidth>t.value.offsetWidth)}),R(()=>n.createVNode("span",{title:l.value,class:["y-text-ellipsis",{overflowed:o.value}]},[n.createVNode("span",{ref:t,class:"y-text-ellipsis__origin"},[e.text]),o.value&&n.createVNode("span",{class:"y-text-ellipsis__start"},[i.value]),o.value&&n.createVNode("span",{class:"y-text-ellipsis__end"},[c.value])]))}}),De="y-ip-field",uo="y-ipv4-field",fo=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,vi=M({name:uo,props:{fixedUntil:Number,text:Boolean,subnet:Boolean,autoFillSubnet:[Boolean,Number,String],...Pe()},emits:{"update:modelValue":e=>!0,tab:e=>!0,focus:()=>!0,blur:()=>!0},setup(e,{slots:t,emit:a}){const o=n.ref(),r=n.ref(),l=n.ref([]),i=K(e),c=n.reactive({0:"",1:"",2:"",3:"",4:""}),u=n.reactive({0:"",1:"",2:"",3:"",4:""}),s=n.ref(!1),d=n.ref([]);function m(k){return!/[^0-9]/.test(k)&&Number(k)<33&&Number(k)>-1}function v(k,C){const S=C.target?.value||"",Y=u[k],$=k<4?fo.test(S):m(S),P=S!==""?Number(S).toString():"";c[k]=P.replace(/\./g,""),!$&&S!==""?p(k,Y.replace(/\./g,"")):(S.length>2&&y(k),u[k]=P.replace(/\./g,""),O())}function h(k,C){s.value=!0,d.value.push(k)}function x(k,C){s.value=!1,n.nextTick(()=>{setTimeout(()=>{d.value.forEach((N,S)=>{N===k&&d.value.splice(S,1)})})})}function b(k,C){}function f(k,C){const N=C.target;if(C.key==="Backspace"&&C.target&&N.value===""&&_(k),(C.key==="ArrowRight"||C.key==="ArrowDown"&&!C.shiftKey)&&N.selectionStart!==null&&N.value.length<=N.selectionStart)if(k===3){C.preventDefault(),a("tab");return}else{C.preventDefault(),y(k);return}if((C.key==="ArrowLeft"||C.key==="ArrowUp"&&!C.shiftKey)&&N.selectionStart!==null&&N.selectionStart===0)if(k===0){C.preventDefault(),a("tab",-1);return}else{C.preventDefault(),_(k);return}if(C.key==="."){C.preventDefault(),y(k);return}(C.key==="Tab"&&!C.shiftKey&&N.value!==""||C.key==="Enter"||C.key===".")&&e.onTab&&k===3&&(C.preventDefault(),a("tab",3))}function w(k,C){}function T(k){if(typeof k=="string"){let C=[];if(k.lastIndexOf("/")>-1){const N=k.substring(k.lastIndexOf("/")+1,k.length);e.subnet&&m(N)&&(c[4]=N),C=k.substring(0,k.lastIndexOf("/")).split(".")}else C=k.split(".");if(C.length>2){for(let N=0;N<4;N+=1){const S=C[N];S!==void 0&&fo.test(S)?c[N]=S:c[N]=""}O()}}}function D(k){const C=(k.clipboardData||window.clipboardData).getData("text");isNaN(Number(C))&&(k.preventDefault(),T(C))}function g(){e.autoFillSubnet&&c[0]&&c[1]&&c[2]&&c[3]&&!c[4]&&(typeof e.autoFillSubnet=="boolean"?c[4]="32":c[4]=e.autoFillSubnet.toString(),O())}function p(k,C){n.nextTick(()=>{c[k]=C.replace(/\./g,""),O()})}function y(k){const C=k+1;if(C<4){const N=l.value[C];c[C]===""&&(c[C]="0",O()),N.focus(),N.selectionStart=0}}function _(k){const C=k-1;if(C>-1){const N=l.value[C];N.focus(),N.selectionStart=N.value.length+1}}function O(){i.value=V()}function V(){return c[0]===""&&c[1]===""&&c[2]===""&&c[3]===""?"":`${c[0]}.${c[1]}.${c[2]}.${c[3]}${e.subnet?"/"+c[4]:""}`}const E=n.computed(()=>d.value.length>0);return n.watch(i,k=>{if(k===""){for(let C=0;C<5;C+=1)c[C]="",u[C]="";return}else T(k)},{immediate:!0}),n.watch(E,k=>{k||g()}),n.watch(s,k=>{a(k?"focus":"blur")}),R(()=>(l.value=[],n.createVNode(be,n.mergeProps({ref:r,class:[uo,De,{[`${De}--text`]:e.text}]},z(e,be.props)),{leading:(...k)=>t.leading?.(...k),default:k=>n.createVNode("div",n.mergeProps({class:[`${De}__field`]},n.mergeProps({"data-id":k.attrId}),{ref:o}),[[0,1,2,3,4].map(C=>{const N=n.toRef(c,C);return(!e.subnet&&C<4||e.subnet)&&[n.createVNode("div",{class:[`${De}__part`]},[n.createVNode("input",{ref:S=>l.value.push(S),id:`${k.attrId}__part--${C}`,value:N.value,class:[`${De}__part-input`],readonly:e.readonly||e.loading,disabled:e.disabled,autocomplete:"false",maxlength:C===4?2:3,onInput:S=>v(C,S),onFocus:S=>h(C),onBlur:S=>x(C),onChange:S=>void 0,onKeydown:S=>f(C,S),onKeyup:S=>void 0,onPaste:D},null)]),C!==4&&(!e.subnet&&C<3||e.subnet)&&n.createVNode("div",{class:[`${De}__part`]},[C<3?".":"/"])]})]),trailing:(...k)=>t.trailing?.(...k),label:t.label&&(()=>t.label?.()),"helper-text":t["helper-text"]&&(()=>t["helper-text"]?.())}))),{parts:c,lazyParts:u,isFocused:s,fieldFocused:d}}}),mo=B({disabled:Boolean,modelValue:{type:Boolean,default:void 0},openDelay:{type:Number,default:100},closeDelay:{type:Number,default:100}},"YHover"),bi=M({name:"YHover",props:mo(),emits:["update:modelValue","hover"],setup(e,{slots:t,emit:a}){const o=K(e,"modelValue"),{startOpenDelay:r,startCloseDelay:l}=wr(e,c=>{e.disabled||(o.value=c)}),i=n.ref();n.watch(o,c=>{a("hover",c,i)}),R(()=>(i.value=t.default?.({isHovering:o.value,props:{onMouseenter:()=>r(),onMouseleave:()=>l()}}),n.createVNode(n.Fragment,null,[i.value])))}}),pi=M({name:"YTi",props:{text:String,item:Object,tag:{type:String,default:"span"}},setup(e,{slots:t}){const a=n.computed(()=>po(e.text??""));function o(r){return H(e.item,r)}R(()=>{const r=e.tag;return n.createVNode(r,null,{default:()=>[t.default?t.default?.({nodes:a.value}):a.value.map(l=>l.type==="text"?l.content:l.type==="variable"?t?.[l.content]?t[l.content]?.({key:l.content,value:o(l.content)}):o(l.content):l.content)]})})}});function wi(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const yo=B({src:String,crossorigin:String,referrerpolicy:String,...Me({transition:"fade"}),objectFit:{type:String,default:"contain"},eager:Boolean,...Zn()},"YImg"),Si=M({name:"YImg",props:{...yo()},slots:Object,emits:["load","loaded","error","status"],setup(e,{slots:t,attrs:a,emit:o}){const r=n.getCurrentInstance(),l=n.ref(),i=n.shallowRef(e.eager?"loading":"idle"),c=n.shallowRef(""),u=n.shallowRef(),s=n.shallowRef(),{polyTransitionBindProps:d}=Yn(e),m=n.computed(()=>({src:e.src})),v=n.computed(()=>({"y-img--cover":e.objectFit==="cover","y-img--contain":e.objectFit==="contain","y-img--fill":e.objectFit==="fill","y-img--scale-down":e.objectFit==="scale-down"}));function h(){const y=l.value;y&&(c.value=y.currentSrc||y.src)}function x(y){if(y.naturalWidth||y.naturalHeight)u.value=y.naturalWidth,s.value=y.naturalHeight;else{if(!y.complete&&i.value==="loading")return!1;(y.currentSrc.endsWith(".svg")||y.currentSrc.startsWith("data:image/svg+xml"))&&(u.value=1,s.value=1)}return!0}n.watch(()=>e.src,()=>{p()}),n.watch(i,y=>{o("status",y)},{immediate:!0});const b=y=>t.placeholder?n.createVNode(Ye,n.mergeProps(d.value,{appear:!0}),{default:()=>[(y.status==="idle"||y.status==="error")&&n.createVNode("div",{class:"y-img__placeholder"},[t.placeholder?.(y)])]}):null;function f(){r.isUnmounted||(i.value="loaded")}function w(y){r.isUnmounted||(i.value="error",o("error",y))}const T=y=>{let _;const O=n.createVNode("img",{ref:l,src:m.value.src,crossorigin:e.crossorigin,referrerpolicy:e.referrerpolicy,draggable:a.draggable,alt:a.alt,class:["y-img__img",v.value],onLoad:f,onError:w},null);return n.createVNode(Ye,n.mergeProps(d.value,{appear:!0}),wi(_=n.withDirectives(O,[[n.vShow,y.status==="loaded"]]))?_:{default:()=>[_]})};let D=-1;function g(y,_=100){const O=()=>{clearTimeout(D),!r.isUnmounted&&!x(y)&&_!=null&&(D=window.setTimeout(O,_))};O()}function p(y){e.eager,!(Mn.canUseIntersectionObserver&&!y&&!e.eager)&&(i.value="loading",m.value.src&&n.nextTick(()=>{o("load",l.value?.currentSrc||m.value.src),setTimeout(()=>{if(!r.isUnmounted)if(l.value?.complete){if(l.value?.naturalWidth||w(),i.value==="error")return;g(l.value,null),i.value==="loading"&&f()}else l.value&&(g(l.value),h())})}))}return n.onBeforeMount(()=>{p()}),n.onBeforeUnmount(()=>{clearTimeout(D)}),R(()=>n.createVNode("div",{class:["y-img"]},[n.createVNode(b,{status:i.value},null),n.createVNode(T,{status:i.value},null)])),{status:i,image$:l}}}),xi=Object.freeze(Object.defineProperty({__proto__:null,PageControlPaths:nt,YAlert:ui,YApp:ko,YBadge:hi,YButton:U,YCard:et,YCardBody:_r,YCardFooter:Tr,YCardHeader:Dr,YCheckbox:Zl,YChip:Or,YDataTable:Ul,YDataTableBody:_e,YDataTableCell:at,YDataTableControl:Te,YDataTableLayer:rt,YDataTableLayerRow:ja,YDataTableLayerRows:ql,YDataTableRow:Ba,YDataTableServer:Gl,YDateCalendar:nn,YDatePicker:mi,YDialog:vl,YDividePanel:Cl,YDivider:di,YDropdown:ni,YExpandHTransition:Nl,YExpandVTransition:ya,YFieldInput:Xe,YForm:or,YHover:bi,YIcon:he,YIconCheckbox:se,YIconClear:wt,YIconExpand:Re,YIconPageControl:ue,YIconSort:Yt,YImg:Si,YInput:be,YInputCheckbox:Zt,YIpv4Field:vi,YLayer:ne,YList:Rt,YListItem:$t,YMenu:Fe,YMenuPropOptions:Xt,YMonthPicker:ro,YPagination:Ra,YProgressBar:$n,YProgressRing:Vr,YSelect:ii,YSnackbar:pl,YSpinnerRing:pn,YSwitch:Ar,YTab:Qa,YTable:Ve,YTabs:ci,YTextEllipsis:gi,YTextHighlighter:va,YTextarea:nr,YTi:pi,YTooltip:xl,YTreeView:El,YTreeViewNode:ba,YYearPicker:io,Y_TABS_KEY:en,builtSet:ga,pressDataTableProps:qt,pressDataTableServerProps:Fa,pressSelectPropsOptions:Xa,pressYBadgePropsOptions:so,pressYButtonProps:ze,pressYChipPropsOptions:Un,pressYDataTableBodyProps:Gt,pressYDataTableControlPropsOptions:ot,pressYDataTableRowProps:Ya,pressYDateCalendarPropsOptions:tn,pressYDatePickerPropsOptions:co,pressYDialogPropsOptions:sa,pressYDividerPropsOptions:no,pressYDropdownPropsOptions:Ua,pressYFieldInputPropsOptions:St,pressYHoverPropsOptions:mo,pressYIconPropsOptions:za,pressYImgPropsOptions:yo,pressYInputPropsOptions:Pe,pressYLayerProps:Ce,pressYListItemProps:Sa,pressYListPropsOptions:xa,pressYMonthPickerPropsOptions:oo,pressYPaginationProps:$a,pressYSelectPropsOptions:Za,pressYSnackbarPropsOptions:da,pressYSwitchPropsOptions:Gn,pressYTabPropsOptions:Ja,pressYTableProps:Ft,pressYTabsPropOptions:eo,pressYTextareaPropsOptions:Vn,pressYTooltipPropsOptions:fa,pressYTreeViewNodeProps:Bt,pressYYearPickerPropsOptions:lo},Symbol.toStringTag,{value:"Module"})),Ni=",--. ,--.,--.,--.,--. ,--.,---. ,---. ,--,--, \n \\ ' / | || | \\ ' /| .-. :| .-. || \\ \n \\ ' ' '' ' \\ ' \\ --.' '-' '| || | \n.-' / `----' .-' / `----' `---' `--''--' \n`---' `---' ",Ci={credit:!0};function ki(e=Ci){const t=No(e?.defaults),a=Go(e?.theme),o=dr(e?.i18n),r=vr(e?.date,o.localeModule),l=Jl(e?.icon),i=e?.components??xi;return{install:u=>{a.install(u);const s=n.reactive({app:null,root:null,theme:a.instance,i18n:{...o.localeModule,...o.rtlModule},date:r,defaults:t,icon:l});Object.keys(i).forEach(v=>{const h=i[v];typeof h=="object"&&"name"in h&&u.component(v,h)}),u.directive("plate-wave",bn),u.provide(We,t),u.provide(Ge,a.instance),u.provide(Ha,l),u.provide(On,{...o.localeModule,...o.rtlModule}),u.provide(Pn,r.options),u.provide(gr,r.instance),u.config.globalProperties.$yuyeon=s,n.nextTick(()=>{s.root=u._container,s.app=u._instance,s.root&&(s.root.classList.add("y-root"),s.root.setAttribute("data-y-root",""),a.init(s))}),e?.credit&&console.log(Ni);const{unmount:d,mount:m}=u;u.mount=(...v)=>{const h=m(...v);return s.app||(s.app=u._instance),s.root||n.nextTick(()=>{s.root=u._container,s.root&&(s.root.classList.add("y-root"),s.root.setAttribute("data-y-root",""),a.init(s))}),u.mount=m,h},u.unmount=()=>{d(),a.scope.stop(),u.unmount=d}}}}function ho(){const e=n.getCurrentInstance();if(!e)throw new Error("[yuyeon] Called outside of setup context");return e.appContext.config.globalProperties.$yuyeon}oe.init=ki,oe.useTheme=qo,oe.useYuyeon=ho,Object.defineProperty(oe,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -114,10 +114,25 @@ export const YDialog = defineComponent({
|
|
|
114
114
|
}
|
|
115
115
|
function testChildrenContains(layers) {
|
|
116
116
|
return layers.some(layer => {
|
|
117
|
-
|
|
117
|
+
const content$ = layer?.exposeProxy?.content$;
|
|
118
|
+
if (content$?.contains(target)) return true;
|
|
119
|
+
const grandChildren = layer?.exposeProxy?.children ?? [];
|
|
120
|
+
return testChildrenContains(grandChildren);
|
|
118
121
|
});
|
|
119
122
|
}
|
|
120
|
-
if (prevTarget
|
|
123
|
+
if (prevTarget === target) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (!layer$.value?.content$) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if ([document, layer$.value?.content$].includes(target)) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (layer$.value?.content$.contains(target)) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (!testChildrenContains(children.value)) {
|
|
121
136
|
const focusableSelector = 'button, [href], input:not([type="hidden"]), select, textarea, [tabindex]:not([tabindex="-1"])';
|
|
122
137
|
const focusables = [...layer$.value.content$.querySelectorAll(focusableSelector)].filter(el => !el.hasAttribute('disabled') && !el.matches('[tabindex="-1"]'));
|
|
123
138
|
if (!focusables.length) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDialog.js","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","watch","mergeProps","_mergeProps","createVNode","_createVNode","useModelDuplex","useRender","omit","bindClasses","chooseProps","defineComponent","propsFactory","toStyleSizeValue","YCard","pressYLayerProps","YLayer","hasActiveModal","hasMaximizedModal","isTopModal","updateRelayEntry","pressYDialogPropsOptions","persistent","type","Boolean","default","dialogClasses","Array","String","Object","focusTrap","offset","scrim","openOnClick","scrollStrategy","YDialog","name","components","props","emits","setup","_ref","emit","slots","vm","$yuyeon","appContext","config","globalProperties","active","classes","boundClasses","maximized","styles","contentStyles","paddingTop","layer$","children","value","relayId","neo","installFocusTrap","uninstallFocusTrap","preventInteractionBackground","id","onFocusin","e","prevTarget","relatedTarget","target","excludeTarget","document","querySelector","isSameNode","isArray","excluded","some","exclude","testChildrenContains","layers","layer","content$","contains","includes","focusableSelector","focusables","querySelectorAll","filter","el","hasAttribute","matches","length","firstChild","lastChild","focus","addEventListener","removeEventListener","tempScrollTop","tempScrollLeft","toggle","root$","root","myId","undefined","documentElement","classList","add","scrollTop","scrollLeft","style","top","left","remove","onAfterEnter","onAfterLeave","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/dialog/YDialog.tsx"],"sourcesContent":["import {\r\n computed,\r\n getCurrentInstance,\r\n nextTick,\r\n onBeforeMount,\r\n onBeforeUnmount,\r\n type PropType,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { omit } from '@/util/common';\r\nimport {\r\n bindClasses,\r\n chooseProps,\r\n defineComponent,\r\n propsFactory,\r\n} from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport { YCard } from '../card';\r\nimport { pressYLayerProps, YLayer } from '../layer';\r\n\r\nimport './YDialog.scss';\r\n\r\nimport {\r\n hasActiveModal,\r\n hasMaximizedModal,\r\n isTopModal,\r\n updateRelayEntry,\r\n} from '@/components/layer/relay-stack';\r\n\r\nexport const pressYDialogPropsOptions = propsFactory(\r\n {\r\n persistent: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n dialogClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n focusTrap: {\r\n type: [Boolean, String, Object, Array] as PropType<\r\n false | string | string[] | HTMLElement | HTMLElement[]\r\n >,\r\n default: true,\r\n },\r\n offset: {\r\n type: String as PropType<string>,\r\n },\r\n ...omit(\r\n pressYLayerProps({\r\n scrim: true,\r\n openOnClick: true,\r\n scrollStrategy: null,\r\n }),\r\n ['offset', 'classes'],\r\n ),\r\n },\r\n 'YDialog',\r\n);\r\n\r\nexport const YDialog = defineComponent({\r\n name: 'YDialog',\r\n components: {\r\n YLayer,\r\n YCard,\r\n },\r\n props: pressYDialogPropsOptions(),\r\n emits: ['update:modelValue', 'afterEnter', 'afterLeave'],\r\n setup(props, { emit, slots }) {\r\n const vm = getCurrentInstance();\r\n const $yuyeon = vm?.appContext.config.globalProperties.$yuyeon;\r\n const active = useModelDuplex(props);\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.dialogClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-dialog': true,\r\n 'y-dialog--maximized': props.maximized,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n return {\r\n ...(props.contentStyles ?? {}),\r\n paddingTop: toStyleSizeValue(props.offset),\r\n };\r\n });\r\n\r\n const layer$ = ref<typeof YLayer>();\r\n\r\n const children = computed(() => layer$.value?.children || []);\r\n\r\n const relayId = computed(() => layer$.value?.relayId);\r\n\r\n watch(active, (neo) => {\r\n neo ? installFocusTrap() : uninstallFocusTrap();\r\n preventInteractionBackground(neo);\r\n });\r\n\r\n watch(relayId, (id) => {\r\n if (id != null) {\r\n updateRelayEntry(id, { maximized: () => props.maximized ?? false });\r\n }\r\n });\r\n\r\n onBeforeMount(() => {\r\n if (active.value) {\r\n installFocusTrap();\r\n preventInteractionBackground(true);\r\n }\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n uninstallFocusTrap();\r\n if (active.value) {\r\n preventInteractionBackground(false);\r\n }\r\n });\r\n\r\n function onFocusin(e: FocusEvent) {\r\n if (props.focusTrap === false) return;\r\n\r\n if (relayId.value == null || isTopModal() !== relayId.value) return;\r\n\r\n const prevTarget = e.relatedTarget as HTMLElement | null;\r\n const target = e.target as HTMLElement | null;\r\n\r\n const excludeTarget = props.focusTrap;\r\n\r\n if (\r\n typeof excludeTarget === 'string' &&\r\n document.querySelector(excludeTarget)?.isSameNode(target)\r\n ) {\r\n return;\r\n }\r\n\r\n if (typeof excludeTarget === 'object') {\r\n if (Array.isArray(excludeTarget)) {\r\n const excluded = excludeTarget.some((exclude) => {\r\n if (typeof exclude === 'string') {\r\n return document.querySelector(exclude)?.isSameNode(target);\r\n }\r\n if (typeof exclude === 'object') {\r\n return exclude?.isSameNode(target);\r\n }\r\n return false;\r\n });\r\n if (excluded) {\r\n return;\r\n }\r\n } else if (excludeTarget?.isSameNode(target)) {\r\n return;\r\n }\r\n }\r\n\r\n function testChildrenContains(layers: YLayer[]) {\r\n return layers.some((layer) => {\r\n return !layer.content$?.contains(target);\r\n });\r\n }\r\n\r\n if (\r\n prevTarget !== target &&\r\n layer$.value?.content$ &&\r\n ![document, layer$.value?.content$].includes(target) &&\r\n !layer$.value?.content$.contains(target) &&\r\n !testChildrenContains(children.value)\r\n ) {\r\n const focusableSelector =\r\n 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\r\n const focusables = [\r\n ...layer$.value.content$.querySelectorAll(focusableSelector),\r\n ].filter(\r\n (el) =>\r\n !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]'),\r\n ) as HTMLElement[];\r\n if (!focusables.length) return;\r\n const firstChild = focusables[0];\r\n const lastChild = focusables[focusables.length - 1];\r\n if (target?.isSameNode(firstChild) || target?.isSameNode(lastChild)) {\r\n return;\r\n }\r\n if (firstChild === lastChild) {\r\n lastChild.focus();\r\n } else {\r\n firstChild.focus();\r\n }\r\n }\r\n }\r\n\r\n function installFocusTrap() {\r\n document.addEventListener('focusin', onFocusin);\r\n }\r\n\r\n function uninstallFocusTrap() {\r\n document.removeEventListener('focusin', onFocusin);\r\n }\r\n\r\n const tempScrollTop = ref(0);\r\n const tempScrollLeft = ref(0);\r\n\r\n function preventInteractionBackground(toggle: boolean) {\r\n const root$ = $yuyeon.root as HTMLElement;\r\n const myId = relayId.value ?? undefined;\r\n\r\n if (toggle) {\r\n if (props.maximized) {\r\n document.documentElement.classList.add('y-dialog--prevent-scroll');\r\n }\r\n // 이미 다른 modal이 scroll lock 중이면 스크롤 위치 저장 스킵\r\n if (!root$.classList.contains('y-dialog--virtual-scroll')) {\r\n tempScrollTop.value = document.documentElement.scrollTop;\r\n tempScrollLeft.value = document.documentElement.scrollLeft;\r\n root$.classList.add('y-dialog--virtual-scroll');\r\n root$.style.top = toStyleSizeValue(-1 * tempScrollTop.value) || '';\r\n root$.style.left = toStyleSizeValue(-1 * tempScrollLeft.value) || '';\r\n }\r\n } else {\r\n if (!hasActiveModal(myId)) {\r\n // 다른 modal 없음 → 전체 해제 + 스크롤 복원\r\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\r\n root$.classList.remove('y-dialog--virtual-scroll');\r\n root$.style.top = '';\r\n root$.style.left = '';\r\n nextTick(() => {\r\n if (tempScrollTop.value) {\r\n document.documentElement.scrollTop = tempScrollTop.value;\r\n }\r\n if (tempScrollLeft.value) {\r\n document.documentElement.scrollLeft = tempScrollLeft.value;\r\n }\r\n });\r\n } else if (!hasMaximizedModal(myId)) {\r\n // 다른 modal은 있지만 maximized 아님 → prevent-scroll만 해제\r\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\r\n }\r\n }\r\n }\r\n\r\n function onAfterEnter() {\r\n emit('afterEnter');\r\n }\r\n\r\n function onAfterLeave() {\r\n emit('afterLeave');\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <YLayer\r\n ref={layer$}\r\n v-model={active.value}\r\n classes={classes.value}\r\n content-styles={styles.value}\r\n modal\r\n relayStack\r\n {...omit(chooseProps(props, YLayer.props), ['contentStyles'])}\r\n onAfterEnter={onAfterEnter}\r\n onAfterLeave={onAfterLeave}\r\n >\r\n {{\r\n default: (...args: any[]) => slots.default?.(...args),\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n );\r\n });\r\n\r\n return {\r\n active,\r\n layer: layer$,\r\n classes,\r\n children,\r\n relayId,\r\n };\r\n },\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"YDialog.js","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","watch","mergeProps","_mergeProps","createVNode","_createVNode","useModelDuplex","useRender","omit","bindClasses","chooseProps","defineComponent","propsFactory","toStyleSizeValue","YCard","pressYLayerProps","YLayer","hasActiveModal","hasMaximizedModal","isTopModal","updateRelayEntry","pressYDialogPropsOptions","persistent","type","Boolean","default","dialogClasses","Array","String","Object","focusTrap","offset","scrim","openOnClick","scrollStrategy","YDialog","name","components","props","emits","setup","_ref","emit","slots","vm","$yuyeon","appContext","config","globalProperties","active","classes","boundClasses","maximized","styles","contentStyles","paddingTop","layer$","children","value","relayId","neo","installFocusTrap","uninstallFocusTrap","preventInteractionBackground","id","onFocusin","e","prevTarget","relatedTarget","target","excludeTarget","document","querySelector","isSameNode","isArray","excluded","some","exclude","testChildrenContains","layers","layer","content$","exposeProxy","contains","grandChildren","includes","focusableSelector","focusables","querySelectorAll","filter","el","hasAttribute","matches","length","firstChild","lastChild","focus","addEventListener","removeEventListener","tempScrollTop","tempScrollLeft","toggle","root$","root","myId","undefined","documentElement","classList","add","scrollTop","scrollLeft","style","top","left","remove","onAfterEnter","onAfterLeave","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/dialog/YDialog.tsx"],"sourcesContent":["import {\r\n computed,\r\n getCurrentInstance,\r\n nextTick,\r\n onBeforeMount,\r\n onBeforeUnmount,\r\n type PropType,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { omit } from '@/util/common';\r\nimport {\r\n bindClasses,\r\n chooseProps,\r\n defineComponent,\r\n propsFactory,\r\n} from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport { YCard } from '../card';\r\nimport { pressYLayerProps, YLayer } from '../layer';\r\n\r\nimport './YDialog.scss';\r\n\r\nimport {\r\n hasActiveModal,\r\n hasMaximizedModal,\r\n isTopModal,\r\n updateRelayEntry,\r\n} from '@/components/layer/relay-stack';\r\n\r\nexport const pressYDialogPropsOptions = propsFactory(\r\n {\r\n persistent: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n dialogClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n focusTrap: {\r\n type: [Boolean, String, Object, Array] as PropType<\r\n false | string | string[] | HTMLElement | HTMLElement[]\r\n >,\r\n default: true,\r\n },\r\n offset: {\r\n type: String as PropType<string>,\r\n },\r\n ...omit(\r\n pressYLayerProps({\r\n scrim: true,\r\n openOnClick: true,\r\n scrollStrategy: null,\r\n }),\r\n ['offset', 'classes'],\r\n ),\r\n },\r\n 'YDialog',\r\n);\r\n\r\nexport const YDialog = defineComponent({\r\n name: 'YDialog',\r\n components: {\r\n YLayer,\r\n YCard,\r\n },\r\n props: pressYDialogPropsOptions(),\r\n emits: ['update:modelValue', 'afterEnter', 'afterLeave'],\r\n setup(props, { emit, slots }) {\r\n const vm = getCurrentInstance();\r\n const $yuyeon = vm?.appContext.config.globalProperties.$yuyeon;\r\n const active = useModelDuplex(props);\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.dialogClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-dialog': true,\r\n 'y-dialog--maximized': props.maximized,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n return {\r\n ...(props.contentStyles ?? {}),\r\n paddingTop: toStyleSizeValue(props.offset),\r\n };\r\n });\r\n\r\n const layer$ = ref<typeof YLayer>();\r\n\r\n const children = computed(() => layer$.value?.children || []);\r\n\r\n const relayId = computed(() => layer$.value?.relayId);\r\n\r\n watch(active, (neo) => {\r\n neo ? installFocusTrap() : uninstallFocusTrap();\r\n preventInteractionBackground(neo);\r\n });\r\n\r\n watch(relayId, (id) => {\r\n if (id != null) {\r\n updateRelayEntry(id, { maximized: () => props.maximized ?? false });\r\n }\r\n });\r\n\r\n onBeforeMount(() => {\r\n if (active.value) {\r\n installFocusTrap();\r\n preventInteractionBackground(true);\r\n }\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n uninstallFocusTrap();\r\n if (active.value) {\r\n preventInteractionBackground(false);\r\n }\r\n });\r\n\r\n function onFocusin(e: FocusEvent) {\r\n if (props.focusTrap === false) return;\r\n\r\n if (relayId.value == null || isTopModal() !== relayId.value) return;\r\n\r\n const prevTarget = e.relatedTarget as HTMLElement | null;\r\n const target = e.target as HTMLElement | null;\r\n\r\n const excludeTarget = props.focusTrap;\r\n\r\n if (\r\n typeof excludeTarget === 'string' &&\r\n document.querySelector(excludeTarget)?.isSameNode(target)\r\n ) {\r\n return;\r\n }\r\n\r\n if (typeof excludeTarget === 'object') {\r\n if (Array.isArray(excludeTarget)) {\r\n const excluded = excludeTarget.some((exclude) => {\r\n if (typeof exclude === 'string') {\r\n return document.querySelector(exclude)?.isSameNode(target);\r\n }\r\n if (typeof exclude === 'object') {\r\n return exclude?.isSameNode(target);\r\n }\r\n return false;\r\n });\r\n if (excluded) {\r\n return;\r\n }\r\n } else if (excludeTarget?.isSameNode(target)) {\r\n return;\r\n }\r\n }\r\n\r\n function testChildrenContains(layers: any[]): boolean {\r\n return layers.some((layer: any) => {\r\n const content$ = layer?.exposeProxy?.content$;\r\n if (content$?.contains(target)) return true;\r\n\r\n const grandChildren = layer?.exposeProxy?.children ?? [];\r\n return testChildrenContains(grandChildren);\r\n });\r\n }\r\n\r\n if (prevTarget === target) {\r\n return;\r\n }\r\n if (!layer$.value?.content$) {\r\n return;\r\n }\r\n if ([document, layer$.value?.content$].includes(target)) {\r\n return;\r\n }\r\n if (layer$.value?.content$.contains(target)) {\r\n return;\r\n }\r\n if (!testChildrenContains(children.value)) {\r\n const focusableSelector =\r\n 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\r\n const focusables = [\r\n ...layer$.value.content$.querySelectorAll(focusableSelector),\r\n ].filter(\r\n (el) =>\r\n !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]'),\r\n ) as HTMLElement[];\r\n if (!focusables.length) return;\r\n const firstChild = focusables[0];\r\n const lastChild = focusables[focusables.length - 1];\r\n if (target?.isSameNode(firstChild) || target?.isSameNode(lastChild)) {\r\n return;\r\n }\r\n if (firstChild === lastChild) {\r\n lastChild.focus();\r\n } else {\r\n firstChild.focus();\r\n }\r\n }\r\n }\r\n\r\n function installFocusTrap() {\r\n document.addEventListener('focusin', onFocusin);\r\n }\r\n\r\n function uninstallFocusTrap() {\r\n document.removeEventListener('focusin', onFocusin);\r\n }\r\n\r\n const tempScrollTop = ref(0);\r\n const tempScrollLeft = ref(0);\r\n\r\n function preventInteractionBackground(toggle: boolean) {\r\n const root$ = $yuyeon.root as HTMLElement;\r\n const myId = relayId.value ?? undefined;\r\n\r\n if (toggle) {\r\n if (props.maximized) {\r\n document.documentElement.classList.add('y-dialog--prevent-scroll');\r\n }\r\n // 이미 다른 modal이 scroll lock 중이면 스크롤 위치 저장 스킵\r\n if (!root$.classList.contains('y-dialog--virtual-scroll')) {\r\n tempScrollTop.value = document.documentElement.scrollTop;\r\n tempScrollLeft.value = document.documentElement.scrollLeft;\r\n root$.classList.add('y-dialog--virtual-scroll');\r\n root$.style.top = toStyleSizeValue(-1 * tempScrollTop.value) || '';\r\n root$.style.left = toStyleSizeValue(-1 * tempScrollLeft.value) || '';\r\n }\r\n } else {\r\n if (!hasActiveModal(myId)) {\r\n // 다른 modal 없음 → 전체 해제 + 스크롤 복원\r\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\r\n root$.classList.remove('y-dialog--virtual-scroll');\r\n root$.style.top = '';\r\n root$.style.left = '';\r\n nextTick(() => {\r\n if (tempScrollTop.value) {\r\n document.documentElement.scrollTop = tempScrollTop.value;\r\n }\r\n if (tempScrollLeft.value) {\r\n document.documentElement.scrollLeft = tempScrollLeft.value;\r\n }\r\n });\r\n } else if (!hasMaximizedModal(myId)) {\r\n // 다른 modal은 있지만 maximized 아님 → prevent-scroll만 해제\r\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\r\n }\r\n }\r\n }\r\n\r\n function onAfterEnter() {\r\n emit('afterEnter');\r\n }\r\n\r\n function onAfterLeave() {\r\n emit('afterLeave');\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <YLayer\r\n ref={layer$}\r\n v-model={active.value}\r\n classes={classes.value}\r\n content-styles={styles.value}\r\n modal\r\n relayStack\r\n {...omit(chooseProps(props, YLayer.props), ['contentStyles'])}\r\n onAfterEnter={onAfterEnter}\r\n onAfterLeave={onAfterLeave}\r\n >\r\n {{\r\n default: (...args: any[]) => slots.default?.(...args),\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n );\r\n });\r\n\r\n return {\r\n active,\r\n layer: layer$,\r\n classes,\r\n children,\r\n relayId,\r\n };\r\n },\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -131,6 +131,7 @@ function _useActiveEventBinder(props, vm, _ref2) {
|
|
|
131
131
|
let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : base.value;
|
|
132
132
|
let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : baseEvents.value;
|
|
133
133
|
if (!el) return;
|
|
134
|
+
if (Array.isArray(el)) return;
|
|
134
135
|
unbindProps(el, _props);
|
|
135
136
|
}
|
|
136
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-event.js","names":["computed","effectScope","getCurrentInstance","nextTick","onScopeDispose","shallowRef","watch","propsFactory","bindProps","unbindProps","useDelay","pressActiveEventProps","openOnHover","type","Boolean","default","openOnFocus","undefined","openOnClick","openOnClickBase","useActiveEvent","props","_ref","active","children","base","finish","baseSlotEl","vm","hovered","focused","startOpenDelay","startCloseDelay","to","value","length","isOpenFocus","isOpenClick","eventCatalog","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onFocus","onBlur","baseEvents","events","scope","window","run","_useActiveEventBinder","immediate","flush","_ref2","neo","old","unbindActiveEvent","bindActiveEvent","el","arguments","_props","Array","isArray"],"sources":["../../../src/components/layer/active-event.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EffectScope,\n effectScope,\n getCurrentInstance,\n nextTick,\n onScopeDispose,\n type PropType,\n type Ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { propsFactory } from '@/util';\nimport { bindProps, unbindProps } from '@/util/component/bind-props';\n\nimport { useDelay } from './active-delay';\n\ninterface ActiveEventProps {\n openOnHover: boolean;\n openOnFocus: boolean;\n openOnClick: boolean;\n openOnClickBase: boolean;\n}\n\ntype BaseEvent = {\n onClick: (e: Event) => void;\n onFocus: (e: FocusEvent) => void;\n onBlur: (e: FocusEvent) => void;\n onMouseenter: (e: Event) => void;\n onMouseleave: (e: Event) => void;\n};\n\nexport const pressActiveEventProps = propsFactory(\n {\n openOnHover: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n openOnFocus: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n openOnClick: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n openOnClickBase: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n },\n 'YLayer.active-event',\n);\n\nexport function useActiveEvent(\n props: any,\n {\n active,\n children,\n base,\n finish,\n baseSlotEl,\n }: {\n active: Ref<boolean>;\n children: Ref<HTMLElement[]>;\n base: Ref<any>;\n finish: Ref<boolean>;\n baseSlotEl: Ref<HTMLElement | null | undefined>;\n },\n) {\n const vm = getCurrentInstance()!;\n const hovered = shallowRef(false);\n const focused = shallowRef(false);\n\n const { startOpenDelay, startCloseDelay } = useDelay(props, (to) => {\n if (\n !to &&\n props.openOnHover &&\n !hovered.value &&\n children.value.length === 0\n ) {\n active.value = false;\n } else if (to) {\n active.value = true;\n }\n });\n\n const isOpenFocus = computed(\n () => props.openOnFocus || (props.openOnFocus == null && props.openOnHover),\n );\n\n const isOpenClick = computed(\n () =>\n props.openOnClick ||\n (props.openOnClick == null && !props.openOnHover && !isOpenFocus.value),\n );\n\n const eventCatalog = {\n onMouseenter: (e: Event) => {\n hovered.value = true;\n startOpenDelay();\n },\n onMouseleave: (e: Event) => {\n hovered.value = false;\n startCloseDelay();\n },\n onClick: (e: Event) => {\n e.stopPropagation();\n const currentActive = active.value;\n if (props.disabled || (hovered.value && !finish.value)) {\n return;\n }\n active.value = !currentActive;\n },\n onFocus: (e: FocusEvent) => {\n startOpenDelay();\n },\n onBlur: (e: FocusEvent) => {\n startCloseDelay();\n },\n };\n\n const baseEvents = computed(() => {\n const events: Partial<BaseEvent> = {};\n\n if (isOpenClick.value) {\n events.onClick = eventCatalog.onClick;\n }\n if (isOpenFocus.value) {\n events.onFocus = eventCatalog.onFocus;\n }\n if (props.openOnHover) {\n events.onMouseenter = eventCatalog.onMouseenter;\n events.onMouseleave = eventCatalog.onMouseleave;\n }\n\n return events;\n });\n\n let scope: EffectScope | undefined;\n\n watch(\n () => !!props.base,\n (to) => {\n if (to && typeof window !== 'undefined') {\n scope = effectScope();\n scope.run(() => {\n _useActiveEventBinder(props, vm, {\n base,\n baseEvents: baseEvents,\n });\n });\n }\n },\n { immediate: true, flush: 'post' },\n );\n\n return { hovered, focused, baseEvents };\n}\n\nfunction _useActiveEventBinder(\n props: ActiveEventProps,\n vm: ComponentInternalInstance,\n {\n base,\n baseEvents,\n }: {\n base: Ref<HTMLElement | undefined>;\n baseEvents: Ref<Partial<BaseEvent>>;\n },\n) {\n watch(\n base,\n (neo, old) => {\n if (old && neo !== old) {\n unbindActiveEvent(old);\n }\n if (neo) {\n nextTick(() => bindActiveEvent(neo));\n }\n },\n { immediate: true },\n );\n\n onScopeDispose(() => {\n unbindActiveEvent();\n });\n\n function bindActiveEvent(el = base.value, _props = baseEvents.value) {\n if (!el) return;\n if (Array.isArray(el)) return;\n bindProps(el, _props);\n }\n\n function unbindActiveEvent(el = base.value, _props = baseEvents.value) {\n if (!el) return;\n unbindProps(el, _props);\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"active-event.js","names":["computed","effectScope","getCurrentInstance","nextTick","onScopeDispose","shallowRef","watch","propsFactory","bindProps","unbindProps","useDelay","pressActiveEventProps","openOnHover","type","Boolean","default","openOnFocus","undefined","openOnClick","openOnClickBase","useActiveEvent","props","_ref","active","children","base","finish","baseSlotEl","vm","hovered","focused","startOpenDelay","startCloseDelay","to","value","length","isOpenFocus","isOpenClick","eventCatalog","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onFocus","onBlur","baseEvents","events","scope","window","run","_useActiveEventBinder","immediate","flush","_ref2","neo","old","unbindActiveEvent","bindActiveEvent","el","arguments","_props","Array","isArray"],"sources":["../../../src/components/layer/active-event.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n computed,\n type EffectScope,\n effectScope,\n getCurrentInstance,\n nextTick,\n onScopeDispose,\n type PropType,\n type Ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { propsFactory } from '@/util';\nimport { bindProps, unbindProps } from '@/util/component/bind-props';\n\nimport { useDelay } from './active-delay';\n\ninterface ActiveEventProps {\n openOnHover: boolean;\n openOnFocus: boolean;\n openOnClick: boolean;\n openOnClickBase: boolean;\n}\n\ntype BaseEvent = {\n onClick: (e: Event) => void;\n onFocus: (e: FocusEvent) => void;\n onBlur: (e: FocusEvent) => void;\n onMouseenter: (e: Event) => void;\n onMouseleave: (e: Event) => void;\n};\n\nexport const pressActiveEventProps = propsFactory(\n {\n openOnHover: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n openOnFocus: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n openOnClick: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n openOnClickBase: {\n type: Boolean as PropType<boolean>,\n default: undefined,\n },\n },\n 'YLayer.active-event',\n);\n\nexport function useActiveEvent(\n props: any,\n {\n active,\n children,\n base,\n finish,\n baseSlotEl,\n }: {\n active: Ref<boolean>;\n children: Ref<HTMLElement[]>;\n base: Ref<any>;\n finish: Ref<boolean>;\n baseSlotEl: Ref<HTMLElement | null | undefined>;\n },\n) {\n const vm = getCurrentInstance()!;\n const hovered = shallowRef(false);\n const focused = shallowRef(false);\n\n const { startOpenDelay, startCloseDelay } = useDelay(props, (to) => {\n if (\n !to &&\n props.openOnHover &&\n !hovered.value &&\n children.value.length === 0\n ) {\n active.value = false;\n } else if (to) {\n active.value = true;\n }\n });\n\n const isOpenFocus = computed(\n () => props.openOnFocus || (props.openOnFocus == null && props.openOnHover),\n );\n\n const isOpenClick = computed(\n () =>\n props.openOnClick ||\n (props.openOnClick == null && !props.openOnHover && !isOpenFocus.value),\n );\n\n const eventCatalog = {\n onMouseenter: (e: Event) => {\n hovered.value = true;\n startOpenDelay();\n },\n onMouseleave: (e: Event) => {\n hovered.value = false;\n startCloseDelay();\n },\n onClick: (e: Event) => {\n e.stopPropagation();\n const currentActive = active.value;\n if (props.disabled || (hovered.value && !finish.value)) {\n return;\n }\n active.value = !currentActive;\n },\n onFocus: (e: FocusEvent) => {\n startOpenDelay();\n },\n onBlur: (e: FocusEvent) => {\n startCloseDelay();\n },\n };\n\n const baseEvents = computed(() => {\n const events: Partial<BaseEvent> = {};\n\n if (isOpenClick.value) {\n events.onClick = eventCatalog.onClick;\n }\n if (isOpenFocus.value) {\n events.onFocus = eventCatalog.onFocus;\n }\n if (props.openOnHover) {\n events.onMouseenter = eventCatalog.onMouseenter;\n events.onMouseleave = eventCatalog.onMouseleave;\n }\n\n return events;\n });\n\n let scope: EffectScope | undefined;\n\n watch(\n () => !!props.base,\n (to) => {\n if (to && typeof window !== 'undefined') {\n scope = effectScope();\n scope.run(() => {\n _useActiveEventBinder(props, vm, {\n base,\n baseEvents: baseEvents,\n });\n });\n }\n },\n { immediate: true, flush: 'post' },\n );\n\n return { hovered, focused, baseEvents };\n}\n\nfunction _useActiveEventBinder(\n props: ActiveEventProps,\n vm: ComponentInternalInstance,\n {\n base,\n baseEvents,\n }: {\n base: Ref<HTMLElement | undefined>;\n baseEvents: Ref<Partial<BaseEvent>>;\n },\n) {\n watch(\n base,\n (neo, old) => {\n if (old && neo !== old) {\n unbindActiveEvent(old);\n }\n if (neo) {\n nextTick(() => bindActiveEvent(neo));\n }\n },\n { immediate: true },\n );\n\n onScopeDispose(() => {\n unbindActiveEvent();\n });\n\n function bindActiveEvent(el = base.value, _props = baseEvents.value) {\n if (!el) return;\n if (Array.isArray(el)) return;\n bindProps(el, _props);\n }\n\n function unbindActiveEvent(el = base.value, _props = baseEvents.value) {\n if (!el) return;\n if (Array.isArray(el)) return;\n unbindProps(el, _props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getCurrentInstance, inject, provide, ref,
|
|
1
|
+
import { getCurrentInstance, inject, provide, ref, unref, watch } from 'vue';
|
|
2
2
|
import { registerRelay } from "./relay-stack.js";
|
|
3
3
|
export const YUYEON_ACTIVE_STACK_KEY = Symbol.for('yuyeon.active-stack');
|
|
4
4
|
export function useActiveStack(props, active) {
|
|
5
5
|
const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);
|
|
6
|
-
const children =
|
|
6
|
+
const children = ref([]);
|
|
7
7
|
const vm = getCurrentInstance();
|
|
8
8
|
const relayId = ref();
|
|
9
9
|
let relayHandle = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","ref","
|
|
1
|
+
{"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","ref","unref","watch","registerRelay","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","props","active","parent","children","vm","relayId","relayHandle","exposed","push","instance","value","pop","index","findIndex","child","splice","clear","modal","neo","relayStack","els","ex","baseEl","content$","preventCloseBubble","close","id","unregister","undefined"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n getCurrentInstance,\n type InjectionKey,\n inject,\n provide,\n type Ref,\n ref,\n unref,\n watch,\n} from 'vue';\n\nimport { registerRelay } from './relay-stack';\n\nexport interface ActiveStackProvide {\n push: (instance: any) => void;\n pop: (instance?: any) => void;\n clear: () => void;\n vm: ComponentInternalInstance;\n}\n\nexport const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide> =\n Symbol.for('yuyeon.active-stack');\n\ninterface YLayerExposed {\n content$?: any;\n baseEl?: any;\n modal?: boolean;\n preventCloseBubble?: boolean;\n}\n\ninterface ActiveStackProps {\n relayStack?: boolean;\n}\n\nexport function useActiveStack(props: ActiveStackProps, active: Ref<boolean>) {\n const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);\n const children = ref<any[]>([]);\n const vm = getCurrentInstance()!;\n const relayId = ref<number>();\n let relayHandle: ReturnType<typeof registerRelay> | null = null;\n\n function exposed(): YLayerExposed | undefined {\n return vm.exposed as YLayerExposed | undefined;\n }\n\n function push(instance: any) {\n children.value.push(instance);\n }\n\n function pop(instance?: any) {\n if (instance) {\n const index = children.value.findIndex((child) => child === instance);\n if (index > -1) {\n children.value.splice(index, 1);\n return;\n }\n }\n children.value.pop();\n }\n\n function clear() {\n if (unref(exposed()?.modal)) return;\n active.value = false;\n }\n\n watch(active, (neo) => {\n if (neo) {\n parent?.push(vm);\n if (props.relayStack !== false) {\n relayHandle = registerRelay({\n els: () => {\n const ex = exposed();\n return [unref(ex?.baseEl), unref(ex?.content$)];\n },\n modal: () => !!unref(exposed()?.modal),\n preventCloseBubble: () => !!unref(exposed()?.preventCloseBubble),\n close: clear,\n });\n relayId.value = relayHandle.id;\n }\n } else {\n if (!props.relayStack) {\n clear();\n }\n parent?.pop(vm);\n relayHandle?.unregister();\n relayHandle = null;\n relayId.value = undefined;\n }\n });\n\n provide(YUYEON_ACTIVE_STACK_KEY, {\n push,\n pop,\n clear,\n vm,\n });\n\n return {\n push,\n pop,\n parent,\n children,\n relayId,\n };\n}\n"],"mappings":"AAAA,SAEEA,kBAAkB,EAElBC,MAAM,EACNC,OAAO,EAEPC,GAAG,EACHC,KAAK,EACLC,KAAK,QACA,KAAK;AAAC,SAEJC,aAAa;AAStB,OAAO,MAAMC,uBAAyD,GACpEC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAanC,OAAO,SAASC,cAAcA,CAACC,KAAuB,EAAEC,MAAoB,EAAE;EAC5E,MAAMC,MAAM,GAAGZ,MAAM,CAACM,uBAAuB,EAAE,IAAI,CAAC;EACpD,MAAMO,QAAQ,GAAGX,GAAG,CAAQ,EAAE,CAAC;EAC/B,MAAMY,EAAE,GAAGf,kBAAkB,CAAC,CAAE;EAChC,MAAMgB,OAAO,GAAGb,GAAG,CAAS,CAAC;EAC7B,IAAIc,WAAoD,GAAG,IAAI;EAE/D,SAASC,OAAOA,CAAA,EAA8B;IAC5C,OAAOH,EAAE,CAACG,OAAO;EACnB;EAEA,SAASC,IAAIA,CAACC,QAAa,EAAE;IAC3BN,QAAQ,CAACO,KAAK,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC/B;EAEA,SAASE,GAAGA,CAACF,QAAc,EAAE;IAC3B,IAAIA,QAAQ,EAAE;MACZ,MAAMG,KAAK,GAAGT,QAAQ,CAACO,KAAK,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,KAAKL,QAAQ,CAAC;MACrE,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdT,QAAQ,CAACO,KAAK,CAACK,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF;IACF;IACAT,QAAQ,CAACO,KAAK,CAACC,GAAG,CAAC,CAAC;EACtB;EAEA,SAASK,KAAKA,CAAA,EAAG;IACf,IAAIvB,KAAK,CAACc,OAAO,CAAC,CAAC,EAAEU,KAAK,CAAC,EAAE;IAC7BhB,MAAM,CAACS,KAAK,GAAG,KAAK;EACtB;EAEAhB,KAAK,CAACO,MAAM,EAAGiB,GAAG,IAAK;IACrB,IAAIA,GAAG,EAAE;MACPhB,MAAM,EAAEM,IAAI,CAACJ,EAAE,CAAC;MAChB,IAAIJ,KAAK,CAACmB,UAAU,KAAK,KAAK,EAAE;QAC9Bb,WAAW,GAAGX,aAAa,CAAC;UAC1ByB,GAAG,EAAEA,CAAA,KAAM;YACT,MAAMC,EAAE,GAAGd,OAAO,CAAC,CAAC;YACpB,OAAO,CAACd,KAAK,CAAC4B,EAAE,EAAEC,MAAM,CAAC,EAAE7B,KAAK,CAAC4B,EAAE,EAAEE,QAAQ,CAAC,CAAC;UACjD,CAAC;UACDN,KAAK,EAAEA,CAAA,KAAM,CAAC,CAACxB,KAAK,CAACc,OAAO,CAAC,CAAC,EAAEU,KAAK,CAAC;UACtCO,kBAAkB,EAAEA,CAAA,KAAM,CAAC,CAAC/B,KAAK,CAACc,OAAO,CAAC,CAAC,EAAEiB,kBAAkB,CAAC;UAChEC,KAAK,EAAET;QACT,CAAC,CAAC;QACFX,OAAO,CAACK,KAAK,GAAGJ,WAAW,CAACoB,EAAE;MAChC;IACF,CAAC,MAAM;MACL,IAAI,CAAC1B,KAAK,CAACmB,UAAU,EAAE;QACrBH,KAAK,CAAC,CAAC;MACT;MACAd,MAAM,EAAES,GAAG,CAACP,EAAE,CAAC;MACfE,WAAW,EAAEqB,UAAU,CAAC,CAAC;MACzBrB,WAAW,GAAG,IAAI;MAClBD,OAAO,CAACK,KAAK,GAAGkB,SAAS;IAC3B;EACF,CAAC,CAAC;EAEFrC,OAAO,CAACK,uBAAuB,EAAE;IAC/BY,IAAI;IACJG,GAAG;IACHK,KAAK;IACLZ;EACF,CAAC,CAAC;EAEF,OAAO;IACLI,IAAI;IACJG,GAAG;IACHT,MAAM;IACNC,QAAQ;IACRE;EACF,CAAC;AACH","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@ export declare function useActiveStack(props: ActiveStackProps, active: Ref<bool
|
|
|
14
14
|
push: (instance: any) => void;
|
|
15
15
|
pop: (instance?: any) => void;
|
|
16
16
|
parent: ActiveStackProvide | null;
|
|
17
|
-
children:
|
|
17
|
+
children: Ref<any[], any[]>;
|
|
18
18
|
relayId: Ref<number | undefined, number | undefined>;
|
|
19
19
|
};
|
|
20
20
|
export {};
|