Files
sigpro-ui/dist/sigpro-ui.esm.min.js
2026-04-04 18:30:52 +02:00

8 lines
32 KiB
JavaScript

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;S<B.length;S++){let Y=B[S],J=A?A(Y,S):S,q=L.get(J);if(!q)q=o(()=>C(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<k?{start:R,end:k}:{start:k,end:R};if(_)$.startHour=F.startHour||Z(),$.endHour=F.endHour||S();A($)}B(!1)}else{if(typeof A==="function")A(_?`${R}T${String(Z()).padStart(2,"0")}:00:00`:R);B(!1)}},s=w(()=>{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<ff&&H>=l;else if(I.end)t=H>ff&&H<I.end}return`${"btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative"} ${S_||R_?"btn-primary z-10":t?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${H===q?"ring-1 ring-primary ring-inset font-black text-primary":""}`},onmouseenter:()=>{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
${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};