diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index ff00a00..c3e52bc 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -31,6 +31,8 @@ __export(exports_sigpro_components, { Swap: () => Swap, Steps: () => Steps, Step: () => Step, + Stats: () => Stats, + Stat: () => Stat, Stack: () => Stack, SkeletonText: () => SkeletonText, Skeleton: () => Skeleton, @@ -1033,6 +1035,12 @@ var Select = (p2, c) => { var Skeleton = (p2) => O("div", { ...p2, class: cls("skeleton", p2.class) }); var SkeletonText = (p2) => O("span", { ...p2, class: cls("skeleton skeleton-text", p2.class) }); var Stack = (p2, c) => O("div", { ...p2, class: cls("stack", p2.class) }, c); +var Stats = (p2, c) => O("div", { ...p2, class: cls("stats shadow", p2.class) }, c); +var Stat = (p2) => O("div", { ...p2, class: cls("stat", p2.class) }, [ + p2.title ? O("div", { class: "stat-title" }, p2.title) : null, + p2.value ? O("div", { class: "stat-value" }, p2.value) : null, + p2.desc ? O("div", { class: "stat-desc" }, p2.desc) : null +]); var Steps = (p2, c) => O("ul", { ...p2, class: cls("steps", p2.class) }, c); var Step = (p2, c) => O("li", { ...p2, class: cls("step", p2.class), "data-content": p2.dataContent }, c); var Swap = (p2, c) => O("label", { ...p2, class: cls("swap", p2.class) }, c); diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index b4c8304..8c4dd36 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1 +1 @@ -var Jt=Object.defineProperty;var Rt=(t)=>t;function Wt(t,r){this[t]=Rt.bind(null,r)}var qt=(t,r)=>{for(var e in r)Jt(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Wt.bind(r,e)})};var lt={};qt(lt,{Tooltip:()=>Ur,Toggle:()=>Qr,Toast:()=>Mr,Timeline:()=>Xr,Textrotate:()=>Br,Textarea:()=>zr,Tabs:()=>Pr,TableItems:()=>Kr,Table:()=>Gr,SwapToggle:()=>Ct,SwapOn:()=>kt,SwapOff:()=>jt,Swap:()=>Tt,Steps:()=>Wr,Step:()=>qr,Stack:()=>Rr,SkeletonText:()=>Jr,Skeleton:()=>Or,Select:()=>xr,RatingItems:()=>Lr,Rating:()=>gr,Range:()=>Ar,Radio:()=>$r,Radial:()=>jr,Progress:()=>kr,Navbar:()=>Cr,Modal:()=>Tr,Menu:()=>Sr,Loading:()=>Nr,ListRows:()=>Er,List:()=>br,Kbd:()=>wr,Input:()=>St,Indicator:()=>yr,Icon:()=>c,Fileinput:()=>dr,Fieldset:()=>_r,Fab:()=>ir,DropdownContent:()=>H,DropdownButton:()=>Nt,Dropdown:()=>V,DrawerToggle:()=>lr,DrawerSide:()=>ur,DrawerOverlay:()=>ar,DrawerContent:()=>fr,Drawer:()=>or,Divider:()=>sr,Datepicker:()=>er,Colorpicker:()=>nr,ColorPalette:()=>Et,Checkbox:()=>rr,ChatImage:()=>tr,ChatHeader:()=>pt,ChatFooter:()=>ht,ChatBubble:()=>vt,Chat:()=>Ft,CarouselItem:()=>Dt,Carousel:()=>Ht,CardTitle:()=>It,CardBody:()=>ct,CardActions:()=>Vt,Card:()=>mt,Calendar:()=>bt,Button:()=>wt,Badge:()=>Yt,Autocomplete:()=>Zt,Alert:()=>Ut,Accordion:()=>Qt});var x=(t)=>typeof t==="function",rt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,ut=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,at=new WeakMap,p=Symbol("iter"),tt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Gt=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},it=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Kt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)it()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(it)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},_t=(t)=>{if(!rt(t))return t;let r=at.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return _t(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(p),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(p),!0);return u},ownKeys(a){return L(l(p)),Reflect.ownKeys(a)}});return at.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Gt(()=>r(l))});return e(),()=>G(e)},nt=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>nt(r))},Pt=/^\s*(javascript|data|vbscript):/i,zt=(t)=>t==="src"||t==="href"||t.startsWith("on"),st=(t,r)=>{if(r==null||r===!1)return null;if(zt(t)){let e=String(r);if(Pt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!rt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(rt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=st(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=st(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(ut);s.forEach((N)=>{if(N._isRuntime)N.destroy();else nt(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=ut(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),nt(o),o.remove()}}},et=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},Bt=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xt=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},ot=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(tt.has(e))tt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),tt.set(e,l),l},Mt=Object.freeze({$:T,$$:_t,watch:K,h:n,when:et,each:W,fx:Bt,router:X,req:Xt,mount:ot,batch:Kt});if(typeof window<"u")Object.assign(window,Mt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",dt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),yt=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Qt=(t)=>{let r=t.name||yt("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Ut=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Zt=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>dt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},St({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Yt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),wt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),bt=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Lt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),xt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Ot=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ft)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},mt=(t,r)=>n("div",{...t,class:_("card",t.class)},r),It=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),ct=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),Vt=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),Ht=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),Dt=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),Ft=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),vt=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),ht=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),rr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),nr=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Nt({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Et({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Et=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},er=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},bt({value:t.value,range:e(),hour:t.hour,onChange:l}))])},or=(t,r)=>div({...t,class:_("drawer",t.class)},r),lr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),fr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),ur=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),ar=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),sr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Nt=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),ir=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),_r=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),dr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),et(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),yr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),St=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?Tt({class:"ml-2"},[Ct({value:b,class:"swap-rotate"}),kt({},c("icon-[lucide--eye]")),jt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},wr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),br=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Er=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),Nr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Sr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},Tr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||wt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Cr=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),kr=(t)=>n("progress",{...t,class:_("progress",t.class)}),jr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),$r=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),Ar=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),gr=(t,r)=>n("div",{...t,class:"rating"},r),Lr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),xr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},Or=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Jr=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Wr=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),qr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),Tt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),Ct=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),kt=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),jt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Gr=(t,r)=>n("table",{...t,class:_("table",t.class)},r),Kr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Pr=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},zr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Br=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),Xr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Mr=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=ot(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Qr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),Ur=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var Zr={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"}},$t=T("es"),At=(t)=>$t(t),gt=(t)=>()=>Zr[$t()][t]||t;var Yr={...lt},mr={Locale:At,tt:gt};if(typeof window<"u")Object.entries({...Yr,...mr}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");export{mr as Utils,Yr as Components}; +var Jt=Object.defineProperty;var Rt=(t)=>t;function Wt(t,r){this[t]=Rt.bind(null,r)}var qt=(t,r)=>{for(var e in r)Jt(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Wt.bind(r,e)})};var lt={};qt(lt,{Tooltip:()=>Yr,Toggle:()=>Zr,Toast:()=>Ur,Timeline:()=>Qr,Textrotate:()=>Mr,Textarea:()=>Xr,Tabs:()=>Br,TableItems:()=>zr,Table:()=>Pr,SwapToggle:()=>Ct,SwapOn:()=>kt,SwapOff:()=>jt,Swap:()=>Tt,Steps:()=>Gr,Step:()=>Kr,Stats:()=>Wr,Stat:()=>qr,Stack:()=>Rr,SkeletonText:()=>Jr,Skeleton:()=>Or,Select:()=>xr,RatingItems:()=>Lr,Rating:()=>gr,Range:()=>Ar,Radio:()=>$r,Radial:()=>jr,Progress:()=>kr,Navbar:()=>Cr,Modal:()=>Tr,Menu:()=>Sr,Loading:()=>Nr,ListRows:()=>Er,List:()=>br,Kbd:()=>wr,Input:()=>St,Indicator:()=>yr,Icon:()=>c,Fileinput:()=>dr,Fieldset:()=>_r,Fab:()=>ir,DropdownContent:()=>H,DropdownButton:()=>Nt,Dropdown:()=>V,DrawerToggle:()=>lr,DrawerSide:()=>ur,DrawerOverlay:()=>ar,DrawerContent:()=>fr,Drawer:()=>or,Divider:()=>sr,Datepicker:()=>er,Colorpicker:()=>nr,ColorPalette:()=>Et,Checkbox:()=>rr,ChatImage:()=>tr,ChatHeader:()=>pt,ChatFooter:()=>ht,ChatBubble:()=>vt,Chat:()=>Ft,CarouselItem:()=>Dt,Carousel:()=>Ht,CardTitle:()=>It,CardBody:()=>ct,CardActions:()=>Vt,Card:()=>mt,Calendar:()=>bt,Button:()=>wt,Badge:()=>Yt,Autocomplete:()=>Zt,Alert:()=>Ut,Accordion:()=>Qt});var x=(t)=>typeof t==="function",rt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,ut=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,at=new WeakMap,p=Symbol("iter"),tt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Gt=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},it=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Kt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)it()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(it)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},_t=(t)=>{if(!rt(t))return t;let r=at.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return _t(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(p),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(p),!0);return u},ownKeys(a){return L(l(p)),Reflect.ownKeys(a)}});return at.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Gt(()=>r(l))});return e(),()=>G(e)},nt=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>nt(r))},Pt=/^\s*(javascript|data|vbscript):/i,zt=(t)=>t==="src"||t==="href"||t.startsWith("on"),st=(t,r)=>{if(r==null||r===!1)return null;if(zt(t)){let e=String(r);if(Pt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!rt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(rt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=st(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=st(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(ut);s.forEach((N)=>{if(N._isRuntime)N.destroy();else nt(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=ut(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),nt(o),o.remove()}}},et=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},Bt=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xt=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},ot=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(tt.has(e))tt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),tt.set(e,l),l},Mt=Object.freeze({$:T,$$:_t,watch:K,h:n,when:et,each:W,fx:Bt,router:X,req:Xt,mount:ot,batch:Kt});if(typeof window<"u")Object.assign(window,Mt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",dt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),yt=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Qt=(t)=>{let r=t.name||yt("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Ut=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Zt=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>dt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},St({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Yt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),wt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),bt=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Lt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),xt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Ot=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ft)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},mt=(t,r)=>n("div",{...t,class:_("card",t.class)},r),It=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),ct=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),Vt=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),Ht=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),Dt=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),Ft=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),vt=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),ht=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),rr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),nr=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Nt({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Et({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Et=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},er=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},bt({value:t.value,range:e(),hour:t.hour,onChange:l}))])},or=(t,r)=>div({...t,class:_("drawer",t.class)},r),lr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),fr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),ur=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),ar=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),sr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Nt=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),ir=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),_r=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),dr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),et(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),yr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),St=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?Tt({class:"ml-2"},[Ct({value:b,class:"swap-rotate"}),kt({},c("icon-[lucide--eye]")),jt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},wr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),br=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Er=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),Nr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Sr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},Tr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||wt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Cr=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),kr=(t)=>n("progress",{...t,class:_("progress",t.class)}),jr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),$r=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),Ar=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),gr=(t,r)=>n("div",{...t,class:"rating"},r),Lr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),xr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},Or=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Jr=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Wr=(t,r)=>n("div",{...t,class:_("stats shadow",t.class)},r),qr=(t)=>n("div",{...t,class:_("stat",t.class)},[t.title?n("div",{class:"stat-title"},t.title):null,t.value?n("div",{class:"stat-value"},t.value):null,t.desc?n("div",{class:"stat-desc"},t.desc):null]),Gr=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),Kr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),Tt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),Ct=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),kt=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),jt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Pr=(t,r)=>n("table",{...t,class:_("table",t.class)},r),zr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Br=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},Xr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Mr=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),Qr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Ur=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=ot(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Zr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),Yr=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var mr={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"}},$t=T("es"),At=(t)=>$t(t),gt=(t)=>()=>mr[$t()][t]||t;var Ir={...lt},cr={Locale:At,tt:gt};if(typeof window<"u")Object.entries({...Ir,...cr}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");export{cr as Utils,Ir as Components}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index cfd8fa2..afffe21 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -62,6 +62,8 @@ Swap: () => Swap, Steps: () => Steps, Step: () => Step, + Stats: () => Stats, + Stat: () => Stat, Stack: () => Stack, SkeletonText: () => SkeletonText, Skeleton: () => Skeleton, @@ -1064,6 +1066,12 @@ var Skeleton = (p2) => O("div", { ...p2, class: cls("skeleton", p2.class) }); var SkeletonText = (p2) => O("span", { ...p2, class: cls("skeleton skeleton-text", p2.class) }); var Stack = (p2, c) => O("div", { ...p2, class: cls("stack", p2.class) }, c); + var Stats = (p2, c) => O("div", { ...p2, class: cls("stats shadow", p2.class) }, c); + var Stat = (p2) => O("div", { ...p2, class: cls("stat", p2.class) }, [ + p2.title ? O("div", { class: "stat-title" }, p2.title) : null, + p2.value ? O("div", { class: "stat-value" }, p2.value) : null, + p2.desc ? O("div", { class: "stat-desc" }, p2.desc) : null + ]); var Steps = (p2, c) => O("ul", { ...p2, class: cls("steps", p2.class) }, c); var Step = (p2, c) => O("li", { ...p2, class: cls("step", p2.class), "data-content": p2.dataContent }, c); var Swap = (p2, c) => O("label", { ...p2, class: cls("swap", p2.class) }, c); diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 831220d..eb88bbc 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:p,getOwnPropertyNames:Kt,getOwnPropertyDescriptor:Pt}=Object,zt=Object.prototype.hasOwnProperty;function Bt(t){return this[t]}var Xt=(t)=>{var r=(at??=new WeakMap).get(t),e;if(r)return r;if(r=p({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var l of Kt(t))if(!zt.call(r,l))p(r,l,{get:Bt.bind(t,l),enumerable:!(e=Pt(t,l))||e.enumerable})}return at.set(t,r),r},at;var Mt=(t)=>t;function Qt(t,r){this[t]=Mt.bind(null,r)}var st=(t,r)=>{for(var e in r)p(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Qt.bind(r,e)})};var vr={};st(vr,{Utils:()=>Rt,Components:()=>Jt});var ft={};st(ft,{Tooltip:()=>Dr,Toggle:()=>Hr,Toast:()=>Vr,Timeline:()=>cr,Textrotate:()=>Ir,Textarea:()=>mr,Tabs:()=>Yr,TableItems:()=>Zr,Table:()=>Ur,SwapToggle:()=>$t,SwapOn:()=>At,SwapOff:()=>gt,Swap:()=>jt,Steps:()=>Mr,Step:()=>Qr,Stack:()=>Xr,SkeletonText:()=>Br,Skeleton:()=>zr,Select:()=>Pr,RatingItems:()=>Kr,Rating:()=>Gr,Range:()=>qr,Radio:()=>Wr,Radial:()=>Rr,Progress:()=>Jr,Navbar:()=>Or,Modal:()=>xr,Menu:()=>Lr,Loading:()=>gr,ListRows:()=>Ar,List:()=>$r,Kbd:()=>jr,Input:()=>kt,Indicator:()=>kr,Icon:()=>c,Fileinput:()=>Cr,Fieldset:()=>Tr,Fab:()=>Sr,DropdownContent:()=>H,DropdownButton:()=>Ct,Dropdown:()=>V,DrawerToggle:()=>yr,DrawerSide:()=>br,DrawerOverlay:()=>Er,DrawerContent:()=>wr,Drawer:()=>dr,Divider:()=>Nr,Datepicker:()=>_r,Colorpicker:()=>ir,ColorPalette:()=>Tt,Checkbox:()=>sr,ChatImage:()=>ar,ChatHeader:()=>ur,ChatFooter:()=>fr,ChatBubble:()=>lr,Chat:()=>or,CarouselItem:()=>er,Carousel:()=>nr,CardTitle:()=>pt,CardBody:()=>tr,CardActions:()=>rr,Card:()=>ht,Calendar:()=>St,Button:()=>Nt,Badge:()=>vt,Autocomplete:()=>Ft,Alert:()=>Dt,Accordion:()=>Ht});var x=(t)=>typeof t==="function",nt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,it=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,_t=new WeakMap,tt=Symbol("iter"),rt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Ut=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},yt=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Zt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)yt()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(yt)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},wt=(t)=>{if(!nt(t))return t;let r=_t.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return wt(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(tt),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(tt),!0);return u},ownKeys(a){return L(l(tt)),Reflect.ownKeys(a)}});return _t.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Ut(()=>r(l))});return e(),()=>G(e)},et=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>et(r))},Yt=/^\s*(javascript|data|vbscript):/i,mt=(t)=>t==="src"||t==="href"||t.startsWith("on"),dt=(t,r)=>{if(r==null||r===!1)return null;if(mt(t)){let e=String(r);if(Yt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!nt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(nt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=dt(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=dt(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(it);s.forEach((N)=>{if(N._isRuntime)N.destroy();else et(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=it(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),et(o),o.remove()}}},ot=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},It=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var ct=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},lt=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(rt.has(e))rt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),rt.set(e,l),l},Vt=Object.freeze({$:T,$$:wt,watch:K,h:n,when:ot,each:W,fx:It,router:X,req:ct,mount:lt,batch:Zt});if(typeof window<"u")Object.assign(window,Vt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",bt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),Et=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Ht=(t)=>{let r=t.name||Et("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Dt=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Ft=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>bt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},kt({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},vt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),Nt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),St=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Wt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),qt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Gt=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ut)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},ht=(t,r)=>n("div",{...t,class:_("card",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),rr=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),nr=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),er=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),or=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),lr=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),fr=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),ur=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),ar=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),sr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),ir=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Ct({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Tt({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Tt=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},_r=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},St({value:t.value,range:e(),hour:t.hour,onChange:l}))])},dr=(t,r)=>div({...t,class:_("drawer",t.class)},r),yr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),wr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),br=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),Er=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),Nr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Ct=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),Sr=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),Tr=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),Cr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),ot(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),kr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),kt=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?jt({class:"ml-2"},[$t({value:b,class:"swap-rotate"}),At({},c("icon-[lucide--eye]")),gt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},jr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),$r=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Ar=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),gr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Lr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},xr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||Nt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Or=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),Jr=(t)=>n("progress",{...t,class:_("progress",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),Wr=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),qr=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),Gr=(t,r)=>n("div",{...t,class:"rating"},r),Kr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),Pr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},zr=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Br=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Xr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Mr=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),Qr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),jt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),$t=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),At=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),gt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Ur=(t,r)=>n("table",{...t,class:_("table",t.class)},r),Zr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Yr=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},mr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Ir=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),cr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Vr=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=lt(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Hr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),Dr=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var Fr={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"}},Lt=T("es"),xt=(t)=>Lt(t),Ot=(t)=>()=>Fr[Lt()][t]||t;var Jt={...ft},Rt={Locale:xt,tt:Ot};if(typeof window<"u")Object.entries({...Jt,...Rt}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); +(()=>{var{defineProperty:p,getOwnPropertyNames:Kt,getOwnPropertyDescriptor:Pt}=Object,zt=Object.prototype.hasOwnProperty;function Bt(t){return this[t]}var Xt=(t)=>{var r=(at??=new WeakMap).get(t),e;if(r)return r;if(r=p({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var l of Kt(t))if(!zt.call(r,l))p(r,l,{get:Bt.bind(t,l),enumerable:!(e=Pt(t,l))||e.enumerable})}return at.set(t,r),r},at;var Mt=(t)=>t;function Qt(t,r){this[t]=Mt.bind(null,r)}var st=(t,r)=>{for(var e in r)p(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Qt.bind(r,e)})};var pr={};st(pr,{Utils:()=>Rt,Components:()=>Jt});var ft={};st(ft,{Tooltip:()=>vr,Toggle:()=>Fr,Toast:()=>Dr,Timeline:()=>Hr,Textrotate:()=>Vr,Textarea:()=>cr,Tabs:()=>Ir,TableItems:()=>mr,Table:()=>Yr,SwapToggle:()=>$t,SwapOn:()=>At,SwapOff:()=>gt,Swap:()=>jt,Steps:()=>Ur,Step:()=>Zr,Stats:()=>Mr,Stat:()=>Qr,Stack:()=>Xr,SkeletonText:()=>Br,Skeleton:()=>zr,Select:()=>Pr,RatingItems:()=>Kr,Rating:()=>Gr,Range:()=>qr,Radio:()=>Wr,Radial:()=>Rr,Progress:()=>Jr,Navbar:()=>Or,Modal:()=>xr,Menu:()=>Lr,Loading:()=>gr,ListRows:()=>Ar,List:()=>$r,Kbd:()=>jr,Input:()=>kt,Indicator:()=>kr,Icon:()=>c,Fileinput:()=>Cr,Fieldset:()=>Tr,Fab:()=>Sr,DropdownContent:()=>H,DropdownButton:()=>Ct,Dropdown:()=>V,DrawerToggle:()=>yr,DrawerSide:()=>br,DrawerOverlay:()=>Er,DrawerContent:()=>wr,Drawer:()=>dr,Divider:()=>Nr,Datepicker:()=>_r,Colorpicker:()=>ir,ColorPalette:()=>Tt,Checkbox:()=>sr,ChatImage:()=>ar,ChatHeader:()=>ur,ChatFooter:()=>fr,ChatBubble:()=>lr,Chat:()=>or,CarouselItem:()=>er,Carousel:()=>nr,CardTitle:()=>pt,CardBody:()=>tr,CardActions:()=>rr,Card:()=>ht,Calendar:()=>St,Button:()=>Nt,Badge:()=>vt,Autocomplete:()=>Ft,Alert:()=>Dt,Accordion:()=>Ht});var x=(t)=>typeof t==="function",nt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,it=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,_t=new WeakMap,tt=Symbol("iter"),rt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Ut=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},yt=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Zt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)yt()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(yt)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},wt=(t)=>{if(!nt(t))return t;let r=_t.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return wt(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(tt),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(tt),!0);return u},ownKeys(a){return L(l(tt)),Reflect.ownKeys(a)}});return _t.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Ut(()=>r(l))});return e(),()=>G(e)},et=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>et(r))},Yt=/^\s*(javascript|data|vbscript):/i,mt=(t)=>t==="src"||t==="href"||t.startsWith("on"),dt=(t,r)=>{if(r==null||r===!1)return null;if(mt(t)){let e=String(r);if(Yt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!nt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(nt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=dt(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=dt(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(it);s.forEach((N)=>{if(N._isRuntime)N.destroy();else et(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=it(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),et(o),o.remove()}}},ot=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},It=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var ct=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},lt=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(rt.has(e))rt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),rt.set(e,l),l},Vt=Object.freeze({$:T,$$:wt,watch:K,h:n,when:ot,each:W,fx:It,router:X,req:ct,mount:lt,batch:Zt});if(typeof window<"u")Object.assign(window,Vt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",bt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),Et=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Ht=(t)=>{let r=t.name||Et("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Dt=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Ft=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>bt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},kt({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},vt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),Nt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),St=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Wt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),qt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Gt=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ut)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},ht=(t,r)=>n("div",{...t,class:_("card",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),rr=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),nr=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),er=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),or=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),lr=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),fr=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),ur=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),ar=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),sr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),ir=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Ct({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Tt({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Tt=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},_r=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},St({value:t.value,range:e(),hour:t.hour,onChange:l}))])},dr=(t,r)=>div({...t,class:_("drawer",t.class)},r),yr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),wr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),br=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),Er=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),Nr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Ct=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),Sr=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),Tr=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),Cr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),ot(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),kr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),kt=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?jt({class:"ml-2"},[$t({value:b,class:"swap-rotate"}),At({},c("icon-[lucide--eye]")),gt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},jr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),$r=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Ar=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),gr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Lr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},xr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||Nt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Or=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),Jr=(t)=>n("progress",{...t,class:_("progress",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),Wr=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),qr=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),Gr=(t,r)=>n("div",{...t,class:"rating"},r),Kr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),Pr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},zr=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Br=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Xr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Mr=(t,r)=>n("div",{...t,class:_("stats shadow",t.class)},r),Qr=(t)=>n("div",{...t,class:_("stat",t.class)},[t.title?n("div",{class:"stat-title"},t.title):null,t.value?n("div",{class:"stat-value"},t.value):null,t.desc?n("div",{class:"stat-desc"},t.desc):null]),Ur=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),Zr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),jt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),$t=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),At=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),gt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Yr=(t,r)=>n("table",{...t,class:_("table",t.class)},r),mr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Ir=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},cr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Vr=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),Hr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Dr=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=lt(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Fr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),vr=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var hr={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"}},Lt=T("es"),xt=(t)=>Lt(t),Ot=(t)=>()=>hr[Lt()][t]||t;var Jt={...ft},Rt={Locale:xt,tt:Ot};if(typeof window<"u")Object.entries({...Jt,...Rt}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); diff --git a/docs/demo_display.md b/docs/demo_display.md index d0bfb12..56a8f78 100644 --- a/docs/demo_display.md +++ b/docs/demo_display.md @@ -77,16 +77,13 @@ mount(
```js -// Stat is a simple wrapper for the DaisyUI stat component -const Stat = (p, c) => div({ ...p, class: cls('stat', p.class) }, c) - mount( - div({ class: 'stats shadow' }, - Stat({ class: 'stat' }, [ - div({ class: 'stat-title' }, 'Total Downloads'), - div({ class: 'stat-value' }, '12.5K'), - div({ class: 'stat-desc' }, '21% more than last month') - ]) + Stats({}, + Stat({ + title: 'Total Downloads', + value: '12.5K', + desc: '21% more than last month' + }) ), '#demo-stat' ) diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 831220d..eb88bbc 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:p,getOwnPropertyNames:Kt,getOwnPropertyDescriptor:Pt}=Object,zt=Object.prototype.hasOwnProperty;function Bt(t){return this[t]}var Xt=(t)=>{var r=(at??=new WeakMap).get(t),e;if(r)return r;if(r=p({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var l of Kt(t))if(!zt.call(r,l))p(r,l,{get:Bt.bind(t,l),enumerable:!(e=Pt(t,l))||e.enumerable})}return at.set(t,r),r},at;var Mt=(t)=>t;function Qt(t,r){this[t]=Mt.bind(null,r)}var st=(t,r)=>{for(var e in r)p(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Qt.bind(r,e)})};var vr={};st(vr,{Utils:()=>Rt,Components:()=>Jt});var ft={};st(ft,{Tooltip:()=>Dr,Toggle:()=>Hr,Toast:()=>Vr,Timeline:()=>cr,Textrotate:()=>Ir,Textarea:()=>mr,Tabs:()=>Yr,TableItems:()=>Zr,Table:()=>Ur,SwapToggle:()=>$t,SwapOn:()=>At,SwapOff:()=>gt,Swap:()=>jt,Steps:()=>Mr,Step:()=>Qr,Stack:()=>Xr,SkeletonText:()=>Br,Skeleton:()=>zr,Select:()=>Pr,RatingItems:()=>Kr,Rating:()=>Gr,Range:()=>qr,Radio:()=>Wr,Radial:()=>Rr,Progress:()=>Jr,Navbar:()=>Or,Modal:()=>xr,Menu:()=>Lr,Loading:()=>gr,ListRows:()=>Ar,List:()=>$r,Kbd:()=>jr,Input:()=>kt,Indicator:()=>kr,Icon:()=>c,Fileinput:()=>Cr,Fieldset:()=>Tr,Fab:()=>Sr,DropdownContent:()=>H,DropdownButton:()=>Ct,Dropdown:()=>V,DrawerToggle:()=>yr,DrawerSide:()=>br,DrawerOverlay:()=>Er,DrawerContent:()=>wr,Drawer:()=>dr,Divider:()=>Nr,Datepicker:()=>_r,Colorpicker:()=>ir,ColorPalette:()=>Tt,Checkbox:()=>sr,ChatImage:()=>ar,ChatHeader:()=>ur,ChatFooter:()=>fr,ChatBubble:()=>lr,Chat:()=>or,CarouselItem:()=>er,Carousel:()=>nr,CardTitle:()=>pt,CardBody:()=>tr,CardActions:()=>rr,Card:()=>ht,Calendar:()=>St,Button:()=>Nt,Badge:()=>vt,Autocomplete:()=>Ft,Alert:()=>Dt,Accordion:()=>Ht});var x=(t)=>typeof t==="function",nt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,it=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,_t=new WeakMap,tt=Symbol("iter"),rt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Ut=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},yt=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Zt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)yt()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(yt)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},wt=(t)=>{if(!nt(t))return t;let r=_t.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return wt(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(tt),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(tt),!0);return u},ownKeys(a){return L(l(tt)),Reflect.ownKeys(a)}});return _t.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Ut(()=>r(l))});return e(),()=>G(e)},et=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>et(r))},Yt=/^\s*(javascript|data|vbscript):/i,mt=(t)=>t==="src"||t==="href"||t.startsWith("on"),dt=(t,r)=>{if(r==null||r===!1)return null;if(mt(t)){let e=String(r);if(Yt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!nt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(nt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=dt(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=dt(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(it);s.forEach((N)=>{if(N._isRuntime)N.destroy();else et(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=it(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),et(o),o.remove()}}},ot=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},It=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var ct=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},lt=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(rt.has(e))rt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),rt.set(e,l),l},Vt=Object.freeze({$:T,$$:wt,watch:K,h:n,when:ot,each:W,fx:It,router:X,req:ct,mount:lt,batch:Zt});if(typeof window<"u")Object.assign(window,Vt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",bt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),Et=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Ht=(t)=>{let r=t.name||Et("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Dt=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Ft=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>bt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},kt({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},vt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),Nt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),St=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Wt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),qt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Gt=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ut)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},ht=(t,r)=>n("div",{...t,class:_("card",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),rr=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),nr=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),er=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),or=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),lr=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),fr=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),ur=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),ar=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),sr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),ir=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Ct({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Tt({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Tt=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},_r=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},St({value:t.value,range:e(),hour:t.hour,onChange:l}))])},dr=(t,r)=>div({...t,class:_("drawer",t.class)},r),yr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),wr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),br=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),Er=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),Nr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Ct=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),Sr=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),Tr=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),Cr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),ot(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),kr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),kt=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?jt({class:"ml-2"},[$t({value:b,class:"swap-rotate"}),At({},c("icon-[lucide--eye]")),gt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},jr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),$r=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Ar=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),gr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Lr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},xr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||Nt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Or=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),Jr=(t)=>n("progress",{...t,class:_("progress",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),Wr=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),qr=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),Gr=(t,r)=>n("div",{...t,class:"rating"},r),Kr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),Pr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},zr=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Br=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Xr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Mr=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),Qr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),jt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),$t=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),At=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),gt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Ur=(t,r)=>n("table",{...t,class:_("table",t.class)},r),Zr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Yr=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},mr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Ir=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),cr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Vr=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=lt(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Hr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),Dr=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var Fr={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"}},Lt=T("es"),xt=(t)=>Lt(t),Ot=(t)=>()=>Fr[Lt()][t]||t;var Jt={...ft},Rt={Locale:xt,tt:Ot};if(typeof window<"u")Object.entries({...Jt,...Rt}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); +(()=>{var{defineProperty:p,getOwnPropertyNames:Kt,getOwnPropertyDescriptor:Pt}=Object,zt=Object.prototype.hasOwnProperty;function Bt(t){return this[t]}var Xt=(t)=>{var r=(at??=new WeakMap).get(t),e;if(r)return r;if(r=p({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var l of Kt(t))if(!zt.call(r,l))p(r,l,{get:Bt.bind(t,l),enumerable:!(e=Pt(t,l))||e.enumerable})}return at.set(t,r),r},at;var Mt=(t)=>t;function Qt(t,r){this[t]=Mt.bind(null,r)}var st=(t,r)=>{for(var e in r)p(t,e,{get:r[e],enumerable:!0,configurable:!0,set:Qt.bind(r,e)})};var pr={};st(pr,{Utils:()=>Rt,Components:()=>Jt});var ft={};st(ft,{Tooltip:()=>vr,Toggle:()=>Fr,Toast:()=>Dr,Timeline:()=>Hr,Textrotate:()=>Vr,Textarea:()=>cr,Tabs:()=>Ir,TableItems:()=>mr,Table:()=>Yr,SwapToggle:()=>$t,SwapOn:()=>At,SwapOff:()=>gt,Swap:()=>jt,Steps:()=>Ur,Step:()=>Zr,Stats:()=>Mr,Stat:()=>Qr,Stack:()=>Xr,SkeletonText:()=>Br,Skeleton:()=>zr,Select:()=>Pr,RatingItems:()=>Kr,Rating:()=>Gr,Range:()=>qr,Radio:()=>Wr,Radial:()=>Rr,Progress:()=>Jr,Navbar:()=>Or,Modal:()=>xr,Menu:()=>Lr,Loading:()=>gr,ListRows:()=>Ar,List:()=>$r,Kbd:()=>jr,Input:()=>kt,Indicator:()=>kr,Icon:()=>c,Fileinput:()=>Cr,Fieldset:()=>Tr,Fab:()=>Sr,DropdownContent:()=>H,DropdownButton:()=>Ct,Dropdown:()=>V,DrawerToggle:()=>yr,DrawerSide:()=>br,DrawerOverlay:()=>Er,DrawerContent:()=>wr,Drawer:()=>dr,Divider:()=>Nr,Datepicker:()=>_r,Colorpicker:()=>ir,ColorPalette:()=>Tt,Checkbox:()=>sr,ChatImage:()=>ar,ChatHeader:()=>ur,ChatFooter:()=>fr,ChatBubble:()=>lr,Chat:()=>or,CarouselItem:()=>er,Carousel:()=>nr,CardTitle:()=>pt,CardBody:()=>tr,CardActions:()=>rr,Card:()=>ht,Calendar:()=>St,Button:()=>Nt,Badge:()=>vt,Autocomplete:()=>Ft,Alert:()=>Dt,Accordion:()=>Ht});var x=(t)=>typeof t==="function",nt=(t)=>t&&typeof t==="object",z=Array.isArray,O=typeof document<"u"?document:null,it=(t)=>t?._isRuntime?t.container:t instanceof Node?t:O.createTextNode(t==null?"":String(t)),C=null,A=null,Q=!1,Z=0,Y=new Set,_t=new WeakMap,tt=Symbol("iter"),rt=new WeakMap,G=(t)=>{if(!t||t._disposed)return;t._disposed=!0;let r=[t];while(r.length){let e=r.pop();if(e._cleanups)e._cleanups.forEach((l)=>l()),e._cleanups.clear();if(e._children)e._children.forEach((l)=>r.push(l)),e._children.clear();if(e._deps)e._deps.forEach((l)=>l.delete(e)),e._deps.clear()}},B=(t)=>{if(A)(A._cleanups||=new Set).add(t)},Ut=(t)=>{let r=C;C=null;try{return t()}finally{C=r}},U=(t,r=!1)=>{let e=()=>{if(e._disposed)return;if(e._deps)e._deps.forEach((a)=>a.delete(e));if(e._cleanups)e._cleanups.forEach((a)=>a()),e._cleanups.clear();let l=C,o=A;C=A=e;try{return e._result=t()}catch(a){console.error("[SigPro]",a)}finally{C=l,A=o}};if(e._deps=e._cleanups=e._children=null,e._disposed=!1,e._isComputed=r,e._depth=C?C._depth+1:0,e._mounts=[],e._parent=A,A)(A._children||=new Set).add(e);return e},yt=()=>{if(Q)return;Q=!0;let t=Array.from(Y).sort((r,e)=>r._depth-e._depth);Y.clear();for(let r of t)if(!r._disposed)r();Q=!1},Zt=(t)=>{Z++;try{return t()}finally{if(Z--,Z===0&&Y.size>0&&!Q)yt()}},L=(t,r=!1)=>{if(!r&&C&&!C._disposed)t.add(C),(C._deps||=new Set).add(t);else if(r&&t.size>0){let e=!1;for(let l of t){if(l===C||l._disposed)continue;if(l._isComputed){if(l._dirty=!0,l._subs)L(l._subs,!0)}else Y.add(l),e=!0}if(e&&!Q&&Z===0)queueMicrotask(yt)}},T=(t,r=null)=>{let e=new Set;if(x(t)){let l,o=()=>{if(o._dirty){let a=C;C=o;try{let f=t();if(!Object.is(l,f))l=f,L(e,!0)}finally{C=a}o._dirty=!1}return L(e),l};if(o._isComputed=!0,o._subs=e,o._dirty=!0,o._deps=null,o._disposed=!1,o.stop=()=>{},A)B(o.stop);return o}if(r)try{t=JSON.parse(localStorage.getItem(r))??t}catch(l){}return(...l)=>{if(l.length){let o=x(l[0])?l[0](t):l[0];if(!Object.is(t,o)){if(t=o,r)localStorage.setItem(r,JSON.stringify(t));L(e,!0)}}return L(e),t}},wt=(t)=>{if(!nt(t))return t;let r=_t.get(t);if(r)return r;let e=new Map,l=(a)=>{let f=e.get(a);if(!f)e.set(a,f=new Set);return f},o=new Proxy(t,{get(a,f,u){if(typeof f!=="symbol")L(l(f));return wt(Reflect.get(a,f,u))},set(a,f,u,s){let i=Reflect.has(a,f),d=Reflect.get(a,f,s),w=Reflect.set(a,f,u,s);if(w&&!Object.is(d,u)){if(L(l(f),!0),!i)L(l(tt),!0)}return w},deleteProperty(a,f){let u=Reflect.deleteProperty(a,f);if(u)L(l(f),!0),L(l(tt),!0);return u},ownKeys(a){return L(l(tt)),Reflect.ownKeys(a)}});return _t.set(t,o),o},K=(t,r)=>{if(r===void 0){let l=U(t);return l(),()=>G(l)}let e=U(()=>{let l=Array.isArray(t)?t.map((o)=>o()):t();Ut(()=>r(l))});return e(),()=>G(e)},et=(t)=>{if(!t)return;if(t._cleanups)t._cleanups.forEach((r)=>r()),t._cleanups.clear();if(t._ownerEffect)G(t._ownerEffect);if(t.childNodes)t.childNodes.forEach((r)=>et(r))},Yt=/^\s*(javascript|data|vbscript):/i,mt=(t)=>t==="src"||t==="href"||t.startsWith("on"),dt=(t,r)=>{if(r==null||r===!1)return null;if(mt(t)){let e=String(r);if(Yt.test(e))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${t}`),"#"}return r},n=(t,r={},e=[])=>{if(r instanceof Node||z(r)||!nt(r))e=r,r={};if(x(t)){let f=U(()=>{let d=t(r,{children:e,emit:(w,...b)=>r[`on${w[0].toUpperCase()}${w.slice(1)}`]?.(...b)});return f._result=d,d});f();let u=f._result;if(u==null)return null;let s=u instanceof Node||z(u)&&u.every((d)=>d instanceof Node)?u:O.createTextNode(String(u)),i=(d)=>{if(nt(d)&&!d._isRuntime)d._mounts=f._mounts||[],d._cleanups=f._cleanups||new Set,d._ownerEffect=f};return z(s)?s.forEach(i):i(s),s}let l=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(t),o=l?O.createElementNS("http://www.w3.org/2000/svg",t):O.createElement(t);o._cleanups=new Set;for(let f in r){if(!r.hasOwnProperty(f))continue;let u=r[f];if(f==="ref"){x(u)?u(o):u.current=o;continue}if(l&&f.startsWith("xlink:")){u==null?o.removeAttributeNS("http://www.w3.org/1999/xlink",f.slice(6)):o.setAttributeNS("http://www.w3.org/1999/xlink",f.slice(6),u);continue}if(f.startsWith("on")){let s=f.slice(2).toLowerCase();o.addEventListener(s,u);let i=()=>o.removeEventListener(s,u);o._cleanups.add(i),B(i)}else if(x(u)){let s=U(()=>{let i=dt(f,u());if(f==="class")o.className=i||"";else if(i==null)o.removeAttribute(f);else if(f in o&&!l)o[f]=i;else o.setAttribute(f,i===!0?"":i)});if(s(),o._cleanups.add(()=>G(s)),B(()=>G(s)),/^(INPUT|TEXTAREA|SELECT)$/.test(o.tagName)&&(f==="value"||f==="checked")){let i=f==="checked"?"change":"input";o.addEventListener(i,(d)=>u(d.target[f]))}}else{let s=dt(f,u);if(s!=null)if(f in o&&!l)o[f]=s;else o.setAttribute(f,s===!0?"":s)}}let a=(f)=>{if(z(f))return f.forEach(a);if(x(f)){let u=O.createTextNode("");o.appendChild(u);let s=[],i=U(()=>{let d=f(),w=(z(d)?d:[d]).map(it);s.forEach((N)=>{if(N._isRuntime)N.destroy();else et(N);if(N.parentNode)N.remove()});let b=u;for(let N=w.length-1;N>=0;N--){let y=w[N];if(y.parentNode!==b.parentNode)b.parentNode?.insertBefore(y,b);if(y._mounts)y._mounts.forEach((E)=>E());b=y}s=w});i(),o._cleanups.add(()=>G(i)),B(()=>G(i))}else{let u=it(f);if(o.appendChild(u),u._mounts)u._mounts.forEach((s)=>s())}};return a(e),o},m=(t)=>{let r=new Set,e=A,l=C,o=O.createElement("div");o.style.display="contents",o.setAttribute("role","presentation"),A={_cleanups:r},C=null;let a=(f)=>{if(!f)return;if(f._isRuntime)r.add(f.destroy),o.appendChild(f.container);else if(z(f))f.forEach(a);else o.appendChild(f instanceof Node?f:O.createTextNode(String(f==null?"":f)))};try{a(t({onCleanup:(f)=>r.add(f)}))}finally{A=e,C=l}return{_isRuntime:!0,container:o,destroy:()=>{r.forEach((f)=>f()),et(o),o.remove()}}},ot=(t,r,e=null)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=null;return K(()=>!!(x(t)?t():t),(f)=>{if(a)a.destroy(),a=null;let u=f?r:e;if(u)a=m(()=>x(u)?u():u),o.insertBefore(a.container,l)}),B(()=>a?.destroy()),o},It=({name:t,duration:r=200,scale:e,slide:l,rotate:o,blur:a},f)=>{let u=typeof f==="function"?f():f;if(!(u instanceof Node))return u;if(t)return u.style.animation=`${t}-in ${r}ms`,u;let s=e||l||o||a,i=[e?"scale(0.95)":"",l?"translateY(-10px)":"",o?"rotate(-2deg)":""].filter(Boolean).join(" ");if(u.style.transition=`all ${r}ms ease`,u.style.opacity="0",s)u.style.transform=i;if(a)u.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(u.style.opacity="1",s)u.style.transform="none";if(a)u.style.filter="none"}),u},W=(t,r,e)=>{let l=O.createTextNode(""),o=n("div",{style:"display:contents"},[l]),a=new Map;return K(()=>(x(t)?t():t)||[],(f)=>{let u=new Map,s=[],i=f||[];for(let w=0;wr(b,w));else a.delete(N);u.set(N,y),s.push(y)}a.forEach((w)=>w.destroy());let d=l;for(let w=s.length-1;w>=0;w--){let b=s[w].container;if(b.nextSibling!==d)o.insertBefore(b,d);d=b}a=u}),o},X=(t)=>{let r=()=>window.location.hash.slice(1)||"/",e=T(r()),l=()=>e(r());window.addEventListener("hashchange",l),B(()=>window.removeEventListener("hashchange",l));let o=n("div",{class:"router-hook"}),a=null;return K([e],()=>{let f=e(),u=t.find((s)=>{let i=s.path.split("/").filter(Boolean),d=f.split("/").filter(Boolean);return i.length===d.length&&i.every((w,b)=>w[0]===":"||w===d[b])})||t.find((s)=>s.path==="*");if(u){a?.destroy();let s={};u.path.split("/").filter(Boolean).forEach((i,d)=>{if(i[0]===":")s[i.slice(1)]=f.split("/").filter(Boolean)[d]}),X.params(s),a=m(()=>x(u.component)?u.component(s):u.component),o.replaceChildren(a.container)}}),o};X.params=T({});X.to=(t)=>window.location.hash=t.replace(/^#?\/?/,"#/");X.back=()=>window.history.back();X.path=()=>window.location.hash.replace(/^#/,"")||"/";var ct=({url:t,method:r="GET",headers:e={}})=>{let l=T(!1),o=T(null),a=T(null),f=null,u=null;return{run:async(s=null)=>{f?.abort(),clearTimeout(u),f=new AbortController,u=setTimeout(()=>f.abort(),1e4),l(!0),o(null);try{let i=s instanceof FormData,d=await fetch(t,{method:r,headers:i?e:{"Content-Type":"application/json",...e},body:i?s:s?JSON.stringify(s):void 0,signal:f.signal}),w=await d.text(),b=w?JSON.parse(w):null;if(!d.ok)throw Error(b?.message||d.statusText);return a(b),b}catch(i){if(i.name!=="AbortError")o(i.message);throw i}finally{l(!1),clearTimeout(u),f=null,u=null}},abort:()=>f?.abort(),loading:l,error:o,data:a}},lt=(t,r)=>{let e=typeof r==="string"?O.querySelector(r):r;if(!e)return;if(rt.has(e))rt.get(e).destroy();let l=m(x(t)?t:()=>t);return e.replaceChildren(l.container),rt.set(e,l),l},Vt=Object.freeze({$:T,$$:wt,watch:K,h:n,when:ot,each:W,fx:It,router:X,req:ct,mount:lt,batch:Zt});if(typeof window<"u")Object.assign(window,Vt),"a abbr article aside audio b blockquote br button canvas caption cite code col colgroup datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd label legend li main mark meter nav object ol optgroup option output p picture pre progress section select slot small source span strong sub summary sup svg table tbody td template textarea tfoot th thead time tr u ul video".split(" ").forEach((t)=>{window[t]=(r,e)=>n(t,r,e)});var S=(t)=>typeof t==="function"?t():t,R=(t,r="label")=>t&&typeof t==="object"?t[r]:t,_=(...t)=>t.filter(Boolean).join(" ").trim(),k=(t)=>typeof t==="function",bt=(t,r,e="label",l=String(r).toLowerCase())=>!r?S(t):S(t).filter((o)=>String(o&&typeof o==="object"?o[e]:o).toLowerCase().includes(l)),Et=(t)=>`${t}-${Math.random().toString(36).slice(2,9)}`,I=()=>document.activeElement?.blur();var Ht=(t)=>{let r=t.name||Et("acc");return W(t.items,(e)=>{return n("div",{class:_("collapse",t.class)},[n("input",{type:"radio",name:r,checked:e.open||void 0}),e.title?n("div",{class:_("collapse-title",`${e.classTitle??" font-semibold"}`)},e.title):null,e.content?n("div",{class:_("collapse-content text-sm",`${e.classContent??" font-semibold"}`)},e.content):null])})},Dt=(t,r)=>n("div",{...t,class:_("alert",t.class)},r),Ft=({items:t,value:r,onselect:e,placeholder:l="...",...o})=>{let a=T(S(r)||""),f=T(()=>bt(t,a())),u=(s)=>{let i=R(s),d=typeof s==="string"?s:s.value;if(a(i),k(r))r(d);e?.(s),I()};return V({class:"w-full"},[n("div",{tabindex:"0",role:"button",class:"w-full"},kt({...o,placeholder:l,value:a,left:n("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(a(s.target.value),k(r))r(s.target.value)}})),H({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},n("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[W(f,(s)=>n("li",{},[n("a",{onmousedown:(i)=>i.preventDefault(),onclick:()=>u(s)},R(s))]),(s)=>R(s)),()=>f().length===0?n("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},vt=(t,r)=>n("span",{...t,class:_("badge",t.class)},r),Nt=(t,r)=>n("button",{...t,class:_("btn",t.class)},r),St=(t)=>{let r=T(new Date),e=T(null),l=T(0),o=T(0),a=new Date,f=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`,u=(y)=>`${y.getFullYear()}-${String(y.getMonth()+1).padStart(2,"0")}-${String(y.getDate()).padStart(2,"0")}`,s=()=>S(t.range)===!0,i=()=>S(t.value),d=(y)=>{let E=u(y),j=i();if(s())if(!j?.start||j.start&&j.end)t.onChange?.({start:E,end:null,...t.hour&&{startHour:l()}});else{let P=j.start,M=E{let E=r();r(new Date(E.getFullYear(),E.getMonth()+y,1))},b=(y)=>{let E=r();r(new Date(E.getFullYear()+y,E.getMonth(),1))},N=({value:y,onChange:E})=>n("div",{class:"flex-1"},[n("div",{class:"flex gap-2 items-center"},[n("input",{type:"range",min:0,max:23,value:y,class:"range range-xs flex-1",oninput:(j)=>E(+j.target.value)}),n("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(S(y)).padStart(2,"0")+":00")])]);return n("div",{class:_("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",t.class)},[n("div",{class:"flex justify-between items-center mb-4 gap-1"},[n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},n("span",{class:"icon-[lucide--chevrons-left]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(-1)},n("span",{class:"icon-[lucide--chevron-left]"}))]),n("span",{class:"font-bold uppercase flex-1 text-center"},()=>r().toLocaleString("es-ES",{month:"short",year:"numeric"})),n("div",{class:"flex gap-0.5"},[n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>w(1)},n("span",{class:"icon-[lucide--chevron-right]"})),n("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},n("span",{class:"icon-[lucide--chevrons-right]"}))])]),n("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>e(null)},[...["L","M","X","J","V","S","D"].map((y)=>n("div",{class:"text-[10px] opacity-40 font-bold text-center"},y)),()=>{let y=r(),E=y.getFullYear(),j=y.getMonth(),P=new Date(E,j,1).getDay(),M=P===0?6:P-1,Wt=new Date(E,j+1,0).getDate(),D=[];for(let q=0;q{let J=i(),F=e(),qt=typeof J==="string"?J.split("T")[0]===g:J?.start===g,Gt=J?.end===g,v=!1;if(s()&&J?.start){let h=J.start;if(!J.end&&F)v=g>h&&g<=F||g=F;else if(J.end)v=g>h&&gs()&&e(g),onclick:()=>d(ut)},q.toString()))}return D}]),t.hour?n("div",{class:"mt-3 pt-2 border-t border-base-300"},s()?n("div",{class:"flex gap-4"},[N({value:l,onChange:(y)=>l(y)}),N({value:o,onChange:(y)=>o(y)})]):N({value:l,onChange:(y)=>l(y)})):null])},ht=(t,r)=>n("div",{...t,class:_("card",t.class)},r),pt=(t,r)=>n("div",{...t,class:_("card-title",t.class)},r),tr=(t,r)=>n("div",{...t,class:_("card-body",t.class)},r),rr=(t,r)=>n("div",{...t,class:_("card-actions",t.class)},r),nr=(t,r)=>n("div",{...t,class:_("carousel",t.class)},r),er=(t,r)=>n("div",{...t,class:_("carousel-item",t.class)},r),or=(t,r)=>n("div",{...t,class:_("chat",t.class)},r),lr=(t,r)=>n("div",{...t,class:_("chat-bubble",t.class)},r),fr=(t,r)=>n("div",{...t,class:_("chat-footer",t.class)},r),ur=(t,r)=>n("div",{...t,class:_("chat-header",t.class)},r),ar=(t,r)=>n("div",{...t,class:_("chat-image avatar",t.class)},n("div",{class:"w-10 rounded-full"},typeof r==="string"?n("img",{src:r,alt:"avatar"}):r)),sr=(t)=>n("input",{...t,type:"checkbox",class:_("checkbox",t.class)}),ir=(t)=>{let r=()=>S(t.value)||"#000000";return V({},[Ct({class:"btn"},[n("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${r()}`}),t.label&&n("span",{},t.label)]),H({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Tt({value:t.value,onchange:(e)=>{k(t.value)?t.value(e):t.onchange?.(e)}}))])},Tt=(t)=>{let r=()=>S(t.value)||"#000000",e=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],l=(o)=>k(t.value)?t.value(o):t.onchange?.(o);return n("div",{class:"grid grid-cols-8 gap-1"},e.map((o)=>n("button",{type:"button",style:`background-color: ${o}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${r().toLowerCase()===o.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{l(o),I()}})))},_r=(t)=>{let r=T(""),e=()=>S(t.range)===!0;K(()=>{let o=S(t.value);if(!o)return r("");let a="";if(typeof o==="string")a=t.hour&&o.includes("T")?o.replace("T"," "):o;else if(o.start&&o.end){let f=t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start,u=t.hour&&o.endHour!=null?`${o.end} ${String(o.endHour).padStart(2,"0")}:00`:o.end;a=`${f} - ${u}`}else if(o.start)a=`${t.hour&&o.startHour!=null?`${o.start} ${String(o.startHour).padStart(2,"0")}:00`:o.start}...`;r(a)});let l=(o)=>{if(k(t.value))t.value(o);else t.onChange?.(o);if(!e()||o?.end!=null)I()};return V({class:_("w-full",t.class)},[n("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[n("span",{class:"icon-[lucide--calendar] shrink-0"}),n("span",{class:()=>`grow text-left truncate ${!r()?"opacity-50":""}`},()=>r()||t.placeholder||(e()?"Seleccionar rango...":"Seleccionar fecha...")),()=>r()?n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(o)=>{if(o.preventDefault(),o.stopPropagation(),k(t.value))t.value(null);else t.onChange?.(null);r("")}},n("span",{class:"icon-[lucide--x] opacity-50"})):null]),H({class:"p-0 bg-base-100 rounded-box shadow-xl"},St({value:t.value,range:e(),hour:t.hour,onChange:l}))])},dr=(t,r)=>div({...t,class:_("drawer",t.class)},r),yr=(t)=>input({...t,type:"checkbox",class:"drawer-toggle",checked:()=>S(t.checked),onchange:(r)=>k(t.checked)&&t.checked(r.target.checked)}),wr=(t,r)=>div({...t,class:_("drawer-content",t.class)},r),br=(t,r)=>div({...t,class:_("drawer-side",t.class)},r),Er=(t)=>label({...t,for:t.for,class:_("drawer-overlay",t.class)}),Nr=(t)=>n("div",{...t,class:_("divider",t.class)}),V=(t,r)=>n("div",{...t,class:_("dropdown",t.class)},r),Ct=(t,r)=>n("div",{...t,tabindex:"0",role:"button",class:_("btn",t.class)},r),H=(t,r)=>n("div",{...t,tabindex:"0",class:_("dropdown-content",t.class)},r),Sr=(t,r)=>n("div",{class:"fab"},[n("div",{tabindex:"0",role:"button",class:_("btn",t.class)},c(t.icon)),r]),Tr=(t,r)=>n("fieldset",{class:_("fieldset",t.class)},[n("legend",{class:"fieldset-legend"},t.label),r]),Cr=(t)=>{let r=T([]),e=T(!1),l=T(null),o=(t.max||2)*1024*1024,a=(u)=>{let s=Array.from(u);if(l(null),s.some((d)=>d.size>o)){l(`Máx ${t.max||2}MB`);return}let i=[...r(),...s];if(r(i),k(t.onselect))t.onselect(i);else if(k(t.value))t.value(i)},f=(u)=>{let s=r().filter((i,d)=>d!==u);if(r(s),k(t.onselect))t.onselect(s);else if(k(t.value))t.value(s)};return n("div",{class:_("fieldset w-full p-0",t.class)},[n("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 ${e()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(u)=>{u.preventDefault(),e(!0)},ondragleave:()=>e(!1),ondrop:(u)=>{u.preventDefault(),e(!1),a(u.dataTransfer.files)}},[n("div",{class:"flex items-center gap-3 w-full"},[n("span",{class:"icon-[lucide--upload]"}),n("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),n("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${t.max||2}MB`)]),n("input",{type:"file",multiple:!0,accept:t.accept||"*",class:"hidden",onchange:(u)=>a(u.target.files)})]),()=>l()&&n("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},l()),ot(()=>r().length>0,()=>n("ul",{class:"mt-2 space-y-1"},W(r,(u,s)=>n("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[n("div",{class:"flex items-center gap-2 truncate"},[n("span",{class:"opacity-50"},"\uD83D\uDCC4"),n("span",{class:"truncate font-medium max-w-[200px]"},u.name),n("span",{class:"text-[9px] opacity-40"},`(${(u.size/1024).toFixed(0)} KB)`)]),n("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(i)=>{i.preventDefault(),f(s)}},n("span",{class:"icon-[lucide--x]"}))]))))])},c=(t)=>n("span",{class:t.startsWith("icon-")?t:""},t.startsWith("icon-")?null:t),kr=(t,r)=>n("div",{...t,class:_("indicator",t.class)},[t.value&&n("span",{class:_("indicator-item badge",t.class)},t.value),r]),kt=(t)=>{let{label:r,icon:e,float:l,placeholder:o,value:a,left:f,right:u,rule:s,hint:i,content:d,...w}=t,b=T(!1),N=t.type==="password",y=s??null,E=()=>N?S(b)?"text":"password":t.type||"search";return n("label",{class:l?"floating-label":""},[l?n("span",{},r):null,n("label",{pattern:y,class:()=>_("input validator",t.class)},[r&&!l?n("span",{class:"label"},r):null,f??null,n("input",{...w,type:E,class:"grow",pattern:y,placeholder:o||r||" ",value:a}),u??null,N?jt({class:"ml-2"},[$t({value:b,class:"swap-rotate"}),At({},c("icon-[lucide--eye]")),gt({},c("icon-[lucide--eye-off]"))]):null]),i?n("div",{class:"validator-hint"},i):null])},jr=(t,r)=>n("kbd",{...t,class:_("kbd",t.class)},r),$r=(t,r)=>n("ul",{...t,class:_("list",t.class)},r),Ar=(t)=>()=>(S(t.items)||[]).map((r,e)=>n("li",{class:_("list-row",t.class,r?.class)},typeof t.render==="function"?t.render(r,e):r)),gr=(t,r)=>n("span",{...t,class:_("loading loading-spinner",t.class)},r),Lr=(t)=>{if(t.children!==void 0)return n("ul",{class:_("menu",t.class),...t},t.children);let{items:r}=t,e=(l)=>l.children?n("li",{},n("details",{open:l.open||void 0},[n("summary",{},R(l)),n("ul",{},W(()=>S(l.children)||[],e))])):n("li",{},n("a",{href:l.href,onclick:l.onclick?(o)=>{if(!l.href)o.preventDefault();l.onclick(o)}:null},R(l)));return n("ul",{class:_("menu",t.class)},W(()=>S(r)||[],e))},xr=(t)=>{let r=null;K(()=>{let l=S(t.open);if(!r)return;l?r.showModal():r.close()});let e=()=>k(t.open)&&t.open(!1);return n("dialog",{...t,ref:(l)=>r=l,class:_("modal",t.class),onclose:e,oncancel:e},[n("div",{class:"modal-box"},[t.title&&n("h3",{class:"text-lg font-bold"},t.title),t.children,n("div",{class:"modal-action"},[t.actions||Nt({class:"btn",onclick:e},"Cerrar")])]),n("form",{method:"dialog",class:"modal-backdrop"},[n("button",{},"close")])])},Or=(t,r)=>n("div",{...t,class:_("navbar",t.class)},r),Jr=(t)=>n("progress",{...t,class:_("progress",t.class)}),Rr=(t,r)=>n("div",{...t,class:_("radial-progress",t.class),style:`--value:${t.value??0};${t.style??""}`,role:"progressbar","aria-valuenow":t.value??0},r??`${t.value??0}%`),Wr=(t)=>n("input",{...t,type:"radio",class:_("radio",t.class)}),qr=(t)=>n("input",{...t,type:"range",class:_("range",t.class)}),Gr=(t,r)=>n("div",{...t,class:"rating"},r),Kr=(t)=>[...Array(t.count)].map((r,e)=>n("input",{class:_("mask",t.class),name:t.name,type:"radio",checked:()=>S(t.value)===e,onchange:()=>k(t.value)?t.value(e):t.onchange?.(e)})),Pr=(t,r)=>{if(r!==void 0)return n("select",{class:_("select",t.class),...t},r);let{label:e,float:l,placeholder:o,placeholderDisabled:a=!0,value:f,left:u,right:s,hint:i,items:d,keyFn:w,...b}=t,N=()=>{let y=S(d)||[];return[...o?[{disabled:a,label:o,value:""}]:[],...y]};return n("label",{class:l?"floating-label":""},[l?n("span",{},e):null,n("label",{class:_("select",b.class)},[!l&&e?n("span",{class:"label"},e):null,u??null,n("select",{value:()=>S(f),onchange:(y)=>k(f)?f(y.target.value):b.onchange?.(y)},W(N,(y)=>{let E=R(y,y.value!==void 0?"value":void 0),j=R(y,"label");return n("option",{value:E,disabled:y.disabled||void 0},j)})),s??null]),i?n("div",{class:"validator-hint"},i):null])},zr=(t)=>n("div",{...t,class:_("skeleton",t.class)}),Br=(t)=>n("span",{...t,class:_("skeleton skeleton-text",t.class)}),Xr=(t,r)=>n("div",{...t,class:_("stack",t.class)},r),Mr=(t,r)=>n("div",{...t,class:_("stats shadow",t.class)},r),Qr=(t)=>n("div",{...t,class:_("stat",t.class)},[t.title?n("div",{class:"stat-title"},t.title):null,t.value?n("div",{class:"stat-value"},t.value):null,t.desc?n("div",{class:"stat-desc"},t.desc):null]),Ur=(t,r)=>n("ul",{...t,class:_("steps",t.class)},r),Zr=(t,r)=>n("li",{...t,class:_("step",t.class),"data-content":t.dataContent},r),jt=(t,r)=>n("label",{...t,class:_("swap",t.class)},r),$t=(t)=>n("input",{type:"checkbox",checked:()=>S(t.value),onchange:(r)=>k(t.value)&&t.value(r.target.checked),class:t.class}),At=(t,r)=>n("div",{...t,class:_("swap-on",t.class)},r),gt=(t,r)=>n("div",{...t,class:_("swap-off",t.class)},r),Yr=(t,r)=>n("table",{...t,class:_("table",t.class)},r),mr=({items:t,columns:r=[],header:e=!0})=>{let l=e!==!1&&r.some((a)=>a.label)?n("thead",{},n("tr",{},r.map((a)=>n("th",{class:a.class},a.label)))):null,o=n("tbody",{},()=>{return(S(t)||[]).map((f,u)=>n("tr",{},r.map((s)=>{let i=s.render?s.render(f,u):f[s.key];return n("td",{class:s.class},i)})))});return[l,o].filter(Boolean)},Ir=(t,r)=>{if(!t.items){let{class:i,...d}=t;return n("div",{...d,class:_("tabs",i)},r)}let{items:e,activeIndex:l,onClose:o,class:a,...f}=t,u=(i)=>k(i)?i():i,s=o||(k(e)?(i,d)=>{let b=u(e).filter((N,y)=>y!==i);if(e(b),l()>=b.length)l(Math.max(0,b.length-1))}:null);return n("div",{...f,class:_("tabs",a)},()=>{return(u(e)||[]).flatMap((d,w)=>{let b=()=>l()===w,N=n("button",{class:()=>`tab ${b()?"tab-active":""} ${d.class||""}`,onclick:(E)=>{E.preventDefault(),l(w),d.onclick?.(E)}},[R(d),d.closable?n("span",{class:"ml-1 inline-flex items-center justify-center w-4 h-4 rounded-full hover:bg-base-300 text-base-content/60 hover:text-base-content cursor-pointer",onclick:(E)=>{E.stopPropagation(),s?.(w,d)}},n("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),y=n("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${b()?"block":"none"};`},k(d.content)?d.content():d.content);return[N,y]})})},cr=(t)=>n("textarea",{...t,class:_("textarea",t.class)}),Vr=(t,r)=>n("span",{...t,class:_("text-rotate",t.class)},r),Hr=(t,r)=>n("ul",{...t,class:_("timeline",t.class)},r),Dr=(t,r="alert-success",e=3500)=>{let l=document.getElementById("sigpro-toast-container");if(!l)l=n("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(l);let o=n("div",{style:"display: contents"});l.appendChild(o);let a,f,u,i=lt(()=>{let d=T(!1),w=T(!1);a=()=>{if(w())return;clearTimeout(f),clearTimeout(u),w(!0),setTimeout(()=>{if(i.destroy(),o.remove(),!l.hasChildNodes())l.remove()},300)},u=setTimeout(()=>d(!0),0);let b=typeof t==="function"?S(t):t,N=typeof b==="string"?n("span",{},b):b;return n("div",{class:()=>{if(w())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(d())return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${r} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[N,n("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:a},n("span",{class:"icon-[lucide--x]"}))])},o);if(e>0)f=setTimeout(a,e);return a},Fr=(t)=>n("input",{...t,type:"checkbox",class:_("toggle",t.class)}),vr=(t,r)=>n("div",{...t,class:_("tooltip",t.class),"data-tip":t.tip},r);var hr={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"}},Lt=T("es"),xt=(t)=>Lt(t),Ot=(t)=>()=>hr[Lt()][t]||t;var Jt={...ft},Rt={Locale:xt,tt:Ot};if(typeof window<"u")Object.entries({...Jt,...Rt}).forEach(([t,r])=>{Object.defineProperty(window,t,{value:r,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); diff --git a/sigpro-components.js b/sigpro-components.js index 854a091..c6d8f81 100644 --- a/sigpro-components.js +++ b/sigpro-components.js @@ -455,6 +455,12 @@ export const Select = (p, c) => { export const Skeleton = (p) => h("div", { ...p, class: cls("skeleton", p.class) }); export const SkeletonText = (p) => h("span", { ...p, class: cls("skeleton skeleton-text", p.class) }); export const Stack = (p, c) => h("div", { ...p, class: cls("stack", p.class) }, c); +export const Stats = (p, c) => h('div', { ...p, class: cls('stats shadow', p.class) }, c) +export const Stat = (p) => h('div', { ...p, class: cls('stat', p.class) }, [ + p.title ? h('div', { class: 'stat-title' }, p.title) : null, + p.value ? h('div', { class: 'stat-value' }, p.value) : null, + p.desc ? h('div', { class: 'stat-desc' }, p.desc) : null +]) export const Steps = (p, c) => h("ul", { ...p, class: cls("steps", p.class) }, c); export const Step = (p, c) => h("li", { ...p, class: cls("step", p.class), "data-content": p.dataContent }, c); export const Swap = (p, c) => h('label', { ...p, class: cls('swap', p.class) }, c)