@vasakgroup/vue-libvasak 0.19.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,12 +19,41 @@ Luego, en tu proyecto Vue:
19
19
  npm install /ruta/a/vue-libvasak/dist
20
20
  ```
21
21
 
22
- O publica el paquete en un registro npm privado/público y luego:
22
+ O desde el registro, que es como la usan las aplicaciones del escritorio:
23
23
 
24
24
  ```bash
25
- npm install vue-libvasak
25
+ bun add @vasakgroup/vue-libvasak
26
26
  ```
27
27
 
28
+ ## Versionado
29
+
30
+ Desde la **1.0.0** esta librería sigue versionado semántico de verdad, y eso
31
+ cambia lo que significa el rango que declara cada aplicación.
32
+
33
+ Mientras estuvo en `0.x`, el acento **fijaba la minor**: `^0.7.2` aceptaba la
34
+ 0.7.9 y **no** aceptaba la 0.8.0. Como un candado que ya satisface el rango no
35
+ se mueve solo, las aplicaciones se quedaban atrás sin que nada fallara —
36
+ compilaban, pasaban sus pruebas y se empaquetaban con los componentes de hacía
37
+ ocho versiones, y lo que se arreglaba acá no les llegaba. Pasó dos veces, y la
38
+ segunda dejó dieciséis de diecisiete aplicaciones repartidas en siete rangos
39
+ distintos.
40
+
41
+ Con `^1.x` el acento hace lo que todo el mundo cree que hace: **una minor llega
42
+ sola**. Declarar `^1.0.0` alcanza.
43
+
44
+ Qué se compromete a partir de acá:
45
+
46
+ - **Lo que se exporta desde `src/index.ts` no desaparece ni cambia de nombre en
47
+ una minor.** Hay una prueba que lo fija: sacar un componente de la lista
48
+ pública falla, así que dejar de exportar algo tiene que ser un acto
49
+ deliberado y va en una mayor.
50
+ - Sumar componentes, propiedades opcionales o eventos nuevos es una minor.
51
+ - Sacar o renombrar lo público, o cambiar el significado de una propiedad
52
+ existente, es una mayor.
53
+
54
+ El `0.` de antes no estaba diciendo nada cierto sobre la estabilidad: la
55
+ librería ya tenía diecisiete consumidores y una API que no se movía.
56
+
28
57
  ## Uso
29
58
 
30
59
  Importa los componentes que necesites:
@@ -133,7 +133,7 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
133
133
  "aria-label": e.collapsed ? e.label : void 0,
134
134
  disabled: e.disabled,
135
135
  "aria-current": e.active ? "page" : void 0,
136
- class: h(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-all duration-200", [
136
+ class: h(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-[color,background-color,border-color,scale] duration-200 active:scale-[0.98]", [
137
137
  e.active ? "border-secondary bg-primary/15 text-tx-main shadow-sm" : "border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",
138
138
  e.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer",
139
139
  e.collapsed ? "justify-center px-2" : ""
@@ -1 +1 @@
1
- (function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@tauri-apps/api/event"),require("@vasakgroup/plugin-vicons"),require("@tauri-apps/api/window"),require("@vasakgroup/tauri-plugin-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window","@vasakgroup/tauri-plugin-i18n"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.VueLibVasak={},d.Vue,d.TauriEvent,d.VasakVicons,d.TauriWindow,d.tauriPluginI18n))})(this,(function(d,e,mt,fe,ut,ft){"use strict";const pt="vicons:theme-changed",W=new Map,O=new Map,R=e.ref(0);let I=0,q=null,P=null;function bt(){W.clear(),O.clear(),I=0,q=null,P=null,R.value=0}function yt(){W.clear(),O.clear(),R.value++}function gt(){return I++,q||P?P??Promise.resolve():(P=mt.listen(pt,yt).then(t=>{I<=0?t():q=t,P=null}),P)}function kt(){I--,!(I>0)&&(I=0,q?.(),q=null)}function ht(t,a){const o=`${a}:${t}`,n=W.get(o);if(n!==void 0)return Promise.resolve(n);const l=O.get(o);if(l)return l;const r=R.value,i=(a==="symbol"?fe.getSymbolSource(t):fe.getIconSource(t)).then(s=>(R.value===r&&W.set(o,s),s)).finally(()=>{O.get(o)===i&&O.delete(o)});return O.set(o,i),i}function xt(t,a){const o=e.ref("");let n=!1,l=0;async function r(){const i=++l,s=t.value;if(!s){o.value="";return}const f=await ht(s,a.value);i===l&&!n&&(o.value=f)}return e.onMounted(async()=>{await gt(),n||await r()}),e.onUnmounted(()=>{n=!0,kt()}),e.watch([t,a],r),e.watch(R,r),o}const wt=["src","alt"],L=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,o=xt(e.toRef(a,"name"),e.toRef(a,"type")),n=e.computed(()=>`${a.size}px`);return(l,r)=>e.unref(o)?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(o),alt:t.alt,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0 object-contain"},null,12,wt)):(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0"},null,4))}}),Bt={class:"flex flex-col gap-2"},Ct=["aria-expanded"],Et={key:1,class:"flex flex-col gap-1"},Z=e.defineComponent({__name:"SideGroup",props:{title:{},collapsed:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0}},setup(t){const a=t,o=e.ref(a.defaultOpen);return e.watch(()=>a.collapsed,n=>{n&&(o.value=!0)}),(n,l)=>(e.openBlock(),e.createElementBlock("section",Bt,[t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"group flex w-full items-center justify-between rounded-corner px-2 py-1 text-tx-muted text-xs uppercase tracking-[0.08em] hover:bg-ui-surface/60","aria-expanded":o.value,onClick:l[0]||(l[0]=r=>o.value=!o.value)},[e.createElementVNode("span",null,e.toDisplayString(t.title),1),e.createVNode(L,{name:"pan-down-symbolic",type:"symbol",size:12,class:e.normalizeClass(["transition-transform duration-200",o.value?"":"-rotate-90"])},null,8,["class"])],8,Ct)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",Et,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),$t=["title","aria-label","disabled","aria-current"],Vt={key:1},zt={key:0,class:"min-w-0 flex-1 truncate font-medium"},Dt={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},v=e.defineComponent({__name:"SideButton",props:{label:{},icon:{default:""},active:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},badge:{default:""}},emits:["click"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("button",{type:"button",title:t.collapsed?t.label:void 0,"aria-label":t.collapsed?t.label:void 0,disabled:t.disabled,"aria-current":t.active?"page":void 0,class:e.normalizeClass(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-all duration-200",[t.active?"border-secondary bg-primary/15 text-tx-main shadow-sm":"border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",t.disabled?"cursor-not-allowed opacity-60":"cursor-pointer",t.collapsed?"justify-center px-2":""]]),onClick:o[0]||(o[0]=n=>a.$emit("click"))},[e.createElementVNode("span",{class:e.normalizeClass(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide",t.active?"border-secondary bg-primary/20":""]),"aria-hidden":"true"},[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,size:20},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",zt,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Dt,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,$t))}}),St={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Lt={class:"flex items-center gap-2"},Nt=["aria-label","aria-expanded"],Tt={key:0,class:"min-w-0 flex-1"},Mt={key:0,class:"truncate font-semibold text-sm"},At={key:1,class:"truncate text-tx-muted text-xs"},Ot={key:0},It={key:1,class:"flex border-ui-border border-b p-2"},Pt=["aria-label","aria-expanded"],jt={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},pe="hidden h-8 w-8 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-surface/70 transition-colors hover:bg-ui-surface md:inline-flex",be=767,ye=e.defineComponent({__name:"SideBar",props:{title:{default:""},subtitle:{default:""},categories:{default:()=>[]},modelValue:{default:""},collapsed:{type:Boolean,default:void 0},collapseLabel:{default:"Collapse"},expandLabel:{default:"Expand"}},emits:["update:modelValue","update:collapsed","change"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(n.collapsed??!1),i=e.ref(!1);let s=null,f=null;const u=e.computed(()=>i.value||r.value),m=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function B(){return document.documentElement?.clientWidth||window.innerWidth}function C(){i.value=B()<=be}function $(){r.value=!r.value,l("update:collapsed",r.value)}function y(h){l("update:modelValue",h),l("change",h)}return e.watch(()=>n.collapsed,h=>{h!==void 0&&(r.value=h)}),e.onMounted(()=>{s=window.matchMedia(`(max-width: ${be}px)`),C(),s.addEventListener("change",C),window.addEventListener("resize",C),typeof ResizeObserver<"u"&&document.documentElement&&(f=new ResizeObserver(C),f.observe(document.documentElement))}),e.onBeforeUnmount(()=>{s?.removeEventListener("change",C),window.removeEventListener("resize",C),f?.disconnect(),f=null}),a({collapsed:u}),(h,z)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["relative z-30 flex h-full shrink-0 flex-col rounded-corner border border-ui-border bg-ui-surface/70 transition-all duration-300",["w-[84px]",u.value?"md:w-[84px]":"md:w-72"]])},[m.value||h.$slots.header?(e.openBlock(),e.createElementBlock("header",St,[e.createElementVNode("div",Lt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(pe),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(L,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Nt),m.value&&!u.value?(e.openBlock(),e.createElementBlock("div",Tt,[t.title?(e.openBlock(),e.createElementBlock("p",Mt,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",At,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),h.$slots.header&&!u.value?(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(h.$slots,"header",{collapsed:u.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(pe),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(L,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Pt)])),e.createElementVNode("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,x=>(e.openBlock(),e.createBlock(Z,{key:x.id,title:x.title,collapsed:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.items,g=>(e.openBlock(),e.createBlock(v,{key:g.id,label:g.label,icon:g.icon,badge:g.badge,disabled:g.disabled,collapsed:u.value,active:t.modelValue===g.id,onClick:c=>y(g.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(h.$slots,"default",{collapsed:u.value})])],2))}}),Ft={class:"flex min-w-0 flex-col gap-1"},Kt=["for"],Rt={class:"relative flex min-w-0 items-center"},qt=["id"],ge=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:a}){const o=t,n=e.useAttrs(),l=e.useId(),r=e.computed(()=>n.id??l),i=a,[s,f]=e.useModel(t,"modelValue",{set(u){return f.number?Number(u):u}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",Ft,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"text-tx-muted text-xs"},e.toDisplayString(o.label),9,Kt)):e.createCommentVNode("",!0),e.createElementVNode("div",Rt,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:r.value,"onUpdate:modelValue":m[0]||(m[0]=B=>e.isRef(s)?s.value=B:null),class:"min-w-0 flex-1 appearance-none truncate rounded-corner border border-ui-border bg-ui-surface/60 py-1.5 pr-8 pl-2 text-sm text-tx-main"},e.unref(n),{onChange:m[1]||(m[1]=B=>i("change",B))}),[e.renderSlot(u.$slots,"default")],16,qt),[[e.vModelSelect,e.unref(s)]]),e.createVNode(L,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),G=Symbol("barra de vasak");function Q(t){return t==="left"||t==="right"?"vertical":"horizontal"}const ke=["top","bottom","left","right"];function he(t){return typeof t=="string"&&ke.includes(t)}function j(){const t=e.inject(G,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>Q(a.value)),vertical:e.computed(()=>Q(a.value)==="vertical")}}const Y=["minimize","maximize","close"],Ut="window",Ht="barPosition";function xe(t){const o=t?.[Ut]?.[Ht];return he(o)?o:null}function we(t="top"){const a=e.ref(t);let o=null,n=!1;async function l(){try{const{readConfig:r}=await import("@vasakgroup/plugin-config-manager"),i=await r();a.value=xe(i)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),i=await r("config-changed",()=>{l()});if(n){i();return}o=i}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}function Be(t){const a=e.getCurrentInstance(),o={};for(const n of t){const l=`on${n[0].toUpperCase()}${n.slice(1)}`;a?.vnode.props?.[l]&&(o[n]=()=>a.emit(n))}return o}const Wt=["title","aria-label"],Gt=["title","aria-label"],Qt=["title","aria-label"],ee="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",te=e.defineComponent({__name:"WindowControls",props:{controls:{default:()=>Y},minimizeLabel:{},maximizeLabel:{},closeLabel:{}},emits:["minimize","maximize","close"],setup(t,{emit:a}){const o=t,{t:n}=ft.useI18n(),l=e.computed(()=>o.minimizeLabel??n("ventana.minimizar")),r=e.computed(()=>o.maximizeLabel??n("ventana.maximizar")),i=e.computed(()=>o.closeLabel??n("ventana.cerrar")),s=a,{vertical:f}=j(),u=e.computed(()=>({minimize:o.controls.includes("minimize"),maximize:o.controls.includes("maximize"),close:o.controls.includes("close")}));function m(){return ut.getCurrentWindow()}const B=e.getCurrentInstance();function C(z){return!!B?.vnode.props?.[`on${z}`]}function $(){if(C("Minimize"))return s("minimize");m().minimize()}function y(){if(C("Maximize"))return s("maximize");m().toggleMaximize()}function h(){if(C("Close"))return s("close");m().close()}return(z,x)=>t.controls.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(f)?"flex-col":""]),"data-tauri-drag-region":""},[u.value.minimize?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([ee,"hover:bg-status-success"]),title:l.value,"aria-label":l.value,onClick:x[0]||(x[0]=g=>$())},[e.createVNode(L,{name:"window-minimize",type:"symbol",size:24})],10,Wt)):e.createCommentVNode("",!0),u.value.maximize?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([ee,"hover:bg-status-warning"]),title:r.value,"aria-label":r.value,onClick:x[1]||(x[1]=g=>y())},[e.createVNode(L,{name:"window-maximize",type:"symbol",size:24})],10,Gt)):e.createCommentVNode("",!0),u.value.close?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass([ee,"hover:bg-status-error"]),title:i.value,"aria-label":i.value,onClick:x[2]||(x[2]=g=>h())},[e.createVNode(L,{name:"window-close",type:"symbol",size:24})],10,Qt)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),Yt={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},Xt={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},oe=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>Y}},emits:["minimize","maximize","close"],setup(t){const a=t,o=j(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(G,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex shrink-0 items-center gap-2 p-1 font-title",l.value?"h-full flex-col":"w-full"]),"data-tauri-drag-region":""},[r.$slots.identidad?(e.openBlock(),e.createElementBlock("div",Yt,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",Xt,[e.renderSlot(r.$slots,"titulo",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 flex-1 items-center gap-2 overflow-auto",l.value?"flex-col":""]),"data-tauri-drag-region":""},[e.renderSlot(r.$slots,"default")],2),r.$slots.acciones?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["flex shrink-0 items-center gap-1",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"acciones")],2)):e.createCommentVNode("",!0),e.createVNode(te,e.mergeProps({controls:t.controls,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},e.toHandlers(e.unref(Be)(["minimize","maximize","close"]))),null,16,["controls","minimize-label","maximize-label","close-label"]),r.$slots.centro?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["pointer-events-none absolute flex items-center justify-center",l.value?"inset-x-0 top-1/2 -translate-y-1/2 flex-col":"inset-y-0 left-1/2 -translate-x-1/2"])},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto flex items-center gap-2",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"centro")],2)],2)):e.createCommentVNode("",!0)],2))}}),_t={class:"flex min-h-0 min-w-0 flex-1"},Ce=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>Y},hideBar:{type:Boolean,default:!1}},emits:["minimize","maximize","close"],setup(t){const a=t,o=we(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>Q(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(G,{posicion:n,orientacion:l,vertical:r});const i={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80",i[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(oe,e.mergeProps({key:0,position:n.value,title:t.title,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel,controls:t.controls},e.toHandlers(e.unref(Be)(["minimize","maximize","close"]))),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"barra")]),_:2},[s.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"identidad")]),key:"0"}:void 0,s.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"titulo")]),key:"1"}:void 0,s.$slots.centro?{name:"centro",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"centro")]),key:"2"}:void 0,s.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"acciones")]),key:"3"}:void 0]),1040,["position","title","minimize-label","maximize-label","close-label","controls"])),e.createElementVNode("div",_t,[e.renderSlot(s.$slots,"default")])],2))}}),Jt=["aria-selected","title","aria-label","tabindex"],Zt={key:1,"aria-hidden":"true"},vt={key:2,class:"min-w-0 flex-1 truncate"},eo=["title","aria-label"],to={class:"whitespace-nowrap"},oo={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},no=["title","aria-label"],ao=500,Ee=8,$e=6,ne=e.defineComponent({__name:"TabItem",props:{tab:{},active:{type:Boolean,default:!1},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},tabindex:{default:0}},emits:["select","close","menu","mover","navegar"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=j(),i=e.ref(null),s=e.ref(null),f=e.ref(!1),u=e.ref(!1),m=e.ref(!1),B=e.ref({top:0,left:0,right:0});let C=null,$=null;const y=e.computed(()=>o.tab.closable!==!1),h=e.computed(()=>o.tab.tooltip??o.tab.label),z=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),x=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),g=e.computed(()=>f.value||m.value),c=e.computed(()=>!!o.tab.dirty&&!(g.value&&y.value)),p=e.computed(()=>y.value&&(g.value||o.active||!o.tab.dirty)),b=e.computed(()=>l.value&&(f.value||u.value||m.value)),D=e.computed(()=>{const S={position:"fixed",top:`${B.value.top}px`,zIndex:50};return r.value==="right"?{...S,right:`${B.value.right+$e}px`}:{...S,left:`${B.value.left+$e}px`}});function F(){const S=i.value;if(!S)return;const k=S.getBoundingClientRect();B.value={top:k.top,left:k.right,right:window.innerWidth-k.left}}function T(S){const k=S.relatedTarget;k&&s.value?.contains(k)||(m.value=!1)}function K(){f.value=!0,F()}function M(){u.value=!0,F()}function E(){C!==null&&clearTimeout(C),C=null,$=null}function w(S){S.button===0&&($={x:S.clientX,y:S.clientY},C=setTimeout(()=>{$&&n("menu",$),E()},ao))}function V(S){if(!$)return;(Math.abs(S.clientX-$.x)>Ee||Math.abs(S.clientY-$.y)>Ee)&&E()}function H(S){S.button===1&&y.value&&(S.preventDefault(),n("close"))}function Nn(S){S.preventDefault(),n("menu",{x:S.clientX,y:S.clientY})}return e.onBeforeUnmount(E),(S,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:i,class:e.normalizeClass(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors",[t.active?"bg-primary font-bold text-tx-on-primary":"bg-ui-bg/80 hover:bg-ui-surface/70",e.unref(l)?"size-8 justify-center p-0 text-sm":"w-34 max-w-34 px-3 py-1 text-sm"]]),role:"tab","aria-selected":t.active,title:h.value,"aria-label":z.value,tabindex:t.tabindex,onClick:k[5]||(k[5]=e.withModifiers(N=>n("select"),["stop"])),onKeydown:[k[6]||(k[6]=e.withKeys(e.withModifiers(N=>n("select"),["stop"]),["enter"])),k[7]||(k[7]=e.withKeys(e.withModifiers(N=>n("select"),["prevent","stop"]),["space"])),k[8]||(k[8]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["left"])),k[9]||(k[9]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["up"])),k[10]||(k[10]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["right"])),k[11]||(k[11]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["down"])),k[12]||(k[12]=e.withKeys(e.withModifiers(N=>n("navegar","primera"),["prevent","stop"]),["home"])),k[13]||(k[13]=e.withKeys(e.withModifiers(N=>n("navegar","ultima"),["prevent","stop"]),["end"])),k[14]||(k[14]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["left"])),k[15]||(k[15]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["up"])),k[16]||(k[16]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["right"])),k[17]||(k[17]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["down"])),k[18]||(k[18]=e.withKeys(e.withModifiers(N=>y.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(H,["stop"]),onContextmenu:Nn,onPointerdown:w,onPointermove:V,onPointerup:E,onPointerleave:E,onMouseenter:K,onMouseleave:k[19]||(k[19]=N=>f.value=!1),onFocus:M,onBlur:k[20]||(k[20]=N=>u.value=!1)},[t.tab.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.tab.icon,size:16,class:"shrink-0"},null,8,["name"])):e.unref(l)?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(x.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",vt,e.toDisplayString(t.tab.label),1)),c.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["size-2 shrink-0 rounded-full bg-current",e.unref(l)?"absolute right-0.5 top-0.5":""]),"aria-hidden":"true"},null,2)):p.value&&!e.unref(l)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:k[0]||(k[0]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,eo)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 scale-95","leave-active-class":"transition duration-100 ease-in","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex items-center gap-2 rounded-corner border border-ui-border bg-ui-surface/95 px-3 py-1 text-sm shadow-lg",t.active?"font-bold":""]),ref_key:"desplegadoRef",ref:s,style:e.normalizeStyle(D.value),onMouseenter:k[2]||(k[2]=N=>m.value=!0),onMouseleave:k[3]||(k[3]=N=>m.value=!1),onFocusin:k[4]||(k[4]=N=>m.value=!0),onFocusout:T},[e.createElementVNode("span",to,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",oo)):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:k[1]||(k[1]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,no)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,Jt))}}),lo=["aria-orientation"],ro=["draggable","onDragstart","onDragover","onDrop"],io=["title","aria-label"],Ve=e.defineComponent({__name:"TabBar",props:{tabs:{},modelValue:{default:""},newLabel:{default:""},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},fixedOrder:{type:Boolean,default:!1}},emits:["update:modelValue","select","close","new","reorder","menu"],setup(t,{emit:a}){const o=t,n=a,{vertical:l}=j(),r=e.ref(null),i=e.ref(0),s=e.ref(null),f=e.ref(null);function u(g){n("update:modelValue",g),n("select",g)}async function m(g,c){const p=o.tabs.length-1;if(p<0)return;const b=c==="primera"?0:c==="ultima"?p:c==="anterior"?(g-1+o.tabs.length)%o.tabs.length:(g+1)%o.tabs.length;i.value=b,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[b]?.focus()}function B(g,c){if(o.fixedOrder)return;const p=g+c;if(p<0||p>=o.tabs.length)return;const b=[...o.tabs],[D]=b.splice(g,1);D&&(b.splice(p,0,D),i.value=p,n("reorder",b))}function C(g){const c=r.value;if(!c)return;const p=g.deltaY||g.deltaX||0,b=l.value?c.scrollTop:c.scrollLeft;l.value?c.scrollTop+=p:c.scrollLeft+=p,(l.value?c.scrollTop:c.scrollLeft)!==b&&g.preventDefault()}function $(g,c){o.fixedOrder||(s.value=g,c.dataTransfer?.setData("text/plain",String(g)),c.dataTransfer&&(c.dataTransfer.effectAllowed="move"))}function y(g,c){o.fixedOrder||s.value===null||(c.preventDefault(),f.value=g,c.dataTransfer&&(c.dataTransfer.dropEffect="move"))}function h(g){const c=s.value;if(z(),o.fixedOrder||c===null||c===g)return;const p=[...o.tabs],[b]=p.splice(c,1);b&&(p.splice(g,0,b),n("reorder",p))}function z(){s.value=null,f.value=null}const x=e.computed(()=>l.value?"flex h-full flex-col items-center gap-1 overflow-y-auto overflow-x-hidden":"flex items-center gap-1 overflow-x-auto overflow-y-hidden");return(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 items-center gap-1",e.unref(l)?"w-full flex-col":"h-full"]),role:"tablist","aria-orientation":e.unref(l)?"vertical":"horizontal"},[e.createElementVNode("div",{ref_key:"carril",ref:r,class:e.normalizeClass(x.value),onWheel:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(p,b)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["transition-opacity",[s.value===b?"opacity-40":"",f.value===b&&s.value!==b?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:D=>$(b,D),onDragover:D=>y(b,D),onDrop:e.withModifiers(D=>h(b),["prevent"]),onDragend:z},[e.createVNode(ne,{tab:p,active:p.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:b===i.value?0:-1,onSelect:D=>u(p.id),onClose:D=>n("close",p.id),onMenu:D=>n("menu",{id:p.id,...D}),onNavegar:D=>m(b,D),onMover:D=>B(b,D)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,ro))),128))],34),t.newLabel?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.newLabel,"aria-label":t.newLabel,onClick:c[0]||(c[0]=p=>n("new"))},[e.createVNode(L,{name:"gtk-add",type:"symbol",size:14})],8,io)):e.createCommentVNode("",!0)],10,lo))}}),so=["id","aria-label","type","value","placeholder","disabled","readonly","required","aria-describedby","autocomplete","aria-invalid"],ae=e.defineComponent({__name:"TextInput",props:{modelValue:{},type:{default:"text"},id:{},ariaLabel:{},describedBy:{},autocomplete:{},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},required:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},emits:["update:modelValue","keyup","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o;function r(m){n.lazy||l("update:modelValue",m.target.value)}function i(m){n.lazy&&l("update:modelValue",m.target.value)}const s=e.ref(null);function f(){return s.value?.focus(),s.value!==null&&document.activeElement===s.value}a({enfocar:f});const u=e.computed(()=>["w-full rounded-corner border bg-ui-surface/70 px-3 py-1.5 text-sm text-tx-main","placeholder:text-tx-muted focus:outline-none focus:ring-1 focus:ring-primary",n.invalid?"border-status-error":"border-ui-border",n.mono?"font-mono":"",n.disabled?"cursor-not-allowed opacity-60":""]);return(m,B)=>(e.openBlock(),e.createElementBlock("input",{ref_key:"campo",ref:s,id:t.id,"aria-label":t.ariaLabel,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-describedby":t.describedBy,autocomplete:t.autocomplete,"aria-invalid":t.invalid||void 0,class:e.normalizeClass(u.value),onInput:r,onChange:i,onKeyup:B[0]||(B[0]=C=>l("keyup",C)),onKeydown:B[1]||(B[1]=C=>l("keydown",C))},null,42,so))}}),co={class:"pointer-events-none absolute left-2 flex items-center"},mo=["aria-label"],X=e.defineComponent({__name:"SearchField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},debounce:{default:0},clearable:{type:Boolean,default:!0},busy:{type:Boolean,default:!1},listboxId:{},activeOptionId:{},expanded:{type:Boolean}},emits:["update:modelValue","search","clear","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(null);let i;const s=e.computed(()=>n.modelValue.length>0),f=e.computed(()=>n.listboxId?{role:"combobox","aria-autocomplete":"list","aria-controls":n.listboxId,"aria-expanded":String(n.expanded),"aria-activedescendant":n.activeOptionId||void 0}:{}),u=e.computed(()=>n.clearable&&s.value&&!n.disabled);function m(){clearTimeout(i),i=void 0}function B(h){l("update:modelValue",h),!(n.debounce<=0)&&(m(),i=setTimeout(()=>l("search",h),n.debounce))}function C(){m(),l("search",n.modelValue)}function $(){m(),l("update:modelValue",""),l("clear"),y()}function y(){return r.value?.enfocar()??!1}return a({enfocar:y}),e.onMounted(async()=>{n.autofocus&&(await e.nextTick(),y())}),e.onUnmounted(m),e.watch(()=>n.disabled,h=>{h&&m()}),(h,z)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex items-center",onKeydown:e.withKeys(C,["enter"])},[e.createElementVNode("span",co,[e.createVNode(L,{name:t.busy?"content-loading":"system-search",type:"symbol",size:14,class:e.normalizeClass(t.busy?"animate-spin opacity-70":"opacity-60")},null,8,["name","class"])]),e.createVNode(ae,e.mergeProps({ref_key:"campo",ref:r,type:"search","model-value":t.modelValue,placeholder:t.placeholder||t.label,ariaLabel:t.label||void 0},f.value,{disabled:t.disabled,class:["pl-7 [&::-webkit-search-cancel-button]:appearance-none",u.value?"pr-8":""],"onUpdate:modelValue":B,onKeydown:z[0]||(z[0]=x=>l("keydown",x))}),null,16,["model-value","placeholder","ariaLabel","disabled","class"]),u.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface","aria-label":t.label?`${t.label}: vaciar`:"Vaciar",onMousedown:z[1]||(z[1]=e.withModifiers(()=>{},["prevent"])),onClick:$},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12,alt:""})],40,mo)):e.createCommentVNode("",!0)],32))}}),uo=["title","aria-label","aria-expanded"],ze=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},debounce:{default:0}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=j(),i=e.ref(!1),s=e.ref(null),f=e.computed(()=>l.value||o.collapsed),u=e.computed(()=>!f.value||i.value),m=e.computed(()=>{if(!f.value)return"";const y="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${y} left-full top-0 ml-1`:r.value==="right"?`${y} right-full top-0 mr-1`:r.value==="bottom"?`${y} bottom-full right-0 mb-1`:`${y} top-full right-0 mt-1`});async function B(){i.value=!0,n("open"),await e.nextTick(),s.value?.enfocar()}function C(){i.value&&(i.value=!1,n("close"))}function $(y){const h=y.relatedTarget;h&&y.currentTarget.contains(h)||C()}return(y,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex shrink-0 items-center",onFocusout:$},[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.label,"aria-label":t.label,"aria-expanded":i.value,onMousedown:h[0]||(h[0]=e.withModifiers(()=>{},["prevent"])),onClick:h[1]||(h[1]=z=>i.value?C():B())},[e.createVNode(L,{name:"system-search",type:"symbol",size:14})],40,uo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(m.value),onKeydown:e.withKeys(C,["esc"])},[e.createVNode(X,{ref_key:"campo",ref:s,"model-value":t.modelValue,placeholder:t.placeholder,label:t.label,disabled:t.disabled,debounce:t.debounce,class:e.normalizeClass(f.value?"":"w-48"),"onUpdate:modelValue":h[2]||(h[2]=z=>n("update:modelValue",z)),onSearch:h[3]||(h[3]=z=>n("search",z))},null,8,["model-value","placeholder","label","disabled","debounce","class"])],34)):e.createCommentVNode("",!0)],32))}}),fo=["type","disabled"],po={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},bo=["src","alt"],yo={key:2},go=["src","alt"],ko=e.defineComponent({__name:"ActionButton",props:{label:{},disabled:{type:Boolean,default:!1},variant:{default:"primary"},loading:{type:Boolean,default:!1},customClass:{default:()=>({})},size:{default:"md"},fullWidth:{type:Boolean,default:!1},iconSrc:{default:""},iconAlt:{default:""},iconRight:{type:Boolean,default:!1},type:{default:"button"},stopPropagation:{type:Boolean,default:!1},preventDefault:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l={primary:"bg-primary dark:bg-primary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-primary/90 dark:hover:bg-primary-dark/90",secondary:"bg-secondary dark:bg-secondary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-secondary/80 dark:hover:bg-secondary-dark/80",danger:"bg-status-error dark:bg-status-error-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-status-error/90 dark:hover:bg-status-error-dark/90"},r={sm:"px-2 py-1 text-xs",md:"px-3 py-1 text-sm",lg:"px-4 py-2 text-base"},i=s=>{o.stopPropagation&&s.stopPropagation(),o.preventDefault&&s.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(s,f)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:i,class:e.normalizeClass(["rounded-corner transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",[l[o.variant],r[o.size],o.fullWidth?"w-full":"",o.iconSrc&&!o.label?"px-2 py-2":"",t.customClass]]),disabled:o.disabled||o.loading},[t.loading?(e.openBlock(),e.createElementBlock("span",po)):e.createCommentVNode("",!0),o.iconSrc&&!o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:1,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,bo)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",yo,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0),o.iconSrc&&o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:3,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,go)):e.createCommentVNode("",!0)],10,fo))}}),_=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},De=_(ko,[["__scopeId","data-v-2eaf6e27"]]),le={info:"border-ui-border bg-ui-surface/70 text-tx-main",success:"border-status-success/40 bg-status-success/10 text-tx-main",warning:"border-status-warning/40 bg-status-warning/10 text-tx-main",error:"border-status-error/40 bg-status-error/10 text-tx-main"};function re(t){return t==="error"?"alert":"status"}const ho=["role"],xo={key:0,class:"mt-0.5"},wo={class:"min-w-0 flex-1"},Bo={key:0,class:"font-semibold"},Se=e.defineComponent({__name:"AlertMessage",props:{tone:{default:"info"},title:{},icon:{},iconType:{default:"symbol"}},setup(t){const a=t,o=e.computed(()=>le[a.tone]),n=e.computed(()=>re(a.tone));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:n.value,"aria-atomic":"true",class:e.normalizeClass(["flex gap-3 rounded-corner border px-4 py-2 text-sm",o.value])},[t.icon?(e.openBlock(),e.createElementBlock("span",xo,[e.createVNode(L,{name:t.icon,type:t.iconType,size:18,alt:""},null,8,["name","type"])])):e.createCommentVNode("",!0),e.createElementVNode("div",wo,[t.title?(e.openBlock(),e.createElementBlock("p",Bo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.title?"mt-1":"")},[e.renderSlot(l.$slots,"default")],2)])],10,ho))}}),Co={class:"font-medium text-sm text-tx-main"},Eo={key:0,class:"text-sm text-tx-muted"},Le=e.defineComponent({__name:"EmptyState",props:{title:{},note:{},icon:{default:"dialog-information"},iconType:{default:"icon"},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-center justify-center gap-3 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[e.createVNode(L,{name:t.icon,type:t.iconType,size:48,class:"opacity-60"},null,8,["name","type"]),e.createElementVNode("p",Co,e.toDisplayString(t.title),1),t.note?(e.openBlock(),e.createElementBlock("p",Eo,e.toDisplayString(t.note),1)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],2))}}),$o={class:"text-sm text-tx-muted"},Ne=e.defineComponent({__name:"LoadingState",props:{label:{},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{role:"status","aria-atomic":"true",class:e.normalizeClass(["flex flex-col items-center justify-center gap-4 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[o[0]||(o[0]=e.createElementVNode("span",{class:"h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none"},null,-1)),e.createElementVNode("p",$o,e.toDisplayString(t.label),1)],2))}}),Vo=["role"],Te=e.defineComponent({__name:"ToastArea",props:{toasts:{},position:{default:"bottom-right"}},setup(t){const a=t,o=e.computed(()=>a.position==="bottom-center"?"bottom-4 left-1/2 -translate-x-1/2":"right-4 bottom-4");return(n,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-none fixed z-60 flex flex-col gap-2",o.value])},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"translate-y-2 opacity-0","leave-to-class":"translate-y-2 opacity-0","move-class":"transition-transform duration-300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toasts,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,role:e.unref(re)(r.tone??"info"),"aria-atomic":"true",class:e.normalizeClass(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm",e.unref(le)[r.tone??"info"]])},[e.renderSlot(n.$slots,"default",{aviso:r},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],10,Vo))),128))]),_:3})],2)]))}}),zo=["aria-label","aria-valuenow"],Do={key:1,class:"h-full w-full animate-pulse rounded-corner bg-primary motion-reduce:animate-none motion-reduce:bg-primary/40"},Me=e.defineComponent({__name:"ProgressBar",props:{value:{},label:{},tone:{default:"normal"}},setup(t){const a=t,o={normal:"bg-primary",warning:"bg-status-warning",critical:"bg-status-error"},n=e.computed(()=>a.value===null?null:Math.max(0,Math.min(100,a.value)));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":t.label,"aria-valuenow":n.value??void 0,"aria-valuemin":"0","aria-valuemax":"100",class:"h-2 w-full overflow-hidden rounded-corner bg-ui-surface/70"},[n.value!==null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["h-full rounded-corner transition-[width] duration-300 ease-out",o[t.tone]]),style:e.normalizeStyle({width:`${n.value}%`})},null,6)):(e.openBlock(),e.createElementBlock("div",Do))],8,zo))}}),So=/[/\-_.]/;function ie(t,a){if(!a)return 100;const o=a.toLowerCase();return o===t?0:o.startsWith(t)?10:o.split(So).some(n=>n.startsWith(t))?30:o.includes(t)?40:100}function Ae(t,a){const o=a.trim().toLowerCase();if(!o)return t;const n=[];for(let l=0;l<t.length;l++){const r=t[l],i=ie(o,r.valor),s=ie(o,r.etiqueta),f=s===10?20:s,m=ie(o,r.detalle)===100?100:40,B=Math.min(i,f,m);B!==100&&n.push({opcion:r,rango:B,orden:l})}return n.sort((l,r)=>l.rango-r.rango||l.orden-r.orden),n.map(l=>l.opcion)}let Oe=0;function Lo(){return Oe+=1,`vsk-lista-${Oe}`}const No=["disabled","aria-label","aria-expanded"],To={class:"min-w-0 flex-1 truncate"},Mo={key:0,class:"ml-2 text-tx-muted text-xs"},Ao={class:"border-ui-border border-b p-2"},Oo=["id"],Io={key:0,class:"p-3 text-center text-tx-muted text-xs"},Po=["id","data-indice","aria-selected"],jo={class:"min-w-0 flex-1 truncate"},Fo={key:0,class:"shrink-0 text-tx-muted text-xs"},Ko={key:1,class:"px-2 py-1 text-tx-muted text-xs"},Ie=e.defineComponent({__name:"SearchSelect",props:{modelValue:{},options:{},label:{default:""},searchPlaceholder:{default:""},emptyText:{default:""},placeholder:{default:"—"},disabled:{type:Boolean,default:!1},limit:{default:60},up:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(""),r=e.ref(!1),i=e.ref(0),s=e.ref(null),f=e.ref(null),u=e.ref(null),m=Lo(),B=e.computed(()=>o.options.find(E=>E.valor===o.modelValue)??null),C=e.computed(()=>Ae(o.options,l.value)),$=e.computed(()=>C.value.slice(0,o.limit)),y=e.computed(()=>Math.max(0,C.value.length-o.limit)),h=e.computed(()=>$.value.length>0?`${m}-${i.value}`:void 0);function z(E){n("update:modelValue",E),g()}async function x(){r.value=!0;const E=$.value.findIndex(w=>w.valor===o.modelValue);i.value=E>=0?E:0,await e.nextTick(),u.value?.enfocar(),T()}function g(E=!0){r.value&&(r.value=!1,l.value="",E&&e.nextTick(()=>f.value?.focus()))}function c(E){const w=$.value.length;w!==0&&(i.value=(i.value+E+w)%w,T())}function p(E){i.value=E,T()}function b(E){const w=E.target?.closest?.("[data-indice]");if(!w)return null;const V=Number(w.getAttribute("data-indice"));return Number.isInteger(V)?V:null}function D(E){const w=b(E),V=w===null?void 0:$.value[w];V&&z(V.valor)}function F(E){const w=b(E);w!==null&&(i.value=w)}function T(){e.nextTick(()=>{s.value?.querySelector(`[data-indice="${i.value}"]`)?.scrollIntoView({block:"nearest"})})}function K(){const E=$.value[i.value];E&&z(E.valor)}e.watch(()=>o.disabled,E=>{E&&g(!1)}),e.watch(l,()=>{i.value=0,T()});function M(E){const w=E.relatedTarget;w&&E.currentTarget.contains(w)||g(!1)}return(E,w)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",onFocusout:M},[e.createElementVNode("button",{ref_key:"boton",ref:f,type:"button",disabled:t.disabled,class:"flex w-full items-center justify-between gap-2 rounded-corner border border-ui-border-strong bg-ui-surface px-2 py-1 text-left text-sm text-tx-main transition-colors hover:bg-ui-bg/60 disabled:cursor-not-allowed disabled:opacity-50","aria-label":t.label||void 0,"aria-expanded":r.value,"aria-haspopup":"listbox",onClick:w[0]||(w[0]=V=>r.value?g():x()),onKeydown:[w[1]||(w[1]=e.withKeys(e.withModifiers(V=>r.value?c(1):x(),["prevent"]),["down"])),w[2]||(w[2]=e.withKeys(e.withModifiers(V=>r.value?c(-1):x(),["prevent"]),["up"]))]},[e.createElementVNode("span",To,[e.createTextVNode(e.toDisplayString(B.value?.etiqueta??t.placeholder)+" ",1),B.value?.detalle?(e.openBlock(),e.createElementBlock("span",Mo,e.toDisplayString(B.value.detalle),1)):e.createCommentVNode("",!0)]),e.createVNode(L,{name:"go-down",type:"symbol",size:12,class:"shrink-0 opacity-60"})],40,No),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-20 w-full min-w-64 rounded-corner border border-ui-border-strong bg-ui-bg shadow-lg",t.up?"bottom-full mb-1":"mt-1"]),onKeydown:[w[4]||(w[4]=e.withKeys(e.withModifiers(V=>g(),["prevent"]),["escape"])),w[5]||(w[5]=e.withKeys(e.withModifiers(V=>c(1),["prevent"]),["down"])),w[6]||(w[6]=e.withKeys(e.withModifiers(V=>c(-1),["prevent"]),["up"])),w[7]||(w[7]=e.withKeys(e.withModifiers(V=>p(0),["prevent"]),["home"])),w[8]||(w[8]=e.withKeys(e.withModifiers(V=>p($.value.length-1),["prevent"]),["end"])),w[9]||(w[9]=e.withKeys(e.withModifiers(V=>K(),["prevent"]),["enter"])),w[10]||(w[10]=e.withKeys(V=>g(!1),["tab"]))],onClick:D,onMousemove:F},[e.createElementVNode("div",Ao,[e.createVNode(X,{ref_key:"campo",ref:u,modelValue:l.value,"onUpdate:modelValue":w[3]||(w[3]=V=>l.value=V),label:t.label,placeholder:t.searchPlaceholder,"listbox-id":e.unref(m),"active-option-id":h.value,expanded:r.value},null,8,["modelValue","label","placeholder","listbox-id","active-option-id","expanded"])]),e.createElementVNode("ul",{id:e.unref(m),ref_key:"lista",ref:s,role:"listbox",class:"max-h-56 overflow-y-auto p-1"},[$.value.length===0?(e.openBlock(),e.createElementBlock("li",Io,e.toDisplayString(t.emptyText),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(V,H)=>(e.openBlock(),e.createElementBlock("li",{id:`${e.unref(m)}-${H}`,key:V.valor,"data-indice":H,role:"option","aria-selected":V.valor===t.modelValue,class:e.normalizeClass(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm",[H===i.value?"bg-ui-surface":"",V.valor===t.modelValue?"font-medium text-primary":"text-tx-main"]])},[e.createElementVNode("span",jo,e.toDisplayString(V.etiqueta),1),V.detalle?(e.openBlock(),e.createElementBlock("span",Fo,e.toDisplayString(V.detalle),1)):e.createCommentVNode("",!0)],10,Po))),128)),y.value>0?(e.openBlock(),e.createElementBlock("li",Ko,"+"+e.toDisplayString(y.value),1)):e.createCommentVNode("",!0)],8,Oo)],34)):e.createCommentVNode("",!0)],32))}}),Ro={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},Pe=_(e.defineComponent({__name:"ConfigSection",props:{title:{},icon:{default:""},customClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-4 p-4 background rounded-corner",t.customClass])},[e.createElementVNode("h3",Ro,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),qo={class:"flex items-center gap-3 flex-1 min-w-0"},Uo=["src","alt"],Ho={class:"min-w-0"},Wo={class:"font-semibold truncate"},Go={key:0,class:"text-xs text-gray-400 truncate"},Qo={key:1,class:"text-xs text-gray-400 truncate"},Yo={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},Xo={key:1,class:"w-2 h-2 rounded-full bg-green-500"},je=e.defineComponent({__name:"DeviceCard",props:{icon:{},title:{},subtitle:{default:""},metadata:{default:""},extraInfo:{default:()=>[]},isConnected:{type:Boolean,default:!1},showActionButton:{type:Boolean,default:!0},actionLabel:{default:"Conectar"},showStatusIndicator:{type:Boolean,default:!1},customClass:{default:""},clickable:{type:Boolean,default:!1}},emits:["action","click"],setup(t,{emit:a}){const o=a,n=()=>{o("action")},l=()=>{o("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4",[{"border-l-4 border-green-500":t.isConnected},t.customClass]]),onClick:l},[e.createElementVNode("div",qo,[e.createElementVNode("img",{src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,Uo),e.createElementVNode("div",Ho,[e.createElementVNode("div",Wo,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",Go,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",Qo,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",Yo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(s,f)=>(e.openBlock(),e.createElementBlock("span",{key:f},e.toDisplayString(s),1))),128))])):e.createCommentVNode("",!0)])]),t.showActionButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",onClick:e.withModifiers(n,["stop"])},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0),t.showStatusIndicator&&t.isConnected?(e.openBlock(),e.createElementBlock("div",Xo)):e.createCommentVNode("",!0)],2))}}),se=Symbol("diálogo de vasak");function ce(){const t=e.inject(se,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),cerrar:()=>{a.value=!1},idDelTitulo:e.ref(null),ponerElTitulo:()=>{}}}let Fe=0;function _o(){return Fe+=1,`vsk-dialogo-titulo-${Fe}`}const Ke=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean,default:!1}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(null);return e.provide(se,{abierto:e.computed(()=>o.open),cerrar:()=>n("update:open",!1),idDelTitulo:l,ponerElTitulo:r=>{l.value=r}}),(r,i)=>e.renderSlot(r.$slots,"default")}}),Jo={key:0,class:"absolute inset-0 rounded-corner-window bg-ui-border-dark/40"},Zo=["aria-labelledby","aria-label"],vo="relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg",Re=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{size:{default:"md"},ariaLabel:{}},setup(t){const a=t,o=e.useAttrs(),n=e.computed(()=>o.class??""),l=e.computed(()=>{const{class:x,...g}=o;return g}),r=e.computed(()=>a.size==="full"?"relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main":`${vo} ${a.size==="lg"?"max-w-2xl":"max-w-lg"}`),i=ce(),s=e.computed(()=>i.abierto.value),f=e.ref(null),u=e.ref(null);let m=null;function B(){return u.value?[...u.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')]:[]}function C(x){if(x.key==="Escape"){i.cerrar();return}if(x.key!=="Tab")return;const g=B();if(g.length===0){x.preventDefault(),u.value?.focus();return}const c=g[0],p=g[g.length-1],b=document.activeElement;x.shiftKey&&(b===c||b===u.value)?(x.preventDefault(),p.focus()):!x.shiftKey&&b===p&&(x.preventDefault(),c.focus())}function $(x){x.target===x.currentTarget&&i.cerrar()}function y(x){f.value?.contains(x.target)||C(x)}function h(){document.removeEventListener("keydown",y)}function z(){const x=m;m=null,x?.isConnected&&x.focus()}return e.watch(s,async x=>{if(x){m=document.activeElement,document.addEventListener("keydown",y),await e.nextTick(),u.value?.focus();return}h(),z()},{immediate:!0}),e.onUnmounted(()=>{h(),z()}),(x,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200 ease-out","leave-active-class":"transition-opacity duration-150 ease-in","enter-from-class":"opacity-0","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"velo",ref:f,class:"fixed inset-0 z-50 flex items-center justify-center",onClick:$,onKeydown:C},[a.size==="md"?(e.openBlock(),e.createElementBlock("div",Jo)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"panel",ref:u,tabindex:"-1",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i).idDelTitulo.value??void 0,"aria-label":e.unref(i).idDelTitulo.value?void 0:t.ariaLabel},l.value,{class:[n.value,r.value]}),[e.renderSlot(x.$slots,"default")],16,Zo)],544)):e.createCommentVNode("",!0)]),_:3})]))}}),en={class:"text-sm text-tx-muted"},qe=e.defineComponent({__name:"DialogDescription",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("p",en,[e.renderSlot(a.$slots,"default")]))}}),tn={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},Ue=e.defineComponent({__name:"DialogFooter",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",tn,[e.renderSlot(a.$slots,"default")]))}}),on={class:"flex flex-col gap-1.5 text-center sm:text-left"},He=e.defineComponent({__name:"DialogHeader",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",on,[e.renderSlot(a.$slots,"default")]))}}),nn=["id"],We=e.defineComponent({__name:"DialogTitle",setup(t){const a=ce(),o=_o();return e.onMounted(()=>a.ponerElTitulo(o)),e.onUnmounted(()=>a.ponerElTitulo(null)),(n,l)=>(e.openBlock(),e.createElementBlock("h2",{id:e.unref(o),class:"font-semibold text-lg leading-none tracking-tight"},[e.renderSlot(n.$slots,"default")],8,nn))}}),de=Symbol("menú de vasak");function U(){const t=e.inject(de,null);if(t)return t;const a=e.ref(!1);return{abierto:a,idDelMenu:"vsk-menu-suelto",idDeLaEtiqueta:e.ref(null),ponerLaEtiqueta:()=>{},disparador:e.ref(null),ponerElDisparador:()=>{},focoAlAbrir:e.ref("ninguno"),abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1},alternar:()=>{a.value=!a.value}}}let Ge=0;function Qe(){return Ge+=1,`vsk-menu-${Ge}`}const an={class:"relative inline-block"},Ye=e.defineComponent({__name:"DropdownMenu",props:{open:{type:Boolean,default:void 0}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1),r=e.ref(null),i=e.ref(null),s=e.ref("ninguno"),f=Qe();let u=null;const m=e.computed({get:()=>o.open??l.value,set:y=>{o.open===void 0&&(l.value=y),n("update:open",y)}});e.watch(m,y=>{if(y){const h=document.activeElement;u=h instanceof HTMLElement?h:null}else s.value="ninguno"});function B(y="ninguno"){s.value=y,m.value=!0}function C(y={}){if(m.value=!1,!y.devolverElFoco)return;const h=u??r.value;h?.isConnected&&h.focus()}function $(y="ninguno"){if(m.value){C({devolverElFoco:!0});return}B(y)}return e.provide(de,{abierto:m,idDelMenu:f,idDeLaEtiqueta:i,ponerLaEtiqueta:y=>{i.value=y},disparador:r,ponerElDisparador:y=>{r.value=y},focoAlAbrir:s,abrir:B,cerrar:C,alternar:$}),(y,h)=>(e.openBlock(),e.createElementBlock("div",an,[e.renderSlot(y.$slots,"default")]))}}),ln=["id","aria-labelledby","inert"],rn={role:"none",class:"py-1"},A=8,Xe=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=U(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),i=e.computed(()=>o.abierto.value),s=e.ref(null),f=e.ref({top:0,left:0,techo:null}),u={top:"bottom",bottom:"top",left:"right",right:"left"};function m(c,p){const b=a.sideOffset+A;switch(c){case"bottom":return window.innerHeight-p.bottom-b;case"top":return p.top-b;case"right":return window.innerWidth-p.right-b;case"left":return p.left-b}}function B(c,p,b){return b<p?p:Math.min(Math.max(c,p),b)}function C(){if(!r.value||!s.value)return;const c=r.value.getBoundingClientRect(),p=s.value.scrollHeight,b=s.value.offsetWidth,D=a.side==="top"||a.side==="bottom",F=D?p:b;let T=a.side;const K=m(T,c);K<F&&m(u[T],c)>K&&(T=u[T]);let M=0,E=0,w=null;switch(T){case"bottom":{M=c.bottom+a.sideOffset,w=Math.max(window.innerHeight-M-A,0);break}case"top":{w=Math.max(m("top",c),0),M=c.top-a.sideOffset-Math.min(p,w);break}case"left":case"right":{E=T==="right"?c.right+a.sideOffset:c.left-b-a.sideOffset;const V=window.innerHeight-2*A;M=B(c.top,A,window.innerHeight-Math.min(p,V)-A),w=Math.max(window.innerHeight-M-A,0);break}}if(D)switch(a.align){case"start":E=c.left;break;case"center":E=c.left+c.width/2-b/2;break;case"end":E=c.right-b;break}E=B(E,A,window.innerWidth-b-A),f.value={top:M,left:E,techo:w}}function $(){return s.value?Array.from(s.value.querySelectorAll('[role="menuitem"]')):[]}function y(c){const p=$();if(!p.length)return;const b=p.length;p[(c%b+b)%b]?.focus()}function h(){const c=document.activeElement;return c instanceof HTMLElement?$().indexOf(c):-1}function z(c){const p=h();switch(c.key){case"ArrowDown":c.preventDefault(),y(p+1);break;case"ArrowUp":c.preventDefault(),y(p<=0?-1:p-1);break;case"Home":c.preventDefault(),y(0);break;case"End":c.preventDefault(),y(-1);break;case"Escape":c.preventDefault(),c.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":c.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(i,async c=>{if(c)switch(await e.nextTick(),requestAnimationFrame(()=>{C()}),o.focoAlAbrir.value){case"primero":y(0);break;case"ultimo":y(-1);break;default:s.value?.focus()}});function x(c){i.value&&(c&&s.value?.contains(c.target)||C())}function g(c){const p=c.target,b=!!p.closest("[data-dropdown-content]"),D=!!r.value?.contains(p);!b&&!D&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",g),window.addEventListener("resize",x),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",x),window.removeEventListener("scroll",x,!0)}),(c,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-in-out","leave-active-class":"transition-all duration-150 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95",onEnter:p[1]||(p[1]=b=>b.offsetHeight),onLeave:p[2]||(p[2]=b=>b.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:s},c.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!i.value,style:{position:"fixed",top:`${f.value.top}px`,left:`${f.value.left}px`,maxHeight:f.value.techo===null?void 0:`${f.value.techo}px`,overflowY:"auto",overscrollBehavior:"contain",zIndex:50},"data-dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:p[0]||(p[0]=b=>b.stopPropagation()),onKeydown:z}),[e.createElementVNode("div",rn,[e.renderSlot(c.$slots,"default")])],16,ln),[[e.vShow,i.value]])]),_:3})]))}}),sn=["aria-disabled","onKeydown"],_e=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=U();function r(i){o.disabled||(n("select"),n("click",i),l.cerrar({devolverElFoco:!0}))}return(i,s)=>(e.openBlock(),e.createElementBlock("div",{role:"menuitem",tabindex:"0","aria-disabled":t.disabled||void 0,class:e.normalizeClass(["px-3 py-2 text-sm transition-colors outline-none",{"opacity-50 cursor-not-allowed":t.disabled,"cursor-pointer hover:bg-primary hover:text-tx-on-primary focus-visible:bg-primary focus-visible:text-tx-on-primary":!t.disabled}]),onClick:r,onKeydown:[e.withKeys(e.withModifiers(r,["prevent"]),["enter"]),e.withKeys(e.withModifiers(r,["prevent"]),["space"])]},[e.renderSlot(i.$slots,"default")],42,sn))}}),Je=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=U(),o=`${Qe()}-titulo`;return e.onMounted(()=>{a.ponerLaEtiqueta(o)}),e.onBeforeUnmount(()=>{a.ponerLaEtiqueta(null)}),(n,l)=>(e.openBlock(),e.createElementBlock("div",{id:o,role:"presentation",class:"px-3 py-2 text-sm font-semibold text-tx-main"},[e.renderSlot(n.$slots,"default")]))}}),cn={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},Ze=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",cn))}});function ve(t){const a=t.filter(n=>n.type!==e.Comment&&!(n.type===e.Text&&typeof n.children=="string"&&!n.children.trim()));if(a.length!==1)return null;const o=a[0];return o.type===e.Fragment&&Array.isArray(o.children)?ve(o.children):o}function dn(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const et=e.defineComponent({name:"DropdownMenuTrigger",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(t,{slots:a,attrs:o}){const n=U(),l=e.ref(null);function r(){n.ponerElDisparador(dn(l.value))}function i(){t.disabled||(r(),n.alternar())}function s(f){if(!t.disabled)switch(f.key){case"Enter":case" ":f.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":f.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":f.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(f.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const f={ref:m=>{l.value=m,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:i,onKeydown:s},u=a.default?.()??[];if(t.asChild){const m=ve(u);if(m)return e.cloneVNode(m,{...o,...f})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...f},u)}}}),mn=["for"],tt=_(e.defineComponent({__name:"FormGroup",props:{label:{},htmlFor:{default:""},customClass:{default:()=>({})},labelClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-2",t.customClass])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.htmlFor,class:e.normalizeClass(["text-sm font-medium text-primary dark:text-primary-dark",t.labelClass])},e.toDisplayString(t.label),11,mn)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),ot=_(e.defineComponent({__name:"ListCard",props:{clickable:{type:Boolean,default:!1},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{o.clickable&&n("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",{"hover:bg-vsk-primary/5 cursor-pointer":o.clickable},t.customClass]),onClick:l},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f86d47da"]]),un={class:"background rounded-corner flex flex-row items-center gap-2 justify-between w-full h-auto p-4 transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80"},fn=["title","aria-label"],pn=["src"],bn={key:1,class:"w-8 h-8 flex items-center justify-center"},yn=["src"],gn=["min","max","value","aria-label","aria-valuetext"],nt=e.defineComponent({__name:"SliderControl",props:{icon:{},label:{},buttonLabel:{},modelValue:{},min:{default:0},max:{default:100},showButton:{type:Boolean,default:!1},iconClass:{default:()=>({})},getPercentageClass:{type:Function,default:()=>""}},emits:["update:modelValue","buttonClick"],setup(t,{emit:a}){const o=t,n=a,l=e.computed(()=>{if(o.max<=o.min)return 0;const f=o.max-o.min,u=o.modelValue-o.min;return Math.round(u/f*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),i=f=>{const u=f.target;n("update:modelValue",Number(u.value))},s=()=>{n("buttonClick")};return(f,u)=>(e.openBlock(),e.createElementBlock("div",un,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s,type:"button",title:t.buttonLabel??t.label,"aria-label":t.buttonLabel??t.label,class:"w-8 h-8 flex items-center justify-center rounded-corner transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80 hover:scale-110 active:scale-95"},[e.createElementVNode("img",{src:t.icon,alt:"",class:e.normalizeClass(["w-6 h-6 transition-all duration-200",t.iconClass])},null,10,pn)],8,fn)):(e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("img",{src:t.icon,alt:"",class:"w-6 h-6 transition-all duration-200"},null,8,yn)])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:i,"aria-label":t.label,"aria-valuetext":`${l.value}%`,class:"flex-1 transition-all duration-200 hover:scale-105"},null,40,gn),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-all duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),J=e.defineComponent({__name:"SwitchTrack",props:{on:{type:Boolean},size:{default:"small"}},setup(t){const a=t,o=e.computed(()=>a.size==="small");return(n,l)=>(e.openBlock(),e.createElementBlock("span",{"aria-hidden":"true",class:e.normalizeClass(["inline-flex shrink-0 items-center rounded-full border transition-colors",[o.value?"h-6 w-11":"h-7 w-12",t.on?"border-transparent bg-primary":"border-ui-border-strong bg-ui-surface"]])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full shadow transition-transform",[o.value?"h-4 w-4":"h-5 w-5",t.on?"bg-tx-on-primary":"bg-tx-main",t.on?"translate-x-6":"translate-x-1"]])},null,2)],2))}}),kn=["aria-checked","disabled"],hn={class:"min-w-0 flex-1"},xn={class:"block font-medium text-sm text-tx-main"},wn={key:0,class:"mt-0.5 block text-tx-muted text-xs"},at=e.defineComponent({__name:"SwitchRow",props:{modelValue:{type:Boolean},label:{},description:{},icon:{},iconType:{default:"icon"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:"flex w-full items-start gap-3 rounded-corner p-2 text-left transition-colors hover:bg-ui-surface/60 disabled:cursor-not-allowed disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",onClick:r[0]||(r[0]=i=>n("update:modelValue",!o.modelValue))},[e.createVNode(J,{on:t.modelValue,class:"mt-0.5"},null,8,["on"]),t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["flex size-10 shrink-0 items-center justify-center rounded-corner border",t.modelValue?"border-secondary bg-primary/20":"border-ui-border bg-ui-surface/40"]),"aria-hidden":"true"},[e.createVNode(L,{name:t.icon,type:t.iconType,size:24,alt:""},null,8,["name","type"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",hn,[e.createElementVNode("span",xn,e.toDisplayString(t.label),1),t.description?(e.openBlock(),e.createElementBlock("span",wn,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"pie")])],8,kn))}}),Bn=["aria-checked","aria-label","disabled"],lt=e.defineComponent({__name:"SwitchToggle",props:{modelValue:{type:Boolean},label:{},disabled:{type:Boolean,default:!1},size:{default:"small"}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;function l(){n("update:modelValue",!o.modelValue)}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,"aria-label":t.label,disabled:t.disabled,class:"rounded-full transition-opacity disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",onClick:l},[e.createVNode(J,{on:t.modelValue,size:t.size},null,8,["on","size"])],8,Bn))}}),Cn=["disabled","title","aria-label","aria-pressed","aria-busy"],En=["src"],rt=e.defineComponent({__name:"ToggleControl",props:{icon:{},label:{},pressed:{type:[Boolean,null],default:null},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=a;function n(){o("click")}return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["p-2 rounded-corner bg-ui-bg/80 hover:opacity-50 transition-all duration-300 h-17.5 w-17.5 group relative overflow-hidden hover:scale-105 hover:shadow-lg active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",{"animate-pulse":t.isLoading,"ring-2 ring-primary":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading,title:t.label,"aria-label":t.label,"aria-pressed":t.pressed??void 0,"aria-busy":t.isLoading||void 0,onClick:n},[e.createElementVNode("img",{src:t.icon,alt:"",class:e.normalizeClass(["m-auto w-12.5 h-12.5 transition-all duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,10,En)],10,Cn))}}),me=Symbol("tooltip de vasak");function ue(){const t=e.inject(me,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),disparador:e.ref(null),ponerElDisparador:()=>{},abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1}}}const $n={class:"inline-block"},it=e.defineComponent({__name:"Tooltip",props:{disabled:{type:Boolean,default:!1},delayDuration:{default:200}},setup(t){const a=t,o=e.ref(!1),n=e.ref(null);let l=null;function r(){a.disabled||(l=setTimeout(()=>{o.value=!0},a.delayDuration))}function i(){l&&clearTimeout(l),o.value=!1}return e.provide(me,{abierto:e.computed(()=>o.value&&!a.disabled),disparador:n,ponerElDisparador:s=>{n.value=s},abrir:r,cerrar:i}),(s,f)=>(e.openBlock(),e.createElementBlock("div",$n,[e.renderSlot(s.$slots,"default")]))}}),st=e.defineComponent({inheritAttrs:!1,__name:"TooltipContent",props:{side:{default:"bottom"},align:{default:"center"},sideOffset:{default:4}},setup(t){const a=e.useAttrs(),o=e.computed(()=>a.class??""),n=t,l=ue(),r=e.computed(()=>l.abierto.value),i=e.ref(null),s=e.ref({top:0,left:0});function f(){const u=l.disparador.value;if(!u||!i.value)return;const m=u.getBoundingClientRect(),B=i.value.getBoundingClientRect();let C=0,$=0;switch(n.side){case"bottom":C=m.bottom+n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"top":C=m.top-B.height-n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"left":$=m.left-B.width-n.sideOffset,C=m.top+m.height/2-B.height/2;break;case"right":$=m.right+n.sideOffset,C=m.top+m.height/2-B.height/2;break}s.value={top:C,left:$}}return e.watch(r,async u=>{u&&(await e.nextTick(),requestAnimationFrame(f))}),(u,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-in-out","leave-active-class":"transition-all duration-200 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"globo",ref:i,style:e.normalizeStyle({position:"fixed",top:`${s.value.top}px`,left:`${s.value.left}px`,zIndex:50}),class:e.normalizeClass([o.value,"pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"])},[e.renderSlot(u.$slots,"default")],6),[[e.vShow,r.value]])]),_:3})]))}}),ct=e.defineComponent({__name:"TooltipTrigger",setup(t){const a=ue(),o=e.ref(null);function n(){return o.value?o.value.firstElementChild??o.value:null}function l(){a.ponerElDisparador(n()),a.abrir()}return e.onMounted(()=>{a.ponerElDisparador(n())}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"envoltorio",ref:o,class:"inline-block",onMouseenter:l,onMouseleave:i[0]||(i[0]=s=>e.unref(a).cerrar()),onFocus:l,onBlur:i[1]||(i[1]=s=>e.unref(a).cerrar())},[e.renderSlot(r.$slots,"default")],544))}}),Vn=["title"],zn=["src","alt"],Dn={key:0,class:"absolute bottom-1 right-1 bg-primary dark:bg-primary-dark text-white text-xs rounded-full w-4 h-4 flex items-center justify-center font-bold animate-bounce"},dt=e.defineComponent({__name:"TrayIconButton",props:{icon:{},alt:{default:""},tooltip:{default:""},badge:{default:null},iconClass:{default:()=>({})},customClass:{default:""},tooltipClass:{default:""},showCustomTooltip:{type:Boolean,default:!1},customTooltipText:{default:""}},emits:["click"],setup(t,{emit:a}){const o=a,n=e.ref(!1),l=()=>{o("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-all duration-300",t.customClass]),title:t.tooltip,onClick:l,onMouseenter:i[0]||(i[0]=s=>n.value=!0),onMouseleave:i[1]||(i[1]=s=>n.value=!1)},[e.createElementVNode("img",{src:t.icon,alt:t.alt,class:e.normalizeClass(["m-auto h-5.5 w-auto transition-all duration-300",t.iconClass])},null,10,zn),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Dn,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0),t.showCustomTooltip&&t.customTooltipText?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["absolute top-1 left-1/2 transform -translate-x-1/2 text-xs font-semibold p-1 rounded-corner transition-all duration-300 pointer-events-none background",[t.tooltipClass,{"opacity-0 -translate-y-2":!n.value,"opacity-100 translate-y-0":n.value}]])},e.toDisplayString(t.customTooltipText),3)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")],42,Vn))}}),Sn=[ye,v,Z,ge,L,Ce,oe,te,Ve,ne,ze,De,Se,Le,Ne,Me,X,Ie,ae,Te,Pe,je,Ke,Re,qe,Ue,He,We,Ye,Xe,_e,Je,Ze,et,tt,ot,nt,at,lt,J,rt,it,st,ct,dt],Ln={install(t){Sn.forEach(a=>{t.component(a.name,a)})}};d.ActionButton=De,d.AlertMessage=Se,d.AppBar=oe,d.BarSearch=ze,d.CLASES_POR_TONO=le,d.CLAVE_DEL_DIALOGO=se,d.CLAVE_DEL_MENU=de,d.CLAVE_DEL_TOOLTIP=me,d.CLAVE_DE_LA_BARRA=G,d.ConfigSection=Pe,d.DeviceCard=je,d.Dialog=Ke,d.DialogContent=Re,d.DialogDescription=qe,d.DialogFooter=Ue,d.DialogHeader=He,d.DialogTitle=We,d.DropdownMenu=Ye,d.DropdownMenuContent=Xe,d.DropdownMenuItem=_e,d.DropdownMenuLabel=Je,d.DropdownMenuSeparator=Ze,d.DropdownMenuTrigger=et,d.EmptyState=Le,d.FormGroup=tt,d.LOS_TRES_CONTROLES=Y,d.ListCard=ot,d.LoadingState=Ne,d.POSICIONES=ke,d.ProgressBar=Me,d.SearchField=X,d.SearchSelect=Ie,d.SelectField=ge,d.SideBar=ye,d.SideButton=v,d.SideGroup=Z,d.SliderControl=nt,d.SwitchRow=at,d.SwitchToggle=lt,d.SwitchTrack=J,d.TabBar=Ve,d.TabItem=ne,d.TextInput=ae,d.ThemeIcon=L,d.ToastArea=Te,d.ToggleControl=rt,d.Tooltip=it,d.TooltipContent=st,d.TooltipTrigger=ct,d.TrayIconButton=dt,d.WindowControls=te,d.WindowFrame=Ce,d.buscarOpciones=Ae,d.default=Ln,d.esPosicion=he,d.olvidarLosIconosDelTema=bt,d.orientacionDe=Q,d.posicionDe=xe,d.rolDelTono=re,d.usarElDialogo=ce,d.usarElMenu=U,d.usarElTooltip=ue,d.usarLaBarra=j,d.usarLaPosicionDeLaBarra=we,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@tauri-apps/api/event"),require("@vasakgroup/plugin-vicons"),require("@tauri-apps/api/window"),require("@vasakgroup/tauri-plugin-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window","@vasakgroup/tauri-plugin-i18n"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.VueLibVasak={},d.Vue,d.TauriEvent,d.VasakVicons,d.TauriWindow,d.tauriPluginI18n))})(this,(function(d,e,mt,fe,ut,ft){"use strict";const pt="vicons:theme-changed",W=new Map,O=new Map,R=e.ref(0);let I=0,q=null,P=null;function bt(){W.clear(),O.clear(),I=0,q=null,P=null,R.value=0}function yt(){W.clear(),O.clear(),R.value++}function gt(){return I++,q||P?P??Promise.resolve():(P=mt.listen(pt,yt).then(t=>{I<=0?t():q=t,P=null}),P)}function kt(){I--,!(I>0)&&(I=0,q?.(),q=null)}function ht(t,a){const o=`${a}:${t}`,n=W.get(o);if(n!==void 0)return Promise.resolve(n);const l=O.get(o);if(l)return l;const r=R.value,i=(a==="symbol"?fe.getSymbolSource(t):fe.getIconSource(t)).then(s=>(R.value===r&&W.set(o,s),s)).finally(()=>{O.get(o)===i&&O.delete(o)});return O.set(o,i),i}function xt(t,a){const o=e.ref("");let n=!1,l=0;async function r(){const i=++l,s=t.value;if(!s){o.value="";return}const f=await ht(s,a.value);i===l&&!n&&(o.value=f)}return e.onMounted(async()=>{await gt(),n||await r()}),e.onUnmounted(()=>{n=!0,kt()}),e.watch([t,a],r),e.watch(R,r),o}const wt=["src","alt"],L=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,o=xt(e.toRef(a,"name"),e.toRef(a,"type")),n=e.computed(()=>`${a.size}px`);return(l,r)=>e.unref(o)?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(o),alt:t.alt,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0 object-contain"},null,12,wt)):(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0"},null,4))}}),Bt={class:"flex flex-col gap-2"},Ct=["aria-expanded"],Et={key:1,class:"flex flex-col gap-1"},Z=e.defineComponent({__name:"SideGroup",props:{title:{},collapsed:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0}},setup(t){const a=t,o=e.ref(a.defaultOpen);return e.watch(()=>a.collapsed,n=>{n&&(o.value=!0)}),(n,l)=>(e.openBlock(),e.createElementBlock("section",Bt,[t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"group flex w-full items-center justify-between rounded-corner px-2 py-1 text-tx-muted text-xs uppercase tracking-[0.08em] hover:bg-ui-surface/60","aria-expanded":o.value,onClick:l[0]||(l[0]=r=>o.value=!o.value)},[e.createElementVNode("span",null,e.toDisplayString(t.title),1),e.createVNode(L,{name:"pan-down-symbolic",type:"symbol",size:12,class:e.normalizeClass(["transition-transform duration-200",o.value?"":"-rotate-90"])},null,8,["class"])],8,Ct)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",Et,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),$t=["title","aria-label","disabled","aria-current"],Vt={key:1},zt={key:0,class:"min-w-0 flex-1 truncate font-medium"},Dt={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},v=e.defineComponent({__name:"SideButton",props:{label:{},icon:{default:""},active:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},badge:{default:""}},emits:["click"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("button",{type:"button",title:t.collapsed?t.label:void 0,"aria-label":t.collapsed?t.label:void 0,disabled:t.disabled,"aria-current":t.active?"page":void 0,class:e.normalizeClass(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-[color,background-color,border-color,scale] duration-200 active:scale-[0.98]",[t.active?"border-secondary bg-primary/15 text-tx-main shadow-sm":"border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",t.disabled?"cursor-not-allowed opacity-60":"cursor-pointer",t.collapsed?"justify-center px-2":""]]),onClick:o[0]||(o[0]=n=>a.$emit("click"))},[e.createElementVNode("span",{class:e.normalizeClass(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide",t.active?"border-secondary bg-primary/20":""]),"aria-hidden":"true"},[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,size:20},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",zt,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Dt,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,$t))}}),St={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Lt={class:"flex items-center gap-2"},Nt=["aria-label","aria-expanded"],Tt={key:0,class:"min-w-0 flex-1"},Mt={key:0,class:"truncate font-semibold text-sm"},At={key:1,class:"truncate text-tx-muted text-xs"},Ot={key:0},It={key:1,class:"flex border-ui-border border-b p-2"},Pt=["aria-label","aria-expanded"],jt={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},pe="hidden h-8 w-8 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-surface/70 transition-colors hover:bg-ui-surface md:inline-flex",be=767,ye=e.defineComponent({__name:"SideBar",props:{title:{default:""},subtitle:{default:""},categories:{default:()=>[]},modelValue:{default:""},collapsed:{type:Boolean,default:void 0},collapseLabel:{default:"Collapse"},expandLabel:{default:"Expand"}},emits:["update:modelValue","update:collapsed","change"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(n.collapsed??!1),i=e.ref(!1);let s=null,f=null;const u=e.computed(()=>i.value||r.value),m=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function B(){return document.documentElement?.clientWidth||window.innerWidth}function C(){i.value=B()<=be}function $(){r.value=!r.value,l("update:collapsed",r.value)}function y(h){l("update:modelValue",h),l("change",h)}return e.watch(()=>n.collapsed,h=>{h!==void 0&&(r.value=h)}),e.onMounted(()=>{s=window.matchMedia(`(max-width: ${be}px)`),C(),s.addEventListener("change",C),window.addEventListener("resize",C),typeof ResizeObserver<"u"&&document.documentElement&&(f=new ResizeObserver(C),f.observe(document.documentElement))}),e.onBeforeUnmount(()=>{s?.removeEventListener("change",C),window.removeEventListener("resize",C),f?.disconnect(),f=null}),a({collapsed:u}),(h,z)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["relative z-30 flex h-full shrink-0 flex-col rounded-corner border border-ui-border bg-ui-surface/70 transition-all duration-300",["w-[84px]",u.value?"md:w-[84px]":"md:w-72"]])},[m.value||h.$slots.header?(e.openBlock(),e.createElementBlock("header",St,[e.createElementVNode("div",Lt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(pe),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(L,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Nt),m.value&&!u.value?(e.openBlock(),e.createElementBlock("div",Tt,[t.title?(e.openBlock(),e.createElementBlock("p",Mt,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",At,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),h.$slots.header&&!u.value?(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(h.$slots,"header",{collapsed:u.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(pe),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(L,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Pt)])),e.createElementVNode("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,x=>(e.openBlock(),e.createBlock(Z,{key:x.id,title:x.title,collapsed:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.items,g=>(e.openBlock(),e.createBlock(v,{key:g.id,label:g.label,icon:g.icon,badge:g.badge,disabled:g.disabled,collapsed:u.value,active:t.modelValue===g.id,onClick:c=>y(g.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(h.$slots,"default",{collapsed:u.value})])],2))}}),Ft={class:"flex min-w-0 flex-col gap-1"},Kt=["for"],Rt={class:"relative flex min-w-0 items-center"},qt=["id"],ge=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:a}){const o=t,n=e.useAttrs(),l=e.useId(),r=e.computed(()=>n.id??l),i=a,[s,f]=e.useModel(t,"modelValue",{set(u){return f.number?Number(u):u}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",Ft,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"text-tx-muted text-xs"},e.toDisplayString(o.label),9,Kt)):e.createCommentVNode("",!0),e.createElementVNode("div",Rt,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:r.value,"onUpdate:modelValue":m[0]||(m[0]=B=>e.isRef(s)?s.value=B:null),class:"min-w-0 flex-1 appearance-none truncate rounded-corner border border-ui-border bg-ui-surface/60 py-1.5 pr-8 pl-2 text-sm text-tx-main"},e.unref(n),{onChange:m[1]||(m[1]=B=>i("change",B))}),[e.renderSlot(u.$slots,"default")],16,qt),[[e.vModelSelect,e.unref(s)]]),e.createVNode(L,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),G=Symbol("barra de vasak");function Q(t){return t==="left"||t==="right"?"vertical":"horizontal"}const ke=["top","bottom","left","right"];function he(t){return typeof t=="string"&&ke.includes(t)}function j(){const t=e.inject(G,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>Q(a.value)),vertical:e.computed(()=>Q(a.value)==="vertical")}}const Y=["minimize","maximize","close"],Ut="window",Ht="barPosition";function xe(t){const o=t?.[Ut]?.[Ht];return he(o)?o:null}function we(t="top"){const a=e.ref(t);let o=null,n=!1;async function l(){try{const{readConfig:r}=await import("@vasakgroup/plugin-config-manager"),i=await r();a.value=xe(i)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),i=await r("config-changed",()=>{l()});if(n){i();return}o=i}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}function Be(t){const a=e.getCurrentInstance(),o={};for(const n of t){const l=`on${n[0].toUpperCase()}${n.slice(1)}`;a?.vnode.props?.[l]&&(o[n]=()=>a.emit(n))}return o}const Wt=["title","aria-label"],Gt=["title","aria-label"],Qt=["title","aria-label"],ee="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",te=e.defineComponent({__name:"WindowControls",props:{controls:{default:()=>Y},minimizeLabel:{},maximizeLabel:{},closeLabel:{}},emits:["minimize","maximize","close"],setup(t,{emit:a}){const o=t,{t:n}=ft.useI18n(),l=e.computed(()=>o.minimizeLabel??n("ventana.minimizar")),r=e.computed(()=>o.maximizeLabel??n("ventana.maximizar")),i=e.computed(()=>o.closeLabel??n("ventana.cerrar")),s=a,{vertical:f}=j(),u=e.computed(()=>({minimize:o.controls.includes("minimize"),maximize:o.controls.includes("maximize"),close:o.controls.includes("close")}));function m(){return ut.getCurrentWindow()}const B=e.getCurrentInstance();function C(z){return!!B?.vnode.props?.[`on${z}`]}function $(){if(C("Minimize"))return s("minimize");m().minimize()}function y(){if(C("Maximize"))return s("maximize");m().toggleMaximize()}function h(){if(C("Close"))return s("close");m().close()}return(z,x)=>t.controls.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(f)?"flex-col":""]),"data-tauri-drag-region":""},[u.value.minimize?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([ee,"hover:bg-status-success"]),title:l.value,"aria-label":l.value,onClick:x[0]||(x[0]=g=>$())},[e.createVNode(L,{name:"window-minimize",type:"symbol",size:24})],10,Wt)):e.createCommentVNode("",!0),u.value.maximize?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([ee,"hover:bg-status-warning"]),title:r.value,"aria-label":r.value,onClick:x[1]||(x[1]=g=>y())},[e.createVNode(L,{name:"window-maximize",type:"symbol",size:24})],10,Gt)):e.createCommentVNode("",!0),u.value.close?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass([ee,"hover:bg-status-error"]),title:i.value,"aria-label":i.value,onClick:x[2]||(x[2]=g=>h())},[e.createVNode(L,{name:"window-close",type:"symbol",size:24})],10,Qt)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),Yt={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},Xt={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},oe=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>Y}},emits:["minimize","maximize","close"],setup(t){const a=t,o=j(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(G,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex shrink-0 items-center gap-2 p-1 font-title",l.value?"h-full flex-col":"w-full"]),"data-tauri-drag-region":""},[r.$slots.identidad?(e.openBlock(),e.createElementBlock("div",Yt,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",Xt,[e.renderSlot(r.$slots,"titulo",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 flex-1 items-center gap-2 overflow-auto",l.value?"flex-col":""]),"data-tauri-drag-region":""},[e.renderSlot(r.$slots,"default")],2),r.$slots.acciones?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["flex shrink-0 items-center gap-1",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"acciones")],2)):e.createCommentVNode("",!0),e.createVNode(te,e.mergeProps({controls:t.controls,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},e.toHandlers(e.unref(Be)(["minimize","maximize","close"]))),null,16,["controls","minimize-label","maximize-label","close-label"]),r.$slots.centro?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["pointer-events-none absolute flex items-center justify-center",l.value?"inset-x-0 top-1/2 -translate-y-1/2 flex-col":"inset-y-0 left-1/2 -translate-x-1/2"])},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto flex items-center gap-2",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"centro")],2)],2)):e.createCommentVNode("",!0)],2))}}),_t={class:"flex min-h-0 min-w-0 flex-1"},Ce=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>Y},hideBar:{type:Boolean,default:!1}},emits:["minimize","maximize","close"],setup(t){const a=t,o=we(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>Q(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(G,{posicion:n,orientacion:l,vertical:r});const i={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80",i[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(oe,e.mergeProps({key:0,position:n.value,title:t.title,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel,controls:t.controls},e.toHandlers(e.unref(Be)(["minimize","maximize","close"]))),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"barra")]),_:2},[s.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"identidad")]),key:"0"}:void 0,s.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"titulo")]),key:"1"}:void 0,s.$slots.centro?{name:"centro",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"centro")]),key:"2"}:void 0,s.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"acciones")]),key:"3"}:void 0]),1040,["position","title","minimize-label","maximize-label","close-label","controls"])),e.createElementVNode("div",_t,[e.renderSlot(s.$slots,"default")])],2))}}),Jt=["aria-selected","title","aria-label","tabindex"],Zt={key:1,"aria-hidden":"true"},vt={key:2,class:"min-w-0 flex-1 truncate"},eo=["title","aria-label"],to={class:"whitespace-nowrap"},oo={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},no=["title","aria-label"],ao=500,Ee=8,$e=6,ne=e.defineComponent({__name:"TabItem",props:{tab:{},active:{type:Boolean,default:!1},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},tabindex:{default:0}},emits:["select","close","menu","mover","navegar"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=j(),i=e.ref(null),s=e.ref(null),f=e.ref(!1),u=e.ref(!1),m=e.ref(!1),B=e.ref({top:0,left:0,right:0});let C=null,$=null;const y=e.computed(()=>o.tab.closable!==!1),h=e.computed(()=>o.tab.tooltip??o.tab.label),z=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),x=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),g=e.computed(()=>f.value||m.value),c=e.computed(()=>!!o.tab.dirty&&!(g.value&&y.value)),p=e.computed(()=>y.value&&(g.value||o.active||!o.tab.dirty)),b=e.computed(()=>l.value&&(f.value||u.value||m.value)),D=e.computed(()=>{const S={position:"fixed",top:`${B.value.top}px`,zIndex:50};return r.value==="right"?{...S,right:`${B.value.right+$e}px`}:{...S,left:`${B.value.left+$e}px`}});function F(){const S=i.value;if(!S)return;const k=S.getBoundingClientRect();B.value={top:k.top,left:k.right,right:window.innerWidth-k.left}}function T(S){const k=S.relatedTarget;k&&s.value?.contains(k)||(m.value=!1)}function K(){f.value=!0,F()}function M(){u.value=!0,F()}function E(){C!==null&&clearTimeout(C),C=null,$=null}function w(S){S.button===0&&($={x:S.clientX,y:S.clientY},C=setTimeout(()=>{$&&n("menu",$),E()},ao))}function V(S){if(!$)return;(Math.abs(S.clientX-$.x)>Ee||Math.abs(S.clientY-$.y)>Ee)&&E()}function H(S){S.button===1&&y.value&&(S.preventDefault(),n("close"))}function Nn(S){S.preventDefault(),n("menu",{x:S.clientX,y:S.clientY})}return e.onBeforeUnmount(E),(S,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:i,class:e.normalizeClass(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors",[t.active?"bg-primary font-bold text-tx-on-primary":"bg-ui-bg/80 hover:bg-ui-surface/70",e.unref(l)?"size-8 justify-center p-0 text-sm":"w-34 max-w-34 px-3 py-1 text-sm"]]),role:"tab","aria-selected":t.active,title:h.value,"aria-label":z.value,tabindex:t.tabindex,onClick:k[5]||(k[5]=e.withModifiers(N=>n("select"),["stop"])),onKeydown:[k[6]||(k[6]=e.withKeys(e.withModifiers(N=>n("select"),["stop"]),["enter"])),k[7]||(k[7]=e.withKeys(e.withModifiers(N=>n("select"),["prevent","stop"]),["space"])),k[8]||(k[8]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["left"])),k[9]||(k[9]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["up"])),k[10]||(k[10]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["right"])),k[11]||(k[11]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["down"])),k[12]||(k[12]=e.withKeys(e.withModifiers(N=>n("navegar","primera"),["prevent","stop"]),["home"])),k[13]||(k[13]=e.withKeys(e.withModifiers(N=>n("navegar","ultima"),["prevent","stop"]),["end"])),k[14]||(k[14]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["left"])),k[15]||(k[15]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["up"])),k[16]||(k[16]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["right"])),k[17]||(k[17]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["down"])),k[18]||(k[18]=e.withKeys(e.withModifiers(N=>y.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(H,["stop"]),onContextmenu:Nn,onPointerdown:w,onPointermove:V,onPointerup:E,onPointerleave:E,onMouseenter:K,onMouseleave:k[19]||(k[19]=N=>f.value=!1),onFocus:M,onBlur:k[20]||(k[20]=N=>u.value=!1)},[t.tab.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.tab.icon,size:16,class:"shrink-0"},null,8,["name"])):e.unref(l)?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(x.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",vt,e.toDisplayString(t.tab.label),1)),c.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["size-2 shrink-0 rounded-full bg-current",e.unref(l)?"absolute right-0.5 top-0.5":""]),"aria-hidden":"true"},null,2)):p.value&&!e.unref(l)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:k[0]||(k[0]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,eo)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 scale-95","leave-active-class":"transition duration-100 ease-in","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex items-center gap-2 rounded-corner border border-ui-border bg-ui-surface/95 px-3 py-1 text-sm shadow-lg",t.active?"font-bold":""]),ref_key:"desplegadoRef",ref:s,style:e.normalizeStyle(D.value),onMouseenter:k[2]||(k[2]=N=>m.value=!0),onMouseleave:k[3]||(k[3]=N=>m.value=!1),onFocusin:k[4]||(k[4]=N=>m.value=!0),onFocusout:T},[e.createElementVNode("span",to,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",oo)):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:k[1]||(k[1]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,no)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,Jt))}}),lo=["aria-orientation"],ro=["draggable","onDragstart","onDragover","onDrop"],io=["title","aria-label"],Ve=e.defineComponent({__name:"TabBar",props:{tabs:{},modelValue:{default:""},newLabel:{default:""},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},fixedOrder:{type:Boolean,default:!1}},emits:["update:modelValue","select","close","new","reorder","menu"],setup(t,{emit:a}){const o=t,n=a,{vertical:l}=j(),r=e.ref(null),i=e.ref(0),s=e.ref(null),f=e.ref(null);function u(g){n("update:modelValue",g),n("select",g)}async function m(g,c){const p=o.tabs.length-1;if(p<0)return;const b=c==="primera"?0:c==="ultima"?p:c==="anterior"?(g-1+o.tabs.length)%o.tabs.length:(g+1)%o.tabs.length;i.value=b,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[b]?.focus()}function B(g,c){if(o.fixedOrder)return;const p=g+c;if(p<0||p>=o.tabs.length)return;const b=[...o.tabs],[D]=b.splice(g,1);D&&(b.splice(p,0,D),i.value=p,n("reorder",b))}function C(g){const c=r.value;if(!c)return;const p=g.deltaY||g.deltaX||0,b=l.value?c.scrollTop:c.scrollLeft;l.value?c.scrollTop+=p:c.scrollLeft+=p,(l.value?c.scrollTop:c.scrollLeft)!==b&&g.preventDefault()}function $(g,c){o.fixedOrder||(s.value=g,c.dataTransfer?.setData("text/plain",String(g)),c.dataTransfer&&(c.dataTransfer.effectAllowed="move"))}function y(g,c){o.fixedOrder||s.value===null||(c.preventDefault(),f.value=g,c.dataTransfer&&(c.dataTransfer.dropEffect="move"))}function h(g){const c=s.value;if(z(),o.fixedOrder||c===null||c===g)return;const p=[...o.tabs],[b]=p.splice(c,1);b&&(p.splice(g,0,b),n("reorder",p))}function z(){s.value=null,f.value=null}const x=e.computed(()=>l.value?"flex h-full flex-col items-center gap-1 overflow-y-auto overflow-x-hidden":"flex items-center gap-1 overflow-x-auto overflow-y-hidden");return(g,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 items-center gap-1",e.unref(l)?"w-full flex-col":"h-full"]),role:"tablist","aria-orientation":e.unref(l)?"vertical":"horizontal"},[e.createElementVNode("div",{ref_key:"carril",ref:r,class:e.normalizeClass(x.value),onWheel:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(p,b)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["transition-opacity",[s.value===b?"opacity-40":"",f.value===b&&s.value!==b?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:D=>$(b,D),onDragover:D=>y(b,D),onDrop:e.withModifiers(D=>h(b),["prevent"]),onDragend:z},[e.createVNode(ne,{tab:p,active:p.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:b===i.value?0:-1,onSelect:D=>u(p.id),onClose:D=>n("close",p.id),onMenu:D=>n("menu",{id:p.id,...D}),onNavegar:D=>m(b,D),onMover:D=>B(b,D)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,ro))),128))],34),t.newLabel?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.newLabel,"aria-label":t.newLabel,onClick:c[0]||(c[0]=p=>n("new"))},[e.createVNode(L,{name:"gtk-add",type:"symbol",size:14})],8,io)):e.createCommentVNode("",!0)],10,lo))}}),so=["id","aria-label","type","value","placeholder","disabled","readonly","required","aria-describedby","autocomplete","aria-invalid"],ae=e.defineComponent({__name:"TextInput",props:{modelValue:{},type:{default:"text"},id:{},ariaLabel:{},describedBy:{},autocomplete:{},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},required:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},emits:["update:modelValue","keyup","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o;function r(m){n.lazy||l("update:modelValue",m.target.value)}function i(m){n.lazy&&l("update:modelValue",m.target.value)}const s=e.ref(null);function f(){return s.value?.focus(),s.value!==null&&document.activeElement===s.value}a({enfocar:f});const u=e.computed(()=>["w-full rounded-corner border bg-ui-surface/70 px-3 py-1.5 text-sm text-tx-main","placeholder:text-tx-muted focus:outline-none focus:ring-1 focus:ring-primary",n.invalid?"border-status-error":"border-ui-border",n.mono?"font-mono":"",n.disabled?"cursor-not-allowed opacity-60":""]);return(m,B)=>(e.openBlock(),e.createElementBlock("input",{ref_key:"campo",ref:s,id:t.id,"aria-label":t.ariaLabel,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-describedby":t.describedBy,autocomplete:t.autocomplete,"aria-invalid":t.invalid||void 0,class:e.normalizeClass(u.value),onInput:r,onChange:i,onKeyup:B[0]||(B[0]=C=>l("keyup",C)),onKeydown:B[1]||(B[1]=C=>l("keydown",C))},null,42,so))}}),co={class:"pointer-events-none absolute left-2 flex items-center"},mo=["aria-label"],X=e.defineComponent({__name:"SearchField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},debounce:{default:0},clearable:{type:Boolean,default:!0},busy:{type:Boolean,default:!1},listboxId:{},activeOptionId:{},expanded:{type:Boolean}},emits:["update:modelValue","search","clear","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(null);let i;const s=e.computed(()=>n.modelValue.length>0),f=e.computed(()=>n.listboxId?{role:"combobox","aria-autocomplete":"list","aria-controls":n.listboxId,"aria-expanded":String(n.expanded),"aria-activedescendant":n.activeOptionId||void 0}:{}),u=e.computed(()=>n.clearable&&s.value&&!n.disabled);function m(){clearTimeout(i),i=void 0}function B(h){l("update:modelValue",h),!(n.debounce<=0)&&(m(),i=setTimeout(()=>l("search",h),n.debounce))}function C(){m(),l("search",n.modelValue)}function $(){m(),l("update:modelValue",""),l("clear"),y()}function y(){return r.value?.enfocar()??!1}return a({enfocar:y}),e.onMounted(async()=>{n.autofocus&&(await e.nextTick(),y())}),e.onUnmounted(m),e.watch(()=>n.disabled,h=>{h&&m()}),(h,z)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex items-center",onKeydown:e.withKeys(C,["enter"])},[e.createElementVNode("span",co,[e.createVNode(L,{name:t.busy?"content-loading":"system-search",type:"symbol",size:14,class:e.normalizeClass(t.busy?"animate-spin opacity-70":"opacity-60")},null,8,["name","class"])]),e.createVNode(ae,e.mergeProps({ref_key:"campo",ref:r,type:"search","model-value":t.modelValue,placeholder:t.placeholder||t.label,ariaLabel:t.label||void 0},f.value,{disabled:t.disabled,class:["pl-7 [&::-webkit-search-cancel-button]:appearance-none",u.value?"pr-8":""],"onUpdate:modelValue":B,onKeydown:z[0]||(z[0]=x=>l("keydown",x))}),null,16,["model-value","placeholder","ariaLabel","disabled","class"]),u.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface","aria-label":t.label?`${t.label}: vaciar`:"Vaciar",onMousedown:z[1]||(z[1]=e.withModifiers(()=>{},["prevent"])),onClick:$},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12,alt:""})],40,mo)):e.createCommentVNode("",!0)],32))}}),uo=["title","aria-label","aria-expanded"],ze=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},debounce:{default:0}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=j(),i=e.ref(!1),s=e.ref(null),f=e.computed(()=>l.value||o.collapsed),u=e.computed(()=>!f.value||i.value),m=e.computed(()=>{if(!f.value)return"";const y="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${y} left-full top-0 ml-1`:r.value==="right"?`${y} right-full top-0 mr-1`:r.value==="bottom"?`${y} bottom-full right-0 mb-1`:`${y} top-full right-0 mt-1`});async function B(){i.value=!0,n("open"),await e.nextTick(),s.value?.enfocar()}function C(){i.value&&(i.value=!1,n("close"))}function $(y){const h=y.relatedTarget;h&&y.currentTarget.contains(h)||C()}return(y,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex shrink-0 items-center",onFocusout:$},[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.label,"aria-label":t.label,"aria-expanded":i.value,onMousedown:h[0]||(h[0]=e.withModifiers(()=>{},["prevent"])),onClick:h[1]||(h[1]=z=>i.value?C():B())},[e.createVNode(L,{name:"system-search",type:"symbol",size:14})],40,uo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(m.value),onKeydown:e.withKeys(C,["esc"])},[e.createVNode(X,{ref_key:"campo",ref:s,"model-value":t.modelValue,placeholder:t.placeholder,label:t.label,disabled:t.disabled,debounce:t.debounce,class:e.normalizeClass(f.value?"":"w-48"),"onUpdate:modelValue":h[2]||(h[2]=z=>n("update:modelValue",z)),onSearch:h[3]||(h[3]=z=>n("search",z))},null,8,["model-value","placeholder","label","disabled","debounce","class"])],34)):e.createCommentVNode("",!0)],32))}}),fo=["type","disabled"],po={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},bo=["src","alt"],yo={key:2},go=["src","alt"],ko=e.defineComponent({__name:"ActionButton",props:{label:{},disabled:{type:Boolean,default:!1},variant:{default:"primary"},loading:{type:Boolean,default:!1},customClass:{default:()=>({})},size:{default:"md"},fullWidth:{type:Boolean,default:!1},iconSrc:{default:""},iconAlt:{default:""},iconRight:{type:Boolean,default:!1},type:{default:"button"},stopPropagation:{type:Boolean,default:!1},preventDefault:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l={primary:"bg-primary dark:bg-primary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-primary/90 dark:hover:bg-primary-dark/90",secondary:"bg-secondary dark:bg-secondary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-secondary/80 dark:hover:bg-secondary-dark/80",danger:"bg-status-error dark:bg-status-error-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-status-error/90 dark:hover:bg-status-error-dark/90"},r={sm:"px-2 py-1 text-xs",md:"px-3 py-1 text-sm",lg:"px-4 py-2 text-base"},i=s=>{o.stopPropagation&&s.stopPropagation(),o.preventDefault&&s.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(s,f)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:i,class:e.normalizeClass(["rounded-corner transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",[l[o.variant],r[o.size],o.fullWidth?"w-full":"",o.iconSrc&&!o.label?"px-2 py-2":"",t.customClass]]),disabled:o.disabled||o.loading},[t.loading?(e.openBlock(),e.createElementBlock("span",po)):e.createCommentVNode("",!0),o.iconSrc&&!o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:1,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,bo)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",yo,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0),o.iconSrc&&o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:3,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,go)):e.createCommentVNode("",!0)],10,fo))}}),_=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},De=_(ko,[["__scopeId","data-v-2eaf6e27"]]),le={info:"border-ui-border bg-ui-surface/70 text-tx-main",success:"border-status-success/40 bg-status-success/10 text-tx-main",warning:"border-status-warning/40 bg-status-warning/10 text-tx-main",error:"border-status-error/40 bg-status-error/10 text-tx-main"};function re(t){return t==="error"?"alert":"status"}const ho=["role"],xo={key:0,class:"mt-0.5"},wo={class:"min-w-0 flex-1"},Bo={key:0,class:"font-semibold"},Se=e.defineComponent({__name:"AlertMessage",props:{tone:{default:"info"},title:{},icon:{},iconType:{default:"symbol"}},setup(t){const a=t,o=e.computed(()=>le[a.tone]),n=e.computed(()=>re(a.tone));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:n.value,"aria-atomic":"true",class:e.normalizeClass(["flex gap-3 rounded-corner border px-4 py-2 text-sm",o.value])},[t.icon?(e.openBlock(),e.createElementBlock("span",xo,[e.createVNode(L,{name:t.icon,type:t.iconType,size:18,alt:""},null,8,["name","type"])])):e.createCommentVNode("",!0),e.createElementVNode("div",wo,[t.title?(e.openBlock(),e.createElementBlock("p",Bo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.title?"mt-1":"")},[e.renderSlot(l.$slots,"default")],2)])],10,ho))}}),Co={class:"font-medium text-sm text-tx-main"},Eo={key:0,class:"text-sm text-tx-muted"},Le=e.defineComponent({__name:"EmptyState",props:{title:{},note:{},icon:{default:"dialog-information"},iconType:{default:"icon"},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-center justify-center gap-3 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[e.createVNode(L,{name:t.icon,type:t.iconType,size:48,class:"opacity-60"},null,8,["name","type"]),e.createElementVNode("p",Co,e.toDisplayString(t.title),1),t.note?(e.openBlock(),e.createElementBlock("p",Eo,e.toDisplayString(t.note),1)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],2))}}),$o={class:"text-sm text-tx-muted"},Ne=e.defineComponent({__name:"LoadingState",props:{label:{},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{role:"status","aria-atomic":"true",class:e.normalizeClass(["flex flex-col items-center justify-center gap-4 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[o[0]||(o[0]=e.createElementVNode("span",{class:"h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none"},null,-1)),e.createElementVNode("p",$o,e.toDisplayString(t.label),1)],2))}}),Vo=["role"],Te=e.defineComponent({__name:"ToastArea",props:{toasts:{},position:{default:"bottom-right"}},setup(t){const a=t,o=e.computed(()=>a.position==="bottom-center"?"bottom-4 left-1/2 -translate-x-1/2":"right-4 bottom-4");return(n,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-none fixed z-60 flex flex-col gap-2",o.value])},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"translate-y-2 opacity-0","leave-to-class":"translate-y-2 opacity-0","move-class":"transition-transform duration-300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toasts,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,role:e.unref(re)(r.tone??"info"),"aria-atomic":"true",class:e.normalizeClass(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm",e.unref(le)[r.tone??"info"]])},[e.renderSlot(n.$slots,"default",{aviso:r},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],10,Vo))),128))]),_:3})],2)]))}}),zo=["aria-label","aria-valuenow"],Do={key:1,class:"h-full w-full animate-pulse rounded-corner bg-primary motion-reduce:animate-none motion-reduce:bg-primary/40"},Me=e.defineComponent({__name:"ProgressBar",props:{value:{},label:{},tone:{default:"normal"}},setup(t){const a=t,o={normal:"bg-primary",warning:"bg-status-warning",critical:"bg-status-error"},n=e.computed(()=>a.value===null?null:Math.max(0,Math.min(100,a.value)));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":t.label,"aria-valuenow":n.value??void 0,"aria-valuemin":"0","aria-valuemax":"100",class:"h-2 w-full overflow-hidden rounded-corner bg-ui-surface/70"},[n.value!==null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["h-full rounded-corner transition-[width] duration-300 ease-out",o[t.tone]]),style:e.normalizeStyle({width:`${n.value}%`})},null,6)):(e.openBlock(),e.createElementBlock("div",Do))],8,zo))}}),So=/[/\-_.]/;function ie(t,a){if(!a)return 100;const o=a.toLowerCase();return o===t?0:o.startsWith(t)?10:o.split(So).some(n=>n.startsWith(t))?30:o.includes(t)?40:100}function Ae(t,a){const o=a.trim().toLowerCase();if(!o)return t;const n=[];for(let l=0;l<t.length;l++){const r=t[l],i=ie(o,r.valor),s=ie(o,r.etiqueta),f=s===10?20:s,m=ie(o,r.detalle)===100?100:40,B=Math.min(i,f,m);B!==100&&n.push({opcion:r,rango:B,orden:l})}return n.sort((l,r)=>l.rango-r.rango||l.orden-r.orden),n.map(l=>l.opcion)}let Oe=0;function Lo(){return Oe+=1,`vsk-lista-${Oe}`}const No=["disabled","aria-label","aria-expanded"],To={class:"min-w-0 flex-1 truncate"},Mo={key:0,class:"ml-2 text-tx-muted text-xs"},Ao={class:"border-ui-border border-b p-2"},Oo=["id"],Io={key:0,class:"p-3 text-center text-tx-muted text-xs"},Po=["id","data-indice","aria-selected"],jo={class:"min-w-0 flex-1 truncate"},Fo={key:0,class:"shrink-0 text-tx-muted text-xs"},Ko={key:1,class:"px-2 py-1 text-tx-muted text-xs"},Ie=e.defineComponent({__name:"SearchSelect",props:{modelValue:{},options:{},label:{default:""},searchPlaceholder:{default:""},emptyText:{default:""},placeholder:{default:"—"},disabled:{type:Boolean,default:!1},limit:{default:60},up:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(""),r=e.ref(!1),i=e.ref(0),s=e.ref(null),f=e.ref(null),u=e.ref(null),m=Lo(),B=e.computed(()=>o.options.find(E=>E.valor===o.modelValue)??null),C=e.computed(()=>Ae(o.options,l.value)),$=e.computed(()=>C.value.slice(0,o.limit)),y=e.computed(()=>Math.max(0,C.value.length-o.limit)),h=e.computed(()=>$.value.length>0?`${m}-${i.value}`:void 0);function z(E){n("update:modelValue",E),g()}async function x(){r.value=!0;const E=$.value.findIndex(w=>w.valor===o.modelValue);i.value=E>=0?E:0,await e.nextTick(),u.value?.enfocar(),T()}function g(E=!0){r.value&&(r.value=!1,l.value="",E&&e.nextTick(()=>f.value?.focus()))}function c(E){const w=$.value.length;w!==0&&(i.value=(i.value+E+w)%w,T())}function p(E){i.value=E,T()}function b(E){const w=E.target?.closest?.("[data-indice]");if(!w)return null;const V=Number(w.getAttribute("data-indice"));return Number.isInteger(V)?V:null}function D(E){const w=b(E),V=w===null?void 0:$.value[w];V&&z(V.valor)}function F(E){const w=b(E);w!==null&&(i.value=w)}function T(){e.nextTick(()=>{s.value?.querySelector(`[data-indice="${i.value}"]`)?.scrollIntoView({block:"nearest"})})}function K(){const E=$.value[i.value];E&&z(E.valor)}e.watch(()=>o.disabled,E=>{E&&g(!1)}),e.watch(l,()=>{i.value=0,T()});function M(E){const w=E.relatedTarget;w&&E.currentTarget.contains(w)||g(!1)}return(E,w)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",onFocusout:M},[e.createElementVNode("button",{ref_key:"boton",ref:f,type:"button",disabled:t.disabled,class:"flex w-full items-center justify-between gap-2 rounded-corner border border-ui-border-strong bg-ui-surface px-2 py-1 text-left text-sm text-tx-main transition-colors hover:bg-ui-bg/60 disabled:cursor-not-allowed disabled:opacity-50","aria-label":t.label||void 0,"aria-expanded":r.value,"aria-haspopup":"listbox",onClick:w[0]||(w[0]=V=>r.value?g():x()),onKeydown:[w[1]||(w[1]=e.withKeys(e.withModifiers(V=>r.value?c(1):x(),["prevent"]),["down"])),w[2]||(w[2]=e.withKeys(e.withModifiers(V=>r.value?c(-1):x(),["prevent"]),["up"]))]},[e.createElementVNode("span",To,[e.createTextVNode(e.toDisplayString(B.value?.etiqueta??t.placeholder)+" ",1),B.value?.detalle?(e.openBlock(),e.createElementBlock("span",Mo,e.toDisplayString(B.value.detalle),1)):e.createCommentVNode("",!0)]),e.createVNode(L,{name:"go-down",type:"symbol",size:12,class:"shrink-0 opacity-60"})],40,No),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-20 w-full min-w-64 rounded-corner border border-ui-border-strong bg-ui-bg shadow-lg",t.up?"bottom-full mb-1":"mt-1"]),onKeydown:[w[4]||(w[4]=e.withKeys(e.withModifiers(V=>g(),["prevent"]),["escape"])),w[5]||(w[5]=e.withKeys(e.withModifiers(V=>c(1),["prevent"]),["down"])),w[6]||(w[6]=e.withKeys(e.withModifiers(V=>c(-1),["prevent"]),["up"])),w[7]||(w[7]=e.withKeys(e.withModifiers(V=>p(0),["prevent"]),["home"])),w[8]||(w[8]=e.withKeys(e.withModifiers(V=>p($.value.length-1),["prevent"]),["end"])),w[9]||(w[9]=e.withKeys(e.withModifiers(V=>K(),["prevent"]),["enter"])),w[10]||(w[10]=e.withKeys(V=>g(!1),["tab"]))],onClick:D,onMousemove:F},[e.createElementVNode("div",Ao,[e.createVNode(X,{ref_key:"campo",ref:u,modelValue:l.value,"onUpdate:modelValue":w[3]||(w[3]=V=>l.value=V),label:t.label,placeholder:t.searchPlaceholder,"listbox-id":e.unref(m),"active-option-id":h.value,expanded:r.value},null,8,["modelValue","label","placeholder","listbox-id","active-option-id","expanded"])]),e.createElementVNode("ul",{id:e.unref(m),ref_key:"lista",ref:s,role:"listbox",class:"max-h-56 overflow-y-auto p-1"},[$.value.length===0?(e.openBlock(),e.createElementBlock("li",Io,e.toDisplayString(t.emptyText),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(V,H)=>(e.openBlock(),e.createElementBlock("li",{id:`${e.unref(m)}-${H}`,key:V.valor,"data-indice":H,role:"option","aria-selected":V.valor===t.modelValue,class:e.normalizeClass(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm",[H===i.value?"bg-ui-surface":"",V.valor===t.modelValue?"font-medium text-primary":"text-tx-main"]])},[e.createElementVNode("span",jo,e.toDisplayString(V.etiqueta),1),V.detalle?(e.openBlock(),e.createElementBlock("span",Fo,e.toDisplayString(V.detalle),1)):e.createCommentVNode("",!0)],10,Po))),128)),y.value>0?(e.openBlock(),e.createElementBlock("li",Ko,"+"+e.toDisplayString(y.value),1)):e.createCommentVNode("",!0)],8,Oo)],34)):e.createCommentVNode("",!0)],32))}}),Ro={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},Pe=_(e.defineComponent({__name:"ConfigSection",props:{title:{},icon:{default:""},customClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-4 p-4 background rounded-corner",t.customClass])},[e.createElementVNode("h3",Ro,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),qo={class:"flex items-center gap-3 flex-1 min-w-0"},Uo=["src","alt"],Ho={class:"min-w-0"},Wo={class:"font-semibold truncate"},Go={key:0,class:"text-xs text-gray-400 truncate"},Qo={key:1,class:"text-xs text-gray-400 truncate"},Yo={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},Xo={key:1,class:"w-2 h-2 rounded-full bg-green-500"},je=e.defineComponent({__name:"DeviceCard",props:{icon:{},title:{},subtitle:{default:""},metadata:{default:""},extraInfo:{default:()=>[]},isConnected:{type:Boolean,default:!1},showActionButton:{type:Boolean,default:!0},actionLabel:{default:"Conectar"},showStatusIndicator:{type:Boolean,default:!1},customClass:{default:""},clickable:{type:Boolean,default:!1}},emits:["action","click"],setup(t,{emit:a}){const o=a,n=()=>{o("action")},l=()=>{o("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4",[{"border-l-4 border-green-500":t.isConnected},t.customClass]]),onClick:l},[e.createElementVNode("div",qo,[e.createElementVNode("img",{src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,Uo),e.createElementVNode("div",Ho,[e.createElementVNode("div",Wo,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",Go,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",Qo,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",Yo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(s,f)=>(e.openBlock(),e.createElementBlock("span",{key:f},e.toDisplayString(s),1))),128))])):e.createCommentVNode("",!0)])]),t.showActionButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",onClick:e.withModifiers(n,["stop"])},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0),t.showStatusIndicator&&t.isConnected?(e.openBlock(),e.createElementBlock("div",Xo)):e.createCommentVNode("",!0)],2))}}),se=Symbol("diálogo de vasak");function ce(){const t=e.inject(se,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),cerrar:()=>{a.value=!1},idDelTitulo:e.ref(null),ponerElTitulo:()=>{}}}let Fe=0;function _o(){return Fe+=1,`vsk-dialogo-titulo-${Fe}`}const Ke=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean,default:!1}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(null);return e.provide(se,{abierto:e.computed(()=>o.open),cerrar:()=>n("update:open",!1),idDelTitulo:l,ponerElTitulo:r=>{l.value=r}}),(r,i)=>e.renderSlot(r.$slots,"default")}}),Jo={key:0,class:"absolute inset-0 rounded-corner-window bg-ui-border-dark/40"},Zo=["aria-labelledby","aria-label"],vo="relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg",Re=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{size:{default:"md"},ariaLabel:{}},setup(t){const a=t,o=e.useAttrs(),n=e.computed(()=>o.class??""),l=e.computed(()=>{const{class:x,...g}=o;return g}),r=e.computed(()=>a.size==="full"?"relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main":`${vo} ${a.size==="lg"?"max-w-2xl":"max-w-lg"}`),i=ce(),s=e.computed(()=>i.abierto.value),f=e.ref(null),u=e.ref(null);let m=null;function B(){return u.value?[...u.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')]:[]}function C(x){if(x.key==="Escape"){i.cerrar();return}if(x.key!=="Tab")return;const g=B();if(g.length===0){x.preventDefault(),u.value?.focus();return}const c=g[0],p=g[g.length-1],b=document.activeElement;x.shiftKey&&(b===c||b===u.value)?(x.preventDefault(),p.focus()):!x.shiftKey&&b===p&&(x.preventDefault(),c.focus())}function $(x){x.target===x.currentTarget&&i.cerrar()}function y(x){f.value?.contains(x.target)||C(x)}function h(){document.removeEventListener("keydown",y)}function z(){const x=m;m=null,x?.isConnected&&x.focus()}return e.watch(s,async x=>{if(x){m=document.activeElement,document.addEventListener("keydown",y),await e.nextTick(),u.value?.focus();return}h(),z()},{immediate:!0}),e.onUnmounted(()=>{h(),z()}),(x,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200 ease-out","leave-active-class":"transition-opacity duration-150 ease-in","enter-from-class":"opacity-0","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"velo",ref:f,class:"fixed inset-0 z-50 flex items-center justify-center",onClick:$,onKeydown:C},[a.size==="md"?(e.openBlock(),e.createElementBlock("div",Jo)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"panel",ref:u,tabindex:"-1",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i).idDelTitulo.value??void 0,"aria-label":e.unref(i).idDelTitulo.value?void 0:t.ariaLabel},l.value,{class:[n.value,r.value]}),[e.renderSlot(x.$slots,"default")],16,Zo)],544)):e.createCommentVNode("",!0)]),_:3})]))}}),en={class:"text-sm text-tx-muted"},qe=e.defineComponent({__name:"DialogDescription",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("p",en,[e.renderSlot(a.$slots,"default")]))}}),tn={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},Ue=e.defineComponent({__name:"DialogFooter",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",tn,[e.renderSlot(a.$slots,"default")]))}}),on={class:"flex flex-col gap-1.5 text-center sm:text-left"},He=e.defineComponent({__name:"DialogHeader",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",on,[e.renderSlot(a.$slots,"default")]))}}),nn=["id"],We=e.defineComponent({__name:"DialogTitle",setup(t){const a=ce(),o=_o();return e.onMounted(()=>a.ponerElTitulo(o)),e.onUnmounted(()=>a.ponerElTitulo(null)),(n,l)=>(e.openBlock(),e.createElementBlock("h2",{id:e.unref(o),class:"font-semibold text-lg leading-none tracking-tight"},[e.renderSlot(n.$slots,"default")],8,nn))}}),de=Symbol("menú de vasak");function U(){const t=e.inject(de,null);if(t)return t;const a=e.ref(!1);return{abierto:a,idDelMenu:"vsk-menu-suelto",idDeLaEtiqueta:e.ref(null),ponerLaEtiqueta:()=>{},disparador:e.ref(null),ponerElDisparador:()=>{},focoAlAbrir:e.ref("ninguno"),abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1},alternar:()=>{a.value=!a.value}}}let Ge=0;function Qe(){return Ge+=1,`vsk-menu-${Ge}`}const an={class:"relative inline-block"},Ye=e.defineComponent({__name:"DropdownMenu",props:{open:{type:Boolean,default:void 0}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1),r=e.ref(null),i=e.ref(null),s=e.ref("ninguno"),f=Qe();let u=null;const m=e.computed({get:()=>o.open??l.value,set:y=>{o.open===void 0&&(l.value=y),n("update:open",y)}});e.watch(m,y=>{if(y){const h=document.activeElement;u=h instanceof HTMLElement?h:null}else s.value="ninguno"});function B(y="ninguno"){s.value=y,m.value=!0}function C(y={}){if(m.value=!1,!y.devolverElFoco)return;const h=u??r.value;h?.isConnected&&h.focus()}function $(y="ninguno"){if(m.value){C({devolverElFoco:!0});return}B(y)}return e.provide(de,{abierto:m,idDelMenu:f,idDeLaEtiqueta:i,ponerLaEtiqueta:y=>{i.value=y},disparador:r,ponerElDisparador:y=>{r.value=y},focoAlAbrir:s,abrir:B,cerrar:C,alternar:$}),(y,h)=>(e.openBlock(),e.createElementBlock("div",an,[e.renderSlot(y.$slots,"default")]))}}),ln=["id","aria-labelledby","inert"],rn={role:"none",class:"py-1"},A=8,Xe=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=U(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),i=e.computed(()=>o.abierto.value),s=e.ref(null),f=e.ref({top:0,left:0,techo:null}),u={top:"bottom",bottom:"top",left:"right",right:"left"};function m(c,p){const b=a.sideOffset+A;switch(c){case"bottom":return window.innerHeight-p.bottom-b;case"top":return p.top-b;case"right":return window.innerWidth-p.right-b;case"left":return p.left-b}}function B(c,p,b){return b<p?p:Math.min(Math.max(c,p),b)}function C(){if(!r.value||!s.value)return;const c=r.value.getBoundingClientRect(),p=s.value.scrollHeight,b=s.value.offsetWidth,D=a.side==="top"||a.side==="bottom",F=D?p:b;let T=a.side;const K=m(T,c);K<F&&m(u[T],c)>K&&(T=u[T]);let M=0,E=0,w=null;switch(T){case"bottom":{M=c.bottom+a.sideOffset,w=Math.max(window.innerHeight-M-A,0);break}case"top":{w=Math.max(m("top",c),0),M=c.top-a.sideOffset-Math.min(p,w);break}case"left":case"right":{E=T==="right"?c.right+a.sideOffset:c.left-b-a.sideOffset;const V=window.innerHeight-2*A;M=B(c.top,A,window.innerHeight-Math.min(p,V)-A),w=Math.max(window.innerHeight-M-A,0);break}}if(D)switch(a.align){case"start":E=c.left;break;case"center":E=c.left+c.width/2-b/2;break;case"end":E=c.right-b;break}E=B(E,A,window.innerWidth-b-A),f.value={top:M,left:E,techo:w}}function $(){return s.value?Array.from(s.value.querySelectorAll('[role="menuitem"]')):[]}function y(c){const p=$();if(!p.length)return;const b=p.length;p[(c%b+b)%b]?.focus()}function h(){const c=document.activeElement;return c instanceof HTMLElement?$().indexOf(c):-1}function z(c){const p=h();switch(c.key){case"ArrowDown":c.preventDefault(),y(p+1);break;case"ArrowUp":c.preventDefault(),y(p<=0?-1:p-1);break;case"Home":c.preventDefault(),y(0);break;case"End":c.preventDefault(),y(-1);break;case"Escape":c.preventDefault(),c.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":c.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(i,async c=>{if(c)switch(await e.nextTick(),requestAnimationFrame(()=>{C()}),o.focoAlAbrir.value){case"primero":y(0);break;case"ultimo":y(-1);break;default:s.value?.focus()}});function x(c){i.value&&(c&&s.value?.contains(c.target)||C())}function g(c){const p=c.target,b=!!p.closest("[data-dropdown-content]"),D=!!r.value?.contains(p);!b&&!D&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",g),window.addEventListener("resize",x),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",x),window.removeEventListener("scroll",x,!0)}),(c,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-in-out","leave-active-class":"transition-all duration-150 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95",onEnter:p[1]||(p[1]=b=>b.offsetHeight),onLeave:p[2]||(p[2]=b=>b.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:s},c.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!i.value,style:{position:"fixed",top:`${f.value.top}px`,left:`${f.value.left}px`,maxHeight:f.value.techo===null?void 0:`${f.value.techo}px`,overflowY:"auto",overscrollBehavior:"contain",zIndex:50},"data-dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:p[0]||(p[0]=b=>b.stopPropagation()),onKeydown:z}),[e.createElementVNode("div",rn,[e.renderSlot(c.$slots,"default")])],16,ln),[[e.vShow,i.value]])]),_:3})]))}}),sn=["aria-disabled","onKeydown"],_e=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=U();function r(i){o.disabled||(n("select"),n("click",i),l.cerrar({devolverElFoco:!0}))}return(i,s)=>(e.openBlock(),e.createElementBlock("div",{role:"menuitem",tabindex:"0","aria-disabled":t.disabled||void 0,class:e.normalizeClass(["px-3 py-2 text-sm transition-colors outline-none",{"opacity-50 cursor-not-allowed":t.disabled,"cursor-pointer hover:bg-primary hover:text-tx-on-primary focus-visible:bg-primary focus-visible:text-tx-on-primary":!t.disabled}]),onClick:r,onKeydown:[e.withKeys(e.withModifiers(r,["prevent"]),["enter"]),e.withKeys(e.withModifiers(r,["prevent"]),["space"])]},[e.renderSlot(i.$slots,"default")],42,sn))}}),Je=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=U(),o=`${Qe()}-titulo`;return e.onMounted(()=>{a.ponerLaEtiqueta(o)}),e.onBeforeUnmount(()=>{a.ponerLaEtiqueta(null)}),(n,l)=>(e.openBlock(),e.createElementBlock("div",{id:o,role:"presentation",class:"px-3 py-2 text-sm font-semibold text-tx-main"},[e.renderSlot(n.$slots,"default")]))}}),cn={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},Ze=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",cn))}});function ve(t){const a=t.filter(n=>n.type!==e.Comment&&!(n.type===e.Text&&typeof n.children=="string"&&!n.children.trim()));if(a.length!==1)return null;const o=a[0];return o.type===e.Fragment&&Array.isArray(o.children)?ve(o.children):o}function dn(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const et=e.defineComponent({name:"DropdownMenuTrigger",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(t,{slots:a,attrs:o}){const n=U(),l=e.ref(null);function r(){n.ponerElDisparador(dn(l.value))}function i(){t.disabled||(r(),n.alternar())}function s(f){if(!t.disabled)switch(f.key){case"Enter":case" ":f.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":f.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":f.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(f.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const f={ref:m=>{l.value=m,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:i,onKeydown:s},u=a.default?.()??[];if(t.asChild){const m=ve(u);if(m)return e.cloneVNode(m,{...o,...f})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...f},u)}}}),mn=["for"],tt=_(e.defineComponent({__name:"FormGroup",props:{label:{},htmlFor:{default:""},customClass:{default:()=>({})},labelClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-2",t.customClass])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.htmlFor,class:e.normalizeClass(["text-sm font-medium text-primary dark:text-primary-dark",t.labelClass])},e.toDisplayString(t.label),11,mn)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),ot=_(e.defineComponent({__name:"ListCard",props:{clickable:{type:Boolean,default:!1},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{o.clickable&&n("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",{"hover:bg-vsk-primary/5 cursor-pointer":o.clickable},t.customClass]),onClick:l},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f86d47da"]]),un={class:"background rounded-corner flex flex-row items-center gap-2 justify-between w-full h-auto p-4 transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80"},fn=["title","aria-label"],pn=["src"],bn={key:1,class:"w-8 h-8 flex items-center justify-center"},yn=["src"],gn=["min","max","value","aria-label","aria-valuetext"],nt=e.defineComponent({__name:"SliderControl",props:{icon:{},label:{},buttonLabel:{},modelValue:{},min:{default:0},max:{default:100},showButton:{type:Boolean,default:!1},iconClass:{default:()=>({})},getPercentageClass:{type:Function,default:()=>""}},emits:["update:modelValue","buttonClick"],setup(t,{emit:a}){const o=t,n=a,l=e.computed(()=>{if(o.max<=o.min)return 0;const f=o.max-o.min,u=o.modelValue-o.min;return Math.round(u/f*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),i=f=>{const u=f.target;n("update:modelValue",Number(u.value))},s=()=>{n("buttonClick")};return(f,u)=>(e.openBlock(),e.createElementBlock("div",un,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s,type:"button",title:t.buttonLabel??t.label,"aria-label":t.buttonLabel??t.label,class:"w-8 h-8 flex items-center justify-center rounded-corner transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80 hover:scale-110 active:scale-95"},[e.createElementVNode("img",{src:t.icon,alt:"",class:e.normalizeClass(["w-6 h-6 transition-all duration-200",t.iconClass])},null,10,pn)],8,fn)):(e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("img",{src:t.icon,alt:"",class:"w-6 h-6 transition-all duration-200"},null,8,yn)])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:i,"aria-label":t.label,"aria-valuetext":`${l.value}%`,class:"flex-1 transition-all duration-200 hover:scale-105"},null,40,gn),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-all duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),J=e.defineComponent({__name:"SwitchTrack",props:{on:{type:Boolean},size:{default:"small"}},setup(t){const a=t,o=e.computed(()=>a.size==="small");return(n,l)=>(e.openBlock(),e.createElementBlock("span",{"aria-hidden":"true",class:e.normalizeClass(["inline-flex shrink-0 items-center rounded-full border transition-colors",[o.value?"h-6 w-11":"h-7 w-12",t.on?"border-transparent bg-primary":"border-ui-border-strong bg-ui-surface"]])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full shadow transition-transform",[o.value?"h-4 w-4":"h-5 w-5",t.on?"bg-tx-on-primary":"bg-tx-main",t.on?"translate-x-6":"translate-x-1"]])},null,2)],2))}}),kn=["aria-checked","disabled"],hn={class:"min-w-0 flex-1"},xn={class:"block font-medium text-sm text-tx-main"},wn={key:0,class:"mt-0.5 block text-tx-muted text-xs"},at=e.defineComponent({__name:"SwitchRow",props:{modelValue:{type:Boolean},label:{},description:{},icon:{},iconType:{default:"icon"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:"flex w-full items-start gap-3 rounded-corner p-2 text-left transition-colors hover:bg-ui-surface/60 disabled:cursor-not-allowed disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",onClick:r[0]||(r[0]=i=>n("update:modelValue",!o.modelValue))},[e.createVNode(J,{on:t.modelValue,class:"mt-0.5"},null,8,["on"]),t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["flex size-10 shrink-0 items-center justify-center rounded-corner border",t.modelValue?"border-secondary bg-primary/20":"border-ui-border bg-ui-surface/40"]),"aria-hidden":"true"},[e.createVNode(L,{name:t.icon,type:t.iconType,size:24,alt:""},null,8,["name","type"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",hn,[e.createElementVNode("span",xn,e.toDisplayString(t.label),1),t.description?(e.openBlock(),e.createElementBlock("span",wn,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"pie")])],8,kn))}}),Bn=["aria-checked","aria-label","disabled"],lt=e.defineComponent({__name:"SwitchToggle",props:{modelValue:{type:Boolean},label:{},disabled:{type:Boolean,default:!1},size:{default:"small"}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;function l(){n("update:modelValue",!o.modelValue)}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,"aria-label":t.label,disabled:t.disabled,class:"rounded-full transition-opacity disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",onClick:l},[e.createVNode(J,{on:t.modelValue,size:t.size},null,8,["on","size"])],8,Bn))}}),Cn=["disabled","title","aria-label","aria-pressed","aria-busy"],En=["src"],rt=e.defineComponent({__name:"ToggleControl",props:{icon:{},label:{},pressed:{type:[Boolean,null],default:null},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=a;function n(){o("click")}return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["p-2 rounded-corner bg-ui-bg/80 hover:opacity-50 transition-all duration-300 h-17.5 w-17.5 group relative overflow-hidden hover:scale-105 hover:shadow-lg active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",{"animate-pulse":t.isLoading,"ring-2 ring-primary":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading,title:t.label,"aria-label":t.label,"aria-pressed":t.pressed??void 0,"aria-busy":t.isLoading||void 0,onClick:n},[e.createElementVNode("img",{src:t.icon,alt:"",class:e.normalizeClass(["m-auto w-12.5 h-12.5 transition-all duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,10,En)],10,Cn))}}),me=Symbol("tooltip de vasak");function ue(){const t=e.inject(me,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),disparador:e.ref(null),ponerElDisparador:()=>{},abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1}}}const $n={class:"inline-block"},it=e.defineComponent({__name:"Tooltip",props:{disabled:{type:Boolean,default:!1},delayDuration:{default:200}},setup(t){const a=t,o=e.ref(!1),n=e.ref(null);let l=null;function r(){a.disabled||(l=setTimeout(()=>{o.value=!0},a.delayDuration))}function i(){l&&clearTimeout(l),o.value=!1}return e.provide(me,{abierto:e.computed(()=>o.value&&!a.disabled),disparador:n,ponerElDisparador:s=>{n.value=s},abrir:r,cerrar:i}),(s,f)=>(e.openBlock(),e.createElementBlock("div",$n,[e.renderSlot(s.$slots,"default")]))}}),st=e.defineComponent({inheritAttrs:!1,__name:"TooltipContent",props:{side:{default:"bottom"},align:{default:"center"},sideOffset:{default:4}},setup(t){const a=e.useAttrs(),o=e.computed(()=>a.class??""),n=t,l=ue(),r=e.computed(()=>l.abierto.value),i=e.ref(null),s=e.ref({top:0,left:0});function f(){const u=l.disparador.value;if(!u||!i.value)return;const m=u.getBoundingClientRect(),B=i.value.getBoundingClientRect();let C=0,$=0;switch(n.side){case"bottom":C=m.bottom+n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"top":C=m.top-B.height-n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"left":$=m.left-B.width-n.sideOffset,C=m.top+m.height/2-B.height/2;break;case"right":$=m.right+n.sideOffset,C=m.top+m.height/2-B.height/2;break}s.value={top:C,left:$}}return e.watch(r,async u=>{u&&(await e.nextTick(),requestAnimationFrame(f))}),(u,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-in-out","leave-active-class":"transition-all duration-200 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"globo",ref:i,style:e.normalizeStyle({position:"fixed",top:`${s.value.top}px`,left:`${s.value.left}px`,zIndex:50}),class:e.normalizeClass([o.value,"pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"])},[e.renderSlot(u.$slots,"default")],6),[[e.vShow,r.value]])]),_:3})]))}}),ct=e.defineComponent({__name:"TooltipTrigger",setup(t){const a=ue(),o=e.ref(null);function n(){return o.value?o.value.firstElementChild??o.value:null}function l(){a.ponerElDisparador(n()),a.abrir()}return e.onMounted(()=>{a.ponerElDisparador(n())}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"envoltorio",ref:o,class:"inline-block",onMouseenter:l,onMouseleave:i[0]||(i[0]=s=>e.unref(a).cerrar()),onFocus:l,onBlur:i[1]||(i[1]=s=>e.unref(a).cerrar())},[e.renderSlot(r.$slots,"default")],544))}}),Vn=["title"],zn=["src","alt"],Dn={key:0,class:"absolute bottom-1 right-1 bg-primary dark:bg-primary-dark text-white text-xs rounded-full w-4 h-4 flex items-center justify-center font-bold animate-bounce"},dt=e.defineComponent({__name:"TrayIconButton",props:{icon:{},alt:{default:""},tooltip:{default:""},badge:{default:null},iconClass:{default:()=>({})},customClass:{default:""},tooltipClass:{default:""},showCustomTooltip:{type:Boolean,default:!1},customTooltipText:{default:""}},emits:["click"],setup(t,{emit:a}){const o=a,n=e.ref(!1),l=()=>{o("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-all duration-300",t.customClass]),title:t.tooltip,onClick:l,onMouseenter:i[0]||(i[0]=s=>n.value=!0),onMouseleave:i[1]||(i[1]=s=>n.value=!1)},[e.createElementVNode("img",{src:t.icon,alt:t.alt,class:e.normalizeClass(["m-auto h-5.5 w-auto transition-all duration-300",t.iconClass])},null,10,zn),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Dn,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0),t.showCustomTooltip&&t.customTooltipText?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["absolute top-1 left-1/2 transform -translate-x-1/2 text-xs font-semibold p-1 rounded-corner transition-all duration-300 pointer-events-none background",[t.tooltipClass,{"opacity-0 -translate-y-2":!n.value,"opacity-100 translate-y-0":n.value}]])},e.toDisplayString(t.customTooltipText),3)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")],42,Vn))}}),Sn=[ye,v,Z,ge,L,Ce,oe,te,Ve,ne,ze,De,Se,Le,Ne,Me,X,Ie,ae,Te,Pe,je,Ke,Re,qe,Ue,He,We,Ye,Xe,_e,Je,Ze,et,tt,ot,nt,at,lt,J,rt,it,st,ct,dt],Ln={install(t){Sn.forEach(a=>{t.component(a.name,a)})}};d.ActionButton=De,d.AlertMessage=Se,d.AppBar=oe,d.BarSearch=ze,d.CLASES_POR_TONO=le,d.CLAVE_DEL_DIALOGO=se,d.CLAVE_DEL_MENU=de,d.CLAVE_DEL_TOOLTIP=me,d.CLAVE_DE_LA_BARRA=G,d.ConfigSection=Pe,d.DeviceCard=je,d.Dialog=Ke,d.DialogContent=Re,d.DialogDescription=qe,d.DialogFooter=Ue,d.DialogHeader=He,d.DialogTitle=We,d.DropdownMenu=Ye,d.DropdownMenuContent=Xe,d.DropdownMenuItem=_e,d.DropdownMenuLabel=Je,d.DropdownMenuSeparator=Ze,d.DropdownMenuTrigger=et,d.EmptyState=Le,d.FormGroup=tt,d.LOS_TRES_CONTROLES=Y,d.ListCard=ot,d.LoadingState=Ne,d.POSICIONES=ke,d.ProgressBar=Me,d.SearchField=X,d.SearchSelect=Ie,d.SelectField=ge,d.SideBar=ye,d.SideButton=v,d.SideGroup=Z,d.SliderControl=nt,d.SwitchRow=at,d.SwitchToggle=lt,d.SwitchTrack=J,d.TabBar=Ve,d.TabItem=ne,d.TextInput=ae,d.ThemeIcon=L,d.ToastArea=Te,d.ToggleControl=rt,d.Tooltip=it,d.TooltipContent=st,d.TooltipTrigger=ct,d.TrayIconButton=dt,d.WindowControls=te,d.WindowFrame=Ce,d.buscarOpciones=Ae,d.default=Ln,d.esPosicion=he,d.olvidarLosIconosDelTema=bt,d.orientacionDe=Q,d.posicionDe=xe,d.rolDelTono=re,d.usarElDialogo=ce,d.usarElMenu=U,d.usarElTooltip=ue,d.usarLaBarra=j,d.usarLaPosicionDeLaBarra=we,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vasakgroup/vue-libvasak",
3
- "version": "0.19.0",
3
+ "version": "1.1.0",
4
4
  "description": "Vue componenets for VSK Applications",
5
5
  "main": "./dist/vue-libvasak.umd.js",
6
6
  "module": "./dist/vue-libvasak.es.js",