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