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