Files
sigpro-ui/dist/sigpro-ui.min.js
2026-04-06 03:19:15 +02:00

8 lines
32 KiB
JavaScript

(()=>{var{defineProperty:Lf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:j_}=Object,y_=Object.prototype.hasOwnProperty;var V_=new WeakMap,I_=(_)=>{var E=V_.get(_),M;if(E)return E;if(E=Lf({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function")x_(_).map((C)=>!y_.call(E,C)&&Lf(E,C,{get:()=>_[C],enumerable:!(M=j_(_,C))||M.enumerable}));return V_.set(_,E),E};var z=(_,E)=>{for(var M in E)Lf(_,M,{get:E[M],enumerable:!0,configurable:!0,set:(C)=>E[M]=()=>C})};var c_={};z(c_,{val:()=>G,ui:()=>Q,tt:()=>x,getIcon:()=>w,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var h=null,I=null,n=new Set,t=!1,Wf=new WeakMap,a=document,g=Array.isArray,Gf=Object.assign,N_=(_)=>a.createElement(_),p=(_)=>a.createTextNode(String(_??"")),U=(_)=>typeof _==="function",Pf=(_)=>typeof _==="object"&&_!==null,Jf=(_,E)=>{let M=h;h=_;try{return E()}finally{h=M}},Qf=(_)=>{if(_._cleanups)_._cleanups.forEach((E)=>E()),_._cleanups.clear();_.childNodes?.forEach(Qf)},m_=()=>{if(t)return;t=!0;while(n.size>0){let _=Array.from(n).sort((E,M)=>(E.depth||0)-(M.depth||0));n.clear();for(let E of _)if(!E._deleted)E()}t=!1},Bf=(_)=>{if(h&&!h._deleted)_.add(h),h._deps.add(_)},s=(_)=>{if(_.forEach((E)=>{if(E===h||E._deleted)return;if(E._isComputed){if(E.markDirty(),E._subs)s(E._subs)}else n.add(E)}),!t)queueMicrotask(m_)},o=(_)=>{let E=new Set,M=I,C=N_("div");C.style.display="contents",I={cleanups:E};let A=(W)=>{if(!W)return;if(W._isRuntime)E.add(W.destroy),C.appendChild(W.container);else if(g(W))W.forEach(A);else C.appendChild(W instanceof Node?W:p(W))};try{A(_({onCleanup:(W)=>E.add(W)}))}finally{I=M}return{_isRuntime:!0,container:C,destroy:()=>{E.forEach((W)=>W()),Qf(C),C.remove()}}},D=(_,E=null)=>{let M=new Set;if(U(_)){let A,W=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear(),Jf(L,()=>{let P=_();if(!Object.is(A,P)||W)A=P,W=!1,s(M)})};if(Gf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>W=!0,stop:()=>{L._deleted=!0,L._deps.forEach((P)=>P.delete(L)),M.clear()}}),I)I.cleanups.add(L.stop);return()=>{if(W)L();return Bf(M),A}}let C=_;if(E)try{let A=localStorage.getItem(E);if(A!==null)C=JSON.parse(A)}catch(A){console.warn("SigPro Storage Lock",A)}return(...A)=>{if(A.length){let W=U(A[0])?A[0](C):A[0];if(!Object.is(C,W)){if(C=W,E)localStorage.setItem(E,JSON.stringify(C));s(M)}}return Bf(M),C}},U_=(_,E=new WeakMap)=>{if(!Pf(_))return _;if(E.has(_))return E.get(_);let M={},C=new Proxy(_,{get(A,W){if(h)Bf(M[W]??=new Set);let L=Reflect.get(A,W);return Pf(L)?U_(L,E):L},set(A,W,L){if(Object.is(A[W],L))return!0;let P=Reflect.set(A,W,L);if(M[W])s(M[W]);return P}});return E.set(_,C),C},m=(_,E)=>{let M=g(_),C=M?E:_;if(!U(C))return()=>{};let A=I,W=()=>{if(W._deleted)return;W._deps.forEach((P)=>P.delete(W)),W._deps.clear(),W._cleanups.forEach((P)=>P()),W._cleanups.clear();let L=I;W.depth=h?h.depth+1:0,Jf(W,()=>{if(I={cleanups:W._cleanups},M)Jf(null,C),_.forEach((P)=>U(P)&&P());else C();I=L})};if(Gf(W,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(W._deleted)return;if(W._deleted=!0,n.delete(W),W._deps.forEach((L)=>L.delete(W)),W._cleanups.forEach((L)=>L()),A)A.cleanups.delete(W.stop)}}),A)A.cleanups.add(W.stop);return W(),W.stop},f=(_,E={},M=[])=>{if(E instanceof Node||g(E)||!Pf(E))M=E,E={};let A=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(_)?a.createElementNS("http://www.w3.org/2000/svg",_):N_(_);A._cleanups=new Set,A.onUnmount=(J)=>A._cleanups.add(J);let W=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(J,B)=>{let Z=(J==="src"||J==="href")&&String(B).toLowerCase().includes("javascript:")?"#":B;if(W.includes(J))A[J]=!!Z,Z?A.setAttribute(J,""):A.removeAttribute(J);else Z==null?A.removeAttribute(J):A.setAttribute(J,Z)};for(let[J,B]of Object.entries(E)){if(J==="ref"){U(B)?B(A):B.current=A;continue}let Z=U(B);if(J.startsWith("on")){let X=J.slice(2).toLowerCase().split(".")[0];A.addEventListener(X,B),A._cleanups.add(()=>A.removeEventListener(X,B))}else if(Z){if(A._cleanups.add(m(()=>{let X=B();J==="class"?A.className=X||"":L(J,X)})),["INPUT","TEXTAREA","SELECT"].includes(A.tagName)&&(J==="value"||J==="checked")){let X=J==="checked"?"change":"input",R=(Y)=>B(Y.target[J]);A.addEventListener(X,R),A._cleanups.add(()=>A.removeEventListener(X,R))}}else L(J,B)}let P=(J)=>{if(g(J))return J.forEach(P);if(U(J)){let B=p("");A.appendChild(B);let Z=[];A._cleanups.add(m(()=>{let X=J(),R=(g(X)?X:[X]).map((Y)=>Y?._isRuntime?Y.container:Y instanceof Node?Y:p(Y));Z.forEach((Y)=>{Qf(Y),Y.remove()}),R.forEach((Y)=>B.parentNode?.insertBefore(Y,B)),Z=R}))}else A.appendChild(J instanceof Node?J:p(J))};return P(M),A},O=(_,E,M=null,C=null)=>{let A=p(""),W=f("div",{style:"display:contents"},[A]),L=null,P=null;return m(()=>{let J=!!(U(_)?_():_);if(J===P)return;P=J;let B=()=>{if(L)L.destroy();L=null};if(L&&!J&&C?.out)C.out(L.container,B);else B();let Z=J?E:M;if(Z){if(L=o(()=>U(Z)?Z():Z),W.insertBefore(L.container,A),J&&C?.in)C.in(L.container)}}),W},N=(_,E,M,C="div",A={style:"display:contents"})=>{let W=p(""),L=f(C,A,[W]),P=new Map;return m(()=>{let J=(U(_)?_():_)||[],B=new Map,Z=[];for(let R=0;R<J.length;R++){let Y=J[R],S=M?M(Y,R):R,$=P.get(S)||o(()=>E(Y,R));P.delete(S),B.set(S,$),Z.push(S)}P.forEach((R)=>{R.destroy(),R.container.remove()});let X=W;for(let R=Z.length-1;R>=0;R--){let Y=B.get(Z[R]);if(Y.container.nextSibling!==X)L.insertBefore(Y.container,X);X=Y.container}P=B}),L},b=(_)=>{let E=D(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>E(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),C=null;return m([E],async()=>{let A=E(),W=_.find((L)=>{let P=L.path.split("/").filter(Boolean),J=A.split("/").filter(Boolean);return P.length===J.length&&P.every((B,Z)=>B.startsWith(":")||B===J[Z])})||_.find((L)=>L.path==="*");if(W){let L=W.component;if(U(L)&&L.toString().includes("import"))L=(await L()).default||await L();let P={};if(W.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))P[J.slice(1)]=A.split("/").filter(Boolean)[B]}),C)C.destroy();if(b.params)b.params(P);C=o(()=>{try{return U(L)?L(P):L}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(C.container)}}),M};b.params=D({});b.to=(_)=>window.location.hash=_.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xf=(_,E)=>{let M=typeof E==="string"?a.querySelector(E):E;if(!M)return;if(Wf.has(M))Wf.get(M).destroy();let C=o(U(_)?_:()=>_);return M.replaceChildren(C.container),Wf.set(M,C),C},v_=({children:_})=>_,k_={$:D,$$:U_,Render:o,Watch:m,Tag:f,If:O,For:N,Router:b,Mount:Xf,Fragment:v_};if(typeof window<"u")Gf(window,k_),"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(" ").forEach((E)=>{let M=E[0].toUpperCase()+E.slice(1);if(!(M in window))window[M]=(C,A)=>f(E,C,A)}),window.SigPro=Object.freeze(k_);var ff={};z(ff,{default:()=>b_,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var Sf={};z(Sf,{Accordion:()=>Zf});var e={};z(e,{val:()=>G,ui:()=>Q,getIcon:()=>w});var G=(_)=>typeof _==="function"?_():_,Q=(_,E)=>typeof E==="function"?()=>`${_} ${E()||""}`.trim():`${_} ${E||""}`.trim(),w=(_)=>{if(!_)return null;if(typeof _==="function")return f("span",{class:"mr-1"},_());if(typeof _==="object")return f("span",{class:"mr-1"},_);if(typeof _==="string"){let E=_.trim().split(/\s+/),M=E[E.length-1]==="right",C=M?E.slice(0,-1).join(" "):_,A=M?"ml-1":"mr-1";if(C&&!C.startsWith("icon-[")&&!C.includes("--"))return f("span",{class:A},C);return f("span",{class:`${C} ${A}`.trim()})}return null};var Zf=(_,E)=>{let{class:M,title:C,name:A,open:W,...L}=_;return f("div",{...L,class:Q("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:A?"radio":"checkbox",name:A,checked:G(W)}),f("div",{class:"collapse-title text-xl font-medium"},C),f("div",{class:"collapse-content"},E)])};var qf={};z(qf,{Alert:()=>Yf});var Yf=(_,E)=>{let{class:M,actions:C,type:A="info",soft:W=!0,...L}=_,P={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Z=[`alert-${A}`,W?"alert-soft":"",M].filter(Boolean).join(" "),X=E||_.message;return f("div",{...L,role:"alert",class:Q("alert",Z)},()=>[w(P[A]),f("div",{class:"flex-1"},[f("span",{},[typeof X==="function"?X():X])]),C?f("div",{class:"flex-none"},[typeof C==="function"?C():C]):null].filter(Boolean))};var $f={};z($f,{Autocomplete:()=>Kf});var T_={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"}},u_=D("es");var x=(_)=>()=>T_[u_()][_]||_;var Rf={};z(Rf,{Input:()=>c});var c=(_)=>{let{class:E,value:M,type:C="text",icon:A,oninput:W,placeholder:L,disabled:P,size:J,validate:B,...Z}=_,X=C==="password",R=D(!1),Y=D(null),S={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]"},$=A?w(A):S[C]?w(S[C]):null,k=()=>w(R()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),r=$?"pl-10":"",_f=X?"pr-10":"",i=()=>{if(E?.includes("input-xs"))return"btn-xs";if(E?.includes("input-sm"))return"btn-sm";if(E?.includes("input-lg"))return"btn-lg";return"btn-md"},l=(V)=>{let F=V.target.value;if(B){let T=B(F);Y(T||null)}W?.(V)},v=()=>Y()&&Y()!=="",K=f("input",{...Z,type:()=>X?R()?"text":"password":C,placeholder:L||" ",class:()=>{let V=`input w-full ${r} ${_f}`;if(E)V+=` ${E}`;if(v())V+=" input-error";return V.trim()},value:M,oninput:l,disabled:()=>G(P),"aria-invalid":()=>v()?"true":"false"});return f("div",{class:"relative w-full"},()=>[K,$?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},$):null,X?f("button",{type:"button",class:Q("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",i()),onclick:(V)=>{V.preventDefault(),R(!R())}},()=>k()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>v()?Y():null)])};var Kf=(_)=>{let{class:E,items:M=[],value:C,onSelect:A,label:W,placeholder:L,...P}=_,J=D(G(C)||""),B=D(!1),Z=D(-1),X=D(()=>{let S=J().toLowerCase(),$=G(M)||[];return S?$.filter((k)=>(typeof k==="string"?k:k.label).toLowerCase().includes(S)):$}),R=(S)=>{let $=typeof S==="string"?S:S.value,k=typeof S==="string"?S:S.label;if(J(k),typeof C==="function")C($);A?.(S),B(!1),Z(-1)},Y=(S)=>{let $=X();if(S.key==="ArrowDown")S.preventDefault(),B(!0),Z(Math.min(Z()+1,$.length-1));else if(S.key==="ArrowUp")S.preventDefault(),Z(Math.max(Z()-1,0));else if(S.key==="Enter"&&Z()>=0)S.preventDefault(),R($[Z()]);else if(S.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[c({label:W,class:E,placeholder:L||x("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(S)=>{let $=S.target.value;if(J($),typeof C==="function")C($);B(!0),Z(-1)},...P}),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()&&X().length?"display:block":"display:none"},[N(X,(S,$)=>f("li",{},[f("a",{class:()=>`block w-full ${Z()===$?"active bg-primary text-primary-content":""}`,onclick:()=>R(S),onmouseenter:()=>Z($)},typeof S==="string"?S:S.label)]),(S,$)=>(typeof S==="string"?S:S.value)+$),()=>X().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Df={};z(Df,{Badge:()=>zf});var zf=(_,E)=>{let{class:M,...C}=_;return f("span",{...C,class:Q("badge",M)},E)};var wf={};z(wf,{Button:()=>d});var d=(_,E)=>{let{class:M,loading:C,icon:A,...W}=_,L=w(A);return f("button",{...W,class:Q("btn",M),disabled:()=>G(C)||G(_.disabled)},()=>[G(C)&&f("span",{class:"loading loading-spinner"}),L,E].filter(Boolean))};var kf={};z(kf,{Checkbox:()=>Vf});var Vf=(_)=>{let{class:E,value:M,tooltip:C,toggle:A,label:W,...L}=_,P=f("input",{...L,type:"checkbox",class:()=>Q(G(A)?"toggle":"checkbox",E),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[P,W?f("span",{class:"label-text"},W):null]);return C?f("div",{class:"tooltip","data-tip":C},J):J};var Uf={};z(Uf,{Colorpicker:()=>Nf});var Nf=(_)=>{let{class:E,value:M,label:C,...A}=_,W=D(!1),L=["#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"],P=()=>G(M)||"#000000";return f("div",{class:Q("relative w-fit",E)},[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(),W(!W())},...A},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${P()}`}),C?f("span",{class:"opacity-80"},C):null]),O(W,()=>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"},L.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
${P().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);W(!1)}})))])),O(W,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>W(!1)}))])};var Ff={};z(Ff,{Datepicker:()=>Of});var Of=(_)=>{let{class:E,value:M,range:C,label:A,placeholder:W,hour:L=!1,...P}=_,J=D(!1),B=D(new Date),Z=D(null),X=D(0),R=D(0),Y=()=>G(C)===!0,S=new Date,$=`${S.getFullYear()}-${String(S.getMonth()+1).padStart(2,"0")}-${String(S.getDate()).padStart(2,"0")}`,k=(q)=>{let K=q.getFullYear(),V=String(q.getMonth()+1).padStart(2,"0"),F=String(q.getDate()).padStart(2,"0");return`${K}-${V}-${F}`},r=(q)=>{let K=k(q),V=G(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:X()}})}else{let F=V.start;if(typeof M==="function"){let T=K<F?{start:K,end:F}:{start:F,end:K};if(L)T.startHour=V.startHour||X(),T.endHour=V.endHour||R();M(T)}J(!1)}else{if(typeof M==="function")M(L?`${K}T${String(X()).padStart(2,"0")}:00:00`:K);J(!1)}},_f=D(()=>{let q=G(M);if(!q)return"";if(typeof q==="string"){if(L&&q.includes("T"))return q.replace("T"," ");return q}if(q.start&&q.end){let K=L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start,V=L&&q.endHour?`${q.end} ${String(q.endHour).padStart(2,"0")}:00`:q.end;return`${K} - ${V}`}if(q.start)return`${L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start}...`;return""}),i=(q)=>{let K=B();B(new Date(K.getFullYear(),K.getMonth()+q,1))},l=(q)=>{let K=B();B(new Date(K.getFullYear()+q,K.getMonth(),1))},v=({value:q,onChange:K})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:q,class:"range range-xs flex-1",oninput:(V)=>{let F=parseInt(V.target.value);K(F)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(G(q)).padStart(2,"0")+":00")])])};return f("div",{class:Q("relative w-full",E)},[c({label:A,placeholder:W||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:w("icon-[lucide--calendar]"),onclick:(q)=>{q.stopPropagation(),J(!J())},...P}),O(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:(q)=>q.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:()=>l(-1)},w("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(-1)},w("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:()=>i(1)},w("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(1)},w("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Z(null)},[...["L","M","X","J","V","S","D"].map((q)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},q)),()=>{let q=B(),K=q.getFullYear(),V=q.getMonth(),F=new Date(K,V,1).getDay(),T=F===0?6:F-1,F_=new Date(K,V+1,0).getDate(),Mf=[];for(let u=0;u<T;u++)Mf.push(f("div"));for(let u=1;u<=F_;u++){let w_=new Date(K,V,u),H=k(w_);Mf.push(f("button",{type:"button",class:()=>{let y=G(M),Ef=Z(),H_=typeof y==="string"?y.split("T")[0]===H:y?.start===H,h_=y?.end===H,Cf=!1;if(Y()&&y?.start){let Af=y.start;if(!y.end&&Ef)Cf=H>Af&&H<=Ef||H<Af&&H>=Ef;else if(y.end)Cf=H>Af&&H<y.end}return`${"btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative"} ${H_||h_?"btn-primary z-10":Cf?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${H===$?"ring-1 ring-primary ring-inset font-black text-primary":""}`},onmouseenter:()=>{if(Y())Z(H)},onclick:()=>r(w_)},[u.toString()]))}return Mf}]),L?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K?.start)M({...K,startHour:q})}}),v({value:R,onChange:(q)=>{R(q);let K=G(M);if(K?.end)M({...K,endHour:q})}})]):v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(q).padStart(2,"0")+":00:00")}})]):null])),O(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var hf={};z(hf,{Drawer:()=>Hf});var Hf=(_,E)=>{let{class:M,id:C,open:A,side:W,content:L,...P}=_,J=C||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...P,class:Q("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof A==="function"?A():A,onchange:(B)=>{if(typeof A==="function")A(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof L==="function"?L():L]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof A==="function")A(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof W==="function"?W():W])])])};var jf={};z(jf,{Dropdown:()=>xf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(_)=>{if(j&&!j.contains(_.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var xf=(_)=>{let{class:E,label:M,icon:C,items:A,...W}=_;return Tag("details",{...W,class:Q("dropdown",E)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let P=L.currentTarget.closest("details");if(j&&j!==P)j.open=!1;setTimeout(()=>{j=P.open?P:null},0)}},[()=>C?typeof C==="function"?C():C:null,()=>M?typeof M==="function"?M():M:null]),Tag("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 A==="function"?A():A||[]).map((P)=>Tag("li",{},[Tag("a",{class:P.class||"",onclick:(J)=>{if(P.onclick)P.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[P.icon?Tag("span",{},P.icon):null,Tag("span",{},P.label)])]))}])])};var If={};z(If,{Fab:()=>yf});var yf=(_)=>{let{class:E,icon:M,label:C,actions:A=[],position:W="bottom-6 right-6",...L}=_;return f("div",{...L,class:Q(`fab absolute ${W} flex flex-col-reverse items-end gap-3 z-[100]`,E)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?w(M):null,!M&&C?C:null]),...G(A).map((P)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[P.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},P.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${P.class||""}`,onclick:(J)=>{J.stopPropagation(),P.onclick?.(J)}},[P.icon?w(P.icon):P.text||""])]))])};var vf={};z(vf,{Fieldset:()=>mf});var mf=(_,E)=>{let{class:M,legend:C,...A}=_;return f("fieldset",{...A,class:Q("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let W=G(C);return W?f("legend",{class:"fieldset-legend font-bold"},[W]):null},E])};var uf={};z(uf,{Fileinput:()=>Tf});var Tf=(_)=>{let{class:E,tooltip:M,max:C=2,accept:A="*",onSelect:W,...L}=_,P=D([]),J=D(!1),B=D(null),Z=C*1024*1024,X=(Y)=>{let S=Array.from(Y);if(B(null),S.find((k)=>k.size>Z)){B(`Máx ${C}MB`);return}P([...P(),...S]),W?.(P())},R=(Y)=>{let S=P().filter(($,k)=>k!==Y);P(S),W?.(S)};return f("fieldset",{...L,class:Q("fieldset w-full p-0",E)},[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),X(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[w("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 ${C}MB`)]),f("input",{type:"file",multiple:!0,accept:A,class:"hidden",onchange:(Y)=>X(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,O(()=>P().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[N(P,(Y,S)=>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:($)=>{$.preventDefault(),$.stopPropagation(),R(S)}},[w("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var cf={};z(cf,{Indicator:()=>bf});var bf=(_,E)=>{let{value:M,class:C,...A}=_;return f("div",{...A,class:"indicator"},()=>[M?f("span",{class:Q("indicator-item badge",C)},()=>typeof M==="function"?M():M):null,E].filter(Boolean))};var pf={};z(pf,{Label:()=>df});var df=(_)=>{let{children:E,value:M,floating:C=!1,error:A,required:W,class:L,...P}=_;if(C)return f("label",{class:Q("floating-label w-full",L),...P},()=>[M?f("span",{},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null]);return f("label",{class:Q("input w-full",L),...P},()=>[M?f("span",{class:"label"},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null])};var nf={};z(nf,{List:()=>rf});var rf=(_)=>{let{class:E,items:M,header:C,render:A,keyFn:W=(J,B)=>J.id??B,...L}=_,P=N(M,(J,B)=>f("li",{class:"list-row"},[A(J,B)]),W);return f("ul",{...L,class:Q("list bg-base-100 rounded-box shadow-md",E)},C?[O(C,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[G(C)])),P]:P)};var of={};z(of,{Menu:()=>gf});var gf=(_)=>{let{class:E,items:M,...C}=_,A=(W)=>N(()=>W||[],(L)=>f("li",{},[L.children?f("details",{open:L.open},[f("summary",{},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label]),f("ul",{},A(L.children))]):f("a",{class:()=>G(L.active)?"active":"",onclick:L.onclick},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label])]),(L,P)=>L.label||P);return f("ul",{...C,class:Q("menu bg-base-200 rounded-box",E)},A(M))};var tf={};z(tf,{Modal:()=>lf});var lf=(_,E)=>{let{class:M,title:C,buttons:A,open:W,...L}=_,P=null,J=()=>{let Z=typeof W==="function"?W():W;if(!P)return;if(Z){if(!P.open)P.showModal()}else if(P.open)P.close()};m(()=>J());let B=()=>{if(typeof W==="function")W(!1)};return f("dialog",{...L,ref:(Z)=>{if(P=Z,Z)J()},class:Q("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[C?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof C==="function"?C():C):null,f("div",{class:"py-2"},[typeof E==="function"?E():E]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(A)?A:[A]).filter(Boolean),d({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var af={};z(af,{Navbar:()=>sf});var sf=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("navbar bg-base-100 shadow-sm px-4",M)},E)};var f_={};z(f_,{Radio:()=>ef});var ef=(_)=>{let{class:E,label:M,tooltip:C,value:A,inputValue:W,name:L,...P}=_,J=f("input",{...P,type:"radio",name:L,class:Q("radio",E),checked:()=>G(A)===W,onclick:()=>{if(typeof A==="function")A(W)}});if(!M&&!C)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return C?f("div",{class:"tooltip","data-tip":C},B):B};var M_={};z(M_,{Range:()=>__});var __=(_)=>{let{class:E,label:M,tooltip:C,value:A,...W}=_,L=f("input",{...W,type:"range",class:Q("range",E),value:A,disabled:()=>G(_.disabled)});if(!M&&!C)return L;let P=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,L]);return C?f("div",{class:"tooltip","data-tip":C},P):P};var C_={};z(C_,{Rating:()=>E_});var E_=(_)=>{let{class:E,value:M,count:C=5,mask:A="mask-star",readonly:W=!1,onchange:L,...P}=_,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...P,class:()=>Q(`rating ${G(W)?"pointer-events-none":""}`,E)},Array.from({length:G(C)},(B,Z)=>{let X=Z+1;return f("input",{type:"radio",name:J,class:`mask ${A}`,checked:()=>Math.round(G(M))===X,onchange:()=>{if(!G(W)){if(typeof L==="function")L(X);else if(typeof M==="function")M(X)}}})}))};var L_={};z(L_,{Select:()=>A_});var A_=(_)=>{let{class:E,label:M,items:C,value:A,...W}=_,L=f("select",{...W,class:Q("select select-bordered w-full",E),value:A},N(()=>G(C)||[],(P)=>f("option",{value:P.value,$selected:()=>String(G(A))===String(P.value)},P.label),(P)=>P.value));if(!M)return L;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),L])};var P_={};z(P_,{Stack:()=>W_});var W_=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("stack",M)},E)};var B_={};z(B_,{Stat:()=>J_});var J_=(_)=>{let{class:E,icon:M,label:C,value:A,desc:W,...L}=_;return f("div",{...L,class:Q("stat",E)},[M&&f("div",{class:"stat-figure text-secondary"},M),C&&f("div",{class:"stat-title"},C),f("div",{class:"stat-value"},()=>G(A)??A),W&&f("div",{class:"stat-desc"},W)])};var Q_={};z(Q_,{Swap:()=>G_});var G_=(_)=>{let{class:E,value:M,on:C,off:A,...W}=_;return f("label",{...W,class:Q("swap",E)},[f("input",{type:"checkbox",checked:()=>G(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),f("div",{class:"swap-on"},C),f("div",{class:"swap-off"},A)])};var Z_={};z(Z_,{Table:()=>X_});var X_=(_)=>{let{class:E,items:M=[],columns:C=[],keyFn:A,zebra:W=!1,pinRows:L=!1,empty:P=x("nodata")(),...J}=_,B=()=>{let X=G(W)?"table-zebra":"",R=G(L)?"table-pin-rows":"";return Q("table",E,X,R)},Z=A||((X,R)=>X.id||R);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",{},C.map((X)=>f("th",{class:X.class||""},X.label)))]),f("tbody",{},[N(M,(X,R)=>{let Y=()=>{let S=G(M),$=Z(X,R);return S.find((k,r)=>Z(k,r)===$)||X};return f("tr",{class:"hover"},C.map((S)=>{let $=()=>{let k=Y();if(S.render)return S.render(k,R);return G(k[S.key])};return f("td",{class:S.class||""},[$])}))},Z),O(()=>G(M).length===0,()=>f("tr",{},[f("td",{colspan:C.length,class:"text-center p-10 opacity-50"},[G(P)])]))])])])};var Y_={};z(Y_,{Tabs:()=>S_});var S_=(_)=>{let{items:E,class:M,...C}=_,A=typeof E==="function"?E:()=>E||[],W=D(0);return Watch(()=>{let L=A().findIndex((P)=>G(P.active)===!0);if(L!==-1&&L!==W())W(L)}),f("div",{...C,class:"w-full"},[f("div",{role:"tablist",class:Q("tabs",M||"tabs-box")},()=>{return A().map((P,J)=>{let B=()=>W()===J,Z=f("button",{role:"tab",class:()=>Q("tab",B()?"tab-active":""),onclick:(X)=>{if(X.preventDefault(),!G(P.disabled)){if(P.onclick)P.onclick();W(J)}}});return Watch(()=>{let X=G(P.label);if(X instanceof Node)Z.replaceChildren(X);else Z.textContent=String(X)}),Z})}),f("div",{class:"tab-panels"},()=>{return A().map((L,P)=>{let J=()=>W()===P;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var R_={};z(R_,{Timeline:()=>q_});var q_=(_)=>{let{class:E,items:M=[],vertical:C=!0,compact:A=!1,...W}=_,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...W,class:()=>Q(`timeline ${G(C)?"timeline-vertical":"timeline-horizontal"} ${G(A)?"timeline-compact":""}`,E)},()=>{let P=(typeof M==="function"?M():M)||[];return P.map((J,B)=>{let Z=B===0,X=B===P.length-1,R=J.type||"success",Y=()=>G(J.completed),S=()=>B>0&&G(P[B-1].completed),$=(k)=>typeof k==="function"?k():k;return f("li",{class:"flex-1"},[!Z?f("hr",{class:()=>S()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>$(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?w(J.icon):w(L[R]||L.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>$(J.detail)]),!X?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var $_={};z($_,{Toast:()=>K_});var K_=(_,E="alert-success",M=3500)=>{let C=document.getElementById("sigpro-toast-container");if(!C)C=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(C);let A=f("div",{style:"display: contents"});C.appendChild(A);let W,L=()=>{clearTimeout(W);let B=A.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),A.remove(),!C.hasChildNodes())C.remove()},300);else J.destroy(),A.remove()},J=Xf(()=>{let B=w("icon-[lucide--x]"),Z=f("div",{class:`alert alert-soft ${E} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof _==="function"?_():_]),d({class:"btn-xs btn-circle btn-ghost",onclick:L},B)]);return requestAnimationFrame(()=>Z.classList.remove("translate-x-10","opacity-0")),Z},A);if(M>0)W=setTimeout(L,M);return L};var D_={};z(D_,{Tooltip:()=>z_});var z_=(_,E)=>f("div",{..._,class:()=>Q("tooltip",_.class),"data-tip":_.tip},E);var O_={...Sf,...qf,...$f,...Df,...wf,...kf,...Uf,...Ff,...hf,...jf,...If,...vf,...uf,...cf,...Rf,...pf,...nf,...of,...tf,...af,...f_,...M_,...C_,...L_,...P_,...B_,...Q_,...Z_,...Y_,...R_,...$_,...D_},b_={...O_,install:(_=window)=>{Object.entries(O_).forEach(([E,M])=>{_[E]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([_,E])=>{window[_]=E}),window.Utils=e,window.tt=x,window.SigProUI={...ff,Utils:e,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");})();