diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index 71b0b87..2493eba 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -1810,7 +1810,7 @@ __export(exports_Tooltip, { }); var Tooltip = (props, children) => $html2("div", { ...props, - class: () => ui("tooltip", props.ui, props.class), + class: () => ui("tooltip", props.class), "data-tip": props.tip }, children); diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index 5827ab6..7e625c7 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1,7 +1,7 @@ -var z_=Object.defineProperty;var z=(M,T)=>{for(var A in T)z_(M,A,{get:T[A],enumerable:!0,configurable:!0,set:(E)=>T[A]=()=>E})};var U=null,v=null,m=new Set,n=!1,_f=new WeakMap,D_=()=>{if(n)return;n=!0;while(m.size>0){let M=Array.from(m).sort((T,A)=>(T.depth||0)-(A.depth||0));m.clear();for(let T of M)if(!T._deleted)T()}n=!1},hf=(M)=>{if(U&&!U._deleted)M.add(U),U._deps.add(M)},Af=(M)=>{for(let T of M){if(T===U||T._deleted)continue;if(T._isComputed){if(T.markDirty(),T._subs)Af(T._subs)}else m.add(T)}if(!n)queueMicrotask(D_)},Mf=(M)=>{if(M._cleanups)M._cleanups.forEach((T)=>T()),M._cleanups.clear();M.childNodes?.forEach(Mf)},o=(M)=>{let T=new Set,A=v,E=document.createElement("div");E.style.display="contents",v={cleanups:T};try{let W=M({onCleanup:(_)=>T.add(_)}),C=(_)=>{if(!_)return;if(_._isRuntime)T.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(C);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};C(W)}finally{v=A}return{_isRuntime:!0,container:E,destroy:()=>{T.forEach((W)=>W()),Mf(E),E.remove()}}},N=(M,T=null)=>{if(typeof M==="function"){let W=new Set,C,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((B)=>B.delete(L)),L._deps.clear();let J=U;U=L;try{let B=M();if(!Object.is(C,B)||_)C=B,_=!1,Af(W)}finally{U=J}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((J)=>J.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return hf(W),C}}let A=M;if(T)try{let W=localStorage.getItem(T);if(W!==null)A=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let C=typeof W[0]==="function"?W[0](A):W[0];if(!Object.is(A,C)){if(A=C,T)localStorage.setItem(T,JSON.stringify(A));Af(E)}}return hf(E),A}};var y=(M,T)=>{let A=Array.isArray(M),E=A?T:M,W=A?M:null;if(typeof E!=="function")return()=>{};let C=v,_=()=>{if(_._deleted)return;_._deps.forEach((B)=>B.delete(_)),_._deps.clear(),_._cleanups.forEach((B)=>B()),_._cleanups.clear();let L=U,J=v;U=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(A)U=null,E(),U=_,W.forEach((B)=>typeof B==="function"&&B());else E()}finally{U=L,v=J}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),C)C.cleanups.delete(_.stop)},C)C.cleanups.add(_.stop);return _(),_.stop},f=(M,T={},A=[])=>{if(T instanceof Node||Array.isArray(T)||typeof T!=="object")A=T,T={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(M),C=W?document.createElementNS("http://www.w3.org/2000/svg",M):document.createElement(M),_=(B,G)=>(B==="src"||B==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;C._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[B,G]of Object.entries(T)){if(B==="ref"){typeof G==="function"?G(C):G.current=C;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(C.tagName)&&(B==="value"||B==="checked")&&Z){C._cleanups.add(y(()=>{let D=G();if(C[B]!==D)C[B]=D}));let P=B==="checked"?"change":"input",q=(D)=>G(D.target[B]);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(B.startsWith("on")){let P=B.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(Z)C._cleanups.add(y(()=>{let P=_(B,G());if(B==="class")C.className=P||"";else if(L.includes(B))if(P)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else if(P==null)C.removeAttribute(B);else if(W&&typeof P==="number")C.setAttribute(B,P);else C.setAttribute(B,P)}));else if(L.includes(B))if(G)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else C.setAttribute(B,_(B,G))}let J=(B)=>{if(Array.isArray(B))return B.forEach(J);if(B instanceof Node)C.appendChild(B);else if(typeof B==="function"){let G=document.createTextNode("");C.appendChild(G);let Z=[];C._cleanups.add(y(()=>{let S=B(),Y=(Array.isArray(S)?S:[S]).map((P)=>P?._isRuntime?P.container:P instanceof Node?P:document.createTextNode(P??""));Z.forEach((P)=>{Mf?.(P),P.remove()}),Y.forEach((P)=>G.parentNode?.insertBefore(P,G)),Z=Y}))}else C.appendChild(document.createTextNode(B??""))};return J(A),C},k=(M,T,A=null,E=null)=>{let W=document.createTextNode(""),C=f("div",{style:"display:contents"},[W]),_=null,L=null;return y(()=>{let J=!!(typeof M==="function"?M():M);if(J===L)return;if(L=J,_&&!J&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(J||!J&&A){let B=J?T:A;if(B){if(_=o(()=>typeof B==="function"?B():B),C.insertBefore(_.container,W),J&&E?.in)E.in(_.container)}}}),C};k.not=(M,T,A)=>k(()=>!(typeof M==="function"?M():M),T,A);var O=(M,T,A,E="div",W={style:"display:contents"})=>{let C=document.createTextNode(""),_=f(E,W,[C]),L=new Map;return y(()=>{let J=(typeof M==="function"?M():M)||[],B=new Map,G=[];for(let S=0;ST(Y,S));else L.delete(P);B.set(P,q),G.push(P)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=C;for(let S=G.length-1;S>=0;S--){let Y=B.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=B}),_},g=(M)=>{let T=N(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>T(window.location.hash.replace(/^#/,"")||"/"));let A=f("div",{class:"router-outlet"}),E=null;return y([T],async()=>{let W=T(),C=M.find((_)=>{let L=_.path.split("/").filter(Boolean),J=W.split("/").filter(Boolean);return L.length===J.length&&L.every((B,G)=>B.startsWith(":")||B===J[G])})||M.find((_)=>_.path==="*");if(C){let _=C.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(C.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))L[J.slice(1)]=W.split("/").filter(Boolean)[B]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),A.appendChild(E.container)}}),A};g.params=N({});g.to=(M)=>window.location.hash=M.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Ef=(M,T)=>{let A=typeof T==="string"?document.querySelector(T):T;if(!A)return;if(_f.has(A))_f.get(A).destroy();let E=o(typeof M==="function"?M:()=>M);return A.replaceChildren(E.container),_f.set(A,E),E},gf=({children:M})=>M,N_={$:N,$watch:y,$html:f,$if:k,$for:O,$router:g,$mount:Ef,Fragment:gf};if(typeof window<"u")((T)=>{Object.keys(T).forEach((E)=>{window[E]=T[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(C,_)=>f(E,C,_)}),window.Fragment=gf,window.SigPro=Object.freeze(T)})(N_);var a={};z(a,{default:()=>k_,Tooltip:()=>K_,Toast:()=>Z_,Timeline:()=>X_,Tabs:()=>G_,Table:()=>Q_,Swap:()=>P_,Stat:()=>J_,Stack:()=>B_,Select:()=>W_,Rating:()=>L_,Range:()=>C_,Radio:()=>T_,Navbar:()=>E_,Modal:()=>M_,Menu:()=>A_,List:()=>__,Label:()=>f_,Input:()=>b,Indicator:()=>tf,Fileinput:()=>ef,Fieldset:()=>lf,Fab:()=>sf,Dropdown:()=>af,Drawer:()=>of,Datepicker:()=>nf,Colorpicker:()=>rf,Checkbox:()=>pf,Button:()=>c,Badge:()=>mf,Autocomplete:()=>df,Alert:()=>cf,Accordion:()=>bf});var Tf={};z(Tf,{Accordion:()=>bf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>F});var Q=(M)=>typeof M==="function"?M():M,X=(M,T)=>typeof T==="function"?()=>`${M} ${T()||""}`.trim():`${M} ${T||""}`.trim(),F=(M)=>{if(!M)return null;if(typeof M==="function")return f("span",{class:"mr-1"},M());if(typeof M==="object")return f("span",{class:"mr-1"},M);if(typeof M==="string"){let T=M.trim().split(/\s+/),A=T[T.length-1]==="right",E=A?T.slice(0,-1).join(" "):M,W=A?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var bf=(M,T)=>{let{class:A,title:E,name:W,open:C,..._}=M;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",A)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(C)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},T)])};var Cf={};z(Cf,{Alert:()=>cf});var cf=(M,T)=>{let{class:A,actions:E,type:W="info",soft:C=!0,..._}=M,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,C?"alert-soft":"",A].filter(Boolean).join(" "),Z=T||M.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[F(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Wf={};z(Wf,{Autocomplete:()=>df});var F_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},V_=N("es");var x=(M)=>()=>F_[V_()][M]||M;var Lf={};z(Lf,{Input:()=>b});var b=(M)=>{let{class:T,value:A,type:E="text",icon:W,oninput:C,placeholder:_,disabled:L,size:J,validate:B,...G}=M,Z=E==="password",S=N(!1),Y=N(null),P={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?F(W):P[E]?F(P[E]):null,D=()=>F(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(T?.includes("input-xs"))return"btn-xs";if(T?.includes("input-sm"))return"btn-sm";if(T?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(V)=>{let w=V.target.value;if(B){let $=B(w);Y($||null)}C?.(V)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let V=`input w-full ${d} ${s}`;if(T)V+=` ${T}`;if(u())V+=" input-error";return V.trim()},value:A,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(V)=>{V.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var df=(M)=>{let{class:T,items:A=[],value:E,onSelect:W,label:C,placeholder:_,...L}=M,J=N(Q(E)||""),B=N(!1),G=N(-1),Z=N(()=>{let P=J().toLowerCase(),q=Q(A)||[];return P?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(P)):q}),S=(P)=>{let q=typeof P==="string"?P:P.value,D=typeof P==="string"?P:P.label;if(J(D),typeof E==="function")E(q);W?.(P),B(!1),G(-1)},Y=(P)=>{let q=Z();if(P.key==="ArrowDown")P.preventDefault(),B(!0),G(Math.min(G()+1,q.length-1));else if(P.key==="ArrowUp")P.preventDefault(),G(Math.max(G()-1,0));else if(P.key==="Enter"&&G()>=0)P.preventDefault(),S(q[G()]);else if(P.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[b({label:C,class:T,placeholder:_||x("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(P)=>{let q=P.target.value;if(J(q),typeof E==="function")E(q);B(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&Z().length?"display:block":"display:none"},[O(Z,(P,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(P),onmouseenter:()=>G(q)},typeof P==="string"?P:P.label)]),(P,q)=>(typeof P==="string"?P:P.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Bf={};z(Bf,{Badge:()=>mf});var mf=(M,T)=>{let{class:A,...E}=M;return f("span",{...E,class:X("badge",A)},T)};var Jf={};z(Jf,{Button:()=>c});var c=(M,T)=>{let{class:A,loading:E,icon:W,...C}=M,_=F(W);return f("button",{...C,class:X("btn",A),disabled:()=>Q(E)||Q(M.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,T].filter(Boolean))};var Pf={};z(Pf,{Checkbox:()=>pf});var pf=(M)=>{let{class:T,value:A,tooltip:E,toggle:W,label:C,..._}=M,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",T),checked:A}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?f("span",{class:"label-text"},C):null]);return E?f("div",{class:"tooltip","data-tip":E},J):J};var Qf={};z(Qf,{Colorpicker:()=>rf});var rf=(M)=>{let{class:T,value:A,label:E,...W}=M,C=N(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(A)||"#000000";return f("div",{class:X("relative w-fit",T)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),C(!C())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),k(C,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof A==="function")A(J);C(!1)}})))])),k(C,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var Gf={};z(Gf,{Datepicker:()=>nf});var nf=(M)=>{let{class:T,value:A,range:E,label:W,placeholder:C,hour:_=!1,...L}=M,J=N(!1),B=N(new Date),G=N(null),Z=N(0),S=N(0),Y=()=>Q(E)===!0,P=new Date,q=`${P.getFullYear()}-${String(P.getMonth()+1).padStart(2,"0")}-${String(P.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),V=String(K.getMonth()+1).padStart(2,"0"),w=String(K.getDate()).padStart(2,"0");return`${R}-${V}-${w}`},d=(K)=>{let R=D(K),V=Q(A);if(Y())if(!V?.start||V.start&&V.end){if(typeof A==="function")A({start:R,end:null,..._&&{startHour:Z()}})}else{let w=V.start;if(typeof A==="function"){let $=R{let K=Q(A);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,V=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${V}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=B();B(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=B();B(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(V)=>{let w=parseInt(V.target.value);R(w)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",T)},[b({label:W,placeholder:C||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:F("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),J(!J())},...L}),k(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},F("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},F("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},F("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},F("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=B(),R=K.getFullYear(),V=K.getMonth(),w=new Date(R,V,1).getDay(),$=w===0?6:w-1,q_=new Date(R,V+1,0).getDate(),l=[];for(let h=0;h<$;h++)l.push(f("div"));for(let h=1;h<=q_;h++){let $f=new Date(R,V,h),H=D($f);l.push(f("button",{type:"button",class:()=>{let I=Q(A),e=G(),S_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,R_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&e)t=H>ff&&H<=e||H=e;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d($f)},[h.toString()]))}return l}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R?.start)A({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(A);if(R?.end)A({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R&&typeof R==="string"&&R.includes("-"))A(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),k(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var Xf={};z(Xf,{Drawer:()=>of});var of=(M,T)=>{let{class:A,id:E,open:W,side:C,content:_,...L}=M,J=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",A)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(B)=>{if(typeof W==="function")W(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var Zf={};z(Zf,{Dropdown:()=>af});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(M)=>{if(j&&!j.contains(M.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var af=(M)=>{let{class:T,label:A,icon:E,items:W,...C}=M;return $html("details",{...C,class:X("dropdown",T)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>A?typeof A==="function"?A():A:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(J)=>{if(L.onclick)L.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Kf={};z(Kf,{Fab:()=>sf});var sf=(M)=>{let{class:T,icon:A,label:E,actions:W=[],position:C="bottom-6 right-6",..._}=M;return f("div",{..._,class:X(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,T)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[A?F(A):null,!A&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(J)=>{J.stopPropagation(),L.onclick?.(J)}},[L.icon?F(L.icon):L.text||""])]))])};var Yf={};z(Yf,{Fieldset:()=>lf});var lf=(M,T)=>{let{class:A,legend:E,...W}=M;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",A)},[()=>{let C=Q(E);return C?f("legend",{class:"fieldset-legend font-bold"},[C]):null},T])};var qf={};z(qf,{Fileinput:()=>ef});var ef=(M)=>{let{class:T,tooltip:A,max:E=2,accept:W="*",onSelect:C,..._}=M,L=N([]),J=N(!1),B=N(null),G=E*1024*1024,Z=(Y)=>{let P=Array.from(Y);if(B(null),P.find((D)=>D.size>G)){B(`Máx ${E}MB`);return}L([...L(),...P]),C?.(L())},S=(Y)=>{let P=L().filter((q,D)=>D!==Y);L(P),C?.(P)};return f("fieldset",{..._,class:X("fieldset w-full p-0",T)},[f("div",{class:()=>`w-full ${A?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":A},[f("label",{class:()=>` +var z_=Object.defineProperty;var z=(M,C)=>{for(var A in C)z_(M,A,{get:C[A],enumerable:!0,configurable:!0,set:(E)=>C[A]=()=>E})};var O=null,v=null,m=new Set,n=!1,_f=new WeakMap,D_=()=>{if(n)return;n=!0;while(m.size>0){let M=Array.from(m).sort((C,A)=>(C.depth||0)-(A.depth||0));m.clear();for(let C of M)if(!C._deleted)C()}n=!1},hf=(M)=>{if(O&&!O._deleted)M.add(O),O._deps.add(M)},Af=(M)=>{for(let C of M){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Af(C._subs)}else m.add(C)}if(!n)queueMicrotask(D_)},Mf=(M)=>{if(M._cleanups)M._cleanups.forEach((C)=>C()),M._cleanups.clear();M.childNodes?.forEach(Mf)},o=(M)=>{let C=new Set,A=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=M({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=A}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Mf(E),E.remove()}}},w=(M,C=null)=>{if(typeof M==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=M();if(!Object.is(T,P)||_)T=P,_=!1,Af(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return hf(W),T}}let A=M;if(C)try{let W=localStorage.getItem(C);if(W!==null)A=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](A):W[0];if(!Object.is(A,T)){if(A=T,C)localStorage.setItem(C,JSON.stringify(A));Af(E)}}return hf(E),A}};var y=(M,C)=>{let A=Array.isArray(M),E=A?C:M,W=A?M:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(A)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(M,C={},A=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")A=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(M),T=W?document.createElementNS("http://www.w3.org/2000/svg",M):document.createElement(M),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(y(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(y(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(y(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Mf?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(A),T},U=(M,C,A=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return y(()=>{let B=!!(typeof M==="function"?M():M);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&A){let P=B?C:A;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(M,C,A)=>U(()=>!(typeof M==="function"?M():M),C,A);var V=(M,C,A,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return y(()=>{let B=(typeof M==="function"?M():M)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(M)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let A=f("div",{class:"router-outlet"}),E=null;return y([C],async()=>{let W=C(),T=M.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||M.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),A.appendChild(E.container)}}),A};g.params=w({});g.to=(M)=>window.location.hash=M.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Ef=(M,C)=>{let A=typeof C==="string"?document.querySelector(C):C;if(!A)return;if(_f.has(A))_f.get(A).destroy();let E=o(typeof M==="function"?M:()=>M);return A.replaceChildren(E.container),_f.set(A,E),E},gf=({children:M})=>M,w_={$:w,$watch:y,$html:f,$if:U,$for:V,$router:g,$mount:Ef,Fragment:gf};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=gf,window.SigPro=Object.freeze(C)})(w_);var a={};z(a,{default:()=>U_,Tooltip:()=>K_,Toast:()=>Z_,Timeline:()=>X_,Tabs:()=>G_,Table:()=>Q_,Swap:()=>J_,Stat:()=>B_,Stack:()=>P_,Select:()=>W_,Rating:()=>L_,Range:()=>T_,Radio:()=>C_,Navbar:()=>E_,Modal:()=>M_,Menu:()=>A_,List:()=>__,Label:()=>f_,Input:()=>b,Indicator:()=>tf,Fileinput:()=>lf,Fieldset:()=>ef,Fab:()=>sf,Dropdown:()=>af,Drawer:()=>of,Datepicker:()=>nf,Colorpicker:()=>rf,Checkbox:()=>pf,Button:()=>c,Badge:()=>mf,Autocomplete:()=>df,Alert:()=>cf,Accordion:()=>bf});var Cf={};z(Cf,{Accordion:()=>bf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(M)=>typeof M==="function"?M():M,X=(M,C)=>typeof C==="function"?()=>`${M} ${C()||""}`.trim():`${M} ${C||""}`.trim(),N=(M)=>{if(!M)return null;if(typeof M==="function")return f("span",{class:"mr-1"},M());if(typeof M==="object")return f("span",{class:"mr-1"},M);if(typeof M==="string"){let C=M.trim().split(/\s+/),A=C[C.length-1]==="right",E=A?C.slice(0,-1).join(" "):M,W=A?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var bf=(M,C)=>{let{class:A,title:E,name:W,open:T,..._}=M;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",A)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Tf={};z(Tf,{Alert:()=>cf});var cf=(M,C)=>{let{class:A,actions:E,type:W="info",soft:T=!0,..._}=M,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",A].filter(Boolean).join(" "),Z=C||M.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Wf={};z(Wf,{Autocomplete:()=>df});var N_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},F_=w("es");var x=(M)=>()=>N_[F_()][M]||M;var Lf={};z(Lf,{Input:()=>b});var b=(M)=>{let{class:C,value:A,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=M,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:A,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var df=(M)=>{let{class:C,items:A=[],value:E,onSelect:W,label:T,placeholder:_,...L}=M,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(A)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||x("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Pf={};z(Pf,{Badge:()=>mf});var mf=(M,C)=>{let{class:A,...E}=M;return f("span",{...E,class:X("badge",A)},C)};var Bf={};z(Bf,{Button:()=>c});var c=(M,C)=>{let{class:A,loading:E,icon:W,...T}=M,_=N(W);return f("button",{...T,class:X("btn",A),disabled:()=>Q(E)||Q(M.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Jf={};z(Jf,{Checkbox:()=>pf});var pf=(M)=>{let{class:C,value:A,tooltip:E,toggle:W,label:T,..._}=M,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:A}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Qf={};z(Qf,{Colorpicker:()=>rf});var rf=(M)=>{let{class:C,value:A,label:E,...W}=M,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(A)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof A==="function")A(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var Gf={};z(Gf,{Datepicker:()=>nf});var nf=(M)=>{let{class:C,value:A,range:E,label:W,placeholder:T,hour:_=!1,...L}=M,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(A);if(Y())if(!F?.start||F.start&&F.end){if(typeof A==="function")A({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof A==="function"){let $=R{let K=Q(A);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,q_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=q_;h++){let $f=new Date(R,F,h),H=D($f);e.push(f("button",{type:"button",class:()=>{let I=Q(A),l=G(),S_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,R_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d($f)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R?.start)A({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(A);if(R?.end)A({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R&&typeof R==="string"&&R.includes("-"))A(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var Xf={};z(Xf,{Drawer:()=>of});var of=(M,C)=>{let{class:A,id:E,open:W,side:T,content:_,...L}=M,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",A)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Zf={};z(Zf,{Dropdown:()=>af});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(M)=>{if(j&&!j.contains(M.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var af=(M)=>{let{class:C,label:A,icon:E,items:W,...T}=M;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>A?typeof A==="function"?A():A:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Kf={};z(Kf,{Fab:()=>sf});var sf=(M)=>{let{class:C,icon:A,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=M;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[A?N(A):null,!A&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var Yf={};z(Yf,{Fieldset:()=>ef});var ef=(M,C)=>{let{class:A,legend:E,...W}=M;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",A)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var qf={};z(qf,{Fileinput:()=>lf});var lf=(M)=>{let{class:C,tooltip:A,max:E=2,accept:W="*",onSelect:T,..._}=M,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${A?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":A},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[F("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,k(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[O(L,(Y,P)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(P)}},[F("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var Sf={};z(Sf,{Indicator:()=>tf});var tf=(M,T)=>{let{value:A,class:E,...W}=M;return f("div",{...W,class:"indicator"},()=>[A?f("span",{class:X("indicator-item badge",E)},()=>typeof A==="function"?A():A):null,T].filter(Boolean))};var Rf={};z(Rf,{Label:()=>f_});var f_=(M)=>{let{children:T,value:A,floating:E=!1,error:W,required:C,class:_,...L}=M;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[A?f("span",{},A):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[A?f("span",{class:"label"},A):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var zf={};z(zf,{List:()=>__});var __=(M)=>{let{class:T,items:A,header:E,render:W,keyFn:C=(J,B)=>J.id??B,..._}=M,L=O(A,(J,B)=>f("li",{class:"list-row"},[W(J,B)]),C);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",T)},E?[k(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var Df={};z(Df,{Menu:()=>A_});var A_=(M)=>{let{class:T,items:A,...E}=M,W=(C)=>O(()=>C||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",T)},W(A))};var Nf={};z(Nf,{Modal:()=>M_});var M_=(M,T)=>{let{class:A,title:E,buttons:W,open:C,..._}=M,L=null,J=()=>{let G=typeof C==="function"?C():C;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};y(()=>J());let B=()=>{if(typeof C==="function")C(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)J()},class:X("modal",A),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof T==="function"?T():T]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var Ff={};z(Ff,{Navbar:()=>E_});var E_=(M,T)=>{let{class:A,...E}=M;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",A)},T)};var Vf={};z(Vf,{Radio:()=>T_});var T_=(M)=>{let{class:T,label:A,tooltip:E,value:W,inputValue:C,name:_,...L}=M,J=f("input",{...L,type:"radio",name:_,class:X("radio",T),checked:()=>Q(W)===C,onclick:()=>{if(typeof W==="function")W(C)}});if(!A&&!E)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,A?f("span",{class:"label-text"},A):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var kf={};z(kf,{Range:()=>C_});var C_=(M)=>{let{class:T,label:A,tooltip:E,value:W,...C}=M,_=f("input",{...C,type:"range",class:X("range",T),value:W,disabled:()=>Q(M.disabled)});if(!A&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[A?f("span",{class:"label-text"},A):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var Of={};z(Of,{Rating:()=>L_});var L_=(M)=>{let{class:T,value:A,count:E=5,mask:W="mask-star",readonly:C=!1,onchange:_,...L}=M,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(C)?"pointer-events-none":""}`,T)},Array.from({length:Q(E)},(B,G)=>{let Z=G+1;return f("input",{type:"radio",name:J,class:`mask ${W}`,checked:()=>Math.round(Q(A))===Z,onchange:()=>{if(!Q(C)){if(typeof _==="function")_(Z);else if(typeof A==="function")A(Z)}}})}))};var Uf={};z(Uf,{Select:()=>W_});var W_=(M)=>{let{class:T,label:A,items:E,value:W,...C}=M,_=f("select",{...C,class:X("select select-bordered w-full",T),value:W},O(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!A)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},A),_])};var wf={};z(wf,{Stack:()=>B_});var B_=(M,T)=>{let{class:A,...E}=M;return f("div",{...E,class:X("stack",A)},T)};var Hf={};z(Hf,{Stat:()=>J_});var J_=(M)=>{let{class:T,icon:A,label:E,value:W,desc:C,..._}=M;return f("div",{..._,class:X("stat",T)},[A&&f("div",{class:"stat-figure text-secondary"},A),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),C&&f("div",{class:"stat-desc"},C)])};var yf={};z(yf,{Swap:()=>P_});var P_=(M)=>{let{class:T,value:A,on:E,off:W,...C}=M;return f("label",{...C,class:X("swap",T)},[f("input",{type:"checkbox",checked:()=>Q(A),onclick:(_)=>{if(typeof A==="function")A(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var xf={};z(xf,{Table:()=>Q_});var Q_=(M)=>{let{class:T,items:A=[],columns:E=[],keyFn:W,zebra:C=!1,pinRows:_=!1,empty:L=x("nodata")(),...J}=M,B=()=>{let Z=Q(C)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",T,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[O(A,(Z,S)=>{let Y=()=>{let P=Q(A),q=G(Z,S);return P.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((P)=>{let q=()=>{let D=Y();if(P.render)return P.render(D,S);return Q(D[P.key])};return f("td",{class:P.class||""},[q])}))},G),k(()=>Q(A).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var jf={};z(jf,{Tabs:()=>G_});var G_=(M)=>{let{items:T,class:A,...E}=M,W=typeof T==="function"?T:()=>T||[],C=N(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==C())C(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",A||"tabs-box")},()=>{return W().map((L,J)=>{let B=()=>C()===J,G=f("button",{role:"tab",class:()=>X("tab",B()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();C(J)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let J=()=>C()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var If={};z(If,{Timeline:()=>X_});var X_=(M)=>{let{class:T,items:A=[],vertical:E=!0,compact:W=!1,...C}=M,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...C,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,T)},()=>{let L=(typeof A==="function"?A():A)||[];return L.map((J,B)=>{let G=B===0,Z=B===L.length-1,S=J.type||"success",Y=()=>Q(J.completed),P=()=>B>0&&Q(L[B-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>P()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?F(J.icon):F(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(J.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var vf={};z(vf,{Toast:()=>Z_});var Z_=(M,T="alert-success",A=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let C,_=()=>{clearTimeout(C);let B=W.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else J.destroy(),W.remove()},J=Ef(()=>{let B=F("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${T} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof M==="function"?M():M]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},B)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(A>0)C=setTimeout(_,A);return _};var uf={};z(uf,{Tooltip:()=>K_});var K_=(M,T)=>f("div",{...M,class:()=>X("tooltip",M.ui,M.class),"data-tip":M.tip},T);var Y_={...Tf,...Cf,...Wf,...Bf,...Jf,...Pf,...Qf,...Gf,...Xf,...Zf,...Kf,...Yf,...qf,...Sf,...Lf,...Rf,...zf,...Df,...Nf,...Ff,...Vf,...kf,...Of,...Uf,...wf,...Hf,...yf,...xf,...jf,...If,...vf,...uf},k_={...Y_,install:(M=window)=>{Object.entries(Y_).forEach(([T,A])=>{M[T]=A}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([M,T])=>{window[M]=T}),window.Utils=i,window.tt=x,window.SigProUI={...a,Utils:i,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");export{Q as val,X as ui,x as tt,F as getIcon,K_ as Tooltip,Z_ as Toast,X_ as Timeline,G_ as Tabs,Q_ as Table,P_ as Swap,J_ as Stat,B_ as Stack,W_ as Select,L_ as Rating,C_ as Range,T_ as Radio,E_ as Navbar,M_ as Modal,A_ as Menu,__ as List,f_ as Label,b as Input,tf as Indicator,ef as Fileinput,lf as Fieldset,sf as Fab,af as Dropdown,of as Drawer,nf as Datepicker,rf as Colorpicker,pf as Checkbox,c as Button,mf as Badge,df as Autocomplete,cf as Alert,bf as Accordion}; + ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var Sf={};z(Sf,{Indicator:()=>tf});var tf=(M,C)=>{let{value:A,class:E,...W}=M;return f("div",{...W,class:"indicator"},()=>[A?f("span",{class:X("indicator-item badge",E)},()=>typeof A==="function"?A():A):null,C].filter(Boolean))};var Rf={};z(Rf,{Label:()=>f_});var f_=(M)=>{let{children:C,value:A,floating:E=!1,error:W,required:T,class:_,...L}=M;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[A?f("span",{},A):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[A?f("span",{class:"label"},A):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var zf={};z(zf,{List:()=>__});var __=(M)=>{let{class:C,items:A,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=M,L=V(A,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var Df={};z(Df,{Menu:()=>A_});var A_=(M)=>{let{class:C,items:A,...E}=M,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(A))};var wf={};z(wf,{Modal:()=>M_});var M_=(M,C)=>{let{class:A,title:E,buttons:W,open:T,..._}=M,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};y(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",A),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var Nf={};z(Nf,{Navbar:()=>E_});var E_=(M,C)=>{let{class:A,...E}=M;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",A)},C)};var Ff={};z(Ff,{Radio:()=>C_});var C_=(M)=>{let{class:C,label:A,tooltip:E,value:W,inputValue:T,name:_,...L}=M,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!A&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,A?f("span",{class:"label-text"},A):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var Uf={};z(Uf,{Range:()=>T_});var T_=(M)=>{let{class:C,label:A,tooltip:E,value:W,...T}=M,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(M.disabled)});if(!A&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[A?f("span",{class:"label-text"},A):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var Vf={};z(Vf,{Rating:()=>L_});var L_=(M)=>{let{class:C,value:A,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=M,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(A))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof A==="function")A(Z)}}})}))};var Of={};z(Of,{Select:()=>W_});var W_=(M)=>{let{class:C,label:A,items:E,value:W,...T}=M,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!A)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},A),_])};var kf={};z(kf,{Stack:()=>P_});var P_=(M,C)=>{let{class:A,...E}=M;return f("div",{...E,class:X("stack",A)},C)};var Hf={};z(Hf,{Stat:()=>B_});var B_=(M)=>{let{class:C,icon:A,label:E,value:W,desc:T,..._}=M;return f("div",{..._,class:X("stat",C)},[A&&f("div",{class:"stat-figure text-secondary"},A),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var yf={};z(yf,{Swap:()=>J_});var J_=(M)=>{let{class:C,value:A,on:E,off:W,...T}=M;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(A),onclick:(_)=>{if(typeof A==="function")A(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var xf={};z(xf,{Table:()=>Q_});var Q_=(M)=>{let{class:C,items:A=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=x("nodata")(),...B}=M,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(A,(Z,S)=>{let Y=()=>{let J=Q(A),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(A).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var jf={};z(jf,{Tabs:()=>G_});var G_=(M)=>{let{items:C,class:A,...E}=M,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",A||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var If={};z(If,{Timeline:()=>X_});var X_=(M)=>{let{class:C,items:A=[],vertical:E=!0,compact:W=!1,...T}=M,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof A==="function"?A():A)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var vf={};z(vf,{Toast:()=>Z_});var Z_=(M,C="alert-success",A=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Ef(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof M==="function"?M():M]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(A>0)T=setTimeout(_,A);return _};var uf={};z(uf,{Tooltip:()=>K_});var K_=(M,C)=>f("div",{...M,class:()=>X("tooltip",M.class),"data-tip":M.tip},C);var Y_={...Cf,...Tf,...Wf,...Pf,...Bf,...Jf,...Qf,...Gf,...Xf,...Zf,...Kf,...Yf,...qf,...Sf,...Lf,...Rf,...zf,...Df,...wf,...Nf,...Ff,...Uf,...Vf,...Of,...kf,...Hf,...yf,...xf,...jf,...If,...vf,...uf},U_={...Y_,install:(M=window)=>{Object.entries(Y_).forEach(([C,A])=>{M[C]=A}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([M,C])=>{window[M]=C}),window.Utils=i,window.tt=x,window.SigProUI={...a,Utils:i,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");export{Q as val,X as ui,x as tt,N as getIcon,K_ as Tooltip,Z_ as Toast,X_ as Timeline,G_ as Tabs,Q_ as Table,J_ as Swap,B_ as Stat,P_ as Stack,W_ as Select,L_ as Rating,T_ as Range,C_ as Radio,E_ as Navbar,M_ as Modal,A_ as Menu,__ as List,f_ as Label,b as Input,tf as Indicator,lf as Fileinput,ef as Fieldset,sf as Fab,af as Dropdown,of as Drawer,nf as Datepicker,rf as Colorpicker,pf as Checkbox,c as Button,mf as Badge,df as Autocomplete,cf as Alert,bf as Accordion}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index 3b0fd24..3a09069 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -1869,7 +1869,7 @@ }); var Tooltip = (props, children) => $html2("div", { ...props, - class: () => ui("tooltip", props.ui, props.class), + class: () => ui("tooltip", props.class), "data-tip": props.tip }, children); diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 1fe51d4..34fc3a2 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:_f,getOwnPropertyNames:N_,getOwnPropertyDescriptor:F_}=Object,V_=Object.prototype.hasOwnProperty;var K_=new WeakMap,k_=(A)=>{var T=K_.get(A),M;if(T)return T;if(T=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")N_(A).map((E)=>!V_.call(T,E)&&_f(T,E,{get:()=>A[E],enumerable:!(M=F_(A,E))||M.enumerable}));return K_.set(A,T),T};var z=(A,T)=>{for(var M in T)_f(A,M,{get:T[M],enumerable:!0,configurable:!0,set:(E)=>T[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>F,Tooltip:()=>G_,Toast:()=>P_,Timeline:()=>B_,Tabs:()=>L_,Table:()=>T_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>lf,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Uf,Fab:()=>kf,Dropdown:()=>Ff,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Pf,Alert:()=>Wf,Accordion:()=>Cf});var U=null,v=null,m=new Set,n=!1,Af=new WeakMap,O_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((T,M)=>(T.depth||0)-(M.depth||0));m.clear();for(let T of A)if(!T._deleted)T()}n=!1},Y_=(A)=>{if(U&&!U._deleted)A.add(U),U._deps.add(A)},Mf=(A)=>{for(let T of A){if(T===U||T._deleted)continue;if(T._isComputed){if(T.markDirty(),T._subs)Mf(T._subs)}else m.add(T)}if(!n)queueMicrotask(O_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((T)=>T()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let T=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:T};try{let W=A({onCleanup:(_)=>T.add(_)}),C=(_)=>{if(!_)return;if(_._isRuntime)T.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(C);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};C(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{T.forEach((W)=>W()),Ef(E),E.remove()}}},N=(A,T=null)=>{if(typeof A==="function"){let W=new Set,C,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((B)=>B.delete(L)),L._deps.clear();let J=U;U=L;try{let B=A();if(!Object.is(C,B)||_)C=B,_=!1,Mf(W)}finally{U=J}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((J)=>J.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),C}}let M=A;if(T)try{let W=localStorage.getItem(T);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let C=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,C)){if(M=C,T)localStorage.setItem(T,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,T)=>{let M=Array.isArray(A),E=M?T:A,W=M?A:null;if(typeof E!=="function")return()=>{};let C=v,_=()=>{if(_._deleted)return;_._deps.forEach((B)=>B.delete(_)),_._deps.clear(),_._cleanups.forEach((B)=>B()),_._cleanups.clear();let L=U,J=v;U=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)U=null,E(),U=_,W.forEach((B)=>typeof B==="function"&&B());else E()}finally{U=L,v=J}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),C)C.cleanups.delete(_.stop)},C)C.cleanups.add(_.stop);return _(),_.stop},f=(A,T={},M=[])=>{if(T instanceof Node||Array.isArray(T)||typeof T!=="object")M=T,T={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),C=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(B,G)=>(B==="src"||B==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;C._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[B,G]of Object.entries(T)){if(B==="ref"){typeof G==="function"?G(C):G.current=C;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(C.tagName)&&(B==="value"||B==="checked")&&Z){C._cleanups.add(x(()=>{let D=G();if(C[B]!==D)C[B]=D}));let P=B==="checked"?"change":"input",q=(D)=>G(D.target[B]);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(B.startsWith("on")){let P=B.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(Z)C._cleanups.add(x(()=>{let P=_(B,G());if(B==="class")C.className=P||"";else if(L.includes(B))if(P)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else if(P==null)C.removeAttribute(B);else if(W&&typeof P==="number")C.setAttribute(B,P);else C.setAttribute(B,P)}));else if(L.includes(B))if(G)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else C.setAttribute(B,_(B,G))}let J=(B)=>{if(Array.isArray(B))return B.forEach(J);if(B instanceof Node)C.appendChild(B);else if(typeof B==="function"){let G=document.createTextNode("");C.appendChild(G);let Z=[];C._cleanups.add(x(()=>{let S=B(),Y=(Array.isArray(S)?S:[S]).map((P)=>P?._isRuntime?P.container:P instanceof Node?P:document.createTextNode(P??""));Z.forEach((P)=>{Ef?.(P),P.remove()}),Y.forEach((P)=>G.parentNode?.insertBefore(P,G)),Z=Y}))}else C.appendChild(document.createTextNode(B??""))};return J(M),C},k=(A,T,M=null,E=null)=>{let W=document.createTextNode(""),C=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let J=!!(typeof A==="function"?A():A);if(J===L)return;if(L=J,_&&!J&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(J||!J&&M){let B=J?T:M;if(B){if(_=o(()=>typeof B==="function"?B():B),C.insertBefore(_.container,W),J&&E?.in)E.in(_.container)}}}),C};k.not=(A,T,M)=>k(()=>!(typeof A==="function"?A():A),T,M);var O=(A,T,M,E="div",W={style:"display:contents"})=>{let C=document.createTextNode(""),_=f(E,W,[C]),L=new Map;return x(()=>{let J=(typeof A==="function"?A():A)||[],B=new Map,G=[];for(let S=0;ST(Y,S));else L.delete(P);B.set(P,q),G.push(P)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=C;for(let S=G.length-1;S>=0;S--){let Y=B.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=B}),_},g=(A)=>{let T=N(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>T(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([T],async()=>{let W=T(),C=A.find((_)=>{let L=_.path.split("/").filter(Boolean),J=W.split("/").filter(Boolean);return L.length===J.length&&L.every((B,G)=>B.startsWith(":")||B===J[G])})||A.find((_)=>_.path==="*");if(C){let _=C.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(C.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))L[J.slice(1)]=W.split("/").filter(Boolean)[B]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=N({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Tf=(A,T)=>{let M=typeof T==="string"?document.querySelector(T):T;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,U_={$:N,$watch:x,$html:f,$if:k,$for:O,$router:g,$mount:Tf,Fragment:q_};if(typeof window<"u")((T)=>{Object.keys(T).forEach((E)=>{window[E]=T[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(C,_)=>f(E,C,_)}),window.Fragment=q_,window.SigPro=Object.freeze(T)})(U_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>P_,Timeline:()=>B_,Tabs:()=>L_,Table:()=>T_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>lf,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Uf,Fab:()=>kf,Dropdown:()=>Ff,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Pf,Alert:()=>Wf,Accordion:()=>Cf});var Lf={};z(Lf,{Accordion:()=>Cf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>F});var Q=(A)=>typeof A==="function"?A():A,X=(A,T)=>typeof T==="function"?()=>`${A} ${T()||""}`.trim():`${A} ${T||""}`.trim(),F=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let T=A.trim().split(/\s+/),M=T[T.length-1]==="right",E=M?T.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Cf=(A,T)=>{let{class:M,title:E,name:W,open:C,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(C)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},T)])};var Bf={};z(Bf,{Alert:()=>Wf});var Wf=(A,T)=>{let{class:M,actions:E,type:W="info",soft:C=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,C?"alert-soft":"",M].filter(Boolean).join(" "),Z=T||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[F(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Pf});var w_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=N("es");var y=(A)=>()=>w_[H_()][A]||A;var Jf={};z(Jf,{Input:()=>b});var b=(A)=>{let{class:T,value:M,type:E="text",icon:W,oninput:C,placeholder:_,disabled:L,size:J,validate:B,...G}=A,Z=E==="password",S=N(!1),Y=N(null),P={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?F(W):P[E]?F(P[E]):null,D=()=>F(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(T?.includes("input-xs"))return"btn-xs";if(T?.includes("input-sm"))return"btn-sm";if(T?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(V)=>{let w=V.target.value;if(B){let $=B(w);Y($||null)}C?.(V)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let V=`input w-full ${d} ${s}`;if(T)V+=` ${T}`;if(u())V+=" input-error";return V.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(V)=>{V.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Pf=(A)=>{let{class:T,items:M=[],value:E,onSelect:W,label:C,placeholder:_,...L}=A,J=N(Q(E)||""),B=N(!1),G=N(-1),Z=N(()=>{let P=J().toLowerCase(),q=Q(M)||[];return P?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(P)):q}),S=(P)=>{let q=typeof P==="string"?P:P.value,D=typeof P==="string"?P:P.label;if(J(D),typeof E==="function")E(q);W?.(P),B(!1),G(-1)},Y=(P)=>{let q=Z();if(P.key==="ArrowDown")P.preventDefault(),B(!0),G(Math.min(G()+1,q.length-1));else if(P.key==="ArrowUp")P.preventDefault(),G(Math.max(G()-1,0));else if(P.key==="Enter"&&G()>=0)P.preventDefault(),S(q[G()]);else if(P.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[b({label:C,class:T,placeholder:_||y("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(P)=>{let q=P.target.value;if(J(q),typeof E==="function")E(q);B(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&Z().length?"display:block":"display:none"},[O(Z,(P,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(P),onmouseenter:()=>G(q)},typeof P==="string"?P:P.label)]),(P,q)=>(typeof P==="string"?P:P.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,T)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},T)};var Zf={};z(Zf,{Button:()=>c});var c=(A,T)=>{let{class:M,loading:E,icon:W,...C}=A,_=F(W);return f("button",{...C,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,T].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:T,value:M,tooltip:E,toggle:W,label:C,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",T),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?f("span",{class:"label-text"},C):null]);return E?f("div",{class:"tooltip","data-tip":E},J):J};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:T,value:M,label:E,...W}=A,C=N(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",T)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),C(!C())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),k(C,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);C(!1)}})))])),k(C,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:T,value:M,range:E,label:W,placeholder:C,hour:_=!1,...L}=A,J=N(!1),B=N(new Date),G=N(null),Z=N(0),S=N(0),Y=()=>Q(E)===!0,P=new Date,q=`${P.getFullYear()}-${String(P.getMonth()+1).padStart(2,"0")}-${String(P.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),V=String(K.getMonth()+1).padStart(2,"0"),w=String(K.getDate()).padStart(2,"0");return`${R}-${V}-${w}`},d=(K)=>{let R=D(K),V=Q(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let w=V.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,V=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${V}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=B();B(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=B();B(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(V)=>{let w=parseInt(V.target.value);R(w)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",T)},[b({label:W,placeholder:C||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:F("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),J(!J())},...L}),k(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},F("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},F("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},F("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},F("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=B(),R=K.getFullYear(),V=K.getMonth(),w=new Date(R,V,1).getDay(),$=w===0?6:w-1,R_=new Date(R,V+1,0).getDate(),l=[];for(let h=0;h<$;h++)l.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,V,h),H=D(Z_);l.push(f("button",{type:"button",class:()=>{let I=Q(M),e=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&e)t=H>ff&&H<=e||H=e;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return l}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),k(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var Nf={};z(Nf,{Drawer:()=>Df});var Df=(A,T)=>{let{class:M,id:E,open:W,side:C,content:_,...L}=A,J=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(B)=>{if(typeof W==="function")W(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var Vf={};z(Vf,{Dropdown:()=>Ff});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Ff=(A)=>{let{class:T,label:M,icon:E,items:W,...C}=A;return $html("details",{...C,class:X("dropdown",T)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(J)=>{if(L.onclick)L.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Of={};z(Of,{Fab:()=>kf});var kf=(A)=>{let{class:T,icon:M,label:E,actions:W=[],position:C="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,T)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?F(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(J)=>{J.stopPropagation(),L.onclick?.(J)}},[L.icon?F(L.icon):L.text||""])]))])};var wf={};z(wf,{Fieldset:()=>Uf});var Uf=(A,T)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let C=Q(E);return C?f("legend",{class:"fieldset-legend font-bold"},[C]):null},T])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:T,tooltip:M,max:E=2,accept:W="*",onSelect:C,..._}=A,L=N([]),J=N(!1),B=N(null),G=E*1024*1024,Z=(Y)=>{let P=Array.from(Y);if(B(null),P.find((D)=>D.size>G)){B(`Máx ${E}MB`);return}L([...L(),...P]),C?.(L())},S=(Y)=>{let P=L().filter((q,D)=>D!==Y);L(P),C?.(P)};return f("fieldset",{..._,class:X("fieldset w-full p-0",T)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` +(()=>{var{defineProperty:_f,getOwnPropertyNames:w_,getOwnPropertyDescriptor:N_}=Object,F_=Object.prototype.hasOwnProperty;var K_=new WeakMap,U_=(A)=>{var C=K_.get(A),M;if(C)return C;if(C=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")w_(A).map((E)=>!F_.call(C,E)&&_f(C,E,{get:()=>A[E],enumerable:!(M=N_(A,E))||M.enumerable}));return K_.set(A,C),C};var z=(A,C)=>{for(var M in C)_f(A,M,{get:C[M],enumerable:!0,configurable:!0,set:(E)=>C[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>N,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var O=null,v=null,m=new Set,n=!1,Af=new WeakMap,V_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((C,M)=>(C.depth||0)-(M.depth||0));m.clear();for(let C of A)if(!C._deleted)C()}n=!1},Y_=(A)=>{if(O&&!O._deleted)A.add(O),O._deps.add(A)},Mf=(A)=>{for(let C of A){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Mf(C._subs)}else m.add(C)}if(!n)queueMicrotask(V_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((C)=>C()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let C=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=A({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Ef(E),E.remove()}}},w=(A,C=null)=>{if(typeof A==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=A();if(!Object.is(T,P)||_)T=P,_=!1,Mf(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),T}}let M=A;if(C)try{let W=localStorage.getItem(C);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,T)){if(M=T,C)localStorage.setItem(C,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,C)=>{let M=Array.isArray(A),E=M?C:A,W=M?A:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(A,C={},M=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")M=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),T=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(x(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(x(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(x(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Ef?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(M),T},U=(A,C,M=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let B=!!(typeof A==="function"?A():A);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&M){let P=B?C:M;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(A,C,M)=>U(()=>!(typeof A==="function"?A():A),C,M);var V=(A,C,M,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return x(()=>{let B=(typeof A==="function"?A():A)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(A)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([C],async()=>{let W=C(),T=A.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||A.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=w({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Cf=(A,C)=>{let M=typeof C==="string"?document.querySelector(C):C;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,O_={$:w,$watch:x,$html:f,$if:U,$for:V,$router:g,$mount:Cf,Fragment:q_};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=q_,window.SigPro=Object.freeze(C)})(O_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var Lf={};z(Lf,{Accordion:()=>Tf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(A)=>typeof A==="function"?A():A,X=(A,C)=>typeof C==="function"?()=>`${A} ${C()||""}`.trim():`${A} ${C||""}`.trim(),N=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let C=A.trim().split(/\s+/),M=C[C.length-1]==="right",E=M?C.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Tf=(A,C)=>{let{class:M,title:E,name:W,open:T,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Pf={};z(Pf,{Alert:()=>Wf});var Wf=(A,C)=>{let{class:M,actions:E,type:W="info",soft:T=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",M].filter(Boolean).join(" "),Z=C||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Jf});var k_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=w("es");var y=(A)=>()=>k_[H_()][A]||A;var Bf={};z(Bf,{Input:()=>b});var b=(A)=>{let{class:C,value:M,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=A,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Jf=(A)=>{let{class:C,items:M=[],value:E,onSelect:W,label:T,placeholder:_,...L}=A,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(M)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||y("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,C)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},C)};var Zf={};z(Zf,{Button:()=>c});var c=(A,C)=>{let{class:M,loading:E,icon:W,...T}=A,_=N(W);return f("button",{...T,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:C,value:M,tooltip:E,toggle:W,label:T,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:M}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:C,value:M,label:E,...W}=A,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:C,value:M,range:E,label:W,placeholder:T,hour:_=!1,...L}=A,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(M);if(Y())if(!F?.start||F.start&&F.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,R_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,F,h),H=D(Z_);e.push(f("button",{type:"button",class:()=>{let I=Q(M),l=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var wf={};z(wf,{Drawer:()=>Df});var Df=(A,C)=>{let{class:M,id:E,open:W,side:T,content:_,...L}=A,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Ff={};z(Ff,{Dropdown:()=>Nf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Nf=(A)=>{let{class:C,label:M,icon:E,items:W,...T}=A;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Vf={};z(Vf,{Fab:()=>Uf});var Uf=(A)=>{let{class:C,icon:M,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?N(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var kf={};z(kf,{Fieldset:()=>Of});var Of=(A,C)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:C,tooltip:M,max:E=2,accept:W="*",onSelect:T,..._}=A,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[F("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,k(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[O(L,(Y,P)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(P)}},[F("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,T)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,T].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:T,value:M,floating:E=!1,error:W,required:C,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:T,items:M,header:E,render:W,keyFn:C=(J,B)=>J.id??B,..._}=A,L=O(M,(J,B)=>f("li",{class:"list-row"},[W(J,B)]),C);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",T)},E?[k(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:T,items:M,...E}=A,W=(C)=>O(()=>C||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",T)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,T)=>{let{class:M,title:E,buttons:W,open:C,..._}=A,L=null,J=()=>{let G=typeof C==="function"?C():C;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>J());let B=()=>{if(typeof C==="function")C(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)J()},class:X("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof T==="function"?T():T]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,T)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},T)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:T,label:M,tooltip:E,value:W,inputValue:C,name:_,...L}=A,J=f("input",{...L,type:"radio",name:_,class:X("radio",T),checked:()=>Q(W)===C,onclick:()=>{if(typeof W==="function")W(C)}});if(!M&&!E)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:T,label:M,tooltip:E,value:W,...C}=A,_=f("input",{...C,type:"range",class:X("range",T),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:T,value:M,count:E=5,mask:W="mask-star",readonly:C=!1,onchange:_,...L}=A,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(C)?"pointer-events-none":""}`,T)},Array.from({length:Q(E)},(B,G)=>{let Z=G+1;return f("input",{type:"radio",name:J,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(C)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var ef={};z(ef,{Select:()=>lf});var lf=(A)=>{let{class:T,label:M,items:E,value:W,...C}=A,_=f("select",{...C,class:X("select select-bordered w-full",T),value:W},O(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,T)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},T)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:T,icon:M,label:E,value:W,desc:C,..._}=A;return f("div",{..._,class:X("stat",T)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),C&&f("div",{class:"stat-desc"},C)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:T,value:M,on:E,off:W,...C}=A;return f("label",{...C,class:X("swap",T)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var C_={};z(C_,{Table:()=>T_});var T_=(A)=>{let{class:T,items:M=[],columns:E=[],keyFn:W,zebra:C=!1,pinRows:_=!1,empty:L=y("nodata")(),...J}=A,B=()=>{let Z=Q(C)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",T,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[O(M,(Z,S)=>{let Y=()=>{let P=Q(M),q=G(Z,S);return P.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((P)=>{let q=()=>{let D=Y();if(P.render)return P.render(D,S);return Q(D[P.key])};return f("td",{class:P.class||""},[q])}))},G),k(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:T,class:M,...E}=A,W=typeof T==="function"?T:()=>T||[],C=N(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==C())C(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,J)=>{let B=()=>C()===J,G=f("button",{role:"tab",class:()=>X("tab",B()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();C(J)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let J=()=>C()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var J_={};z(J_,{Timeline:()=>B_});var B_=(A)=>{let{class:T,items:M=[],vertical:E=!0,compact:W=!1,...C}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...C,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,T)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((J,B)=>{let G=B===0,Z=B===L.length-1,S=J.type||"success",Y=()=>Q(J.completed),P=()=>B>0&&Q(L[B-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>P()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?F(J.icon):F(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(J.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>P_});var P_=(A,T="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let C,_=()=>{clearTimeout(C);let B=W.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else J.destroy(),W.remove()},J=Tf(()=>{let B=F("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${T} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},B)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)C=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,T)=>f("div",{...A,class:()=>X("tooltip",A.ui,A.class),"data-tip":A.tip},T);var S_={...Lf,...Bf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...Nf,...Vf,...Of,...wf,...yf,...jf,...Jf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...ef,...f_,...A_,...E_,...C_,...W_,...J_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([T,M])=>{A[T]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,T])=>{window[A]=T}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,C)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,C].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:C,value:M,floating:E=!1,error:W,required:T,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:C,items:M,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=A,L=V(M,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:C,items:M,...E}=A,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,C)=>{let{class:M,title:E,buttons:W,open:T,..._}=A,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",M),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},C)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:C,label:M,tooltip:E,value:W,inputValue:T,name:_,...L}=A,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!M&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:C,label:M,tooltip:E,value:W,...T}=A,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:C,value:M,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=A,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var lf={};z(lf,{Select:()=>ef});var ef=(A)=>{let{class:C,label:M,items:E,value:W,...T}=A,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},C)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:C,icon:M,label:E,value:W,desc:T,..._}=A;return f("div",{..._,class:X("stat",C)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:C,value:M,on:E,off:W,...T}=A;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var T_={};z(T_,{Table:()=>C_});var C_=(A)=>{let{class:C,items:M=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=y("nodata")(),...B}=A,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(M,(Z,S)=>{let Y=()=>{let J=Q(M),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:C,class:M,...E}=A,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var B_={};z(B_,{Timeline:()=>P_});var P_=(A)=>{let{class:C,items:M=[],vertical:E=!0,compact:W=!1,...T}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>J_});var J_=(A,C="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Cf(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)T=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,C)=>f("div",{...A,class:()=>X("tooltip",A.class),"data-tip":A.tip},C);var S_={...Lf,...Pf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...wf,...Ff,...Vf,...kf,...yf,...jf,...Bf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...lf,...f_,...A_,...E_,...T_,...W_,...B_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([C,M])=>{A[C]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,C])=>{window[A]=C}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/docs/components/tooltip.md b/docs/components/tooltip.md index 3ce97f2..0721a3d 100644 --- a/docs/components/tooltip.md +++ b/docs/components/tooltip.md @@ -294,22 +294,22 @@ $mount(ColorsDemo, '#demo-colors'); const AllPositionsDemo = () => { return Div({ class: 'grid grid-cols-3 gap-4 justify-items-center' }, [ Div({ class: 'col-start-2' }, [ - Tooltip({ tip: 'Top tooltip', ui: 'tooltip-top' }, [ + Tooltip({ tip: 'Top tooltip', class: 'tooltip-top' }, [ Button({ class: 'btn btn-sm w-24' }, 'Top') ]) ]), Div({ class: 'col-start-1 row-start-2' }, [ - Tooltip({ tip: 'Left tooltip', ui: 'tooltip-left' }, [ + Tooltip({ tip: 'Left tooltip', class: 'tooltip-left' }, [ Button({ class: 'btn btn-sm w-24' }, 'Left') ]) ]), Div({ class: 'col-start-3 row-start-2' }, [ - Tooltip({ tip: 'Right tooltip', ui: 'tooltip-right' }, [ + Tooltip({ tip: 'Right tooltip', class: 'tooltip-right' }, [ Button({ class: 'btn btn-sm w-24' }, 'Right') ]) ]), Div({ class: 'col-start-2 row-start-3' }, [ - Tooltip({ tip: 'Bottom tooltip', ui: 'tooltip-bottom' }, [ + Tooltip({ tip: 'Bottom tooltip', class: 'tooltip-bottom' }, [ Button({ class: 'btn btn-sm w-24' }, 'Bottom') ]) ]) diff --git a/docs/install.md b/docs/install.md index db58cd1..feb054f 100644 --- a/docs/install.md +++ b/docs/install.md @@ -4,7 +4,6 @@ Follow these steps to integrate **SigPro-UI** into your project. --- - !> **📘 Core Concepts** **Note:** SigPro-UI now includes SigPro core internally. No need to install SigPro separately. SigProUI is built on top of the [SigPro](https://natxocc.github.io/sigpro/#/) reactive core. To learn how to create signals, manage reactivity, and structure your application logic, check out the [SigPro documentation](https://natxocc.github.io/sigpro/#/). It covers everything you need to build reactive applications with signals, computed values, and effects. diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 1fe51d4..34fc3a2 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:_f,getOwnPropertyNames:N_,getOwnPropertyDescriptor:F_}=Object,V_=Object.prototype.hasOwnProperty;var K_=new WeakMap,k_=(A)=>{var T=K_.get(A),M;if(T)return T;if(T=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")N_(A).map((E)=>!V_.call(T,E)&&_f(T,E,{get:()=>A[E],enumerable:!(M=F_(A,E))||M.enumerable}));return K_.set(A,T),T};var z=(A,T)=>{for(var M in T)_f(A,M,{get:T[M],enumerable:!0,configurable:!0,set:(E)=>T[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>F,Tooltip:()=>G_,Toast:()=>P_,Timeline:()=>B_,Tabs:()=>L_,Table:()=>T_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>lf,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Uf,Fab:()=>kf,Dropdown:()=>Ff,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Pf,Alert:()=>Wf,Accordion:()=>Cf});var U=null,v=null,m=new Set,n=!1,Af=new WeakMap,O_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((T,M)=>(T.depth||0)-(M.depth||0));m.clear();for(let T of A)if(!T._deleted)T()}n=!1},Y_=(A)=>{if(U&&!U._deleted)A.add(U),U._deps.add(A)},Mf=(A)=>{for(let T of A){if(T===U||T._deleted)continue;if(T._isComputed){if(T.markDirty(),T._subs)Mf(T._subs)}else m.add(T)}if(!n)queueMicrotask(O_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((T)=>T()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let T=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:T};try{let W=A({onCleanup:(_)=>T.add(_)}),C=(_)=>{if(!_)return;if(_._isRuntime)T.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(C);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};C(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{T.forEach((W)=>W()),Ef(E),E.remove()}}},N=(A,T=null)=>{if(typeof A==="function"){let W=new Set,C,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((B)=>B.delete(L)),L._deps.clear();let J=U;U=L;try{let B=A();if(!Object.is(C,B)||_)C=B,_=!1,Mf(W)}finally{U=J}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((J)=>J.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),C}}let M=A;if(T)try{let W=localStorage.getItem(T);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let C=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,C)){if(M=C,T)localStorage.setItem(T,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,T)=>{let M=Array.isArray(A),E=M?T:A,W=M?A:null;if(typeof E!=="function")return()=>{};let C=v,_=()=>{if(_._deleted)return;_._deps.forEach((B)=>B.delete(_)),_._deps.clear(),_._cleanups.forEach((B)=>B()),_._cleanups.clear();let L=U,J=v;U=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)U=null,E(),U=_,W.forEach((B)=>typeof B==="function"&&B());else E()}finally{U=L,v=J}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),C)C.cleanups.delete(_.stop)},C)C.cleanups.add(_.stop);return _(),_.stop},f=(A,T={},M=[])=>{if(T instanceof Node||Array.isArray(T)||typeof T!=="object")M=T,T={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),C=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(B,G)=>(B==="src"||B==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;C._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[B,G]of Object.entries(T)){if(B==="ref"){typeof G==="function"?G(C):G.current=C;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(C.tagName)&&(B==="value"||B==="checked")&&Z){C._cleanups.add(x(()=>{let D=G();if(C[B]!==D)C[B]=D}));let P=B==="checked"?"change":"input",q=(D)=>G(D.target[B]);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(B.startsWith("on")){let P=B.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);C.addEventListener(P,q),C._cleanups.add(()=>C.removeEventListener(P,q))}else if(Z)C._cleanups.add(x(()=>{let P=_(B,G());if(B==="class")C.className=P||"";else if(L.includes(B))if(P)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else if(P==null)C.removeAttribute(B);else if(W&&typeof P==="number")C.setAttribute(B,P);else C.setAttribute(B,P)}));else if(L.includes(B))if(G)C.setAttribute(B,""),C[B]=!0;else C.removeAttribute(B),C[B]=!1;else C.setAttribute(B,_(B,G))}let J=(B)=>{if(Array.isArray(B))return B.forEach(J);if(B instanceof Node)C.appendChild(B);else if(typeof B==="function"){let G=document.createTextNode("");C.appendChild(G);let Z=[];C._cleanups.add(x(()=>{let S=B(),Y=(Array.isArray(S)?S:[S]).map((P)=>P?._isRuntime?P.container:P instanceof Node?P:document.createTextNode(P??""));Z.forEach((P)=>{Ef?.(P),P.remove()}),Y.forEach((P)=>G.parentNode?.insertBefore(P,G)),Z=Y}))}else C.appendChild(document.createTextNode(B??""))};return J(M),C},k=(A,T,M=null,E=null)=>{let W=document.createTextNode(""),C=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let J=!!(typeof A==="function"?A():A);if(J===L)return;if(L=J,_&&!J&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(J||!J&&M){let B=J?T:M;if(B){if(_=o(()=>typeof B==="function"?B():B),C.insertBefore(_.container,W),J&&E?.in)E.in(_.container)}}}),C};k.not=(A,T,M)=>k(()=>!(typeof A==="function"?A():A),T,M);var O=(A,T,M,E="div",W={style:"display:contents"})=>{let C=document.createTextNode(""),_=f(E,W,[C]),L=new Map;return x(()=>{let J=(typeof A==="function"?A():A)||[],B=new Map,G=[];for(let S=0;ST(Y,S));else L.delete(P);B.set(P,q),G.push(P)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=C;for(let S=G.length-1;S>=0;S--){let Y=B.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=B}),_},g=(A)=>{let T=N(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>T(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([T],async()=>{let W=T(),C=A.find((_)=>{let L=_.path.split("/").filter(Boolean),J=W.split("/").filter(Boolean);return L.length===J.length&&L.every((B,G)=>B.startsWith(":")||B===J[G])})||A.find((_)=>_.path==="*");if(C){let _=C.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(C.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))L[J.slice(1)]=W.split("/").filter(Boolean)[B]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=N({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Tf=(A,T)=>{let M=typeof T==="string"?document.querySelector(T):T;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,U_={$:N,$watch:x,$html:f,$if:k,$for:O,$router:g,$mount:Tf,Fragment:q_};if(typeof window<"u")((T)=>{Object.keys(T).forEach((E)=>{window[E]=T[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(C,_)=>f(E,C,_)}),window.Fragment=q_,window.SigPro=Object.freeze(T)})(U_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>P_,Timeline:()=>B_,Tabs:()=>L_,Table:()=>T_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>lf,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Uf,Fab:()=>kf,Dropdown:()=>Ff,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Pf,Alert:()=>Wf,Accordion:()=>Cf});var Lf={};z(Lf,{Accordion:()=>Cf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>F});var Q=(A)=>typeof A==="function"?A():A,X=(A,T)=>typeof T==="function"?()=>`${A} ${T()||""}`.trim():`${A} ${T||""}`.trim(),F=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let T=A.trim().split(/\s+/),M=T[T.length-1]==="right",E=M?T.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Cf=(A,T)=>{let{class:M,title:E,name:W,open:C,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(C)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},T)])};var Bf={};z(Bf,{Alert:()=>Wf});var Wf=(A,T)=>{let{class:M,actions:E,type:W="info",soft:C=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,C?"alert-soft":"",M].filter(Boolean).join(" "),Z=T||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[F(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Pf});var w_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=N("es");var y=(A)=>()=>w_[H_()][A]||A;var Jf={};z(Jf,{Input:()=>b});var b=(A)=>{let{class:T,value:M,type:E="text",icon:W,oninput:C,placeholder:_,disabled:L,size:J,validate:B,...G}=A,Z=E==="password",S=N(!1),Y=N(null),P={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?F(W):P[E]?F(P[E]):null,D=()=>F(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(T?.includes("input-xs"))return"btn-xs";if(T?.includes("input-sm"))return"btn-sm";if(T?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(V)=>{let w=V.target.value;if(B){let $=B(w);Y($||null)}C?.(V)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let V=`input w-full ${d} ${s}`;if(T)V+=` ${T}`;if(u())V+=" input-error";return V.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(V)=>{V.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Pf=(A)=>{let{class:T,items:M=[],value:E,onSelect:W,label:C,placeholder:_,...L}=A,J=N(Q(E)||""),B=N(!1),G=N(-1),Z=N(()=>{let P=J().toLowerCase(),q=Q(M)||[];return P?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(P)):q}),S=(P)=>{let q=typeof P==="string"?P:P.value,D=typeof P==="string"?P:P.label;if(J(D),typeof E==="function")E(q);W?.(P),B(!1),G(-1)},Y=(P)=>{let q=Z();if(P.key==="ArrowDown")P.preventDefault(),B(!0),G(Math.min(G()+1,q.length-1));else if(P.key==="ArrowUp")P.preventDefault(),G(Math.max(G()-1,0));else if(P.key==="Enter"&&G()>=0)P.preventDefault(),S(q[G()]);else if(P.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[b({label:C,class:T,placeholder:_||y("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(P)=>{let q=P.target.value;if(J(q),typeof E==="function")E(q);B(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&Z().length?"display:block":"display:none"},[O(Z,(P,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(P),onmouseenter:()=>G(q)},typeof P==="string"?P:P.label)]),(P,q)=>(typeof P==="string"?P:P.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,T)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},T)};var Zf={};z(Zf,{Button:()=>c});var c=(A,T)=>{let{class:M,loading:E,icon:W,...C}=A,_=F(W);return f("button",{...C,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,T].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:T,value:M,tooltip:E,toggle:W,label:C,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",T),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?f("span",{class:"label-text"},C):null]);return E?f("div",{class:"tooltip","data-tip":E},J):J};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:T,value:M,label:E,...W}=A,C=N(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",T)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),C(!C())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),k(C,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);C(!1)}})))])),k(C,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:T,value:M,range:E,label:W,placeholder:C,hour:_=!1,...L}=A,J=N(!1),B=N(new Date),G=N(null),Z=N(0),S=N(0),Y=()=>Q(E)===!0,P=new Date,q=`${P.getFullYear()}-${String(P.getMonth()+1).padStart(2,"0")}-${String(P.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),V=String(K.getMonth()+1).padStart(2,"0"),w=String(K.getDate()).padStart(2,"0");return`${R}-${V}-${w}`},d=(K)=>{let R=D(K),V=Q(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let w=V.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,V=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${V}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=B();B(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=B();B(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(V)=>{let w=parseInt(V.target.value);R(w)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",T)},[b({label:W,placeholder:C||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:F("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),J(!J())},...L}),k(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},F("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},F("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},F("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},F("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=B(),R=K.getFullYear(),V=K.getMonth(),w=new Date(R,V,1).getDay(),$=w===0?6:w-1,R_=new Date(R,V+1,0).getDate(),l=[];for(let h=0;h<$;h++)l.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,V,h),H=D(Z_);l.push(f("button",{type:"button",class:()=>{let I=Q(M),e=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&e)t=H>ff&&H<=e||H=e;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return l}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),k(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var Nf={};z(Nf,{Drawer:()=>Df});var Df=(A,T)=>{let{class:M,id:E,open:W,side:C,content:_,...L}=A,J=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(B)=>{if(typeof W==="function")W(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var Vf={};z(Vf,{Dropdown:()=>Ff});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Ff=(A)=>{let{class:T,label:M,icon:E,items:W,...C}=A;return $html("details",{...C,class:X("dropdown",T)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(J)=>{if(L.onclick)L.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Of={};z(Of,{Fab:()=>kf});var kf=(A)=>{let{class:T,icon:M,label:E,actions:W=[],position:C="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,T)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?F(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(J)=>{J.stopPropagation(),L.onclick?.(J)}},[L.icon?F(L.icon):L.text||""])]))])};var wf={};z(wf,{Fieldset:()=>Uf});var Uf=(A,T)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let C=Q(E);return C?f("legend",{class:"fieldset-legend font-bold"},[C]):null},T])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:T,tooltip:M,max:E=2,accept:W="*",onSelect:C,..._}=A,L=N([]),J=N(!1),B=N(null),G=E*1024*1024,Z=(Y)=>{let P=Array.from(Y);if(B(null),P.find((D)=>D.size>G)){B(`Máx ${E}MB`);return}L([...L(),...P]),C?.(L())},S=(Y)=>{let P=L().filter((q,D)=>D!==Y);L(P),C?.(P)};return f("fieldset",{..._,class:X("fieldset w-full p-0",T)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` +(()=>{var{defineProperty:_f,getOwnPropertyNames:w_,getOwnPropertyDescriptor:N_}=Object,F_=Object.prototype.hasOwnProperty;var K_=new WeakMap,U_=(A)=>{var C=K_.get(A),M;if(C)return C;if(C=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")w_(A).map((E)=>!F_.call(C,E)&&_f(C,E,{get:()=>A[E],enumerable:!(M=N_(A,E))||M.enumerable}));return K_.set(A,C),C};var z=(A,C)=>{for(var M in C)_f(A,M,{get:C[M],enumerable:!0,configurable:!0,set:(E)=>C[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>N,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var O=null,v=null,m=new Set,n=!1,Af=new WeakMap,V_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((C,M)=>(C.depth||0)-(M.depth||0));m.clear();for(let C of A)if(!C._deleted)C()}n=!1},Y_=(A)=>{if(O&&!O._deleted)A.add(O),O._deps.add(A)},Mf=(A)=>{for(let C of A){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Mf(C._subs)}else m.add(C)}if(!n)queueMicrotask(V_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((C)=>C()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let C=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=A({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Ef(E),E.remove()}}},w=(A,C=null)=>{if(typeof A==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=A();if(!Object.is(T,P)||_)T=P,_=!1,Mf(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),T}}let M=A;if(C)try{let W=localStorage.getItem(C);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,T)){if(M=T,C)localStorage.setItem(C,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,C)=>{let M=Array.isArray(A),E=M?C:A,W=M?A:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(A,C={},M=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")M=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),T=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(x(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(x(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(x(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Ef?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(M),T},U=(A,C,M=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let B=!!(typeof A==="function"?A():A);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&M){let P=B?C:M;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(A,C,M)=>U(()=>!(typeof A==="function"?A():A),C,M);var V=(A,C,M,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return x(()=>{let B=(typeof A==="function"?A():A)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(A)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([C],async()=>{let W=C(),T=A.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||A.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=w({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Cf=(A,C)=>{let M=typeof C==="string"?document.querySelector(C):C;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,O_={$:w,$watch:x,$html:f,$if:U,$for:V,$router:g,$mount:Cf,Fragment:q_};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=q_,window.SigPro=Object.freeze(C)})(O_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var Lf={};z(Lf,{Accordion:()=>Tf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(A)=>typeof A==="function"?A():A,X=(A,C)=>typeof C==="function"?()=>`${A} ${C()||""}`.trim():`${A} ${C||""}`.trim(),N=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let C=A.trim().split(/\s+/),M=C[C.length-1]==="right",E=M?C.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Tf=(A,C)=>{let{class:M,title:E,name:W,open:T,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Pf={};z(Pf,{Alert:()=>Wf});var Wf=(A,C)=>{let{class:M,actions:E,type:W="info",soft:T=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",M].filter(Boolean).join(" "),Z=C||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Jf});var k_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=w("es");var y=(A)=>()=>k_[H_()][A]||A;var Bf={};z(Bf,{Input:()=>b});var b=(A)=>{let{class:C,value:M,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=A,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Jf=(A)=>{let{class:C,items:M=[],value:E,onSelect:W,label:T,placeholder:_,...L}=A,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(M)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||y("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,C)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},C)};var Zf={};z(Zf,{Button:()=>c});var c=(A,C)=>{let{class:M,loading:E,icon:W,...T}=A,_=N(W);return f("button",{...T,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:C,value:M,tooltip:E,toggle:W,label:T,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:M}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:C,value:M,label:E,...W}=A,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:C,value:M,range:E,label:W,placeholder:T,hour:_=!1,...L}=A,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(M);if(Y())if(!F?.start||F.start&&F.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,R_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,F,h),H=D(Z_);e.push(f("button",{type:"button",class:()=>{let I=Q(M),l=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var wf={};z(wf,{Drawer:()=>Df});var Df=(A,C)=>{let{class:M,id:E,open:W,side:T,content:_,...L}=A,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Ff={};z(Ff,{Dropdown:()=>Nf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Nf=(A)=>{let{class:C,label:M,icon:E,items:W,...T}=A;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Vf={};z(Vf,{Fab:()=>Uf});var Uf=(A)=>{let{class:C,icon:M,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?N(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var kf={};z(kf,{Fieldset:()=>Of});var Of=(A,C)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:C,tooltip:M,max:E=2,accept:W="*",onSelect:T,..._}=A,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[F("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,k(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[O(L,(Y,P)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(P)}},[F("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,T)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,T].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:T,value:M,floating:E=!1,error:W,required:C,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,T,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:T,items:M,header:E,render:W,keyFn:C=(J,B)=>J.id??B,..._}=A,L=O(M,(J,B)=>f("li",{class:"list-row"},[W(J,B)]),C);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",T)},E?[k(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:T,items:M,...E}=A,W=(C)=>O(()=>C||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",T)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,T)=>{let{class:M,title:E,buttons:W,open:C,..._}=A,L=null,J=()=>{let G=typeof C==="function"?C():C;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>J());let B=()=>{if(typeof C==="function")C(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)J()},class:X("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof T==="function"?T():T]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,T)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},T)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:T,label:M,tooltip:E,value:W,inputValue:C,name:_,...L}=A,J=f("input",{...L,type:"radio",name:_,class:X("radio",T),checked:()=>Q(W)===C,onclick:()=>{if(typeof W==="function")W(C)}});if(!M&&!E)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:T,label:M,tooltip:E,value:W,...C}=A,_=f("input",{...C,type:"range",class:X("range",T),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:T,value:M,count:E=5,mask:W="mask-star",readonly:C=!1,onchange:_,...L}=A,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(C)?"pointer-events-none":""}`,T)},Array.from({length:Q(E)},(B,G)=>{let Z=G+1;return f("input",{type:"radio",name:J,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(C)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var ef={};z(ef,{Select:()=>lf});var lf=(A)=>{let{class:T,label:M,items:E,value:W,...C}=A,_=f("select",{...C,class:X("select select-bordered w-full",T),value:W},O(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,T)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},T)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:T,icon:M,label:E,value:W,desc:C,..._}=A;return f("div",{..._,class:X("stat",T)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),C&&f("div",{class:"stat-desc"},C)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:T,value:M,on:E,off:W,...C}=A;return f("label",{...C,class:X("swap",T)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var C_={};z(C_,{Table:()=>T_});var T_=(A)=>{let{class:T,items:M=[],columns:E=[],keyFn:W,zebra:C=!1,pinRows:_=!1,empty:L=y("nodata")(),...J}=A,B=()=>{let Z=Q(C)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",T,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[O(M,(Z,S)=>{let Y=()=>{let P=Q(M),q=G(Z,S);return P.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((P)=>{let q=()=>{let D=Y();if(P.render)return P.render(D,S);return Q(D[P.key])};return f("td",{class:P.class||""},[q])}))},G),k(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:T,class:M,...E}=A,W=typeof T==="function"?T:()=>T||[],C=N(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==C())C(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,J)=>{let B=()=>C()===J,G=f("button",{role:"tab",class:()=>X("tab",B()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();C(J)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let J=()=>C()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var J_={};z(J_,{Timeline:()=>B_});var B_=(A)=>{let{class:T,items:M=[],vertical:E=!0,compact:W=!1,...C}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...C,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,T)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((J,B)=>{let G=B===0,Z=B===L.length-1,S=J.type||"success",Y=()=>Q(J.completed),P=()=>B>0&&Q(L[B-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>P()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?F(J.icon):F(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(J.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>P_});var P_=(A,T="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let C,_=()=>{clearTimeout(C);let B=W.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else J.destroy(),W.remove()},J=Tf(()=>{let B=F("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${T} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},B)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)C=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,T)=>f("div",{...A,class:()=>X("tooltip",A.ui,A.class),"data-tip":A.tip},T);var S_={...Lf,...Bf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...Nf,...Vf,...Of,...wf,...yf,...jf,...Jf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...ef,...f_,...A_,...E_,...C_,...W_,...J_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([T,M])=>{A[T]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,T])=>{window[A]=T}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,C)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,C].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:C,value:M,floating:E=!1,error:W,required:T,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:C,items:M,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=A,L=V(M,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:C,items:M,...E}=A,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,C)=>{let{class:M,title:E,buttons:W,open:T,..._}=A,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",M),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},C)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:C,label:M,tooltip:E,value:W,inputValue:T,name:_,...L}=A,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!M&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:C,label:M,tooltip:E,value:W,...T}=A,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:C,value:M,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=A,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var lf={};z(lf,{Select:()=>ef});var ef=(A)=>{let{class:C,label:M,items:E,value:W,...T}=A,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},C)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:C,icon:M,label:E,value:W,desc:T,..._}=A;return f("div",{..._,class:X("stat",C)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:C,value:M,on:E,off:W,...T}=A;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var T_={};z(T_,{Table:()=>C_});var C_=(A)=>{let{class:C,items:M=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=y("nodata")(),...B}=A,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(M,(Z,S)=>{let Y=()=>{let J=Q(M),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:C,class:M,...E}=A,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var B_={};z(B_,{Timeline:()=>P_});var P_=(A)=>{let{class:C,items:M=[],vertical:E=!0,compact:W=!1,...T}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>J_});var J_=(A,C="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Cf(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)T=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,C)=>f("div",{...A,class:()=>X("tooltip",A.class),"data-tip":A.tip},C);var S_={...Lf,...Pf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...wf,...Ff,...Vf,...kf,...yf,...jf,...Bf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...lf,...f_,...A_,...E_,...T_,...W_,...B_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([C,M])=>{A[C]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,C])=>{window[A]=C}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/src/components/Tooltip.js b/src/components/Tooltip.js index 8820139..e09dc6e 100644 --- a/src/components/Tooltip.js +++ b/src/components/Tooltip.js @@ -14,6 +14,6 @@ import { ui } from "../core/utils.js"; export const Tooltip = (props, children) => $html("div", { ...props, - class: () => ui('tooltip', props.ui, props.class), + class: () => ui('tooltip', props.class), "data-tip": props.tip, }, children); \ No newline at end of file