@vasakgroup/vue-libvasak 0.5.0 → 0.6.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/dist/types/index.d.ts +2 -2
- package/dist/types/window/AppBar.vue.d.ts +21 -6
- package/dist/types/window/WindowControls.vue.d.ts +13 -1
- package/dist/types/window/WindowFrame.vue.d.ts +22 -8
- package/dist/types/window/reenvio.d.ts +21 -0
- package/dist/types/window/tipos.d.ts +4 -0
- package/dist/vue-libvasak.es.js +690 -636
- package/dist/vue-libvasak.umd.js +1 -1
- package/package.json +1 -1
package/dist/vue-libvasak.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(f,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")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.VueLibVasak={},f.Vue,f.TauriEvent,f.VasakVicons,f.TauriWindow))})(this,(function(f,e,Ce,q,Be){"use strict";function xe(t,a){const o=e.ref("");let n=null,l=!1,r=0;async function s(){const i=++r,m=t.value;if(!m){o.value="";return}const p=a.value==="symbol"?await q.getSymbolSource(m):await q.getIconSource(m);i===r&&(o.value=p)}return e.onMounted(async()=>{const i=await Ce.listen("vicons:theme-changed",s);if(l){i();return}n=i,await s()}),e.onUnmounted(()=>{l=!0,n?.()}),e.watch(t,s),o}const Ee=["src","alt"],L=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,o=xe(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,Ee)):(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0"},null,4))}}),$e={class:"flex flex-col gap-2"},ze=["aria-expanded"],Ve={key:1,class:"flex flex-col gap-1"},I=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",$e,[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,ze)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",Ve,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),Le=["title","aria-label","disabled","aria-current"],De={key:1},Se={key:0,class:"min-w-0 flex-1 truncate font-medium"},Ne={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},O=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",De,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Se,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Ne,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,Le))}}),Me={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Ae={class:"flex items-center gap-2"},Te=["aria-label","aria-expanded"],Ie={key:0,class:"min-w-0 flex-1"},Oe={key:0,class:"truncate font-semibold text-sm"},Pe={key:1,class:"truncate text-tx-muted text-xs"},je={key:0},Fe={key:1,class:"flex border-ui-border border-b p-2"},Ke=["aria-label","aria-expanded"],Re={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},U="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",W=767,H=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),s=e.ref(!1);let i=null,m=null;const p=e.computed(()=>s.value||r.value),y=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function E(){return document.documentElement?.clientWidth||window.innerWidth}function B(){s.value=E()<=W}function V(){r.value=!r.value,l("update:collapsed",r.value)}function k(g){l("update:modelValue",g),l("change",g)}return e.watch(()=>n.collapsed,g=>{g!==void 0&&(r.value=g)}),e.onMounted(()=>{i=window.matchMedia(`(max-width: ${W}px)`),B(),i.addEventListener("change",B),window.addEventListener("resize",B),typeof ResizeObserver<"u"&&document.documentElement&&(m=new ResizeObserver(B),m.observe(document.documentElement))}),e.onBeforeUnmount(()=>{i?.removeEventListener("change",B),window.removeEventListener("resize",B),m?.disconnect(),m=null}),a({collapsed:p}),(g,u)=>(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]",p.value?"md:w-[84px]":"md:w-72"]])},[y.value||g.$slots.header?(e.openBlock(),e.createElementBlock("header",Me,[e.createElementVNode("div",Ae,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(U),"aria-label":p.value?t.expandLabel:t.collapseLabel,"aria-expanded":!p.value,onClick:V},[e.createVNode(L,{name:p.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Te),y.value&&!p.value?(e.openBlock(),e.createElementBlock("div",Ie,[t.title?(e.openBlock(),e.createElementBlock("p",Oe,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",Pe,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),g.$slots.header&&!p.value?(e.openBlock(),e.createElementBlock("div",je,[e.renderSlot(g.$slots,"header",{collapsed:p.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(U),"aria-label":p.value?t.expandLabel:t.collapseLabel,"aria-expanded":!p.value,onClick:V},[e.createVNode(L,{name:p.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Ke)])),e.createElementVNode("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,h=>(e.openBlock(),e.createBlock(I,{key:h.id,title:h.title,collapsed:p.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.items,c=>(e.openBlock(),e.createBlock(O,{key:c.id,label:c.label,icon:c.icon,badge:c.badge,disabled:c.disabled,collapsed:p.value,active:t.modelValue===c.id,onClick:b=>k(c.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(g.$slots,"default",{collapsed:p.value})])],2))}}),qe={class:"flex min-w-0 flex-col gap-1"},Ue=["for"],We={class:"relative flex min-w-0 items-center"},He=["id"],G=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,o=e.useAttrs(),n=e.useId(),l=e.computed(()=>o.id??n),[r,s]=e.useModel(t,"modelValue",{set(i){return s.number?Number(i):i}});return(i,m)=>(e.openBlock(),e.createElementBlock("div",qe,[a.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:"text-tx-muted text-xs"},e.toDisplayString(a.label),9,Ue)):e.createCommentVNode("",!0),e.createElementVNode("div",We,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:l.value,"onUpdate:modelValue":m[0]||(m[0]=p=>e.isRef(r)?r.value=p: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(o)),[e.renderSlot(i.$slots,"default")],16,He),[[e.vModelSelect,e.unref(r)]]),e.createVNode(L,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),M=Symbol("barra de vasak");function A(t){return t==="left"||t==="right"?"vertical":"horizontal"}const X=["top","bottom","left","right"];function Y(t){return typeof t=="string"&&X.includes(t)}function D(){const t=e.inject(M,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>A(a.value)),vertical:e.computed(()=>A(a.value)==="vertical")}}const Ge="window",Xe="barPosition";function J(t){const o=t?.[Ge]?.[Xe];return Y(o)?o:null}function Q(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"),s=await r();a.value=J(s)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),s=await r("config-changed",()=>{l()});if(n){s();return}o=s}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}const Ye=["title","aria-label"],Je=["title","aria-label"],Qe=["title","aria-label"],P="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",j=e.defineComponent({__name:"WindowControls",props:{minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"}},setup(t){const{vertical:a}=D();function o(){return Be.getCurrentWindow()}return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(a)?"flex-col":""]),"data-tauri-drag-region":""},[e.createElementVNode("button",{type:"button",class:e.normalizeClass([P,"hover:bg-status-success"]),title:t.minimizeLabel,"aria-label":t.minimizeLabel,onClick:l[0]||(l[0]=r=>o().minimize())},[e.createVNode(L,{name:"window-minimize",size:24})],10,Ye),e.createElementVNode("button",{type:"button",class:e.normalizeClass([P,"hover:bg-status-warning"]),title:t.maximizeLabel,"aria-label":t.maximizeLabel,onClick:l[1]||(l[1]=r=>o().toggleMaximize())},[e.createVNode(L,{name:"window-maximize",size:24})],10,Je),e.createElementVNode("button",{type:"button",class:e.normalizeClass([P,"hover:bg-status-error"]),title:t.closeLabel,"aria-label":t.closeLabel,onClick:l[2]||(l[2]=r=>o().close())},[e.createVNode(L,{name:"window-close",size:24})],10,Qe)],2))}}),Ze={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},ve={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},F=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"},hideControls:{type:Boolean,default:!1}},setup(t){const a=t,o=D(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(M,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["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",Ze,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",ve,[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),t.hideControls?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:3,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},null,8,["minimize-label","maximize-label","close-label"]))],2))}}),_e={class:"flex min-h-0 min-w-0 flex-1"},Z=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"},hideControls:{type:Boolean,default:!1},hideBar:{type:Boolean,default:!1}},setup(t){const a=t,o=Q(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>A(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(M,{posicion:n,orientacion:l,vertical:r});const s={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(i,m)=>(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",s[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(F,{key:0,position:n.value,title:t.title,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel,"hide-controls":t.hideControls},e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"barra")]),_:2},[i.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"identidad")]),key:"0"}:void 0,i.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"titulo")]),key:"1"}:void 0,i.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"acciones")]),key:"2"}:void 0]),1032,["position","title","minimize-label","maximize-label","close-label","hide-controls"])),e.createElementVNode("div",_e,[e.renderSlot(i.$slots,"default")])],2))}}),et=["aria-selected","title","aria-label","tabindex"],tt={key:1,"aria-hidden":"true"},ot={key:2,class:"min-w-0 flex-1 truncate"},nt=["title","aria-label"],at={class:"whitespace-nowrap"},lt={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},rt=["title","aria-label"],it=500,v=8,_=6,K=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}=D(),s=e.ref(null),i=e.ref(null),m=e.ref(!1),p=e.ref(!1),y=e.ref(!1),E=e.ref({top:0,left:0,right:0});let B=null,V=null;const k=e.computed(()=>o.tab.closable!==!1),g=e.computed(()=>o.tab.tooltip??o.tab.label),u=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),h=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),c=e.computed(()=>m.value||y.value),b=e.computed(()=>!!o.tab.dirty&&!(c.value&&k.value)),w=e.computed(()=>k.value&&(c.value||o.active||!o.tab.dirty)),C=e.computed(()=>l.value&&(m.value||p.value||y.value)),z=e.computed(()=>{const x={position:"fixed",top:`${E.value.top}px`,zIndex:50};return r.value==="right"?{...x,right:`${E.value.right+_}px`}:{...x,left:`${E.value.left+_}px`}});function we(){const x=s.value;if(!x)return;const d=x.getBoundingClientRect();E.value={top:d.top,left:d.right,right:window.innerWidth-d.left}}function Jt(x){const d=x.relatedTarget;d&&i.value?.contains(d)||(y.value=!1)}function Qt(){m.value=!0,we()}function Zt(){p.value=!0,we()}function N(){B!==null&&clearTimeout(B),B=null,V=null}function vt(x){x.button===0&&(V={x:x.clientX,y:x.clientY},B=setTimeout(()=>{V&&n("menu",V),N()},it))}function _t(x){if(!V)return;(Math.abs(x.clientX-V.x)>v||Math.abs(x.clientY-V.y)>v)&&N()}function eo(x){x.button===1&&k.value&&(x.preventDefault(),n("close"))}function to(x){x.preventDefault(),n("menu",{x:x.clientX,y:x.clientY})}return e.onBeforeUnmount(N),(x,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:s,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:g.value,"aria-label":u.value,tabindex:t.tabindex,onClick:d[5]||(d[5]=e.withModifiers($=>n("select"),["stop"])),onKeydown:[d[6]||(d[6]=e.withKeys(e.withModifiers($=>n("select"),["stop"]),["enter"])),d[7]||(d[7]=e.withKeys(e.withModifiers($=>n("select"),["prevent","stop"]),["space"])),d[8]||(d[8]=e.withKeys(e.withModifiers($=>n("navegar","anterior"),["prevent","stop"]),["left"])),d[9]||(d[9]=e.withKeys(e.withModifiers($=>n("navegar","anterior"),["prevent","stop"]),["up"])),d[10]||(d[10]=e.withKeys(e.withModifiers($=>n("navegar","siguiente"),["prevent","stop"]),["right"])),d[11]||(d[11]=e.withKeys(e.withModifiers($=>n("navegar","siguiente"),["prevent","stop"]),["down"])),d[12]||(d[12]=e.withKeys(e.withModifiers($=>n("navegar","primera"),["prevent","stop"]),["home"])),d[13]||(d[13]=e.withKeys(e.withModifiers($=>n("navegar","ultima"),["prevent","stop"]),["end"])),d[14]||(d[14]=e.withKeys(e.withModifiers($=>n("mover",-1),["alt","prevent","stop"]),["left"])),d[15]||(d[15]=e.withKeys(e.withModifiers($=>n("mover",-1),["alt","prevent","stop"]),["up"])),d[16]||(d[16]=e.withKeys(e.withModifiers($=>n("mover",1),["alt","prevent","stop"]),["right"])),d[17]||(d[17]=e.withKeys(e.withModifiers($=>n("mover",1),["alt","prevent","stop"]),["down"])),d[18]||(d[18]=e.withKeys(e.withModifiers($=>k.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(eo,["stop"]),onContextmenu:to,onPointerdown:vt,onPointermove:_t,onPointerup:N,onPointerleave:N,onMouseenter:Qt,onMouseleave:d[19]||(d[19]=$=>m.value=!1),onFocus:Zt,onBlur:d[20]||(d[20]=$=>p.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",tt,e.toDisplayString(h.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ot,e.toDisplayString(t.tab.label),1)),b.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)):w.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}: ${u.value}`,onClick:d[0]||(d[0]=e.withModifiers($=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,nt)):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(()=>[C.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:i,style:e.normalizeStyle(z.value),onMouseenter:d[2]||(d[2]=$=>y.value=!0),onMouseleave:d[3]||(d[3]=$=>y.value=!1),onFocusin:d[4]||(d[4]=$=>y.value=!0),onFocusout:Jt},[e.createElementVNode("span",at,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",lt)):e.createCommentVNode("",!0),k.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}: ${u.value}`,onClick:d[1]||(d[1]=e.withModifiers($=>n("close"),["stop"]))},[e.createVNode(L,{name:"gtk-close",type:"symbol",size:12})],8,rt)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,et))}}),st=["aria-orientation"],ct=["draggable","onDragstart","onDragover","onDrop"],dt=["title","aria-label"],ee=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}=D(),r=e.ref(null),s=e.ref(0),i=e.ref(null),m=e.ref(null);function p(c){n("update:modelValue",c),n("select",c)}async function y(c,b){const w=o.tabs.length-1;if(w<0)return;const C=b==="primera"?0:b==="ultima"?w:b==="anterior"?(c-1+o.tabs.length)%o.tabs.length:(c+1)%o.tabs.length;s.value=C,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[C]?.focus()}function E(c,b){if(o.fixedOrder)return;const w=c+b;if(w<0||w>=o.tabs.length)return;const C=[...o.tabs],[z]=C.splice(c,1);z&&(C.splice(w,0,z),s.value=w,n("reorder",C))}function B(c){const b=r.value;if(!b)return;const w=c.deltaY||c.deltaX||0,C=l.value?b.scrollTop:b.scrollLeft;l.value?b.scrollTop+=w:b.scrollLeft+=w,(l.value?b.scrollTop:b.scrollLeft)!==C&&c.preventDefault()}function V(c,b){o.fixedOrder||(i.value=c,b.dataTransfer?.setData("text/plain",String(c)),b.dataTransfer&&(b.dataTransfer.effectAllowed="move"))}function k(c,b){o.fixedOrder||i.value===null||(b.preventDefault(),m.value=c,b.dataTransfer&&(b.dataTransfer.dropEffect="move"))}function g(c){const b=i.value;if(u(),o.fixedOrder||b===null||b===c)return;const w=[...o.tabs],[C]=w.splice(b,1);C&&(w.splice(c,0,C),n("reorder",w))}function u(){i.value=null,m.value=null}const h=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(c,b)=>(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(h.value),onWheel:B},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["transition-opacity",[i.value===C?"opacity-40":"",m.value===C&&i.value!==C?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:z=>V(C,z),onDragover:z=>k(C,z),onDrop:e.withModifiers(z=>g(C),["prevent"]),onDragend:u},[e.createVNode(K,{tab:w,active:w.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:C===s.value?0:-1,onSelect:z=>p(w.id),onClose:z=>n("close",w.id),onMenu:z=>n("menu",{id:w.id,...z}),onNavegar:z=>y(C,z),onMover:z=>E(C,z)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,ct))),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:b[0]||(b[0]=w=>n("new"))},[e.createVNode(L,{name:"gtk-add",type:"symbol",size:14})],8,dt)):e.createCommentVNode("",!0)],10,st))}}),mt={class:"relative flex shrink-0 items-center"},ft=["title","aria-label","aria-expanded"],ut=["value","placeholder","aria-label"],te=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=D(),s=e.ref(!1),i=e.ref(null),m=e.computed(()=>l.value||o.collapsed),p=e.computed(()=>!m.value||s.value),y=e.computed(()=>{if(!m.value)return"";const g="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${g} left-full top-0 ml-1`:r.value==="right"?`${g} right-full top-0 mr-1`:r.value==="bottom"?`${g} bottom-full right-0 mb-1`:`${g} top-full right-0 mt-1`});async function E(){s.value=!0,n("open"),await e.nextTick(),i.value?.focus()}function B(){s.value&&(s.value=!1,n("close"))}function V(g){n("update:modelValue",g.target.value)}function k(){n("search",o.modelValue)}return(g,u)=>(e.openBlock(),e.createElementBlock("div",mt,[m.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":s.value,onMousedown:u[0]||(u[0]=e.withModifiers(()=>{},["prevent"])),onClick:u[1]||(u[1]=h=>s.value?B():E())},[e.createVNode(L,{name:"system-search",type:"symbol",size:14})],40,ft)):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(y.value)},[e.createElementVNode("input",{ref_key:"campo",ref:i,type:"search",class:e.normalizeClass(["w-full rounded-corner border border-ui-border bg-ui-bg/80 px-2 py-1 text-sm outline-none focus:border-ui-border-strong",m.value?"":"w-48"]),value:t.modelValue,placeholder:t.placeholder||t.label,"aria-label":t.label,onInput:V,onKeydown:[e.withKeys(k,["enter"]),e.withKeys(B,["esc"])],onBlur:B},null,42,ut)],2)):e.createCommentVNode("",!0)]))}}),pt=["type","disabled"],bt={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},kt=["src","alt"],gt={key:2},ht=["src","alt"],yt=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"},s=i=>{o.stopPropagation&&i.stopPropagation(),o.preventDefault&&i.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(i,m)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:s,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",bt)):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,kt)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",gt,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,ht)):e.createCommentVNode("",!0)],10,pt))}}),T=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},oe=T(yt,[["__scopeId","data-v-2eaf6e27"]]),wt={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},ne=T(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",wt,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),Ct={class:"flex items-center gap-3 flex-1 min-w-0"},Bt=["src","alt"],xt={class:"min-w-0"},Et={class:"font-semibold truncate"},$t={key:0,class:"text-xs text-gray-400 truncate"},zt={key:1,class:"text-xs text-gray-400 truncate"},Vt={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},Lt={key:1,class:"w-2 h-2 rounded-full bg-green-500"},ae=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,s)=>(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",Ct,[e.createElementVNode("img",{src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,Bt),e.createElementVNode("div",xt,[e.createElementVNode("div",Et,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",$t,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",zt,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",Vt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(i,m)=>(e.openBlock(),e.createElementBlock("span",{key:m},e.toDisplayString(i),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",Lt)):e.createCommentVNode("",!0)],2))}}),R=Symbol("menú de vasak");function S(){const t=e.inject(R,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 le=0;function re(){return le+=1,`vsk-menu-${le}`}const Dt={class:"relative inline-block"},ie=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),s=e.ref(null),i=e.ref("ninguno"),m=re();let p=null;const y=e.computed({get:()=>o.open??l.value,set:k=>{o.open===void 0&&(l.value=k),n("update:open",k)}});e.watch(y,k=>{if(k){const g=document.activeElement;p=g instanceof HTMLElement?g:null}else i.value="ninguno"});function E(k="ninguno"){i.value=k,y.value=!0}function B(k={}){if(y.value=!1,!k.devolverElFoco)return;const g=p??r.value;g?.isConnected&&g.focus()}function V(k="ninguno"){if(y.value){B({devolverElFoco:!0});return}E(k)}return e.provide(R,{abierto:y,idDelMenu:m,idDeLaEtiqueta:s,ponerLaEtiqueta:k=>{s.value=k},disparador:r,ponerElDisparador:k=>{r.value=k},focoAlAbrir:i,abrir:E,cerrar:B,alternar:V}),(k,g)=>(e.openBlock(),e.createElementBlock("div",Dt,[e.renderSlot(k.$slots,"default")]))}}),St=["id","aria-labelledby","inert"],Nt={role:"none",class:"py-1"},se=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=S(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),s=e.computed(()=>o.abierto.value),i=e.ref(null),m=e.ref({top:0,left:0});function p(){if(!r.value||!i.value)return;const u=r.value.getBoundingClientRect(),h=i.value.getBoundingClientRect();let c=0,b=0;switch(a.side){case"bottom":c=u.bottom+a.sideOffset;break;case"top":c=u.top-h.height-a.sideOffset;break;case"left":b=u.left-h.width-a.sideOffset,c=u.top;break;case"right":b=u.right+a.sideOffset,c=u.top;break}switch(a.align){case"start":(a.side==="bottom"||a.side==="top")&&(b=u.left);break;case"center":(a.side==="bottom"||a.side==="top")&&(b=u.left+u.width/2-h.width/2);break;case"end":(a.side==="bottom"||a.side==="top")&&(b=u.right-h.width);break}m.value={top:c,left:b}}function y(){return i.value?Array.from(i.value.querySelectorAll('[role="menuitem"]')):[]}function E(u){const h=y();if(!h.length)return;const c=h.length;h[(u%c+c)%c]?.focus()}function B(){const u=document.activeElement;return u instanceof HTMLElement?y().indexOf(u):-1}function V(u){const h=B();switch(u.key){case"ArrowDown":u.preventDefault(),E(h+1);break;case"ArrowUp":u.preventDefault(),E(h<=0?-1:h-1);break;case"Home":u.preventDefault(),E(0);break;case"End":u.preventDefault(),E(-1);break;case"Escape":u.preventDefault(),u.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":u.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(s,async u=>{if(u)switch(await e.nextTick(),requestAnimationFrame(()=>{p()}),o.focoAlAbrir.value){case"primero":E(0);break;case"ultimo":E(-1);break;default:i.value?.focus()}});function k(){s.value&&p()}function g(u){const h=u.target,c=!!h.closest("[dropdown-content]"),b=!!r.value?.contains(h);!c&&!b&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",g),window.addEventListener("resize",k),window.addEventListener("scroll",k,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),(u,h)=>(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:h[1]||(h[1]=c=>c.offsetHeight),onLeave:h[2]||(h[2]=c=>c.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:i},u.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!s.value,style:{position:"fixed",top:`${m.value.top}px`,left:`${m.value.left}px`,zIndex:50},"dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:h[0]||(h[0]=c=>c.stopPropagation()),onKeydown:V}),[e.createElementVNode("div",Nt,[e.renderSlot(u.$slots,"default")])],16,St),[[e.vShow,s.value]])]),_:3})]))}}),Mt=["aria-disabled","onKeydown"],ce=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=S();function r(s){o.disabled||(n("select"),n("click",s),l.cerrar({devolverElFoco:!0}))}return(s,i)=>(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(s.$slots,"default")],42,Mt))}}),de=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=S(),o=`${re()}-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")]))}}),At={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},me=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",At))}});function fe(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)?fe(o.children):o}function Tt(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const ue=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=S(),l=e.ref(null);function r(){n.ponerElDisparador(Tt(l.value))}function s(){t.disabled||(r(),n.alternar())}function i(m){if(!t.disabled)switch(m.key){case"Enter":case" ":m.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":m.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":m.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(m.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const m={ref:y=>{l.value=y,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:s,onKeydown:i},p=a.default?.()??[];if(t.asChild){const y=fe(p);if(y)return e.cloneVNode(y,{...o,...m})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...m},p)}}}),It=["for"],pe=T(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,It)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),be=T(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,s)=>(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"]]),Ot={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"},Pt=["src","alt","title"],jt={key:1,class:"w-8 h-8 flex items-center justify-center"},Ft=["src","alt"],Kt=["min","max","value"],ke=e.defineComponent({__name:"SliderControl",props:{icon:{},alt:{default:""},tooltip:{default:""},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 m=o.max-o.min,p=o.modelValue-o.min;return Math.round(p/m*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),s=m=>{const p=m.target;n("update:modelValue",Number(p.value))},i=()=>{n("buttonClick")};return(m,p)=>(e.openBlock(),e.createElementBlock("div",Ot,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:i,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:t.alt,title:t.tooltip,class:e.normalizeClass(["w-6 h-6 transition-all duration-200",t.iconClass])},null,10,Pt)])):(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("img",{src:t.icon,alt:t.alt,class:"w-6 h-6 transition-all duration-200"},null,8,Ft)])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:s,class:"flex-1 transition-all duration-200 hover:scale-105"},null,40,Kt),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-all duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),Rt=["disabled"],ge=e.defineComponent({__name:"SwitchToggle",props:{isOn:{type:Boolean},disabled:{type:Boolean,default:!1},size:{default:"small"},activeClass:{default:"bg-primary dark:bg-primary-dark"},inactiveClass:{default:"background"},customClass:{default:""}},emits:["toggle"],setup(t,{emit:a}){const o=t,n=a,l=()=>{n("toggle",!o.isOn)};return(r,s)=>(e.openBlock(),e.createElementBlock("button",{type:"button",onClick:l,disabled:t.disabled,class:e.normalizeClass(["relative inline-flex items-center rounded-full transition-colors",t.size==="small"?"h-6 w-11":"h-7 w-12",t.isOn?t.activeClass:t.inactiveClass,t.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer",t.customClass])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full bg-white shadow transition-transform",t.size==="small"?"h-4 w-4":"h-6 w-6",t.isOn?t.size==="small"?"translate-x-6":"translate-x-5":"translate-x-1"])},null,2)],10,Rt))}}),qt=["disabled"],Ut=["src","alt","title"],he=e.defineComponent({__name:"ToggleControl",props:{icon:{},alt:{default:""},tooltip:{default:""},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=a,n=()=>{o("click")};return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:n,class:e.normalizeClass(["p-2 rounded-corner background 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",{"animate-pulse":t.isLoading,"ring-2 ring-primary dark:ring-primary-dark":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading},[e.createElementVNode("img",{src:t.icon,alt:t.alt,title:t.tooltip,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,Ut)],10,qt))}}),Wt=["title"],Ht=["src","alt"],Gt={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"},ye=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,s)=>(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:s[0]||(s[0]=i=>n.value=!0),onMouseleave:s[1]||(s[1]=i=>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,Ht),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Gt,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,Wt))}}),Xt=[H,O,I,G,L,Z,F,j,ee,K,te,oe,ne,ae,ie,se,ce,de,me,ue,pe,be,ke,ge,he,ye],Yt={install(t){Xt.forEach(a=>{t.component(a.name,a)})}};f.ActionButton=oe,f.AppBar=F,f.BarSearch=te,f.CLAVE_DEL_MENU=R,f.CLAVE_DE_LA_BARRA=M,f.ConfigSection=ne,f.DeviceCard=ae,f.DropdownMenu=ie,f.DropdownMenuContent=se,f.DropdownMenuItem=ce,f.DropdownMenuLabel=de,f.DropdownMenuSeparator=me,f.DropdownMenuTrigger=ue,f.FormGroup=pe,f.ListCard=be,f.POSICIONES=X,f.SelectField=G,f.SideBar=H,f.SideButton=O,f.SideGroup=I,f.SliderControl=ke,f.SwitchToggle=ge,f.TabBar=ee,f.TabItem=K,f.ThemeIcon=L,f.ToggleControl=he,f.TrayIconButton=ye,f.WindowControls=j,f.WindowFrame=Z,f.default=Yt,f.esPosicion=Y,f.orientacionDe=A,f.posicionDe=J,f.usarElMenu=S,f.usarLaBarra=D,f.usarLaPosicionDeLaBarra=Q,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(f,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")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.VueLibVasak={},f.Vue,f.TauriEvent,f.VasakVicons,f.TauriWindow))})(this,(function(f,e,Be,q,Ee){"use strict";function $e(t,a){const o=e.ref("");let n=null,l=!1,r=0;async function s(){const i=++r,c=t.value;if(!c){o.value="";return}const p=a.value==="symbol"?await q.getSymbolSource(c):await q.getIconSource(c);i===r&&(o.value=p)}return e.onMounted(async()=>{const i=await Be.listen("vicons:theme-changed",s);if(l){i();return}n=i,await s()}),e.onUnmounted(()=>{l=!0,n?.()}),e.watch(t,s),o}const ze=["src","alt"],S=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,o=$e(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,ze)):(e.openBlock(),e.createElementBlock("span",{key:1,style:e.normalizeStyle({width:n.value,height:n.value}),class:"shrink-0"},null,4))}}),Ve={class:"flex flex-col gap-2"},Se=["aria-expanded"],Le={key:1,class:"flex flex-col gap-1"},O=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",Ve,[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(S,{name:"pan-down-symbolic",type:"symbol",size:12,class:e.normalizeClass(["transition-transform duration-200",o.value?"":"-rotate-90"])},null,8,["class"])],8,Se)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",Le,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),De=["title","aria-label","disabled","aria-current"],Ne={key:1},Me={key:0,class:"min-w-0 flex-1 truncate font-medium"},Ae={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},P=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(S,{key:0,name:t.icon,size:20},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ne,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Me,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Ae,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,De))}}),Te={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Ie={class:"flex items-center gap-2"},Oe=["aria-label","aria-expanded"],Pe={key:0,class:"min-w-0 flex-1"},je={key:0,class:"truncate font-semibold text-sm"},Fe={key:1,class:"truncate text-tx-muted text-xs"},Re={key:0},Ke={key:1,class:"flex border-ui-border border-b p-2"},Ue=["aria-label","aria-expanded"],qe={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},H="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",W=767,G=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),s=e.ref(!1);let i=null,c=null;const p=e.computed(()=>s.value||r.value),h=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function E(){return document.documentElement?.clientWidth||window.innerWidth}function C(){s.value=E()<=W}function w(){r.value=!r.value,l("update:collapsed",r.value)}function k(g){l("update:modelValue",g),l("change",g)}return e.watch(()=>n.collapsed,g=>{g!==void 0&&(r.value=g)}),e.onMounted(()=>{i=window.matchMedia(`(max-width: ${W}px)`),C(),i.addEventListener("change",C),window.addEventListener("resize",C),typeof ResizeObserver<"u"&&document.documentElement&&(c=new ResizeObserver(C),c.observe(document.documentElement))}),e.onBeforeUnmount(()=>{i?.removeEventListener("change",C),window.removeEventListener("resize",C),c?.disconnect(),c=null}),a({collapsed:p}),(g,u)=>(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]",p.value?"md:w-[84px]":"md:w-72"]])},[h.value||g.$slots.header?(e.openBlock(),e.createElementBlock("header",Te,[e.createElementVNode("div",Ie,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(H),"aria-label":p.value?t.expandLabel:t.collapseLabel,"aria-expanded":!p.value,onClick:w},[e.createVNode(S,{name:p.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Oe),h.value&&!p.value?(e.openBlock(),e.createElementBlock("div",Pe,[t.title?(e.openBlock(),e.createElementBlock("p",je,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),g.$slots.header&&!p.value?(e.openBlock(),e.createElementBlock("div",Re,[e.renderSlot(g.$slots,"header",{collapsed:p.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(H),"aria-label":p.value?t.expandLabel:t.collapseLabel,"aria-expanded":!p.value,onClick:w},[e.createVNode(S,{name:p.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Ue)])),e.createElementVNode("div",qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,y=>(e.openBlock(),e.createBlock(O,{key:y.id,title:y.title,collapsed:p.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.items,d=>(e.openBlock(),e.createBlock(P,{key:d.id,label:d.label,icon:d.icon,badge:d.badge,disabled:d.disabled,collapsed:p.value,active:t.modelValue===d.id,onClick:b=>k(d.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(g.$slots,"default",{collapsed:p.value})])],2))}}),He={class:"flex min-w-0 flex-col gap-1"},We=["for"],Ge={class:"relative flex min-w-0 items-center"},Xe=["id"],X=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,o=e.useAttrs(),n=e.useId(),l=e.computed(()=>o.id??n),[r,s]=e.useModel(t,"modelValue",{set(i){return s.number?Number(i):i}});return(i,c)=>(e.openBlock(),e.createElementBlock("div",He,[a.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:"text-tx-muted text-xs"},e.toDisplayString(a.label),9,We)):e.createCommentVNode("",!0),e.createElementVNode("div",Ge,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:l.value,"onUpdate:modelValue":c[0]||(c[0]=p=>e.isRef(r)?r.value=p: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(o)),[e.renderSlot(i.$slots,"default")],16,Xe),[[e.vModelSelect,e.unref(r)]]),e.createVNode(S,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),M=Symbol("barra de vasak");function A(t){return t==="left"||t==="right"?"vertical":"horizontal"}const Y=["top","bottom","left","right"];function J(t){return typeof t=="string"&&Y.includes(t)}function L(){const t=e.inject(M,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>A(a.value)),vertical:e.computed(()=>A(a.value)==="vertical")}}const T=["minimize","maximize","close"],Ye="window",Je="barPosition";function Q(t){const o=t?.[Ye]?.[Je];return J(o)?o:null}function Z(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"),s=await r();a.value=Q(s)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),s=await r("config-changed",()=>{l()});if(n){s();return}o=s}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}function v(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 Qe=["title","aria-label"],Ze=["title","aria-label"],ve=["title","aria-label"],j="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",F=e.defineComponent({__name:"WindowControls",props:{controls:{default:()=>T},minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"}},emits:["minimize","maximize","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l}=L(),r=e.computed(()=>({minimize:o.controls.includes("minimize"),maximize:o.controls.includes("maximize"),close:o.controls.includes("close")}));function s(){return Ee.getCurrentWindow()}const i=e.getCurrentInstance();function c(C){return!!i?.vnode.props?.[`on${C}`]}function p(){if(c("Minimize"))return n("minimize");s().minimize()}function h(){if(c("Maximize"))return n("maximize");s().toggleMaximize()}function E(){if(c("Close"))return n("close");s().close()}return(C,w)=>t.controls.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(l)?"flex-col":""]),"data-tauri-drag-region":""},[r.value.minimize?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([j,"hover:bg-status-success"]),title:t.minimizeLabel,"aria-label":t.minimizeLabel,onClick:w[0]||(w[0]=k=>p())},[e.createVNode(S,{name:"window-minimize",size:24})],10,Qe)):e.createCommentVNode("",!0),r.value.maximize?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([j,"hover:bg-status-warning"]),title:t.maximizeLabel,"aria-label":t.maximizeLabel,onClick:w[1]||(w[1]=k=>h())},[e.createVNode(S,{name:"window-maximize",size:24})],10,Ze)):e.createCommentVNode("",!0),r.value.close?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass([j,"hover:bg-status-error"]),title:t.closeLabel,"aria-label":t.closeLabel,onClick:w[2]||(w[2]=k=>E())},[e.createVNode(S,{name:"window-close",size:24})],10,ve)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),_e={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},et={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},R=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"},controls:{default:()=>T}},emits:["minimize","maximize","close"],setup(t){const a=t,o=L(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(M,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,s)=>(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",_e,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",et,[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(F,e.mergeProps({controls:t.controls,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},e.toHandlers(e.unref(v)(["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))}}),tt={class:"flex min-h-0 min-w-0 flex-1"},_=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{default:"Minimize"},maximizeLabel:{default:"Maximize"},closeLabel:{default:"Close"},controls:{default:()=>T},hideBar:{type:Boolean,default:!1}},emits:["minimize","maximize","close"],setup(t){const a=t,o=Z(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>A(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(M,{posicion:n,orientacion:l,vertical:r});const s={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(i,c)=>(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",s[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(R,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(v)(["minimize","maximize","close"]))),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"barra")]),_:2},[i.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"identidad")]),key:"0"}:void 0,i.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"titulo")]),key:"1"}:void 0,i.$slots.centro?{name:"centro",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"centro")]),key:"2"}:void 0,i.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"acciones")]),key:"3"}:void 0]),1040,["position","title","minimize-label","maximize-label","close-label","controls"])),e.createElementVNode("div",tt,[e.renderSlot(i.$slots,"default")])],2))}}),ot=["aria-selected","title","aria-label","tabindex"],nt={key:1,"aria-hidden":"true"},at={key:2,class:"min-w-0 flex-1 truncate"},lt=["title","aria-label"],rt={class:"whitespace-nowrap"},it={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},st=["title","aria-label"],ct=500,ee=8,te=6,K=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}=L(),s=e.ref(null),i=e.ref(null),c=e.ref(!1),p=e.ref(!1),h=e.ref(!1),E=e.ref({top:0,left:0,right:0});let C=null,w=null;const k=e.computed(()=>o.tab.closable!==!1),g=e.computed(()=>o.tab.tooltip??o.tab.label),u=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),y=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),d=e.computed(()=>c.value||h.value),b=e.computed(()=>!!o.tab.dirty&&!(d.value&&k.value)),x=e.computed(()=>k.value&&(d.value||o.active||!o.tab.dirty)),B=e.computed(()=>l.value&&(c.value||p.value||h.value)),V=e.computed(()=>{const $={position:"fixed",top:`${E.value.top}px`,zIndex:50};return r.value==="right"?{...$,right:`${E.value.right+te}px`}:{...$,left:`${E.value.left+te}px`}});function xe(){const $=s.value;if(!$)return;const m=$.getBoundingClientRect();E.value={top:m.top,left:m.right,right:window.innerWidth-m.left}}function Zt($){const m=$.relatedTarget;m&&i.value?.contains(m)||(h.value=!1)}function vt(){c.value=!0,xe()}function _t(){p.value=!0,xe()}function N(){C!==null&&clearTimeout(C),C=null,w=null}function eo($){$.button===0&&(w={x:$.clientX,y:$.clientY},C=setTimeout(()=>{w&&n("menu",w),N()},ct))}function to($){if(!w)return;(Math.abs($.clientX-w.x)>ee||Math.abs($.clientY-w.y)>ee)&&N()}function oo($){$.button===1&&k.value&&($.preventDefault(),n("close"))}function no($){$.preventDefault(),n("menu",{x:$.clientX,y:$.clientY})}return e.onBeforeUnmount(N),($,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:s,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:g.value,"aria-label":u.value,tabindex:t.tabindex,onClick:m[5]||(m[5]=e.withModifiers(z=>n("select"),["stop"])),onKeydown:[m[6]||(m[6]=e.withKeys(e.withModifiers(z=>n("select"),["stop"]),["enter"])),m[7]||(m[7]=e.withKeys(e.withModifiers(z=>n("select"),["prevent","stop"]),["space"])),m[8]||(m[8]=e.withKeys(e.withModifiers(z=>n("navegar","anterior"),["prevent","stop"]),["left"])),m[9]||(m[9]=e.withKeys(e.withModifiers(z=>n("navegar","anterior"),["prevent","stop"]),["up"])),m[10]||(m[10]=e.withKeys(e.withModifiers(z=>n("navegar","siguiente"),["prevent","stop"]),["right"])),m[11]||(m[11]=e.withKeys(e.withModifiers(z=>n("navegar","siguiente"),["prevent","stop"]),["down"])),m[12]||(m[12]=e.withKeys(e.withModifiers(z=>n("navegar","primera"),["prevent","stop"]),["home"])),m[13]||(m[13]=e.withKeys(e.withModifiers(z=>n("navegar","ultima"),["prevent","stop"]),["end"])),m[14]||(m[14]=e.withKeys(e.withModifiers(z=>n("mover",-1),["alt","prevent","stop"]),["left"])),m[15]||(m[15]=e.withKeys(e.withModifiers(z=>n("mover",-1),["alt","prevent","stop"]),["up"])),m[16]||(m[16]=e.withKeys(e.withModifiers(z=>n("mover",1),["alt","prevent","stop"]),["right"])),m[17]||(m[17]=e.withKeys(e.withModifiers(z=>n("mover",1),["alt","prevent","stop"]),["down"])),m[18]||(m[18]=e.withKeys(e.withModifiers(z=>k.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(oo,["stop"]),onContextmenu:no,onPointerdown:eo,onPointermove:to,onPointerup:N,onPointerleave:N,onMouseenter:vt,onMouseleave:m[19]||(m[19]=z=>c.value=!1),onFocus:_t,onBlur:m[20]||(m[20]=z=>p.value=!1)},[t.tab.icon?(e.openBlock(),e.createBlock(S,{key:0,name:t.tab.icon,size:16,class:"shrink-0"},null,8,["name"])):e.unref(l)?(e.openBlock(),e.createElementBlock("span",nt,e.toDisplayString(y.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",at,e.toDisplayString(t.tab.label),1)),b.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)):x.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}: ${u.value}`,onClick:m[0]||(m[0]=e.withModifiers(z=>n("close"),["stop"]))},[e.createVNode(S,{name:"gtk-close",type:"symbol",size:12})],8,lt)):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:i,style:e.normalizeStyle(V.value),onMouseenter:m[2]||(m[2]=z=>h.value=!0),onMouseleave:m[3]||(m[3]=z=>h.value=!1),onFocusin:m[4]||(m[4]=z=>h.value=!0),onFocusout:Zt},[e.createElementVNode("span",rt,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",it)):e.createCommentVNode("",!0),k.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}: ${u.value}`,onClick:m[1]||(m[1]=e.withModifiers(z=>n("close"),["stop"]))},[e.createVNode(S,{name:"gtk-close",type:"symbol",size:12})],8,st)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,ot))}}),dt=["aria-orientation"],mt=["draggable","onDragstart","onDragover","onDrop"],ft=["title","aria-label"],oe=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}=L(),r=e.ref(null),s=e.ref(0),i=e.ref(null),c=e.ref(null);function p(d){n("update:modelValue",d),n("select",d)}async function h(d,b){const x=o.tabs.length-1;if(x<0)return;const B=b==="primera"?0:b==="ultima"?x:b==="anterior"?(d-1+o.tabs.length)%o.tabs.length:(d+1)%o.tabs.length;s.value=B,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[B]?.focus()}function E(d,b){if(o.fixedOrder)return;const x=d+b;if(x<0||x>=o.tabs.length)return;const B=[...o.tabs],[V]=B.splice(d,1);V&&(B.splice(x,0,V),s.value=x,n("reorder",B))}function C(d){const b=r.value;if(!b)return;const x=d.deltaY||d.deltaX||0,B=l.value?b.scrollTop:b.scrollLeft;l.value?b.scrollTop+=x:b.scrollLeft+=x,(l.value?b.scrollTop:b.scrollLeft)!==B&&d.preventDefault()}function w(d,b){o.fixedOrder||(i.value=d,b.dataTransfer?.setData("text/plain",String(d)),b.dataTransfer&&(b.dataTransfer.effectAllowed="move"))}function k(d,b){o.fixedOrder||i.value===null||(b.preventDefault(),c.value=d,b.dataTransfer&&(b.dataTransfer.dropEffect="move"))}function g(d){const b=i.value;if(u(),o.fixedOrder||b===null||b===d)return;const x=[...o.tabs],[B]=x.splice(b,1);B&&(x.splice(d,0,B),n("reorder",x))}function u(){i.value=null,c.value=null}const y=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(d,b)=>(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(y.value),onWheel:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(x,B)=>(e.openBlock(),e.createElementBlock("div",{key:x.id,class:e.normalizeClass(["transition-opacity",[i.value===B?"opacity-40":"",c.value===B&&i.value!==B?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:V=>w(B,V),onDragover:V=>k(B,V),onDrop:e.withModifiers(V=>g(B),["prevent"]),onDragend:u},[e.createVNode(K,{tab:x,active:x.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:B===s.value?0:-1,onSelect:V=>p(x.id),onClose:V=>n("close",x.id),onMenu:V=>n("menu",{id:x.id,...V}),onNavegar:V=>h(B,V),onMover:V=>E(B,V)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,mt))),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:b[0]||(b[0]=x=>n("new"))},[e.createVNode(S,{name:"gtk-add",type:"symbol",size:14})],8,ft)):e.createCommentVNode("",!0)],10,dt))}}),ut={class:"relative flex shrink-0 items-center"},pt=["title","aria-label","aria-expanded"],bt=["value","placeholder","aria-label"],ne=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=L(),s=e.ref(!1),i=e.ref(null),c=e.computed(()=>l.value||o.collapsed),p=e.computed(()=>!c.value||s.value),h=e.computed(()=>{if(!c.value)return"";const g="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${g} left-full top-0 ml-1`:r.value==="right"?`${g} right-full top-0 mr-1`:r.value==="bottom"?`${g} bottom-full right-0 mb-1`:`${g} top-full right-0 mt-1`});async function E(){s.value=!0,n("open"),await e.nextTick(),i.value?.focus()}function C(){s.value&&(s.value=!1,n("close"))}function w(g){n("update:modelValue",g.target.value)}function k(){n("search",o.modelValue)}return(g,u)=>(e.openBlock(),e.createElementBlock("div",ut,[c.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":s.value,onMousedown:u[0]||(u[0]=e.withModifiers(()=>{},["prevent"])),onClick:u[1]||(u[1]=y=>s.value?C():E())},[e.createVNode(S,{name:"system-search",type:"symbol",size:14})],40,pt)):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(h.value)},[e.createElementVNode("input",{ref_key:"campo",ref:i,type:"search",class:e.normalizeClass(["w-full rounded-corner border border-ui-border bg-ui-bg/80 px-2 py-1 text-sm outline-none focus:border-ui-border-strong",c.value?"":"w-48"]),value:t.modelValue,placeholder:t.placeholder||t.label,"aria-label":t.label,onInput:w,onKeydown:[e.withKeys(k,["enter"]),e.withKeys(C,["esc"])],onBlur:C},null,42,bt)],2)):e.createCommentVNode("",!0)]))}}),kt=["type","disabled"],gt={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},yt=["src","alt"],ht={key:2},Ct=["src","alt"],wt=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"},s=i=>{o.stopPropagation&&i.stopPropagation(),o.preventDefault&&i.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(i,c)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:s,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",gt)):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,yt)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",ht,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,Ct)):e.createCommentVNode("",!0)],10,kt))}}),I=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},ae=I(wt,[["__scopeId","data-v-2eaf6e27"]]),xt={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},le=I(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",xt,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),Bt={class:"flex items-center gap-3 flex-1 min-w-0"},Et=["src","alt"],$t={class:"min-w-0"},zt={class:"font-semibold truncate"},Vt={key:0,class:"text-xs text-gray-400 truncate"},St={key:1,class:"text-xs text-gray-400 truncate"},Lt={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},Dt={key:1,class:"w-2 h-2 rounded-full bg-green-500"},re=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,s)=>(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",Bt,[e.createElementVNode("img",{src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,Et),e.createElementVNode("div",$t,[e.createElementVNode("div",zt,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",Vt,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",St,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",Lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(i,c)=>(e.openBlock(),e.createElementBlock("span",{key:c},e.toDisplayString(i),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",Dt)):e.createCommentVNode("",!0)],2))}}),U=Symbol("menú de vasak");function D(){const t=e.inject(U,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 ie=0;function se(){return ie+=1,`vsk-menu-${ie}`}const Nt={class:"relative inline-block"},ce=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),s=e.ref(null),i=e.ref("ninguno"),c=se();let p=null;const h=e.computed({get:()=>o.open??l.value,set:k=>{o.open===void 0&&(l.value=k),n("update:open",k)}});e.watch(h,k=>{if(k){const g=document.activeElement;p=g instanceof HTMLElement?g:null}else i.value="ninguno"});function E(k="ninguno"){i.value=k,h.value=!0}function C(k={}){if(h.value=!1,!k.devolverElFoco)return;const g=p??r.value;g?.isConnected&&g.focus()}function w(k="ninguno"){if(h.value){C({devolverElFoco:!0});return}E(k)}return e.provide(U,{abierto:h,idDelMenu:c,idDeLaEtiqueta:s,ponerLaEtiqueta:k=>{s.value=k},disparador:r,ponerElDisparador:k=>{r.value=k},focoAlAbrir:i,abrir:E,cerrar:C,alternar:w}),(k,g)=>(e.openBlock(),e.createElementBlock("div",Nt,[e.renderSlot(k.$slots,"default")]))}}),Mt=["id","aria-labelledby","inert"],At={role:"none",class:"py-1"},de=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=D(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),s=e.computed(()=>o.abierto.value),i=e.ref(null),c=e.ref({top:0,left:0});function p(){if(!r.value||!i.value)return;const u=r.value.getBoundingClientRect(),y=i.value.getBoundingClientRect();let d=0,b=0;switch(a.side){case"bottom":d=u.bottom+a.sideOffset;break;case"top":d=u.top-y.height-a.sideOffset;break;case"left":b=u.left-y.width-a.sideOffset,d=u.top;break;case"right":b=u.right+a.sideOffset,d=u.top;break}switch(a.align){case"start":(a.side==="bottom"||a.side==="top")&&(b=u.left);break;case"center":(a.side==="bottom"||a.side==="top")&&(b=u.left+u.width/2-y.width/2);break;case"end":(a.side==="bottom"||a.side==="top")&&(b=u.right-y.width);break}c.value={top:d,left:b}}function h(){return i.value?Array.from(i.value.querySelectorAll('[role="menuitem"]')):[]}function E(u){const y=h();if(!y.length)return;const d=y.length;y[(u%d+d)%d]?.focus()}function C(){const u=document.activeElement;return u instanceof HTMLElement?h().indexOf(u):-1}function w(u){const y=C();switch(u.key){case"ArrowDown":u.preventDefault(),E(y+1);break;case"ArrowUp":u.preventDefault(),E(y<=0?-1:y-1);break;case"Home":u.preventDefault(),E(0);break;case"End":u.preventDefault(),E(-1);break;case"Escape":u.preventDefault(),u.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":u.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(s,async u=>{if(u)switch(await e.nextTick(),requestAnimationFrame(()=>{p()}),o.focoAlAbrir.value){case"primero":E(0);break;case"ultimo":E(-1);break;default:i.value?.focus()}});function k(){s.value&&p()}function g(u){const y=u.target,d=!!y.closest("[dropdown-content]"),b=!!r.value?.contains(y);!d&&!b&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",g),window.addEventListener("resize",k),window.addEventListener("scroll",k,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),(u,y)=>(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:y[1]||(y[1]=d=>d.offsetHeight),onLeave:y[2]||(y[2]=d=>d.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:i},u.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!s.value,style:{position:"fixed",top:`${c.value.top}px`,left:`${c.value.left}px`,zIndex:50},"dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:y[0]||(y[0]=d=>d.stopPropagation()),onKeydown:w}),[e.createElementVNode("div",At,[e.renderSlot(u.$slots,"default")])],16,Mt),[[e.vShow,s.value]])]),_:3})]))}}),Tt=["aria-disabled","onKeydown"],me=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=D();function r(s){o.disabled||(n("select"),n("click",s),l.cerrar({devolverElFoco:!0}))}return(s,i)=>(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(s.$slots,"default")],42,Tt))}}),fe=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=D(),o=`${se()}-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")]))}}),It={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},ue=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",It))}});function pe(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)?pe(o.children):o}function Ot(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const be=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=D(),l=e.ref(null);function r(){n.ponerElDisparador(Ot(l.value))}function s(){t.disabled||(r(),n.alternar())}function i(c){if(!t.disabled)switch(c.key){case"Enter":case" ":c.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":c.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":c.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(c.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const c={ref:h=>{l.value=h,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:s,onKeydown:i},p=a.default?.()??[];if(t.asChild){const h=pe(p);if(h)return e.cloneVNode(h,{...o,...c})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...c},p)}}}),Pt=["for"],ke=I(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,Pt)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),ge=I(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,s)=>(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"]]),jt={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"},Ft=["src","alt","title"],Rt={key:1,class:"w-8 h-8 flex items-center justify-center"},Kt=["src","alt"],Ut=["min","max","value"],ye=e.defineComponent({__name:"SliderControl",props:{icon:{},alt:{default:""},tooltip:{default:""},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 c=o.max-o.min,p=o.modelValue-o.min;return Math.round(p/c*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),s=c=>{const p=c.target;n("update:modelValue",Number(p.value))},i=()=>{n("buttonClick")};return(c,p)=>(e.openBlock(),e.createElementBlock("div",jt,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:i,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:t.alt,title:t.tooltip,class:e.normalizeClass(["w-6 h-6 transition-all duration-200",t.iconClass])},null,10,Ft)])):(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("img",{src:t.icon,alt:t.alt,class:"w-6 h-6 transition-all duration-200"},null,8,Kt)])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:s,class:"flex-1 transition-all duration-200 hover:scale-105"},null,40,Ut),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-all duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),qt=["disabled"],he=e.defineComponent({__name:"SwitchToggle",props:{isOn:{type:Boolean},disabled:{type:Boolean,default:!1},size:{default:"small"},activeClass:{default:"bg-primary dark:bg-primary-dark"},inactiveClass:{default:"background"},customClass:{default:""}},emits:["toggle"],setup(t,{emit:a}){const o=t,n=a,l=()=>{n("toggle",!o.isOn)};return(r,s)=>(e.openBlock(),e.createElementBlock("button",{type:"button",onClick:l,disabled:t.disabled,class:e.normalizeClass(["relative inline-flex items-center rounded-full transition-colors",t.size==="small"?"h-6 w-11":"h-7 w-12",t.isOn?t.activeClass:t.inactiveClass,t.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer",t.customClass])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full bg-white shadow transition-transform",t.size==="small"?"h-4 w-4":"h-6 w-6",t.isOn?t.size==="small"?"translate-x-6":"translate-x-5":"translate-x-1"])},null,2)],10,qt))}}),Ht=["disabled"],Wt=["src","alt","title"],Ce=e.defineComponent({__name:"ToggleControl",props:{icon:{},alt:{default:""},tooltip:{default:""},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=a,n=()=>{o("click")};return(l,r)=>(e.openBlock(),e.createElementBlock("button",{onClick:n,class:e.normalizeClass(["p-2 rounded-corner background 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",{"animate-pulse":t.isLoading,"ring-2 ring-primary dark:ring-primary-dark":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading},[e.createElementVNode("img",{src:t.icon,alt:t.alt,title:t.tooltip,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,Wt)],10,Ht))}}),Gt=["title"],Xt=["src","alt"],Yt={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"},we=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,s)=>(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:s[0]||(s[0]=i=>n.value=!0),onMouseleave:s[1]||(s[1]=i=>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,Xt),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Yt,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,Gt))}}),Jt=[G,P,O,X,S,_,R,F,oe,K,ne,ae,le,re,ce,de,me,fe,ue,be,ke,ge,ye,he,Ce,we],Qt={install(t){Jt.forEach(a=>{t.component(a.name,a)})}};f.ActionButton=ae,f.AppBar=R,f.BarSearch=ne,f.CLAVE_DEL_MENU=U,f.CLAVE_DE_LA_BARRA=M,f.ConfigSection=le,f.DeviceCard=re,f.DropdownMenu=ce,f.DropdownMenuContent=de,f.DropdownMenuItem=me,f.DropdownMenuLabel=fe,f.DropdownMenuSeparator=ue,f.DropdownMenuTrigger=be,f.FormGroup=ke,f.LOS_TRES_CONTROLES=T,f.ListCard=ge,f.POSICIONES=Y,f.SelectField=X,f.SideBar=G,f.SideButton=P,f.SideGroup=O,f.SliderControl=ye,f.SwitchToggle=he,f.TabBar=oe,f.TabItem=K,f.ThemeIcon=S,f.ToggleControl=Ce,f.TrayIconButton=we,f.WindowControls=F,f.WindowFrame=_,f.default=Qt,f.esPosicion=J,f.orientacionDe=A,f.posicionDe=Q,f.usarElMenu=D,f.usarLaBarra=L,f.usarLaPosicionDeLaBarra=Z,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|