diff --git a/components/All.js b/components/All.js index 9eca47c..3fe9e47 100644 --- a/components/All.js +++ b/components/All.js @@ -191,7 +191,18 @@ export const ChatHeader = (p, c) => h("div", { ...p, class: cls("chat-header", p export const ChatImage = (p, c) => h("div", { ...p, class: cls("chat-image avatar", p.class) }, h("div", { class: "w-10 rounded-full" }, typeof c === "string" ? h("img", { src: c, alt: "avatar" }) : c)); export const Checkbox = (p) => h("input", { ...p, type: "checkbox", class: cls("checkbox", p.class) }); export const Colorpicker = (p) => { - const isOpen = $(false) + const current = () => get(p.value) || '#000000' + return Dropdown({}, [ + DropdownButton({ class: 'btn' }, [ + h('div', { class: 'size-5 rounded-sm', style: () => `background-color: ${current()}` }), + p.label && h('span', {}, p.label) + ]), + DropdownContent({ class: 'p-3 bg-base-100 rounded-box shadow-xl w-64' }, + ColorPalette({ value: p.value, onchange: (c) => { isFn(p.value) ? p.value(c) : p.onchange?.(c); close(); } }) + ) + ]) +} +export const ColorPalette = (p) => { const current = () => get(p.value) || '#000000' const palette = [ '#000', '#1A1A1A', '#333', '#4D4D4D', '#666', '#808080', '#B3B3B3', '#FFF', @@ -203,38 +214,20 @@ export const Colorpicker = (p) => { '#1e1b4b', '#312e81', '#4338ca', '#4f46e5', '#6366f1', '#818cf8', '#a5b4fc', '#e0e7ff', '#2e1065', '#4c1d95', '#6d28d9', '#7c3aed', '#8b5cf6', '#a855f7', '#d946ef', '#fae8ff' ] - const pick = (c) => { isFn(p.value) ? p.value(c) : p.onchange?.(c); isOpen(false) } - return h('div', { class: cls('relative w-fit', p.class) }, [ - h('button', { - type: 'button', - class: 'btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case', - onclick: (e) => { e.stopPropagation(); isOpen(!isOpen()) } - }, [ - h('div', { class: 'size-5 rounded-sm shadow-inner border border-black/10 shrink-0', style: () => `background-color: ${current()}` }), - p.label && h('span', { class: 'opacity-80' }, p.label) - ]), - when(isOpen, () => [ - h('div', { - class: 'fixed inset-0 z-[100]', - onclick: () => isOpen(false) - }), - h('div', { class: 'absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none' }, - h('div', { class: 'grid grid-cols-8 gap-1' }, - palette.map(c => - h('button', { - type: 'button', - style: `background-color: ${c}`, - class: () => { - const act = current().toLowerCase() === c.toLowerCase() - 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 ${act ? 'ring-2 ring-offset-1 ring-primary z-10 scale-110' : ''}` - }, - onclick: () => pick(c) - }) - ) - ) - ) - ]) - ]) + const pick = (c) => isFn(p.value) ? p.value(c) : p.onchange?.(c) + return h('div', { class: 'grid grid-cols-8 gap-1' }, + palette.map(c => + h('button', { + type: 'button', + style: `background-color: ${c}`, + class: () => { + const act = current().toLowerCase() === c.toLowerCase() + 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 ${act ? 'ring-2 ring-offset-1 ring-primary z-10 scale-110' : ''}` + }, + onclick: () => pick(c) + }) + ) + ) } export const Datepicker = (p) => { const isOpen = $(false) @@ -402,15 +395,8 @@ export const Input = (p) => { ]); }; export const Kbd = (p, c) => h("kbd", { ...p, class: cls("kbd", p.class) }, c); -export const List = (p, c) => { - if (!p.items) return h('ul', { ...p, class: cls('list', p.class) }, c) - return h('ul', { ...p, class: cls('list', p.class) }, [ - each(p.items, (item, i) => - h('li', { class: cls('list-row', item.class) }, - typeof p.render === 'function' ? p.render(item, i) : item - ), p.key) - ]) -} +export const List = (p, c) => h('ul', { ...p, class: cls('list', p.class) }, c) +export const ListRows = (p) => () => (get(p.items) || []).map((item, idx) => h('li', { class: cls('list-row', p.class, item?.class) }, typeof p.render === 'function' ? p.render(item, idx) : item)) export const Loading = (p, c) => h("span", { ...p, class: cls("loading loading-spinner", p.class) }, c); export const Menu = (p) => { if (p.children !== undefined) return h('ul', { class: cls('menu', p.class), ...p }, p.children) @@ -463,20 +449,8 @@ export const Progress = (p) => h("progress", { ...p, class: cls("progress", p.cl export const Radial = (p, c) => h("div", { ...p, class: cls("radial-progress", p.class), style: `--value:${p.value ?? 0};${p.style ?? ''}`, role: "progressbar", "aria-valuenow": p.value ?? 0 }, c ?? `${p.value ?? 0}%`) export const Radio = (p) => h("input", { ...p, type: "radio", class: cls("radio", p.class) }); export const Range = (p) => h("input", { ...p, type: "range", class: cls("range", p.class) }); -export const Rating = (p) => { - const name = rand('rating') - const stars = p.children ?? Array.from({ length: p.count || 5 }, (_, i) => { - const v = i + 1 - return h('input', { - type: 'radio', - name, - class: cls('mask', p.mask || 'mask-star'), - checked: () => get(p.value) === v, - onchange: () => isFn(p.value) ? p.value(v) : p.onchange?.(v) - }) - }) - return h('div', { class: cls('rating', p.class), ...p }, stars) -} +export const Rating = (p, c) => h('div', { ...p, class: "rating" }, c); +export const RatingItems = (p) => [...Array(p.count)].map((_, i) => h('input', { class: cls('mask', p.class), name: p.name, type: 'radio', checked: () => get(p.value) === i, onchange: () => isFn(p.value) ? p.value(i) : p.onchange?.(i) })) export const Select = (p, c) => { if (c !== undefined) return h('select', { class: cls('select', p.class), ...p }, c) diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index 46a93d8..56c07b8 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -43,6 +43,7 @@ __export(exports_All, { SkeletonText: () => SkeletonText, Skeleton: () => Skeleton, Select: () => Select, + RatingItems: () => RatingItems, Rating: () => Rating, Range: () => Range, Radio: () => Radio, @@ -52,6 +53,7 @@ __export(exports_All, { Modal: () => Modal, Menu: () => Menu, Loading: () => Loading, + ListRows: () => ListRows, List: () => List, Kbd: () => Kbd, Input: () => Input, @@ -71,6 +73,7 @@ __export(exports_All, { Divider: () => Divider, Datepicker: () => Datepicker, Colorpicker: () => Colorpicker, + ColorPalette: () => ColorPalette, Checkbox: () => Checkbox, ChatImage: () => ChatImage, ChatHeader: () => ChatHeader, @@ -713,7 +716,19 @@ var ChatHeader = (p2, c) => O("div", { ...p2, class: cls("chat-header", p2.class var ChatImage = (p2, c) => O("div", { ...p2, class: cls("chat-image avatar", p2.class) }, O("div", { class: "w-10 rounded-full" }, typeof c === "string" ? O("img", { src: c, alt: "avatar" }) : c)); var Checkbox = (p2) => O("input", { ...p2, type: "checkbox", class: cls("checkbox", p2.class) }); var Colorpicker = (p2) => { - const isOpen = S(false); + const current = () => get(p2.value) || "#000000"; + return Dropdown({}, [ + DropdownButton({ class: "btn" }, [ + O("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), + p2.label && O("span", {}, p2.label) + ]), + DropdownContent({ class: "p-3 bg-base-100 rounded-box shadow-xl w-64" }, ColorPalette({ value: p2.value, onchange: (c) => { + isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); + close(); + } })) + ]); +}; +var ColorPalette = (p2) => { const current = () => get(p2.value) || "#000000"; const palette = [ "#000", @@ -781,38 +796,16 @@ var Colorpicker = (p2) => { "#d946ef", "#fae8ff" ]; - const pick = (c) => { - isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); - isOpen(false); - }; - return O("div", { class: cls("relative w-fit", p2.class) }, [ - O("button", { - type: "button", - class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", - onclick: (e) => { - e.stopPropagation(); - isOpen(!isOpen()); - } - }, [ - O("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${current()}` }), - p2.label && O("span", { class: "opacity-80" }, p2.label) - ]), - z(isOpen, () => [ - O("div", { - class: "fixed inset-0 z-[100]", - onclick: () => isOpen(false) - }), - O("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none" }, O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { - type: "button", - style: `background-color: ${c}`, - class: () => { - const act = current().toLowerCase() === c.toLowerCase(); - 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`; - }, - onclick: () => pick(c) - })))) - ]) - ]); + const pick = (c) => isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); + return O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { + type: "button", + style: `background-color: ${c}`, + class: () => { + const act = current().toLowerCase() === c.toLowerCase(); + 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`; + }, + onclick: () => pick(c) + }))); }; var Datepicker = (p2) => { const isOpen = S(false); @@ -986,13 +979,8 @@ var Input = (p2) => { ]); }; var Kbd = (p2, c) => O("kbd", { ...p2, class: cls("kbd", p2.class) }, c); -var List = (p2, c) => { - if (!p2.items) - return O("ul", { ...p2, class: cls("list", p2.class) }, c); - return O("ul", { ...p2, class: cls("list", p2.class) }, [ - K(p2.items, (item, i) => O("li", { class: cls("list-row", item.class) }, typeof p2.render === "function" ? p2.render(item, i) : item), p2.key) - ]); -}; +var List = (p2, c) => O("ul", { ...p2, class: cls("list", p2.class) }, c); +var ListRows = (p2) => () => (get(p2.items) || []).map((item, idx) => O("li", { class: cls("list-row", p2.class, item?.class) }, typeof p2.render === "function" ? p2.render(item, idx) : item)); var Loading = (p2, c) => O("span", { ...p2, class: cls("loading loading-spinner", p2.class) }, c); var Menu = (p2) => { if (p2.children !== undefined) @@ -1044,20 +1032,8 @@ var Progress = (p2) => O("progress", { ...p2, class: cls("progress", p2.class) } var Radial = (p2, c) => O("div", { ...p2, class: cls("radial-progress", p2.class), style: `--value:${p2.value ?? 0};${p2.style ?? ""}`, role: "progressbar", "aria-valuenow": p2.value ?? 0 }, c ?? `${p2.value ?? 0}%`); var Radio = (p2) => O("input", { ...p2, type: "radio", class: cls("radio", p2.class) }); var Range = (p2) => O("input", { ...p2, type: "range", class: cls("range", p2.class) }); -var Rating = (p2) => { - const name = rand("rating"); - const stars = p2.children ?? Array.from({ length: p2.count || 5 }, (_2, i) => { - const v2 = i + 1; - return O("input", { - type: "radio", - name, - class: cls("mask", p2.mask || "mask-star"), - checked: () => get(p2.value) === v2, - onchange: () => isFn(p2.value) ? p2.value(v2) : p2.onchange?.(v2) - }); - }); - return O("div", { class: cls("rating", p2.class), ...p2 }, stars); -}; +var Rating = (p2, c) => O("div", { ...p2, class: "rating" }, c); +var RatingItems = (p2) => [...Array(p2.count)].map((_2, i) => O("input", { class: cls("mask", p2.class), name: p2.name, type: "radio", checked: () => get(p2.value) === i, onchange: () => isFn(p2.value) ? p2.value(i) : p2.onchange?.(i) })); var Select = (p2, c) => { if (c !== undefined) return O("select", { class: cls("select", p2.class), ...p2 }, c); diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index feec7cb..a567de9 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1 +1 @@ -var kr=Object.defineProperty;var zr=(r)=>r;function Pr(r,n){this[r]=zr.bind(null,n)}var $r=(r,n)=>{for(var f in n)kr(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Pr.bind(n,f)})};var fr={};$r(fr,{rand:()=>tr,listKey:()=>wr,isFn:()=>W,getBy:()=>X,get:()=>C,filterBy:()=>yr,cls:()=>w,close:()=>Kr,Tooltip:()=>qn,Toggle:()=>Bn,Toast:()=>Yn,Timeline:()=>Zn,Textrotate:()=>Kn,Textarea:()=>gn,Tabs:()=>Un,TableItems:()=>Qn,Table:()=>Xn,SwapToggle:()=>ir,SwapOn:()=>Sr,SwapOff:()=>jr,Swap:()=>sr,Steps:()=>Rn,Step:()=>Gn,Stack:()=>$n,SkeletonText:()=>Pn,Skeleton:()=>zn,Select:()=>kn,Rating:()=>Tn,Range:()=>Jn,Radio:()=>Ln,Radial:()=>Wn,Progress:()=>An,Navbar:()=>Cn,Modal:()=>jn,Menu:()=>Sn,Loading:()=>sn,List:()=>Nn,Kbd:()=>bn,Input:()=>Nr,Indicator:()=>En,Icon:()=>d,Fileinput:()=>wn,Fieldset:()=>yn,Fab:()=>en,DropdownContent:()=>ln,DropdownButton:()=>un,Dropdown:()=>an,DrawerToggle:()=>nn,DrawerSide:()=>fn,DrawerOverlay:()=>on,DrawerContent:()=>tn,Drawer:()=>rn,Divider:()=>_n,Datepicker:()=>pr,Colorpicker:()=>hr,Checkbox:()=>cr,ChatImage:()=>vr,ChatHeader:()=>Mr,ChatFooter:()=>mr,ChatBubble:()=>Fr,Chat:()=>dr,CarouselItem:()=>Hr,Carousel:()=>Dr,CardTitle:()=>Vr,CardBody:()=>xr,CardActions:()=>Or,Card:()=>Ir,Calendar:()=>br,Button:()=>Er,Badge:()=>qr,Autocomplete:()=>Br,Alert:()=>Yr,Accordion:()=>Zr});var P=(r)=>typeof r==="function",p=(r)=>r&&typeof r==="object",Z=Array.isArray,$=typeof document<"u"?document:null,_r=(r)=>r?._isRuntime?r.container:r instanceof Node?r:$.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,x=0,O=new Set,ar=new WeakMap,c=Symbol("iter"),h=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Rr=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((_)=>_.delete(f));if(f._cleanups)f._cleanups.forEach((_)=>_()),f._cleanups.clear();let o=A,u=J;A=J=f;try{return f._result=r()}catch(_){console.error("[SigPro]",_)}finally{A=o,J=u}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},lr=()=>{if(I)return;I=!0;let r=Array.from(O).sort((n,f)=>n._depth-f._depth);O.clear();for(let n of r)if(!n._disposed)n();I=!1},Gr=(r)=>{x++;try{return r()}finally{if(x--,x===0&&O.size>0&&!I)lr()}},z=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)z(o._subs,!0)}else O.add(o),f=!0}if(f&&!I&&x===0)queueMicrotask(lr)}},j=(r,n=null)=>{let f=new Set;if(P(r)){let o,u=()=>{if(u._dirty){let _=A;A=u;try{let a=r();if(!Object.is(o,a))o=a,z(f,!0)}finally{A=_}u._dirty=!1}return z(f),o};if(u._isComputed=!0,u._subs=f,u._dirty=!0,u._deps=null,u._disposed=!1,u.stop=()=>{},J)Y(u.stop);return u}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let u=P(o[0])?o[0](r):o[0];if(!Object.is(r,u)){if(r=u,n)localStorage.setItem(n,JSON.stringify(r));z(f,!0)}}return z(f),r}},er=(r)=>{if(!p(r))return r;let n=ar.get(r);if(n)return n;let f=new Map,o=(_)=>{let a=f.get(_);if(!a)f.set(_,a=new Set);return a},u=new Proxy(r,{get(_,a,l){if(typeof a!=="symbol")z(o(a));return er(Reflect.get(_,a,l))},set(_,a,l,e){let y=Reflect.has(_,a),E=Reflect.get(_,a,e),b=Reflect.set(_,a,l,e);if(b&&!Object.is(E,l)){if(z(o(a),!0),!y)z(o(c),!0)}return b},deleteProperty(_,a){let l=Reflect.deleteProperty(_,a);if(l)z(o(a),!0),z(o(c),!0);return l},ownKeys(_){return z(o(c)),Reflect.ownKeys(_)}});return ar.set(r,u),u},g=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((u)=>u()):r();Rr(()=>n(o))});return f(),()=>U(f)},rr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>rr(n))},Xr=/^\s*(javascript|data|vbscript):/i,Qr=(r)=>r==="src"||r==="href"||r.startsWith("on"),ur=(r,n)=>{if(n==null||n===!1)return null;if(Qr(r)){let f=String(n);if(Xr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!p(n))f=n,n={};if(P(r)){let a=V(()=>{let E=r(n,{children:f,emit:(b,...s)=>n[`on${b[0].toUpperCase()}${b.slice(1)}`]?.(...s)});return a._result=E,E});a();let l=a._result;if(l==null)return null;let e=l instanceof Node||Z(l)&&l.every((E)=>E instanceof Node)?l:$.createTextNode(String(l)),y=(E)=>{if(p(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(e)?e.forEach(y):y(e),e}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),u=o?$.createElementNS("http://www.w3.org/2000/svg",r):$.createElement(r);u._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let l=n[a];if(a==="ref"){P(l)?l(u):l.current=u;continue}if(o&&a.startsWith("xlink:")){l==null?u.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):u.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),l);continue}if(a.startsWith("on")){let e=a.slice(2).toLowerCase();u.addEventListener(e,l);let y=()=>u.removeEventListener(e,l);u._cleanups.add(y),Y(y)}else if(P(l)){let e=V(()=>{let y=ur(a,l());if(a==="class")u.className=y||"";else if(y==null)u.removeAttribute(a);else if(a in u&&!o)u[a]=y;else u.setAttribute(a,y===!0?"":y)});if(e(),u._cleanups.add(()=>U(e)),Y(()=>U(e)),/^(INPUT|TEXTAREA|SELECT)$/.test(u.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";u.addEventListener(y,(E)=>l(E.target[a]))}}else{let e=ur(a,l);if(e!=null)if(a in u&&!o)u[a]=e;else u.setAttribute(a,e===!0?"":e)}}let _=(a)=>{if(Z(a))return a.forEach(_);if(P(a)){let l=$.createTextNode("");u.appendChild(l);let e=[],y=V(()=>{let E=a(),b=(Z(E)?E:[E]).map(_r);e.forEach((i)=>{if(i._isRuntime)i.destroy();else rr(i);if(i.parentNode)i.remove()});let s=l;for(let i=b.length-1;i>=0;i--){let N=b[i];if(N.parentNode!==s.parentNode)s.parentNode?.insertBefore(N,s);if(N._mounts)N._mounts.forEach((S)=>S());s=N}e=b});y(),u._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let l=_r(a);if(u.appendChild(l),l._mounts)l._mounts.forEach((e)=>e())}};return _(f),u},D=(r)=>{let n=new Set,f=J,o=A,u=$.createElement("div");u.style.display="contents",u.setAttribute("role","presentation"),J={_cleanups:n},A=null;let _=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),u.appendChild(a.container);else if(Z(a))a.forEach(_);else u.appendChild(a instanceof Node?a:$.createTextNode(String(a==null?"":a)))};try{_(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:u,destroy:()=>{n.forEach((a)=>a()),rr(u),u.remove()}}},K=(r,n,f=null)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=null;return g(()=>!!(P(r)?r():r),(a)=>{if(_)_.destroy(),_=null;let l=a?n:f;if(l)_=D(()=>P(l)?l():l),u.insertBefore(_.container,o)}),Y(()=>_?.destroy()),u},H=({name:r,duration:n=200,scale:f,slide:o,rotate:u,blur:_},a)=>{let l=typeof a==="function"?a():a;if(!(l instanceof Node))return l;if(r)return l.style.animation=`${r}-in ${n}ms`,l;let e=f||o||u||_,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",u?"rotate(-2deg)":""].filter(Boolean).join(" ");if(l.style.transition=`all ${n}ms ease`,l.style.opacity="0",e)l.style.transform=y;if(_)l.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(l.style.opacity="1",e)l.style.transform="none";if(_)l.style.filter="none"}),l},G=(r,n,f)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=new Map;return g(()=>(P(r)?r():r)||[],(a)=>{let l=new Map,e=[],y=a||[];for(let b=0;bn(s,b));else _.delete(i);l.set(i,N),e.push(N)}_.forEach((b)=>b.destroy());let E=o;for(let b=e.length-1;b>=0;b--){let s=e[b].container;if(s.nextSibling!==E)u.insertBefore(s,E);E=s}_=l}),u},B=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let u=t("div",{class:"router-hook"}),_=null;return g([f],()=>{let a=f(),l=r.find((e)=>{let y=e.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((b,s)=>b[0]===":"||b===E[s])})||r.find((e)=>e.path==="*");if(l){_?.destroy();let e={};l.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")e[y.slice(1)]=a.split("/").filter(Boolean)[E]}),B.params(e),_=D(()=>P(l.component)?l.component(e):l.component),u.replaceChildren(_.container)}}),u};B.params=j({});B.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");B.back=()=>window.history.back();B.path=()=>window.location.hash.replace(/^#/,"")||"/";var Ur=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),u=j(null),_=j(null),a=null,l=null;return{run:async(e=null)=>{a?.abort(),clearTimeout(l),a=new AbortController,l=setTimeout(()=>a.abort(),1e4),o(!0),u(null);try{let y=e instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?e:e?JSON.stringify(e):void 0,signal:a.signal}),b=await E.text(),s=b?JSON.parse(b):null;if(!E.ok)throw Error(s?.message||E.statusText);return _(s),s}catch(y){if(y.name!=="AbortError")u(y.message);throw y}finally{o(!1),clearTimeout(l),a=null,l=null}},abort:()=>a?.abort(),loading:o,error:u,data:_}},nr=(r,n)=>{let f=typeof n==="string"?$.querySelector(n):n;if(!f)return;if(h.has(f))h.get(f).destroy();let o=D(P(r)?r:()=>r);return f.replaceChildren(o.container),h.set(f,o),o},gr=Object.freeze({$:j,$$:er,watch:g,h:t,when:K,each:G,fx:H,router:B,req:Ur,mount:nr,batch:Gr});if(typeof window<"u")Object.assign(window,gr),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,X=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",yr=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((u)=>String(u&&typeof u==="object"?u[f]:u).toLowerCase().includes(o)),tr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,Kr=()=>document.activeElement?.blur(),wr=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(u,_)=>{let a=C(r),l=f(),e=a.length;if(!e)return;let y=u.key;y==="ArrowDown"?(u.preventDefault(),n(!0),f(Math.min(l+1,e-1))):y==="ArrowUp"?(u.preventDefault(),f(Math.max(l-1,0))):y==="Enter"?l>=0&&(u.preventDefault(),_(a[l])):y==="Escape"&&(n(!1),f(-1))}}},Zr=(r)=>{let n=r.name||tr("acc");return G(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Yr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),Br=({items:r,value:n,onselect:f,placeholder:o="Buscar...",...u})=>{let _=j(C(n)||""),a=j(!1),l=j(()=>yr(r,_())),{cursor:e,onKey:y}=wr(l,a),E=(b)=>{let s=X(b),i=typeof b==="string"?b:b.value;if(_(s),W(n))n(i);f?.(b),a(!1)};return t("div",{class:"relative w-full"},[Nr({...u,type:"text",placeholder:o,value:_,left:t("span",{class:"icon-[lucide--search]"}),oninput:(b)=>{if(_(b.target.value),W(n))n(b.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),e(-1)},150),onkeydown:(b)=>y(b,E)}),K(a,()=>H({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[G(l,(b,s)=>t("li",{},[t("a",{class:()=>e()===s?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(b),onmouseenter:()=>e(s)},X(b))]),(b,s)=>X(b)+s),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},qr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),Er=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),br=(r)=>{let n=j(new Date),f=j(null),o=j(0),u=j(0),_=new Date,a=`${_.getFullYear()}-${String(_.getMonth()+1).padStart(2,"0")}-${String(_.getDate()).padStart(2,"0")}`,l=(N)=>`${N.getFullYear()}-${String(N.getMonth()+1).padStart(2,"0")}-${String(N.getDate()).padStart(2,"0")}`,e=()=>C(r.range)===!0,y=()=>C(r.value),E=(N)=>{let S=l(N),L=y();if(e())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,q=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+N,1))},s=(N)=>{let S=n();n(new Date(S.getFullYear()+N,S.getMonth(),1))},i=({value:N,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:N,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(N)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((N)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},N)),()=>{let N=n(),S=N.getFullYear(),L=N.getMonth(),T=new Date(S,L,1).getDay(),q=T===0?6:T-1,Lr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),Jr=typeof R==="string"?R.split("T")[0]===k:R?.start===k,Tr=R?.end===k,M=!1;if(e()&&R?.start){let v=R.start;if(!R.end&&m)M=k>v&&k<=m||k=m;else if(R.end)M=k>v&&ke()&&f(k),onclick:()=>E(or)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},e()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(N)=>o(N)}),i({value:u,onChange:(N)=>u(N)})]):i({value:o,onChange:(N)=>o(N)})):null])},Ir=(r,n)=>t("div",{...r,class:w("card",r.class)},n),Vr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),xr=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),Or=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),Dr=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),Hr=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),dr=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),Fr=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),mr=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),Mr=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),vr=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),cr=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),hr=(r)=>{let n=j(!1),f=()=>C(r.value)||"#000000",o=["#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"],u=(_)=>{W(r.value)?r.value(_):r.onchange?.(_),n(!1)};return t("div",{class:w("relative w-fit",r.class)},[t("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${f()}`}),r.label&&t("span",{class:"opacity-80"},r.label)]),K(n,()=>[t("div",{class:"fixed inset-0 z-[100]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none"},t("div",{class:"grid grid-cols-8 gap-1"},o.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${f().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>u(_)}))))])])},pr=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;g(()=>{let _=C(r.value);if(!_)return f("");let a="";if(typeof _==="string")a=r.hour&&_.includes("T")?_.replace("T"," "):_;else if(_.start&&_.end){let l=r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start,e=r.hour&&_.endHour!=null?`${_.end} ${String(_.endHour).padStart(2,"0")}:00`:_.end;a=`${l} - ${e}`}else if(_.start)a=`${r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start}...`;f(a)});let u=(_)=>{if(W(r.value))r.value(_);else r.onChange?.(_);if(!o()||_?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),K(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(_)=>_.stopPropagation()},br({value:r.value,range:o(),hour:r.hour,onChange:u}))])])},rn=(r,n)=>div({...r,class:w("drawer",r.class)},n),nn=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),tn=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),fn=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),on=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),_n=(r)=>t("div",{...r,class:w("divider",r.class)}),an=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),un=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),ln=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),en=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),yn=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),wn=(r)=>{let n=j([]),f=j(!1),o=j(null),u=(r.max||2)*1024*1024,_=(l)=>{let e=Array.from(l);if(o(null),e.some((E)=>E.size>u)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...e];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(l)=>{let e=n().filter((y,E)=>E!==l);if(n(e),W(r.onselect))r.onselect(e);else if(W(r.value))r.value(e)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(l)=>{l.preventDefault(),f(!1),_(l.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(l)=>_(l.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),K(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},G(n,(l,e)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},l.name),t("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(e)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),En=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Nr=(r)=>{let{label:n,icon:f,float:o,placeholder:u,value:_,left:a,right:l,rule:e,hint:y,content:E,...b}=r,s=j(!1),i=j(!1),N=r.type==="password",S=e??null,L=()=>N?C(s)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...b,type:L,class:"grow",pattern:S,placeholder:u||n||" ",value:_}),l??null,N?sr({class:"ml-2"},[ir({value:s,class:"swap-rotate"}),Sr({},d("icon-[lucide--eye]")),jr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,K(i,()=>H({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},bn=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Nn=(r,n)=>{if(!r.items)return t("ul",{...r,class:w("list",r.class)},n);return t("ul",{...r,class:w("list",r.class)},[G(r.items,(f,o)=>t("li",{class:w("list-row",f.class)},typeof r.render==="function"?r.render(f,o):f),r.key)])},sn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),Sn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},X(o)),t("ul",{},G(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(u)=>{if(!o.href)u.preventDefault();o.onclick(u)}:null},X(o)));return t("ul",{class:w("menu",r.class)},G(()=>C(n)||[],f))},jn=(r)=>{let n=null;g(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||Er({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Cn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),An=(r)=>t("progress",{...r,class:w("progress",r.class)}),Wn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Ln=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),Jn=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),Tn=(r)=>{let n=tr("rating"),f=r.children??Array.from({length:r.count||5},(o,u)=>{let _=u+1;return t("input",{type:"radio",name:n,class:w("mask",r.mask||"mask-star"),checked:()=>C(r.value)===_,onchange:()=>W(r.value)?r.value(_):r.onchange?.(_)})});return t("div",{class:w("rating",r.class),...r},f)},kn=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:u,placeholderDisabled:_=!0,value:a,left:l,right:e,hint:y,items:E,keyFn:b,...s}=r,i=()=>{let N=C(E)||[];return[...u?[{disabled:_,label:u,value:""}]:[],...N]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",s.class)},[!o&&f?t("span",{class:"label"},f):null,l??null,t("select",{value:()=>C(a),onchange:(N)=>W(a)?a(N.target.value):s.onchange?.(N)},G(i,(N)=>{let S=X(N,N.value!==void 0?"value":void 0),L=X(N,"label");return t("option",{value:S,disabled:N.disabled||void 0},L)})),e??null]),y?t("div",{class:"validator-hint"},y):null])},zn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),Pn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),$n=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),Rn=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Gn=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),sr=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),ir=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),Sr=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),jr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),Xn=(r,n)=>t("table",{...r,class:w("table",r.class)},n),Qn=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((_)=>_.label)?t("thead",{},t("tr",{},n.map((_)=>t("th",{class:_.class},_.label)))):null,u=t("tbody",{},()=>{return(C(r)||[]).map((a,l)=>t("tr",{},n.map((e)=>{let y=e.render?e.render(a,l):a[e.key];return t("td",{class:e.class},y)})))});return[o,u].filter(Boolean)},Un=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:u,class:_,...a}=r,l=(y)=>W(y)?y():y,e=u||(W(f)?(y,E)=>{let s=l(f).filter((i,N)=>N!==y);if(f(s),o()>=s.length)o(Math.max(0,s.length-1))}:null);return t("div",{...a,class:w("tabs",_)},()=>{return(l(f)||[]).flatMap((E,b)=>{let s=()=>o()===b,i=t("button",{class:()=>`tab ${s()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(b),E.onclick?.(S)}},[X(E),E.closable?t("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:(S)=>{S.stopPropagation(),e?.(b,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),N=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${s()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,N]})})},gn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),Kn=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Zn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),Yn=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let u=t("div",{style:"display: contents"});o.appendChild(u);let _,a,l,y=nr(()=>{let E=j(!1),b=j(!1);_=()=>{if(b())return;clearTimeout(a),clearTimeout(l),b(!0),setTimeout(()=>{if(y.destroy(),u.remove(),!o.hasChildNodes())o.remove()},300)},l=setTimeout(()=>E(!0),0);let s=typeof r==="function"?C(r):r,i=typeof s==="string"?t("span",{},s):s;return t("div",{class:()=>{if(b())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:_},t("span",{class:"icon-[lucide--x]"}))])},u);if(f>0)a=setTimeout(_,f);return _},Bn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),qn=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var In={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"}},Cr=j("es"),Ar=(r)=>Cr(r),Wr=(r)=>()=>In[Cr()][r]||r;var Vn={...fr},xn={Locale:Ar,tt:Wr};if(typeof window<"u")Object.entries({...Vn,...xn}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");export{xn as Utils,Vn as Components}; +var Gr=Object.defineProperty;var Xr=(r)=>r;function Qr(r,n){this[r]=Xr.bind(null,n)}var Ur=(r,n)=>{for(var f in n)Gr(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Qr.bind(n,f)})};var tr={};Ur(tr,{rand:()=>yr,listKey:()=>Er,isFn:()=>W,getBy:()=>G,get:()=>C,filterBy:()=>lr,cls:()=>w,close:()=>wr,Tooltip:()=>On,Toggle:()=>Vn,Toast:()=>In,Timeline:()=>Bn,Textrotate:()=>qn,Textarea:()=>gn,Tabs:()=>Yn,TableItems:()=>Zn,Table:()=>Kn,SwapToggle:()=>Wr,SwapOn:()=>Lr,SwapOff:()=>Jr,Swap:()=>Ar,Steps:()=>Qn,Step:()=>Un,Stack:()=>Xn,SkeletonText:()=>Gn,Skeleton:()=>Rn,Select:()=>Pn,RatingItems:()=>zn,Rating:()=>kn,Range:()=>$n,Radio:()=>Tn,Radial:()=>Jn,Progress:()=>Ln,Navbar:()=>Wn,Modal:()=>An,Menu:()=>Cn,Loading:()=>jn,ListRows:()=>Sn,List:()=>Nn,Kbd:()=>bn,Input:()=>Cr,Indicator:()=>sn,Icon:()=>d,Fileinput:()=>En,Fieldset:()=>wn,Fab:()=>yn,DropdownContent:()=>jr,DropdownButton:()=>Sr,Dropdown:()=>ir,DrawerToggle:()=>an,DrawerSide:()=>un,DrawerOverlay:()=>en,DrawerContent:()=>_n,Drawer:()=>on,Divider:()=>ln,Datepicker:()=>fn,Colorpicker:()=>tn,ColorPalette:()=>Nr,Checkbox:()=>nn,ChatImage:()=>rn,ChatHeader:()=>pr,ChatFooter:()=>hr,ChatBubble:()=>cr,Chat:()=>vr,CarouselItem:()=>Mr,Carousel:()=>mr,CardTitle:()=>Dr,CardBody:()=>dr,CardActions:()=>Fr,Card:()=>Hr,Calendar:()=>br,Button:()=>sr,Badge:()=>xr,Autocomplete:()=>Or,Alert:()=>Vr,Accordion:()=>Ir});var z=(r)=>typeof r==="function",p=(r)=>r&&typeof r==="object",Z=Array.isArray,P=typeof document<"u"?document:null,or=(r)=>r?._isRuntime?r.container:r instanceof Node?r:P.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,O=0,x=new Set,ar=new WeakMap,c=Symbol("iter"),h=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Kr=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((u)=>u.delete(f));if(f._cleanups)f._cleanups.forEach((u)=>u()),f._cleanups.clear();let o=A,_=J;A=J=f;try{return f._result=r()}catch(u){console.error("[SigPro]",u)}finally{A=o,J=_}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},ur=()=>{if(I)return;I=!0;let r=Array.from(x).sort((n,f)=>n._depth-f._depth);x.clear();for(let n of r)if(!n._disposed)n();I=!1},Zr=(r)=>{O++;try{return r()}finally{if(O--,O===0&&x.size>0&&!I)ur()}},k=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)k(o._subs,!0)}else x.add(o),f=!0}if(f&&!I&&O===0)queueMicrotask(ur)}},j=(r,n=null)=>{let f=new Set;if(z(r)){let o,_=()=>{if(_._dirty){let u=A;A=_;try{let a=r();if(!Object.is(o,a))o=a,k(f,!0)}finally{A=u}_._dirty=!1}return k(f),o};if(_._isComputed=!0,_._subs=f,_._dirty=!0,_._deps=null,_._disposed=!1,_.stop=()=>{},J)Y(_.stop);return _}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let _=z(o[0])?o[0](r):o[0];if(!Object.is(r,_)){if(r=_,n)localStorage.setItem(n,JSON.stringify(r));k(f,!0)}}return k(f),r}},er=(r)=>{if(!p(r))return r;let n=ar.get(r);if(n)return n;let f=new Map,o=(u)=>{let a=f.get(u);if(!a)f.set(u,a=new Set);return a},_=new Proxy(r,{get(u,a,e){if(typeof a!=="symbol")k(o(a));return er(Reflect.get(u,a,e))},set(u,a,e,l){let y=Reflect.has(u,a),E=Reflect.get(u,a,l),s=Reflect.set(u,a,e,l);if(s&&!Object.is(E,e)){if(k(o(a),!0),!y)k(o(c),!0)}return s},deleteProperty(u,a){let e=Reflect.deleteProperty(u,a);if(e)k(o(a),!0),k(o(c),!0);return e},ownKeys(u){return k(o(c)),Reflect.ownKeys(u)}});return ar.set(r,_),_},K=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((_)=>_()):r();Kr(()=>n(o))});return f(),()=>U(f)},rr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>rr(n))},Yr=/^\s*(javascript|data|vbscript):/i,gr=(r)=>r==="src"||r==="href"||r.startsWith("on"),_r=(r,n)=>{if(n==null||n===!1)return null;if(gr(r)){let f=String(n);if(Yr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!p(n))f=n,n={};if(z(r)){let a=V(()=>{let E=r(n,{children:f,emit:(s,...N)=>n[`on${s[0].toUpperCase()}${s.slice(1)}`]?.(...N)});return a._result=E,E});a();let e=a._result;if(e==null)return null;let l=e instanceof Node||Z(e)&&e.every((E)=>E instanceof Node)?e:P.createTextNode(String(e)),y=(E)=>{if(p(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(l)?l.forEach(y):y(l),l}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),_=o?P.createElementNS("http://www.w3.org/2000/svg",r):P.createElement(r);_._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let e=n[a];if(a==="ref"){z(e)?e(_):e.current=_;continue}if(o&&a.startsWith("xlink:")){e==null?_.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):_.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),e);continue}if(a.startsWith("on")){let l=a.slice(2).toLowerCase();_.addEventListener(l,e);let y=()=>_.removeEventListener(l,e);_._cleanups.add(y),Y(y)}else if(z(e)){let l=V(()=>{let y=_r(a,e());if(a==="class")_.className=y||"";else if(y==null)_.removeAttribute(a);else if(a in _&&!o)_[a]=y;else _.setAttribute(a,y===!0?"":y)});if(l(),_._cleanups.add(()=>U(l)),Y(()=>U(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(_.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";_.addEventListener(y,(E)=>e(E.target[a]))}}else{let l=_r(a,e);if(l!=null)if(a in _&&!o)_[a]=l;else _.setAttribute(a,l===!0?"":l)}}let u=(a)=>{if(Z(a))return a.forEach(u);if(z(a)){let e=P.createTextNode("");_.appendChild(e);let l=[],y=V(()=>{let E=a(),s=(Z(E)?E:[E]).map(or);l.forEach((i)=>{if(i._isRuntime)i.destroy();else rr(i);if(i.parentNode)i.remove()});let N=e;for(let i=s.length-1;i>=0;i--){let b=s[i];if(b.parentNode!==N.parentNode)N.parentNode?.insertBefore(b,N);if(b._mounts)b._mounts.forEach((S)=>S());N=b}l=s});y(),_._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let e=or(a);if(_.appendChild(e),e._mounts)e._mounts.forEach((l)=>l())}};return u(f),_},H=(r)=>{let n=new Set,f=J,o=A,_=P.createElement("div");_.style.display="contents",_.setAttribute("role","presentation"),J={_cleanups:n},A=null;let u=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),_.appendChild(a.container);else if(Z(a))a.forEach(u);else _.appendChild(a instanceof Node?a:P.createTextNode(String(a==null?"":a)))};try{u(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:_,destroy:()=>{n.forEach((a)=>a()),rr(_),_.remove()}}},g=(r,n,f=null)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=null;return K(()=>!!(z(r)?r():r),(a)=>{if(u)u.destroy(),u=null;let e=a?n:f;if(e)u=H(()=>z(e)?e():e),_.insertBefore(u.container,o)}),Y(()=>u?.destroy()),_},D=({name:r,duration:n=200,scale:f,slide:o,rotate:_,blur:u},a)=>{let e=typeof a==="function"?a():a;if(!(e instanceof Node))return e;if(r)return e.style.animation=`${r}-in ${n}ms`,e;let l=f||o||_||u,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",_?"rotate(-2deg)":""].filter(Boolean).join(" ");if(e.style.transition=`all ${n}ms ease`,e.style.opacity="0",l)e.style.transform=y;if(u)e.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(e.style.opacity="1",l)e.style.transform="none";if(u)e.style.filter="none"}),e},X=(r,n,f)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=new Map;return K(()=>(z(r)?r():r)||[],(a)=>{let e=new Map,l=[],y=a||[];for(let s=0;sn(N,s));else u.delete(i);e.set(i,b),l.push(b)}u.forEach((s)=>s.destroy());let E=o;for(let s=l.length-1;s>=0;s--){let N=l[s].container;if(N.nextSibling!==E)_.insertBefore(N,E);E=N}u=e}),_},q=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let _=t("div",{class:"router-hook"}),u=null;return K([f],()=>{let a=f(),e=r.find((l)=>{let y=l.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((s,N)=>s[0]===":"||s===E[N])})||r.find((l)=>l.path==="*");if(e){u?.destroy();let l={};e.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")l[y.slice(1)]=a.split("/").filter(Boolean)[E]}),q.params(l),u=H(()=>z(e.component)?e.component(l):e.component),_.replaceChildren(u.container)}}),_};q.params=j({});q.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");q.back=()=>window.history.back();q.path=()=>window.location.hash.replace(/^#/,"")||"/";var qr=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),_=j(null),u=j(null),a=null,e=null;return{run:async(l=null)=>{a?.abort(),clearTimeout(e),a=new AbortController,e=setTimeout(()=>a.abort(),1e4),o(!0),_(null);try{let y=l instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?l:l?JSON.stringify(l):void 0,signal:a.signal}),s=await E.text(),N=s?JSON.parse(s):null;if(!E.ok)throw Error(N?.message||E.statusText);return u(N),N}catch(y){if(y.name!=="AbortError")_(y.message);throw y}finally{o(!1),clearTimeout(e),a=null,e=null}},abort:()=>a?.abort(),loading:o,error:_,data:u}},nr=(r,n)=>{let f=typeof n==="string"?P.querySelector(n):n;if(!f)return;if(h.has(f))h.get(f).destroy();let o=H(z(r)?r:()=>r);return f.replaceChildren(o.container),h.set(f,o),o},Br=Object.freeze({$:j,$$:er,watch:K,h:t,when:g,each:X,fx:D,router:q,req:qr,mount:nr,batch:Zr});if(typeof window<"u")Object.assign(window,Br),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,G=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",lr=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((_)=>String(_&&typeof _==="object"?_[f]:_).toLowerCase().includes(o)),yr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,wr=()=>document.activeElement?.blur(),Er=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(_,u)=>{let a=C(r),e=f(),l=a.length;if(!l)return;let y=_.key;y==="ArrowDown"?(_.preventDefault(),n(!0),f(Math.min(e+1,l-1))):y==="ArrowUp"?(_.preventDefault(),f(Math.max(e-1,0))):y==="Enter"?e>=0&&(_.preventDefault(),u(a[e])):y==="Escape"&&(n(!1),f(-1))}}},Ir=(r)=>{let n=r.name||yr("acc");return X(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Vr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),Or=({items:r,value:n,onselect:f,placeholder:o="Buscar...",..._})=>{let u=j(C(n)||""),a=j(!1),e=j(()=>lr(r,u())),{cursor:l,onKey:y}=Er(e,a),E=(s)=>{let N=G(s),i=typeof s==="string"?s:s.value;if(u(N),W(n))n(i);f?.(s),a(!1)};return t("div",{class:"relative w-full"},[Cr({..._,type:"text",placeholder:o,value:u,left:t("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(u(s.target.value),W(n))n(s.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),l(-1)},150),onkeydown:(s)=>y(s,E)}),g(a,()=>D({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[X(e,(s,N)=>t("li",{},[t("a",{class:()=>l()===N?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(s),onmouseenter:()=>l(N)},G(s))]),(s,N)=>G(s)+N),()=>e().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},xr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),sr=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),br=(r)=>{let n=j(new Date),f=j(null),o=j(0),_=j(0),u=new Date,a=`${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}`,e=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,l=()=>C(r.range)===!0,y=()=>C(r.value),E=(b)=>{let S=e(b),L=y();if(l())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,B=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+b,1))},N=(b)=>{let S=n();n(new Date(S.getFullYear()+b,S.getMonth(),1))},i=({value:b,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(b)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((b)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=n(),S=b.getFullYear(),L=b.getMonth(),T=new Date(S,L,1).getDay(),B=T===0?6:T-1,zr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),Pr=typeof R==="string"?R.split("T")[0]===$:R?.start===$,Rr=R?.end===$,M=!1;if(l()&&R?.start){let v=R.start;if(!R.end&&m)M=$>v&&$<=m||$=m;else if(R.end)M=$>v&&$l()&&f($),onclick:()=>E(fr)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},l()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(b)=>o(b)}),i({value:_,onChange:(b)=>_(b)})]):i({value:o,onChange:(b)=>o(b)})):null])},Hr=(r,n)=>t("div",{...r,class:w("card",r.class)},n),Dr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),dr=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),Fr=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),mr=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),Mr=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),vr=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),cr=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),hr=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),pr=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),rn=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),nn=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),tn=(r)=>{let n=()=>C(r.value)||"#000000";return ir({},[Sr({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),r.label&&t("span",{},r.label)]),jr({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},Nr({value:r.value,onchange:(f)=>{W(r.value)?r.value(f):r.onchange?.(f),wr()}}))])},Nr=(r)=>{let n=()=>C(r.value)||"#000000",f=["#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"],o=(_)=>W(r.value)?r.value(_):r.onchange?.(_);return t("div",{class:"grid grid-cols-8 gap-1"},f.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${n().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>o(_)})))},fn=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;K(()=>{let u=C(r.value);if(!u)return f("");let a="";if(typeof u==="string")a=r.hour&&u.includes("T")?u.replace("T"," "):u;else if(u.start&&u.end){let e=r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start,l=r.hour&&u.endHour!=null?`${u.end} ${String(u.endHour).padStart(2,"0")}:00`:u.end;a=`${e} - ${l}`}else if(u.start)a=`${r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start}...`;f(a)});let _=(u)=>{if(W(r.value))r.value(u);else r.onChange?.(u);if(!o()||u?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(u)=>{u.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),g(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(u)=>u.stopPropagation()},br({value:r.value,range:o(),hour:r.hour,onChange:_}))])])},on=(r,n)=>div({...r,class:w("drawer",r.class)},n),an=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),_n=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),un=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),en=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),ln=(r)=>t("div",{...r,class:w("divider",r.class)}),ir=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),Sr=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),jr=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),yn=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),wn=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),En=(r)=>{let n=j([]),f=j(!1),o=j(null),_=(r.max||2)*1024*1024,u=(e)=>{let l=Array.from(e);if(o(null),l.some((E)=>E.size>_)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...l];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(e)=>{let l=n().filter((y,E)=>E!==e);if(n(l),W(r.onselect))r.onselect(l);else if(W(r.value))r.value(l)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(e)=>{e.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(e)=>{e.preventDefault(),f(!1),u(e.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(e)=>u(e.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),g(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},X(n,(e,l)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},e.name),t("span",{class:"text-[9px] opacity-40"},`(${(e.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(l)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),sn=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Cr=(r)=>{let{label:n,icon:f,float:o,placeholder:_,value:u,left:a,right:e,rule:l,hint:y,content:E,...s}=r,N=j(!1),i=j(!1),b=r.type==="password",S=l??null,L=()=>b?C(N)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...s,type:L,class:"grow",pattern:S,placeholder:_||n||" ",value:u}),e??null,b?Ar({class:"ml-2"},[Wr({value:N,class:"swap-rotate"}),Lr({},d("icon-[lucide--eye]")),Jr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,g(i,()=>D({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},bn=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Nn=(r,n)=>t("ul",{...r,class:w("list",r.class)},n),Sn=(r)=>()=>(C(r.items)||[]).map((n,f)=>t("li",{class:w("list-row",r.class,n?.class)},typeof r.render==="function"?r.render(n,f):n)),jn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),Cn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},G(o)),t("ul",{},X(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(_)=>{if(!o.href)_.preventDefault();o.onclick(_)}:null},G(o)));return t("ul",{class:w("menu",r.class)},X(()=>C(n)||[],f))},An=(r)=>{let n=null;K(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||sr({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Wn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),Ln=(r)=>t("progress",{...r,class:w("progress",r.class)}),Jn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Tn=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),$n=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),kn=(r,n)=>t("div",{...r,class:"rating"},n),zn=(r)=>[...Array(r.count)].map((n,f)=>t("input",{class:w("mask",r.class),name:r.name,type:"radio",checked:()=>C(r.value)===f,onchange:()=>W(r.value)?r.value(f):r.onchange?.(f)})),Pn=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:_,placeholderDisabled:u=!0,value:a,left:e,right:l,hint:y,items:E,keyFn:s,...N}=r,i=()=>{let b=C(E)||[];return[..._?[{disabled:u,label:_,value:""}]:[],...b]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",N.class)},[!o&&f?t("span",{class:"label"},f):null,e??null,t("select",{value:()=>C(a),onchange:(b)=>W(a)?a(b.target.value):N.onchange?.(b)},X(i,(b)=>{let S=G(b,b.value!==void 0?"value":void 0),L=G(b,"label");return t("option",{value:S,disabled:b.disabled||void 0},L)})),l??null]),y?t("div",{class:"validator-hint"},y):null])},Rn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),Gn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),Xn=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),Qn=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Un=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),Ar=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),Wr=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),Lr=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),Jr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),Kn=(r,n)=>t("table",{...r,class:w("table",r.class)},n),Zn=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((u)=>u.label)?t("thead",{},t("tr",{},n.map((u)=>t("th",{class:u.class},u.label)))):null,_=t("tbody",{},()=>{return(C(r)||[]).map((a,e)=>t("tr",{},n.map((l)=>{let y=l.render?l.render(a,e):a[l.key];return t("td",{class:l.class},y)})))});return[o,_].filter(Boolean)},Yn=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:_,class:u,...a}=r,e=(y)=>W(y)?y():y,l=_||(W(f)?(y,E)=>{let N=e(f).filter((i,b)=>b!==y);if(f(N),o()>=N.length)o(Math.max(0,N.length-1))}:null);return t("div",{...a,class:w("tabs",u)},()=>{return(e(f)||[]).flatMap((E,s)=>{let N=()=>o()===s,i=t("button",{class:()=>`tab ${N()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(s),E.onclick?.(S)}},[G(E),E.closable?t("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:(S)=>{S.stopPropagation(),l?.(s,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${N()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,b]})})},gn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),qn=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Bn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),In=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let _=t("div",{style:"display: contents"});o.appendChild(_);let u,a,e,y=nr(()=>{let E=j(!1),s=j(!1);u=()=>{if(s())return;clearTimeout(a),clearTimeout(e),s(!0),setTimeout(()=>{if(y.destroy(),_.remove(),!o.hasChildNodes())o.remove()},300)},e=setTimeout(()=>E(!0),0);let N=typeof r==="function"?C(r):r,i=typeof N==="string"?t("span",{},N):N;return t("div",{class:()=>{if(s())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:u},t("span",{class:"icon-[lucide--x]"}))])},_);if(f>0)a=setTimeout(u,f);return u},Vn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),On=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var xn={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"}},Tr=j("es"),$r=(r)=>Tr(r),kr=(r)=>()=>xn[Tr()][r]||r;var Hn={...tr},Dn={Locale:$r,tt:kr};if(typeof window<"u")Object.entries({...Hn,...Dn}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");export{Dn as Utils,Hn as Components}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index f398d7a..bf458b8 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -74,6 +74,7 @@ SkeletonText: () => SkeletonText, Skeleton: () => Skeleton, Select: () => Select, + RatingItems: () => RatingItems, Rating: () => Rating, Range: () => Range, Radio: () => Radio, @@ -83,6 +84,7 @@ Modal: () => Modal, Menu: () => Menu, Loading: () => Loading, + ListRows: () => ListRows, List: () => List, Kbd: () => Kbd, Input: () => Input, @@ -102,6 +104,7 @@ Divider: () => Divider, Datepicker: () => Datepicker, Colorpicker: () => Colorpicker, + ColorPalette: () => ColorPalette, Checkbox: () => Checkbox, ChatImage: () => ChatImage, ChatHeader: () => ChatHeader, @@ -744,7 +747,19 @@ var ChatImage = (p2, c) => O("div", { ...p2, class: cls("chat-image avatar", p2.class) }, O("div", { class: "w-10 rounded-full" }, typeof c === "string" ? O("img", { src: c, alt: "avatar" }) : c)); var Checkbox = (p2) => O("input", { ...p2, type: "checkbox", class: cls("checkbox", p2.class) }); var Colorpicker = (p2) => { - const isOpen = S(false); + const current = () => get(p2.value) || "#000000"; + return Dropdown({}, [ + DropdownButton({ class: "btn" }, [ + O("div", { class: "size-5 rounded-sm", style: () => `background-color: ${current()}` }), + p2.label && O("span", {}, p2.label) + ]), + DropdownContent({ class: "p-3 bg-base-100 rounded-box shadow-xl w-64" }, ColorPalette({ value: p2.value, onchange: (c) => { + isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); + close(); + } })) + ]); + }; + var ColorPalette = (p2) => { const current = () => get(p2.value) || "#000000"; const palette = [ "#000", @@ -812,38 +827,16 @@ "#d946ef", "#fae8ff" ]; - const pick = (c) => { - isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); - isOpen(false); - }; - return O("div", { class: cls("relative w-fit", p2.class) }, [ - O("button", { - type: "button", - class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", - onclick: (e) => { - e.stopPropagation(); - isOpen(!isOpen()); - } - }, [ - O("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${current()}` }), - p2.label && O("span", { class: "opacity-80" }, p2.label) - ]), - z(isOpen, () => [ - O("div", { - class: "fixed inset-0 z-[100]", - onclick: () => isOpen(false) - }), - O("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none" }, O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { - type: "button", - style: `background-color: ${c}`, - class: () => { - const act = current().toLowerCase() === c.toLowerCase(); - 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`; - }, - onclick: () => pick(c) - })))) - ]) - ]); + const pick = (c) => isFn(p2.value) ? p2.value(c) : p2.onchange?.(c); + return O("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => O("button", { + type: "button", + style: `background-color: ${c}`, + class: () => { + const act = current().toLowerCase() === c.toLowerCase(); + 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 ${act ? "ring-2 ring-offset-1 ring-primary z-10 scale-110" : ""}`; + }, + onclick: () => pick(c) + }))); }; var Datepicker = (p2) => { const isOpen = S(false); @@ -1017,13 +1010,8 @@ ]); }; var Kbd = (p2, c) => O("kbd", { ...p2, class: cls("kbd", p2.class) }, c); - var List = (p2, c) => { - if (!p2.items) - return O("ul", { ...p2, class: cls("list", p2.class) }, c); - return O("ul", { ...p2, class: cls("list", p2.class) }, [ - K(p2.items, (item, i) => O("li", { class: cls("list-row", item.class) }, typeof p2.render === "function" ? p2.render(item, i) : item), p2.key) - ]); - }; + var List = (p2, c) => O("ul", { ...p2, class: cls("list", p2.class) }, c); + var ListRows = (p2) => () => (get(p2.items) || []).map((item, idx) => O("li", { class: cls("list-row", p2.class, item?.class) }, typeof p2.render === "function" ? p2.render(item, idx) : item)); var Loading = (p2, c) => O("span", { ...p2, class: cls("loading loading-spinner", p2.class) }, c); var Menu = (p2) => { if (p2.children !== undefined) @@ -1075,20 +1063,8 @@ var Radial = (p2, c) => O("div", { ...p2, class: cls("radial-progress", p2.class), style: `--value:${p2.value ?? 0};${p2.style ?? ""}`, role: "progressbar", "aria-valuenow": p2.value ?? 0 }, c ?? `${p2.value ?? 0}%`); var Radio = (p2) => O("input", { ...p2, type: "radio", class: cls("radio", p2.class) }); var Range = (p2) => O("input", { ...p2, type: "range", class: cls("range", p2.class) }); - var Rating = (p2) => { - const name = rand("rating"); - const stars = p2.children ?? Array.from({ length: p2.count || 5 }, (_2, i) => { - const v2 = i + 1; - return O("input", { - type: "radio", - name, - class: cls("mask", p2.mask || "mask-star"), - checked: () => get(p2.value) === v2, - onchange: () => isFn(p2.value) ? p2.value(v2) : p2.onchange?.(v2) - }); - }); - return O("div", { class: cls("rating", p2.class), ...p2 }, stars); - }; + var Rating = (p2, c) => O("div", { ...p2, class: "rating" }, c); + var RatingItems = (p2) => [...Array(p2.count)].map((_2, i) => O("input", { class: cls("mask", p2.class), name: p2.name, type: "radio", checked: () => get(p2.value) === i, onchange: () => isFn(p2.value) ? p2.value(i) : p2.onchange?.(i) })); var Select = (p2, c) => { if (c !== undefined) return O("select", { class: cls("select", p2.class), ...p2 }, c); diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 11b7e7a..0c59a03 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:c,getOwnPropertyNames:Gr,getOwnPropertyDescriptor:Xr}=Object,Qr=Object.prototype.hasOwnProperty;function Ur(r){return this[r]}var gr=(r)=>{var n=(ar??=new WeakMap).get(r),f;if(n)return n;if(n=c({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function"){for(var o of Gr(r))if(!Qr.call(n,o))c(n,o,{get:Ur.bind(r,o),enumerable:!(f=Xr(r,o))||f.enumerable})}return ar.set(r,n),n},ar;var Kr=(r)=>r;function Zr(r,n){this[r]=Kr.bind(null,n)}var ur=(r,n)=>{for(var f in n)c(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Zr.bind(n,f)})};var Mn={};ur(Mn,{Utils:()=>zr,Components:()=>kr});var or={};ur(or,{rand:()=>fr,listKey:()=>Nr,isFn:()=>W,getBy:()=>X,get:()=>C,filterBy:()=>br,cls:()=>w,close:()=>Or,Tooltip:()=>Fn,Toggle:()=>dn,Toast:()=>Hn,Timeline:()=>Dn,Textrotate:()=>On,Textarea:()=>xn,Tabs:()=>Vn,TableItems:()=>In,Table:()=>qn,SwapToggle:()=>Cr,SwapOn:()=>Ar,SwapOff:()=>Wr,Swap:()=>jr,Steps:()=>Yn,Step:()=>Bn,Stack:()=>Zn,SkeletonText:()=>Kn,Skeleton:()=>gn,Select:()=>Un,Rating:()=>Qn,Range:()=>Xn,Radio:()=>Gn,Radial:()=>Rn,Progress:()=>$n,Navbar:()=>Pn,Modal:()=>zn,Menu:()=>kn,Loading:()=>Tn,List:()=>Jn,Kbd:()=>Ln,Input:()=>Sr,Indicator:()=>Wn,Icon:()=>d,Fileinput:()=>An,Fieldset:()=>Cn,Fab:()=>jn,DropdownContent:()=>Sn,DropdownButton:()=>sn,Dropdown:()=>Nn,DrawerToggle:()=>en,DrawerSide:()=>wn,DrawerOverlay:()=>En,DrawerContent:()=>yn,Drawer:()=>ln,Divider:()=>bn,Datepicker:()=>un,Colorpicker:()=>an,Checkbox:()=>_n,ChatImage:()=>on,ChatHeader:()=>fn,ChatFooter:()=>tn,ChatBubble:()=>nn,Chat:()=>rn,CarouselItem:()=>pr,Carousel:()=>hr,CardTitle:()=>Mr,CardBody:()=>vr,CardActions:()=>cr,Card:()=>mr,Calendar:()=>ir,Button:()=>sr,Badge:()=>Fr,Autocomplete:()=>dr,Alert:()=>Hr,Accordion:()=>Dr});var P=(r)=>typeof r==="function",rr=(r)=>r&&typeof r==="object",Z=Array.isArray,$=typeof document<"u"?document:null,lr=(r)=>r?._isRuntime?r.container:r instanceof Node?r:$.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,x=0,O=new Set,er=new WeakMap,h=Symbol("iter"),p=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Yr=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((_)=>_.delete(f));if(f._cleanups)f._cleanups.forEach((_)=>_()),f._cleanups.clear();let o=A,u=J;A=J=f;try{return f._result=r()}catch(_){console.error("[SigPro]",_)}finally{A=o,J=u}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},wr=()=>{if(I)return;I=!0;let r=Array.from(O).sort((n,f)=>n._depth-f._depth);O.clear();for(let n of r)if(!n._disposed)n();I=!1},Br=(r)=>{x++;try{return r()}finally{if(x--,x===0&&O.size>0&&!I)wr()}},z=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)z(o._subs,!0)}else O.add(o),f=!0}if(f&&!I&&x===0)queueMicrotask(wr)}},j=(r,n=null)=>{let f=new Set;if(P(r)){let o,u=()=>{if(u._dirty){let _=A;A=u;try{let a=r();if(!Object.is(o,a))o=a,z(f,!0)}finally{A=_}u._dirty=!1}return z(f),o};if(u._isComputed=!0,u._subs=f,u._dirty=!0,u._deps=null,u._disposed=!1,u.stop=()=>{},J)Y(u.stop);return u}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let u=P(o[0])?o[0](r):o[0];if(!Object.is(r,u)){if(r=u,n)localStorage.setItem(n,JSON.stringify(r));z(f,!0)}}return z(f),r}},Er=(r)=>{if(!rr(r))return r;let n=er.get(r);if(n)return n;let f=new Map,o=(_)=>{let a=f.get(_);if(!a)f.set(_,a=new Set);return a},u=new Proxy(r,{get(_,a,l){if(typeof a!=="symbol")z(o(a));return Er(Reflect.get(_,a,l))},set(_,a,l,e){let y=Reflect.has(_,a),E=Reflect.get(_,a,e),b=Reflect.set(_,a,l,e);if(b&&!Object.is(E,l)){if(z(o(a),!0),!y)z(o(h),!0)}return b},deleteProperty(_,a){let l=Reflect.deleteProperty(_,a);if(l)z(o(a),!0),z(o(h),!0);return l},ownKeys(_){return z(o(h)),Reflect.ownKeys(_)}});return er.set(r,u),u},g=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((u)=>u()):r();Yr(()=>n(o))});return f(),()=>U(f)},nr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>nr(n))},qr=/^\s*(javascript|data|vbscript):/i,Ir=(r)=>r==="src"||r==="href"||r.startsWith("on"),yr=(r,n)=>{if(n==null||n===!1)return null;if(Ir(r)){let f=String(n);if(qr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!rr(n))f=n,n={};if(P(r)){let a=V(()=>{let E=r(n,{children:f,emit:(b,...s)=>n[`on${b[0].toUpperCase()}${b.slice(1)}`]?.(...s)});return a._result=E,E});a();let l=a._result;if(l==null)return null;let e=l instanceof Node||Z(l)&&l.every((E)=>E instanceof Node)?l:$.createTextNode(String(l)),y=(E)=>{if(rr(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(e)?e.forEach(y):y(e),e}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),u=o?$.createElementNS("http://www.w3.org/2000/svg",r):$.createElement(r);u._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let l=n[a];if(a==="ref"){P(l)?l(u):l.current=u;continue}if(o&&a.startsWith("xlink:")){l==null?u.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):u.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),l);continue}if(a.startsWith("on")){let e=a.slice(2).toLowerCase();u.addEventListener(e,l);let y=()=>u.removeEventListener(e,l);u._cleanups.add(y),Y(y)}else if(P(l)){let e=V(()=>{let y=yr(a,l());if(a==="class")u.className=y||"";else if(y==null)u.removeAttribute(a);else if(a in u&&!o)u[a]=y;else u.setAttribute(a,y===!0?"":y)});if(e(),u._cleanups.add(()=>U(e)),Y(()=>U(e)),/^(INPUT|TEXTAREA|SELECT)$/.test(u.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";u.addEventListener(y,(E)=>l(E.target[a]))}}else{let e=yr(a,l);if(e!=null)if(a in u&&!o)u[a]=e;else u.setAttribute(a,e===!0?"":e)}}let _=(a)=>{if(Z(a))return a.forEach(_);if(P(a)){let l=$.createTextNode("");u.appendChild(l);let e=[],y=V(()=>{let E=a(),b=(Z(E)?E:[E]).map(lr);e.forEach((i)=>{if(i._isRuntime)i.destroy();else nr(i);if(i.parentNode)i.remove()});let s=l;for(let i=b.length-1;i>=0;i--){let N=b[i];if(N.parentNode!==s.parentNode)s.parentNode?.insertBefore(N,s);if(N._mounts)N._mounts.forEach((S)=>S());s=N}e=b});y(),u._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let l=lr(a);if(u.appendChild(l),l._mounts)l._mounts.forEach((e)=>e())}};return _(f),u},D=(r)=>{let n=new Set,f=J,o=A,u=$.createElement("div");u.style.display="contents",u.setAttribute("role","presentation"),J={_cleanups:n},A=null;let _=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),u.appendChild(a.container);else if(Z(a))a.forEach(_);else u.appendChild(a instanceof Node?a:$.createTextNode(String(a==null?"":a)))};try{_(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:u,destroy:()=>{n.forEach((a)=>a()),nr(u),u.remove()}}},K=(r,n,f=null)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=null;return g(()=>!!(P(r)?r():r),(a)=>{if(_)_.destroy(),_=null;let l=a?n:f;if(l)_=D(()=>P(l)?l():l),u.insertBefore(_.container,o)}),Y(()=>_?.destroy()),u},H=({name:r,duration:n=200,scale:f,slide:o,rotate:u,blur:_},a)=>{let l=typeof a==="function"?a():a;if(!(l instanceof Node))return l;if(r)return l.style.animation=`${r}-in ${n}ms`,l;let e=f||o||u||_,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",u?"rotate(-2deg)":""].filter(Boolean).join(" ");if(l.style.transition=`all ${n}ms ease`,l.style.opacity="0",e)l.style.transform=y;if(_)l.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(l.style.opacity="1",e)l.style.transform="none";if(_)l.style.filter="none"}),l},G=(r,n,f)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=new Map;return g(()=>(P(r)?r():r)||[],(a)=>{let l=new Map,e=[],y=a||[];for(let b=0;bn(s,b));else _.delete(i);l.set(i,N),e.push(N)}_.forEach((b)=>b.destroy());let E=o;for(let b=e.length-1;b>=0;b--){let s=e[b].container;if(s.nextSibling!==E)u.insertBefore(s,E);E=s}_=l}),u},B=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let u=t("div",{class:"router-hook"}),_=null;return g([f],()=>{let a=f(),l=r.find((e)=>{let y=e.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((b,s)=>b[0]===":"||b===E[s])})||r.find((e)=>e.path==="*");if(l){_?.destroy();let e={};l.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")e[y.slice(1)]=a.split("/").filter(Boolean)[E]}),B.params(e),_=D(()=>P(l.component)?l.component(e):l.component),u.replaceChildren(_.container)}}),u};B.params=j({});B.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");B.back=()=>window.history.back();B.path=()=>window.location.hash.replace(/^#/,"")||"/";var Vr=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),u=j(null),_=j(null),a=null,l=null;return{run:async(e=null)=>{a?.abort(),clearTimeout(l),a=new AbortController,l=setTimeout(()=>a.abort(),1e4),o(!0),u(null);try{let y=e instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?e:e?JSON.stringify(e):void 0,signal:a.signal}),b=await E.text(),s=b?JSON.parse(b):null;if(!E.ok)throw Error(s?.message||E.statusText);return _(s),s}catch(y){if(y.name!=="AbortError")u(y.message);throw y}finally{o(!1),clearTimeout(l),a=null,l=null}},abort:()=>a?.abort(),loading:o,error:u,data:_}},tr=(r,n)=>{let f=typeof n==="string"?$.querySelector(n):n;if(!f)return;if(p.has(f))p.get(f).destroy();let o=D(P(r)?r:()=>r);return f.replaceChildren(o.container),p.set(f,o),o},xr=Object.freeze({$:j,$$:Er,watch:g,h:t,when:K,each:G,fx:H,router:B,req:Vr,mount:tr,batch:Br});if(typeof window<"u")Object.assign(window,xr),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,X=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",br=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((u)=>String(u&&typeof u==="object"?u[f]:u).toLowerCase().includes(o)),fr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,Or=()=>document.activeElement?.blur(),Nr=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(u,_)=>{let a=C(r),l=f(),e=a.length;if(!e)return;let y=u.key;y==="ArrowDown"?(u.preventDefault(),n(!0),f(Math.min(l+1,e-1))):y==="ArrowUp"?(u.preventDefault(),f(Math.max(l-1,0))):y==="Enter"?l>=0&&(u.preventDefault(),_(a[l])):y==="Escape"&&(n(!1),f(-1))}}},Dr=(r)=>{let n=r.name||fr("acc");return G(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Hr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),dr=({items:r,value:n,onselect:f,placeholder:o="Buscar...",...u})=>{let _=j(C(n)||""),a=j(!1),l=j(()=>br(r,_())),{cursor:e,onKey:y}=Nr(l,a),E=(b)=>{let s=X(b),i=typeof b==="string"?b:b.value;if(_(s),W(n))n(i);f?.(b),a(!1)};return t("div",{class:"relative w-full"},[Sr({...u,type:"text",placeholder:o,value:_,left:t("span",{class:"icon-[lucide--search]"}),oninput:(b)=>{if(_(b.target.value),W(n))n(b.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),e(-1)},150),onkeydown:(b)=>y(b,E)}),K(a,()=>H({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[G(l,(b,s)=>t("li",{},[t("a",{class:()=>e()===s?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(b),onmouseenter:()=>e(s)},X(b))]),(b,s)=>X(b)+s),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},Fr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),sr=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),ir=(r)=>{let n=j(new Date),f=j(null),o=j(0),u=j(0),_=new Date,a=`${_.getFullYear()}-${String(_.getMonth()+1).padStart(2,"0")}-${String(_.getDate()).padStart(2,"0")}`,l=(N)=>`${N.getFullYear()}-${String(N.getMonth()+1).padStart(2,"0")}-${String(N.getDate()).padStart(2,"0")}`,e=()=>C(r.range)===!0,y=()=>C(r.value),E=(N)=>{let S=l(N),L=y();if(e())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,q=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+N,1))},s=(N)=>{let S=n();n(new Date(S.getFullYear()+N,S.getMonth(),1))},i=({value:N,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:N,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(N)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((N)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},N)),()=>{let N=n(),S=N.getFullYear(),L=N.getMonth(),T=new Date(S,L,1).getDay(),q=T===0?6:T-1,Pr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),$r=typeof R==="string"?R.split("T")[0]===k:R?.start===k,Rr=R?.end===k,M=!1;if(e()&&R?.start){let v=R.start;if(!R.end&&m)M=k>v&&k<=m||k=m;else if(R.end)M=k>v&&ke()&&f(k),onclick:()=>E(_r)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},e()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(N)=>o(N)}),i({value:u,onChange:(N)=>u(N)})]):i({value:o,onChange:(N)=>o(N)})):null])},mr=(r,n)=>t("div",{...r,class:w("card",r.class)},n),Mr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),vr=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),cr=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),hr=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),pr=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),rn=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),nn=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),tn=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),fn=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),on=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),_n=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),an=(r)=>{let n=j(!1),f=()=>C(r.value)||"#000000",o=["#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"],u=(_)=>{W(r.value)?r.value(_):r.onchange?.(_),n(!1)};return t("div",{class:w("relative w-fit",r.class)},[t("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${f()}`}),r.label&&t("span",{class:"opacity-80"},r.label)]),K(n,()=>[t("div",{class:"fixed inset-0 z-[100]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none"},t("div",{class:"grid grid-cols-8 gap-1"},o.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${f().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>u(_)}))))])])},un=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;g(()=>{let _=C(r.value);if(!_)return f("");let a="";if(typeof _==="string")a=r.hour&&_.includes("T")?_.replace("T"," "):_;else if(_.start&&_.end){let l=r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start,e=r.hour&&_.endHour!=null?`${_.end} ${String(_.endHour).padStart(2,"0")}:00`:_.end;a=`${l} - ${e}`}else if(_.start)a=`${r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start}...`;f(a)});let u=(_)=>{if(W(r.value))r.value(_);else r.onChange?.(_);if(!o()||_?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),K(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(_)=>_.stopPropagation()},ir({value:r.value,range:o(),hour:r.hour,onChange:u}))])])},ln=(r,n)=>div({...r,class:w("drawer",r.class)},n),en=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),yn=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),wn=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),En=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),bn=(r)=>t("div",{...r,class:w("divider",r.class)}),Nn=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),sn=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),Sn=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),jn=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),Cn=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),An=(r)=>{let n=j([]),f=j(!1),o=j(null),u=(r.max||2)*1024*1024,_=(l)=>{let e=Array.from(l);if(o(null),e.some((E)=>E.size>u)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...e];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(l)=>{let e=n().filter((y,E)=>E!==l);if(n(e),W(r.onselect))r.onselect(e);else if(W(r.value))r.value(e)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(l)=>{l.preventDefault(),f(!1),_(l.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(l)=>_(l.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),K(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},G(n,(l,e)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},l.name),t("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(e)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),Wn=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Sr=(r)=>{let{label:n,icon:f,float:o,placeholder:u,value:_,left:a,right:l,rule:e,hint:y,content:E,...b}=r,s=j(!1),i=j(!1),N=r.type==="password",S=e??null,L=()=>N?C(s)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...b,type:L,class:"grow",pattern:S,placeholder:u||n||" ",value:_}),l??null,N?jr({class:"ml-2"},[Cr({value:s,class:"swap-rotate"}),Ar({},d("icon-[lucide--eye]")),Wr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,K(i,()=>H({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},Ln=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Jn=(r,n)=>{if(!r.items)return t("ul",{...r,class:w("list",r.class)},n);return t("ul",{...r,class:w("list",r.class)},[G(r.items,(f,o)=>t("li",{class:w("list-row",f.class)},typeof r.render==="function"?r.render(f,o):f),r.key)])},Tn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),kn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},X(o)),t("ul",{},G(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(u)=>{if(!o.href)u.preventDefault();o.onclick(u)}:null},X(o)));return t("ul",{class:w("menu",r.class)},G(()=>C(n)||[],f))},zn=(r)=>{let n=null;g(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||sr({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Pn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),$n=(r)=>t("progress",{...r,class:w("progress",r.class)}),Rn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Gn=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),Xn=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),Qn=(r)=>{let n=fr("rating"),f=r.children??Array.from({length:r.count||5},(o,u)=>{let _=u+1;return t("input",{type:"radio",name:n,class:w("mask",r.mask||"mask-star"),checked:()=>C(r.value)===_,onchange:()=>W(r.value)?r.value(_):r.onchange?.(_)})});return t("div",{class:w("rating",r.class),...r},f)},Un=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:u,placeholderDisabled:_=!0,value:a,left:l,right:e,hint:y,items:E,keyFn:b,...s}=r,i=()=>{let N=C(E)||[];return[...u?[{disabled:_,label:u,value:""}]:[],...N]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",s.class)},[!o&&f?t("span",{class:"label"},f):null,l??null,t("select",{value:()=>C(a),onchange:(N)=>W(a)?a(N.target.value):s.onchange?.(N)},G(i,(N)=>{let S=X(N,N.value!==void 0?"value":void 0),L=X(N,"label");return t("option",{value:S,disabled:N.disabled||void 0},L)})),e??null]),y?t("div",{class:"validator-hint"},y):null])},gn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),Kn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),Zn=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),Yn=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Bn=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),jr=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),Cr=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),Ar=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),Wr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),qn=(r,n)=>t("table",{...r,class:w("table",r.class)},n),In=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((_)=>_.label)?t("thead",{},t("tr",{},n.map((_)=>t("th",{class:_.class},_.label)))):null,u=t("tbody",{},()=>{return(C(r)||[]).map((a,l)=>t("tr",{},n.map((e)=>{let y=e.render?e.render(a,l):a[e.key];return t("td",{class:e.class},y)})))});return[o,u].filter(Boolean)},Vn=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:u,class:_,...a}=r,l=(y)=>W(y)?y():y,e=u||(W(f)?(y,E)=>{let s=l(f).filter((i,N)=>N!==y);if(f(s),o()>=s.length)o(Math.max(0,s.length-1))}:null);return t("div",{...a,class:w("tabs",_)},()=>{return(l(f)||[]).flatMap((E,b)=>{let s=()=>o()===b,i=t("button",{class:()=>`tab ${s()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(b),E.onclick?.(S)}},[X(E),E.closable?t("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:(S)=>{S.stopPropagation(),e?.(b,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),N=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${s()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,N]})})},xn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),On=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Dn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),Hn=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let u=t("div",{style:"display: contents"});o.appendChild(u);let _,a,l,y=tr(()=>{let E=j(!1),b=j(!1);_=()=>{if(b())return;clearTimeout(a),clearTimeout(l),b(!0),setTimeout(()=>{if(y.destroy(),u.remove(),!o.hasChildNodes())o.remove()},300)},l=setTimeout(()=>E(!0),0);let s=typeof r==="function"?C(r):r,i=typeof s==="string"?t("span",{},s):s;return t("div",{class:()=>{if(b())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:_},t("span",{class:"icon-[lucide--x]"}))])},u);if(f>0)a=setTimeout(_,f);return _},dn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),Fn=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var mn={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"}},Lr=j("es"),Jr=(r)=>Lr(r),Tr=(r)=>()=>mn[Lr()][r]||r;var kr={...or},zr={Locale:Jr,tt:Tr};if(typeof window<"u")Object.entries({...kr,...zr}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); +(()=>{var{defineProperty:c,getOwnPropertyNames:Zr,getOwnPropertyDescriptor:Yr}=Object,gr=Object.prototype.hasOwnProperty;function qr(r){return this[r]}var Br=(r)=>{var n=(ar??=new WeakMap).get(r),f;if(n)return n;if(n=c({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function"){for(var o of Zr(r))if(!gr.call(n,o))c(n,o,{get:qr.bind(r,o),enumerable:!(f=Yr(r,o))||f.enumerable})}return ar.set(r,n),n},ar;var Ir=(r)=>r;function Vr(r,n){this[r]=Ir.bind(null,n)}var _r=(r,n)=>{for(var f in n)c(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Vr.bind(n,f)})};var hn={};_r(hn,{Utils:()=>Xr,Components:()=>Gr});var fr={};_r(fr,{rand:()=>sr,listKey:()=>Nr,isFn:()=>W,getBy:()=>G,get:()=>C,filterBy:()=>Er,cls:()=>w,close:()=>br,Tooltip:()=>vn,Toggle:()=>Mn,Toast:()=>mn,Timeline:()=>Fn,Textrotate:()=>dn,Textarea:()=>Dn,Tabs:()=>Hn,TableItems:()=>xn,Table:()=>On,SwapToggle:()=>Tr,SwapOn:()=>$r,SwapOff:()=>kr,Swap:()=>Jr,Steps:()=>In,Step:()=>Vn,Stack:()=>Bn,SkeletonText:()=>qn,Skeleton:()=>gn,Select:()=>Yn,RatingItems:()=>Zn,Rating:()=>Kn,Range:()=>Un,Radio:()=>Qn,Radial:()=>Xn,Progress:()=>Gn,Navbar:()=>Rn,Modal:()=>Pn,Menu:()=>zn,Loading:()=>kn,ListRows:()=>$n,List:()=>Tn,Kbd:()=>Jn,Input:()=>Lr,Indicator:()=>Ln,Icon:()=>d,Fileinput:()=>Wn,Fieldset:()=>An,Fab:()=>Cn,DropdownContent:()=>Wr,DropdownButton:()=>Ar,Dropdown:()=>Cr,DrawerToggle:()=>sn,DrawerSide:()=>Nn,DrawerOverlay:()=>Sn,DrawerContent:()=>bn,Drawer:()=>En,Divider:()=>jn,Datepicker:()=>wn,Colorpicker:()=>yn,ColorPalette:()=>jr,Checkbox:()=>ln,ChatImage:()=>en,ChatHeader:()=>un,ChatFooter:()=>_n,ChatBubble:()=>an,Chat:()=>on,CarouselItem:()=>fn,Carousel:()=>tn,CardTitle:()=>pr,CardBody:()=>rn,CardActions:()=>nn,Card:()=>hr,Calendar:()=>Sr,Button:()=>ir,Badge:()=>cr,Autocomplete:()=>vr,Alert:()=>Mr,Accordion:()=>mr});var z=(r)=>typeof r==="function",rr=(r)=>r&&typeof r==="object",Z=Array.isArray,P=typeof document<"u"?document:null,ur=(r)=>r?._isRuntime?r.container:r instanceof Node?r:P.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,O=0,x=new Set,er=new WeakMap,h=Symbol("iter"),p=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Or=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((u)=>u.delete(f));if(f._cleanups)f._cleanups.forEach((u)=>u()),f._cleanups.clear();let o=A,_=J;A=J=f;try{return f._result=r()}catch(u){console.error("[SigPro]",u)}finally{A=o,J=_}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},yr=()=>{if(I)return;I=!0;let r=Array.from(x).sort((n,f)=>n._depth-f._depth);x.clear();for(let n of r)if(!n._disposed)n();I=!1},xr=(r)=>{O++;try{return r()}finally{if(O--,O===0&&x.size>0&&!I)yr()}},k=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)k(o._subs,!0)}else x.add(o),f=!0}if(f&&!I&&O===0)queueMicrotask(yr)}},j=(r,n=null)=>{let f=new Set;if(z(r)){let o,_=()=>{if(_._dirty){let u=A;A=_;try{let a=r();if(!Object.is(o,a))o=a,k(f,!0)}finally{A=u}_._dirty=!1}return k(f),o};if(_._isComputed=!0,_._subs=f,_._dirty=!0,_._deps=null,_._disposed=!1,_.stop=()=>{},J)Y(_.stop);return _}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let _=z(o[0])?o[0](r):o[0];if(!Object.is(r,_)){if(r=_,n)localStorage.setItem(n,JSON.stringify(r));k(f,!0)}}return k(f),r}},wr=(r)=>{if(!rr(r))return r;let n=er.get(r);if(n)return n;let f=new Map,o=(u)=>{let a=f.get(u);if(!a)f.set(u,a=new Set);return a},_=new Proxy(r,{get(u,a,e){if(typeof a!=="symbol")k(o(a));return wr(Reflect.get(u,a,e))},set(u,a,e,l){let y=Reflect.has(u,a),E=Reflect.get(u,a,l),s=Reflect.set(u,a,e,l);if(s&&!Object.is(E,e)){if(k(o(a),!0),!y)k(o(h),!0)}return s},deleteProperty(u,a){let e=Reflect.deleteProperty(u,a);if(e)k(o(a),!0),k(o(h),!0);return e},ownKeys(u){return k(o(h)),Reflect.ownKeys(u)}});return er.set(r,_),_},K=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((_)=>_()):r();Or(()=>n(o))});return f(),()=>U(f)},nr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>nr(n))},Hr=/^\s*(javascript|data|vbscript):/i,Dr=(r)=>r==="src"||r==="href"||r.startsWith("on"),lr=(r,n)=>{if(n==null||n===!1)return null;if(Dr(r)){let f=String(n);if(Hr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!rr(n))f=n,n={};if(z(r)){let a=V(()=>{let E=r(n,{children:f,emit:(s,...N)=>n[`on${s[0].toUpperCase()}${s.slice(1)}`]?.(...N)});return a._result=E,E});a();let e=a._result;if(e==null)return null;let l=e instanceof Node||Z(e)&&e.every((E)=>E instanceof Node)?e:P.createTextNode(String(e)),y=(E)=>{if(rr(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(l)?l.forEach(y):y(l),l}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),_=o?P.createElementNS("http://www.w3.org/2000/svg",r):P.createElement(r);_._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let e=n[a];if(a==="ref"){z(e)?e(_):e.current=_;continue}if(o&&a.startsWith("xlink:")){e==null?_.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):_.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),e);continue}if(a.startsWith("on")){let l=a.slice(2).toLowerCase();_.addEventListener(l,e);let y=()=>_.removeEventListener(l,e);_._cleanups.add(y),Y(y)}else if(z(e)){let l=V(()=>{let y=lr(a,e());if(a==="class")_.className=y||"";else if(y==null)_.removeAttribute(a);else if(a in _&&!o)_[a]=y;else _.setAttribute(a,y===!0?"":y)});if(l(),_._cleanups.add(()=>U(l)),Y(()=>U(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(_.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";_.addEventListener(y,(E)=>e(E.target[a]))}}else{let l=lr(a,e);if(l!=null)if(a in _&&!o)_[a]=l;else _.setAttribute(a,l===!0?"":l)}}let u=(a)=>{if(Z(a))return a.forEach(u);if(z(a)){let e=P.createTextNode("");_.appendChild(e);let l=[],y=V(()=>{let E=a(),s=(Z(E)?E:[E]).map(ur);l.forEach((i)=>{if(i._isRuntime)i.destroy();else nr(i);if(i.parentNode)i.remove()});let N=e;for(let i=s.length-1;i>=0;i--){let b=s[i];if(b.parentNode!==N.parentNode)N.parentNode?.insertBefore(b,N);if(b._mounts)b._mounts.forEach((S)=>S());N=b}l=s});y(),_._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let e=ur(a);if(_.appendChild(e),e._mounts)e._mounts.forEach((l)=>l())}};return u(f),_},H=(r)=>{let n=new Set,f=J,o=A,_=P.createElement("div");_.style.display="contents",_.setAttribute("role","presentation"),J={_cleanups:n},A=null;let u=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),_.appendChild(a.container);else if(Z(a))a.forEach(u);else _.appendChild(a instanceof Node?a:P.createTextNode(String(a==null?"":a)))};try{u(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:_,destroy:()=>{n.forEach((a)=>a()),nr(_),_.remove()}}},g=(r,n,f=null)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=null;return K(()=>!!(z(r)?r():r),(a)=>{if(u)u.destroy(),u=null;let e=a?n:f;if(e)u=H(()=>z(e)?e():e),_.insertBefore(u.container,o)}),Y(()=>u?.destroy()),_},D=({name:r,duration:n=200,scale:f,slide:o,rotate:_,blur:u},a)=>{let e=typeof a==="function"?a():a;if(!(e instanceof Node))return e;if(r)return e.style.animation=`${r}-in ${n}ms`,e;let l=f||o||_||u,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",_?"rotate(-2deg)":""].filter(Boolean).join(" ");if(e.style.transition=`all ${n}ms ease`,e.style.opacity="0",l)e.style.transform=y;if(u)e.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(e.style.opacity="1",l)e.style.transform="none";if(u)e.style.filter="none"}),e},X=(r,n,f)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=new Map;return K(()=>(z(r)?r():r)||[],(a)=>{let e=new Map,l=[],y=a||[];for(let s=0;sn(N,s));else u.delete(i);e.set(i,b),l.push(b)}u.forEach((s)=>s.destroy());let E=o;for(let s=l.length-1;s>=0;s--){let N=l[s].container;if(N.nextSibling!==E)_.insertBefore(N,E);E=N}u=e}),_},q=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let _=t("div",{class:"router-hook"}),u=null;return K([f],()=>{let a=f(),e=r.find((l)=>{let y=l.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((s,N)=>s[0]===":"||s===E[N])})||r.find((l)=>l.path==="*");if(e){u?.destroy();let l={};e.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")l[y.slice(1)]=a.split("/").filter(Boolean)[E]}),q.params(l),u=H(()=>z(e.component)?e.component(l):e.component),_.replaceChildren(u.container)}}),_};q.params=j({});q.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");q.back=()=>window.history.back();q.path=()=>window.location.hash.replace(/^#/,"")||"/";var dr=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),_=j(null),u=j(null),a=null,e=null;return{run:async(l=null)=>{a?.abort(),clearTimeout(e),a=new AbortController,e=setTimeout(()=>a.abort(),1e4),o(!0),_(null);try{let y=l instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?l:l?JSON.stringify(l):void 0,signal:a.signal}),s=await E.text(),N=s?JSON.parse(s):null;if(!E.ok)throw Error(N?.message||E.statusText);return u(N),N}catch(y){if(y.name!=="AbortError")_(y.message);throw y}finally{o(!1),clearTimeout(e),a=null,e=null}},abort:()=>a?.abort(),loading:o,error:_,data:u}},tr=(r,n)=>{let f=typeof n==="string"?P.querySelector(n):n;if(!f)return;if(p.has(f))p.get(f).destroy();let o=H(z(r)?r:()=>r);return f.replaceChildren(o.container),p.set(f,o),o},Fr=Object.freeze({$:j,$$:wr,watch:K,h:t,when:g,each:X,fx:D,router:q,req:dr,mount:tr,batch:xr});if(typeof window<"u")Object.assign(window,Fr),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,G=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",Er=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((_)=>String(_&&typeof _==="object"?_[f]:_).toLowerCase().includes(o)),sr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,br=()=>document.activeElement?.blur(),Nr=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(_,u)=>{let a=C(r),e=f(),l=a.length;if(!l)return;let y=_.key;y==="ArrowDown"?(_.preventDefault(),n(!0),f(Math.min(e+1,l-1))):y==="ArrowUp"?(_.preventDefault(),f(Math.max(e-1,0))):y==="Enter"?e>=0&&(_.preventDefault(),u(a[e])):y==="Escape"&&(n(!1),f(-1))}}},mr=(r)=>{let n=r.name||sr("acc");return X(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Mr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),vr=({items:r,value:n,onselect:f,placeholder:o="Buscar...",..._})=>{let u=j(C(n)||""),a=j(!1),e=j(()=>Er(r,u())),{cursor:l,onKey:y}=Nr(e,a),E=(s)=>{let N=G(s),i=typeof s==="string"?s:s.value;if(u(N),W(n))n(i);f?.(s),a(!1)};return t("div",{class:"relative w-full"},[Lr({..._,type:"text",placeholder:o,value:u,left:t("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(u(s.target.value),W(n))n(s.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),l(-1)},150),onkeydown:(s)=>y(s,E)}),g(a,()=>D({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[X(e,(s,N)=>t("li",{},[t("a",{class:()=>l()===N?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(s),onmouseenter:()=>l(N)},G(s))]),(s,N)=>G(s)+N),()=>e().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},cr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),ir=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),Sr=(r)=>{let n=j(new Date),f=j(null),o=j(0),_=j(0),u=new Date,a=`${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}`,e=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,l=()=>C(r.range)===!0,y=()=>C(r.value),E=(b)=>{let S=e(b),L=y();if(l())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,B=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+b,1))},N=(b)=>{let S=n();n(new Date(S.getFullYear()+b,S.getMonth(),1))},i=({value:b,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(b)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((b)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=n(),S=b.getFullYear(),L=b.getMonth(),T=new Date(S,L,1).getDay(),B=T===0?6:T-1,Qr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),Ur=typeof R==="string"?R.split("T")[0]===$:R?.start===$,Kr=R?.end===$,M=!1;if(l()&&R?.start){let v=R.start;if(!R.end&&m)M=$>v&&$<=m||$=m;else if(R.end)M=$>v&&$l()&&f($),onclick:()=>E(or)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},l()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(b)=>o(b)}),i({value:_,onChange:(b)=>_(b)})]):i({value:o,onChange:(b)=>o(b)})):null])},hr=(r,n)=>t("div",{...r,class:w("card",r.class)},n),pr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),rn=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),nn=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),tn=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),fn=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),on=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),an=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),_n=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),un=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),en=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),ln=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),yn=(r)=>{let n=()=>C(r.value)||"#000000";return Cr({},[Ar({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),r.label&&t("span",{},r.label)]),Wr({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},jr({value:r.value,onchange:(f)=>{W(r.value)?r.value(f):r.onchange?.(f),br()}}))])},jr=(r)=>{let n=()=>C(r.value)||"#000000",f=["#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"],o=(_)=>W(r.value)?r.value(_):r.onchange?.(_);return t("div",{class:"grid grid-cols-8 gap-1"},f.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${n().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>o(_)})))},wn=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;K(()=>{let u=C(r.value);if(!u)return f("");let a="";if(typeof u==="string")a=r.hour&&u.includes("T")?u.replace("T"," "):u;else if(u.start&&u.end){let e=r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start,l=r.hour&&u.endHour!=null?`${u.end} ${String(u.endHour).padStart(2,"0")}:00`:u.end;a=`${e} - ${l}`}else if(u.start)a=`${r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start}...`;f(a)});let _=(u)=>{if(W(r.value))r.value(u);else r.onChange?.(u);if(!o()||u?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(u)=>{u.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),g(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(u)=>u.stopPropagation()},Sr({value:r.value,range:o(),hour:r.hour,onChange:_}))])])},En=(r,n)=>div({...r,class:w("drawer",r.class)},n),sn=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),bn=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),Nn=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),Sn=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),jn=(r)=>t("div",{...r,class:w("divider",r.class)}),Cr=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),Ar=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),Wr=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),Cn=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),An=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),Wn=(r)=>{let n=j([]),f=j(!1),o=j(null),_=(r.max||2)*1024*1024,u=(e)=>{let l=Array.from(e);if(o(null),l.some((E)=>E.size>_)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...l];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(e)=>{let l=n().filter((y,E)=>E!==e);if(n(l),W(r.onselect))r.onselect(l);else if(W(r.value))r.value(l)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(e)=>{e.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(e)=>{e.preventDefault(),f(!1),u(e.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(e)=>u(e.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),g(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},X(n,(e,l)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},e.name),t("span",{class:"text-[9px] opacity-40"},`(${(e.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(l)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),Ln=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Lr=(r)=>{let{label:n,icon:f,float:o,placeholder:_,value:u,left:a,right:e,rule:l,hint:y,content:E,...s}=r,N=j(!1),i=j(!1),b=r.type==="password",S=l??null,L=()=>b?C(N)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...s,type:L,class:"grow",pattern:S,placeholder:_||n||" ",value:u}),e??null,b?Jr({class:"ml-2"},[Tr({value:N,class:"swap-rotate"}),$r({},d("icon-[lucide--eye]")),kr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,g(i,()=>D({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},Jn=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Tn=(r,n)=>t("ul",{...r,class:w("list",r.class)},n),$n=(r)=>()=>(C(r.items)||[]).map((n,f)=>t("li",{class:w("list-row",r.class,n?.class)},typeof r.render==="function"?r.render(n,f):n)),kn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),zn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},G(o)),t("ul",{},X(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(_)=>{if(!o.href)_.preventDefault();o.onclick(_)}:null},G(o)));return t("ul",{class:w("menu",r.class)},X(()=>C(n)||[],f))},Pn=(r)=>{let n=null;K(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||ir({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Rn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),Gn=(r)=>t("progress",{...r,class:w("progress",r.class)}),Xn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Qn=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),Un=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),Kn=(r,n)=>t("div",{...r,class:"rating"},n),Zn=(r)=>[...Array(r.count)].map((n,f)=>t("input",{class:w("mask",r.class),name:r.name,type:"radio",checked:()=>C(r.value)===f,onchange:()=>W(r.value)?r.value(f):r.onchange?.(f)})),Yn=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:_,placeholderDisabled:u=!0,value:a,left:e,right:l,hint:y,items:E,keyFn:s,...N}=r,i=()=>{let b=C(E)||[];return[..._?[{disabled:u,label:_,value:""}]:[],...b]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",N.class)},[!o&&f?t("span",{class:"label"},f):null,e??null,t("select",{value:()=>C(a),onchange:(b)=>W(a)?a(b.target.value):N.onchange?.(b)},X(i,(b)=>{let S=G(b,b.value!==void 0?"value":void 0),L=G(b,"label");return t("option",{value:S,disabled:b.disabled||void 0},L)})),l??null]),y?t("div",{class:"validator-hint"},y):null])},gn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),qn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),Bn=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),In=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Vn=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),Jr=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),Tr=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),$r=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),kr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),On=(r,n)=>t("table",{...r,class:w("table",r.class)},n),xn=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((u)=>u.label)?t("thead",{},t("tr",{},n.map((u)=>t("th",{class:u.class},u.label)))):null,_=t("tbody",{},()=>{return(C(r)||[]).map((a,e)=>t("tr",{},n.map((l)=>{let y=l.render?l.render(a,e):a[l.key];return t("td",{class:l.class},y)})))});return[o,_].filter(Boolean)},Hn=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:_,class:u,...a}=r,e=(y)=>W(y)?y():y,l=_||(W(f)?(y,E)=>{let N=e(f).filter((i,b)=>b!==y);if(f(N),o()>=N.length)o(Math.max(0,N.length-1))}:null);return t("div",{...a,class:w("tabs",u)},()=>{return(e(f)||[]).flatMap((E,s)=>{let N=()=>o()===s,i=t("button",{class:()=>`tab ${N()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(s),E.onclick?.(S)}},[G(E),E.closable?t("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:(S)=>{S.stopPropagation(),l?.(s,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${N()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,b]})})},Dn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),dn=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Fn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),mn=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let _=t("div",{style:"display: contents"});o.appendChild(_);let u,a,e,y=tr(()=>{let E=j(!1),s=j(!1);u=()=>{if(s())return;clearTimeout(a),clearTimeout(e),s(!0),setTimeout(()=>{if(y.destroy(),_.remove(),!o.hasChildNodes())o.remove()},300)},e=setTimeout(()=>E(!0),0);let N=typeof r==="function"?C(r):r,i=typeof N==="string"?t("span",{},N):N;return t("div",{class:()=>{if(s())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:u},t("span",{class:"icon-[lucide--x]"}))])},_);if(f>0)a=setTimeout(u,f);return u},Mn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),vn=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var cn={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"}},zr=j("es"),Pr=(r)=>zr(r),Rr=(r)=>()=>cn[zr()][r]||r;var Gr={...fr},Xr={Locale:Pr,tt:Rr};if(typeof window<"u")Object.entries({...Gr,...Xr}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); diff --git a/docs/demo_display.md b/docs/demo_display.md index c3a7d42..d0bfb12 100644 --- a/docs/demo_display.md +++ b/docs/demo_display.md @@ -44,7 +44,22 @@ mount( '#demo-indicator' ); ``` +## List +
+```js +const items = $(['Dashboard', 'Settings', 'Help']) + +mount( + List({ class: 'bg-base-200 rounded-box p-2' }, + ListRows({ + items, + render: (item) => span({ class: 'font-bold' }, item) + }) + ), + '#demo-list' +) +``` ## Stack
diff --git a/docs/demo_forms.md b/docs/demo_forms.md index 7b7b3d5..76cb90a 100644 --- a/docs/demo_forms.md +++ b/docs/demo_forms.md @@ -76,6 +76,8 @@ const date = $(''); mount( Datepicker({ value: date, + range: true, + hour: true, placeholder: 'Select date', onChange: (val) => console.log('Date:', val) }), @@ -143,17 +145,14 @@ mount(
```js -const stars = $(''); +const stars = $(0) mount( - Rating({ - value: stars, - count: 5, - mask: 'mask-star', - onchange: (v) => console.log('Rated:', v) - }), + Rating({}, [ + RatingItems({ count: 5, value: stars, name: 'rat1', class:"mask-star" }), + ]), '#demo-rating' -); +) ``` ## Select diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 11b7e7a..0c59a03 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1 +1 @@ -(()=>{var{defineProperty:c,getOwnPropertyNames:Gr,getOwnPropertyDescriptor:Xr}=Object,Qr=Object.prototype.hasOwnProperty;function Ur(r){return this[r]}var gr=(r)=>{var n=(ar??=new WeakMap).get(r),f;if(n)return n;if(n=c({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function"){for(var o of Gr(r))if(!Qr.call(n,o))c(n,o,{get:Ur.bind(r,o),enumerable:!(f=Xr(r,o))||f.enumerable})}return ar.set(r,n),n},ar;var Kr=(r)=>r;function Zr(r,n){this[r]=Kr.bind(null,n)}var ur=(r,n)=>{for(var f in n)c(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Zr.bind(n,f)})};var Mn={};ur(Mn,{Utils:()=>zr,Components:()=>kr});var or={};ur(or,{rand:()=>fr,listKey:()=>Nr,isFn:()=>W,getBy:()=>X,get:()=>C,filterBy:()=>br,cls:()=>w,close:()=>Or,Tooltip:()=>Fn,Toggle:()=>dn,Toast:()=>Hn,Timeline:()=>Dn,Textrotate:()=>On,Textarea:()=>xn,Tabs:()=>Vn,TableItems:()=>In,Table:()=>qn,SwapToggle:()=>Cr,SwapOn:()=>Ar,SwapOff:()=>Wr,Swap:()=>jr,Steps:()=>Yn,Step:()=>Bn,Stack:()=>Zn,SkeletonText:()=>Kn,Skeleton:()=>gn,Select:()=>Un,Rating:()=>Qn,Range:()=>Xn,Radio:()=>Gn,Radial:()=>Rn,Progress:()=>$n,Navbar:()=>Pn,Modal:()=>zn,Menu:()=>kn,Loading:()=>Tn,List:()=>Jn,Kbd:()=>Ln,Input:()=>Sr,Indicator:()=>Wn,Icon:()=>d,Fileinput:()=>An,Fieldset:()=>Cn,Fab:()=>jn,DropdownContent:()=>Sn,DropdownButton:()=>sn,Dropdown:()=>Nn,DrawerToggle:()=>en,DrawerSide:()=>wn,DrawerOverlay:()=>En,DrawerContent:()=>yn,Drawer:()=>ln,Divider:()=>bn,Datepicker:()=>un,Colorpicker:()=>an,Checkbox:()=>_n,ChatImage:()=>on,ChatHeader:()=>fn,ChatFooter:()=>tn,ChatBubble:()=>nn,Chat:()=>rn,CarouselItem:()=>pr,Carousel:()=>hr,CardTitle:()=>Mr,CardBody:()=>vr,CardActions:()=>cr,Card:()=>mr,Calendar:()=>ir,Button:()=>sr,Badge:()=>Fr,Autocomplete:()=>dr,Alert:()=>Hr,Accordion:()=>Dr});var P=(r)=>typeof r==="function",rr=(r)=>r&&typeof r==="object",Z=Array.isArray,$=typeof document<"u"?document:null,lr=(r)=>r?._isRuntime?r.container:r instanceof Node?r:$.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,x=0,O=new Set,er=new WeakMap,h=Symbol("iter"),p=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Yr=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((_)=>_.delete(f));if(f._cleanups)f._cleanups.forEach((_)=>_()),f._cleanups.clear();let o=A,u=J;A=J=f;try{return f._result=r()}catch(_){console.error("[SigPro]",_)}finally{A=o,J=u}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},wr=()=>{if(I)return;I=!0;let r=Array.from(O).sort((n,f)=>n._depth-f._depth);O.clear();for(let n of r)if(!n._disposed)n();I=!1},Br=(r)=>{x++;try{return r()}finally{if(x--,x===0&&O.size>0&&!I)wr()}},z=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)z(o._subs,!0)}else O.add(o),f=!0}if(f&&!I&&x===0)queueMicrotask(wr)}},j=(r,n=null)=>{let f=new Set;if(P(r)){let o,u=()=>{if(u._dirty){let _=A;A=u;try{let a=r();if(!Object.is(o,a))o=a,z(f,!0)}finally{A=_}u._dirty=!1}return z(f),o};if(u._isComputed=!0,u._subs=f,u._dirty=!0,u._deps=null,u._disposed=!1,u.stop=()=>{},J)Y(u.stop);return u}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let u=P(o[0])?o[0](r):o[0];if(!Object.is(r,u)){if(r=u,n)localStorage.setItem(n,JSON.stringify(r));z(f,!0)}}return z(f),r}},Er=(r)=>{if(!rr(r))return r;let n=er.get(r);if(n)return n;let f=new Map,o=(_)=>{let a=f.get(_);if(!a)f.set(_,a=new Set);return a},u=new Proxy(r,{get(_,a,l){if(typeof a!=="symbol")z(o(a));return Er(Reflect.get(_,a,l))},set(_,a,l,e){let y=Reflect.has(_,a),E=Reflect.get(_,a,e),b=Reflect.set(_,a,l,e);if(b&&!Object.is(E,l)){if(z(o(a),!0),!y)z(o(h),!0)}return b},deleteProperty(_,a){let l=Reflect.deleteProperty(_,a);if(l)z(o(a),!0),z(o(h),!0);return l},ownKeys(_){return z(o(h)),Reflect.ownKeys(_)}});return er.set(r,u),u},g=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((u)=>u()):r();Yr(()=>n(o))});return f(),()=>U(f)},nr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>nr(n))},qr=/^\s*(javascript|data|vbscript):/i,Ir=(r)=>r==="src"||r==="href"||r.startsWith("on"),yr=(r,n)=>{if(n==null||n===!1)return null;if(Ir(r)){let f=String(n);if(qr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!rr(n))f=n,n={};if(P(r)){let a=V(()=>{let E=r(n,{children:f,emit:(b,...s)=>n[`on${b[0].toUpperCase()}${b.slice(1)}`]?.(...s)});return a._result=E,E});a();let l=a._result;if(l==null)return null;let e=l instanceof Node||Z(l)&&l.every((E)=>E instanceof Node)?l:$.createTextNode(String(l)),y=(E)=>{if(rr(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(e)?e.forEach(y):y(e),e}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),u=o?$.createElementNS("http://www.w3.org/2000/svg",r):$.createElement(r);u._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let l=n[a];if(a==="ref"){P(l)?l(u):l.current=u;continue}if(o&&a.startsWith("xlink:")){l==null?u.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):u.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),l);continue}if(a.startsWith("on")){let e=a.slice(2).toLowerCase();u.addEventListener(e,l);let y=()=>u.removeEventListener(e,l);u._cleanups.add(y),Y(y)}else if(P(l)){let e=V(()=>{let y=yr(a,l());if(a==="class")u.className=y||"";else if(y==null)u.removeAttribute(a);else if(a in u&&!o)u[a]=y;else u.setAttribute(a,y===!0?"":y)});if(e(),u._cleanups.add(()=>U(e)),Y(()=>U(e)),/^(INPUT|TEXTAREA|SELECT)$/.test(u.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";u.addEventListener(y,(E)=>l(E.target[a]))}}else{let e=yr(a,l);if(e!=null)if(a in u&&!o)u[a]=e;else u.setAttribute(a,e===!0?"":e)}}let _=(a)=>{if(Z(a))return a.forEach(_);if(P(a)){let l=$.createTextNode("");u.appendChild(l);let e=[],y=V(()=>{let E=a(),b=(Z(E)?E:[E]).map(lr);e.forEach((i)=>{if(i._isRuntime)i.destroy();else nr(i);if(i.parentNode)i.remove()});let s=l;for(let i=b.length-1;i>=0;i--){let N=b[i];if(N.parentNode!==s.parentNode)s.parentNode?.insertBefore(N,s);if(N._mounts)N._mounts.forEach((S)=>S());s=N}e=b});y(),u._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let l=lr(a);if(u.appendChild(l),l._mounts)l._mounts.forEach((e)=>e())}};return _(f),u},D=(r)=>{let n=new Set,f=J,o=A,u=$.createElement("div");u.style.display="contents",u.setAttribute("role","presentation"),J={_cleanups:n},A=null;let _=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),u.appendChild(a.container);else if(Z(a))a.forEach(_);else u.appendChild(a instanceof Node?a:$.createTextNode(String(a==null?"":a)))};try{_(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:u,destroy:()=>{n.forEach((a)=>a()),nr(u),u.remove()}}},K=(r,n,f=null)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=null;return g(()=>!!(P(r)?r():r),(a)=>{if(_)_.destroy(),_=null;let l=a?n:f;if(l)_=D(()=>P(l)?l():l),u.insertBefore(_.container,o)}),Y(()=>_?.destroy()),u},H=({name:r,duration:n=200,scale:f,slide:o,rotate:u,blur:_},a)=>{let l=typeof a==="function"?a():a;if(!(l instanceof Node))return l;if(r)return l.style.animation=`${r}-in ${n}ms`,l;let e=f||o||u||_,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",u?"rotate(-2deg)":""].filter(Boolean).join(" ");if(l.style.transition=`all ${n}ms ease`,l.style.opacity="0",e)l.style.transform=y;if(_)l.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(l.style.opacity="1",e)l.style.transform="none";if(_)l.style.filter="none"}),l},G=(r,n,f)=>{let o=$.createTextNode(""),u=t("div",{style:"display:contents"},[o]),_=new Map;return g(()=>(P(r)?r():r)||[],(a)=>{let l=new Map,e=[],y=a||[];for(let b=0;bn(s,b));else _.delete(i);l.set(i,N),e.push(N)}_.forEach((b)=>b.destroy());let E=o;for(let b=e.length-1;b>=0;b--){let s=e[b].container;if(s.nextSibling!==E)u.insertBefore(s,E);E=s}_=l}),u},B=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let u=t("div",{class:"router-hook"}),_=null;return g([f],()=>{let a=f(),l=r.find((e)=>{let y=e.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((b,s)=>b[0]===":"||b===E[s])})||r.find((e)=>e.path==="*");if(l){_?.destroy();let e={};l.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")e[y.slice(1)]=a.split("/").filter(Boolean)[E]}),B.params(e),_=D(()=>P(l.component)?l.component(e):l.component),u.replaceChildren(_.container)}}),u};B.params=j({});B.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");B.back=()=>window.history.back();B.path=()=>window.location.hash.replace(/^#/,"")||"/";var Vr=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),u=j(null),_=j(null),a=null,l=null;return{run:async(e=null)=>{a?.abort(),clearTimeout(l),a=new AbortController,l=setTimeout(()=>a.abort(),1e4),o(!0),u(null);try{let y=e instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?e:e?JSON.stringify(e):void 0,signal:a.signal}),b=await E.text(),s=b?JSON.parse(b):null;if(!E.ok)throw Error(s?.message||E.statusText);return _(s),s}catch(y){if(y.name!=="AbortError")u(y.message);throw y}finally{o(!1),clearTimeout(l),a=null,l=null}},abort:()=>a?.abort(),loading:o,error:u,data:_}},tr=(r,n)=>{let f=typeof n==="string"?$.querySelector(n):n;if(!f)return;if(p.has(f))p.get(f).destroy();let o=D(P(r)?r:()=>r);return f.replaceChildren(o.container),p.set(f,o),o},xr=Object.freeze({$:j,$$:Er,watch:g,h:t,when:K,each:G,fx:H,router:B,req:Vr,mount:tr,batch:Br});if(typeof window<"u")Object.assign(window,xr),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,X=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",br=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((u)=>String(u&&typeof u==="object"?u[f]:u).toLowerCase().includes(o)),fr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,Or=()=>document.activeElement?.blur(),Nr=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(u,_)=>{let a=C(r),l=f(),e=a.length;if(!e)return;let y=u.key;y==="ArrowDown"?(u.preventDefault(),n(!0),f(Math.min(l+1,e-1))):y==="ArrowUp"?(u.preventDefault(),f(Math.max(l-1,0))):y==="Enter"?l>=0&&(u.preventDefault(),_(a[l])):y==="Escape"&&(n(!1),f(-1))}}},Dr=(r)=>{let n=r.name||fr("acc");return G(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Hr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),dr=({items:r,value:n,onselect:f,placeholder:o="Buscar...",...u})=>{let _=j(C(n)||""),a=j(!1),l=j(()=>br(r,_())),{cursor:e,onKey:y}=Nr(l,a),E=(b)=>{let s=X(b),i=typeof b==="string"?b:b.value;if(_(s),W(n))n(i);f?.(b),a(!1)};return t("div",{class:"relative w-full"},[Sr({...u,type:"text",placeholder:o,value:_,left:t("span",{class:"icon-[lucide--search]"}),oninput:(b)=>{if(_(b.target.value),W(n))n(b.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),e(-1)},150),onkeydown:(b)=>y(b,E)}),K(a,()=>H({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[G(l,(b,s)=>t("li",{},[t("a",{class:()=>e()===s?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(b),onmouseenter:()=>e(s)},X(b))]),(b,s)=>X(b)+s),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},Fr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),sr=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),ir=(r)=>{let n=j(new Date),f=j(null),o=j(0),u=j(0),_=new Date,a=`${_.getFullYear()}-${String(_.getMonth()+1).padStart(2,"0")}-${String(_.getDate()).padStart(2,"0")}`,l=(N)=>`${N.getFullYear()}-${String(N.getMonth()+1).padStart(2,"0")}-${String(N.getDate()).padStart(2,"0")}`,e=()=>C(r.range)===!0,y=()=>C(r.value),E=(N)=>{let S=l(N),L=y();if(e())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,q=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+N,1))},s=(N)=>{let S=n();n(new Date(S.getFullYear()+N,S.getMonth(),1))},i=({value:N,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:N,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(N)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>b(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((N)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},N)),()=>{let N=n(),S=N.getFullYear(),L=N.getMonth(),T=new Date(S,L,1).getDay(),q=T===0?6:T-1,Pr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),$r=typeof R==="string"?R.split("T")[0]===k:R?.start===k,Rr=R?.end===k,M=!1;if(e()&&R?.start){let v=R.start;if(!R.end&&m)M=k>v&&k<=m||k=m;else if(R.end)M=k>v&&ke()&&f(k),onclick:()=>E(_r)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},e()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(N)=>o(N)}),i({value:u,onChange:(N)=>u(N)})]):i({value:o,onChange:(N)=>o(N)})):null])},mr=(r,n)=>t("div",{...r,class:w("card",r.class)},n),Mr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),vr=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),cr=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),hr=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),pr=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),rn=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),nn=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),tn=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),fn=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),on=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),_n=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),an=(r)=>{let n=j(!1),f=()=>C(r.value)||"#000000",o=["#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"],u=(_)=>{W(r.value)?r.value(_):r.onchange?.(_),n(!1)};return t("div",{class:w("relative w-fit",r.class)},[t("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${f()}`}),r.label&&t("span",{class:"opacity-80"},r.label)]),K(n,()=>[t("div",{class:"fixed inset-0 z-[100]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none"},t("div",{class:"grid grid-cols-8 gap-1"},o.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${f().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>u(_)}))))])])},un=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;g(()=>{let _=C(r.value);if(!_)return f("");let a="";if(typeof _==="string")a=r.hour&&_.includes("T")?_.replace("T"," "):_;else if(_.start&&_.end){let l=r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start,e=r.hour&&_.endHour!=null?`${_.end} ${String(_.endHour).padStart(2,"0")}:00`:_.end;a=`${l} - ${e}`}else if(_.start)a=`${r.hour&&_.startHour!=null?`${_.start} ${String(_.startHour).padStart(2,"0")}:00`:_.start}...`;f(a)});let u=(_)=>{if(W(r.value))r.value(_);else r.onChange?.(_);if(!o()||_?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(_)=>{_.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),K(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(_)=>_.stopPropagation()},ir({value:r.value,range:o(),hour:r.hour,onChange:u}))])])},ln=(r,n)=>div({...r,class:w("drawer",r.class)},n),en=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),yn=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),wn=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),En=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),bn=(r)=>t("div",{...r,class:w("divider",r.class)}),Nn=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),sn=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),Sn=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),jn=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),Cn=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),An=(r)=>{let n=j([]),f=j(!1),o=j(null),u=(r.max||2)*1024*1024,_=(l)=>{let e=Array.from(l);if(o(null),e.some((E)=>E.size>u)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...e];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(l)=>{let e=n().filter((y,E)=>E!==l);if(n(e),W(r.onselect))r.onselect(e);else if(W(r.value))r.value(e)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(l)=>{l.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(l)=>{l.preventDefault(),f(!1),_(l.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(l)=>_(l.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),K(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},G(n,(l,e)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},l.name),t("span",{class:"text-[9px] opacity-40"},`(${(l.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(e)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),Wn=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Sr=(r)=>{let{label:n,icon:f,float:o,placeholder:u,value:_,left:a,right:l,rule:e,hint:y,content:E,...b}=r,s=j(!1),i=j(!1),N=r.type==="password",S=e??null,L=()=>N?C(s)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...b,type:L,class:"grow",pattern:S,placeholder:u||n||" ",value:_}),l??null,N?jr({class:"ml-2"},[Cr({value:s,class:"swap-rotate"}),Ar({},d("icon-[lucide--eye]")),Wr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,K(i,()=>H({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},Ln=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Jn=(r,n)=>{if(!r.items)return t("ul",{...r,class:w("list",r.class)},n);return t("ul",{...r,class:w("list",r.class)},[G(r.items,(f,o)=>t("li",{class:w("list-row",f.class)},typeof r.render==="function"?r.render(f,o):f),r.key)])},Tn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),kn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},X(o)),t("ul",{},G(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(u)=>{if(!o.href)u.preventDefault();o.onclick(u)}:null},X(o)));return t("ul",{class:w("menu",r.class)},G(()=>C(n)||[],f))},zn=(r)=>{let n=null;g(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||sr({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Pn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),$n=(r)=>t("progress",{...r,class:w("progress",r.class)}),Rn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Gn=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),Xn=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),Qn=(r)=>{let n=fr("rating"),f=r.children??Array.from({length:r.count||5},(o,u)=>{let _=u+1;return t("input",{type:"radio",name:n,class:w("mask",r.mask||"mask-star"),checked:()=>C(r.value)===_,onchange:()=>W(r.value)?r.value(_):r.onchange?.(_)})});return t("div",{class:w("rating",r.class),...r},f)},Un=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:u,placeholderDisabled:_=!0,value:a,left:l,right:e,hint:y,items:E,keyFn:b,...s}=r,i=()=>{let N=C(E)||[];return[...u?[{disabled:_,label:u,value:""}]:[],...N]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",s.class)},[!o&&f?t("span",{class:"label"},f):null,l??null,t("select",{value:()=>C(a),onchange:(N)=>W(a)?a(N.target.value):s.onchange?.(N)},G(i,(N)=>{let S=X(N,N.value!==void 0?"value":void 0),L=X(N,"label");return t("option",{value:S,disabled:N.disabled||void 0},L)})),e??null]),y?t("div",{class:"validator-hint"},y):null])},gn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),Kn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),Zn=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),Yn=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Bn=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),jr=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),Cr=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),Ar=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),Wr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),qn=(r,n)=>t("table",{...r,class:w("table",r.class)},n),In=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((_)=>_.label)?t("thead",{},t("tr",{},n.map((_)=>t("th",{class:_.class},_.label)))):null,u=t("tbody",{},()=>{return(C(r)||[]).map((a,l)=>t("tr",{},n.map((e)=>{let y=e.render?e.render(a,l):a[e.key];return t("td",{class:e.class},y)})))});return[o,u].filter(Boolean)},Vn=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:u,class:_,...a}=r,l=(y)=>W(y)?y():y,e=u||(W(f)?(y,E)=>{let s=l(f).filter((i,N)=>N!==y);if(f(s),o()>=s.length)o(Math.max(0,s.length-1))}:null);return t("div",{...a,class:w("tabs",_)},()=>{return(l(f)||[]).flatMap((E,b)=>{let s=()=>o()===b,i=t("button",{class:()=>`tab ${s()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(b),E.onclick?.(S)}},[X(E),E.closable?t("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:(S)=>{S.stopPropagation(),e?.(b,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),N=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${s()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,N]})})},xn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),On=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Dn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),Hn=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let u=t("div",{style:"display: contents"});o.appendChild(u);let _,a,l,y=tr(()=>{let E=j(!1),b=j(!1);_=()=>{if(b())return;clearTimeout(a),clearTimeout(l),b(!0),setTimeout(()=>{if(y.destroy(),u.remove(),!o.hasChildNodes())o.remove()},300)},l=setTimeout(()=>E(!0),0);let s=typeof r==="function"?C(r):r,i=typeof s==="string"?t("span",{},s):s;return t("div",{class:()=>{if(b())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:_},t("span",{class:"icon-[lucide--x]"}))])},u);if(f>0)a=setTimeout(_,f);return _},dn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),Fn=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var mn={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"}},Lr=j("es"),Jr=(r)=>Lr(r),Tr=(r)=>()=>mn[Lr()][r]||r;var kr={...or},zr={Locale:Jr,tt:Tr};if(typeof window<"u")Object.entries({...kr,...zr}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})(); +(()=>{var{defineProperty:c,getOwnPropertyNames:Zr,getOwnPropertyDescriptor:Yr}=Object,gr=Object.prototype.hasOwnProperty;function qr(r){return this[r]}var Br=(r)=>{var n=(ar??=new WeakMap).get(r),f;if(n)return n;if(n=c({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function"){for(var o of Zr(r))if(!gr.call(n,o))c(n,o,{get:qr.bind(r,o),enumerable:!(f=Yr(r,o))||f.enumerable})}return ar.set(r,n),n},ar;var Ir=(r)=>r;function Vr(r,n){this[r]=Ir.bind(null,n)}var _r=(r,n)=>{for(var f in n)c(r,f,{get:n[f],enumerable:!0,configurable:!0,set:Vr.bind(n,f)})};var hn={};_r(hn,{Utils:()=>Xr,Components:()=>Gr});var fr={};_r(fr,{rand:()=>sr,listKey:()=>Nr,isFn:()=>W,getBy:()=>G,get:()=>C,filterBy:()=>Er,cls:()=>w,close:()=>br,Tooltip:()=>vn,Toggle:()=>Mn,Toast:()=>mn,Timeline:()=>Fn,Textrotate:()=>dn,Textarea:()=>Dn,Tabs:()=>Hn,TableItems:()=>xn,Table:()=>On,SwapToggle:()=>Tr,SwapOn:()=>$r,SwapOff:()=>kr,Swap:()=>Jr,Steps:()=>In,Step:()=>Vn,Stack:()=>Bn,SkeletonText:()=>qn,Skeleton:()=>gn,Select:()=>Yn,RatingItems:()=>Zn,Rating:()=>Kn,Range:()=>Un,Radio:()=>Qn,Radial:()=>Xn,Progress:()=>Gn,Navbar:()=>Rn,Modal:()=>Pn,Menu:()=>zn,Loading:()=>kn,ListRows:()=>$n,List:()=>Tn,Kbd:()=>Jn,Input:()=>Lr,Indicator:()=>Ln,Icon:()=>d,Fileinput:()=>Wn,Fieldset:()=>An,Fab:()=>Cn,DropdownContent:()=>Wr,DropdownButton:()=>Ar,Dropdown:()=>Cr,DrawerToggle:()=>sn,DrawerSide:()=>Nn,DrawerOverlay:()=>Sn,DrawerContent:()=>bn,Drawer:()=>En,Divider:()=>jn,Datepicker:()=>wn,Colorpicker:()=>yn,ColorPalette:()=>jr,Checkbox:()=>ln,ChatImage:()=>en,ChatHeader:()=>un,ChatFooter:()=>_n,ChatBubble:()=>an,Chat:()=>on,CarouselItem:()=>fn,Carousel:()=>tn,CardTitle:()=>pr,CardBody:()=>rn,CardActions:()=>nn,Card:()=>hr,Calendar:()=>Sr,Button:()=>ir,Badge:()=>cr,Autocomplete:()=>vr,Alert:()=>Mr,Accordion:()=>mr});var z=(r)=>typeof r==="function",rr=(r)=>r&&typeof r==="object",Z=Array.isArray,P=typeof document<"u"?document:null,ur=(r)=>r?._isRuntime?r.container:r instanceof Node?r:P.createTextNode(r==null?"":String(r)),A=null,J=null,I=!1,O=0,x=new Set,er=new WeakMap,h=Symbol("iter"),p=new WeakMap,U=(r)=>{if(!r||r._disposed)return;r._disposed=!0;let n=[r];while(n.length){let f=n.pop();if(f._cleanups)f._cleanups.forEach((o)=>o()),f._cleanups.clear();if(f._children)f._children.forEach((o)=>n.push(o)),f._children.clear();if(f._deps)f._deps.forEach((o)=>o.delete(f)),f._deps.clear()}},Y=(r)=>{if(J)(J._cleanups||=new Set).add(r)},Or=(r)=>{let n=A;A=null;try{return r()}finally{A=n}},V=(r,n=!1)=>{let f=()=>{if(f._disposed)return;if(f._deps)f._deps.forEach((u)=>u.delete(f));if(f._cleanups)f._cleanups.forEach((u)=>u()),f._cleanups.clear();let o=A,_=J;A=J=f;try{return f._result=r()}catch(u){console.error("[SigPro]",u)}finally{A=o,J=_}};if(f._deps=f._cleanups=f._children=null,f._disposed=!1,f._isComputed=n,f._depth=A?A._depth+1:0,f._mounts=[],f._parent=J,J)(J._children||=new Set).add(f);return f},yr=()=>{if(I)return;I=!0;let r=Array.from(x).sort((n,f)=>n._depth-f._depth);x.clear();for(let n of r)if(!n._disposed)n();I=!1},xr=(r)=>{O++;try{return r()}finally{if(O--,O===0&&x.size>0&&!I)yr()}},k=(r,n=!1)=>{if(!n&&A&&!A._disposed)r.add(A),(A._deps||=new Set).add(r);else if(n&&r.size>0){let f=!1;for(let o of r){if(o===A||o._disposed)continue;if(o._isComputed){if(o._dirty=!0,o._subs)k(o._subs,!0)}else x.add(o),f=!0}if(f&&!I&&O===0)queueMicrotask(yr)}},j=(r,n=null)=>{let f=new Set;if(z(r)){let o,_=()=>{if(_._dirty){let u=A;A=_;try{let a=r();if(!Object.is(o,a))o=a,k(f,!0)}finally{A=u}_._dirty=!1}return k(f),o};if(_._isComputed=!0,_._subs=f,_._dirty=!0,_._deps=null,_._disposed=!1,_.stop=()=>{},J)Y(_.stop);return _}if(n)try{r=JSON.parse(localStorage.getItem(n))??r}catch(o){}return(...o)=>{if(o.length){let _=z(o[0])?o[0](r):o[0];if(!Object.is(r,_)){if(r=_,n)localStorage.setItem(n,JSON.stringify(r));k(f,!0)}}return k(f),r}},wr=(r)=>{if(!rr(r))return r;let n=er.get(r);if(n)return n;let f=new Map,o=(u)=>{let a=f.get(u);if(!a)f.set(u,a=new Set);return a},_=new Proxy(r,{get(u,a,e){if(typeof a!=="symbol")k(o(a));return wr(Reflect.get(u,a,e))},set(u,a,e,l){let y=Reflect.has(u,a),E=Reflect.get(u,a,l),s=Reflect.set(u,a,e,l);if(s&&!Object.is(E,e)){if(k(o(a),!0),!y)k(o(h),!0)}return s},deleteProperty(u,a){let e=Reflect.deleteProperty(u,a);if(e)k(o(a),!0),k(o(h),!0);return e},ownKeys(u){return k(o(h)),Reflect.ownKeys(u)}});return er.set(r,_),_},K=(r,n)=>{if(n===void 0){let o=V(r);return o(),()=>U(o)}let f=V(()=>{let o=Array.isArray(r)?r.map((_)=>_()):r();Or(()=>n(o))});return f(),()=>U(f)},nr=(r)=>{if(!r)return;if(r._cleanups)r._cleanups.forEach((n)=>n()),r._cleanups.clear();if(r._ownerEffect)U(r._ownerEffect);if(r.childNodes)r.childNodes.forEach((n)=>nr(n))},Hr=/^\s*(javascript|data|vbscript):/i,Dr=(r)=>r==="src"||r==="href"||r.startsWith("on"),lr=(r,n)=>{if(n==null||n===!1)return null;if(Dr(r)){let f=String(n);if(Hr.test(f))return console.warn(`[SigPro] Bloqueado protocolo peligroso en ${r}`),"#"}return n},t=(r,n={},f=[])=>{if(n instanceof Node||Z(n)||!rr(n))f=n,n={};if(z(r)){let a=V(()=>{let E=r(n,{children:f,emit:(s,...N)=>n[`on${s[0].toUpperCase()}${s.slice(1)}`]?.(...N)});return a._result=E,E});a();let e=a._result;if(e==null)return null;let l=e instanceof Node||Z(e)&&e.every((E)=>E instanceof Node)?e:P.createTextNode(String(e)),y=(E)=>{if(rr(E)&&!E._isRuntime)E._mounts=a._mounts||[],E._cleanups=a._cleanups||new Set,E._ownerEffect=a};return Z(l)?l.forEach(y):y(l),l}let o=/^(svg|path|circle|rect|line|poly(line|gon)|g|defs|text(path)?|tspan|use|symbol|image|marker|ellipse)$/i.test(r),_=o?P.createElementNS("http://www.w3.org/2000/svg",r):P.createElement(r);_._cleanups=new Set;for(let a in n){if(!n.hasOwnProperty(a))continue;let e=n[a];if(a==="ref"){z(e)?e(_):e.current=_;continue}if(o&&a.startsWith("xlink:")){e==null?_.removeAttributeNS("http://www.w3.org/1999/xlink",a.slice(6)):_.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(6),e);continue}if(a.startsWith("on")){let l=a.slice(2).toLowerCase();_.addEventListener(l,e);let y=()=>_.removeEventListener(l,e);_._cleanups.add(y),Y(y)}else if(z(e)){let l=V(()=>{let y=lr(a,e());if(a==="class")_.className=y||"";else if(y==null)_.removeAttribute(a);else if(a in _&&!o)_[a]=y;else _.setAttribute(a,y===!0?"":y)});if(l(),_._cleanups.add(()=>U(l)),Y(()=>U(l)),/^(INPUT|TEXTAREA|SELECT)$/.test(_.tagName)&&(a==="value"||a==="checked")){let y=a==="checked"?"change":"input";_.addEventListener(y,(E)=>e(E.target[a]))}}else{let l=lr(a,e);if(l!=null)if(a in _&&!o)_[a]=l;else _.setAttribute(a,l===!0?"":l)}}let u=(a)=>{if(Z(a))return a.forEach(u);if(z(a)){let e=P.createTextNode("");_.appendChild(e);let l=[],y=V(()=>{let E=a(),s=(Z(E)?E:[E]).map(ur);l.forEach((i)=>{if(i._isRuntime)i.destroy();else nr(i);if(i.parentNode)i.remove()});let N=e;for(let i=s.length-1;i>=0;i--){let b=s[i];if(b.parentNode!==N.parentNode)N.parentNode?.insertBefore(b,N);if(b._mounts)b._mounts.forEach((S)=>S());N=b}l=s});y(),_._cleanups.add(()=>U(y)),Y(()=>U(y))}else{let e=ur(a);if(_.appendChild(e),e._mounts)e._mounts.forEach((l)=>l())}};return u(f),_},H=(r)=>{let n=new Set,f=J,o=A,_=P.createElement("div");_.style.display="contents",_.setAttribute("role","presentation"),J={_cleanups:n},A=null;let u=(a)=>{if(!a)return;if(a._isRuntime)n.add(a.destroy),_.appendChild(a.container);else if(Z(a))a.forEach(u);else _.appendChild(a instanceof Node?a:P.createTextNode(String(a==null?"":a)))};try{u(r({onCleanup:(a)=>n.add(a)}))}finally{J=f,A=o}return{_isRuntime:!0,container:_,destroy:()=>{n.forEach((a)=>a()),nr(_),_.remove()}}},g=(r,n,f=null)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=null;return K(()=>!!(z(r)?r():r),(a)=>{if(u)u.destroy(),u=null;let e=a?n:f;if(e)u=H(()=>z(e)?e():e),_.insertBefore(u.container,o)}),Y(()=>u?.destroy()),_},D=({name:r,duration:n=200,scale:f,slide:o,rotate:_,blur:u},a)=>{let e=typeof a==="function"?a():a;if(!(e instanceof Node))return e;if(r)return e.style.animation=`${r}-in ${n}ms`,e;let l=f||o||_||u,y=[f?"scale(0.95)":"",o?"translateY(-10px)":"",_?"rotate(-2deg)":""].filter(Boolean).join(" ");if(e.style.transition=`all ${n}ms ease`,e.style.opacity="0",l)e.style.transform=y;if(u)e.style.filter="blur(4px)";return requestAnimationFrame(()=>{if(e.style.opacity="1",l)e.style.transform="none";if(u)e.style.filter="none"}),e},X=(r,n,f)=>{let o=P.createTextNode(""),_=t("div",{style:"display:contents"},[o]),u=new Map;return K(()=>(z(r)?r():r)||[],(a)=>{let e=new Map,l=[],y=a||[];for(let s=0;sn(N,s));else u.delete(i);e.set(i,b),l.push(b)}u.forEach((s)=>s.destroy());let E=o;for(let s=l.length-1;s>=0;s--){let N=l[s].container;if(N.nextSibling!==E)_.insertBefore(N,E);E=N}u=e}),_},q=(r)=>{let n=()=>window.location.hash.slice(1)||"/",f=j(n()),o=()=>f(n());window.addEventListener("hashchange",o),Y(()=>window.removeEventListener("hashchange",o));let _=t("div",{class:"router-hook"}),u=null;return K([f],()=>{let a=f(),e=r.find((l)=>{let y=l.path.split("/").filter(Boolean),E=a.split("/").filter(Boolean);return y.length===E.length&&y.every((s,N)=>s[0]===":"||s===E[N])})||r.find((l)=>l.path==="*");if(e){u?.destroy();let l={};e.path.split("/").filter(Boolean).forEach((y,E)=>{if(y[0]===":")l[y.slice(1)]=a.split("/").filter(Boolean)[E]}),q.params(l),u=H(()=>z(e.component)?e.component(l):e.component),_.replaceChildren(u.container)}}),_};q.params=j({});q.to=(r)=>window.location.hash=r.replace(/^#?\/?/,"#/");q.back=()=>window.history.back();q.path=()=>window.location.hash.replace(/^#/,"")||"/";var dr=({url:r,method:n="GET",headers:f={}})=>{let o=j(!1),_=j(null),u=j(null),a=null,e=null;return{run:async(l=null)=>{a?.abort(),clearTimeout(e),a=new AbortController,e=setTimeout(()=>a.abort(),1e4),o(!0),_(null);try{let y=l instanceof FormData,E=await fetch(r,{method:n,headers:y?f:{"Content-Type":"application/json",...f},body:y?l:l?JSON.stringify(l):void 0,signal:a.signal}),s=await E.text(),N=s?JSON.parse(s):null;if(!E.ok)throw Error(N?.message||E.statusText);return u(N),N}catch(y){if(y.name!=="AbortError")_(y.message);throw y}finally{o(!1),clearTimeout(e),a=null,e=null}},abort:()=>a?.abort(),loading:o,error:_,data:u}},tr=(r,n)=>{let f=typeof n==="string"?P.querySelector(n):n;if(!f)return;if(p.has(f))p.get(f).destroy();let o=H(z(r)?r:()=>r);return f.replaceChildren(o.container),p.set(f,o),o},Fr=Object.freeze({$:j,$$:wr,watch:K,h:t,when:g,each:X,fx:D,router:q,req:dr,mount:tr,batch:xr});if(typeof window<"u")Object.assign(window,Fr),"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((r)=>{window[r]=(n,f)=>t(r,n,f)});var C=(r)=>typeof r==="function"?r():r,G=(r,n="label")=>r&&typeof r==="object"?r[n]:r,w=(...r)=>r.filter(Boolean).join(" ").trim(),W=(r)=>typeof r==="function",Er=(r,n,f="label",o=String(n).toLowerCase())=>!n?C(r):C(r).filter((_)=>String(_&&typeof _==="object"?_[f]:_).toLowerCase().includes(o)),sr=(r)=>`${r}-${Math.random().toString(36).slice(2,9)}`,br=()=>document.activeElement?.blur(),Nr=(r,n)=>{let f=j(-1);return{cursor:f,onKey:(_,u)=>{let a=C(r),e=f(),l=a.length;if(!l)return;let y=_.key;y==="ArrowDown"?(_.preventDefault(),n(!0),f(Math.min(e+1,l-1))):y==="ArrowUp"?(_.preventDefault(),f(Math.max(e-1,0))):y==="Enter"?e>=0&&(_.preventDefault(),u(a[e])):y==="Escape"&&(n(!1),f(-1))}}},mr=(r)=>{let n=r.name||sr("acc");return X(r.items,(f)=>{return t("div",{class:w("collapse",r.class)},[t("input",{type:"radio",name:n,checked:f.open||void 0}),f.title?t("div",{class:w("collapse-title",`${f.classTitle??" font-semibold"}`)},f.title):null,f.content?t("div",{class:w("collapse-content text-sm",`${f.classContent??" font-semibold"}`)},f.content):null])})},Mr=(r,n)=>t("div",{...r,class:w("alert",r.class)},n),vr=({items:r,value:n,onselect:f,placeholder:o="Buscar...",..._})=>{let u=j(C(n)||""),a=j(!1),e=j(()=>Er(r,u())),{cursor:l,onKey:y}=Nr(e,a),E=(s)=>{let N=G(s),i=typeof s==="string"?s:s.value;if(u(N),W(n))n(i);f?.(s),a(!1)};return t("div",{class:"relative w-full"},[Lr({..._,type:"text",placeholder:o,value:u,left:t("span",{class:"icon-[lucide--search]"}),oninput:(s)=>{if(u(s.target.value),W(n))n(s.target.value);a(!0)},onfocus:()=>a(!0),onblur:()=>setTimeout(()=>{a(!1),l(-1)},150),onkeydown:(s)=>y(s,E)}),g(a,()=>D({duration:200,slide:!0},t("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50 flex-col flex-nowrap"},[X(e,(s,N)=>t("li",{},[t("a",{class:()=>l()===N?"active bg-primary text-primary-content":"",onmousedown:(i)=>i.preventDefault(),onclick:()=>E(s),onmouseenter:()=>l(N)},G(s))]),(s,N)=>G(s)+N),()=>e().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null])))])},cr=(r,n)=>t("span",{...r,class:w("badge",r.class)},n),ir=(r,n)=>t("button",{...r,class:w("btn",r.class)},n),Sr=(r)=>{let n=j(new Date),f=j(null),o=j(0),_=j(0),u=new Date,a=`${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}`,e=(b)=>`${b.getFullYear()}-${String(b.getMonth()+1).padStart(2,"0")}-${String(b.getDate()).padStart(2,"0")}`,l=()=>C(r.range)===!0,y=()=>C(r.value),E=(b)=>{let S=e(b),L=y();if(l())if(!L?.start||L.start&&L.end)r.onChange?.({start:S,end:null,...r.hour&&{startHour:o()}});else{let T=L.start,B=S{let S=n();n(new Date(S.getFullYear(),S.getMonth()+b,1))},N=(b)=>{let S=n();n(new Date(S.getFullYear()+b,S.getMonth(),1))},i=({value:b,onChange:S})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:b,class:"range range-xs flex-1",oninput:(L)=>S(+L.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(C(b)).padStart(2,"0")+":00")])]);return t("div",{class:w("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",r.class)},[t("div",{class:"flex justify-between items-center mb-4 gap-1"},[t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(-1)},t("span",{class:"icon-[lucide--chevron-left]"}))]),t("span",{class:"font-bold uppercase flex-1 text-center"},()=>n().toLocaleString("es-ES",{month:"short",year:"numeric"})),t("div",{class:"flex gap-0.5"},[t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>s(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>N(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>f(null)},[...["L","M","X","J","V","S","D"].map((b)=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},b)),()=>{let b=n(),S=b.getFullYear(),L=b.getMonth(),T=new Date(S,L,1).getDay(),B=T===0?6:T-1,Qr=new Date(S,L+1,0).getDate(),F=[];for(let Q=0;Q{let R=y(),m=f(),Ur=typeof R==="string"?R.split("T")[0]===$:R?.start===$,Kr=R?.end===$,M=!1;if(l()&&R?.start){let v=R.start;if(!R.end&&m)M=$>v&&$<=m||$=m;else if(R.end)M=$>v&&$l()&&f($),onclick:()=>E(or)},Q.toString()))}return F}]),r.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},l()?t("div",{class:"flex gap-4"},[i({value:o,onChange:(b)=>o(b)}),i({value:_,onChange:(b)=>_(b)})]):i({value:o,onChange:(b)=>o(b)})):null])},hr=(r,n)=>t("div",{...r,class:w("card",r.class)},n),pr=(r,n)=>t("div",{...r,class:w("card-title",r.class)},n),rn=(r,n)=>t("div",{...r,class:w("card-body",r.class)},n),nn=(r,n)=>t("div",{...r,class:w("card-actions",r.class)},n),tn=(r,n)=>t("div",{...r,class:w("carousel",r.class)},n),fn=(r,n)=>t("div",{...r,class:w("carousel-item",r.class)},n),on=(r,n)=>t("div",{...r,class:w("chat",r.class)},n),an=(r,n)=>t("div",{...r,class:w("chat-bubble",r.class)},n),_n=(r,n)=>t("div",{...r,class:w("chat-footer",r.class)},n),un=(r,n)=>t("div",{...r,class:w("chat-header",r.class)},n),en=(r,n)=>t("div",{...r,class:w("chat-image avatar",r.class)},t("div",{class:"w-10 rounded-full"},typeof n==="string"?t("img",{src:n,alt:"avatar"}):n)),ln=(r)=>t("input",{...r,type:"checkbox",class:w("checkbox",r.class)}),yn=(r)=>{let n=()=>C(r.value)||"#000000";return Cr({},[Ar({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),r.label&&t("span",{},r.label)]),Wr({class:"p-3 bg-base-100 rounded-box shadow-xl w-64"},jr({value:r.value,onchange:(f)=>{W(r.value)?r.value(f):r.onchange?.(f),br()}}))])},jr=(r)=>{let n=()=>C(r.value)||"#000000",f=["#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"],o=(_)=>W(r.value)?r.value(_):r.onchange?.(_);return t("div",{class:"grid grid-cols-8 gap-1"},f.map((_)=>t("button",{type:"button",style:`background-color: ${_}`,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 ${n().toLowerCase()===_.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>o(_)})))},wn=(r)=>{let n=j(!1),f=j(""),o=()=>C(r.range)===!0;K(()=>{let u=C(r.value);if(!u)return f("");let a="";if(typeof u==="string")a=r.hour&&u.includes("T")?u.replace("T"," "):u;else if(u.start&&u.end){let e=r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start,l=r.hour&&u.endHour!=null?`${u.end} ${String(u.endHour).padStart(2,"0")}:00`:u.end;a=`${e} - ${l}`}else if(u.start)a=`${r.hour&&u.startHour!=null?`${u.start} ${String(u.startHour).padStart(2,"0")}:00`:u.start}...`;f(a)});let _=(u)=>{if(W(r.value))r.value(u);else r.onChange?.(u);if(!o()||u?.end!=null)n(!1)};return t("div",{class:w("relative w-full",r.class)},[t("label",{class:"input input-bordered w-full",onclick:(u)=>{u.stopPropagation(),n(!n())}},[t("span",{class:"icon-[lucide--calendar]"}),t("input",{...r,type:"text",class:"grow",value:f,readonly:!0,placeholder:r.placeholder||(o()?"Seleccionar rango...":"Seleccionar fecha...")})]),g(n,()=>[t("div",{class:"fixed inset-0 z-[90]",onclick:()=>n(!1)}),t("div",{class:"absolute left-0 mt-2 z-[100]",onclick:(u)=>u.stopPropagation()},Sr({value:r.value,range:o(),hour:r.hour,onChange:_}))])])},En=(r,n)=>div({...r,class:w("drawer",r.class)},n),sn=(r)=>input({...r,type:"checkbox",class:"drawer-toggle",checked:()=>C(r.checked),onchange:(n)=>W(r.checked)&&r.checked(n.target.checked)}),bn=(r,n)=>div({...r,class:w("drawer-content",r.class)},n),Nn=(r,n)=>div({...r,class:w("drawer-side",r.class)},n),Sn=(r)=>label({...r,for:r.for,class:w("drawer-overlay",r.class)}),jn=(r)=>t("div",{...r,class:w("divider",r.class)}),Cr=(r,n)=>t("div",{...r,class:w("dropdown",r.class)},n),Ar=(r,n)=>t("div",{...r,tabindex:"0",role:"button",class:w("btn",r.class)},n),Wr=(r,n)=>t("div",{...r,tabindex:"0",class:w("dropdown-content",r.class)},n),Cn=(r,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:w("btn",r.class)},d(r.icon)),n]),An=(r,n)=>t("fieldset",{class:w("fieldset",r.class)},[t("legend",{class:"fieldset-legend"},r.label),n]),Wn=(r)=>{let n=j([]),f=j(!1),o=j(null),_=(r.max||2)*1024*1024,u=(e)=>{let l=Array.from(e);if(o(null),l.some((E)=>E.size>_)){o(`Máx ${r.max||2}MB`);return}let y=[...n(),...l];if(n(y),W(r.onselect))r.onselect(y);else if(W(r.value))r.value(y)},a=(e)=>{let l=n().filter((y,E)=>E!==e);if(n(l),W(r.onselect))r.onselect(l);else if(W(r.value))r.value(l)};return t("div",{class:w("fieldset w-full p-0",r.class)},[t("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 ${f()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(e)=>{e.preventDefault(),f(!0)},ondragleave:()=>f(!1),ondrop:(e)=>{e.preventDefault(),f(!1),u(e.dataTransfer.files)}},[t("div",{class:"flex items-center gap-3 w-full"},[t("span",{class:"icon-[lucide--upload]"}),t("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),t("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${r.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:r.accept||"*",class:"hidden",onchange:(e)=>u(e.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),g(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},X(n,(e,l)=>t("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[t("div",{class:"flex items-center gap-2 truncate"},[t("span",{class:"opacity-50"},"\uD83D\uDCC4"),t("span",{class:"truncate font-medium max-w-[200px]"},e.name),t("span",{class:"text-[9px] opacity-40"},`(${(e.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(y)=>{y.preventDefault(),a(l)}},t("span",{class:"icon-[lucide--x]"}))]))))])},d=(r)=>t("span",{class:r.startsWith("icon-")?r:""},r.startsWith("icon-")?null:r),Ln=(r,n)=>t("div",{...r,class:w("indicator",r.class)},[r.value&&t("span",{class:w("indicator-item badge",r.class)},r.value),n]),Lr=(r)=>{let{label:n,icon:f,float:o,placeholder:_,value:u,left:a,right:e,rule:l,hint:y,content:E,...s}=r,N=j(!1),i=j(!1),b=r.type==="password",S=l??null,L=()=>b?C(N)?"text":"password":r.type||"text";return t("div",{class:"input-container",onfocusin:()=>i(!0),onfocusout:(T)=>{if(!T.currentTarget.contains(T.relatedTarget))i(!1)}},[t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:S,class:()=>w("input validator",r.class)},[n&&!o?t("span",{class:"label"},n):null,a??null,t("input",{...s,type:L,class:"grow",pattern:S,placeholder:_||n||" ",value:u}),e??null,b?Jr({class:"ml-2"},[Tr({value:N,class:"swap-rotate"}),$r({},d("icon-[lucide--eye]")),kr({},d("icon-[lucide--eye-off]"))]):null]),y?t("div",{class:"validator-hint"},y):null,g(i,()=>D({duration:300,slide:!0},t("div",{class:"input-content",onmousedown:(T)=>T.preventDefault()},[W(E)?E(i):E])))])])},Jn=(r,n)=>t("kbd",{...r,class:w("kbd",r.class)},n),Tn=(r,n)=>t("ul",{...r,class:w("list",r.class)},n),$n=(r)=>()=>(C(r.items)||[]).map((n,f)=>t("li",{class:w("list-row",r.class,n?.class)},typeof r.render==="function"?r.render(n,f):n)),kn=(r,n)=>t("span",{...r,class:w("loading loading-spinner",r.class)},n),zn=(r)=>{if(r.children!==void 0)return t("ul",{class:w("menu",r.class),...r},r.children);let{items:n}=r,f=(o)=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},G(o)),t("ul",{},X(()=>C(o.children)||[],f))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?(_)=>{if(!o.href)_.preventDefault();o.onclick(_)}:null},G(o)));return t("ul",{class:w("menu",r.class)},X(()=>C(n)||[],f))},Pn=(r)=>{let n=null;K(()=>{let o=C(r.open);if(!n)return;o?n.showModal():n.close()});let f=()=>W(r.open)&&r.open(!1);return t("dialog",{...r,ref:(o)=>n=o,class:w("modal",r.class),onclose:f,oncancel:f},[t("div",{class:"modal-box"},[r.title&&t("h3",{class:"text-lg font-bold"},r.title),r.children,t("div",{class:"modal-action"},[r.actions||ir({class:"btn",onclick:f},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},Rn=(r,n)=>t("div",{...r,class:w("navbar",r.class)},n),Gn=(r)=>t("progress",{...r,class:w("progress",r.class)}),Xn=(r,n)=>t("div",{...r,class:w("radial-progress",r.class),style:`--value:${r.value??0};${r.style??""}`,role:"progressbar","aria-valuenow":r.value??0},n??`${r.value??0}%`),Qn=(r)=>t("input",{...r,type:"radio",class:w("radio",r.class)}),Un=(r)=>t("input",{...r,type:"range",class:w("range",r.class)}),Kn=(r,n)=>t("div",{...r,class:"rating"},n),Zn=(r)=>[...Array(r.count)].map((n,f)=>t("input",{class:w("mask",r.class),name:r.name,type:"radio",checked:()=>C(r.value)===f,onchange:()=>W(r.value)?r.value(f):r.onchange?.(f)})),Yn=(r,n)=>{if(n!==void 0)return t("select",{class:w("select",r.class),...r},n);let{label:f,float:o,placeholder:_,placeholderDisabled:u=!0,value:a,left:e,right:l,hint:y,items:E,keyFn:s,...N}=r,i=()=>{let b=C(E)||[];return[..._?[{disabled:u,label:_,value:""}]:[],...b]};return t("label",{class:o?"floating-label":""},[o?t("span",{},f):null,t("label",{class:w("select",N.class)},[!o&&f?t("span",{class:"label"},f):null,e??null,t("select",{value:()=>C(a),onchange:(b)=>W(a)?a(b.target.value):N.onchange?.(b)},X(i,(b)=>{let S=G(b,b.value!==void 0?"value":void 0),L=G(b,"label");return t("option",{value:S,disabled:b.disabled||void 0},L)})),l??null]),y?t("div",{class:"validator-hint"},y):null])},gn=(r)=>t("div",{...r,class:w("skeleton",r.class)}),qn=(r)=>t("span",{...r,class:w("skeleton skeleton-text",r.class)}),Bn=(r,n)=>t("div",{...r,class:w("stack",r.class)},n),In=(r,n)=>t("ul",{...r,class:w("steps",r.class)},n),Vn=(r,n)=>t("li",{...r,class:w("step",r.class),"data-content":r.dataContent},n),Jr=(r,n)=>t("label",{...r,class:w("swap",r.class)},n),Tr=(r)=>t("input",{type:"checkbox",checked:()=>C(r.value),onchange:(n)=>W(r.value)&&r.value(n.target.checked),class:r.class}),$r=(r,n)=>t("div",{...r,class:w("swap-on",r.class)},n),kr=(r,n)=>t("div",{...r,class:w("swap-off",r.class)},n),On=(r,n)=>t("table",{...r,class:w("table",r.class)},n),xn=({items:r,columns:n=[],header:f=!0})=>{let o=f!==!1&&n.some((u)=>u.label)?t("thead",{},t("tr",{},n.map((u)=>t("th",{class:u.class},u.label)))):null,_=t("tbody",{},()=>{return(C(r)||[]).map((a,e)=>t("tr",{},n.map((l)=>{let y=l.render?l.render(a,e):a[l.key];return t("td",{class:l.class},y)})))});return[o,_].filter(Boolean)},Hn=(r,n)=>{if(!r.items){let{class:y,...E}=r;return t("div",{...E,class:w("tabs",y)},n)}let{items:f,activeIndex:o,onClose:_,class:u,...a}=r,e=(y)=>W(y)?y():y,l=_||(W(f)?(y,E)=>{let N=e(f).filter((i,b)=>b!==y);if(f(N),o()>=N.length)o(Math.max(0,N.length-1))}:null);return t("div",{...a,class:w("tabs",u)},()=>{return(e(f)||[]).flatMap((E,s)=>{let N=()=>o()===s,i=t("button",{class:()=>`tab ${N()?"tab-active":""} ${E.class||""}`,onclick:(S)=>{S.preventDefault(),o(s),E.onclick?.(S)}},[G(E),E.closable?t("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:(S)=>{S.stopPropagation(),l?.(s,E)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),b=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${N()?"block":"none"};`},W(E.content)?E.content():E.content);return[i,b]})})},Dn=(r)=>t("textarea",{...r,class:w("textarea",r.class)}),dn=(r,n)=>t("span",{...r,class:w("text-rotate",r.class)},n),Fn=(r,n)=>t("ul",{...r,class:w("timeline",r.class)},n),mn=(r,n="alert-success",f=3500)=>{let o=document.getElementById("sigpro-toast-container");if(!o)o=t("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(o);let _=t("div",{style:"display: contents"});o.appendChild(_);let u,a,e,y=tr(()=>{let E=j(!1),s=j(!1);u=()=>{if(s())return;clearTimeout(a),clearTimeout(e),s(!0),setTimeout(()=>{if(y.destroy(),_.remove(),!o.hasChildNodes())o.remove()},300)},e=setTimeout(()=>E(!0),0);let N=typeof r==="function"?C(r):r,i=typeof N==="string"?t("span",{},N):N;return t("div",{class:()=>{if(s())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-full opacity-0 pointer-events-auto`;if(E())return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-0 opacity-100 pointer-events-auto`;return`alert alert-soft ${n} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`}},[i,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:u},t("span",{class:"icon-[lucide--x]"}))])},_);if(f>0)a=setTimeout(u,f);return u},Mn=(r)=>t("input",{...r,type:"checkbox",class:w("toggle",r.class)}),vn=(r,n)=>t("div",{...r,class:w("tooltip",r.class),"data-tip":r.tip},n);var cn={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"}},zr=j("es"),Pr=(r)=>zr(r),Rr=(r)=>()=>cn[zr()][r]||r;var Gr={...fr},Xr={Locale:Pr,tt:Rr};if(typeof window<"u")Object.entries({...Gr,...Xr}).forEach(([r,n])=>{Object.defineProperty(window,r,{value:n,writable:!1,configurable:!0,enumerable:!0})}),console.log("SigProUI DX installed");})();