Files
sigpro-ui/dist/sigpro-ui.min.js
2026-04-03 23:54:11 +02:00

8 lines
32 KiB
JavaScript

(()=>{var{defineProperty:JM,getOwnPropertyNames:UJ,getOwnPropertyDescriptor:HJ}=Object,VJ=Object.prototype.hasOwnProperty;var TJ=new WeakMap,SJ=(Z)=>{var K=TJ.get(Z),G;if(K)return K;if(K=JM({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function")UJ(Z).map((J)=>!VJ.call(K,J)&&JM(K,J,{get:()=>Z[J],enumerable:!(G=HJ(Z,J))||G.enumerable}));return TJ.set(Z,K),K};var U=(Z,K)=>{for(var G in K)JM(Z,G,{get:K[G],enumerable:!0,configurable:!0,set:(J)=>K[G]=()=>J})};var xJ={};U(xJ,{val:()=>q,ui:()=>_,tt:()=>k,getIcon:()=>V,Tooltip:()=>AJ,Toast:()=>BJ,Timeline:()=>QJ,Tabs:()=>KJ,Table:()=>XJ,Swap:()=>WJ,Stat:()=>MJ,Stack:()=>tM,Select:()=>nM,Rating:()=>aM,Range:()=>iM,Radio:()=>cM,Navbar:()=>dM,Modal:()=>mM,Menu:()=>gM,List:()=>vM,Label:()=>yM,Input:()=>m,Indicator:()=>wM,Fileinput:()=>xM,Fieldset:()=>jM,Fab:()=>NM,Dropdown:()=>SM,Drawer:()=>HM,Datepicker:()=>FM,Colorpicker:()=>RM,Checkbox:()=>CM,Button:()=>u,Badge:()=>_M,Autocomplete:()=>qM,Alert:()=>QM,Accordion:()=>KM});var j=null,$=null,p=new Set,i=!1,WM=new WeakMap,EJ=()=>{if(i)return;i=!0;while(p.size>0){let Z=Array.from(p).sort((K,G)=>(K.depth||0)-(G.depth||0));p.clear();for(let K of Z)if(!K._deleted)K()}i=!1},CJ=(Z)=>{if(j&&!j._deleted)Z.add(j),j._deps.add(Z)},ZM=(Z)=>{for(let K of Z){if(K===j||K._deleted)continue;if(K._isComputed){if(K.markDirty(),K._subs)ZM(K._subs)}else p.add(K)}if(!i)queueMicrotask(EJ)},XM=(Z)=>{if(Z._cleanups)Z._cleanups.forEach((K)=>K()),Z._cleanups.clear();Z.childNodes?.forEach(XM)},r=(Z)=>{let K=new Set,G=$,J=document.createElement("div");J.style.display="contents",$={cleanups:K};try{let Y=Z({onCleanup:(X)=>K.add(X)}),L=(X)=>{if(!X)return;if(X._isRuntime)K.add(X.destroy),J.appendChild(X.container);else if(Array.isArray(X))X.forEach(L);else J.appendChild(X instanceof Node?X:document.createTextNode(String(X)))};L(Y)}finally{$=G}return{_isRuntime:!0,container:J,destroy:()=>{K.forEach((Y)=>Y()),XM(J),J.remove()}}},H=(Z,K=null)=>{if(typeof Z==="function"){let Y=new Set,L,X=!0,W=()=>{if(W._deleted)return;W._deps.forEach((B)=>B.delete(W)),W._deps.clear();let Q=j;j=W;try{let B=Z();if(!Object.is(L,B)||X)L=B,X=!1,ZM(Y)}finally{j=Q}};if(W._deps=new Set,W._isComputed=!0,W._subs=Y,W._deleted=!1,W.markDirty=()=>X=!0,W.stop=()=>{W._deleted=!0,W._deps.forEach((Q)=>Q.delete(W)),Y.clear()},$)$.cleanups.add(W.stop);return()=>{if(X)W();return CJ(Y),L}}let G=Z;if(K)try{let Y=localStorage.getItem(K);if(Y!==null)G=JSON.parse(Y)}catch(Y){console.warn("SigPro: LocalStorage locked",Y)}let J=new Set;return(...Y)=>{if(Y.length){let L=typeof Y[0]==="function"?Y[0](G):Y[0];if(!Object.is(G,L)){if(G=L,K)localStorage.setItem(K,JSON.stringify(G));ZM(J)}}return CJ(J),G}},w=(Z,K)=>{let G=Array.isArray(Z),J=G?K:Z,Y=G?Z:null;if(typeof J!=="function")return()=>{};let L=$,X=()=>{if(X._deleted)return;X._deps.forEach((B)=>B.delete(X)),X._deps.clear(),X._cleanups.forEach((B)=>B()),X._cleanups.clear();let W=j,Q=$;j=X,$={cleanups:X._cleanups},X.depth=W?W.depth+1:0;try{if(G)j=null,J(),j=X,Y.forEach((B)=>typeof B==="function"&&B());else J()}finally{j=W,$=Q}};if(X._deps=new Set,X._cleanups=new Set,X._deleted=!1,X.stop=()=>{if(X._deleted)return;if(X._deleted=!0,p.delete(X),X._deps.forEach((W)=>W.delete(X)),X._cleanups.forEach((W)=>W()),L)L.cleanups.delete(X.stop)},L)L.cleanups.add(X.stop);return X(),X.stop},M=(Z,K={},G=[])=>{if(K instanceof Node||Array.isArray(K)||typeof K!=="object")G=K,K={};let J=document.createElement(Z),Y=(W,Q)=>(W==="src"||W==="href")&&String(Q).toLowerCase().includes("javascript:")?"#":Q;J._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[W,Q]of Object.entries(K)){if(W==="ref"){typeof Q==="function"?Q(J):Q.current=J;continue}let B=typeof Q==="function";if(["INPUT","TEXTAREA","SELECT"].includes(J.tagName)&&(W==="value"||W==="checked")&&B){J._cleanups.add(w(()=>{let A=Q();if(J[W]!==A)J[W]=A}));let P=W==="checked"?"change":"input",R=(A)=>Q(A.target[W]);J.addEventListener(P,R),J._cleanups.add(()=>J.removeEventListener(P,R))}else if(W.startsWith("on")){let P=W.slice(2).toLowerCase().split(".")[0],R=(A)=>Q(A);J.addEventListener(P,R),J._cleanups.add(()=>J.removeEventListener(P,R))}else if(B)J._cleanups.add(w(()=>{let P=Y(W,Q());if(W==="class")J.className=P||"";else if(L.includes(W))if(P)J.setAttribute(W,""),J[W]=!0;else J.removeAttribute(W),J[W]=!1;else P==null?J.removeAttribute(W):J.setAttribute(W,P)}));else if(L.includes(W))if(Q)J.setAttribute(W,""),J[W]=!0;else J.removeAttribute(W),J[W]=!1;else J.setAttribute(W,Y(W,Q))}let X=(W)=>{if(Array.isArray(W))return W.forEach(X);if(W instanceof Node)J.appendChild(W);else if(typeof W==="function"){let Q=document.createTextNode("");J.appendChild(Q);let B=[];J._cleanups.add(w(()=>{let z=W(),T=(Array.isArray(z)?z:[z]).map((P)=>P?._isRuntime?P.container:P instanceof Node?P:document.createTextNode(P??""));B.forEach((P)=>{XM?.(P),P.remove()}),T.forEach((P)=>Q.parentNode?.insertBefore(P,Q)),B=T}))}else J.appendChild(document.createTextNode(W??""))};return X(G),J},N=(Z,K,G=null)=>{let J=document.createTextNode(""),Y=M("div",{style:"display:contents"},[J]),L=null,X=null;return w(()=>{let W=!!(typeof Z==="function"?Z():Z);if(W!==X){if(X=W,L)L.destroy();let Q=W?K:G;if(Q)L=r(()=>typeof Q==="function"?Q():Q),Y.insertBefore(L.container,J)}}),Y};N.not=(Z,K,G)=>N(()=>!(typeof Z==="function"?Z():Z),K,G);var O=(Z,K,G,J="div",Y={style:"display:contents"})=>{let L=document.createTextNode(""),X=M(J,Y,[L]),W=new Map;return w(()=>{let Q=(typeof Z==="function"?Z():Z)||[],B=new Map,z=[];for(let P=0;P<Q.length;P++){let R=Q[P],A=G?G(R,P):P,D=W.get(A);if(!D)D=r(()=>K(R,P));else W.delete(A);B.set(A,D),z.push(A)}W.forEach((P)=>{P.destroy(),P.container.remove()});let T=L;for(let P=z.length-1;P>=0;P--){let R=B.get(z[P]);if(R.container.nextSibling!==T)X.insertBefore(R.container,T);T=R.container}W=B}),X},h=(Z)=>{let K=H(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>K(window.location.hash.replace(/^#/,"")||"/"));let G=M("div",{class:"router-outlet"}),J=null;return w([K],async()=>{let Y=K(),L=Z.find((X)=>{let W=X.path.split("/").filter(Boolean),Q=Y.split("/").filter(Boolean);return W.length===Q.length&&W.every((B,z)=>B.startsWith(":")||B===Q[z])})||Z.find((X)=>X.path==="*");if(L){let X=L.component;if(typeof X==="function"&&X.toString().includes("import"))X=(await X()).default||await X();let W={};if(L.path.split("/").filter(Boolean).forEach((Q,B)=>{if(Q.startsWith(":"))W[Q.slice(1)]=Y.split("/").filter(Boolean)[B]}),J)J.destroy();if(h.params)h.params(W);J=r(()=>{try{return typeof X==="function"?X(W):X}catch(Q){return M("div",{class:"p-4 text-error"},"Error loading view")}}),G.appendChild(J.container)}}),G};h.params=H({});h.to=(Z)=>window.location.hash=Z.replace(/^#?\/?/,"#/");h.back=()=>window.history.back();h.path=()=>window.location.hash.replace(/^#/,"")||"/";var GM=(Z,K)=>{let G=typeof K==="string"?document.querySelector(K):K;if(!G)return;if(WM.has(G))WM.get(G).destroy();let J=r(typeof Z==="function"?Z:()=>Z);return G.replaceChildren(J.container),WM.set(G,J),J},NJ={$:H,$watch:w,$html:M,$if:N,$for:O,$router:h,$mount:GM};if(typeof window<"u")((K)=>{Object.keys(K).forEach((J)=>{window[J]=K[J]}),"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((J)=>{let Y=J.charAt(0).toUpperCase()+J.slice(1);if(!(Y in window))window[Y]=(L,X)=>M(J,L,X)}),window.SigPro=Object.freeze(K)})(NJ);var l={};U(l,{default:()=>IJ,Tooltip:()=>AJ,Toast:()=>BJ,Timeline:()=>QJ,Tabs:()=>KJ,Table:()=>XJ,Swap:()=>WJ,Stat:()=>MJ,Stack:()=>tM,Select:()=>nM,Rating:()=>aM,Range:()=>iM,Radio:()=>cM,Navbar:()=>dM,Modal:()=>mM,Menu:()=>gM,List:()=>vM,Label:()=>yM,Input:()=>m,Indicator:()=>wM,Fileinput:()=>xM,Fieldset:()=>jM,Fab:()=>NM,Dropdown:()=>SM,Drawer:()=>HM,Datepicker:()=>FM,Colorpicker:()=>RM,Checkbox:()=>CM,Button:()=>u,Badge:()=>_M,Autocomplete:()=>qM,Alert:()=>QM,Accordion:()=>KM});var YM={};U(YM,{Accordion:()=>KM});var a={};U(a,{val:()=>q,ui:()=>_,getIcon:()=>V});var q=(Z)=>typeof Z==="function"?Z():Z,_=(Z,K)=>typeof K==="function"?()=>`${Z} ${K()||""}`.trim():`${Z} ${K||""}`.trim(),V=(Z)=>{if(!Z)return null;if(typeof Z==="function")return M("span",{class:"mr-1"},Z());if(typeof Z==="object")return M("span",{class:"mr-1"},Z);if(typeof Z==="string"){let K=Z.trim().split(/\s+/),G=K[K.length-1]==="right",J=G?K.slice(0,-1).join(" "):Z,Y=G?"ml-1":"mr-1";if(J&&!J.startsWith("icon-[")&&!J.includes("--"))return M("span",{class:Y},J);return M("span",{class:`${J} ${Y}`.trim()})}return null};var KM=(Z,K)=>{let{class:G,title:J,name:Y,open:L,...X}=Z;return M("div",{...X,class:_("collapse collapse-arrow bg-base-200 mb-2",G)},[M("input",{type:Y?"radio":"checkbox",name:Y,checked:q(L)}),M("div",{class:"collapse-title text-xl font-medium"},J),M("div",{class:"collapse-content"},K)])};var LM={};U(LM,{Alert:()=>QM});var QM=(Z,K)=>{let{class:G,actions:J,type:Y="info",soft:L=!0,...X}=Z,W={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},z=[`alert-${Y}`,L?"alert-soft":"",G].filter(Boolean).join(" "),T=K||Z.message;return M("div",{...X,role:"alert",class:_("alert",z)},()=>[V(W[Y]),M("div",{class:"flex-1"},[M("span",{},[typeof T==="function"?T():T])]),J?M("div",{class:"flex-none"},[typeof J==="function"?J():J]):null].filter(Boolean))};var AM={};U(AM,{Autocomplete:()=>qM});var OJ={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"}},jJ=H("es");var k=(Z)=>()=>OJ[jJ()][Z]||Z;var BM={};U(BM,{Input:()=>m});var m=(Z)=>{let{class:K,value:G,type:J="text",icon:Y,oninput:L,placeholder:X,disabled:W,size:Q,validate:B,...z}=Z,T=J==="password",P=H(!1),R=H(null),A={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]"},D=Y?V(Y):A[J]?V(A[J]):null,E=()=>V(P()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=D?"pl-10":"",n=T?"pr-10":"",c=()=>{if(K?.includes("input-xs"))return"btn-xs";if(K?.includes("input-sm"))return"btn-sm";if(K?.includes("input-lg"))return"btn-lg";return"btn-md"},o=(S)=>{let I=S.target.value;if(B){let b=B(I);R(b||null)}L?.(S)},v=()=>R()&&R()!=="",F=M("input",{...z,type:()=>T?P()?"text":"password":J,placeholder:X||" ",class:()=>{let S=`input w-full ${d} ${n}`;if(K)S+=` ${K}`;if(v())S+=" input-error";return S.trim()},value:G,oninput:o,disabled:()=>q(W),"aria-invalid":()=>v()?"true":"false"});return M("div",{class:"relative w-full"},()=>[F,D?M("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},D):null,T?M("button",{type:"button",class:_("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",c()),onclick:(S)=>{S.preventDefault(),P(!P())}},()=>E()):null,M("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>v()?R():null)])};var qM=(Z)=>{let{class:K,items:G=[],value:J,onSelect:Y,label:L,placeholder:X,...W}=Z,Q=H(q(J)||""),B=H(!1),z=H(-1),T=H(()=>{let A=Q().toLowerCase(),D=q(G)||[];return A?D.filter((E)=>(typeof E==="string"?E:E.label).toLowerCase().includes(A)):D}),P=(A)=>{let D=typeof A==="string"?A:A.value,E=typeof A==="string"?A:A.label;if(Q(E),typeof J==="function")J(D);Y?.(A),B(!1),z(-1)},R=(A)=>{let D=T();if(A.key==="ArrowDown")A.preventDefault(),B(!0),z(Math.min(z()+1,D.length-1));else if(A.key==="ArrowUp")A.preventDefault(),z(Math.max(z()-1,0));else if(A.key==="Enter"&&z()>=0)A.preventDefault(),P(D[z()]);else if(A.key==="Escape")B(!1)};return M("div",{class:"relative w-full"},[m({label:L,class:K,placeholder:X||k("search")(),value:Q,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:R,oninput:(A)=>{let D=A.target.value;if(Q(D),typeof J==="function")J(D);B(!0),z(-1)},...W}),M("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()&&T().length?"display:block":"display:none"},[O(T,(A,D)=>M("li",{},[M("a",{class:()=>`block w-full ${z()===D?"active bg-primary text-primary-content":""}`,onclick:()=>P(A),onmouseenter:()=>z(D)},typeof A==="string"?A:A.label)]),(A,D)=>(typeof A==="string"?A:A.value)+D),()=>T().length?null:M("li",{class:"p-2 text-center opacity-50"},k("nodata")())])])};var PM={};U(PM,{Badge:()=>_M});var _M=(Z,K)=>{let{class:G,...J}=Z;return M("span",{...J,class:_("badge",G)},K)};var TM={};U(TM,{Button:()=>u});var u=(Z,K)=>{let{class:G,loading:J,icon:Y,...L}=Z,X=V(Y);return M("button",{...L,class:_("btn",G),disabled:()=>q(J)||q(Z.disabled)},()=>[q(J)&&M("span",{class:"loading loading-spinner"}),X,K].filter(Boolean))};var zM={};U(zM,{Checkbox:()=>CM});var CM=(Z)=>{let{class:K,value:G,tooltip:J,toggle:Y,label:L,...X}=Z,W=M("input",{...X,type:"checkbox",class:()=>_(q(Y)?"toggle":"checkbox",K),checked:G}),Q=M("label",{class:"label cursor-pointer justify-start gap-3"},[W,L?M("span",{class:"label-text"},L):null]);return J?M("div",{class:"tooltip","data-tip":J},Q):Q};var DM={};U(DM,{Colorpicker:()=>RM});var RM=(Z)=>{let{class:K,value:G,label:J,...Y}=Z,L=H(!1),X=["#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"],W=()=>q(G)||"#000000";return M("div",{class:_("relative w-fit",K)},[M("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:(Q)=>{Q.stopPropagation(),L(!L())},...Y},[M("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${W()}`}),J?M("span",{class:"opacity-80"},J):null]),N(L,()=>M("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:(Q)=>Q.stopPropagation()},[M("div",{class:"grid grid-cols-8 gap-1"},X.map((Q)=>M("button",{type:"button",style:`background-color: ${Q}`,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
${W().toLowerCase()===Q.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof G==="function")G(Q);L(!1)}})))])),N(L,()=>M("div",{class:"fixed inset-0 z-[100]",onclick:()=>L(!1)}))])};var UM={};U(UM,{Datepicker:()=>FM});var FM=(Z)=>{let{class:K,value:G,range:J,label:Y,placeholder:L,hour:X=!1,...W}=Z,Q=H(!1),B=H(new Date),z=H(null),T=H(0),P=H(0),R=()=>q(J)===!0,A=new Date,D=`${A.getFullYear()}-${String(A.getMonth()+1).padStart(2,"0")}-${String(A.getDate()).padStart(2,"0")}`,E=(C)=>{let F=C.getFullYear(),S=String(C.getMonth()+1).padStart(2,"0"),I=String(C.getDate()).padStart(2,"0");return`${F}-${S}-${I}`},d=(C)=>{let F=E(C),S=q(G);if(R())if(!S?.start||S.start&&S.end){if(typeof G==="function")G({start:F,end:null,...X&&{startHour:T()}})}else{let I=S.start;if(typeof G==="function"){let b=F<I?{start:F,end:I}:{start:I,end:F};if(X)b.startHour=S.startHour||T(),b.endHour=S.endHour||P();G(b)}Q(!1)}else{if(typeof G==="function")G(X?`${F}T${String(T()).padStart(2,"0")}:00:00`:F);Q(!1)}},n=H(()=>{let C=q(G);if(!C)return"";if(typeof C==="string"){if(X&&C.includes("T"))return C.replace("T"," ");return C}if(C.start&&C.end){let F=X&&C.startHour?`${C.start} ${String(C.startHour).padStart(2,"0")}:00`:C.start,S=X&&C.endHour?`${C.end} ${String(C.endHour).padStart(2,"0")}:00`:C.end;return`${F} - ${S}`}if(C.start)return`${X&&C.startHour?`${C.start} ${String(C.startHour).padStart(2,"0")}:00`:C.start}...`;return""}),c=(C)=>{let F=B();B(new Date(F.getFullYear(),F.getMonth()+C,1))},o=(C)=>{let F=B();B(new Date(F.getFullYear()+C,F.getMonth(),1))},v=({value:C,onChange:F})=>{return M("div",{class:"flex-1"},[M("div",{class:"flex gap-2 items-center"},[M("input",{type:"range",min:0,max:23,value:C,class:"range range-xs flex-1",oninput:(S)=>{let I=parseInt(S.target.value);F(I)}}),M("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(q(C)).padStart(2,"0")+":00")])])};return M("div",{class:_("relative w-full",K)},[m({label:Y,placeholder:L||(R()?"Seleccionar rango...":"Seleccionar fecha..."),value:n,readonly:!0,icon:V("icon-[lucide--calendar]"),onclick:(C)=>{C.stopPropagation(),Q(!Q())},...W}),N(Q,()=>M("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:(C)=>C.stopPropagation()},[M("div",{class:"flex justify-between items-center mb-4 gap-1"},[M("div",{class:"flex gap-0.5"},[M("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(-1)},V("icon-[lucide--chevrons-left]")),M("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>c(-1)},V("icon-[lucide--chevron-left]"))]),M("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),M("div",{class:"flex gap-0.5"},[M("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>c(1)},V("icon-[lucide--chevron-right]")),M("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},V("icon-[lucide--chevrons-right]"))])]),M("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>z(null)},[...["L","M","X","J","V","S","D"].map((C)=>M("div",{class:"text-[10px] opacity-40 font-bold text-center"},C)),()=>{let C=B(),F=C.getFullYear(),S=C.getMonth(),I=new Date(F,S,1).getDay(),b=I===0?6:I-1,RJ=new Date(F,S+1,0).getDate(),s=[];for(let g=0;g<b;g++)s.push(M("div"));for(let g=1;g<=RJ;g++){let PJ=new Date(F,S,g),x=E(PJ);s.push(M("button",{type:"button",class:()=>{let y=q(G),t=z(),DJ=typeof y==="string"?y.split("T")[0]===x:y?.start===x,FJ=y?.end===x,e=!1;if(R()&&y?.start){let MM=y.start;if(!y.end&&t)e=x>MM&&x<=t||x<MM&&x>=t;else if(y.end)e=x>MM&&x<y.end}return`${"btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative"} ${DJ||FJ?"btn-primary z-10":e?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${x===D?"ring-1 ring-primary ring-inset font-black text-primary":""}`},onmouseenter:()=>{if(R())z(x)},onclick:()=>d(PJ)},[g.toString()]))}return s}]),X?M("div",{class:"mt-3 pt-2 border-t border-base-300"},[R()?M("div",{class:"flex gap-4"},[v({value:T,onChange:(C)=>{T(C);let F=q(G);if(F?.start)G({...F,startHour:C})}}),v({value:P,onChange:(C)=>{P(C);let F=q(G);if(F?.end)G({...F,endHour:C})}})]):v({value:T,onChange:(C)=>{T(C);let F=q(G);if(F&&typeof F==="string"&&F.includes("-"))G(F.split("T")[0]+"T"+String(C).padStart(2,"0")+":00:00")}})]):null])),N(Q,()=>M("div",{class:"fixed inset-0 z-[90]",onclick:()=>Q(!1)}))])};var VM={};U(VM,{Drawer:()=>HM});var HM=(Z,K)=>{let{class:G,id:J,open:Y,side:L,content:X,...W}=Z,Q=J||`drawer-${Math.random().toString(36).slice(2,9)}`;return M("div",{...W,class:_("drawer",G)},[M("input",{id:Q,type:"checkbox",class:"drawer-toggle",checked:()=>typeof Y==="function"?Y():Y,onchange:(B)=>{if(typeof Y==="function")Y(B.target.checked)}}),M("div",{class:"drawer-content"},[typeof X==="function"?X():X]),M("div",{class:"drawer-side"},[M("label",{for:Q,class:"drawer-overlay",onclick:()=>{if(typeof Y==="function")Y(!1)}}),M("div",{class:"min-h-full bg-base-200 w-80"},[typeof L==="function"?L():L])])])};var EM={};U(EM,{Dropdown:()=>SM});var f=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(Z)=>{if(f&&!f.contains(Z.target))f.open=!1,f=null}),window.__dropdownHandlerRegistered=!0;var SM=(Z)=>{let{class:K,label:G,icon:J,items:Y,...L}=Z;return $html("details",{...L,class:_("dropdown",K)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(X)=>{let W=X.currentTarget.closest("details");if(f&&f!==W)f.open=!1;setTimeout(()=>{f=W.open?W:null},0)}},[()=>J?typeof J==="function"?J():J:null,()=>G?typeof G==="function"?G():G: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 Y==="function"?Y():Y||[]).map((W)=>$html("li",{},[$html("a",{class:W.class||"",onclick:(Q)=>{if(W.onclick)W.onclick(Q);let B=Q.currentTarget.closest("details");if(B){if(B.open=!1,f===B)f=null}}},[W.icon?$html("span",{},W.icon):null,$html("span",{},W.label)])]))}])])};var OM={};U(OM,{Fab:()=>NM});var NM=(Z)=>{let{class:K,icon:G,label:J,actions:Y=[],position:L="bottom-6 right-6",...X}=Z;return M("div",{...X,class:_(`fab absolute ${L} flex flex-col-reverse items-end gap-3 z-[100]`,K)},[M("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[G?V(G):null,!G&&J?J:null]),...q(Y).map((W)=>M("div",{class:"flex items-center gap-3 transition-all duration-300"},[W.label?M("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},W.label):null,M("button",{type:"button",class:`btn btn-circle shadow-lg ${W.class||""}`,onclick:(Q)=>{Q.stopPropagation(),W.onclick?.(Q)}},[W.icon?V(W.icon):W.text||""])]))])};var IM={};U(IM,{Fieldset:()=>jM});var jM=(Z,K)=>{let{class:G,legend:J,...Y}=Z;return M("fieldset",{...Y,class:_("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",G)},[()=>{let L=q(J);return L?M("legend",{class:"fieldset-legend font-bold"},[L]):null},K])};var kM={};U(kM,{Fileinput:()=>xM});var xM=(Z)=>{let{class:K,tooltip:G,max:J=2,accept:Y="*",onSelect:L,...X}=Z,W=H([]),Q=H(!1),B=H(null),z=J*1024*1024,T=(R)=>{let A=Array.from(R);if(B(null),A.find((E)=>E.size>z)){B(`Máx ${J}MB`);return}W([...W(),...A]),L?.(W())},P=(R)=>{let A=W().filter((D,E)=>E!==R);W(A),L?.(A)};return M("fieldset",{...X,class:_("fieldset w-full p-0",K)},[M("div",{class:()=>`w-full ${G?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":G},[M("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
${Q()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}
`,ondragover:(R)=>{R.preventDefault(),Q(!0)},ondragleave:()=>Q(!1),ondrop:(R)=>{R.preventDefault(),Q(!1),T(R.dataTransfer.files)}},[M("div",{class:"flex items-center gap-3 w-full"},[V("icon-[lucide--upload]"),M("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),M("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${J}MB`)]),M("input",{type:"file",multiple:!0,accept:Y,class:"hidden",onchange:(R)=>T(R.target.files)})])]),()=>B()?M("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,N(()=>W().length>0,()=>M("ul",{class:"mt-2 space-y-1"},[O(W,(R,A)=>M("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[M("div",{class:"flex items-center gap-2 truncate"},[M("span",{class:"opacity-50"},"\uD83D\uDCC4"),M("span",{class:"truncate font-medium max-w-[200px]"},R.name),M("span",{class:"text-[9px] opacity-40"},`(${(R.size/1024).toFixed(0)} KB)`)]),M("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(D)=>{D.preventDefault(),D.stopPropagation(),P(A)}},[V("icon-[lucide--x]")])]),(R)=>R.name+R.lastModified)]))])};var fM={};U(fM,{Indicator:()=>wM});var wM=(Z,K)=>{let{value:G,class:J,...Y}=Z;return M("div",{...Y,class:"indicator"},()=>[G?M("span",{class:_("indicator-item badge",J)},()=>typeof G==="function"?G():G):null,K].filter(Boolean))};var $M={};U($M,{Label:()=>yM});var yM=(Z)=>{let{children:K,value:G,floating:J=!1,error:Y,required:L,class:X,...W}=Z;if(J)return M("label",{class:_("floating-label w-full",X),...W},()=>[G?M("span",{},G):null,K,Y?M("span",{class:"text-error text-xs"},q(Y)):null]);return M("label",{class:_("input w-full",X),...W},()=>[G?M("span",{class:"label"},G):null,K,Y?M("span",{class:"text-error text-xs"},q(Y)):null])};var bM={};U(bM,{List:()=>vM});var vM=(Z)=>{let{class:K,items:G,header:J,render:Y,keyFn:L=(Q,B)=>Q.id??B,...X}=Z,W=O(G,(Q,B)=>M("li",{class:"list-row"},[Y(Q,B)]),L);return M("ul",{...X,class:_("list bg-base-100 rounded-box shadow-md",K)},J?[N(J,()=>M("li",{class:"p-4 pb-2 text-xs opacity-60"},[q(J)])),W]:W)};var hM={};U(hM,{Menu:()=>gM});var gM=(Z)=>{let{class:K,items:G,...J}=Z,Y=(L)=>O(()=>L||[],(X)=>M("li",{},[X.children?M("details",{open:X.open},[M("summary",{},[X.icon&&M("span",{class:"mr-2"},X.icon),X.label]),M("ul",{},Y(X.children))]):M("a",{class:()=>q(X.active)?"active":"",onclick:X.onclick},[X.icon&&M("span",{class:"mr-2"},X.icon),X.label])]),(X,W)=>X.label||W);return M("ul",{...J,class:_("menu bg-base-200 rounded-box",K)},Y(G))};var uM={};U(uM,{Modal:()=>mM});var mM=(Z,K)=>{let{class:G,title:J,buttons:Y,open:L,...X}=Z,W=null,Q=()=>{let z=typeof L==="function"?L():L;if(!W)return;if(z){if(!W.open)W.showModal()}else if(W.open)W.close()};w(()=>Q());let B=()=>{if(typeof L==="function")L(!1)};return M("dialog",{...X,ref:(z)=>{if(W=z,z)Q()},class:_("modal",G),onclose:B,oncancel:B},[M("div",{class:"modal-box"},[J?M("h3",{class:"text-lg font-bold mb-4"},()=>typeof J==="function"?J():J):null,M("div",{class:"py-2"},[typeof K==="function"?K():K]),M("div",{class:"modal-action"},[M("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(Y)?Y:[Y]).filter(Boolean),u({type:"submit"},k("close")())])])]),M("form",{method:"dialog",class:"modal-backdrop"},[M("button",{},"close")])])};var pM={};U(pM,{Navbar:()=>dM});var dM=(Z,K)=>{let{class:G,...J}=Z;return M("div",{...J,class:_("navbar bg-base-100 shadow-sm px-4",G)},K)};var oM={};U(oM,{Radio:()=>cM});var cM=(Z)=>{let{class:K,label:G,tooltip:J,value:Y,inputValue:L,name:X,...W}=Z,Q=M("input",{...W,type:"radio",name:X,class:_("radio",K),checked:()=>q(Y)===L,onclick:()=>{if(typeof Y==="function")Y(L)}});if(!G&&!J)return Q;let B=M("label",{class:"label cursor-pointer justify-start gap-3"},[Q,G?M("span",{class:"label-text"},G):null]);return J?M("div",{class:"tooltip","data-tip":J},B):B};var rM={};U(rM,{Range:()=>iM});var iM=(Z)=>{let{class:K,label:G,tooltip:J,value:Y,...L}=Z,X=M("input",{...L,type:"range",class:_("range",K),value:Y,disabled:()=>q(Z.disabled)});if(!G&&!J)return X;let W=M("div",{class:"flex flex-col gap-2"},[G?M("span",{class:"label-text"},G):null,X]);return J?M("div",{class:"tooltip","data-tip":J},W):W};var lM={};U(lM,{Rating:()=>aM});var aM=(Z)=>{let{class:K,value:G,count:J=5,mask:Y="mask-star",readonly:L=!1,onchange:X,...W}=Z,Q=`rating-${Math.random().toString(36).slice(2,7)}`;return M("div",{...W,class:()=>_(`rating ${q(L)?"pointer-events-none":""}`,K)},Array.from({length:q(J)},(B,z)=>{let T=z+1;return M("input",{type:"radio",name:Q,class:`mask ${Y}`,checked:()=>Math.round(q(G))===T,onchange:()=>{if(!q(L)){if(typeof X==="function")X(T);else if(typeof G==="function")G(T)}}})}))};var sM={};U(sM,{Select:()=>nM});var nM=(Z)=>{let{class:K,label:G,items:J,value:Y,...L}=Z,X=M("select",{...L,class:_("select select-bordered w-full",K),value:Y},O(()=>q(J)||[],(W)=>M("option",{value:W.value,$selected:()=>String(q(Y))===String(W.value)},W.label),(W)=>W.value));if(!G)return X;return M("label",{class:"fieldset-label flex flex-col gap-1"},[M("span",{},G),X])};var eM={};U(eM,{Stack:()=>tM});var tM=(Z,K)=>{let{class:G,...J}=Z;return M("div",{...J,class:_("stack",G)},K)};var JJ={};U(JJ,{Stat:()=>MJ});var MJ=(Z)=>{let{class:K,icon:G,label:J,value:Y,desc:L,...X}=Z;return M("div",{...X,class:_("stat",K)},[G&&M("div",{class:"stat-figure text-secondary"},G),J&&M("div",{class:"stat-title"},J),M("div",{class:"stat-value"},()=>q(Y)??Y),L&&M("div",{class:"stat-desc"},L)])};var ZJ={};U(ZJ,{Swap:()=>WJ});var WJ=(Z)=>{let{class:K,value:G,on:J,off:Y,...L}=Z;return M("label",{...L,class:_("swap",K)},[M("input",{type:"checkbox",checked:()=>q(G),onclick:(X)=>{if(typeof G==="function")G(X.target.checked)}}),M("div",{class:"swap-on"},J),M("div",{class:"swap-off"},Y)])};var GJ={};U(GJ,{Table:()=>XJ});var XJ=(Z)=>{let{class:K,items:G=[],columns:J=[],keyFn:Y,zebra:L=!1,pinRows:X=!1,empty:W=k("nodata")(),...Q}=Z,B=()=>{let T=q(L)?"table-zebra":"",P=q(X)?"table-pin-rows":"";return _("table",K,T,P)},z=Y||((T,P)=>T.id||P);return M("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[M("table",{...Q,class:B},[M("thead",{},[M("tr",{},J.map((T)=>M("th",{class:T.class||""},T.label)))]),M("tbody",{},[O(G,(T,P)=>{let R=()=>{let A=q(G),D=z(T,P);return A.find((E,d)=>z(E,d)===D)||T};return M("tr",{class:"hover"},J.map((A)=>{let D=()=>{let E=R();if(A.render)return A.render(E,P);return q(E[A.key])};return M("td",{class:A.class||""},[D])}))},z),N(()=>q(G).length===0,()=>M("tr",{},[M("td",{colspan:J.length,class:"text-center p-10 opacity-50"},[q(W)])]))])])])};var YJ={};U(YJ,{Tabs:()=>KJ});var KJ=(Z)=>{let{items:K,class:G,...J}=Z,Y=typeof K==="function"?K:()=>K||[],L=H(0);return $watch(()=>{let X=Y().findIndex((W)=>q(W.active)===!0);if(X!==-1&&X!==L())L(X)}),M("div",{...J,class:"w-full"},[M("div",{role:"tablist",class:_("tabs",G||"tabs-box")},()=>{return Y().map((W,Q)=>{let B=()=>L()===Q,z=M("button",{role:"tab",class:()=>_("tab",B()?"tab-active":""),onclick:(T)=>{if(T.preventDefault(),!q(W.disabled)){if(W.onclick)W.onclick();L(Q)}}});return $watch(()=>{let T=q(W.label);if(T instanceof Node)z.replaceChildren(T);else z.textContent=String(T)}),z})}),M("div",{class:"tab-panels"},()=>{return Y().map((X,W)=>{let Q=()=>L()===W;return M("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>Q()?"display: block":"display: none"},[()=>typeof X.content==="function"?X.content():X.content])})})])};var LJ={};U(LJ,{Timeline:()=>QJ});var QJ=(Z)=>{let{class:K,items:G=[],vertical:J=!0,compact:Y=!1,...L}=Z,X={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return M("ul",{...L,class:()=>_(`timeline ${q(J)?"timeline-vertical":"timeline-horizontal"} ${q(Y)?"timeline-compact":""}`,K)},()=>{let W=(typeof G==="function"?G():G)||[];return W.map((Q,B)=>{let z=B===0,T=B===W.length-1,P=Q.type||"success",R=()=>q(Q.completed),A=()=>B>0&&q(W[B-1].completed),D=(E)=>typeof E==="function"?E():E;return M("li",{class:"flex-1"},[!z?M("hr",{class:()=>A()?"bg-primary":""}):null,M("div",{class:"timeline-start"},[()=>D(Q.title)]),M("div",{class:"timeline-middle"},[()=>Q.icon?V(Q.icon):V(X[P]||X.success)]),M("div",{class:"timeline-end timeline-box shadow-sm"},[()=>D(Q.detail)]),!T?M("hr",{class:()=>R()?"bg-primary":""}):null])})})};var qJ={};U(qJ,{Toast:()=>BJ});var BJ=(Z,K="alert-success",G=3500)=>{let J=document.getElementById("sigpro-toast-container");if(!J)J=M("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(J);let Y=M("div",{style:"display: contents"});J.appendChild(Y);let L,X=()=>{clearTimeout(L);let B=Y.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(Q.destroy(),Y.remove(),!J.hasChildNodes())J.remove()},300);else Q.destroy(),Y.remove()},Q=GM(()=>{let B=V("icon-[lucide--x]"),z=M("div",{class:`alert alert-soft ${K} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[M("span",{},[typeof Z==="function"?Z():Z]),u({class:"btn-xs btn-circle btn-ghost",onclick:X},B)]);return requestAnimationFrame(()=>z.classList.remove("translate-x-10","opacity-0")),z},Y);if(G>0)L=setTimeout(X,G);return X};var _J={};U(_J,{Tooltip:()=>AJ});var AJ=(Z,K)=>M("div",{...Z,class:()=>_("tooltip",Z.ui,Z.class),"data-tip":Z.tip},K);var zJ={...YM,...LM,...AM,...PM,...TM,...zM,...DM,...UM,...VM,...EM,...OM,...IM,...kM,...fM,...BM,...$M,...bM,...hM,...uM,...pM,...oM,...rM,...lM,...sM,...eM,...JJ,...ZJ,...GJ,...YJ,...LJ,...qJ,..._J},IJ={...zJ,install:(Z=window)=>{Object.entries(zJ).forEach(([K,G])=>{Z[K]=G}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(l).forEach(([Z,K])=>{window[Z]=K}),window.Utils=a,window.tt=k,window.SigProUI={...l,Utils:a,tt:k},console.log("\uD83C\uDFA8 SigProUI ready");})();