diff --git a/dist/sigpro-ui.editor.esm.js b/dist/sigpro-ui.editor.esm.js
index d8280d1..3a813e0 100644
--- a/dist/sigpro-ui.editor.esm.js
+++ b/dist/sigpro-ui.editor.esm.js
@@ -1,20 +1,66 @@
// src/editor.js
-import { $, isFunc, h } from "./sigpro.js";
+import { $ as $2, isFunc as isFunc2, h as h2 } from "./sigpro.js";
-// src/helpers.js
+// src/sigpro-ui.js
+import { $, watch, h, mount, when, each, isFunc } from "./sigpro.js";
var val = (val2) => typeof val2 === "function" ? val2() : val2;
var cls = (...classes) => classes.filter(Boolean).join(" ").trim();
+var currentLocale = $("en");
+var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
+var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
+var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
+var Alert = c2("div", "alert");
+var AvatarGroup = c2("div", "avatar-group -space-x-6");
+var Badge = c2("span", "badge");
+var Breadcrumbs = c2("div", "breadcrumbs");
+var Button = c2("button", "btn");
+var Card = c2("div", "card");
+var CardTitle = c2("div", "card-title");
+var CardBody = c2("div", "card-body");
+var CardActions = c2("div", "card-actions");
+var Carousel = c2("div", "carousel");
+var CarouselItem = c2("div", "carousel-item");
+var Chat = c2("div", "chat");
+var ChatBubble = c2("div", "chat-bubble");
+var ChatFooter = c2("div", "chat-footer");
+var ChatHeader = c2("div", "chat-header");
+var Checkbox = ct("input", "checkbox", "checkbox");
+var Drawer = c2("div", "drawer");
+var DrawerContent = c2("div", "drawer-content");
+var DrawerSide = c2("div", "drawer-side");
+var Divider = c1("div", "divider");
+var Dropdown = c2("div", "dropdown");
+var Kbd = c2("kbd", "kbd");
+var List = c2("ul", "list");
+var Loading = c2("span", "loading loading-spinner");
+var Navbar = c2("div", "navbar");
+var Progress = c1("progress", "progress");
+var Radio = ct("input", "radio", "radio");
+var Range = ct("input", "range", "range");
+var Rating = c2("div", "rating");
+var Skeleton = c1("div", "skeleton");
+var SkeletonText = c1("span", "skeleton skeleton-text");
+var Stack = c2("div", "stack");
+var Stats = c2("div", "stats shadow");
+var Steps = c2("ul", "steps");
+var Swap = c2("label", "swap");
+var SwapOn = c2("div", "swap-on");
+var SwapOff = c2("div", "swap-off");
+var Table = c2("table", "table");
+var Textarea = c1("textarea", "textarea");
+var Timeline = c2("ul", "timeline");
+var Toggle = ct("input", "toggle", "checkbox");
// src/editor.js
var Editor = (p) => {
const { value, class: extraClass } = p;
let editorRef = null;
let savedRange = null;
- const isSource = $(false);
- const source = $("");
- const count = $(0);
- const refreshTick = $(0);
- const showEmojis = $(false);
+ const isSource = $2(false);
+ const source = $2("");
+ const count = $2(0);
+ const refreshTick = $2(0);
+ const showEmojis = $2(false);
const emojis = ["\uD83D\uDE00", "\uD83D\uDE0A", "\uD83D\uDE09", "\uD83E\uDDD0", "\uD83D\uDE2E", "\uD83E\uDD14", "\uD83D\uDE05", "\uD83D\uDE02", "\uD83D\uDE0D", "\uD83D\uDE18", "\uD83E\uDD70", "\uD83D\uDC4D", "\uD83D\uDC4E", "\uD83D\uDC4C", "\uD83E\uDD1D", "\uD83E\uDD1E", "\uD83D\uDC4B", "\uD83D\uDC4F", "\uD83D\uDE4C", "\uD83D\uDE4F", "\uD83D\uDCAA", "☝️", "\uD83D\uDC47", "\uD83D\uDC48", "\uD83D\uDC49", "\uD83D\uDD95", "✅", "⚠️", "\uD83D\uDE80", "\uD83D\uDCE2", "✉️", "❤️"];
const saveSelection = () => {
const sel = window.getSelection();
@@ -37,7 +83,7 @@ var Editor = (p) => {
if (!editorRef)
return;
const html = editorRef.innerHTML;
- if (isFunc(value))
+ if (isFunc2(value))
value(html);
else
p.onchange?.(html);
@@ -97,63 +143,63 @@ var Editor = (p) => {
return false;
}
};
- const toolbar = h("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [
- h("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, h("span", { class: "icon-[lucide--bold]" })),
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, h("span", { class: "icon-[lucide--italic]" })),
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, h("span", { class: "icon-[lucide--underline]" })),
- h("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }),
- h("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h("button", {
+ const toolbar = h2("div", { class: "flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20" }, [
+ h2("div", { class: "flex flex-wrap gap-1 flex-1 items-center" }, [
+ h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("bold") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("bold") }, h2("span", { class: "icon-[lucide--bold]" })),
+ h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("italic") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("italic") }, h2("span", { class: "icon-[lucide--italic]" })),
+ h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("underline") ? "btn-active bg-primary/20" : ""}`, onclick: () => exec("underline") }, h2("span", { class: "icon-[lucide--underline]" })),
+ h2("input", { type: "color", class: "w-5 h-5 p-0 border-0 bg-transparent cursor-pointer", oninput: (e) => exec("foreColor", e.target.value) }),
+ h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
+ h2("button", {
type: "button",
class: "btn btn-ghost btn-xs",
onclick: () => exec("justifyLeft")
- }, h("span", { class: "icon-[lucide--align-left]" })),
- h("button", {
+ }, h2("span", { class: "icon-[lucide--align-left]" })),
+ h2("button", {
type: "button",
class: "btn btn-ghost btn-xs",
onclick: () => exec("justifyCenter")
- }, h("span", { class: "icon-[lucide--align-center]" })),
- h("button", {
+ }, h2("span", { class: "icon-[lucide--align-center]" })),
+ h2("button", {
type: "button",
class: "btn btn-ghost btn-xs",
onclick: () => exec("justifyRight")
- }, h("span", { class: "icon-[lucide--align-right]" })),
- h("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, h("span", { class: "icon-[lucide--list]" })),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, h("span", { class: "icon-[lucide--list-ordered]" })),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, h("span", { class: "icon-[lucide--indent-decrease]" })),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, h("span", { class: "icon-[lucide--indent-increase]" })),
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, h("span", { class: "icon-[lucide--quote]" })),
- h("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => {
+ }, h2("span", { class: "icon-[lucide--align-right]" })),
+ h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertUnorderedList") }, h2("span", { class: "icon-[lucide--list]" })),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("insertOrderedList") }, h2("span", { class: "icon-[lucide--list-ordered]" })),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("outdent") }, h2("span", { class: "icon-[lucide--indent-decrease]" })),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("indent") }, h2("span", { class: "icon-[lucide--indent-increase]" })),
+ h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${queryState("formatBlock", "BLOCKQUOTE") ? "btn-active" : ""}`, onclick: () => exec("formatBlock", queryState("formatBlock", "BLOCKQUOTE") ? "P" : "BLOCKQUOTE") }, h2("span", { class: "icon-[lucide--quote]" })),
+ h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => {
const url = window.prompt("URL:");
if (url)
exec("createLink", url);
- } }, h("span", { class: "icon-[lucide--link]" })),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => {
- const input = document.createElement("input");
- input.type = "file";
- input.onchange = (e) => handleUpload(e.target.files[0]);
- input.click();
- } }, h("span", { class: "icon-[lucide--paperclip]" })),
- h("div", { class: "relative" }, [
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => {
+ } }, h2("span", { class: "icon-[lucide--link]" })),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => {
+ const input2 = document.createElement("input");
+ input2.type = "file";
+ input2.onchange = (e) => handleUpload(e.target.files[0]);
+ input2.click();
+ } }, h2("span", { class: "icon-[lucide--paperclip]" })),
+ h2("div", { class: "relative" }, [
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: (e) => {
e.stopPropagation();
saveSelection();
showEmojis(!showEmojis());
- } }, h("span", { class: "icon-[lucide--smile]" })),
- h("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => h("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => {
+ } }, h2("span", { class: "icon-[lucide--smile]" })),
+ h2("div", { class: "absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1", style: () => showEmojis() ? "display:flex" : "display:none" }, emojis.map((emo) => h2("span", { class: "cursor-pointer hover:bg-base-200 p-1 rounded text-lg", onclick: (e) => {
e.stopPropagation();
exec("insertText", emo);
showEmojis(false);
} }, emo)))
]),
- h("span", { class: "w-px h-5 bg-base-300 mx-1" }),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, h("span", { class: "icon-[lucide--undo-2]" })),
- h("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, h("span", { class: "icon-[lucide--redo-2]" }))
+ h2("span", { class: "w-px h-5 bg-base-300 mx-1" }),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("undo") }, h2("span", { class: "icon-[lucide--undo-2]" })),
+ h2("button", { type: "button", class: "btn btn-ghost btn-xs", onclick: () => exec("redo") }, h2("span", { class: "icon-[lucide--redo-2]" }))
]),
- h("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => {
+ h2("button", { type: "button", class: () => `btn btn-ghost btn-xs ${isSource() ? "btn-active" : ""}`, onclick: () => {
if (!isSource())
source(editorRef?.innerHTML || "");
else if (editorRef) {
@@ -161,7 +207,7 @@ var Editor = (p) => {
notify();
}
isSource(!isSource());
- } }, h("span", { class: "icon-[lucide--code-2]" }))
+ } }, h2("span", { class: "icon-[lucide--code-2]" }))
]);
if (typeof document !== "undefined" && !document.getElementById("editor-styles")) {
const style = document.createElement("style");
@@ -175,10 +221,10 @@ var Editor = (p) => {
`;
document.head.appendChild(style);
}
- return h("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [
+ return h2("div", { class: cls("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col", extraClass) }, [
toolbar,
- h("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [
- h("div", {
+ h2("div", { class: "relative flex-1 flex flex-col", onclick: () => showEmojis(false) }, [
+ h2("div", {
ref: (el) => {
if (!editorRef && el) {
editorRef = el;
@@ -228,7 +274,7 @@ var Editor = (p) => {
handleUpload(e.dataTransfer.files[0]);
}
}),
- h("textarea", {
+ h2("textarea", {
class: "w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",
style: () => isSource() ? "" : "display:none",
value: source,
@@ -240,8 +286,8 @@ var Editor = (p) => {
}
})
]),
- h("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [
- h("span", () => `${count()}`)
+ h2("div", { class: "px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic" }, [
+ h2("span", () => `${count()}`)
])
]);
};
diff --git a/dist/sigpro-ui.editor.esm.min.js b/dist/sigpro-ui.editor.esm.min.js
index 60c8d06..a4f93dd 100644
--- a/dist/sigpro-ui.editor.esm.min.js
+++ b/dist/sigpro-ui.editor.esm.min.js
@@ -1,7 +1,7 @@
-import{$ as p,isFunc as E,h as e}from"./sigpro.js";var k=(a)=>typeof a==="function"?a():a;var w=(...a)=>a.filter(Boolean).join(" ").trim();var H=(a)=>{let{value:x,class:L}=a,l=null,r=null,i=p(!1),u=p(""),y=p(0),m=p(0),d=p(!1),C=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],g=()=>{let t=window.getSelection();if(t.getRangeAt&&t.rangeCount)r=t.getRangeAt(0)},T=()=>{if(r){let t=window.getSelection();t.removeAllRanges(),t.addRange(r)}},h=()=>{if(m(m()+1),l)y(l.innerText.length)},f=()=>{if(!l)return;let t=l.innerHTML;if(E(x))x(t);else a.onchange?.(t);h()},n=(t,o=null)=>{if(!l)return;if(l.focus(),r)T();document.execCommand(t,!1,o),r=null,f()},$=(t)=>{let o=document.createElement("div");o.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let s=document.createElement("img");s.src=t,s.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",o.onclick=()=>document.body.removeChild(o),o.appendChild(s),document.body.appendChild(o)},v=(t)=>{if(!t)return;let o=new FileReader;o.onload=(s)=>{if(t.type.startsWith("image/")){let c=`

`;n("insertHTML",c)}else{let c=`${t.name} `;n("insertHTML",c)}},o.readAsDataURL(t)},b=(t,o=null)=>{if(m(),!l||i())return!1;try{if(t==="formatBlock"){let s=window.getSelection().getRangeAt(0).commonAncestorContainer;while(s&&s!==l){if(s.nodeType===1&&s.tagName===o)return!0;s=s.parentNode}return!1}return document.queryCommandState(t)}catch(s){return!1}},S=e("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[e("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[e("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b("bold")?"btn-active bg-primary/20":""}`,onclick:()=>n("bold")},e("span",{class:"icon-[lucide--bold]"})),e("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b("italic")?"btn-active bg-primary/20":""}`,onclick:()=>n("italic")},e("span",{class:"icon-[lucide--italic]"})),e("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b("underline")?"btn-active bg-primary/20":""}`,onclick:()=>n("underline")},e("span",{class:"icon-[lucide--underline]"})),e("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(t)=>n("foreColor",t.target.value)}),e("span",{class:"w-px h-5 bg-base-300 mx-1"}),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("justifyLeft")},e("span",{class:"icon-[lucide--align-left]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("justifyCenter")},e("span",{class:"icon-[lucide--align-center]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("justifyRight")},e("span",{class:"icon-[lucide--align-right]"})),e("span",{class:"w-px h-5 bg-base-300 mx-1"}),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("insertUnorderedList")},e("span",{class:"icon-[lucide--list]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("insertOrderedList")},e("span",{class:"icon-[lucide--list-ordered]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("outdent")},e("span",{class:"icon-[lucide--indent-decrease]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("indent")},e("span",{class:"icon-[lucide--indent-increase]"})),e("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${b("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>n("formatBlock",b("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},e("span",{class:"icon-[lucide--quote]"})),e("span",{class:"w-px h-5 bg-base-300 mx-1"}),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let t=window.prompt("URL:");if(t)n("createLink",t)}},e("span",{class:"icon-[lucide--link]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let t=document.createElement("input");t.type="file",t.onchange=(o)=>v(o.target.files[0]),t.click()}},e("span",{class:"icon-[lucide--paperclip]"})),e("div",{class:"relative"},[e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(t)=>{t.stopPropagation(),g(),d(!d())}},e("span",{class:"icon-[lucide--smile]"})),e("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},C.map((t)=>e("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(o)=>{o.stopPropagation(),n("insertText",t),d(!1)}},t)))]),e("span",{class:"w-px h-5 bg-base-300 mx-1"}),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("undo")},e("span",{class:"icon-[lucide--undo-2]"})),e("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>n("redo")},e("span",{class:"icon-[lucide--redo-2]"}))]),e("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${i()?"btn-active":""}`,onclick:()=>{if(!i())u(l?.innerHTML||"");else if(l)l.innerHTML=u(),f();i(!i())}},e("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let t=document.createElement("style");t.id="editor-styles",t.textContent=`
+import{$ as y,isFunc as W,h as o}from"./sigpro.js";import{$ as A,watch as J,h as z,mount as M,when as P,each as X,isFunc as Z}from"./sigpro.js";var w=(u)=>typeof u==="function"?u():u;var R=(...u)=>u.filter(Boolean).join(" ").trim();var N=A("en");var c=(u,g)=>(x)=>z(u,{...x,class:`${g} ${x?.class||""}`.trim()}),t=(u,g)=>(x,b)=>z(u,{...x,class:`${g} ${x?.class||""}`.trim()},b),E=(u,g,x)=>(b)=>z(u,{type:x,...b,class:`${g} ${b?.class||""}`.trim()}),S=t("div","alert");var Y=t("div","avatar-group -space-x-6"),$=t("span","badge"),B=t("div","breadcrumbs"),H=t("button","btn"),I=t("div","card"),V=t("div","card-title"),D=t("div","card-body"),m=t("div","card-actions"),F=t("div","carousel"),v=t("div","carousel-item"),h=t("div","chat"),p=t("div","chat-bubble"),nn=t("div","chat-footer"),on=t("div","chat-header");var tn=E("input","checkbox","checkbox"),bn=t("div","drawer");var sn=t("div","drawer-content"),en=t("div","drawer-side");var rn=c("div","divider"),un=t("div","dropdown");var gn=t("kbd","kbd"),xn=t("ul","list");var ln=t("span","loading loading-spinner"),an=t("div","navbar"),fn=c("progress","progress");var dn=E("input","radio","radio"),kn=E("input","range","range"),cn=t("div","rating");var yn=c("div","skeleton"),Ln=c("span","skeleton skeleton-text"),Tn=t("div","stack"),En=t("div","stats shadow"),Cn=t("ul","steps");var _n=t("label","swap");var zn=t("div","swap-on"),Un=t("div","swap-off"),jn=t("table","table"),wn=c("textarea","textarea");var Rn=t("ul","timeline"),On=E("input","toggle","checkbox");var An=(u)=>{let{value:g,class:x}=u,b=null,f=null,l=y(!1),i=y(""),U=y(0),C=y(0),d=y(!1),O=["\uD83D\uDE00","\uD83D\uDE0A","\uD83D\uDE09","\uD83E\uDDD0","\uD83D\uDE2E","\uD83E\uDD14","\uD83D\uDE05","\uD83D\uDE02","\uD83D\uDE0D","\uD83D\uDE18","\uD83E\uDD70","\uD83D\uDC4D","\uD83D\uDC4E","\uD83D\uDC4C","\uD83E\uDD1D","\uD83E\uDD1E","\uD83D\uDC4B","\uD83D\uDC4F","\uD83D\uDE4C","\uD83D\uDE4F","\uD83D\uDCAA","☝️","\uD83D\uDC47","\uD83D\uDC48","\uD83D\uDC49","\uD83D\uDD95","✅","⚠️","\uD83D\uDE80","\uD83D\uDCE2","✉️","❤️"],L=()=>{let n=window.getSelection();if(n.getRangeAt&&n.rangeCount)f=n.getRangeAt(0)},K=()=>{if(f){let n=window.getSelection();n.removeAllRanges(),n.addRange(f)}},_=()=>{if(C(C()+1),b)U(b.innerText.length)},T=()=>{if(!b)return;let n=b.innerHTML;if(W(g))g(n);else u.onchange?.(n);_()},s=(n,e=null)=>{if(!b)return;if(b.focus(),f)K();document.execCommand(n,!1,e),f=null,T()},Q=(n)=>{let e=document.createElement("div");e.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let r=document.createElement("img");r.src=n,r.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",e.onclick=()=>document.body.removeChild(e),e.appendChild(r),document.body.appendChild(e)},j=(n)=>{if(!n)return;let e=new FileReader;e.onload=(r)=>{if(n.type.startsWith("image/")){let a=` `;s("insertHTML",a)}else{let a=`${n.name} `;s("insertHTML",a)}},e.readAsDataURL(n)},k=(n,e=null)=>{if(C(),!b||l())return!1;try{if(n==="formatBlock"){let r=window.getSelection().getRangeAt(0).commonAncestorContainer;while(r&&r!==b){if(r.nodeType===1&&r.tagName===e)return!0;r=r.parentNode}return!1}return document.queryCommandState(n)}catch(r){return!1}},q=o("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[o("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${k("bold")?"btn-active bg-primary/20":""}`,onclick:()=>s("bold")},o("span",{class:"icon-[lucide--bold]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${k("italic")?"btn-active bg-primary/20":""}`,onclick:()=>s("italic")},o("span",{class:"icon-[lucide--italic]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${k("underline")?"btn-active bg-primary/20":""}`,onclick:()=>s("underline")},o("span",{class:"icon-[lucide--underline]"})),o("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:(n)=>s("foreColor",n.target.value)}),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyLeft")},o("span",{class:"icon-[lucide--align-left]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyCenter")},o("span",{class:"icon-[lucide--align-center]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("justifyRight")},o("span",{class:"icon-[lucide--align-right]"})),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("insertUnorderedList")},o("span",{class:"icon-[lucide--list]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("insertOrderedList")},o("span",{class:"icon-[lucide--list-ordered]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("outdent")},o("span",{class:"icon-[lucide--indent-decrease]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("indent")},o("span",{class:"icon-[lucide--indent-increase]"})),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${k("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>s("formatBlock",k("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},o("span",{class:"icon-[lucide--quote]"})),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let n=window.prompt("URL:");if(n)s("createLink",n)}},o("span",{class:"icon-[lucide--link]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let n=document.createElement("input");n.type="file",n.onchange=(e)=>j(e.target.files[0]),n.click()}},o("span",{class:"icon-[lucide--paperclip]"})),o("div",{class:"relative"},[o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:(n)=>{n.stopPropagation(),L(),d(!d())}},o("span",{class:"icon-[lucide--smile]"})),o("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},O.map((n)=>o("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:(e)=>{e.stopPropagation(),s("insertText",n),d(!1)}},n)))]),o("span",{class:"w-px h-5 bg-base-300 mx-1"}),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("undo")},o("span",{class:"icon-[lucide--undo-2]"})),o("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>s("redo")},o("span",{class:"icon-[lucide--redo-2]"}))]),o("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${l()?"btn-active":""}`,onclick:()=>{if(!l())i(b?.innerHTML||"");else if(b)b.innerHTML=i(),T();l(!l())}},o("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let n=document.createElement("style");n.id="editor-styles",n.textContent=`
[contenteditable="true"] div,
[contenteditable="true"] p {
margin: 0;
padding: 0;
}
- `,document.head.appendChild(t)}return e("div",{class:w("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",L)},[S,e("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[e("div",{ref:(t)=>{if(!l&&t)l=t,t.innerHTML=k(x)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),t.addEventListener("click",(o)=>{let s=o.target.closest(".resizable-img-container");if(s){let c=s.querySelector("img");if(c)$(c.src)}})},style:()=>`min-height:22rem;${i()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:f,onkeydown:(t)=>{if(t.key==="Tab")t.preventDefault(),n("indent")},onkeyup:()=>{h(),g()},onclick:(t)=>{h(),g(),t.stopPropagation()},onmouseup:()=>{f(),g()},onpaste:(t)=>{t.preventDefault();let o=t.clipboardData.getData("text/plain");n("insertText",o)},ondragover:(t)=>t.preventDefault(),ondrop:(t)=>{t.preventDefault(),v(t.dataTransfer.files[0])}}),e("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>i()?"":"display:none",value:u,oninput:(t)=>{if(u(t.target.value),l)l.innerHTML=t.target.value;a.onchange?.(t.target.value)}})]),e("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[e("span",()=>`${y()}`)])])};export{H as Editor};
+ `,document.head.appendChild(n)}return o("div",{class:R("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",x)},[q,o("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[o("div",{ref:(n)=>{if(!b&&n)b=n,n.innerHTML=w(g)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),n.addEventListener("click",(e)=>{let r=e.target.closest(".resizable-img-container");if(r){let a=r.querySelector("img");if(a)Q(a.src)}})},style:()=>`min-height:22rem;${l()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:T,onkeydown:(n)=>{if(n.key==="Tab")n.preventDefault(),s("indent")},onkeyup:()=>{_(),L()},onclick:(n)=>{_(),L(),n.stopPropagation()},onmouseup:()=>{T(),L()},onpaste:(n)=>{n.preventDefault();let e=n.clipboardData.getData("text/plain");s("insertText",e)},ondragover:(n)=>n.preventDefault(),ondrop:(n)=>{n.preventDefault(),j(n.dataTransfer.files[0])}}),o("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>l()?"":"display:none",value:i,oninput:(n)=>{if(i(n.target.value),b)b.innerHTML=n.target.value;u.onchange?.(n.target.value)}})]),o("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[o("span",()=>`${U()}`)])])};export{An as Editor};
diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js
index 880330b..c4ac840 100644
--- a/dist/sigpro-ui.esm.js
+++ b/dist/sigpro-ui.esm.js
@@ -1,7 +1,5 @@
// src/sigpro-ui.js
-import { $ as $2, watch, h, mount, when, each, isFunc } from "./sigpro.js";
-
-// src/helpers.js
+import { $, watch, h, mount, when, each, isFunc } from "./sigpro.js";
var val = (val2) => typeof val2 === "function" ? val2() : val2;
var getBy = (item, field = "label") => item && typeof item === "object" ? item[field] : item;
var cls = (...classes) => classes.filter(Boolean).join(" ").trim();
@@ -12,8 +10,6 @@ var filterBy = (items, query, field = "label") => {
};
var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`;
var hide = () => document.activeElement?.blur();
-
-// src/locale.js
var currentLocale = $("en");
var lang = {
es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." },
@@ -24,8 +20,6 @@ var setLocale = (locale) => {
currentLocale(locale);
};
var t = (t2) => () => lang[currentLocale()][t2] || t2;
-
-// src/sigpro-ui.js
var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
@@ -98,8 +92,8 @@ var Accordion = (p) => {
});
};
var Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => {
- const query = $2(val(value) || "");
- const filtered = $2(() => filterBy(items, query()));
+ const query = $(val(value) || "");
+ const filtered = $(() => filterBy(items, query()));
const pick = (item) => {
const display = getBy(item);
const actual = typeof item === "string" ? item : item.value;
@@ -118,10 +112,10 @@ var Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) =
]);
};
var Calendar = (p) => {
- const internalDate = $2(new Date);
- const hoverDate = $2(null);
- const startHour = $2(0);
- const endHour = $2(0);
+ const internalDate = $(new Date);
+ const hoverDate = $(null);
+ const startHour = $(0);
+ const endHour = $(0);
const now = new Date;
const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")}`;
const fmt = (d) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
@@ -314,7 +308,7 @@ var ColorPalette = (p) => {
}))));
};
var Datepicker = (p) => {
- const displayValue = $2("");
+ const displayValue = $("");
const rangeMode = () => val(p.range) === true;
watch(() => {
const v = val(p.value);
@@ -369,9 +363,9 @@ var Datepicker = (p) => {
]);
};
var Fileinput = (p) => {
- const files = $2([]);
- const drag = $2(false);
- const error = $2(null);
+ const files = $([]);
+ const drag = $(false);
+ const error = $(null);
const maxBytes = (p.max || 2) * 1024 * 1024;
const process = (fileList) => {
const arr = Array.from(fileList);
@@ -442,7 +436,7 @@ var Fileinput = (p) => {
};
var Input = (p) => {
const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p;
- const showPassword = $2(false);
+ const showPassword = $(false);
const isPassword = p.type === "password";
const pattern = rule ?? null;
const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search";
@@ -597,8 +591,8 @@ var Toast = (message, type = "alert-success", duration = 3500) => {
container.appendChild(host);
let closeFn, timer, enterTimer;
const ToastComponent = () => {
- const visible = $2(false);
- const leaving = $2(false);
+ const visible = $(false);
+ const leaving = $(false);
closeFn = () => {
if (leaving())
return;
@@ -638,8 +632,15 @@ var Toast = (message, type = "alert-success", duration = 3500) => {
return closeFn;
};
export {
+ val,
t,
setLocale,
+ rand,
+ lang,
+ hide,
+ getBy,
+ filterBy,
+ cls,
Tooltip,
Toggle,
Toast,
diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js
index a6999e9..0a24d2b 100644
--- a/dist/sigpro-ui.esm.min.js
+++ b/dist/sigpro-ui.esm.min.js
@@ -1 +1 @@
-import{$ as M,watch as h,h as j,mount as t,when as e,each as V,isFunc as A}from"./sigpro.js";var z=(L)=>typeof L==="function"?L():L,S=(L,k="label")=>L&&typeof L==="object"?L[k]:L,W=(...L)=>L.filter(Boolean).join(" ").trim(),r=(L,k,E="label")=>{let G=String(z(k)||"").toLowerCase(),J=(z(L)||[]).map((Q)=>typeof Q==="object"?Q:{label:Q,value:Q});return!G?J:J.filter((Q)=>String(Q[E]||"").toLowerCase().includes(G))},n=(L)=>`${L}-${Math.random().toString(36).slice(2,9)}`,F=()=>document.activeElement?.blur();var d=$("en"),s={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},_L=(L)=>{if(s[L])d(L)},l=(L)=>()=>s[d()][L]||L;var D=(L,k)=>(E)=>j(L,{...E,class:`${k} ${E?.class||""}`.trim()}),Z=(L,k)=>(E,G)=>j(L,{...E,class:`${k} ${E?.class||""}`.trim()},G),w=(L,k,E)=>(G)=>j(L,{type:E,...G,class:`${k} ${G?.class||""}`.trim()}),OL=Z("div","alert"),AL=(L,k)=>j("div",{class:"avatar"},j("div",{class:L.class},k)),TL=Z("div","avatar-group -space-x-6"),CL=Z("span","badge"),PL=Z("div","breadcrumbs"),p=Z("button","btn"),ML=Z("div","card"),RL=Z("div","card-title"),BL=Z("div","card-body"),SL=Z("div","card-actions"),IL=Z("div","carousel"),bL=Z("div","carousel-item"),VL=Z("div","chat"),$L=Z("div","chat-bubble"),HL=Z("div","chat-footer"),DL=Z("div","chat-header"),FL=(L,k)=>j("div",{...L,class:W("chat-image avatar",L.class)},j("div",{class:"w-10 rounded-full"},typeof k==="string"?j("img",{src:k,alt:"avatar"}):k)),xL=w("input","checkbox","checkbox"),wL=Z("div","drawer"),fL=(L)=>input({...L,type:"checkbox",class:"drawer-toggle",checked:()=>z(L.checked),onchange:(k)=>A(L.checked)&&L.checked(k.target.checked)}),yL=Z("div","drawer-content"),gL=Z("div","drawer-side"),uL=(L)=>label({...L,for:L.for,class:W("drawer-overlay",L.class)}),oL=D("div","divider"),o=Z("div","dropdown"),LL=(L,k)=>j("div",{...L,tabindex:"0",role:"button",class:W("btn",L.class)},k),m=(L,k)=>j("div",{...L,tabindex:"0",class:W("dropdown-content",L.class)},k),mL=(L,k)=>j("div",{class:"fab"},[j("div",{tabindex:"0",role:"button",class:W("btn",L.class)},x({},L.icon)),k]),vL=(L,k)=>j("fieldset",{class:W("fieldset",L.class)},[j("legend",{class:"fieldset-legend"},L.label),k]),x=(L,k)=>j("span",{...L,class:W(k,L.class)}),rL=(L,k)=>j("div",{...L,class:W("indicator",L.class)},[L.value&&j("span",{class:W("indicator-item badge",L.class)},L.value),k]),nL=Z("kbd","kbd"),dL=Z("ul","list"),sL=(L)=>()=>(z(L.items)||[]).map((k,E)=>j("li",{class:W("list-row",L.class,k?.class)},typeof L.render==="function"?L.render(k,E):k)),lL=Z("span","loading loading-spinner"),hL=Z("div","navbar"),aL=D("progress","progress"),cL=(L,k)=>j("div",{class:W("radial-progress",L.class),style:`--value:${z(L.value)??0};`,role:"progressbar","aria-valuenow":L.value},k),iL=w("input","radio","radio"),tL=w("input","range","range"),eL=Z("div","rating"),pL=(L)=>[...Array(L.count)].map((k,E)=>j("input",{class:W("mask",L.class),name:L.name,type:"radio",checked:()=>z(L.value)===E,onchange:()=>A(L.value)?L.value(E):L.onchange?.(E)})),L6=D("div","skeleton"),j6=D("span","skeleton skeleton-text"),k6=Z("div","stack"),E6=Z("div","stats shadow"),G6=Z("ul","steps"),J6=(L,k)=>j("li",{...L,class:W("step",L.class),"data-content":L.dataContent},k),jL=Z("label","swap"),kL=(L)=>j("input",{type:"checkbox",checked:()=>z(L.value),onchange:(k)=>A(L.value)&&L.value(k.target.checked),class:L.class}),EL=Z("div","swap-on"),GL=Z("div","swap-off"),K6=Z("table","table"),Q6=D("textarea","textarea"),U6=(L,k)=>j("span",{...L,class:W("text-rotate",L.class)},j("span",{},k)),W6=Z("ul","timeline"),X6=w("input","toggle","checkbox"),Z6=(L,k)=>j("div",{...L,class:W("tooltip",L.class),"data-tip":L.tip},k),_6=(L)=>{let k=L.name||n("acc");return V(L.items,(E)=>{return j("div",{class:W("collapse",L.class)},[j("input",{type:"radio",name:k,checked:E.open||void 0}),E.title?j("div",{class:W("collapse-title",`${E.classTitle??" font-semibold"}`)},E.title):null,E.content?j("div",{class:W("collapse-content text-sm",`${E.classContent??" font-semibold"}`)},E.content):null])})},q6=({items:L,value:k,onselect:E,placeholder:G="...",...J})=>{let Q=M(z(k)||""),N=M(()=>r(L,Q())),_=(U)=>{let X=S(U),Y=typeof U==="string"?U:U.value;if(Q(X),A(k))k(Y);E?.(U),F()};return o({class:"w-80"},[j("div",{tabindex:"0",role:"button",class:"w-full"},QL({...J,placeholder:G,value:Q,left:x({},"icon-[lucide--search]")})),m({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},j("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[V(N,(U)=>j("li",{},[j("a",{onmousedown:(X)=>X.preventDefault(),onclick:()=>_(U)},S(U))]),"value"),()=>N().length===0?j("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},JL=(L)=>{let k=M(new Date),E=M(null),G=M(0),J=M(0),Q=new Date,N=`${Q.getFullYear()}-${String(Q.getMonth()+1).padStart(2,"0")}-${String(Q.getDate()).padStart(2,"0")}`,_=(K)=>`${K.getFullYear()}-${String(K.getMonth()+1).padStart(2,"0")}-${String(K.getDate()).padStart(2,"0")}`,U=()=>z(L.range)===!0,X=()=>z(L.value),Y=(K)=>{let q=_(K),P=X();if(U())if(!P?.start||P.start&&P.end)L.onChange?.({start:q,end:null,...L.hour&&{startHour:G()}});else{let b=P.start,H=q{let q=k();k(new Date(q.getFullYear(),q.getMonth()+K,1))},O=(K)=>{let q=k();k(new Date(q.getFullYear()+K,q.getMonth(),1))},C=({value:K,onChange:q})=>j("div",{class:"flex-1"},[j("div",{class:"flex gap-2 items-center"},[j("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(P)=>q(+P.target.value)}),j("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(z(K)).padStart(2,"0")+":00")])]);return j("div",{class:W("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",L.class)},[j("div",{class:"flex justify-between items-center mb-4 gap-1"},[j("div",{class:"flex gap-0.5"},[j("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>O(-1)},j("span",{class:"icon-[lucide--chevrons-left]"})),j("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(-1)},j("span",{class:"icon-[lucide--chevron-left]"}))]),j("span",{class:"font-bold uppercase flex-1 text-center"},()=>k().toLocaleString("es-ES",{month:"short",year:"numeric"})),j("div",{class:"flex gap-0.5"},[j("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(1)},j("span",{class:"icon-[lucide--chevron-right]"})),j("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>O(1)},j("span",{class:"icon-[lucide--chevrons-right]"}))])]),j("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>E(null)},[...["L","M","X","J","V","S","D"].map((K)=>j("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=k(),q=K.getFullYear(),P=K.getMonth(),b=new Date(q,P,1).getDay(),H=b===0?6:b-1,a=new Date(q,P+1,0).getDate(),f=[];for(let I=0;I{let B=X(),y=E(),c=typeof B==="string"?B.split("T")[0]===R:B?.start===R,i=B?.end===R,g=!1;if(U()&&B?.start){let u=B.start;if(!B.end&&y)g=R>u&&R<=y||R=y;else if(B.end)g=R>u&&RU()&&E(R),onclick:()=>Y(v)},I.toString()))}return f}]),L.hour?j("div",{class:"mt-3 pt-2 border-t border-base-300"},U()?j("div",{class:"flex gap-4"},[C({value:G,onChange:(K)=>G(K)}),C({value:J,onChange:(K)=>J(K)})]):C({value:G,onChange:(K)=>G(K)})):null])},z6=(L)=>{let k=()=>z(L.value)||"#000000";return o({},[LL({class:"btn"},[j("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${k()}`}),L.label&&j("span",{},L.label)]),m({class:"p-0"},KL({value:L.value,onchange:(E)=>{A(L.value)?L.value(E):L.onchange?.(E)}}))])},KL=(L)=>{let k=()=>z(L.value)||"#000000",E=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],G=(J)=>{A(L.value)?L.value(J):L.onchange?.(J),F()};return j("div",{class:W("p-3 bg-base-100 rounded-box shadow w-64",L.class)},j("div",{class:"grid grid-cols-8 gap-1"},E.map((J)=>j("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 p-0 min-h-0 ${k().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{G(J)}}))))},Y6=(L)=>{let k=M(""),E=()=>z(L.range)===!0;h(()=>{let J=z(L.value);if(!J)return k("");let Q="";if(typeof J==="string")Q=L.hour&&J.includes("T")?J.replace("T"," "):J;else if(J.start&&J.end){let N=L.hour&&J.startHour!=null?`${J.start} ${String(J.startHour).padStart(2,"0")}:00`:J.start,_=L.hour&&J.endHour!=null?`${J.end} ${String(J.endHour).padStart(2,"0")}:00`:J.end;Q=`${N} - ${_}`}else if(J.start)Q=`${L.hour&&J.startHour!=null?`${J.start} ${String(J.startHour).padStart(2,"0")}:00`:J.start}...`;k(Q)});let G=(J)=>{if(A(L.value))L.value(J);else L.onChange?.(J);if(!E()||J?.end!=null)F()};return o({class:W("w-full",L.class)},[j("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[j("span",{class:"icon-[lucide--calendar] shrink-0"}),j("span",{class:()=>`grow text-left truncate ${!k()?"opacity-50":""}`},()=>k()||L.placeholder||(E()?"Seleccionar rango...":"Seleccionar fecha...")),()=>k()?j("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(J)=>{if(J.preventDefault(),J.stopPropagation(),A(L.value))L.value(null);else L.onChange?.(null);k("")}},j("span",{class:"icon-[lucide--x] opacity-50"})):null]),m({class:"p-0"},JL({value:L.value,range:E(),hour:L.hour,onChange:G}))])},N6=(L)=>{let k=M([]),E=M(!1),G=M(null),J=(L.max||2)*1024*1024,Q=(_)=>{let U=Array.from(_);if(G(null),U.some((Y)=>Y.size>J)){G(`Máx ${L.max||2}MB`);return}let X=[...k(),...U];if(k(X),A(L.onselect))L.onselect(X);else if(A(L.value))L.value(X)},N=(_)=>{let U=k().filter((X,Y)=>Y!==_);if(k(U),A(L.onselect))L.onselect(U);else if(A(L.value))L.value(U)};return j("div",{class:W("fieldset w-full p-0",L.class)},[j("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${E()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(_)=>{_.preventDefault(),E(!0)},ondragleave:()=>E(!1),ondrop:(_)=>{_.preventDefault(),E(!1),Q(_.dataTransfer.files)}},[j("div",{class:"flex items-center gap-3 w-full"},[j("span",{class:"icon-[lucide--upload]"}),j("span",{class:"text-sm opacity-70 truncate grow text-left"},l("uploadFiles")),j("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${L.max||2}MB`)]),j("input",{type:"file",multiple:!0,accept:L.accept||"*",class:"hidden",onchange:(_)=>Q(_.target.files)})]),()=>G()&&j("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},G()),e(()=>k().length>0,()=>j("ul",{class:"mt-2 space-y-1"},V(k,(_,U)=>j("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[j("div",{class:"flex items-center gap-2 truncate"},[j("span",{class:"opacity-50"},"\uD83D\uDCC4"),j("span",{class:"truncate font-medium max-w-[200px]"},_.name),j("span",{class:"text-[9px] opacity-40"},`(${(_.size/1024).toFixed(0)} KB)`)]),j("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(X)=>{X.preventDefault(),N(U)}},j("span",{class:"icon-[lucide--x]"}))]))))])},QL=(L)=>{let{label:k,icon:E,float:G,placeholder:J,value:Q,left:N,right:_,rule:U,hint:X,content:Y,...T}=L,O=M(!1),C=L.type==="password",K=U??null,q=()=>C?z(O)?"text":"password":L.type||"search";return j("label",{class:G?"floating-label":""},[G?j("span",{},k):null,j("label",{pattern:K,class:()=>W("input validator",L.class)},[k&&!G?j("span",{class:"label"},k):null,N??null,j("input",{...T,type:q,class:"grow",pattern:K,placeholder:J||k||" ",value:Q}),_??null,C?jL({class:"ml-2"},[kL({value:O,class:"swap-rotate"}),EL({},x({},"icon-[lucide--eye]")),GL({},x({},"icon-[lucide--eye-off]"))]):null]),X?j("div",{class:"validator-hint"},X):null])},O6=(L)=>{if(L.children!==void 0)return j("ul",{class:W("menu",L.class),...L},L.children);let{items:k}=L,E=(G)=>G.children?j("li",{},j("details",{open:G.open||void 0},[j("summary",{},S(G)),j("ul",{},V(()=>z(G.children)||[],E))])):j("li",{},j("a",{href:G.href,onclick:G.onclick?(J)=>{if(!G.href)J.preventDefault();G.onclick(J)}:null},S(G)));return j("ul",{class:W("menu",L.class)},V(()=>z(k)||[],E))},A6=(L)=>{let k=null;h(()=>{let G=z(L.open);if(!k)return;G?k.showModal():k.hide()});let E=()=>A(L.open)&&L.open(!1);return j("dialog",{...L,ref:(G)=>k=G,class:W("modal",L.class),onclose:E,oncancel:E},[j("div",{class:"modal-box"},[L.title&&j("h3",{class:"text-lg font-bold"},L.title),L.children,j("div",{class:"modal-action"},[L.actions||p({class:"btn",onclick:E},"Cerrar")])]),j("form",{method:"dialog",class:"modal-backdrop"},[j("button",{},"close")])])},T6=(L,k)=>{if(k!==void 0)return j("select",{class:W("select",L.class),...L},k);let{label:E,float:G,placeholder:J,placeholderDisabled:Q=!0,value:N,left:_,right:U,hint:X,items:Y,keyFn:T,...O}=L,C=()=>{let K=z(Y)||[];return[...J?[{disabled:Q,label:J,value:""}]:[],...K]};return j("label",{class:G?"floating-label":""},[G?j("span",{},E):null,j("label",{class:W("select",O.class)},[!G&&E?j("span",{class:"label"},E):null,_??null,j("select",{value:()=>z(N),onchange:(K)=>A(N)?N(K.target.value):O.onchange?.(K)},V(C,(K)=>{let q=S(K,K.value!==void 0?"value":void 0),P=S(K,"label");return j("option",{value:q,disabled:K.disabled||void 0},P)})),U??null]),X?j("div",{class:"validator-hint"},X):null])},C6=(L)=>j("div",{...L,class:W("stat",L.class)},[L.title?j("div",{class:"stat-title"},L.title):null,L.value?j("div",{class:"stat-value"},L.value):null,L.desc?j("div",{class:"stat-desc"},L.desc):null]),P6=({items:L,columns:k=[],header:E=!0})=>{let G=E!==!1&&k.some((Q)=>Q.label)?j("thead",{},j("tr",{},k.map((Q)=>j("th",{class:Q.class},Q.label)))):null,J=j("tbody",{},()=>{return(z(L)||[]).map((N,_)=>j("tr",{},k.map((U)=>{let X=U.render?U.render(N,_):N[U.key];return j("td",{class:U.class},X)})))});return[G,J].filter(Boolean)},M6=(L,k)=>{if(!L.items){let{class:X,...Y}=L;return j("div",{...Y,class:W("tabs",X)},k)}let{items:E,activeIndex:G,onClose:J,class:Q,...N}=L,_=(X)=>A(X)?X():X,U=J||(A(E)?(X,Y)=>{let O=z(E).filter((C,K)=>K!==X);if(E(O),G()>=O.length)G(Math.max(0,O.length-1))}:null);return j("div",{...N,class:W("tabs",Q)},()=>{return(z(E)||[]).flatMap((Y,T)=>{let O=()=>G()===T,C=j("button",{class:()=>`tab ${O()?"tab-active":""} ${Y.class||""}`,onclick:(q)=>{q.preventDefault(),G(T),Y.onclick?.(q)}},[S(Y),Y.closable?j("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:(q)=>{q.stopPropagation(),U?.(T,Y)}},j("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),K=j("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${O()?"block":"none"};`},A(Y.content)?Y.content():Y.content);return[C,K]})})},R6=(L,k="alert-success",E=3500)=>{let G=document.getElementById("sigpro-toast-container");if(!G)G=j("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(G);let J=j("div",{style:"display: contents"});G.appendChild(J);let Q,N,_,X=t(()=>{let Y=M(!1),T=M(!1);Q=()=>{if(T())return;clearTimeout(N),clearTimeout(_),T(!0),setTimeout(()=>{if(X.destroy(),J.remove(),!G.hasChildNodes())G.remove()},300)},_=setTimeout(()=>Y(!0),0);let O=typeof L==="function"?z(L):L,C=typeof O==="string"?j("span",{},O):O;return j("div",{class:()=>{let K=`alert alert-soft ${k} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(T())return`${K} translate-x-full opacity-0`;if(Y())return`${K} translate-x-0 opacity-100`;return`${K} translate-x-10 opacity-0`}},[C,j("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:Q},j("span",{class:"icon-[lucide--x]"}))])},J);if(E>0)N=setTimeout(Q,E);return Q};export{l as t,_L as setLocale,Z6 as Tooltip,X6 as Toggle,R6 as Toast,W6 as Timeline,U6 as Textrotate,Q6 as Textarea,M6 as Tabs,P6 as TableItems,K6 as Table,kL as SwapToggle,EL as SwapOn,GL as SwapOff,jL as Swap,G6 as Steps,J6 as Step,E6 as Stats,C6 as Stat,k6 as Stack,j6 as SkeletonText,L6 as Skeleton,T6 as Select,pL as RatingItems,eL as Rating,tL as Range,iL as Radio,cL as Radial,aL as Progress,hL as Navbar,A6 as Modal,O6 as Menu,lL as Loading,sL as ListRows,dL as List,nL as Kbd,QL as Input,rL as Indicator,x as Icon,N6 as Fileinput,vL as Fieldset,mL as Fab,m as DropdownContent,LL as DropdownButton,o as Dropdown,fL as DrawerToggle,gL as DrawerSide,uL as DrawerOverlay,yL as DrawerContent,wL as Drawer,oL as Divider,Y6 as Datepicker,z6 as Colorpicker,KL as ColorPalette,xL as Checkbox,FL as ChatImage,DL as ChatHeader,HL as ChatFooter,$L as ChatBubble,VL as Chat,bL as CarouselItem,IL as Carousel,RL as CardTitle,BL as CardBody,SL as CardActions,ML as Card,JL as Calendar,p as Button,PL as Breadcrumbs,CL as Badge,TL as AvatarGroup,AL as Avatar,q6 as Autocomplete,OL as Alert,_6 as Accordion};
+import{$ as q,watch as d,h as J,mount as l,when as c,each as $,isFunc as A}from"./sigpro.js";var O=(G)=>typeof G==="function"?G():G,B=(G,K="label")=>G&&typeof G==="object"?G[K]:G,E=(...G)=>G.filter(Boolean).join(" ").trim(),a=(G,K,Q="label")=>{let U=String(O(K)||"").toLowerCase(),W=(O(G)||[]).map((Z)=>typeof Z==="object"?Z:{label:Z,value:Z});return!U?W:W.filter((Z)=>String(Z[Q]||"").toLowerCase().includes(U))},i=(G)=>`${G}-${Math.random().toString(36).slice(2,9)}`,g=()=>document.activeElement?.blur(),o=q("en"),n={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},kG=(G)=>{if(n[G])o(G)},t=(G)=>()=>n[o()][G]||G,H=(G,K)=>(Q)=>J(G,{...Q,class:`${K} ${Q?.class||""}`.trim()}),k=(G,K)=>(Q,U)=>J(G,{...Q,class:`${K} ${Q?.class||""}`.trim()},U),F=(G,K,Q)=>(U)=>J(G,{type:Q,...U,class:`${K} ${U?.class||""}`.trim()}),zG=k("div","alert"),YG=(G,K)=>J("div",{class:"avatar"},J("div",{class:G.class},K)),NG=k("div","avatar-group -space-x-6"),OG=k("span","badge"),LG=k("div","breadcrumbs"),p=k("button","btn"),TG=k("div","card"),AG=k("div","card-title"),PG=k("div","card-body"),qG=k("div","card-actions"),CG=k("div","carousel"),MG=k("div","carousel-item"),RG=k("div","chat"),IG=k("div","chat-bubble"),VG=k("div","chat-footer"),BG=k("div","chat-header"),SG=(G,K)=>J("div",{...G,class:E("chat-image avatar",G.class)},J("div",{class:"w-10 rounded-full"},typeof K==="string"?J("img",{src:K,alt:"avatar"}):K)),$G=F("input","checkbox","checkbox"),bG=k("div","drawer"),HG=(G)=>input({...G,type:"checkbox",class:"drawer-toggle",checked:()=>O(G.checked),onchange:(K)=>A(G.checked)&&G.checked(K.target.checked)}),DG=k("div","drawer-content"),FG=k("div","drawer-side"),wG=(G)=>label({...G,for:G.for,class:E("drawer-overlay",G.class)}),xG=H("div","divider"),u=k("div","dropdown"),e=(G,K)=>J("div",{...G,tabindex:"0",role:"button",class:E("btn",G.class)},K),m=(G,K)=>J("div",{...G,tabindex:"0",class:E("dropdown-content",G.class)},K),yG=(G,K)=>J("div",{class:"fab"},[J("div",{tabindex:"0",role:"button",class:E("btn",G.class)},D({},G.icon)),K]),fG=(G,K)=>J("fieldset",{class:E("fieldset",G.class)},[J("legend",{class:"fieldset-legend"},G.label),K]),D=(G,K)=>J("span",{...G,class:E(K,G.class)}),gG=(G,K)=>J("div",{...G,class:E("indicator",G.class)},[G.value&&J("span",{class:E("indicator-item badge",G.class)},G.value),K]),uG=k("kbd","kbd"),mG=k("ul","list"),vG=(G)=>()=>(O(G.items)||[]).map((K,Q)=>J("li",{class:E("list-row",G.class,K?.class)},typeof G.render==="function"?G.render(K,Q):K)),dG=k("span","loading loading-spinner"),oG=k("div","navbar"),nG=H("progress","progress"),rG=(G,K)=>J("div",{class:E("radial-progress",G.class),style:`--value:${O(G.value)??0};`,role:"progressbar","aria-valuenow":G.value},K),hG=F("input","radio","radio"),sG=F("input","range","range"),lG=k("div","rating"),cG=(G)=>[...Array(G.count)].map((K,Q)=>J("input",{class:E("mask",G.class),name:G.name,type:"radio",checked:()=>O(G.value)===Q,onchange:()=>A(G.value)?G.value(Q):G.onchange?.(Q)})),aG=H("div","skeleton"),iG=H("span","skeleton skeleton-text"),tG=k("div","stack"),pG=k("div","stats shadow"),eG=k("ul","steps"),GJ=(G,K)=>J("li",{...G,class:E("step",G.class),"data-content":G.dataContent},K),GG=k("label","swap"),JG=(G)=>J("input",{type:"checkbox",checked:()=>O(G.value),onchange:(K)=>A(G.value)&&G.value(K.target.checked),class:G.class}),KG=k("div","swap-on"),QG=k("div","swap-off"),JJ=k("table","table"),KJ=H("textarea","textarea"),QJ=(G,K)=>J("span",{...G,class:E("text-rotate",G.class)},J("span",{},K)),UJ=k("ul","timeline"),WJ=F("input","toggle","checkbox"),XJ=(G,K)=>J("div",{...G,class:E("tooltip",G.class),"data-tip":G.tip},K),ZJ=(G)=>{let K=G.name||i("acc");return $(G.items,(Q)=>{return J("div",{class:E("collapse",G.class)},[J("input",{type:"radio",name:K,checked:Q.open||void 0}),Q.title?J("div",{class:E("collapse-title",`${Q.classTitle??" font-semibold"}`)},Q.title):null,Q.content?J("div",{class:E("collapse-content text-sm",`${Q.classContent??" font-semibold"}`)},Q.content):null])})},_J=({items:G,value:K,onselect:Q,placeholder:U="...",...W})=>{let Z=q(O(K)||""),L=q(()=>a(G,Z())),z=(_)=>{let j=B(_),N=typeof _==="string"?_:_.value;if(Z(j),A(K))K(N);Q?.(_),g()};return u({class:"w-80"},[J("div",{tabindex:"0",role:"button",class:"w-full"},XG({...W,placeholder:U,value:Z,left:D({},"icon-[lucide--search]")})),m({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},J("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[$(L,(_)=>J("li",{},[J("a",{onmousedown:(j)=>j.preventDefault(),onclick:()=>z(_)},B(_))]),"value"),()=>L().length===0?J("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},UG=(G)=>{let K=q(new Date),Q=q(null),U=q(0),W=q(0),Z=new Date,L=`${Z.getFullYear()}-${String(Z.getMonth()+1).padStart(2,"0")}-${String(Z.getDate()).padStart(2,"0")}`,z=(X)=>`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,_=()=>O(G.range)===!0,j=()=>O(G.value),N=(X)=>{let Y=z(X),M=j();if(_())if(!M?.start||M.start&&M.end)G.onChange?.({start:Y,end:null,...G.hour&&{startHour:U()}});else{let S=M.start,b=Y{let Y=K();K(new Date(Y.getFullYear(),Y.getMonth()+X,1))},T=(X)=>{let Y=K();K(new Date(Y.getFullYear()+X,Y.getMonth(),1))},C=({value:X,onChange:Y})=>J("div",{class:"flex-1"},[J("div",{class:"flex gap-2 items-center"},[J("input",{type:"range",min:0,max:23,value:X,class:"range range-xs flex-1",oninput:(M)=>Y(+M.target.value)}),J("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(O(X)).padStart(2,"0")+":00")])]);return J("div",{class:E("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",G.class)},[J("div",{class:"flex justify-between items-center mb-4 gap-1"},[J("div",{class:"flex gap-0.5"},[J("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(-1)},J("span",{class:"icon-[lucide--chevrons-left]"})),J("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>P(-1)},J("span",{class:"icon-[lucide--chevron-left]"}))]),J("span",{class:"font-bold uppercase flex-1 text-center"},()=>K().toLocaleString("es-ES",{month:"short",year:"numeric"})),J("div",{class:"flex gap-0.5"},[J("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>P(1)},J("span",{class:"icon-[lucide--chevron-right]"})),J("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>T(1)},J("span",{class:"icon-[lucide--chevrons-right]"}))])]),J("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((X)=>J("div",{class:"text-[10px] opacity-40 font-bold text-center"},X)),()=>{let X=K(),Y=X.getFullYear(),M=X.getMonth(),S=new Date(Y,M,1).getDay(),b=S===0?6:S-1,r=new Date(Y,M+1,0).getDate(),w=[];for(let V=0;V{let I=j(),x=Q(),h=typeof I==="string"?I.split("T")[0]===R:I?.start===R,s=I?.end===R,y=!1;if(_()&&I?.start){let f=I.start;if(!I.end&&x)y=R>f&&R<=x||R=x;else if(I.end)y=R>f&&R_()&&Q(R),onclick:()=>N(v)},V.toString()))}return w}]),G.hour?J("div",{class:"mt-3 pt-2 border-t border-base-300"},_()?J("div",{class:"flex gap-4"},[C({value:U,onChange:(X)=>U(X)}),C({value:W,onChange:(X)=>W(X)})]):C({value:U,onChange:(X)=>U(X)})):null])},jJ=(G)=>{let K=()=>O(G.value)||"#000000";return u({},[e({class:"btn"},[J("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${K()}`}),G.label&&J("span",{},G.label)]),m({class:"p-0"},WG({value:G.value,onchange:(Q)=>{A(G.value)?G.value(Q):G.onchange?.(Q)}}))])},WG=(G)=>{let K=()=>O(G.value)||"#000000",Q=["#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)=>{A(G.value)?G.value(W):G.onchange?.(W),g()};return J("div",{class:E("p-3 bg-base-100 rounded-box shadow w-64",G.class)},J("div",{class:"grid grid-cols-8 gap-1"},Q.map((W)=>J("button",{type:"button",style:`background-color: ${W}`,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 ${K().toLowerCase()===W.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{U(W)}}))))},EJ=(G)=>{let K=q(""),Q=()=>O(G.range)===!0;d(()=>{let W=O(G.value);if(!W)return K("");let Z="";if(typeof W==="string")Z=G.hour&&W.includes("T")?W.replace("T"," "):W;else if(W.start&&W.end){let L=G.hour&&W.startHour!=null?`${W.start} ${String(W.startHour).padStart(2,"0")}:00`:W.start,z=G.hour&&W.endHour!=null?`${W.end} ${String(W.endHour).padStart(2,"0")}:00`:W.end;Z=`${L} - ${z}`}else if(W.start)Z=`${G.hour&&W.startHour!=null?`${W.start} ${String(W.startHour).padStart(2,"0")}:00`:W.start}...`;K(Z)});let U=(W)=>{if(A(G.value))G.value(W);else G.onChange?.(W);if(!Q()||W?.end!=null)g()};return u({class:E("w-full",G.class)},[J("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[J("span",{class:"icon-[lucide--calendar] shrink-0"}),J("span",{class:()=>`grow text-left truncate ${!K()?"opacity-50":""}`},()=>K()||G.placeholder||(Q()?"Seleccionar rango...":"Seleccionar fecha...")),()=>K()?J("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:(W)=>{if(W.preventDefault(),W.stopPropagation(),A(G.value))G.value(null);else G.onChange?.(null);K("")}},J("span",{class:"icon-[lucide--x] opacity-50"})):null]),m({class:"p-0"},UG({value:G.value,range:Q(),hour:G.hour,onChange:U}))])},kJ=(G)=>{let K=q([]),Q=q(!1),U=q(null),W=(G.max||2)*1024*1024,Z=(z)=>{let _=Array.from(z);if(U(null),_.some((N)=>N.size>W)){U(`Máx ${G.max||2}MB`);return}let j=[...K(),..._];if(K(j),A(G.onselect))G.onselect(j);else if(A(G.value))G.value(j)},L=(z)=>{let _=K().filter((j,N)=>N!==z);if(K(_),A(G.onselect))G.onselect(_);else if(A(G.value))G.value(_)};return J("div",{class:E("fieldset w-full p-0",G.class)},[J("label",{class:()=>`relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 ${Q()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:(z)=>{z.preventDefault(),Q(!0)},ondragleave:()=>Q(!1),ondrop:(z)=>{z.preventDefault(),Q(!1),Z(z.dataTransfer.files)}},[J("div",{class:"flex items-center gap-3 w-full"},[J("span",{class:"icon-[lucide--upload]"}),J("span",{class:"text-sm opacity-70 truncate grow text-left"},t("uploadFiles")),J("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${G.max||2}MB`)]),J("input",{type:"file",multiple:!0,accept:G.accept||"*",class:"hidden",onchange:(z)=>Z(z.target.files)})]),()=>U()&&J("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},U()),c(()=>K().length>0,()=>J("ul",{class:"mt-2 space-y-1"},$(K,(z,_)=>J("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[J("div",{class:"flex items-center gap-2 truncate"},[J("span",{class:"opacity-50"},"\uD83D\uDCC4"),J("span",{class:"truncate font-medium max-w-[200px]"},z.name),J("span",{class:"text-[9px] opacity-40"},`(${(z.size/1024).toFixed(0)} KB)`)]),J("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(j)=>{j.preventDefault(),L(_)}},J("span",{class:"icon-[lucide--x]"}))]))))])},XG=(G)=>{let{label:K,icon:Q,float:U,placeholder:W,value:Z,left:L,right:z,rule:_,hint:j,content:N,...P}=G,T=q(!1),C=G.type==="password",X=_??null,Y=()=>C?O(T)?"text":"password":G.type||"search";return J("label",{class:U?"floating-label":""},[U?J("span",{},K):null,J("label",{pattern:X,class:()=>E("input validator",G.class)},[K&&!U?J("span",{class:"label"},K):null,L??null,J("input",{...P,type:Y,class:"grow",pattern:X,placeholder:W||K||" ",value:Z}),z??null,C?GG({class:"ml-2"},[JG({value:T,class:"swap-rotate"}),KG({},D({},"icon-[lucide--eye]")),QG({},D({},"icon-[lucide--eye-off]"))]):null]),j?J("div",{class:"validator-hint"},j):null])},zJ=(G)=>{if(G.children!==void 0)return J("ul",{class:E("menu",G.class),...G},G.children);let{items:K}=G,Q=(U)=>U.children?J("li",{},J("details",{open:U.open||void 0},[J("summary",{},B(U)),J("ul",{},$(()=>O(U.children)||[],Q))])):J("li",{},J("a",{href:U.href,onclick:U.onclick?(W)=>{if(!U.href)W.preventDefault();U.onclick(W)}:null},B(U)));return J("ul",{class:E("menu",G.class)},$(()=>O(K)||[],Q))},YJ=(G)=>{let K=null;d(()=>{let U=O(G.open);if(!K)return;U?K.showModal():K.hide()});let Q=()=>A(G.open)&&G.open(!1);return J("dialog",{...G,ref:(U)=>K=U,class:E("modal",G.class),onclose:Q,oncancel:Q},[J("div",{class:"modal-box"},[G.title&&J("h3",{class:"text-lg font-bold"},G.title),G.children,J("div",{class:"modal-action"},[G.actions||p({class:"btn",onclick:Q},"Cerrar")])]),J("form",{method:"dialog",class:"modal-backdrop"},[J("button",{},"close")])])},NJ=(G,K)=>{if(K!==void 0)return J("select",{class:E("select",G.class),...G},K);let{label:Q,float:U,placeholder:W,placeholderDisabled:Z=!0,value:L,left:z,right:_,hint:j,items:N,keyFn:P,...T}=G,C=()=>{let X=O(N)||[];return[...W?[{disabled:Z,label:W,value:""}]:[],...X]};return J("label",{class:U?"floating-label":""},[U?J("span",{},Q):null,J("label",{class:E("select",T.class)},[!U&&Q?J("span",{class:"label"},Q):null,z??null,J("select",{value:()=>O(L),onchange:(X)=>A(L)?L(X.target.value):T.onchange?.(X)},$(C,(X)=>{let Y=B(X,X.value!==void 0?"value":void 0),M=B(X,"label");return J("option",{value:Y,disabled:X.disabled||void 0},M)})),_??null]),j?J("div",{class:"validator-hint"},j):null])},OJ=(G)=>J("div",{...G,class:E("stat",G.class)},[G.title?J("div",{class:"stat-title"},G.title):null,G.value?J("div",{class:"stat-value"},G.value):null,G.desc?J("div",{class:"stat-desc"},G.desc):null]),LJ=({items:G,columns:K=[],header:Q=!0})=>{let U=Q!==!1&&K.some((Z)=>Z.label)?J("thead",{},J("tr",{},K.map((Z)=>J("th",{class:Z.class},Z.label)))):null,W=J("tbody",{},()=>{return(O(G)||[]).map((L,z)=>J("tr",{},K.map((_)=>{let j=_.render?_.render(L,z):L[_.key];return J("td",{class:_.class},j)})))});return[U,W].filter(Boolean)},TJ=(G,K)=>{if(!G.items){let{class:j,...N}=G;return J("div",{...N,class:E("tabs",j)},K)}let{items:Q,activeIndex:U,onClose:W,class:Z,...L}=G,z=(j)=>A(j)?j():j,_=W||(A(Q)?(j,N)=>{let T=O(Q).filter((C,X)=>X!==j);if(Q(T),U()>=T.length)U(Math.max(0,T.length-1))}:null);return J("div",{...L,class:E("tabs",Z)},()=>{return(O(Q)||[]).flatMap((N,P)=>{let T=()=>U()===P,C=J("button",{class:()=>`tab ${T()?"tab-active":""} ${N.class||""}`,onclick:(Y)=>{Y.preventDefault(),U(P),N.onclick?.(Y)}},[B(N),N.closable?J("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:(Y)=>{Y.stopPropagation(),_?.(P,N)}},J("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),X=J("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${T()?"block":"none"};`},A(N.content)?N.content():N.content);return[C,X]})})},AJ=(G,K="alert-success",Q=3500)=>{let U=document.getElementById("sigpro-toast-container");if(!U)U=J("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(U);let W=J("div",{style:"display: contents"});U.appendChild(W);let Z,L,z,j=l(()=>{let N=q(!1),P=q(!1);Z=()=>{if(P())return;clearTimeout(L),clearTimeout(z),P(!0),setTimeout(()=>{if(j.destroy(),W.remove(),!U.hasChildNodes())U.remove()},300)},z=setTimeout(()=>N(!0),0);let T=typeof G==="function"?O(G):G,C=typeof T==="string"?J("span",{},T):T;return J("div",{class:()=>{let X=`alert alert-soft ${K} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;if(P())return`${X} translate-x-full opacity-0`;if(N())return`${X} translate-x-0 opacity-100`;return`${X} translate-x-10 opacity-0`}},[C,J("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:Z},J("span",{class:"icon-[lucide--x]"}))])},W);if(Q>0)L=setTimeout(Z,Q);return Z};export{O as val,t,kG as setLocale,i as rand,n as lang,g as hide,B as getBy,a as filterBy,E as cls,XJ as Tooltip,WJ as Toggle,AJ as Toast,UJ as Timeline,QJ as Textrotate,KJ as Textarea,TJ as Tabs,LJ as TableItems,JJ as Table,JG as SwapToggle,KG as SwapOn,QG as SwapOff,GG as Swap,eG as Steps,GJ as Step,pG as Stats,OJ as Stat,tG as Stack,iG as SkeletonText,aG as Skeleton,NJ as Select,cG as RatingItems,lG as Rating,sG as Range,hG as Radio,rG as Radial,nG as Progress,oG as Navbar,YJ as Modal,zJ as Menu,dG as Loading,vG as ListRows,mG as List,uG as Kbd,XG as Input,gG as Indicator,D as Icon,kJ as Fileinput,fG as Fieldset,yG as Fab,m as DropdownContent,e as DropdownButton,u as Dropdown,HG as DrawerToggle,FG as DrawerSide,wG as DrawerOverlay,DG as DrawerContent,bG as Drawer,xG as Divider,EJ as Datepicker,jJ as Colorpicker,WG as ColorPalette,$G as Checkbox,SG as ChatImage,BG as ChatHeader,VG as ChatFooter,IG as ChatBubble,RG as Chat,MG as CarouselItem,CG as Carousel,AG as CardTitle,PG as CardBody,qG as CardActions,TG as Card,UG as Calendar,p as Button,LG as Breadcrumbs,OG as Badge,NG as AvatarGroup,YG as Avatar,_J as Autocomplete,zG as Alert,ZJ as Accordion};
diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js
index 0437f75..10dda4e 100644
--- a/dist/sigpro-ui.js
+++ b/dist/sigpro-ui.js
@@ -80,7 +80,16 @@ var spui = (() => {
Timeline: () => Timeline,
Toast: () => Toast,
Toggle: () => Toggle,
- Tooltip: () => Tooltip
+ Tooltip: () => Tooltip,
+ cls: () => cls,
+ filterBy: () => filterBy,
+ getBy: () => getBy,
+ hide: () => hide,
+ lang: () => lang,
+ rand: () => rand,
+ setLocale: () => setLocale,
+ t: () => t,
+ val: () => val
});
// src/sigpro.js
@@ -186,7 +195,7 @@ var spui = (() => {
if (hasQueue && !isFlushing && batchDepth === 0) queueMicrotask(flush);
}
};
- var $2 = (val2, key = null) => {
+ var $ = (val2, key = null) => {
const subs = /* @__PURE__ */ new Set();
if (isFunc(val2)) {
let cache;
@@ -461,7 +470,7 @@ var spui = (() => {
};
var router = (routes) => {
const getHash = () => window.location.hash.slice(1) || "/";
- const path = $2(getHash());
+ const path = $(getHash());
const handler = () => path(getHash());
window.addEventListener("hashchange", handler);
onUnmount(() => window.removeEventListener("hashchange", handler));
@@ -487,7 +496,7 @@ var spui = (() => {
});
return hook;
};
- router.params = $2({});
+ router.params = $({});
router.to = (p) => window.location.hash = p.replace(/^#?\/?/, "#/");
router.back = () => window.history.back();
router.path = () => window.location.hash.replace(/^#/, "") || "/";
@@ -506,7 +515,7 @@ var spui = (() => {
});
}
- // src/helpers.js
+ // src/sigpro-ui.js
var val = (val2) => typeof val2 === "function" ? val2() : val2;
var getBy = (item, field = "label") => item && typeof item === "object" ? item[field] : item;
var cls = (...classes) => classes.filter(Boolean).join(" ").trim();
@@ -517,13 +526,6 @@ var spui = (() => {
};
var rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`;
var hide = () => document.activeElement?.blur();
-
- // src/locale.js
- var locale_exports = {};
- __export(locale_exports, {
- setLocale: () => setLocale,
- t: () => t
- });
var currentLocale = $("en");
var lang = {
es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." },
@@ -533,8 +535,6 @@ var spui = (() => {
if (lang[locale]) currentLocale(locale);
};
var t = (t2) => () => lang[currentLocale()][t2] || t2;
-
- // src/sigpro-ui.js
var c1 = (tag, cls2) => (p) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() });
var c2 = (tag, cls2) => (p, c) => h(tag, { ...p, class: `${cls2} ${p?.class || ""}`.trim() }, c);
var ct = (tag, cls2, type) => (p) => h(tag, { type, ...p, class: `${cls2} ${p?.class || ""}`.trim() });
@@ -607,8 +607,8 @@ var spui = (() => {
});
};
var Autocomplete = ({ items, value, onselect, placeholder = "...", ...props }) => {
- const query = $2(val(value) || "");
- const filtered = $2(() => filterBy(items, query()));
+ const query = $(val(value) || "");
+ const filtered = $(() => filterBy(items, query()));
const pick = (item) => {
const display = getBy(item);
const actual = typeof item === "string" ? item : item.value;
@@ -629,10 +629,10 @@ var spui = (() => {
]);
};
var Calendar = (p) => {
- const internalDate = $2(/* @__PURE__ */ new Date());
- const hoverDate = $2(null);
- const startHour = $2(0);
- const endHour = $2(0);
+ const internalDate = $(/* @__PURE__ */ new Date());
+ const hoverDate = $(null);
+ const startHour = $(0);
+ const endHour = $(0);
const now = /* @__PURE__ */ new Date();
const todayStr = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")}`;
const fmt = (d) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
@@ -833,7 +833,7 @@ var spui = (() => {
));
};
var Datepicker = (p) => {
- const displayValue = $2("");
+ const displayValue = $("");
const rangeMode = () => val(p.range) === true;
watch(() => {
const v = val(p.value);
@@ -885,9 +885,9 @@ var spui = (() => {
]);
};
var Fileinput = (p) => {
- const files = $2([]);
- const drag = $2(false);
- const error = $2(null);
+ const files = $([]);
+ const drag = $(false);
+ const error = $(null);
const maxBytes = (p.max || 2) * 1024 * 1024;
const process = (fileList) => {
const arr = Array.from(fileList);
@@ -964,7 +964,7 @@ var spui = (() => {
};
var Input = (p) => {
const { label: label2, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p;
- const showPassword = $2(false);
+ const showPassword = $(false);
const isPassword = p.type === "password";
const pattern = rule ?? null;
const inputType = () => isPassword ? val(showPassword) ? "text" : "password" : p.type || "search";
@@ -1126,8 +1126,8 @@ var spui = (() => {
container.appendChild(host);
let closeFn, timer, enterTimer;
const ToastComponent = () => {
- const visible = $2(false);
- const leaving = $2(false);
+ const visible = $(false);
+ const leaving = $(false);
closeFn = () => {
if (leaving()) return;
clearTimeout(timer);
@@ -1171,11 +1171,11 @@ var spui = (() => {
const { value, class: extraClass } = p;
let editorRef = null;
let savedRange = null;
- const isSource = $2(false);
- const source = $2("");
- const count = $2(0);
- const refreshTick = $2(0);
- const showEmojis = $2(false);
+ const isSource = $(false);
+ const source = $("");
+ const count = $(0);
+ const refreshTick = $(0);
+ const showEmojis = $(false);
const emojis = ["\u{1F600}", "\u{1F60A}", "\u{1F609}", "\u{1F9D0}", "\u{1F62E}", "\u{1F914}", "\u{1F605}", "\u{1F602}", "\u{1F60D}", "\u{1F618}", "\u{1F970}", "\u{1F44D}", "\u{1F44E}", "\u{1F44C}", "\u{1F91D}", "\u{1F91E}", "\u{1F44B}", "\u{1F44F}", "\u{1F64C}", "\u{1F64F}", "\u{1F4AA}", "\u261D\uFE0F", "\u{1F447}", "\u{1F448}", "\u{1F449}", "\u{1F595}", "\u2705", "\u26A0\uFE0F", "\u{1F680}", "\u{1F4E2}", "\u2709\uFE0F", "\u2764\uFE0F"];
const saveSelection = () => {
const sel = window.getSelection();
@@ -1396,6 +1396,6 @@ var spui = (() => {
// src/build_umd.js
if (typeof window !== "undefined") {
- Object.assign(window, sigpro_ui_exports, editor_exports, locale_exports);
+ Object.assign(window, sigpro_ui_exports, editor_exports);
}
})();
diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js
index 96ced2e..44b0ddf 100644
--- a/dist/sigpro-ui.min.js
+++ b/dist/sigpro-ui.min.js
@@ -1,7 +1,7 @@
-var spui=(()=>{var Ne=Object.defineProperty;var te=(e,n)=>{for(var s in n)Ne(e,s,{get:n[s],enumerable:!0})};var re={};te(re,{Accordion:()=>Mt,Alert:()=>ze,Autocomplete:()=>Ot,Avatar:()=>Pe,AvatarGroup:()=>Ie,Badge:()=>Ue,Breadcrumbs:()=>qe,Button:()=>ve,Calendar:()=>Ce,Card:()=>Ke,CardActions:()=>We,CardBody:()=>Ge,CardTitle:()=>Ve,Carousel:()=>Ye,CarouselItem:()=>Qe,Chat:()=>Je,ChatBubble:()=>Xe,ChatFooter:()=>Ze,ChatHeader:()=>et,ChatImage:()=>tt,Checkbox:()=>nt,ColorPalette:()=>$e,Colorpicker:()=>Ht,Datepicker:()=>jt,Divider:()=>rt,Drawer:()=>st,DrawerContent:()=>at,DrawerOverlay:()=>ct,DrawerSide:()=>lt,DrawerToggle:()=>ot,Dropdown:()=>Y,DropdownButton:()=>ye,DropdownContent:()=>Q,Fab:()=>it,Fieldset:()=>dt,Fileinput:()=>Ft,Icon:()=>U,Indicator:()=>ut,Input:()=>Te,Kbd:()=>pt,List:()=>ft,ListRows:()=>bt,Loading:()=>ht,Menu:()=>zt,Modal:()=>Pt,Navbar:()=>gt,Progress:()=>xt,Radial:()=>mt,Radio:()=>vt,Range:()=>yt,Rating:()=>wt,RatingItems:()=>kt,Select:()=>It,Skeleton:()=>St,SkeletonText:()=>_t,Stack:()=>Ct,Stat:()=>Ut,Stats:()=>$t,Step:()=>Et,Steps:()=>Tt,Swap:()=>we,SwapOff:()=>_e,SwapOn:()=>Se,SwapToggle:()=>ke,Table:()=>Dt,TableItems:()=>qt,Tabs:()=>Kt,Textarea:()=>Nt,Textrotate:()=>At,Timeline:()=>Rt,Toast:()=>Vt,Toggle:()=>Lt,Tooltip:()=>Bt});var y=e=>typeof e=="function",de=e=>e&&typeof e=="object",M=Array.isArray,A=typeof document<"u"?document:null,ue=e=>e?._isRuntime?e.container:e instanceof Node?e:A.createTextNode(e==null?"":String(e)),C=null,N=null,K=!1,Ae=0,oe=new Set;var ne=new WeakMap,Re="http://www.w3.org/2000/svg",pe="http://www.w3.org/1999/xlink",Le=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),O=e=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];for(;n.length;){let s=n.pop();s._cleanups&&(s._cleanups.forEach(o=>o()),s._cleanups.clear()),s._children&&(s._children.forEach(o=>n.push(o)),s._children.clear()),s._deps&&(s._deps.forEach(o=>o.delete(s)),s._deps.clear())}},z=e=>{N&&(N._cleanups||=new Set).add(e)},Be=e=>{let n=C;C=null;try{return e()}finally{C=n}},P=(e,n=!1)=>{let s=()=>{if(s._disposed)return;s._deps&&s._deps.forEach(c=>c.delete(s)),s._cleanups&&(s._cleanups.forEach(c=>c()),s._cleanups.clear());let o=C,a=N;C=N=s;try{return s._result=e()}catch(c){console.error("[SigPro]",c)}finally{C=o,N=a}};return s._deps=s._cleanups=s._children=null,s._disposed=!1,s._isComputed=n,s._depth=C?C._depth+1:0,s._mounts=[],s._parent=N,N&&(N._children||=new Set).add(s),s},Me=()=>{if(K)return;K=!0;let e=Array.from(oe).sort((n,s)=>n._depth-s._depth);oe.clear();for(let n of e)n._disposed||n();K=!1};var F=(e,n=!1)=>{if(!n&&C&&!C._disposed)e.add(C),(C._deps||=new Set).add(e);else if(n&&e.size>0){let s=!1;for(let o of e)o===C||o._disposed||(o._isComputed?(o._dirty=!0,o._subs&&F(o._subs,!0)):(oe.add(o),s=!0));s&&!K&&Ae===0&&queueMicrotask(Me)}},S=(e,n=null)=>{let s=new Set;if(y(e)){let o,a=()=>{if(a._dirty){let c=C;C=a;try{let l=e();Object.is(o,l)||(o=l,F(s,!0))}finally{C=c}a._dirty=!1}return F(s),o};return a._isComputed=!0,a._subs=s,a._dirty=!0,a._deps=null,a._disposed=!1,a}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch{}return(...o)=>{if(o.length){let a=y(o[0])?o[0](e):o[0];Object.is(e,a)||(e=a,n&&localStorage.setItem(n,JSON.stringify(e)),F(s,!0))}return F(s),e}};var j=(e,n)=>{if(n===void 0){let o=P(e);return o(),()=>O(o)}let s=P(()=>{let o=M(e)?e.map(a=>a()):e();Be(()=>n(o))});return s(),()=>O(s)},ae=e=>{e&&(e._cleanups&&(e._cleanups.forEach(n=>n()),e._cleanups.clear()),e._ownerEffect&&O(e._ownerEffect),e.childNodes&&e.childNodes.forEach(n=>ae(n)))},Oe=/^\s*(javascript|data|vbscript):/i,He=new Set(["src","href","formaction","action","background","code","archive"]),je=e=>He.has(e)||e.startsWith("on"),se=(e,n)=>{if(n==null||n===!1)return null;if(je(e)){let s=String(n);if(Oe.test(s))return"#"}return n},t=(e,n={},s=[])=>{if((n instanceof Node||M(n)||!de(n))&&(s=n,n={}),y(e)){let l=P(()=>{let f=e(n,{children:s,emit:(h,...g)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...g)});return l._result=f,f});l();let i=l._result;if(i==null)return null;let r=i instanceof Node||M(i)&&i.every(f=>f instanceof Node)?i:A.createTextNode(String(i)),d=f=>{de(f)&&!f._isRuntime&&(f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l)};return M(r)?r.forEach(d):d(r),r}let o=Le.has(e),a=o?A.createElementNS(Re,e):A.createElement(e);a._cleanups=new Set;for(let l of Object.keys(n)){let i=n[l];if(l==="ref"){y(i)?i(a):i.current=a;continue}if(o&&l.startsWith("xlink:")){let r=se(l.slice(6),i);r==null?a.removeAttributeNS(pe,l.slice(6)):a.setAttributeNS(pe,l.slice(6),r);continue}if(l.startsWith("on")){let r=l.slice(2).toLowerCase();a.addEventListener(r,i);let d=()=>a.removeEventListener(r,i);a._cleanups.add(d),z(d)}else if(y(i)){let r=P(()=>{let d=se(l,i());l==="class"?a.className=d||"":d==null?a.removeAttribute(l):l==="style"&&typeof d=="string"?a.setAttribute("style",d):l in a&&!o?a[l]=d:a.setAttribute(l,d===!0?"":d)});if(r(),a._cleanups.add(()=>O(r)),z(()=>O(r)),/^(INPUT|TEXTAREA|SELECT)$/.test(a.tagName)&&(l==="value"||l==="checked")){let d=l==="checked"?"change":"input";a.addEventListener(d,f=>i(f.target[l]))}}else{let r=se(l,i);r!=null&&(l==="style"&&typeof r=="string"?a.setAttribute("style",r):l in a&&!o?a[l]=r:a.setAttribute(l,r===!0?"":r))}}let c=l=>{if(M(l))return l.forEach(c);if(y(l)){let i=A.createTextNode("");a.appendChild(i);let r=[],d=P(()=>{let f=l(),h=(M(f)?f:[f]).map(ue);r.forEach(x=>{x._isRuntime?x.destroy():ae(x),x.parentNode&&x.remove()});let g=i;for(let x=h.length-1;x>=0;x--){let p=h[x];p.parentNode!==g.parentNode&&g.parentNode?.insertBefore(p,g),p._mounts&&p._mounts.forEach(b=>b()),g=p}r=h});d(),a._cleanups.add(()=>O(d)),z(()=>O(d))}else{let i=ue(l);a.appendChild(i),i._mounts&&i._mounts.forEach(r=>r())}};return c(s),a},V=e=>{let n=new Set,s=N,o=C,a=A.createElement("div");a.style.display="contents",a.setAttribute("role","presentation"),N={_cleanups:n},C=null;let c=l=>{l&&(l._isRuntime?(n.add(l.destroy),a.appendChild(l.container)):M(l)?l.forEach(c):a.appendChild(l instanceof Node?l:A.createTextNode(String(l??""))))};try{c(e({onCleanup:l=>n.add(l)}))}finally{N=s,C=o}return{_isRuntime:!0,container:a,destroy:()=>{n.forEach(l=>l()),ae(a),a.remove()}}},fe=(e,n,s=null)=>{let o=A.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=null;return j(()=>!!(y(e)?e():e),l=>{c&&(c.destroy(),c=null);let i=l?n:s;i&&(c=V(()=>y(i)?i():i),a.insertBefore(c.container,o))}),z(()=>c?.destroy()),a},H=(e,n,s)=>{let o=A.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=new Map;return j(()=>(y(e)?e():e)||[],l=>{let i=new Map,r=[],d=l||[];for(let h=0;hn(g,h)),i.set(x,p),r.push(p)}c.forEach(h=>h.destroy());let f=o;for(let h=r.length-1;h>=0;h--){let x=r[h].container;x.nextSibling!==f&&a.insertBefore(x,f),f=x}c=i}),a},I=e=>{let n=()=>window.location.hash.slice(1)||"/",s=S(n()),o=()=>s(n());window.addEventListener("hashchange",o),z(()=>window.removeEventListener("hashchange",o));let a=t("div",{class:"router-hook"}),c=null;return j([s],()=>{let l=s(),i=e.find(r=>{let d=r.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return d.length===f.length&&d.every((h,g)=>h[0]===":"||h===f[g])})||e.find(r=>r.path==="*");if(i){c?.destroy();let r={};i.path.split("/").filter(Boolean).forEach((d,f)=>{d[0]===":"&&(r[d.slice(1)]=l.split("/").filter(Boolean)[f])}),I.params(r),c=V(()=>y(i.component)?i.component(r):i.component),a.replaceChildren(c.container)}}),a};I.params=S({});I.to=e=>window.location.hash=e.replace(/^#?\/?/,"#/");I.back=()=>window.history.back();I.path=()=>window.location.hash.replace(/^#/,"")||"/";var be=(e,n)=>{let s=typeof n=="string"?A.querySelector(n):n;if(!s)return;ne.has(s)&&ne.get(s).destroy();let o=V(y(e)?e:()=>e);return s.replaceChildren(o.container),ne.set(s,o),o};typeof window<"u"&&"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(e=>{window[e]=(n,s)=>t(e,n,s)});var k=e=>typeof e=="function"?e():e,B=(e,n="label")=>e&&typeof e=="object"?e[n]:e,m=(...e)=>e.filter(Boolean).join(" ").trim(),he=(e,n,s="label")=>{let o=String(k(n)||"").toLowerCase(),a=(k(e)||[]).map(c=>typeof c=="object"?c:{label:c,value:c});return o?a.filter(c=>String(c[s]||"").toLowerCase().includes(o)):a},ge=e=>`${e}-${Math.random().toString(36).slice(2,9)}`,G=()=>document.activeElement?.blur();var ce={};te(ce,{setLocale:()=>Fe,t:()=>le});var xe=$("en"),me={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},Fe=e=>{me[e]&&xe(e)},le=e=>()=>me[xe()][e]||e;var q=(e,n)=>s=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()}),v=(e,n)=>(s,o)=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()},o),W=(e,n,s)=>o=>t(e,{type:s,...o,class:`${n} ${o?.class||""}`.trim()}),ze=v("div","alert"),Pe=(e,n)=>t("div",{class:"avatar"},t("div",{class:e.class},n)),Ie=v("div","avatar-group -space-x-6"),Ue=v("span","badge"),qe=v("div","breadcrumbs"),ve=v("button","btn"),Ke=v("div","card"),Ve=v("div","card-title"),Ge=v("div","card-body"),We=v("div","card-actions"),Ye=v("div","carousel"),Qe=v("div","carousel-item"),Je=v("div","chat"),Xe=v("div","chat-bubble"),Ze=v("div","chat-footer"),et=v("div","chat-header"),tt=(e,n)=>t("div",{...e,class:m("chat-image avatar",e.class)},t("div",{class:"w-10 rounded-full"},typeof n=="string"?t("img",{src:n,alt:"avatar"}):n)),nt=W("input","checkbox","checkbox"),st=v("div","drawer"),ot=e=>input({...e,type:"checkbox",class:"drawer-toggle",checked:()=>k(e.checked),onchange:n=>y(e.checked)&&e.checked(n.target.checked)}),at=v("div","drawer-content"),lt=v("div","drawer-side"),ct=e=>label({...e,for:e.for,class:m("drawer-overlay",e.class)}),rt=q("div","divider"),Y=v("div","dropdown"),ye=(e,n)=>t("div",{...e,tabindex:"0",role:"button",class:m("btn",e.class)},n),Q=(e,n)=>t("div",{...e,tabindex:"0",class:m("dropdown-content",e.class)},n),it=(e,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:m("btn",e.class)},U({},e.icon)),n]),dt=(e,n)=>t("fieldset",{class:m("fieldset",e.class)},[t("legend",{class:"fieldset-legend"},e.label),n]),U=(e,n)=>t("span",{...e,class:m(n,e.class)}),ut=(e,n)=>t("div",{...e,class:m("indicator",e.class)},[e.value&&t("span",{class:m("indicator-item badge",e.class)},e.value),n]),pt=v("kbd","kbd"),ft=v("ul","list"),bt=e=>()=>(k(e.items)||[]).map((n,s)=>t("li",{class:m("list-row",e.class,n?.class)},typeof e.render=="function"?e.render(n,s):n)),ht=v("span","loading loading-spinner"),gt=v("div","navbar"),xt=q("progress","progress"),mt=(e,n)=>t("div",{class:m("radial-progress",e.class),style:`--value:${k(e.value)??0};`,role:"progressbar","aria-valuenow":e.value},n),vt=W("input","radio","radio"),yt=W("input","range","range"),wt=v("div","rating"),kt=e=>[...Array(e.count)].map((n,s)=>t("input",{class:m("mask",e.class),name:e.name,type:"radio",checked:()=>k(e.value)===s,onchange:()=>y(e.value)?e.value(s):e.onchange?.(s)})),St=q("div","skeleton"),_t=q("span","skeleton skeleton-text"),Ct=v("div","stack"),$t=v("div","stats shadow"),Tt=v("ul","steps"),Et=(e,n)=>t("li",{...e,class:m("step",e.class),"data-content":e.dataContent},n),we=v("label","swap"),ke=e=>t("input",{type:"checkbox",checked:()=>k(e.value),onchange:n=>y(e.value)&&e.value(n.target.checked),class:e.class}),Se=v("div","swap-on"),_e=v("div","swap-off"),Dt=v("table","table"),Nt=q("textarea","textarea"),At=(e,n)=>t("span",{...e,class:m("text-rotate",e.class)},t("span",{},n)),Rt=v("ul","timeline"),Lt=W("input","toggle","checkbox"),Bt=(e,n)=>t("div",{...e,class:m("tooltip",e.class),"data-tip":e.tip},n),Mt=e=>{let n=e.name||ge("acc");return H(e.items,s=>t("div",{class:m("collapse",e.class)},[t("input",{type:"radio",name:n,checked:s.open||void 0}),s.title?t("div",{class:m("collapse-title",`${s.classTitle??" font-semibold"}`)},s.title):null,s.content?t("div",{class:m("collapse-content text-sm",`${s.classContent??" font-semibold"}`)},s.content):null]))},Ot=({items:e,value:n,onselect:s,placeholder:o="...",...a})=>{let c=S(k(n)||""),l=S(()=>he(e,c())),i=r=>{let d=B(r),f=typeof r=="string"?r:r.value;c(d),y(n)&&n(f),s?.(r),G()};return Y({class:"w-80"},[t("div",{tabindex:"0",role:"button",class:"w-full"},Te({...a,placeholder:o,value:c,left:U({},"icon-[lucide--search]")})),Q({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},t("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[H(l,r=>t("li",{},[t("a",{onmousedown:d=>d.preventDefault(),onclick:()=>i(r)},B(r))]),"value"),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Ce=e=>{let n=S(new Date),s=S(null),o=S(0),a=S(0),c=new Date,l=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`,i=p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`,r=()=>k(e.range)===!0,d=()=>k(e.value),f=p=>{let b=i(p),E=d();if(r())if(!E?.start||E.start&&E.end)e.onChange?.({start:b,end:null,...e.hour&&{startHour:o()}});else{let R=E.start,D=b{let b=n();n(new Date(b.getFullYear(),b.getMonth()+p,1))},g=p=>{let b=n();n(new Date(b.getFullYear()+p,b.getMonth(),1))},x=({value:p,onChange:b})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:p,class:"range range-xs flex-1",oninput:E=>b(+E.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(k(p)).padStart(2,"0")+":00")])]);return t("div",{class:m("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",e.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:()=>g(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-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:()=>h(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>s(null)},[...["L","M","X","J","V","S","D"].map(p=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},p)),()=>{let p=n(),b=p.getFullYear(),E=p.getMonth(),R=new Date(b,E,1).getDay(),D=R===0?6:R-1,J=new Date(b,E+1,0).getDate(),u=[];for(let w=0;w{let L=d(),X=s(),Ee=typeof L=="string"?L.split("T")[0]===T:L?.start===T,De=L?.end===T,Z=!1;if(r()&&L?.start){let ee=L.start;!L.end&&X?Z=T>ee&&T<=X||T=X:L.end&&(Z=T>ee&&Tr()&&s(T),onclick:()=>f(_)},w.toString()))}return u}]),e.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},r()?t("div",{class:"flex gap-4"},[x({value:o,onChange:p=>o(p)}),x({value:a,onChange:p=>a(p)})]):x({value:o,onChange:p=>o(p)})):null])},Ht=e=>{let n=()=>k(e.value)||"#000000";return Y({},[ye({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),e.label&&t("span",{},e.label)]),Q({class:"p-0"},$e({value:e.value,onchange:s=>{y(e.value)?e.value(s):e.onchange?.(s)}}))])},$e=e=>{let n=()=>k(e.value)||"#000000",s=["#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=a=>{y(e.value)?e.value(a):e.onchange?.(a),G()};return t("div",{class:m("p-3 bg-base-100 rounded-box shadow w-64",e.class)},t("div",{class:"grid grid-cols-8 gap-1"},s.map(a=>t("button",{type:"button",style:`background-color: ${a}`,class:()=>`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()===a.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`,onclick:()=>{o(a)}}))))},jt=e=>{let n=S(""),s=()=>k(e.range)===!0;j(()=>{let a=k(e.value);if(!a)return n("");let c="";if(typeof a=="string")c=e.hour&&a.includes("T")?a.replace("T"," "):a;else if(a.start&&a.end){let l=e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start,i=e.hour&&a.endHour!=null?`${a.end} ${String(a.endHour).padStart(2,"0")}:00`:a.end;c=`${l} - ${i}`}else a.start&&(c=`${e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start}...`);n(c)});let o=a=>{y(e.value)?e.value(a):e.onChange?.(a),(!s()||a?.end!=null)&&G()};return Y({class:m("w-full",e.class)},[t("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[t("span",{class:"icon-[lucide--calendar] shrink-0"}),t("span",{class:()=>`grow text-left truncate ${n()?"":"opacity-50"}`},()=>n()||e.placeholder||(s()?"Seleccionar rango...":"Seleccionar fecha...")),()=>n()?t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:a=>{a.preventDefault(),a.stopPropagation(),y(e.value)?e.value(null):e.onChange?.(null),n("")}},t("span",{class:"icon-[lucide--x] opacity-50"})):null]),Q({class:"p-0"},Ce({value:e.value,range:s(),hour:e.hour,onChange:o}))])},Ft=e=>{let n=S([]),s=S(!1),o=S(null),a=(e.max||2)*1024*1024,c=i=>{let r=Array.from(i);if(o(null),r.some(f=>f.size>a)){o(`M\xE1x ${e.max||2}MB`);return}let d=[...n(),...r];n(d),y(e.onselect)?e.onselect(d):y(e.value)&&e.value(d)},l=i=>{let r=n().filter((d,f)=>f!==i);n(r),y(e.onselect)?e.onselect(r):y(e.value)&&e.value(r)};return t("div",{class:m("fieldset w-full p-0",e.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 ${s()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:i=>{i.preventDefault(),s(!0)},ondragleave:()=>s(!1),ondrop:i=>{i.preventDefault(),s(!1),c(i.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"},le("uploadFiles")),t("span",{class:"text-[10px] opacity-40 shrink-0"},`M\xE1x ${e.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:i=>c(i.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),fe(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},H(n,(i,r)=>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"},"\u{1F4C4}"),t("span",{class:"truncate font-medium max-w-[200px]"},i.name),t("span",{class:"text-[9px] opacity-40"},`(${(i.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:d=>{d.preventDefault(),l(r)}},t("span",{class:"icon-[lucide--x]"}))]))))])},Te=e=>{let{label:n,icon:s,float:o,placeholder:a,value:c,left:l,right:i,rule:r,hint:d,content:f,...h}=e,g=S(!1),x=e.type==="password",p=r??null,b=()=>x?k(g)?"text":"password":e.type||"search";return t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:p,class:()=>m("input validator",e.class)},[n&&!o?t("span",{class:"label"},n):null,l??null,t("input",{...h,type:b,class:"grow",pattern:p,placeholder:a||n||" ",value:c}),i??null,x?we({class:"ml-2"},[ke({value:g,class:"swap-rotate"}),Se({},U({},"icon-[lucide--eye]")),_e({},U({},"icon-[lucide--eye-off]"))]):null]),d?t("div",{class:"validator-hint"},d):null])},zt=e=>{if(e.children!==void 0)return t("ul",{class:m("menu",e.class),...e},e.children);let{items:n}=e,s=o=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},B(o)),t("ul",{},H(()=>k(o.children)||[],s))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?a=>{o.href||a.preventDefault(),o.onclick(a)}:null},B(o)));return t("ul",{class:m("menu",e.class)},H(()=>k(n)||[],s))},Pt=e=>{let n=null;j(()=>{let o=k(e.open);n&&(o?n.showModal():n.hide())});let s=()=>y(e.open)&&e.open(!1);return t("dialog",{...e,ref:o=>n=o,class:m("modal",e.class),onclose:s,oncancel:s},[t("div",{class:"modal-box"},[e.title&&t("h3",{class:"text-lg font-bold"},e.title),e.children,t("div",{class:"modal-action"},[e.actions||ve({class:"btn",onclick:s},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},It=(e,n)=>{if(n!==void 0)return t("select",{class:m("select",e.class),...e},n);let{label:s,float:o,placeholder:a,placeholderDisabled:c=!0,value:l,left:i,right:r,hint:d,items:f,keyFn:h,...g}=e,x=()=>{let p=k(f)||[];return[...a?[{disabled:c,label:a,value:""}]:[],...p]};return t("label",{class:o?"floating-label":""},[o?t("span",{},s):null,t("label",{class:m("select",g.class)},[!o&&s?t("span",{class:"label"},s):null,i??null,t("select",{value:()=>k(l),onchange:p=>y(l)?l(p.target.value):g.onchange?.(p)},H(x,p=>{let b=B(p,p.value!==void 0?"value":void 0),E=B(p,"label");return t("option",{value:b,disabled:p.disabled||void 0},E)})),r??null]),d?t("div",{class:"validator-hint"},d):null])},Ut=e=>t("div",{...e,class:m("stat",e.class)},[e.title?t("div",{class:"stat-title"},e.title):null,e.value?t("div",{class:"stat-value"},e.value):null,e.desc?t("div",{class:"stat-desc"},e.desc):null]),qt=({items:e,columns:n=[],header:s=!0})=>{let o=s!==!1&&n.some(c=>c.label)?t("thead",{},t("tr",{},n.map(c=>t("th",{class:c.class},c.label)))):null,a=t("tbody",{},()=>(k(e)||[]).map((l,i)=>t("tr",{},n.map(r=>{let d=r.render?r.render(l,i):l[r.key];return t("td",{class:r.class},d)}))));return[o,a].filter(Boolean)},Kt=(e,n)=>{if(!e.items){let{class:d,...f}=e;return t("div",{...f,class:m("tabs",d)},n)}let{items:s,activeIndex:o,onClose:a,class:c,...l}=e,i=d=>y(d)?d():d,r=a||(y(s)?(d,f)=>{let g=k(s).filter((x,p)=>p!==d);s(g),o()>=g.length&&o(Math.max(0,g.length-1))}:null);return t("div",{...l,class:m("tabs",c)},()=>(k(s)||[]).flatMap((f,h)=>{let g=()=>o()===h,x=t("button",{class:()=>`tab ${g()?"tab-active":""} ${f.class||""}`,onclick:b=>{b.preventDefault(),o(h),f.onclick?.(b)}},[B(f),f.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:b=>{b.stopPropagation(),r?.(h,f)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),p=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${g()?"block":"none"};`},y(f.content)?f.content():f.content);return[x,p]}))},Vt=(e,n="alert-success",s=3500)=>{let o=document.getElementById("sigpro-toast-container");o||(o=t("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(o));let a=t("div",{style:"display: contents"});o.appendChild(a);let c,l,i,d=be(()=>{let f=S(!1),h=S(!1);c=()=>{h()||(clearTimeout(l),clearTimeout(i),h(!0),setTimeout(()=>{d.destroy(),a.remove(),o.hasChildNodes()||o.remove()},300))},i=setTimeout(()=>f(!0),0);let g=typeof e=="function"?k(e):e,x=typeof g=="string"?t("span",{},g):g;return t("div",{class:()=>{let p=`alert alert-soft ${n} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;return h()?`${p} translate-x-full opacity-0`:f()?`${p} translate-x-0 opacity-100`:`${p} translate-x-10 opacity-0`}},[x,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:c},t("span",{class:"icon-[lucide--x]"}))])},a);return s>0&&(l=setTimeout(c,s)),c};var ie={};te(ie,{Editor:()=>Gt});var Gt=e=>{let{value:n,class:s}=e,o=null,a=null,c=S(!1),l=S(""),i=S(0),r=S(0),d=S(!1),f=["\u{1F600}","\u{1F60A}","\u{1F609}","\u{1F9D0}","\u{1F62E}","\u{1F914}","\u{1F605}","\u{1F602}","\u{1F60D}","\u{1F618}","\u{1F970}","\u{1F44D}","\u{1F44E}","\u{1F44C}","\u{1F91D}","\u{1F91E}","\u{1F44B}","\u{1F44F}","\u{1F64C}","\u{1F64F}","\u{1F4AA}","\u261D\uFE0F","\u{1F447}","\u{1F448}","\u{1F449}","\u{1F595}","\u2705","\u26A0\uFE0F","\u{1F680}","\u{1F4E2}","\u2709\uFE0F","\u2764\uFE0F"],h=()=>{let u=window.getSelection();u.getRangeAt&&u.rangeCount&&(a=u.getRangeAt(0))},g=()=>{if(a){let u=window.getSelection();u.removeAllRanges(),u.addRange(a)}},x=()=>{r(r()+1),o&&i(o.innerText.length)},p=()=>{if(!o)return;let u=o.innerHTML;y(n)?n(u):e.onchange?.(u),x()},b=(u,w=null)=>{o&&(o.focus(),a&&g(),document.execCommand(u,!1,w),a=null,p())},E=u=>{let w=document.createElement("div");w.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let _=document.createElement("img");_.src=u,_.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",w.onclick=()=>document.body.removeChild(w),w.appendChild(_),document.body.appendChild(w)},R=u=>{if(!u)return;let w=new FileReader;w.onload=_=>{if(u.type.startsWith("image/")){let T=` `;b("insertHTML",T)}else{let T=`${u.name} `;b("insertHTML",T)}},w.readAsDataURL(u)},D=(u,w=null)=>{if(r(),!o||c())return!1;try{if(u==="formatBlock"){let _=window.getSelection().getRangeAt(0).commonAncestorContainer;for(;_&&_!==o;){if(_.nodeType===1&&_.tagName===w)return!0;_=_.parentNode}return!1}return document.queryCommandState(u)}catch{return!1}},J=t("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[t("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("bold")?"btn-active bg-primary/20":""}`,onclick:()=>b("bold")},t("span",{class:"icon-[lucide--bold]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("italic")?"btn-active bg-primary/20":""}`,onclick:()=>b("italic")},t("span",{class:"icon-[lucide--italic]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("underline")?"btn-active bg-primary/20":""}`,onclick:()=>b("underline")},t("span",{class:"icon-[lucide--underline]"})),t("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:u=>b("foreColor",u.target.value)}),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyLeft")},t("span",{class:"icon-[lucide--align-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyCenter")},t("span",{class:"icon-[lucide--align-center]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyRight")},t("span",{class:"icon-[lucide--align-right]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertUnorderedList")},t("span",{class:"icon-[lucide--list]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertOrderedList")},t("span",{class:"icon-[lucide--list-ordered]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("outdent")},t("span",{class:"icon-[lucide--indent-decrease]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("indent")},t("span",{class:"icon-[lucide--indent-increase]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>b("formatBlock",D("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},t("span",{class:"icon-[lucide--quote]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=window.prompt("URL:");u&&b("createLink",u)}},t("span",{class:"icon-[lucide--link]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=document.createElement("input");u.type="file",u.onchange=w=>R(w.target.files[0]),u.click()}},t("span",{class:"icon-[lucide--paperclip]"})),t("div",{class:"relative"},[t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:u=>{u.stopPropagation(),h(),d(!d())}},t("span",{class:"icon-[lucide--smile]"})),t("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},f.map(u=>t("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:w=>{w.stopPropagation(),b("insertText",u),d(!1)}},u)))]),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("undo")},t("span",{class:"icon-[lucide--undo-2]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("redo")},t("span",{class:"icon-[lucide--redo-2]"}))]),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${c()?"btn-active":""}`,onclick:()=>{c()?o&&(o.innerHTML=l(),p()):l(o?.innerHTML||""),c(!c())}},t("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let u=document.createElement("style");u.id="editor-styles",u.textContent=`
+var spui=(()=>{var Ee=Object.defineProperty;var ce=(e,n)=>{for(var s in n)Ee(e,s,{get:n[s],enumerable:!0})};var ae={};ce(ae,{Accordion:()=>Lt,Alert:()=>je,Autocomplete:()=>Bt,Avatar:()=>Fe,AvatarGroup:()=>ze,Badge:()=>Pe,Breadcrumbs:()=>Ie,Button:()=>xe,Calendar:()=>Se,Card:()=>Ue,CardActions:()=>Ve,CardBody:()=>Ke,CardTitle:()=>qe,Carousel:()=>Ge,CarouselItem:()=>We,Chat:()=>Ye,ChatBubble:()=>Qe,ChatFooter:()=>Je,ChatHeader:()=>Xe,ChatImage:()=>Ze,Checkbox:()=>et,ColorPalette:()=>_e,Colorpicker:()=>Mt,Datepicker:()=>Ot,Divider:()=>lt,Drawer:()=>tt,DrawerContent:()=>st,DrawerOverlay:()=>at,DrawerSide:()=>ot,DrawerToggle:()=>nt,Dropdown:()=>W,DropdownButton:()=>me,DropdownContent:()=>Y,Fab:()=>ct,Fieldset:()=>rt,Fileinput:()=>Ht,Icon:()=>I,Indicator:()=>it,Input:()=>Ce,Kbd:()=>dt,List:()=>ut,ListRows:()=>pt,Loading:()=>ft,Menu:()=>jt,Modal:()=>Ft,Navbar:()=>bt,Progress:()=>ht,Radial:()=>gt,Radio:()=>xt,Range:()=>mt,Rating:()=>vt,RatingItems:()=>yt,Select:()=>zt,Skeleton:()=>wt,SkeletonText:()=>kt,Stack:()=>St,Stat:()=>Pt,Stats:()=>_t,Step:()=>Tt,Steps:()=>Ct,Swap:()=>ve,SwapOff:()=>ke,SwapOn:()=>we,SwapToggle:()=>ye,Table:()=>$t,TableItems:()=>It,Tabs:()=>Ut,Textarea:()=>Et,Textrotate:()=>Dt,Timeline:()=>Nt,Toast:()=>qt,Toggle:()=>At,Tooltip:()=>Rt,cls:()=>m,filterBy:()=>fe,getBy:()=>L,hide:()=>V,lang:()=>oe,rand:()=>be,setLocale:()=>He,t:()=>ge,val:()=>k});var y=e=>typeof e=="function",re=e=>e&&typeof e=="object",B=Array.isArray,N=typeof document<"u"?document:null,ie=e=>e?._isRuntime?e.container:e instanceof Node?e:N.createTextNode(e==null?"":String(e)),C=null,D=null,q=!1,De=0,ne=new Set;var ee=new WeakMap,Ne="http://www.w3.org/2000/svg",de="http://www.w3.org/1999/xlink",Ae=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),M=e=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];for(;n.length;){let s=n.pop();s._cleanups&&(s._cleanups.forEach(o=>o()),s._cleanups.clear()),s._children&&(s._children.forEach(o=>n.push(o)),s._children.clear()),s._deps&&(s._deps.forEach(o=>o.delete(s)),s._deps.clear())}},F=e=>{D&&(D._cleanups||=new Set).add(e)},Re=e=>{let n=C;C=null;try{return e()}finally{C=n}},z=(e,n=!1)=>{let s=()=>{if(s._disposed)return;s._deps&&s._deps.forEach(c=>c.delete(s)),s._cleanups&&(s._cleanups.forEach(c=>c()),s._cleanups.clear());let o=C,a=D;C=D=s;try{return s._result=e()}catch(c){console.error("[SigPro]",c)}finally{C=o,D=a}};return s._deps=s._cleanups=s._children=null,s._disposed=!1,s._isComputed=n,s._depth=C?C._depth+1:0,s._mounts=[],s._parent=D,D&&(D._children||=new Set).add(s),s},Le=()=>{if(q)return;q=!0;let e=Array.from(ne).sort((n,s)=>n._depth-s._depth);ne.clear();for(let n of e)n._disposed||n();q=!1};var j=(e,n=!1)=>{if(!n&&C&&!C._disposed)e.add(C),(C._deps||=new Set).add(e);else if(n&&e.size>0){let s=!1;for(let o of e)o===C||o._disposed||(o._isComputed?(o._dirty=!0,o._subs&&j(o._subs,!0)):(ne.add(o),s=!0));s&&!q&&De===0&&queueMicrotask(Le)}},S=(e,n=null)=>{let s=new Set;if(y(e)){let o,a=()=>{if(a._dirty){let c=C;C=a;try{let l=e();Object.is(o,l)||(o=l,j(s,!0))}finally{C=c}a._dirty=!1}return j(s),o};return a._isComputed=!0,a._subs=s,a._dirty=!0,a._deps=null,a._disposed=!1,a}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch{}return(...o)=>{if(o.length){let a=y(o[0])?o[0](e):o[0];Object.is(e,a)||(e=a,n&&localStorage.setItem(n,JSON.stringify(e)),j(s,!0))}return j(s),e}};var H=(e,n)=>{if(n===void 0){let o=z(e);return o(),()=>M(o)}let s=z(()=>{let o=B(e)?e.map(a=>a()):e();Re(()=>n(o))});return s(),()=>M(s)},se=e=>{e&&(e._cleanups&&(e._cleanups.forEach(n=>n()),e._cleanups.clear()),e._ownerEffect&&M(e._ownerEffect),e.childNodes&&e.childNodes.forEach(n=>se(n)))},Be=/^\s*(javascript|data|vbscript):/i,Me=new Set(["src","href","formaction","action","background","code","archive"]),Oe=e=>Me.has(e)||e.startsWith("on"),te=(e,n)=>{if(n==null||n===!1)return null;if(Oe(e)){let s=String(n);if(Be.test(s))return"#"}return n},t=(e,n={},s=[])=>{if((n instanceof Node||B(n)||!re(n))&&(s=n,n={}),y(e)){let l=z(()=>{let f=e(n,{children:s,emit:(h,...g)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...g)});return l._result=f,f});l();let i=l._result;if(i==null)return null;let r=i instanceof Node||B(i)&&i.every(f=>f instanceof Node)?i:N.createTextNode(String(i)),d=f=>{re(f)&&!f._isRuntime&&(f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l)};return B(r)?r.forEach(d):d(r),r}let o=Ae.has(e),a=o?N.createElementNS(Ne,e):N.createElement(e);a._cleanups=new Set;for(let l of Object.keys(n)){let i=n[l];if(l==="ref"){y(i)?i(a):i.current=a;continue}if(o&&l.startsWith("xlink:")){let r=te(l.slice(6),i);r==null?a.removeAttributeNS(de,l.slice(6)):a.setAttributeNS(de,l.slice(6),r);continue}if(l.startsWith("on")){let r=l.slice(2).toLowerCase();a.addEventListener(r,i);let d=()=>a.removeEventListener(r,i);a._cleanups.add(d),F(d)}else if(y(i)){let r=z(()=>{let d=te(l,i());l==="class"?a.className=d||"":d==null?a.removeAttribute(l):l==="style"&&typeof d=="string"?a.setAttribute("style",d):l in a&&!o?a[l]=d:a.setAttribute(l,d===!0?"":d)});if(r(),a._cleanups.add(()=>M(r)),F(()=>M(r)),/^(INPUT|TEXTAREA|SELECT)$/.test(a.tagName)&&(l==="value"||l==="checked")){let d=l==="checked"?"change":"input";a.addEventListener(d,f=>i(f.target[l]))}}else{let r=te(l,i);r!=null&&(l==="style"&&typeof r=="string"?a.setAttribute("style",r):l in a&&!o?a[l]=r:a.setAttribute(l,r===!0?"":r))}}let c=l=>{if(B(l))return l.forEach(c);if(y(l)){let i=N.createTextNode("");a.appendChild(i);let r=[],d=z(()=>{let f=l(),h=(B(f)?f:[f]).map(ie);r.forEach(x=>{x._isRuntime?x.destroy():se(x),x.parentNode&&x.remove()});let g=i;for(let x=h.length-1;x>=0;x--){let p=h[x];p.parentNode!==g.parentNode&&g.parentNode?.insertBefore(p,g),p._mounts&&p._mounts.forEach(b=>b()),g=p}r=h});d(),a._cleanups.add(()=>M(d)),F(()=>M(d))}else{let i=ie(l);a.appendChild(i),i._mounts&&i._mounts.forEach(r=>r())}};return c(s),a},K=e=>{let n=new Set,s=D,o=C,a=N.createElement("div");a.style.display="contents",a.setAttribute("role","presentation"),D={_cleanups:n},C=null;let c=l=>{l&&(l._isRuntime?(n.add(l.destroy),a.appendChild(l.container)):B(l)?l.forEach(c):a.appendChild(l instanceof Node?l:N.createTextNode(String(l??""))))};try{c(e({onCleanup:l=>n.add(l)}))}finally{D=s,C=o}return{_isRuntime:!0,container:a,destroy:()=>{n.forEach(l=>l()),se(a),a.remove()}}},ue=(e,n,s=null)=>{let o=N.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=null;return H(()=>!!(y(e)?e():e),l=>{c&&(c.destroy(),c=null);let i=l?n:s;i&&(c=K(()=>y(i)?i():i),a.insertBefore(c.container,o))}),F(()=>c?.destroy()),a},O=(e,n,s)=>{let o=N.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=new Map;return H(()=>(y(e)?e():e)||[],l=>{let i=new Map,r=[],d=l||[];for(let h=0;hn(g,h)),i.set(x,p),r.push(p)}c.forEach(h=>h.destroy());let f=o;for(let h=r.length-1;h>=0;h--){let x=r[h].container;x.nextSibling!==f&&a.insertBefore(x,f),f=x}c=i}),a},P=e=>{let n=()=>window.location.hash.slice(1)||"/",s=S(n()),o=()=>s(n());window.addEventListener("hashchange",o),F(()=>window.removeEventListener("hashchange",o));let a=t("div",{class:"router-hook"}),c=null;return H([s],()=>{let l=s(),i=e.find(r=>{let d=r.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return d.length===f.length&&d.every((h,g)=>h[0]===":"||h===f[g])})||e.find(r=>r.path==="*");if(i){c?.destroy();let r={};i.path.split("/").filter(Boolean).forEach((d,f)=>{d[0]===":"&&(r[d.slice(1)]=l.split("/").filter(Boolean)[f])}),P.params(r),c=K(()=>y(i.component)?i.component(r):i.component),a.replaceChildren(c.container)}}),a};P.params=S({});P.to=e=>window.location.hash=e.replace(/^#?\/?/,"#/");P.back=()=>window.history.back();P.path=()=>window.location.hash.replace(/^#/,"")||"/";var pe=(e,n)=>{let s=typeof n=="string"?N.querySelector(n):n;if(!s)return;ee.has(s)&&ee.get(s).destroy();let o=K(y(e)?e:()=>e);return s.replaceChildren(o.container),ee.set(s,o),o};typeof window<"u"&&"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(e=>{window[e]=(n,s)=>t(e,n,s)});var k=e=>typeof e=="function"?e():e,L=(e,n="label")=>e&&typeof e=="object"?e[n]:e,m=(...e)=>e.filter(Boolean).join(" ").trim(),fe=(e,n,s="label")=>{let o=String(k(n)||"").toLowerCase(),a=(k(e)||[]).map(c=>typeof c=="object"?c:{label:c,value:c});return o?a.filter(c=>String(c[s]||"").toLowerCase().includes(o)):a},be=e=>`${e}-${Math.random().toString(36).slice(2,9)}`,V=()=>document.activeElement?.blur(),he=S("en"),oe={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},He=e=>{oe[e]&&he(e)},ge=e=>()=>oe[he()][e]||e,U=(e,n)=>s=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()}),v=(e,n)=>(s,o)=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()},o),G=(e,n,s)=>o=>t(e,{type:s,...o,class:`${n} ${o?.class||""}`.trim()}),je=v("div","alert"),Fe=(e,n)=>t("div",{class:"avatar"},t("div",{class:e.class},n)),ze=v("div","avatar-group -space-x-6"),Pe=v("span","badge"),Ie=v("div","breadcrumbs"),xe=v("button","btn"),Ue=v("div","card"),qe=v("div","card-title"),Ke=v("div","card-body"),Ve=v("div","card-actions"),Ge=v("div","carousel"),We=v("div","carousel-item"),Ye=v("div","chat"),Qe=v("div","chat-bubble"),Je=v("div","chat-footer"),Xe=v("div","chat-header"),Ze=(e,n)=>t("div",{...e,class:m("chat-image avatar",e.class)},t("div",{class:"w-10 rounded-full"},typeof n=="string"?t("img",{src:n,alt:"avatar"}):n)),et=G("input","checkbox","checkbox"),tt=v("div","drawer"),nt=e=>input({...e,type:"checkbox",class:"drawer-toggle",checked:()=>k(e.checked),onchange:n=>y(e.checked)&&e.checked(n.target.checked)}),st=v("div","drawer-content"),ot=v("div","drawer-side"),at=e=>label({...e,for:e.for,class:m("drawer-overlay",e.class)}),lt=U("div","divider"),W=v("div","dropdown"),me=(e,n)=>t("div",{...e,tabindex:"0",role:"button",class:m("btn",e.class)},n),Y=(e,n)=>t("div",{...e,tabindex:"0",class:m("dropdown-content",e.class)},n),ct=(e,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:m("btn",e.class)},I({},e.icon)),n]),rt=(e,n)=>t("fieldset",{class:m("fieldset",e.class)},[t("legend",{class:"fieldset-legend"},e.label),n]),I=(e,n)=>t("span",{...e,class:m(n,e.class)}),it=(e,n)=>t("div",{...e,class:m("indicator",e.class)},[e.value&&t("span",{class:m("indicator-item badge",e.class)},e.value),n]),dt=v("kbd","kbd"),ut=v("ul","list"),pt=e=>()=>(k(e.items)||[]).map((n,s)=>t("li",{class:m("list-row",e.class,n?.class)},typeof e.render=="function"?e.render(n,s):n)),ft=v("span","loading loading-spinner"),bt=v("div","navbar"),ht=U("progress","progress"),gt=(e,n)=>t("div",{class:m("radial-progress",e.class),style:`--value:${k(e.value)??0};`,role:"progressbar","aria-valuenow":e.value},n),xt=G("input","radio","radio"),mt=G("input","range","range"),vt=v("div","rating"),yt=e=>[...Array(e.count)].map((n,s)=>t("input",{class:m("mask",e.class),name:e.name,type:"radio",checked:()=>k(e.value)===s,onchange:()=>y(e.value)?e.value(s):e.onchange?.(s)})),wt=U("div","skeleton"),kt=U("span","skeleton skeleton-text"),St=v("div","stack"),_t=v("div","stats shadow"),Ct=v("ul","steps"),Tt=(e,n)=>t("li",{...e,class:m("step",e.class),"data-content":e.dataContent},n),ve=v("label","swap"),ye=e=>t("input",{type:"checkbox",checked:()=>k(e.value),onchange:n=>y(e.value)&&e.value(n.target.checked),class:e.class}),we=v("div","swap-on"),ke=v("div","swap-off"),$t=v("table","table"),Et=U("textarea","textarea"),Dt=(e,n)=>t("span",{...e,class:m("text-rotate",e.class)},t("span",{},n)),Nt=v("ul","timeline"),At=G("input","toggle","checkbox"),Rt=(e,n)=>t("div",{...e,class:m("tooltip",e.class),"data-tip":e.tip},n),Lt=e=>{let n=e.name||be("acc");return O(e.items,s=>t("div",{class:m("collapse",e.class)},[t("input",{type:"radio",name:n,checked:s.open||void 0}),s.title?t("div",{class:m("collapse-title",`${s.classTitle??" font-semibold"}`)},s.title):null,s.content?t("div",{class:m("collapse-content text-sm",`${s.classContent??" font-semibold"}`)},s.content):null]))},Bt=({items:e,value:n,onselect:s,placeholder:o="...",...a})=>{let c=S(k(n)||""),l=S(()=>fe(e,c())),i=r=>{let d=L(r),f=typeof r=="string"?r:r.value;c(d),y(n)&&n(f),s?.(r),V()};return W({class:"w-80"},[t("div",{tabindex:"0",role:"button",class:"w-full"},Ce({...a,placeholder:o,value:c,left:I({},"icon-[lucide--search]")})),Y({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},t("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[O(l,r=>t("li",{},[t("a",{onmousedown:d=>d.preventDefault(),onclick:()=>i(r)},L(r))]),"value"),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Se=e=>{let n=S(new Date),s=S(null),o=S(0),a=S(0),c=new Date,l=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`,i=p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`,r=()=>k(e.range)===!0,d=()=>k(e.value),f=p=>{let b=i(p),$=d();if(r())if(!$?.start||$.start&&$.end)e.onChange?.({start:b,end:null,...e.hour&&{startHour:o()}});else{let A=$.start,E=b{let b=n();n(new Date(b.getFullYear(),b.getMonth()+p,1))},g=p=>{let b=n();n(new Date(b.getFullYear()+p,b.getMonth(),1))},x=({value:p,onChange:b})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:p,class:"range range-xs flex-1",oninput:$=>b(+$.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(k(p)).padStart(2,"0")+":00")])]);return t("div",{class:m("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",e.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:()=>g(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-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:()=>h(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>s(null)},[...["L","M","X","J","V","S","D"].map(p=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},p)),()=>{let p=n(),b=p.getFullYear(),$=p.getMonth(),A=new Date(b,$,1).getDay(),E=A===0?6:A-1,Q=new Date(b,$+1,0).getDate(),u=[];for(let w=0;w{let R=d(),J=s(),Te=typeof R=="string"?R.split("T")[0]===T:R?.start===T,$e=R?.end===T,X=!1;if(r()&&R?.start){let Z=R.start;!R.end&&J?X=T>Z&&T<=J||T=J:R.end&&(X=T>Z&&Tr()&&s(T),onclick:()=>f(_)},w.toString()))}return u}]),e.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},r()?t("div",{class:"flex gap-4"},[x({value:o,onChange:p=>o(p)}),x({value:a,onChange:p=>a(p)})]):x({value:o,onChange:p=>o(p)})):null])},Mt=e=>{let n=()=>k(e.value)||"#000000";return W({},[me({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),e.label&&t("span",{},e.label)]),Y({class:"p-0"},_e({value:e.value,onchange:s=>{y(e.value)?e.value(s):e.onchange?.(s)}}))])},_e=e=>{let n=()=>k(e.value)||"#000000",s=["#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=a=>{y(e.value)?e.value(a):e.onchange?.(a),V()};return t("div",{class:m("p-3 bg-base-100 rounded-box shadow w-64",e.class)},t("div",{class:"grid grid-cols-8 gap-1"},s.map(a=>t("button",{type:"button",style:`background-color: ${a}`,class:()=>`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()===a.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`,onclick:()=>{o(a)}}))))},Ot=e=>{let n=S(""),s=()=>k(e.range)===!0;H(()=>{let a=k(e.value);if(!a)return n("");let c="";if(typeof a=="string")c=e.hour&&a.includes("T")?a.replace("T"," "):a;else if(a.start&&a.end){let l=e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start,i=e.hour&&a.endHour!=null?`${a.end} ${String(a.endHour).padStart(2,"0")}:00`:a.end;c=`${l} - ${i}`}else a.start&&(c=`${e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start}...`);n(c)});let o=a=>{y(e.value)?e.value(a):e.onChange?.(a),(!s()||a?.end!=null)&&V()};return W({class:m("w-full",e.class)},[t("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[t("span",{class:"icon-[lucide--calendar] shrink-0"}),t("span",{class:()=>`grow text-left truncate ${n()?"":"opacity-50"}`},()=>n()||e.placeholder||(s()?"Seleccionar rango...":"Seleccionar fecha...")),()=>n()?t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:a=>{a.preventDefault(),a.stopPropagation(),y(e.value)?e.value(null):e.onChange?.(null),n("")}},t("span",{class:"icon-[lucide--x] opacity-50"})):null]),Y({class:"p-0"},Se({value:e.value,range:s(),hour:e.hour,onChange:o}))])},Ht=e=>{let n=S([]),s=S(!1),o=S(null),a=(e.max||2)*1024*1024,c=i=>{let r=Array.from(i);if(o(null),r.some(f=>f.size>a)){o(`M\xE1x ${e.max||2}MB`);return}let d=[...n(),...r];n(d),y(e.onselect)?e.onselect(d):y(e.value)&&e.value(d)},l=i=>{let r=n().filter((d,f)=>f!==i);n(r),y(e.onselect)?e.onselect(r):y(e.value)&&e.value(r)};return t("div",{class:m("fieldset w-full p-0",e.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 ${s()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:i=>{i.preventDefault(),s(!0)},ondragleave:()=>s(!1),ondrop:i=>{i.preventDefault(),s(!1),c(i.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"},ge("uploadFiles")),t("span",{class:"text-[10px] opacity-40 shrink-0"},`M\xE1x ${e.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:i=>c(i.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),ue(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},O(n,(i,r)=>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"},"\u{1F4C4}"),t("span",{class:"truncate font-medium max-w-[200px]"},i.name),t("span",{class:"text-[9px] opacity-40"},`(${(i.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:d=>{d.preventDefault(),l(r)}},t("span",{class:"icon-[lucide--x]"}))]))))])},Ce=e=>{let{label:n,icon:s,float:o,placeholder:a,value:c,left:l,right:i,rule:r,hint:d,content:f,...h}=e,g=S(!1),x=e.type==="password",p=r??null,b=()=>x?k(g)?"text":"password":e.type||"search";return t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:p,class:()=>m("input validator",e.class)},[n&&!o?t("span",{class:"label"},n):null,l??null,t("input",{...h,type:b,class:"grow",pattern:p,placeholder:a||n||" ",value:c}),i??null,x?ve({class:"ml-2"},[ye({value:g,class:"swap-rotate"}),we({},I({},"icon-[lucide--eye]")),ke({},I({},"icon-[lucide--eye-off]"))]):null]),d?t("div",{class:"validator-hint"},d):null])},jt=e=>{if(e.children!==void 0)return t("ul",{class:m("menu",e.class),...e},e.children);let{items:n}=e,s=o=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},L(o)),t("ul",{},O(()=>k(o.children)||[],s))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?a=>{o.href||a.preventDefault(),o.onclick(a)}:null},L(o)));return t("ul",{class:m("menu",e.class)},O(()=>k(n)||[],s))},Ft=e=>{let n=null;H(()=>{let o=k(e.open);n&&(o?n.showModal():n.hide())});let s=()=>y(e.open)&&e.open(!1);return t("dialog",{...e,ref:o=>n=o,class:m("modal",e.class),onclose:s,oncancel:s},[t("div",{class:"modal-box"},[e.title&&t("h3",{class:"text-lg font-bold"},e.title),e.children,t("div",{class:"modal-action"},[e.actions||xe({class:"btn",onclick:s},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},zt=(e,n)=>{if(n!==void 0)return t("select",{class:m("select",e.class),...e},n);let{label:s,float:o,placeholder:a,placeholderDisabled:c=!0,value:l,left:i,right:r,hint:d,items:f,keyFn:h,...g}=e,x=()=>{let p=k(f)||[];return[...a?[{disabled:c,label:a,value:""}]:[],...p]};return t("label",{class:o?"floating-label":""},[o?t("span",{},s):null,t("label",{class:m("select",g.class)},[!o&&s?t("span",{class:"label"},s):null,i??null,t("select",{value:()=>k(l),onchange:p=>y(l)?l(p.target.value):g.onchange?.(p)},O(x,p=>{let b=L(p,p.value!==void 0?"value":void 0),$=L(p,"label");return t("option",{value:b,disabled:p.disabled||void 0},$)})),r??null]),d?t("div",{class:"validator-hint"},d):null])},Pt=e=>t("div",{...e,class:m("stat",e.class)},[e.title?t("div",{class:"stat-title"},e.title):null,e.value?t("div",{class:"stat-value"},e.value):null,e.desc?t("div",{class:"stat-desc"},e.desc):null]),It=({items:e,columns:n=[],header:s=!0})=>{let o=s!==!1&&n.some(c=>c.label)?t("thead",{},t("tr",{},n.map(c=>t("th",{class:c.class},c.label)))):null,a=t("tbody",{},()=>(k(e)||[]).map((l,i)=>t("tr",{},n.map(r=>{let d=r.render?r.render(l,i):l[r.key];return t("td",{class:r.class},d)}))));return[o,a].filter(Boolean)},Ut=(e,n)=>{if(!e.items){let{class:d,...f}=e;return t("div",{...f,class:m("tabs",d)},n)}let{items:s,activeIndex:o,onClose:a,class:c,...l}=e,i=d=>y(d)?d():d,r=a||(y(s)?(d,f)=>{let g=k(s).filter((x,p)=>p!==d);s(g),o()>=g.length&&o(Math.max(0,g.length-1))}:null);return t("div",{...l,class:m("tabs",c)},()=>(k(s)||[]).flatMap((f,h)=>{let g=()=>o()===h,x=t("button",{class:()=>`tab ${g()?"tab-active":""} ${f.class||""}`,onclick:b=>{b.preventDefault(),o(h),f.onclick?.(b)}},[L(f),f.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:b=>{b.stopPropagation(),r?.(h,f)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),p=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${g()?"block":"none"};`},y(f.content)?f.content():f.content);return[x,p]}))},qt=(e,n="alert-success",s=3500)=>{let o=document.getElementById("sigpro-toast-container");o||(o=t("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(o));let a=t("div",{style:"display: contents"});o.appendChild(a);let c,l,i,d=pe(()=>{let f=S(!1),h=S(!1);c=()=>{h()||(clearTimeout(l),clearTimeout(i),h(!0),setTimeout(()=>{d.destroy(),a.remove(),o.hasChildNodes()||o.remove()},300))},i=setTimeout(()=>f(!0),0);let g=typeof e=="function"?k(e):e,x=typeof g=="string"?t("span",{},g):g;return t("div",{class:()=>{let p=`alert alert-soft ${n} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;return h()?`${p} translate-x-full opacity-0`:f()?`${p} translate-x-0 opacity-100`:`${p} translate-x-10 opacity-0`}},[x,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:c},t("span",{class:"icon-[lucide--x]"}))])},a);return s>0&&(l=setTimeout(c,s)),c};var le={};ce(le,{Editor:()=>Kt});var Kt=e=>{let{value:n,class:s}=e,o=null,a=null,c=S(!1),l=S(""),i=S(0),r=S(0),d=S(!1),f=["\u{1F600}","\u{1F60A}","\u{1F609}","\u{1F9D0}","\u{1F62E}","\u{1F914}","\u{1F605}","\u{1F602}","\u{1F60D}","\u{1F618}","\u{1F970}","\u{1F44D}","\u{1F44E}","\u{1F44C}","\u{1F91D}","\u{1F91E}","\u{1F44B}","\u{1F44F}","\u{1F64C}","\u{1F64F}","\u{1F4AA}","\u261D\uFE0F","\u{1F447}","\u{1F448}","\u{1F449}","\u{1F595}","\u2705","\u26A0\uFE0F","\u{1F680}","\u{1F4E2}","\u2709\uFE0F","\u2764\uFE0F"],h=()=>{let u=window.getSelection();u.getRangeAt&&u.rangeCount&&(a=u.getRangeAt(0))},g=()=>{if(a){let u=window.getSelection();u.removeAllRanges(),u.addRange(a)}},x=()=>{r(r()+1),o&&i(o.innerText.length)},p=()=>{if(!o)return;let u=o.innerHTML;y(n)?n(u):e.onchange?.(u),x()},b=(u,w=null)=>{o&&(o.focus(),a&&g(),document.execCommand(u,!1,w),a=null,p())},$=u=>{let w=document.createElement("div");w.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let _=document.createElement("img");_.src=u,_.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",w.onclick=()=>document.body.removeChild(w),w.appendChild(_),document.body.appendChild(w)},A=u=>{if(!u)return;let w=new FileReader;w.onload=_=>{if(u.type.startsWith("image/")){let T=` `;b("insertHTML",T)}else{let T=`${u.name} `;b("insertHTML",T)}},w.readAsDataURL(u)},E=(u,w=null)=>{if(r(),!o||c())return!1;try{if(u==="formatBlock"){let _=window.getSelection().getRangeAt(0).commonAncestorContainer;for(;_&&_!==o;){if(_.nodeType===1&&_.tagName===w)return!0;_=_.parentNode}return!1}return document.queryCommandState(u)}catch{return!1}},Q=t("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[t("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("bold")?"btn-active bg-primary/20":""}`,onclick:()=>b("bold")},t("span",{class:"icon-[lucide--bold]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("italic")?"btn-active bg-primary/20":""}`,onclick:()=>b("italic")},t("span",{class:"icon-[lucide--italic]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("underline")?"btn-active bg-primary/20":""}`,onclick:()=>b("underline")},t("span",{class:"icon-[lucide--underline]"})),t("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:u=>b("foreColor",u.target.value)}),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyLeft")},t("span",{class:"icon-[lucide--align-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyCenter")},t("span",{class:"icon-[lucide--align-center]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyRight")},t("span",{class:"icon-[lucide--align-right]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertUnorderedList")},t("span",{class:"icon-[lucide--list]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertOrderedList")},t("span",{class:"icon-[lucide--list-ordered]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("outdent")},t("span",{class:"icon-[lucide--indent-decrease]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("indent")},t("span",{class:"icon-[lucide--indent-increase]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>b("formatBlock",E("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},t("span",{class:"icon-[lucide--quote]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=window.prompt("URL:");u&&b("createLink",u)}},t("span",{class:"icon-[lucide--link]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=document.createElement("input");u.type="file",u.onchange=w=>A(w.target.files[0]),u.click()}},t("span",{class:"icon-[lucide--paperclip]"})),t("div",{class:"relative"},[t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:u=>{u.stopPropagation(),h(),d(!d())}},t("span",{class:"icon-[lucide--smile]"})),t("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},f.map(u=>t("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:w=>{w.stopPropagation(),b("insertText",u),d(!1)}},u)))]),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("undo")},t("span",{class:"icon-[lucide--undo-2]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("redo")},t("span",{class:"icon-[lucide--redo-2]"}))]),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${c()?"btn-active":""}`,onclick:()=>{c()?o&&(o.innerHTML=l(),p()):l(o?.innerHTML||""),c(!c())}},t("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let u=document.createElement("style");u.id="editor-styles",u.textContent=`
[contenteditable="true"] div,
[contenteditable="true"] p {
margin: 0;
padding: 0;
}
- `,document.head.appendChild(u)}return t("div",{class:m("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",s)},[J,t("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[t("div",{ref:u=>{!o&&u&&(o=u,u.innerHTML=k(n)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),u.addEventListener("click",w=>{let _=w.target.closest(".resizable-img-container");if(_){let T=_.querySelector("img");T&&E(T.src)}}))},style:()=>`min-height:22rem;${c()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:p,onkeydown:u=>{u.key==="Tab"&&(u.preventDefault(),b("indent"))},onkeyup:()=>{x(),h()},onclick:u=>{x(),h(),u.stopPropagation()},onmouseup:()=>{p(),h()},onpaste:u=>{u.preventDefault();let w=u.clipboardData.getData("text/plain");b("insertText",w)},ondragover:u=>u.preventDefault(),ondrop:u=>{u.preventDefault(),R(u.dataTransfer.files[0])}}),t("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>c()?"":"display:none",value:l,oninput:u=>{l(u.target.value),o&&(o.innerHTML=u.target.value),e.onchange?.(u.target.value)}})]),t("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[t("span",()=>`${i()}`)])])};typeof window<"u"&&Object.assign(window,re,ie,ce);})();
+ `,document.head.appendChild(u)}return t("div",{class:m("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",s)},[Q,t("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[t("div",{ref:u=>{!o&&u&&(o=u,u.innerHTML=k(n)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),u.addEventListener("click",w=>{let _=w.target.closest(".resizable-img-container");if(_){let T=_.querySelector("img");T&&$(T.src)}}))},style:()=>`min-height:22rem;${c()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:p,onkeydown:u=>{u.key==="Tab"&&(u.preventDefault(),b("indent"))},onkeyup:()=>{x(),h()},onclick:u=>{x(),h(),u.stopPropagation()},onmouseup:()=>{p(),h()},onpaste:u=>{u.preventDefault();let w=u.clipboardData.getData("text/plain");b("insertText",w)},ondragover:u=>u.preventDefault(),ondrop:u=>{u.preventDefault(),A(u.dataTransfer.files[0])}}),t("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>c()?"":"display:none",value:l,oninput:u=>{l(u.target.value),o&&(o.innerHTML=u.target.value),e.onchange?.(u.target.value)}})]),t("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[t("span",()=>`${i()}`)])])};typeof window<"u"&&Object.assign(window,ae,le);})();
diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js
index 96ced2e..44b0ddf 100644
--- a/docs/sigpro-ui.min.js
+++ b/docs/sigpro-ui.min.js
@@ -1,7 +1,7 @@
-var spui=(()=>{var Ne=Object.defineProperty;var te=(e,n)=>{for(var s in n)Ne(e,s,{get:n[s],enumerable:!0})};var re={};te(re,{Accordion:()=>Mt,Alert:()=>ze,Autocomplete:()=>Ot,Avatar:()=>Pe,AvatarGroup:()=>Ie,Badge:()=>Ue,Breadcrumbs:()=>qe,Button:()=>ve,Calendar:()=>Ce,Card:()=>Ke,CardActions:()=>We,CardBody:()=>Ge,CardTitle:()=>Ve,Carousel:()=>Ye,CarouselItem:()=>Qe,Chat:()=>Je,ChatBubble:()=>Xe,ChatFooter:()=>Ze,ChatHeader:()=>et,ChatImage:()=>tt,Checkbox:()=>nt,ColorPalette:()=>$e,Colorpicker:()=>Ht,Datepicker:()=>jt,Divider:()=>rt,Drawer:()=>st,DrawerContent:()=>at,DrawerOverlay:()=>ct,DrawerSide:()=>lt,DrawerToggle:()=>ot,Dropdown:()=>Y,DropdownButton:()=>ye,DropdownContent:()=>Q,Fab:()=>it,Fieldset:()=>dt,Fileinput:()=>Ft,Icon:()=>U,Indicator:()=>ut,Input:()=>Te,Kbd:()=>pt,List:()=>ft,ListRows:()=>bt,Loading:()=>ht,Menu:()=>zt,Modal:()=>Pt,Navbar:()=>gt,Progress:()=>xt,Radial:()=>mt,Radio:()=>vt,Range:()=>yt,Rating:()=>wt,RatingItems:()=>kt,Select:()=>It,Skeleton:()=>St,SkeletonText:()=>_t,Stack:()=>Ct,Stat:()=>Ut,Stats:()=>$t,Step:()=>Et,Steps:()=>Tt,Swap:()=>we,SwapOff:()=>_e,SwapOn:()=>Se,SwapToggle:()=>ke,Table:()=>Dt,TableItems:()=>qt,Tabs:()=>Kt,Textarea:()=>Nt,Textrotate:()=>At,Timeline:()=>Rt,Toast:()=>Vt,Toggle:()=>Lt,Tooltip:()=>Bt});var y=e=>typeof e=="function",de=e=>e&&typeof e=="object",M=Array.isArray,A=typeof document<"u"?document:null,ue=e=>e?._isRuntime?e.container:e instanceof Node?e:A.createTextNode(e==null?"":String(e)),C=null,N=null,K=!1,Ae=0,oe=new Set;var ne=new WeakMap,Re="http://www.w3.org/2000/svg",pe="http://www.w3.org/1999/xlink",Le=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),O=e=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];for(;n.length;){let s=n.pop();s._cleanups&&(s._cleanups.forEach(o=>o()),s._cleanups.clear()),s._children&&(s._children.forEach(o=>n.push(o)),s._children.clear()),s._deps&&(s._deps.forEach(o=>o.delete(s)),s._deps.clear())}},z=e=>{N&&(N._cleanups||=new Set).add(e)},Be=e=>{let n=C;C=null;try{return e()}finally{C=n}},P=(e,n=!1)=>{let s=()=>{if(s._disposed)return;s._deps&&s._deps.forEach(c=>c.delete(s)),s._cleanups&&(s._cleanups.forEach(c=>c()),s._cleanups.clear());let o=C,a=N;C=N=s;try{return s._result=e()}catch(c){console.error("[SigPro]",c)}finally{C=o,N=a}};return s._deps=s._cleanups=s._children=null,s._disposed=!1,s._isComputed=n,s._depth=C?C._depth+1:0,s._mounts=[],s._parent=N,N&&(N._children||=new Set).add(s),s},Me=()=>{if(K)return;K=!0;let e=Array.from(oe).sort((n,s)=>n._depth-s._depth);oe.clear();for(let n of e)n._disposed||n();K=!1};var F=(e,n=!1)=>{if(!n&&C&&!C._disposed)e.add(C),(C._deps||=new Set).add(e);else if(n&&e.size>0){let s=!1;for(let o of e)o===C||o._disposed||(o._isComputed?(o._dirty=!0,o._subs&&F(o._subs,!0)):(oe.add(o),s=!0));s&&!K&&Ae===0&&queueMicrotask(Me)}},S=(e,n=null)=>{let s=new Set;if(y(e)){let o,a=()=>{if(a._dirty){let c=C;C=a;try{let l=e();Object.is(o,l)||(o=l,F(s,!0))}finally{C=c}a._dirty=!1}return F(s),o};return a._isComputed=!0,a._subs=s,a._dirty=!0,a._deps=null,a._disposed=!1,a}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch{}return(...o)=>{if(o.length){let a=y(o[0])?o[0](e):o[0];Object.is(e,a)||(e=a,n&&localStorage.setItem(n,JSON.stringify(e)),F(s,!0))}return F(s),e}};var j=(e,n)=>{if(n===void 0){let o=P(e);return o(),()=>O(o)}let s=P(()=>{let o=M(e)?e.map(a=>a()):e();Be(()=>n(o))});return s(),()=>O(s)},ae=e=>{e&&(e._cleanups&&(e._cleanups.forEach(n=>n()),e._cleanups.clear()),e._ownerEffect&&O(e._ownerEffect),e.childNodes&&e.childNodes.forEach(n=>ae(n)))},Oe=/^\s*(javascript|data|vbscript):/i,He=new Set(["src","href","formaction","action","background","code","archive"]),je=e=>He.has(e)||e.startsWith("on"),se=(e,n)=>{if(n==null||n===!1)return null;if(je(e)){let s=String(n);if(Oe.test(s))return"#"}return n},t=(e,n={},s=[])=>{if((n instanceof Node||M(n)||!de(n))&&(s=n,n={}),y(e)){let l=P(()=>{let f=e(n,{children:s,emit:(h,...g)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...g)});return l._result=f,f});l();let i=l._result;if(i==null)return null;let r=i instanceof Node||M(i)&&i.every(f=>f instanceof Node)?i:A.createTextNode(String(i)),d=f=>{de(f)&&!f._isRuntime&&(f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l)};return M(r)?r.forEach(d):d(r),r}let o=Le.has(e),a=o?A.createElementNS(Re,e):A.createElement(e);a._cleanups=new Set;for(let l of Object.keys(n)){let i=n[l];if(l==="ref"){y(i)?i(a):i.current=a;continue}if(o&&l.startsWith("xlink:")){let r=se(l.slice(6),i);r==null?a.removeAttributeNS(pe,l.slice(6)):a.setAttributeNS(pe,l.slice(6),r);continue}if(l.startsWith("on")){let r=l.slice(2).toLowerCase();a.addEventListener(r,i);let d=()=>a.removeEventListener(r,i);a._cleanups.add(d),z(d)}else if(y(i)){let r=P(()=>{let d=se(l,i());l==="class"?a.className=d||"":d==null?a.removeAttribute(l):l==="style"&&typeof d=="string"?a.setAttribute("style",d):l in a&&!o?a[l]=d:a.setAttribute(l,d===!0?"":d)});if(r(),a._cleanups.add(()=>O(r)),z(()=>O(r)),/^(INPUT|TEXTAREA|SELECT)$/.test(a.tagName)&&(l==="value"||l==="checked")){let d=l==="checked"?"change":"input";a.addEventListener(d,f=>i(f.target[l]))}}else{let r=se(l,i);r!=null&&(l==="style"&&typeof r=="string"?a.setAttribute("style",r):l in a&&!o?a[l]=r:a.setAttribute(l,r===!0?"":r))}}let c=l=>{if(M(l))return l.forEach(c);if(y(l)){let i=A.createTextNode("");a.appendChild(i);let r=[],d=P(()=>{let f=l(),h=(M(f)?f:[f]).map(ue);r.forEach(x=>{x._isRuntime?x.destroy():ae(x),x.parentNode&&x.remove()});let g=i;for(let x=h.length-1;x>=0;x--){let p=h[x];p.parentNode!==g.parentNode&&g.parentNode?.insertBefore(p,g),p._mounts&&p._mounts.forEach(b=>b()),g=p}r=h});d(),a._cleanups.add(()=>O(d)),z(()=>O(d))}else{let i=ue(l);a.appendChild(i),i._mounts&&i._mounts.forEach(r=>r())}};return c(s),a},V=e=>{let n=new Set,s=N,o=C,a=A.createElement("div");a.style.display="contents",a.setAttribute("role","presentation"),N={_cleanups:n},C=null;let c=l=>{l&&(l._isRuntime?(n.add(l.destroy),a.appendChild(l.container)):M(l)?l.forEach(c):a.appendChild(l instanceof Node?l:A.createTextNode(String(l??""))))};try{c(e({onCleanup:l=>n.add(l)}))}finally{N=s,C=o}return{_isRuntime:!0,container:a,destroy:()=>{n.forEach(l=>l()),ae(a),a.remove()}}},fe=(e,n,s=null)=>{let o=A.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=null;return j(()=>!!(y(e)?e():e),l=>{c&&(c.destroy(),c=null);let i=l?n:s;i&&(c=V(()=>y(i)?i():i),a.insertBefore(c.container,o))}),z(()=>c?.destroy()),a},H=(e,n,s)=>{let o=A.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=new Map;return j(()=>(y(e)?e():e)||[],l=>{let i=new Map,r=[],d=l||[];for(let h=0;hn(g,h)),i.set(x,p),r.push(p)}c.forEach(h=>h.destroy());let f=o;for(let h=r.length-1;h>=0;h--){let x=r[h].container;x.nextSibling!==f&&a.insertBefore(x,f),f=x}c=i}),a},I=e=>{let n=()=>window.location.hash.slice(1)||"/",s=S(n()),o=()=>s(n());window.addEventListener("hashchange",o),z(()=>window.removeEventListener("hashchange",o));let a=t("div",{class:"router-hook"}),c=null;return j([s],()=>{let l=s(),i=e.find(r=>{let d=r.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return d.length===f.length&&d.every((h,g)=>h[0]===":"||h===f[g])})||e.find(r=>r.path==="*");if(i){c?.destroy();let r={};i.path.split("/").filter(Boolean).forEach((d,f)=>{d[0]===":"&&(r[d.slice(1)]=l.split("/").filter(Boolean)[f])}),I.params(r),c=V(()=>y(i.component)?i.component(r):i.component),a.replaceChildren(c.container)}}),a};I.params=S({});I.to=e=>window.location.hash=e.replace(/^#?\/?/,"#/");I.back=()=>window.history.back();I.path=()=>window.location.hash.replace(/^#/,"")||"/";var be=(e,n)=>{let s=typeof n=="string"?A.querySelector(n):n;if(!s)return;ne.has(s)&&ne.get(s).destroy();let o=V(y(e)?e:()=>e);return s.replaceChildren(o.container),ne.set(s,o),o};typeof window<"u"&&"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(e=>{window[e]=(n,s)=>t(e,n,s)});var k=e=>typeof e=="function"?e():e,B=(e,n="label")=>e&&typeof e=="object"?e[n]:e,m=(...e)=>e.filter(Boolean).join(" ").trim(),he=(e,n,s="label")=>{let o=String(k(n)||"").toLowerCase(),a=(k(e)||[]).map(c=>typeof c=="object"?c:{label:c,value:c});return o?a.filter(c=>String(c[s]||"").toLowerCase().includes(o)):a},ge=e=>`${e}-${Math.random().toString(36).slice(2,9)}`,G=()=>document.activeElement?.blur();var ce={};te(ce,{setLocale:()=>Fe,t:()=>le});var xe=$("en"),me={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},Fe=e=>{me[e]&&xe(e)},le=e=>()=>me[xe()][e]||e;var q=(e,n)=>s=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()}),v=(e,n)=>(s,o)=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()},o),W=(e,n,s)=>o=>t(e,{type:s,...o,class:`${n} ${o?.class||""}`.trim()}),ze=v("div","alert"),Pe=(e,n)=>t("div",{class:"avatar"},t("div",{class:e.class},n)),Ie=v("div","avatar-group -space-x-6"),Ue=v("span","badge"),qe=v("div","breadcrumbs"),ve=v("button","btn"),Ke=v("div","card"),Ve=v("div","card-title"),Ge=v("div","card-body"),We=v("div","card-actions"),Ye=v("div","carousel"),Qe=v("div","carousel-item"),Je=v("div","chat"),Xe=v("div","chat-bubble"),Ze=v("div","chat-footer"),et=v("div","chat-header"),tt=(e,n)=>t("div",{...e,class:m("chat-image avatar",e.class)},t("div",{class:"w-10 rounded-full"},typeof n=="string"?t("img",{src:n,alt:"avatar"}):n)),nt=W("input","checkbox","checkbox"),st=v("div","drawer"),ot=e=>input({...e,type:"checkbox",class:"drawer-toggle",checked:()=>k(e.checked),onchange:n=>y(e.checked)&&e.checked(n.target.checked)}),at=v("div","drawer-content"),lt=v("div","drawer-side"),ct=e=>label({...e,for:e.for,class:m("drawer-overlay",e.class)}),rt=q("div","divider"),Y=v("div","dropdown"),ye=(e,n)=>t("div",{...e,tabindex:"0",role:"button",class:m("btn",e.class)},n),Q=(e,n)=>t("div",{...e,tabindex:"0",class:m("dropdown-content",e.class)},n),it=(e,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:m("btn",e.class)},U({},e.icon)),n]),dt=(e,n)=>t("fieldset",{class:m("fieldset",e.class)},[t("legend",{class:"fieldset-legend"},e.label),n]),U=(e,n)=>t("span",{...e,class:m(n,e.class)}),ut=(e,n)=>t("div",{...e,class:m("indicator",e.class)},[e.value&&t("span",{class:m("indicator-item badge",e.class)},e.value),n]),pt=v("kbd","kbd"),ft=v("ul","list"),bt=e=>()=>(k(e.items)||[]).map((n,s)=>t("li",{class:m("list-row",e.class,n?.class)},typeof e.render=="function"?e.render(n,s):n)),ht=v("span","loading loading-spinner"),gt=v("div","navbar"),xt=q("progress","progress"),mt=(e,n)=>t("div",{class:m("radial-progress",e.class),style:`--value:${k(e.value)??0};`,role:"progressbar","aria-valuenow":e.value},n),vt=W("input","radio","radio"),yt=W("input","range","range"),wt=v("div","rating"),kt=e=>[...Array(e.count)].map((n,s)=>t("input",{class:m("mask",e.class),name:e.name,type:"radio",checked:()=>k(e.value)===s,onchange:()=>y(e.value)?e.value(s):e.onchange?.(s)})),St=q("div","skeleton"),_t=q("span","skeleton skeleton-text"),Ct=v("div","stack"),$t=v("div","stats shadow"),Tt=v("ul","steps"),Et=(e,n)=>t("li",{...e,class:m("step",e.class),"data-content":e.dataContent},n),we=v("label","swap"),ke=e=>t("input",{type:"checkbox",checked:()=>k(e.value),onchange:n=>y(e.value)&&e.value(n.target.checked),class:e.class}),Se=v("div","swap-on"),_e=v("div","swap-off"),Dt=v("table","table"),Nt=q("textarea","textarea"),At=(e,n)=>t("span",{...e,class:m("text-rotate",e.class)},t("span",{},n)),Rt=v("ul","timeline"),Lt=W("input","toggle","checkbox"),Bt=(e,n)=>t("div",{...e,class:m("tooltip",e.class),"data-tip":e.tip},n),Mt=e=>{let n=e.name||ge("acc");return H(e.items,s=>t("div",{class:m("collapse",e.class)},[t("input",{type:"radio",name:n,checked:s.open||void 0}),s.title?t("div",{class:m("collapse-title",`${s.classTitle??" font-semibold"}`)},s.title):null,s.content?t("div",{class:m("collapse-content text-sm",`${s.classContent??" font-semibold"}`)},s.content):null]))},Ot=({items:e,value:n,onselect:s,placeholder:o="...",...a})=>{let c=S(k(n)||""),l=S(()=>he(e,c())),i=r=>{let d=B(r),f=typeof r=="string"?r:r.value;c(d),y(n)&&n(f),s?.(r),G()};return Y({class:"w-80"},[t("div",{tabindex:"0",role:"button",class:"w-full"},Te({...a,placeholder:o,value:c,left:U({},"icon-[lucide--search]")})),Q({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},t("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[H(l,r=>t("li",{},[t("a",{onmousedown:d=>d.preventDefault(),onclick:()=>i(r)},B(r))]),"value"),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Ce=e=>{let n=S(new Date),s=S(null),o=S(0),a=S(0),c=new Date,l=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`,i=p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`,r=()=>k(e.range)===!0,d=()=>k(e.value),f=p=>{let b=i(p),E=d();if(r())if(!E?.start||E.start&&E.end)e.onChange?.({start:b,end:null,...e.hour&&{startHour:o()}});else{let R=E.start,D=b{let b=n();n(new Date(b.getFullYear(),b.getMonth()+p,1))},g=p=>{let b=n();n(new Date(b.getFullYear()+p,b.getMonth(),1))},x=({value:p,onChange:b})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:p,class:"range range-xs flex-1",oninput:E=>b(+E.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(k(p)).padStart(2,"0")+":00")])]);return t("div",{class:m("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",e.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:()=>g(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-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:()=>h(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>s(null)},[...["L","M","X","J","V","S","D"].map(p=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},p)),()=>{let p=n(),b=p.getFullYear(),E=p.getMonth(),R=new Date(b,E,1).getDay(),D=R===0?6:R-1,J=new Date(b,E+1,0).getDate(),u=[];for(let w=0;w{let L=d(),X=s(),Ee=typeof L=="string"?L.split("T")[0]===T:L?.start===T,De=L?.end===T,Z=!1;if(r()&&L?.start){let ee=L.start;!L.end&&X?Z=T>ee&&T<=X||T=X:L.end&&(Z=T>ee&&Tr()&&s(T),onclick:()=>f(_)},w.toString()))}return u}]),e.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},r()?t("div",{class:"flex gap-4"},[x({value:o,onChange:p=>o(p)}),x({value:a,onChange:p=>a(p)})]):x({value:o,onChange:p=>o(p)})):null])},Ht=e=>{let n=()=>k(e.value)||"#000000";return Y({},[ye({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),e.label&&t("span",{},e.label)]),Q({class:"p-0"},$e({value:e.value,onchange:s=>{y(e.value)?e.value(s):e.onchange?.(s)}}))])},$e=e=>{let n=()=>k(e.value)||"#000000",s=["#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=a=>{y(e.value)?e.value(a):e.onchange?.(a),G()};return t("div",{class:m("p-3 bg-base-100 rounded-box shadow w-64",e.class)},t("div",{class:"grid grid-cols-8 gap-1"},s.map(a=>t("button",{type:"button",style:`background-color: ${a}`,class:()=>`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()===a.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`,onclick:()=>{o(a)}}))))},jt=e=>{let n=S(""),s=()=>k(e.range)===!0;j(()=>{let a=k(e.value);if(!a)return n("");let c="";if(typeof a=="string")c=e.hour&&a.includes("T")?a.replace("T"," "):a;else if(a.start&&a.end){let l=e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start,i=e.hour&&a.endHour!=null?`${a.end} ${String(a.endHour).padStart(2,"0")}:00`:a.end;c=`${l} - ${i}`}else a.start&&(c=`${e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start}...`);n(c)});let o=a=>{y(e.value)?e.value(a):e.onChange?.(a),(!s()||a?.end!=null)&&G()};return Y({class:m("w-full",e.class)},[t("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[t("span",{class:"icon-[lucide--calendar] shrink-0"}),t("span",{class:()=>`grow text-left truncate ${n()?"":"opacity-50"}`},()=>n()||e.placeholder||(s()?"Seleccionar rango...":"Seleccionar fecha...")),()=>n()?t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:a=>{a.preventDefault(),a.stopPropagation(),y(e.value)?e.value(null):e.onChange?.(null),n("")}},t("span",{class:"icon-[lucide--x] opacity-50"})):null]),Q({class:"p-0"},Ce({value:e.value,range:s(),hour:e.hour,onChange:o}))])},Ft=e=>{let n=S([]),s=S(!1),o=S(null),a=(e.max||2)*1024*1024,c=i=>{let r=Array.from(i);if(o(null),r.some(f=>f.size>a)){o(`M\xE1x ${e.max||2}MB`);return}let d=[...n(),...r];n(d),y(e.onselect)?e.onselect(d):y(e.value)&&e.value(d)},l=i=>{let r=n().filter((d,f)=>f!==i);n(r),y(e.onselect)?e.onselect(r):y(e.value)&&e.value(r)};return t("div",{class:m("fieldset w-full p-0",e.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 ${s()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:i=>{i.preventDefault(),s(!0)},ondragleave:()=>s(!1),ondrop:i=>{i.preventDefault(),s(!1),c(i.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"},le("uploadFiles")),t("span",{class:"text-[10px] opacity-40 shrink-0"},`M\xE1x ${e.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:i=>c(i.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),fe(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},H(n,(i,r)=>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"},"\u{1F4C4}"),t("span",{class:"truncate font-medium max-w-[200px]"},i.name),t("span",{class:"text-[9px] opacity-40"},`(${(i.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:d=>{d.preventDefault(),l(r)}},t("span",{class:"icon-[lucide--x]"}))]))))])},Te=e=>{let{label:n,icon:s,float:o,placeholder:a,value:c,left:l,right:i,rule:r,hint:d,content:f,...h}=e,g=S(!1),x=e.type==="password",p=r??null,b=()=>x?k(g)?"text":"password":e.type||"search";return t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:p,class:()=>m("input validator",e.class)},[n&&!o?t("span",{class:"label"},n):null,l??null,t("input",{...h,type:b,class:"grow",pattern:p,placeholder:a||n||" ",value:c}),i??null,x?we({class:"ml-2"},[ke({value:g,class:"swap-rotate"}),Se({},U({},"icon-[lucide--eye]")),_e({},U({},"icon-[lucide--eye-off]"))]):null]),d?t("div",{class:"validator-hint"},d):null])},zt=e=>{if(e.children!==void 0)return t("ul",{class:m("menu",e.class),...e},e.children);let{items:n}=e,s=o=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},B(o)),t("ul",{},H(()=>k(o.children)||[],s))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?a=>{o.href||a.preventDefault(),o.onclick(a)}:null},B(o)));return t("ul",{class:m("menu",e.class)},H(()=>k(n)||[],s))},Pt=e=>{let n=null;j(()=>{let o=k(e.open);n&&(o?n.showModal():n.hide())});let s=()=>y(e.open)&&e.open(!1);return t("dialog",{...e,ref:o=>n=o,class:m("modal",e.class),onclose:s,oncancel:s},[t("div",{class:"modal-box"},[e.title&&t("h3",{class:"text-lg font-bold"},e.title),e.children,t("div",{class:"modal-action"},[e.actions||ve({class:"btn",onclick:s},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},It=(e,n)=>{if(n!==void 0)return t("select",{class:m("select",e.class),...e},n);let{label:s,float:o,placeholder:a,placeholderDisabled:c=!0,value:l,left:i,right:r,hint:d,items:f,keyFn:h,...g}=e,x=()=>{let p=k(f)||[];return[...a?[{disabled:c,label:a,value:""}]:[],...p]};return t("label",{class:o?"floating-label":""},[o?t("span",{},s):null,t("label",{class:m("select",g.class)},[!o&&s?t("span",{class:"label"},s):null,i??null,t("select",{value:()=>k(l),onchange:p=>y(l)?l(p.target.value):g.onchange?.(p)},H(x,p=>{let b=B(p,p.value!==void 0?"value":void 0),E=B(p,"label");return t("option",{value:b,disabled:p.disabled||void 0},E)})),r??null]),d?t("div",{class:"validator-hint"},d):null])},Ut=e=>t("div",{...e,class:m("stat",e.class)},[e.title?t("div",{class:"stat-title"},e.title):null,e.value?t("div",{class:"stat-value"},e.value):null,e.desc?t("div",{class:"stat-desc"},e.desc):null]),qt=({items:e,columns:n=[],header:s=!0})=>{let o=s!==!1&&n.some(c=>c.label)?t("thead",{},t("tr",{},n.map(c=>t("th",{class:c.class},c.label)))):null,a=t("tbody",{},()=>(k(e)||[]).map((l,i)=>t("tr",{},n.map(r=>{let d=r.render?r.render(l,i):l[r.key];return t("td",{class:r.class},d)}))));return[o,a].filter(Boolean)},Kt=(e,n)=>{if(!e.items){let{class:d,...f}=e;return t("div",{...f,class:m("tabs",d)},n)}let{items:s,activeIndex:o,onClose:a,class:c,...l}=e,i=d=>y(d)?d():d,r=a||(y(s)?(d,f)=>{let g=k(s).filter((x,p)=>p!==d);s(g),o()>=g.length&&o(Math.max(0,g.length-1))}:null);return t("div",{...l,class:m("tabs",c)},()=>(k(s)||[]).flatMap((f,h)=>{let g=()=>o()===h,x=t("button",{class:()=>`tab ${g()?"tab-active":""} ${f.class||""}`,onclick:b=>{b.preventDefault(),o(h),f.onclick?.(b)}},[B(f),f.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:b=>{b.stopPropagation(),r?.(h,f)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),p=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${g()?"block":"none"};`},y(f.content)?f.content():f.content);return[x,p]}))},Vt=(e,n="alert-success",s=3500)=>{let o=document.getElementById("sigpro-toast-container");o||(o=t("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(o));let a=t("div",{style:"display: contents"});o.appendChild(a);let c,l,i,d=be(()=>{let f=S(!1),h=S(!1);c=()=>{h()||(clearTimeout(l),clearTimeout(i),h(!0),setTimeout(()=>{d.destroy(),a.remove(),o.hasChildNodes()||o.remove()},300))},i=setTimeout(()=>f(!0),0);let g=typeof e=="function"?k(e):e,x=typeof g=="string"?t("span",{},g):g;return t("div",{class:()=>{let p=`alert alert-soft ${n} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;return h()?`${p} translate-x-full opacity-0`:f()?`${p} translate-x-0 opacity-100`:`${p} translate-x-10 opacity-0`}},[x,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:c},t("span",{class:"icon-[lucide--x]"}))])},a);return s>0&&(l=setTimeout(c,s)),c};var ie={};te(ie,{Editor:()=>Gt});var Gt=e=>{let{value:n,class:s}=e,o=null,a=null,c=S(!1),l=S(""),i=S(0),r=S(0),d=S(!1),f=["\u{1F600}","\u{1F60A}","\u{1F609}","\u{1F9D0}","\u{1F62E}","\u{1F914}","\u{1F605}","\u{1F602}","\u{1F60D}","\u{1F618}","\u{1F970}","\u{1F44D}","\u{1F44E}","\u{1F44C}","\u{1F91D}","\u{1F91E}","\u{1F44B}","\u{1F44F}","\u{1F64C}","\u{1F64F}","\u{1F4AA}","\u261D\uFE0F","\u{1F447}","\u{1F448}","\u{1F449}","\u{1F595}","\u2705","\u26A0\uFE0F","\u{1F680}","\u{1F4E2}","\u2709\uFE0F","\u2764\uFE0F"],h=()=>{let u=window.getSelection();u.getRangeAt&&u.rangeCount&&(a=u.getRangeAt(0))},g=()=>{if(a){let u=window.getSelection();u.removeAllRanges(),u.addRange(a)}},x=()=>{r(r()+1),o&&i(o.innerText.length)},p=()=>{if(!o)return;let u=o.innerHTML;y(n)?n(u):e.onchange?.(u),x()},b=(u,w=null)=>{o&&(o.focus(),a&&g(),document.execCommand(u,!1,w),a=null,p())},E=u=>{let w=document.createElement("div");w.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let _=document.createElement("img");_.src=u,_.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",w.onclick=()=>document.body.removeChild(w),w.appendChild(_),document.body.appendChild(w)},R=u=>{if(!u)return;let w=new FileReader;w.onload=_=>{if(u.type.startsWith("image/")){let T=` `;b("insertHTML",T)}else{let T=`${u.name} `;b("insertHTML",T)}},w.readAsDataURL(u)},D=(u,w=null)=>{if(r(),!o||c())return!1;try{if(u==="formatBlock"){let _=window.getSelection().getRangeAt(0).commonAncestorContainer;for(;_&&_!==o;){if(_.nodeType===1&&_.tagName===w)return!0;_=_.parentNode}return!1}return document.queryCommandState(u)}catch{return!1}},J=t("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[t("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("bold")?"btn-active bg-primary/20":""}`,onclick:()=>b("bold")},t("span",{class:"icon-[lucide--bold]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("italic")?"btn-active bg-primary/20":""}`,onclick:()=>b("italic")},t("span",{class:"icon-[lucide--italic]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("underline")?"btn-active bg-primary/20":""}`,onclick:()=>b("underline")},t("span",{class:"icon-[lucide--underline]"})),t("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:u=>b("foreColor",u.target.value)}),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyLeft")},t("span",{class:"icon-[lucide--align-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyCenter")},t("span",{class:"icon-[lucide--align-center]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyRight")},t("span",{class:"icon-[lucide--align-right]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertUnorderedList")},t("span",{class:"icon-[lucide--list]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertOrderedList")},t("span",{class:"icon-[lucide--list-ordered]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("outdent")},t("span",{class:"icon-[lucide--indent-decrease]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("indent")},t("span",{class:"icon-[lucide--indent-increase]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${D("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>b("formatBlock",D("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},t("span",{class:"icon-[lucide--quote]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=window.prompt("URL:");u&&b("createLink",u)}},t("span",{class:"icon-[lucide--link]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=document.createElement("input");u.type="file",u.onchange=w=>R(w.target.files[0]),u.click()}},t("span",{class:"icon-[lucide--paperclip]"})),t("div",{class:"relative"},[t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:u=>{u.stopPropagation(),h(),d(!d())}},t("span",{class:"icon-[lucide--smile]"})),t("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},f.map(u=>t("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:w=>{w.stopPropagation(),b("insertText",u),d(!1)}},u)))]),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("undo")},t("span",{class:"icon-[lucide--undo-2]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("redo")},t("span",{class:"icon-[lucide--redo-2]"}))]),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${c()?"btn-active":""}`,onclick:()=>{c()?o&&(o.innerHTML=l(),p()):l(o?.innerHTML||""),c(!c())}},t("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let u=document.createElement("style");u.id="editor-styles",u.textContent=`
+var spui=(()=>{var Ee=Object.defineProperty;var ce=(e,n)=>{for(var s in n)Ee(e,s,{get:n[s],enumerable:!0})};var ae={};ce(ae,{Accordion:()=>Lt,Alert:()=>je,Autocomplete:()=>Bt,Avatar:()=>Fe,AvatarGroup:()=>ze,Badge:()=>Pe,Breadcrumbs:()=>Ie,Button:()=>xe,Calendar:()=>Se,Card:()=>Ue,CardActions:()=>Ve,CardBody:()=>Ke,CardTitle:()=>qe,Carousel:()=>Ge,CarouselItem:()=>We,Chat:()=>Ye,ChatBubble:()=>Qe,ChatFooter:()=>Je,ChatHeader:()=>Xe,ChatImage:()=>Ze,Checkbox:()=>et,ColorPalette:()=>_e,Colorpicker:()=>Mt,Datepicker:()=>Ot,Divider:()=>lt,Drawer:()=>tt,DrawerContent:()=>st,DrawerOverlay:()=>at,DrawerSide:()=>ot,DrawerToggle:()=>nt,Dropdown:()=>W,DropdownButton:()=>me,DropdownContent:()=>Y,Fab:()=>ct,Fieldset:()=>rt,Fileinput:()=>Ht,Icon:()=>I,Indicator:()=>it,Input:()=>Ce,Kbd:()=>dt,List:()=>ut,ListRows:()=>pt,Loading:()=>ft,Menu:()=>jt,Modal:()=>Ft,Navbar:()=>bt,Progress:()=>ht,Radial:()=>gt,Radio:()=>xt,Range:()=>mt,Rating:()=>vt,RatingItems:()=>yt,Select:()=>zt,Skeleton:()=>wt,SkeletonText:()=>kt,Stack:()=>St,Stat:()=>Pt,Stats:()=>_t,Step:()=>Tt,Steps:()=>Ct,Swap:()=>ve,SwapOff:()=>ke,SwapOn:()=>we,SwapToggle:()=>ye,Table:()=>$t,TableItems:()=>It,Tabs:()=>Ut,Textarea:()=>Et,Textrotate:()=>Dt,Timeline:()=>Nt,Toast:()=>qt,Toggle:()=>At,Tooltip:()=>Rt,cls:()=>m,filterBy:()=>fe,getBy:()=>L,hide:()=>V,lang:()=>oe,rand:()=>be,setLocale:()=>He,t:()=>ge,val:()=>k});var y=e=>typeof e=="function",re=e=>e&&typeof e=="object",B=Array.isArray,N=typeof document<"u"?document:null,ie=e=>e?._isRuntime?e.container:e instanceof Node?e:N.createTextNode(e==null?"":String(e)),C=null,D=null,q=!1,De=0,ne=new Set;var ee=new WeakMap,Ne="http://www.w3.org/2000/svg",de="http://www.w3.org/1999/xlink",Ae=new Set("svg,path,circle,rect,line,polyline,polygon,g,defs,text,textPath,tspan,use,symbol,image,marker,ellipse".split(",")),M=e=>{if(!e||e._disposed)return;e._disposed=!0;let n=[e];for(;n.length;){let s=n.pop();s._cleanups&&(s._cleanups.forEach(o=>o()),s._cleanups.clear()),s._children&&(s._children.forEach(o=>n.push(o)),s._children.clear()),s._deps&&(s._deps.forEach(o=>o.delete(s)),s._deps.clear())}},F=e=>{D&&(D._cleanups||=new Set).add(e)},Re=e=>{let n=C;C=null;try{return e()}finally{C=n}},z=(e,n=!1)=>{let s=()=>{if(s._disposed)return;s._deps&&s._deps.forEach(c=>c.delete(s)),s._cleanups&&(s._cleanups.forEach(c=>c()),s._cleanups.clear());let o=C,a=D;C=D=s;try{return s._result=e()}catch(c){console.error("[SigPro]",c)}finally{C=o,D=a}};return s._deps=s._cleanups=s._children=null,s._disposed=!1,s._isComputed=n,s._depth=C?C._depth+1:0,s._mounts=[],s._parent=D,D&&(D._children||=new Set).add(s),s},Le=()=>{if(q)return;q=!0;let e=Array.from(ne).sort((n,s)=>n._depth-s._depth);ne.clear();for(let n of e)n._disposed||n();q=!1};var j=(e,n=!1)=>{if(!n&&C&&!C._disposed)e.add(C),(C._deps||=new Set).add(e);else if(n&&e.size>0){let s=!1;for(let o of e)o===C||o._disposed||(o._isComputed?(o._dirty=!0,o._subs&&j(o._subs,!0)):(ne.add(o),s=!0));s&&!q&&De===0&&queueMicrotask(Le)}},S=(e,n=null)=>{let s=new Set;if(y(e)){let o,a=()=>{if(a._dirty){let c=C;C=a;try{let l=e();Object.is(o,l)||(o=l,j(s,!0))}finally{C=c}a._dirty=!1}return j(s),o};return a._isComputed=!0,a._subs=s,a._dirty=!0,a._deps=null,a._disposed=!1,a}if(n)try{e=JSON.parse(localStorage.getItem(n))??e}catch{}return(...o)=>{if(o.length){let a=y(o[0])?o[0](e):o[0];Object.is(e,a)||(e=a,n&&localStorage.setItem(n,JSON.stringify(e)),j(s,!0))}return j(s),e}};var H=(e,n)=>{if(n===void 0){let o=z(e);return o(),()=>M(o)}let s=z(()=>{let o=B(e)?e.map(a=>a()):e();Re(()=>n(o))});return s(),()=>M(s)},se=e=>{e&&(e._cleanups&&(e._cleanups.forEach(n=>n()),e._cleanups.clear()),e._ownerEffect&&M(e._ownerEffect),e.childNodes&&e.childNodes.forEach(n=>se(n)))},Be=/^\s*(javascript|data|vbscript):/i,Me=new Set(["src","href","formaction","action","background","code","archive"]),Oe=e=>Me.has(e)||e.startsWith("on"),te=(e,n)=>{if(n==null||n===!1)return null;if(Oe(e)){let s=String(n);if(Be.test(s))return"#"}return n},t=(e,n={},s=[])=>{if((n instanceof Node||B(n)||!re(n))&&(s=n,n={}),y(e)){let l=z(()=>{let f=e(n,{children:s,emit:(h,...g)=>n[`on${h[0].toUpperCase()}${h.slice(1)}`]?.(...g)});return l._result=f,f});l();let i=l._result;if(i==null)return null;let r=i instanceof Node||B(i)&&i.every(f=>f instanceof Node)?i:N.createTextNode(String(i)),d=f=>{re(f)&&!f._isRuntime&&(f._mounts=l._mounts||[],f._cleanups=l._cleanups||new Set,f._ownerEffect=l)};return B(r)?r.forEach(d):d(r),r}let o=Ae.has(e),a=o?N.createElementNS(Ne,e):N.createElement(e);a._cleanups=new Set;for(let l of Object.keys(n)){let i=n[l];if(l==="ref"){y(i)?i(a):i.current=a;continue}if(o&&l.startsWith("xlink:")){let r=te(l.slice(6),i);r==null?a.removeAttributeNS(de,l.slice(6)):a.setAttributeNS(de,l.slice(6),r);continue}if(l.startsWith("on")){let r=l.slice(2).toLowerCase();a.addEventListener(r,i);let d=()=>a.removeEventListener(r,i);a._cleanups.add(d),F(d)}else if(y(i)){let r=z(()=>{let d=te(l,i());l==="class"?a.className=d||"":d==null?a.removeAttribute(l):l==="style"&&typeof d=="string"?a.setAttribute("style",d):l in a&&!o?a[l]=d:a.setAttribute(l,d===!0?"":d)});if(r(),a._cleanups.add(()=>M(r)),F(()=>M(r)),/^(INPUT|TEXTAREA|SELECT)$/.test(a.tagName)&&(l==="value"||l==="checked")){let d=l==="checked"?"change":"input";a.addEventListener(d,f=>i(f.target[l]))}}else{let r=te(l,i);r!=null&&(l==="style"&&typeof r=="string"?a.setAttribute("style",r):l in a&&!o?a[l]=r:a.setAttribute(l,r===!0?"":r))}}let c=l=>{if(B(l))return l.forEach(c);if(y(l)){let i=N.createTextNode("");a.appendChild(i);let r=[],d=z(()=>{let f=l(),h=(B(f)?f:[f]).map(ie);r.forEach(x=>{x._isRuntime?x.destroy():se(x),x.parentNode&&x.remove()});let g=i;for(let x=h.length-1;x>=0;x--){let p=h[x];p.parentNode!==g.parentNode&&g.parentNode?.insertBefore(p,g),p._mounts&&p._mounts.forEach(b=>b()),g=p}r=h});d(),a._cleanups.add(()=>M(d)),F(()=>M(d))}else{let i=ie(l);a.appendChild(i),i._mounts&&i._mounts.forEach(r=>r())}};return c(s),a},K=e=>{let n=new Set,s=D,o=C,a=N.createElement("div");a.style.display="contents",a.setAttribute("role","presentation"),D={_cleanups:n},C=null;let c=l=>{l&&(l._isRuntime?(n.add(l.destroy),a.appendChild(l.container)):B(l)?l.forEach(c):a.appendChild(l instanceof Node?l:N.createTextNode(String(l??""))))};try{c(e({onCleanup:l=>n.add(l)}))}finally{D=s,C=o}return{_isRuntime:!0,container:a,destroy:()=>{n.forEach(l=>l()),se(a),a.remove()}}},ue=(e,n,s=null)=>{let o=N.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=null;return H(()=>!!(y(e)?e():e),l=>{c&&(c.destroy(),c=null);let i=l?n:s;i&&(c=K(()=>y(i)?i():i),a.insertBefore(c.container,o))}),F(()=>c?.destroy()),a},O=(e,n,s)=>{let o=N.createTextNode(""),a=t("div",{style:"display:contents"},[o]),c=new Map;return H(()=>(y(e)?e():e)||[],l=>{let i=new Map,r=[],d=l||[];for(let h=0;hn(g,h)),i.set(x,p),r.push(p)}c.forEach(h=>h.destroy());let f=o;for(let h=r.length-1;h>=0;h--){let x=r[h].container;x.nextSibling!==f&&a.insertBefore(x,f),f=x}c=i}),a},P=e=>{let n=()=>window.location.hash.slice(1)||"/",s=S(n()),o=()=>s(n());window.addEventListener("hashchange",o),F(()=>window.removeEventListener("hashchange",o));let a=t("div",{class:"router-hook"}),c=null;return H([s],()=>{let l=s(),i=e.find(r=>{let d=r.path.split("/").filter(Boolean),f=l.split("/").filter(Boolean);return d.length===f.length&&d.every((h,g)=>h[0]===":"||h===f[g])})||e.find(r=>r.path==="*");if(i){c?.destroy();let r={};i.path.split("/").filter(Boolean).forEach((d,f)=>{d[0]===":"&&(r[d.slice(1)]=l.split("/").filter(Boolean)[f])}),P.params(r),c=K(()=>y(i.component)?i.component(r):i.component),a.replaceChildren(c.container)}}),a};P.params=S({});P.to=e=>window.location.hash=e.replace(/^#?\/?/,"#/");P.back=()=>window.history.back();P.path=()=>window.location.hash.replace(/^#/,"")||"/";var pe=(e,n)=>{let s=typeof n=="string"?N.querySelector(n):n;if(!s)return;ee.has(s)&&ee.get(s).destroy();let o=K(y(e)?e:()=>e);return s.replaceChildren(o.container),ee.set(s,o),o};typeof window<"u"&&"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(e=>{window[e]=(n,s)=>t(e,n,s)});var k=e=>typeof e=="function"?e():e,L=(e,n="label")=>e&&typeof e=="object"?e[n]:e,m=(...e)=>e.filter(Boolean).join(" ").trim(),fe=(e,n,s="label")=>{let o=String(k(n)||"").toLowerCase(),a=(k(e)||[]).map(c=>typeof c=="object"?c:{label:c,value:c});return o?a.filter(c=>String(c[s]||"").toLowerCase().includes(o)):a},be=e=>`${e}-${Math.random().toString(36).slice(2,9)}`,V=()=>document.activeElement?.blur(),he=S("en"),oe={es:{uploadFiles:"Arrastrar y soltar o click para seleccionar..."},en:{uploadFiles:"Drag and drop or click to select"}},He=e=>{oe[e]&&he(e)},ge=e=>()=>oe[he()][e]||e,U=(e,n)=>s=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()}),v=(e,n)=>(s,o)=>t(e,{...s,class:`${n} ${s?.class||""}`.trim()},o),G=(e,n,s)=>o=>t(e,{type:s,...o,class:`${n} ${o?.class||""}`.trim()}),je=v("div","alert"),Fe=(e,n)=>t("div",{class:"avatar"},t("div",{class:e.class},n)),ze=v("div","avatar-group -space-x-6"),Pe=v("span","badge"),Ie=v("div","breadcrumbs"),xe=v("button","btn"),Ue=v("div","card"),qe=v("div","card-title"),Ke=v("div","card-body"),Ve=v("div","card-actions"),Ge=v("div","carousel"),We=v("div","carousel-item"),Ye=v("div","chat"),Qe=v("div","chat-bubble"),Je=v("div","chat-footer"),Xe=v("div","chat-header"),Ze=(e,n)=>t("div",{...e,class:m("chat-image avatar",e.class)},t("div",{class:"w-10 rounded-full"},typeof n=="string"?t("img",{src:n,alt:"avatar"}):n)),et=G("input","checkbox","checkbox"),tt=v("div","drawer"),nt=e=>input({...e,type:"checkbox",class:"drawer-toggle",checked:()=>k(e.checked),onchange:n=>y(e.checked)&&e.checked(n.target.checked)}),st=v("div","drawer-content"),ot=v("div","drawer-side"),at=e=>label({...e,for:e.for,class:m("drawer-overlay",e.class)}),lt=U("div","divider"),W=v("div","dropdown"),me=(e,n)=>t("div",{...e,tabindex:"0",role:"button",class:m("btn",e.class)},n),Y=(e,n)=>t("div",{...e,tabindex:"0",class:m("dropdown-content",e.class)},n),ct=(e,n)=>t("div",{class:"fab"},[t("div",{tabindex:"0",role:"button",class:m("btn",e.class)},I({},e.icon)),n]),rt=(e,n)=>t("fieldset",{class:m("fieldset",e.class)},[t("legend",{class:"fieldset-legend"},e.label),n]),I=(e,n)=>t("span",{...e,class:m(n,e.class)}),it=(e,n)=>t("div",{...e,class:m("indicator",e.class)},[e.value&&t("span",{class:m("indicator-item badge",e.class)},e.value),n]),dt=v("kbd","kbd"),ut=v("ul","list"),pt=e=>()=>(k(e.items)||[]).map((n,s)=>t("li",{class:m("list-row",e.class,n?.class)},typeof e.render=="function"?e.render(n,s):n)),ft=v("span","loading loading-spinner"),bt=v("div","navbar"),ht=U("progress","progress"),gt=(e,n)=>t("div",{class:m("radial-progress",e.class),style:`--value:${k(e.value)??0};`,role:"progressbar","aria-valuenow":e.value},n),xt=G("input","radio","radio"),mt=G("input","range","range"),vt=v("div","rating"),yt=e=>[...Array(e.count)].map((n,s)=>t("input",{class:m("mask",e.class),name:e.name,type:"radio",checked:()=>k(e.value)===s,onchange:()=>y(e.value)?e.value(s):e.onchange?.(s)})),wt=U("div","skeleton"),kt=U("span","skeleton skeleton-text"),St=v("div","stack"),_t=v("div","stats shadow"),Ct=v("ul","steps"),Tt=(e,n)=>t("li",{...e,class:m("step",e.class),"data-content":e.dataContent},n),ve=v("label","swap"),ye=e=>t("input",{type:"checkbox",checked:()=>k(e.value),onchange:n=>y(e.value)&&e.value(n.target.checked),class:e.class}),we=v("div","swap-on"),ke=v("div","swap-off"),$t=v("table","table"),Et=U("textarea","textarea"),Dt=(e,n)=>t("span",{...e,class:m("text-rotate",e.class)},t("span",{},n)),Nt=v("ul","timeline"),At=G("input","toggle","checkbox"),Rt=(e,n)=>t("div",{...e,class:m("tooltip",e.class),"data-tip":e.tip},n),Lt=e=>{let n=e.name||be("acc");return O(e.items,s=>t("div",{class:m("collapse",e.class)},[t("input",{type:"radio",name:n,checked:s.open||void 0}),s.title?t("div",{class:m("collapse-title",`${s.classTitle??" font-semibold"}`)},s.title):null,s.content?t("div",{class:m("collapse-content text-sm",`${s.classContent??" font-semibold"}`)},s.content):null]))},Bt=({items:e,value:n,onselect:s,placeholder:o="...",...a})=>{let c=S(k(n)||""),l=S(()=>fe(e,c())),i=r=>{let d=L(r),f=typeof r=="string"?r:r.value;c(d),y(n)&&n(f),s?.(r),V()};return W({class:"w-80"},[t("div",{tabindex:"0",role:"button",class:"w-full"},Ce({...a,placeholder:o,value:c,left:I({},"icon-[lucide--search]")})),Y({class:"p-2 bg-base-100 rounded-box shadow-xl w-full max-h-60 overflow-y-auto border border-base-300 z-50"},t("ul",{class:"menu flex-col flex-nowrap w-full p-0"},[O(l,r=>t("li",{},[t("a",{onmousedown:d=>d.preventDefault(),onclick:()=>i(r)},L(r))]),"value"),()=>l().length===0?t("li",{class:"p-4 opacity-50 text-center"},"Sin resultados"):null]))])},Se=e=>{let n=S(new Date),s=S(null),o=S(0),a=S(0),c=new Date,l=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`,i=p=>`${p.getFullYear()}-${String(p.getMonth()+1).padStart(2,"0")}-${String(p.getDate()).padStart(2,"0")}`,r=()=>k(e.range)===!0,d=()=>k(e.value),f=p=>{let b=i(p),$=d();if(r())if(!$?.start||$.start&&$.end)e.onChange?.({start:b,end:null,...e.hour&&{startHour:o()}});else{let A=$.start,E=b{let b=n();n(new Date(b.getFullYear(),b.getMonth()+p,1))},g=p=>{let b=n();n(new Date(b.getFullYear()+p,b.getMonth(),1))},x=({value:p,onChange:b})=>t("div",{class:"flex-1"},[t("div",{class:"flex gap-2 items-center"},[t("input",{type:"range",min:0,max:23,value:p,class:"range range-xs flex-1",oninput:$=>b(+$.target.value)}),t("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(k(p)).padStart(2,"0")+":00")])]);return t("div",{class:m("p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box w-80 select-none",e.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:()=>g(-1)},t("span",{class:"icon-[lucide--chevrons-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>h(-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:()=>h(1)},t("span",{class:"icon-[lucide--chevron-right]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>g(1)},t("span",{class:"icon-[lucide--chevrons-right]"}))])]),t("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>s(null)},[...["L","M","X","J","V","S","D"].map(p=>t("div",{class:"text-[10px] opacity-40 font-bold text-center"},p)),()=>{let p=n(),b=p.getFullYear(),$=p.getMonth(),A=new Date(b,$,1).getDay(),E=A===0?6:A-1,Q=new Date(b,$+1,0).getDate(),u=[];for(let w=0;w{let R=d(),J=s(),Te=typeof R=="string"?R.split("T")[0]===T:R?.start===T,$e=R?.end===T,X=!1;if(r()&&R?.start){let Z=R.start;!R.end&&J?X=T>Z&&T<=J||T=J:R.end&&(X=T>Z&&Tr()&&s(T),onclick:()=>f(_)},w.toString()))}return u}]),e.hour?t("div",{class:"mt-3 pt-2 border-t border-base-300"},r()?t("div",{class:"flex gap-4"},[x({value:o,onChange:p=>o(p)}),x({value:a,onChange:p=>a(p)})]):x({value:o,onChange:p=>o(p)})):null])},Mt=e=>{let n=()=>k(e.value)||"#000000";return W({},[me({class:"btn"},[t("div",{class:"size-5 rounded-sm",style:()=>`background-color: ${n()}`}),e.label&&t("span",{},e.label)]),Y({class:"p-0"},_e({value:e.value,onchange:s=>{y(e.value)?e.value(s):e.onchange?.(s)}}))])},_e=e=>{let n=()=>k(e.value)||"#000000",s=["#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=a=>{y(e.value)?e.value(a):e.onchange?.(a),V()};return t("div",{class:m("p-3 bg-base-100 rounded-box shadow w-64",e.class)},t("div",{class:"grid grid-cols-8 gap-1"},s.map(a=>t("button",{type:"button",style:`background-color: ${a}`,class:()=>`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()===a.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`,onclick:()=>{o(a)}}))))},Ot=e=>{let n=S(""),s=()=>k(e.range)===!0;H(()=>{let a=k(e.value);if(!a)return n("");let c="";if(typeof a=="string")c=e.hour&&a.includes("T")?a.replace("T"," "):a;else if(a.start&&a.end){let l=e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start,i=e.hour&&a.endHour!=null?`${a.end} ${String(a.endHour).padStart(2,"0")}:00`:a.end;c=`${l} - ${i}`}else a.start&&(c=`${e.hour&&a.startHour!=null?`${a.start} ${String(a.startHour).padStart(2,"0")}:00`:a.start}...`);n(c)});let o=a=>{y(e.value)?e.value(a):e.onChange?.(a),(!s()||a?.end!=null)&&V()};return W({class:m("w-full",e.class)},[t("label",{tabindex:"0",role:"button",class:"input input-bordered flex items-center gap-2 cursor-pointer"},[t("span",{class:"icon-[lucide--calendar] shrink-0"}),t("span",{class:()=>`grow text-left truncate ${n()?"":"opacity-50"}`},()=>n()||e.placeholder||(s()?"Seleccionar rango...":"Seleccionar fecha...")),()=>n()?t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle -mr-2",onmousedown:a=>{a.preventDefault(),a.stopPropagation(),y(e.value)?e.value(null):e.onChange?.(null),n("")}},t("span",{class:"icon-[lucide--x] opacity-50"})):null]),Y({class:"p-0"},Se({value:e.value,range:s(),hour:e.hour,onChange:o}))])},Ht=e=>{let n=S([]),s=S(!1),o=S(null),a=(e.max||2)*1024*1024,c=i=>{let r=Array.from(i);if(o(null),r.some(f=>f.size>a)){o(`M\xE1x ${e.max||2}MB`);return}let d=[...n(),...r];n(d),y(e.onselect)?e.onselect(d):y(e.value)&&e.value(d)},l=i=>{let r=n().filter((d,f)=>f!==i);n(r),y(e.onselect)?e.onselect(r):y(e.value)&&e.value(r)};return t("div",{class:m("fieldset w-full p-0",e.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 ${s()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"}`,ondragover:i=>{i.preventDefault(),s(!0)},ondragleave:()=>s(!1),ondrop:i=>{i.preventDefault(),s(!1),c(i.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"},ge("uploadFiles")),t("span",{class:"text-[10px] opacity-40 shrink-0"},`M\xE1x ${e.max||2}MB`)]),t("input",{type:"file",multiple:!0,accept:e.accept||"*",class:"hidden",onchange:i=>c(i.target.files)})]),()=>o()&&t("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},o()),ue(()=>n().length>0,()=>t("ul",{class:"mt-2 space-y-1"},O(n,(i,r)=>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"},"\u{1F4C4}"),t("span",{class:"truncate font-medium max-w-[200px]"},i.name),t("span",{class:"text-[9px] opacity-40"},`(${(i.size/1024).toFixed(0)} KB)`)]),t("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:d=>{d.preventDefault(),l(r)}},t("span",{class:"icon-[lucide--x]"}))]))))])},Ce=e=>{let{label:n,icon:s,float:o,placeholder:a,value:c,left:l,right:i,rule:r,hint:d,content:f,...h}=e,g=S(!1),x=e.type==="password",p=r??null,b=()=>x?k(g)?"text":"password":e.type||"search";return t("label",{class:o?"floating-label":""},[o?t("span",{},n):null,t("label",{pattern:p,class:()=>m("input validator",e.class)},[n&&!o?t("span",{class:"label"},n):null,l??null,t("input",{...h,type:b,class:"grow",pattern:p,placeholder:a||n||" ",value:c}),i??null,x?ve({class:"ml-2"},[ye({value:g,class:"swap-rotate"}),we({},I({},"icon-[lucide--eye]")),ke({},I({},"icon-[lucide--eye-off]"))]):null]),d?t("div",{class:"validator-hint"},d):null])},jt=e=>{if(e.children!==void 0)return t("ul",{class:m("menu",e.class),...e},e.children);let{items:n}=e,s=o=>o.children?t("li",{},t("details",{open:o.open||void 0},[t("summary",{},L(o)),t("ul",{},O(()=>k(o.children)||[],s))])):t("li",{},t("a",{href:o.href,onclick:o.onclick?a=>{o.href||a.preventDefault(),o.onclick(a)}:null},L(o)));return t("ul",{class:m("menu",e.class)},O(()=>k(n)||[],s))},Ft=e=>{let n=null;H(()=>{let o=k(e.open);n&&(o?n.showModal():n.hide())});let s=()=>y(e.open)&&e.open(!1);return t("dialog",{...e,ref:o=>n=o,class:m("modal",e.class),onclose:s,oncancel:s},[t("div",{class:"modal-box"},[e.title&&t("h3",{class:"text-lg font-bold"},e.title),e.children,t("div",{class:"modal-action"},[e.actions||xe({class:"btn",onclick:s},"Cerrar")])]),t("form",{method:"dialog",class:"modal-backdrop"},[t("button",{},"close")])])},zt=(e,n)=>{if(n!==void 0)return t("select",{class:m("select",e.class),...e},n);let{label:s,float:o,placeholder:a,placeholderDisabled:c=!0,value:l,left:i,right:r,hint:d,items:f,keyFn:h,...g}=e,x=()=>{let p=k(f)||[];return[...a?[{disabled:c,label:a,value:""}]:[],...p]};return t("label",{class:o?"floating-label":""},[o?t("span",{},s):null,t("label",{class:m("select",g.class)},[!o&&s?t("span",{class:"label"},s):null,i??null,t("select",{value:()=>k(l),onchange:p=>y(l)?l(p.target.value):g.onchange?.(p)},O(x,p=>{let b=L(p,p.value!==void 0?"value":void 0),$=L(p,"label");return t("option",{value:b,disabled:p.disabled||void 0},$)})),r??null]),d?t("div",{class:"validator-hint"},d):null])},Pt=e=>t("div",{...e,class:m("stat",e.class)},[e.title?t("div",{class:"stat-title"},e.title):null,e.value?t("div",{class:"stat-value"},e.value):null,e.desc?t("div",{class:"stat-desc"},e.desc):null]),It=({items:e,columns:n=[],header:s=!0})=>{let o=s!==!1&&n.some(c=>c.label)?t("thead",{},t("tr",{},n.map(c=>t("th",{class:c.class},c.label)))):null,a=t("tbody",{},()=>(k(e)||[]).map((l,i)=>t("tr",{},n.map(r=>{let d=r.render?r.render(l,i):l[r.key];return t("td",{class:r.class},d)}))));return[o,a].filter(Boolean)},Ut=(e,n)=>{if(!e.items){let{class:d,...f}=e;return t("div",{...f,class:m("tabs",d)},n)}let{items:s,activeIndex:o,onClose:a,class:c,...l}=e,i=d=>y(d)?d():d,r=a||(y(s)?(d,f)=>{let g=k(s).filter((x,p)=>p!==d);s(g),o()>=g.length&&o(Math.max(0,g.length-1))}:null);return t("div",{...l,class:m("tabs",c)},()=>(k(s)||[]).flatMap((f,h)=>{let g=()=>o()===h,x=t("button",{class:()=>`tab ${g()?"tab-active":""} ${f.class||""}`,onclick:b=>{b.preventDefault(),o(h),f.onclick?.(b)}},[L(f),f.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:b=>{b.stopPropagation(),r?.(h,f)}},t("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),p=t("div",{class:"tab-content bg-base-100 border-base-300 p-6",style:()=>`display: ${g()?"block":"none"};`},y(f.content)?f.content():f.content);return[x,p]}))},qt=(e,n="alert-success",s=3500)=>{let o=document.getElementById("sigpro-toast-container");o||(o=t("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}),document.body.appendChild(o));let a=t("div",{style:"display: contents"});o.appendChild(a);let c,l,i,d=pe(()=>{let f=S(!1),h=S(!1);c=()=>{h()||(clearTimeout(l),clearTimeout(i),h(!0),setTimeout(()=>{d.destroy(),a.remove(),o.hasChildNodes()||o.remove()},300))},i=setTimeout(()=>f(!0),0);let g=typeof e=="function"?k(e):e,x=typeof g=="string"?t("span",{},g):g;return t("div",{class:()=>{let p=`alert alert-soft ${n} shadow-lg transition-all duration-300 inline-flex w-auto whitespace-nowrap pointer-events-auto`;return h()?`${p} translate-x-full opacity-0`:f()?`${p} translate-x-0 opacity-100`:`${p} translate-x-10 opacity-0`}},[x,t("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:c},t("span",{class:"icon-[lucide--x]"}))])},a);return s>0&&(l=setTimeout(c,s)),c};var le={};ce(le,{Editor:()=>Kt});var Kt=e=>{let{value:n,class:s}=e,o=null,a=null,c=S(!1),l=S(""),i=S(0),r=S(0),d=S(!1),f=["\u{1F600}","\u{1F60A}","\u{1F609}","\u{1F9D0}","\u{1F62E}","\u{1F914}","\u{1F605}","\u{1F602}","\u{1F60D}","\u{1F618}","\u{1F970}","\u{1F44D}","\u{1F44E}","\u{1F44C}","\u{1F91D}","\u{1F91E}","\u{1F44B}","\u{1F44F}","\u{1F64C}","\u{1F64F}","\u{1F4AA}","\u261D\uFE0F","\u{1F447}","\u{1F448}","\u{1F449}","\u{1F595}","\u2705","\u26A0\uFE0F","\u{1F680}","\u{1F4E2}","\u2709\uFE0F","\u2764\uFE0F"],h=()=>{let u=window.getSelection();u.getRangeAt&&u.rangeCount&&(a=u.getRangeAt(0))},g=()=>{if(a){let u=window.getSelection();u.removeAllRanges(),u.addRange(a)}},x=()=>{r(r()+1),o&&i(o.innerText.length)},p=()=>{if(!o)return;let u=o.innerHTML;y(n)?n(u):e.onchange?.(u),x()},b=(u,w=null)=>{o&&(o.focus(),a&&g(),document.execCommand(u,!1,w),a=null,p())},$=u=>{let w=document.createElement("div");w.style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out;";let _=document.createElement("img");_.src=u,_.style="max-width:95%;max-height:95%;box-shadow:0 0 30px rgba(0,0,0,0.5);border-radius:4px;",w.onclick=()=>document.body.removeChild(w),w.appendChild(_),document.body.appendChild(w)},A=u=>{if(!u)return;let w=new FileReader;w.onload=_=>{if(u.type.startsWith("image/")){let T=` `;b("insertHTML",T)}else{let T=`${u.name} `;b("insertHTML",T)}},w.readAsDataURL(u)},E=(u,w=null)=>{if(r(),!o||c())return!1;try{if(u==="formatBlock"){let _=window.getSelection().getRangeAt(0).commonAncestorContainer;for(;_&&_!==o;){if(_.nodeType===1&&_.tagName===w)return!0;_=_.parentNode}return!1}return document.queryCommandState(u)}catch{return!1}},Q=t("div",{class:"flex flex-wrap items-center gap-1 p-2 border-b border-base-300 bg-base-200 sticky top-0 z-20"},[t("div",{class:"flex flex-wrap gap-1 flex-1 items-center"},[t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("bold")?"btn-active bg-primary/20":""}`,onclick:()=>b("bold")},t("span",{class:"icon-[lucide--bold]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("italic")?"btn-active bg-primary/20":""}`,onclick:()=>b("italic")},t("span",{class:"icon-[lucide--italic]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("underline")?"btn-active bg-primary/20":""}`,onclick:()=>b("underline")},t("span",{class:"icon-[lucide--underline]"})),t("input",{type:"color",class:"w-5 h-5 p-0 border-0 bg-transparent cursor-pointer",oninput:u=>b("foreColor",u.target.value)}),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyLeft")},t("span",{class:"icon-[lucide--align-left]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyCenter")},t("span",{class:"icon-[lucide--align-center]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("justifyRight")},t("span",{class:"icon-[lucide--align-right]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertUnorderedList")},t("span",{class:"icon-[lucide--list]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("insertOrderedList")},t("span",{class:"icon-[lucide--list-ordered]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("outdent")},t("span",{class:"icon-[lucide--indent-decrease]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("indent")},t("span",{class:"icon-[lucide--indent-increase]"})),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${E("formatBlock","BLOCKQUOTE")?"btn-active":""}`,onclick:()=>b("formatBlock",E("formatBlock","BLOCKQUOTE")?"P":"BLOCKQUOTE")},t("span",{class:"icon-[lucide--quote]"})),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=window.prompt("URL:");u&&b("createLink",u)}},t("span",{class:"icon-[lucide--link]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>{let u=document.createElement("input");u.type="file",u.onchange=w=>A(w.target.files[0]),u.click()}},t("span",{class:"icon-[lucide--paperclip]"})),t("div",{class:"relative"},[t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:u=>{u.stopPropagation(),h(),d(!d())}},t("span",{class:"icon-[lucide--smile]"})),t("div",{class:"absolute top-full left-0 mt-1 p-2 bg-base-100 border border-base-300 shadow-xl rounded-box w-52 z-50 flex flex-wrap gap-1",style:()=>d()?"display:flex":"display:none"},f.map(u=>t("span",{class:"cursor-pointer hover:bg-base-200 p-1 rounded text-lg",onclick:w=>{w.stopPropagation(),b("insertText",u),d(!1)}},u)))]),t("span",{class:"w-px h-5 bg-base-300 mx-1"}),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("undo")},t("span",{class:"icon-[lucide--undo-2]"})),t("button",{type:"button",class:"btn btn-ghost btn-xs",onclick:()=>b("redo")},t("span",{class:"icon-[lucide--redo-2]"}))]),t("button",{type:"button",class:()=>`btn btn-ghost btn-xs ${c()?"btn-active":""}`,onclick:()=>{c()?o&&(o.innerHTML=l(),p()):l(o?.innerHTML||""),c(!c())}},t("span",{class:"icon-[lucide--code-2]"}))]);if(typeof document<"u"&&!document.getElementById("editor-styles")){let u=document.createElement("style");u.id="editor-styles",u.textContent=`
[contenteditable="true"] div,
[contenteditable="true"] p {
margin: 0;
padding: 0;
}
- `,document.head.appendChild(u)}return t("div",{class:m("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",s)},[J,t("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[t("div",{ref:u=>{!o&&u&&(o=u,u.innerHTML=k(n)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),u.addEventListener("click",w=>{let _=w.target.closest(".resizable-img-container");if(_){let T=_.querySelector("img");T&&E(T.src)}}))},style:()=>`min-height:22rem;${c()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:p,onkeydown:u=>{u.key==="Tab"&&(u.preventDefault(),b("indent"))},onkeyup:()=>{x(),h()},onclick:u=>{x(),h(),u.stopPropagation()},onmouseup:()=>{p(),h()},onpaste:u=>{u.preventDefault();let w=u.clipboardData.getData("text/plain");b("insertText",w)},ondragover:u=>u.preventDefault(),ondrop:u=>{u.preventDefault(),R(u.dataTransfer.files[0])}}),t("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>c()?"":"display:none",value:l,oninput:u=>{l(u.target.value),o&&(o.innerHTML=u.target.value),e.onchange?.(u.target.value)}})]),t("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[t("span",()=>`${i()}`)])])};typeof window<"u"&&Object.assign(window,re,ie,ce);})();
+ `,document.head.appendChild(u)}return t("div",{class:m("border border-base-300 rounded-box bg-base-100 overflow-hidden shadow-sm flex flex-col",s)},[Q,t("div",{class:"relative flex-1 flex flex-col",onclick:()=>d(!1)},[t("div",{ref:u=>{!o&&u&&(o=u,u.innerHTML=k(n)||"",document.execCommand("defaultParagraphSeparator",!1,"br"),u.addEventListener("click",w=>{let _=w.target.closest(".resizable-img-container");if(_){let T=_.querySelector("img");T&&$(T.src)}}))},style:()=>`min-height:22rem;${c()?"display:none":""}`,class:"p-4 outline-none text-base-content leading-relaxed [&>div]:m-0 [&>p]:m-0 [&>div]:min-h-[1em] [&_.resizable-img-container]:hover:border-primary [&_blockquote]:border-l-4 [&_blockquote]:border-base-300 [&_blockquote]:pl-4 [&_blockquote]:italic [&_ul]:list-disc [&_ul]:pl-8 [&_ol]:list-decimal [&_ol]:pl-8",contenteditable:"true",oninput:p,onkeydown:u=>{u.key==="Tab"&&(u.preventDefault(),b("indent"))},onkeyup:()=>{x(),h()},onclick:u=>{x(),h(),u.stopPropagation()},onmouseup:()=>{p(),h()},onpaste:u=>{u.preventDefault();let w=u.clipboardData.getData("text/plain");b("insertText",w)},ondragover:u=>u.preventDefault(),ondrop:u=>{u.preventDefault(),A(u.dataTransfer.files[0])}}),t("textarea",{class:"w-full flex-1 min-h-[22rem] p-4 outline-none font-mono text-sm bg-base-200 border-0",style:()=>c()?"":"display:none",value:l,oninput:u=>{l(u.target.value),o&&(o.innerHTML=u.target.value),e.onchange?.(u.target.value)}})]),t("div",{class:"px-3 py-1 border-t border-base-300 bg-base-100/50 text-[10px] text-right text-base-content/60 italic"},[t("span",()=>`${i()}`)])])};typeof window<"u"&&Object.assign(window,ae,le);})();
diff --git a/src/build_esm.js b/src/build_esm.js
index b1bad49..89d030a 100644
--- a/src/build_esm.js
+++ b/src/build_esm.js
@@ -1,2 +1 @@
-export * from './sigpro-ui.js';
-export * from './locale.js';
\ No newline at end of file
+export * from './sigpro-ui.js';
\ No newline at end of file
diff --git a/src/build_umd.js b/src/build_umd.js
index 79419f3..ab7ec93 100644
--- a/src/build_umd.js
+++ b/src/build_umd.js
@@ -1,7 +1,6 @@
import * as All from './sigpro-ui.js';
import * as Edt from './editor.js';
-import * as Loc from './locale.js';
if (typeof window !== "undefined") {
- Object.assign(window, All, Edt, Loc)
+ Object.assign(window, All, Edt)
}
\ No newline at end of file
diff --git a/src/editor.js b/src/editor.js
index b5921bd..4a86dbb 100644
--- a/src/editor.js
+++ b/src/editor.js
@@ -1,5 +1,5 @@
import { $, isFunc, h } from "./sigpro.js"
-import { val, cls } from "./helpers.js"
+import { val, cls } from "./sigpro-ui.js"
export const Editor = (p) => {
const { value, class: extraClass } = p
diff --git a/src/helpers.js b/src/helpers.js
deleted file mode 100644
index c864617..0000000
--- a/src/helpers.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// Helpers
-export const val = val => typeof val === "function" ? val() : val;
-export const getBy = (item, field = 'label') => (item && typeof item === 'object') ? item[field] : item;
-export const cls = (...classes) => classes.filter(Boolean).join(' ').trim();
-export const filterBy = (items, query, field = 'label') => {
- const q = String(val(query) || '').toLowerCase();
- const list = (val(items) || []).map(i => typeof i === 'object' ? i : { label: i, value: i });
- return !q ? list : list.filter(item => String(item[field] || '').toLowerCase().includes(q));
-};
-export const rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`
-export const hide = () => document.activeElement?.blur()
\ No newline at end of file
diff --git a/src/locale.js b/src/locale.js
deleted file mode 100644
index cb64c24..0000000
--- a/src/locale.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const currentLocale = $("en");
-const lang = {
- es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." },
- en: { uploadFiles: "Drag and drop or click to select" }
-};
-export const setLocale = (locale) => { if (lang[locale]) currentLocale(locale) }
-export const t = t => () => lang[currentLocale()][t] || t;
\ No newline at end of file
diff --git a/src/sigpro-ui.js b/src/sigpro-ui.js
index 5ad86e3..3ea4142 100644
--- a/src/sigpro-ui.js
+++ b/src/sigpro-ui.js
@@ -1,13 +1,24 @@
import { $, watch, h, mount, when, each, isFunc } from "./sigpro.js"
-import { val, getBy, cls, filterBy, rand, hide } from "./helpers.js"
-import { t } from "./locale.js"
-
-// CreateFunctions
+export const val = val => typeof val === "function" ? val() : val;
+export const getBy = (item, field = 'label') => (item && typeof item === 'object') ? item[field] : item;
+export const cls = (...classes) => classes.filter(Boolean).join(' ').trim();
+export const filterBy = (items, query, field = 'label') => {
+ const q = String(val(query) || '').toLowerCase();
+ const list = (val(items) || []).map(i => typeof i === 'object' ? i : { label: i, value: i });
+ return !q ? list : list.filter(item => String(item[field] || '').toLowerCase().includes(q));
+};
+export const rand = (r) => `${r}-${Math.random().toString(36).slice(2, 9)}`
+export const hide = () => document.activeElement?.blur()
+const currentLocale = $("en");
+export const lang = {
+ es: { uploadFiles: "Arrastrar y soltar o click para seleccionar..." },
+ en: { uploadFiles: "Drag and drop or click to select" }
+};
+export const setLocale = (locale) => { if (lang[locale]) currentLocale(locale) }
+export const t = t => () => lang[currentLocale()][t] || t;
const c1 = (tag, cls) => (p) => h(tag, { ...p, class: `${cls} ${p?.class || ''}`.trim() })
const c2 = (tag, cls) => (p, c) => h(tag, { ...p, class: `${cls} ${p?.class || ''}`.trim() }, c)
const ct = (tag, cls, type) => (p) => h(tag, { type, ...p, class: `${cls} ${p?.class || ''}`.trim() })
-
-// Components
export const Alert = c2("div", "alert")
export const Avatar = (p, c) => h("div", { class: "avatar" }, h('div', { class: p.class }, c))
export const AvatarGroup = c2("div", "avatar-group -space-x-6")
@@ -66,7 +77,6 @@ export const Textrotate = (p, c) => h('span', { ...p, class: cls('text-rotate',
export const Timeline = c2("ul", "timeline")
export const Toggle = ct("input", "toggle", "checkbox")
export const Tooltip = (p, c) => h("div", { ...p, class: cls("tooltip", p.class), "data-tip": p.tip }, c)
-
export const Accordion = (p) => {
const name = p.name || rand('acc')
return each(p.items, (it) => {
@@ -77,7 +87,6 @@ export const Accordion = (p) => {
]);
});
};
-
export const Autocomplete = ({ items, value, onselect, placeholder = '...', ...props }) => {
const query = $(val(value) || '')
const filtered = $(() => filterBy(items, query()))
@@ -99,7 +108,6 @@ export const Autocomplete = ({ items, value, onselect, placeholder = '...', ...p
)
])
};
-
export const Calendar = (p) => {
const internalDate = $(new Date())
const hoverDate = $(null)
@@ -190,7 +198,6 @@ export const Calendar = (p) => {
) : null
])
};
-
export const Colorpicker = (p) => {
const current = () => val(p.value) || '#000000'
return Dropdown({}, [
@@ -203,7 +210,6 @@ export const Colorpicker = (p) => {
)
])
};
-
export const ColorPalette = (p) => {
const current = () => val(p.value) || '#000000'
const palette = [
@@ -235,7 +241,6 @@ export const ColorPalette = (p) => {
}))
))
};
-
export const Datepicker = (p) => {
const displayValue = $("")
const rangeMode = () => val(p.range) === true
@@ -290,7 +295,6 @@ export const Datepicker = (p) => {
)
])
};
-
export const Fileinput = (p) => {
const files = $([])
const drag = $(false)
@@ -355,7 +359,6 @@ export const Fileinput = (p) => {
)
])
};
-
export const Input = (p) => {
const { label, icon, float, placeholder, value, left, right, rule, hint, content, ...rest } = p;
const showPassword = $(false);
@@ -379,7 +382,6 @@ export const Input = (p) => {
hint ? h('div', { class: "validator-hint" }, hint) : null,
]);
};
-
export const Menu = (p) => {
if (p.children !== undefined) return h('ul', { class: cls('menu', p.class), ...p }, p.children)
const { items } = p
@@ -396,7 +398,6 @@ export const Menu = (p) => {
each(() => val(items) || [], render)
)
};
-
export const Modal = (p) => {
let dialogRef = null;
watch(() => { const isOpen = val(p.open); if (!dialogRef) return; isOpen ? dialogRef.showModal() : dialogRef.hide(); });
@@ -414,8 +415,6 @@ export const Modal = (p) => {
])
]);
};
-
-
export const Select = (p, c) => {
if (c !== undefined) return h('select', { class: cls('select', p.class), ...p }, c)
const { label, float, placeholder, placeholderDisabled = true, value, left, right, hint, items, keyFn, ...rest } = p
@@ -444,13 +443,11 @@ export const Select = (p, c) => {
hint ? h('div', { class: 'validator-hint' }, hint) : null
])
};
-
export const Stat = (p) => h('div', { ...p, class: cls('stat', p.class) }, [
p.title ? h('div', { class: 'stat-title' }, p.title) : null,
p.value ? h('div', { class: 'stat-value' }, p.value) : null,
p.desc ? h('div', { class: 'stat-desc' }, p.desc) : null
]);
-
export const TableItems = ({ items, columns = [], header = true }) => {
const head = header !== false && columns.some(c => c.label) ? h('thead', {}, h('tr', {}, columns.map(c => h('th', { class: c.class }, c.label)))) : null
const body = h('tbody', {}, () => {
@@ -459,7 +456,6 @@ export const TableItems = ({ items, columns = [], header = true }) => {
})
return [head, body].filter(Boolean)
};
-
export const Tabs = (p, c) => {
if (!p.items) {
const { class: className, ...rest } = p
@@ -495,7 +491,6 @@ export const Tabs = (p, c) => {
})
})
};
-
export const Toast = (message, type = "alert-success", duration = 3500) => {
let container = document.getElementById("sigpro-toast-container");
if (!container) {