diff --git a/dist/sigpro.ui.js b/dist/sigpro.ui.js index 2e34e15..77152d8 100644 --- a/dist/sigpro.ui.js +++ b/dist/sigpro.ui.js @@ -1 +1 @@ -var{$:f,h:e,mount:L,val:$,isF:h,isO:T}=window.SigPro,H=()=>document.activeElement?.blur(),i={accordion:(s,a)=>e("div",{...s,class:`collapse ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked}),a]),accordionTitle:(s,a)=>e("div",{...s,class:`collapse-title ${s.class||""}`},a),accordionContent:(s,a)=>e("div",{...s,class:`collapse-content ${s.class||""}`},a),alert:(s,a)=>e("div",{...s,class:`alert ${s.class||""}`},a),autocomplete:(s)=>i.combo(s,({query:a,close:l,setValue:t})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let o=String($(a)).toLowerCase(),u=($(s.items)||[]).filter((c)=>(T(c)?c.label??c.value:String(c)).toLowerCase().includes(o));return u.length?u.map((c,r)=>e("li",{key:c.value??r},e("a",{onclick:(v)=>{v.preventDefault();let b=c?.value??c;if(t(T(c)?c.label??c.value:String(c)),h(s.value))s.value(b);else s.onChange?.(b);l()}},T(c)?c.label??c.value:c))):[e("li",{class:"disabled"},e("a",{},"Sin resultados"))]})),avatar:(s,a)=>e("div",{...s,class:`avatar ${s.class||""}`},e("div",{class:s.innerClass||""},a)),avatarGroup:(s,a)=>e("div",{...s,class:`avatar-group -space-x-6 ${s.class||""}`},a),badge:(s,a)=>e("span",{...s,class:`badge ${s.class||""}`},a),breadcrumbs:(s,a)=>e("div",{...s,class:`breadcrumbs ${s.class||""}`},a),button:(s,a)=>e("button",{...s,class:`btn ${s.class||""}`},a),card:(s,a)=>e("div",{...s,class:`card ${s.class||""}`},a),cardTitle:(s,a)=>e("div",{...s,class:`card-title ${s.class||""}`},a),cardBody:(s,a)=>e("div",{...s,class:`card-body ${s.class||""}`},a),cardActions:(s,a)=>e("div",{...s,class:`card-actions ${s.class||""}`},a),carousel:(s,a)=>e("div",{...s,class:`carousel ${s.class||""}`},a),carouselItem:(s,a)=>e("div",{...s,class:`carousel-item ${s.class||""}`},a),chat:(s,a)=>e("div",{...s,class:`chat ${s.class||""}`},a),chatImage:(s,a)=>e("div",{...s,class:`chat-image avatar ${s.class||""}`},a),chatHeader:(s,a)=>e("div",{...s,class:`chat-header ${s.class||""}`},a),chatBubble:(s,a)=>e("div",{...s,class:`chat-bubble ${s.class||""}`},a),chatFooter:(s,a)=>e("div",{...s,class:`chat-footer ${s.class||""}`},a),checkbox:(s)=>e("input",{...s,type:"checkbox",class:`checkbox ${s.class||""}`}),colorpicker:(s)=>i.combo({...s,custom:()=>e("span",{class:"w-4 h-4 rounded border border-base-300",style:`background:${$(s.value)||"#000"}`})},({close:a,setValue:l})=>B({...s,onchange:(t)=>{l(t),a()}})),combo:(s,a)=>{let{placeholder:l="",class:t=""}=s,o=h(s.value)?s.value:f(s.value??""),u,c=f(!1);return i.float({label:s.label},[e("div",{class:`dropdown w-full ${t} ${$(c)?"dropdown-open":""}`},[e("label",{class:"input w-full"},[e("span",{class:s.icon??"icon-[lucide--search]"}),s.custom??null,e("input",{type:"search",placeholder:l,tabindex:"0",value:o,onfocus:()=>c(!0),ref:(r)=>u=r})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 max-w-80 shadow-sm",onmousedown:(r)=>r.preventDefault()},()=>$(c)&&typeof a==="function"?a({query:o,open:c,close:()=>{c(!1),u?.blur()},setValue:(r)=>o(r)}):null)])])},datepicker:(s)=>{if(!(h(s.range)?s.range():s.range))return i.combo({value:(h(s.value)?s.value():s.value)||"",...s},({close:r,setValue:v})=>e("div",{class:"w-80"},F({...s,class:"w-full",onChange:(b)=>{if(v(b),r(),h(s.value))s.value(b)}})));let l=f(h(s.value)?s.value():s.value||{start:null,end:null}),t=f((l()||{}).start||""),o=f((l()||{}).end||""),u=()=>{if(l({start:t(),end:o()}),h(s.value))s.value(l())},c=(r,v,b,x)=>i.combo({value:v,placeholder:b,class:"flex-1",disabled:x},({close:C,setValue:y})=>e("div",{class:"w-72"},F({...s,class:"w-full",value:l,range:!0,onChange:(n)=>{if(l(n),t(n?.start||""),o(n?.end||""),y(n?.[r]||""),n?.end)C();if(h(s.value))s.value(n)}})));return e("div",{class:`flex gap-1 ${s.class||""}`,onchange:u},[c("start",t,s.fromPlaceholder||"Inicio"),c("end",o,s.toPlaceholder||"Fin",()=>!l()?.start)])},divider:(s)=>e("div",{...s,class:`divider ${s.class||""}`}),drawer:(s,a)=>e("div",{...s,class:`drawer ${s.class||""}`},a),drawerToggle:(s)=>e("input",{...s,type:"checkbox",class:`drawer-toggle ${s.class||""}`}),drawerContent:(s,a)=>e("div",{...s,class:`drawer-content ${s.class||""}`},a),drawerSide:(s,a)=>e("div",{...s,class:`drawer-side ${s.class||""}`},a),drawerOverlay:(s)=>e("label",{...s,class:`drawer-overlay ${s.class||""}`}),dropdown:(s,a)=>e("div",{...s,class:`dropdown ${s.class||""}`},a),dropdownButton:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),dropdownContent:(s,a)=>e("div",{...s,tabindex:"0",class:`dropdown-content ${s.class||""}`},a),fab:(s,a)=>e("div",{...s,class:`fab ${s.class||""}`},a),fabButton:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),fieldset:(s,a)=>e("fieldset",{class:`fieldset ${s.class||""}`},[e("legend",{class:"fieldset-legend"},s.label),a]),fileInput:(s)=>e("input",{...s,type:"file",class:`file-input ${s.class||""}`}),fileDrag:(s,a)=>e("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${s.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${s.class||""}`,ondragover:(l)=>{l.preventDefault(),s.ondrag?.(!0)},ondragleave:()=>s.ondrag?.(!1),ondrop:(l)=>{l.preventDefault(),s.ondrag?.(!1),s.ondrop?.(l.dataTransfer.files)}},a),filePreview:(s)=>e("ul",{class:`mt-2 space-y-1 ${s.class||""}`},(s.files||[]).map((a,l)=>e("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[e("div",{class:"flex items-center gap-2 truncate opacity-70"},[e("span",{},"\uD83D\uDCC4"),e("span",{class:"truncate max-w-[180px]"},a.name),e("span",{class:"text-[9px] opacity-50"},`(${~~(a.size/1024)}KB)`)]),e("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>s.onremove?.(l)},e("span",{class:"icon-[lucide--x]"}))]))),fileError:(s)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${s.class||""}`},s.message),float:(s,a)=>e("label",{class:"floating-label"},[e("span",{},s.label??null),a]),icon:(s)=>e("span",{class:s||""}),indicator:(s,a)=>e("div",{...s,class:`indicator ${s.class||""}`},[s.value&&e("span",{class:`indicator-item badge ${s.badgeClass||""}`},s.value),a]),input:(s)=>i.float({label:s.label},[e("label",{class:"input w-full"},[i.icon(s.icon??""),e("input",{...s,class:`w-full ${s.class||""}`}),s.right||null])]),kbd:(s,a)=>e("kbd",{...s,class:`kbd ${s.class||""}`},a),label:(s,a)=>e("span",{...s,class:`label ${s.class||""}`},a),loading:(s)=>e("span",{...s,class:`loading loading-spinner ${s.class||""}`}),menu:(s,a)=>e("ul",{...s,class:`menu ${s.class||""}`},a),menuItems:(s)=>(s.items||[]).map((a)=>{if(a.items)return e("li",{},[e("details",{open:a.open||!1},[e("summary",{},a.label),e("ul",{class:a.submenuClass||""},menuItems({items:a.items}))])]);return e("li",{},a.href?e("a",{href:a.href},a.label):a.label)}),modal:(s,a)=>e("dialog",{...s,class:`modal ${s.class||""}`},[a,e("form",{method:"dialog",class:"modal-backdrop"},e("button",{},"close"))]),modalBox:(s,a)=>e("div",{...s,class:`modal-box ${s.class||""}`},[e("form",{method:"dialog"},e("button",{class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"},"✕")),a]),modalAction:(s,a)=>e("div",{...s,class:`modal-action ${s.class||""}`},a),navbar:(s,a)=>e("div",{...s,class:`navbar ${s.class||""}`},a),option:(s,a)=>e("option",{...s},a),password:(s)=>{let a=f(!1),{right:l,...t}=s;return i.input({...t,type:()=>$(a)?"text":"password",icon:"icon-[lucide--lock]",right:i.swap({class:"swap swap-rotate"},[e("input",{type:"checkbox",checked:a}),i.swapOn({},i.icon("icon-[lucide--eye]")),i.swapOff({},i.icon("icon-[lucide--eye-off]"))])})},progress:(s)=>e("progress",{...s,class:`progress ${s.class||""}`}),radial:(s)=>e("div",{...s,class:`radial-progress ${s.class||""}`,style:`--value:${$(s.value)??0}`,role:"progressbar"},s.value??""),radio:(s)=>e("input",{...s,type:"radio",class:`radio ${s.class||""}`}),range:(s)=>e("input",{...s,type:"range",class:`range ${s.class||""}`}),rating:(s)=>e("div",{class:`rating ${s.class||""}`},[...Array(s.count||5)].map((a,l)=>e("input",{class:`mask ${s.mask||"mask-star"} ${s.itemClass||""}`,name:s.name,type:"radio",checked:()=>$(s.value)===(s.offset?l+s.offset:l),onclick:()=>h(s.value)?s.value(l):s.onChange?.(l)}))),search:(s)=>i.text({...s,type:"search",icon:s.icon??"icon-[lucide--search]"}),select:(s,a)=>e("select",{...s,class:`select ${s.class||""}`},a),stack:(s,a)=>e("div",{...s,class:`stack ${s.class||""}`},a),stat:(s,a)=>e("div",{...s,class:`stat ${s.class||""}`},a),statFigure:(s,a)=>e("div",{...s,class:`stat-figure ${s.class||""}`},a),statTitle:(s,a)=>e("div",{...s,class:`stat-title ${s.class||""}`},a),statValue:(s,a)=>e("div",{...s,class:`stat-value ${s.class||""}`},a),statDesc:(s,a)=>e("div",{...s,class:`stat-desc ${s.class||""}`},a),steps:(s,a)=>e("ul",{...s,class:`steps ${s.class||""}`},a),step:(s,a)=>e("li",{...s,class:`step ${s.class||""}`,"data-content":s.dataContent},a),swap:(s,a)=>e("label",{...s,class:`swap ${s.class||""}`},a),swapOn:(s,a)=>e("div",{...s,class:`swap-on ${s.class||""}`},a),swapOff:(s,a)=>e("div",{...s,class:`swap-off ${s.class||""}`},a),table:(s,a)=>e("table",{...s,class:`table ${s.class||""}`},a),tableHead:(s,a)=>e("thead",{...s,class:s.class||""},a),tableBody:(s,a)=>e("tbody",{...s,class:s.class||""},a),tableFoot:(s,a)=>e("tfoot",{...s,class:s.class||""},a),tableRow:(s,a)=>e("tr",{...s,class:s.class||""},a),tableTh:(s,a)=>e("th",{...s,class:s.class||""},a),tableTd:(s,a)=>e("td",{...s,class:s.class||""},a),tabs:(s,a)=>div({...s,class:`tabs ${s.class||""}`},a),tab:(s)=>{let a=()=>s.tabs?.(s.tabs().filter((l,t)=>t!==s.index));return[e("label",{class:`tab ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked||void 0}),s.label,s.closable?e("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:(l)=>{l.stopPropagation(),a()}},e("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),div({class:`tab-content ${s?.classContent||""}`},s.content)]},textarea:(s)=>e("textarea",{...s,class:`textarea ${s.class||""}`}),textrotate:(s,a)=>e("span",{...s,class:`text-rotate ${s.class||""}`},e("span",{},a)),theme:(s)=>i.toggle({value:s?.value||"spdark",class:"theme-controller"}),timeline:(s,a)=>e("ul",{...s,class:`timeline ${s.class||""}`},a),timelineStart:(s,a)=>e("div",{...s,class:`timeline-start ${s.class||""}`},a),timelineMiddle:(s,a)=>e("div",{...s,class:`timeline-middle ${s.class||""}`},a),timelineEnd:(s,a)=>e("div",{...s,class:`timeline-end ${s.class||""}`},a),toggle:(s)=>e("input",{...s,type:"checkbox",class:`toggle ${s.class||""}`}),tooltip:(s,a)=>e("div",{class:`tooltip ${s.class||""}`,"data-tip":s.tip},a),validator:(s,a)=>e("div",{...s,class:`validator-hint ${s.class||""}`},a)},F=(s)=>{let[a,l,t,o]=[f(new Date),f(0),f(0),f(0)],u=new Date,c=(n)=>n?`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`:"",r=(n)=>(n<10?"0":"")+n,v=(n,d=0)=>a(new Date(a().getFullYear()+d,a().getMonth()+n,1)),b=()=>typeof s.value=="function"?s.value():s.value,x=()=>typeof s.range=="function"?s.range():s.range,C=(n)=>{let d=c(n),g=b();if(!x())return s.onChange?.(s.hour?`${d}T${r(t())}:00:00`:d);if(!g?.start||g.end)return s.onChange?.({start:d,end:null,...s.hour&&{startHour:t()}});let k=de("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:n,class:"range range-xs",oninput:(g)=>d(+g.target.value)}),e("span",{class:"text-sm font-mono"},()=>r(n())+":00")]);return e("div",{class:`p-4 bg-base-100 rounded-box w-80 select-none ${s.class||""}`},[e("div",{class:"flex justify-between items-center mb-4"},[e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(0,-1)},e("span",{class:"icon-[lucide--chevrons-left]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(-1,0)},e("span",{class:"icon-[lucide--chevron-left]"}))]),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(1,0)},e("span",{class:"icon-[lucide--chevron-right]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(0,1)},e("span",{class:"icon-[lucide--chevrons-right]"}))])]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>l(null)},[..."LMXJVSD".split("").map((n)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},n)),()=>{let n=a().getFullYear(),d=a().getMonth(),g=(new Date(n,d,1).getDay()+6)%7;return[...Array(g).fill(e("div")),...Array(new Date(n,d+1,0).getDate()).keys()].map((p)=>{if(typeof p!="number")return p;let k=p+1,m=c(new Date(n,d,k)),A=c(u)==m;return e("button",{type:"button",onclick:()=>C(new Date(n,d,k)),onmouseenter:()=>x()&&l(m),class:()=>{let w=b(),D=l(),S=w?.start||(typeof w=="string"?w.slice(0,10):0),I=w?.end==m,z=S==m,E=x()&&w?.start&&(w.end?m>w.start&&mS&&m<=D||m=D));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${z||I?"btn-primary z-10":E?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${A?"ring-1 ring-primary font-black":""}`}},k)})}]),s.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},x()?[y({v:t,on:t}),y({v:o,on:o})]:[y({v:t,on:t})])])},B=(s)=>{let a=(t)=>(t||"").toLowerCase(),l=["#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"];return e("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${s.class||""}`},e("div",{class:"grid grid-cols-8 gap-1"},l.map((t)=>e("button",{type:"button",style:`background:${t}`,onclick:()=>(h(s.value)?s.value(t):s.onchange?.(t),H()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${a($(s.value))==a(t)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},M=(s,a="alert-success",l=3500)=>{let t=document.getElementById("stc"),o,u,c=e("div",{style:"display:contents"});if(!t)document.body.append(t=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));t.append(c);let r=L(()=>{let v=f(0),b=f(0);return u=()=>b()||(b(1),clearTimeout(o),setTimeout(()=>(r.destroy(),c.remove(),t.firstChild||t.remove()),300)),setTimeout(()=>v(1)),e("div",{class:()=>`alert alert-soft ${a} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${b()?"translate-x-full opacity-0":v()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof s=="function"?s():typeof s=="string"?e("span",s):s,e("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:u},e("span",{class:"icon-[lucide--x]"}))])},c);if(l>0)o=setTimeout(u,l);return u};window.ui=i;window.toast=M;window.calendar=F;window.pallete=B;export{i as ui,M as toast,B as pallete,H as hide,F as calendar}; +var{$:f,h:e,mount:E,val:$,isF:h,isO:S}=window.SigPro,M=()=>document.activeElement?.blur(),v={accordion:(s,a)=>e("div",{...s,class:`collapse ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked}),a]),accordion_title:(s,a)=>e("div",{...s,class:`collapse-title ${s.class||""}`},a),accordion_content:(s,a)=>e("div",{...s,class:`collapse-content ${s.class||""}`},a),alert:(s,a)=>e("div",{...s,class:`alert ${s.class||""}`},a),autocomplete:(s)=>v.combo(s,({query:a,close:l,setValue:t})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let o=String($(a)).toLowerCase(),d=($(s.items)||[]).filter((c)=>(S(c)?c.label??c.value:String(c)).toLowerCase().includes(o));return d.length?d.map((c,r)=>e("li",{key:c.value??r},e("a",{onclick:(b)=>{b.preventDefault();let u=c?.value??c;if(t(S(c)?c.label??c.value:String(c)),h(s.value))s.value(u);else s.onChange?.(u);l()}},S(c)?c.label??c.value:c))):[e("li",{class:"disabled"},e("a",{},"Sin resultados"))]})),avatar:(s,a)=>e("div",{...s,class:`avatar ${s.class||""}`},e("div",{class:s.innerClass||""},a)),avatar_group:(s,a)=>e("div",{...s,class:`avatar-group -space-x-6 ${s.class||""}`},a),badge:(s,a)=>e("span",{...s,class:`badge ${s.class||""}`},a),breadcrumbs:(s,a)=>e("div",{...s,class:`breadcrumbs ${s.class||""}`},a),button:(s,a)=>e("button",{...s,class:`btn ${s.class||""}`},a),card:(s,a)=>e("div",{...s,class:`card ${s.class||""}`},a),card_title:(s,a)=>e("div",{...s,class:`card-title ${s.class||""}`},a),card_body:(s,a)=>e("div",{...s,class:`card-body ${s.class||""}`},a),card_actions:(s,a)=>e("div",{...s,class:`card-actions ${s.class||""}`},a),carousel:(s,a)=>e("div",{...s,class:`carousel ${s.class||""}`},a),carousel_item:(s,a)=>e("div",{...s,class:`carousel-item ${s.class||""}`},a),chat:(s,a)=>e("div",{...s,class:`chat ${s.class||""}`},a),chat_image:(s,a)=>e("div",{...s,class:`chat-image avatar ${s.class||""}`},a),chat_header:(s,a)=>e("div",{...s,class:`chat-header ${s.class||""}`},a),chat_bubble:(s,a)=>e("div",{...s,class:`chat-bubble ${s.class||""}`},a),chat_footer:(s,a)=>e("div",{...s,class:`chat-footer ${s.class||""}`},a),checkbox:(s)=>e("input",{...s,type:"checkbox",class:`checkbox ${s.class||""}`}),colorpicker:(s)=>v.combo({...s,custom:()=>e("span",{class:"w-4 h-4 rounded border border-base-300",style:`background:${$(s.value)||"#000"}`})},({close:a,setValue:l})=>z({...s,onchange:(t)=>{l(t),a()}})),combo:(s,a)=>{let{placeholder:l="",class:t=""}=s,o=h(s.value)?s.value:f(s.value??""),d,c=f(!1);return v.float({label:s.label},[e("div",{class:`dropdown w-full ${t} ${$(c)?"dropdown-open":""}`},[e("label",{class:"input w-full"},[e("span",{class:s.icon??"icon-[lucide--search]"}),s.custom??null,e("input",{type:"search",placeholder:l,tabindex:"0",value:o,onfocus:()=>c(!0),ref:(r)=>d=r})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 max-w-80 shadow-sm",onmousedown:(r)=>r.preventDefault()},()=>$(c)&&typeof a==="function"?a({query:o,open:c,close:()=>{c(!1),d?.blur()},setValue:(r)=>o(r)}):null)])])},datepicker:(s)=>{if(!(h(s.range)?s.range():s.range))return v.combo({value:(h(s.value)?s.value():s.value)||"",...s},({close:r,setValue:b})=>e("div",{class:"w-80"},F({...s,class:"w-full",onChange:(u)=>{if(b(u),r(),h(s.value))s.value(u)}})));let l=f(h(s.value)?s.value():s.value||{start:null,end:null}),t=f((l()||{}).start||""),o=f((l()||{}).end||""),d=()=>{if(l({start:t(),end:o()}),h(s.value))s.value(l())},c=(r,b,u,x)=>v.combo({value:b,placeholder:u,class:"flex-1",disabled:x},({close:p,setValue:y})=>e("div",{class:"w-72"},F({...s,class:"w-full",value:l,range:!0,onChange:(n)=>{if(l(n),t(n?.start||""),o(n?.end||""),y(n?.[r]||""),n?.end)p();if(h(s.value))s.value(n)}})));return e("div",{class:`flex gap-1 ${s.class||""}`,onchange:d},[c("start",t,s.fromPlaceholder||"Inicio"),c("end",o,s.toPlaceholder||"Fin",()=>!l()?.start)])},divider:(s)=>e("div",{...s,class:`divider ${s.class||""}`}),drawer:(s,a)=>e("div",{...s,class:`drawer ${s.class||""}`},a),drawer_toggle:(s)=>e("input",{...s,type:"checkbox",class:`drawer-toggle ${s.class||""}`}),drawer_content:(s,a)=>e("div",{...s,class:`drawer-content ${s.class||""}`},a),drawer_side:(s,a)=>e("div",{...s,class:`drawer-side ${s.class||""}`},a),drawer_overlay:(s)=>e("label",{...s,class:`drawer-overlay ${s.class||""}`}),dropdown:(s,a)=>e("div",{...s,class:`dropdown ${s.class||""}`},a),dropdown_button:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),dropdown_content:(s,a)=>e("div",{...s,tabindex:"0",class:`dropdown-content ${s.class||""}`},a),fab:(s,a)=>e("div",{...s,class:`fab ${s.class||""}`},a),fab_button:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),fieldset:(s,a)=>e("fieldset",{class:`fieldset ${s.class||""}`},[e("legend",{class:"fieldset-legend"},s.label),a]),file:(s)=>e("input",{...s,type:"file",class:`file-input ${s.class||""}`}),file_drag:(s,a)=>e("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${s.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${s.class||""}`,ondragover:(l)=>{l.preventDefault(),s.ondrag?.(!0)},ondragleave:()=>s.ondrag?.(!1),ondrop:(l)=>{l.preventDefault(),s.ondrag?.(!1),s.ondrop?.(l.dataTransfer.files)}},a),file_preview:(s)=>e("ul",{class:`mt-2 space-y-1 ${s.class||""}`},(s.files||[]).map((a,l)=>e("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[e("div",{class:"flex items-center gap-2 truncate opacity-70"},[e("span",{},"\uD83D\uDCC4"),e("span",{class:"truncate max-w-[180px]"},a.name),e("span",{class:"text-[9px] opacity-50"},`(${~~(a.size/1024)}KB)`)]),e("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>s.onremove?.(l)},e("span",{class:"icon-[lucide--x]"}))]))),file_error:(s)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${s.class||""}`},s.message),float:(s,a)=>e("label",{class:"floating-label"},[e("span",{},s.label??null),a]),indicator:(s,a)=>e("div",{...s,class:`indicator ${s.class||""}`},[s.value&&e("span",{class:`indicator-item badge ${s.badgeClass||""}`},s.value),a]),input:(s)=>v.float({label:s.label},[e("label",{class:"input w-full"},[span({class:`${s.icon??""}`}),e("input",{...s,class:`w-full ${s.class||""}`}),s.right||null])]),kbd:(s,a)=>e("kbd",{...s,class:`kbd ${s.class||""}`},a),label:(s,a)=>e("span",{...s,class:`label ${s.class||""}`},a),loading:(s)=>e("span",{...s,class:`loading loading-spinner ${s.class||""}`}),menu:(s,a)=>e("ul",{...s,class:`menu ${s.class||""}`},a),menu_items:function s(a){return(a.items||[]).map((l)=>{if(l.items)return e("li",{},[e("details",{open:l.open||!1},[e("summary",{},l.label),e("ul",{class:l.submenuClass||""},s({items:l.items}))])]);return e("li",{},l.href?e("a",{href:l.href},l.label):l.label)})},modal:(s,a)=>e("dialog",{...s,class:`modal ${s.class||""}`},[a,e("form",{method:"dialog",class:"modal-backdrop"},e("button",{},"close"))]),modal_box:(s,a)=>e("div",{...s,class:`modal-box ${s.class||""}`},[e("form",{method:"dialog"},e("button",{class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"},"✕")),a]),modal_action:(s,a)=>e("div",{...s,class:`modal-action ${s.class||""}`},a),navbar:(s,a)=>e("div",{...s,class:`navbar ${s.class||""}`},a),option:(s,a)=>e("option",{...s},a),password:(s)=>{let a=f(!1),{right:l,...t}=s;return v.input({...t,type:()=>$(a)?"text":"password",icon:"icon-[lucide--lock]",right:v.swap({value:a,class:"swap-rotate"},[v.swap_on({},span({class:"icon-[lucide--eye]"})),v.swap_off({},span({class:"icon-[lucide--eye-off]"}))])})},progress:(s)=>e("progress",{...s,class:`progress ${s.class||""}`}),radial:(s)=>e("div",{...s,class:`radial-progress ${s.class||""}`,style:`--value:${$(s.value)??0}`,role:"progressbar"},s.value??""),radio:(s)=>e("input",{...s,type:"radio",class:`radio ${s.class||""}`}),range:(s)=>e("input",{...s,type:"range",class:`range ${s.class||""}`}),rating:(s)=>e("div",{class:`rating ${s.class||""}`},[...Array(s.count||5)].map((a,l)=>e("input",{class:`mask ${s.mask||"mask-star"} ${s.itemClass||""}`,name:s.name,type:"radio",checked:()=>$(s.value)===(s.offset?l+s.offset:l),onclick:()=>h(s.value)?s.value(l):s.onChange?.(l)}))),search:(s)=>v.input({...s,type:"search",icon:s.icon??"icon-[lucide--search]"}),select:(s,a)=>e("select",{...s,class:`select ${s.class||""}`},a),stack:(s,a)=>e("div",{...s,class:`stack ${s.class||""}`},a),stat:(s,a)=>e("div",{...s,class:`stat ${s.class||""}`},a),stat_figure:(s,a)=>e("div",{...s,class:`stat-figure ${s.class||""}`},a),stat_title:(s,a)=>e("div",{...s,class:`stat-title ${s.class||""}`},a),stat_value:(s,a)=>e("div",{...s,class:`stat-value ${s.class||""}`},a),stat_desc:(s,a)=>e("div",{...s,class:`stat-desc ${s.class||""}`},a),steps:(s,a)=>e("ul",{...s,class:`steps ${s.class||""}`},a),step:(s,a)=>e("li",{...s,class:`step ${s.class||""}`,"data-content":s.dataContent},a),swap:(s,a)=>e("label",{class:`swap ${s.class||""}`},[e("input",{type:"checkbox",checked:s.value}),...isA(a)?a:[a]]),swap_on:(s,a)=>e("div",{...s,class:`swap-on ${s.class||""}`},a),swap_off:(s,a)=>e("div",{...s,class:`swap-off ${s.class||""}`},a),table:(s,a)=>e("table",{...s,class:`table ${s.class||""}`},a),table_head:(s,a)=>e("thead",{...s,class:s.class||""},a),table_body:(s,a)=>e("tbody",{...s,class:s.class||""},a),table_foot:(s,a)=>e("tfoot",{...s,class:s.class||""},a),table_row:(s,a)=>e("tr",{...s,class:s.class||""},a),table_th:(s,a)=>e("th",{...s,class:s.class||""},a),table_td:(s,a)=>e("td",{...s,class:s.class||""},a),tabs:(s,a)=>div({...s,class:`tabs ${s.class||""}`},a),tab:(s)=>{let a=()=>s.tabs?.(s.tabs().filter((l,t)=>t!==s.index));return[e("label",{class:`tab ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked||void 0}),s.label,s.closable?e("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:(l)=>{l.stopPropagation(),a()}},e("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),div({class:`tab-content ${s?.classContent||""}`},s.content)]},textarea:(s)=>e("textarea",{...s,class:`textarea ${s.class||""}`}),textrotate:(s,a)=>e("span",{...s,class:`text-rotate ${s.class||""}`},e("span",{},a)),theme:(s)=>v.toggle({value:s?.value||"spdark",class:"theme-controller"}),timeline:(s,a)=>e("ul",{...s,class:`timeline ${s.class||""}`},a),timeline_start:(s,a)=>e("div",{...s,class:`timeline-start ${s.class||""}`},a),timeline_middle:(s,a)=>e("div",{...s,class:`timeline-middle ${s.class||""}`},a),timeline_end:(s,a)=>e("div",{...s,class:`timeline-end ${s.class||""}`},a),toggle:(s)=>e("input",{...s,type:"checkbox",class:`toggle ${s.class||""}`}),tooltip:(s,a)=>e("div",{class:`tooltip ${s.class||""}`,"data-tip":s.tip},a),validator:(s,a)=>e("div",{...s,class:`validator-hint ${s.class||""}`},a)},F=(s)=>{let[a,l,t,o]=[f(new Date),f(0),f(0),f(0)],d=new Date,c=(n)=>n?`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`:"",r=(n)=>(n<10?"0":"")+n,b=(n,i=0)=>a(new Date(a().getFullYear()+i,a().getMonth()+n,1)),u=()=>typeof s.value=="function"?s.value():s.value,x=()=>typeof s.range=="function"?s.range():s.range,p=(n)=>{let i=c(n),g=u();if(!x())return s.onChange?.(s.hour?`${i}T${r(t())}:00:00`:i);if(!g?.start||g.end)return s.onChange?.({start:i,end:null,...s.hour&&{startHour:t()}});let _=ie("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:n,class:"range range-xs",oninput:(g)=>i(+g.target.value)}),e("span",{class:"text-sm font-mono"},()=>r(n())+":00")]);return e("div",{class:`p-4 bg-base-100 rounded-box w-80 select-none ${s.class||""}`},[e("div",{class:"flex justify-between items-center mb-4"},[e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(0,-1)},e("span",{class:"icon-[lucide--chevrons-left]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(-1,0)},e("span",{class:"icon-[lucide--chevron-left]"}))]),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(1,0)},e("span",{class:"icon-[lucide--chevron-right]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(0,1)},e("span",{class:"icon-[lucide--chevrons-right]"}))])]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>l(null)},[..."LMXJVSD".split("").map((n)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},n)),()=>{let n=a().getFullYear(),i=a().getMonth(),g=(new Date(n,i,1).getDay()+6)%7;return[...Array(g).fill(e("div")),...Array(new Date(n,i+1,0).getDate()).keys()].map((k)=>{if(typeof k!="number")return k;let _=k+1,m=c(new Date(n,i,_)),A=c(d)==m;return e("button",{type:"button",onclick:()=>p(new Date(n,i,_)),onmouseenter:()=>x()&&l(m),class:()=>{let w=u(),C=l(),D=w?.start||(typeof w=="string"?w.slice(0,10):0),L=w?.end==m,T=D==m,B=x()&&w?.start&&(w.end?m>w.start&&mD&&m<=C||m=C));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${T||L?"btn-primary z-10":B?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${A?"ring-1 ring-primary font-black":""}`}},_)})}]),s.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},x()?[y({v:t,on:t}),y({v:o,on:o})]:[y({v:t,on:t})])])},z=(s)=>{let a=(t)=>(t||"").toLowerCase(),l=["#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"];return e("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${s.class||""}`},e("div",{class:"grid grid-cols-8 gap-1"},l.map((t)=>e("button",{type:"button",style:`background:${t}`,onclick:()=>(h(s.value)?s.value(t):s.onchange?.(t),M()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${a($(s.value))==a(t)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},P=(s,a="alert-success",l=3500)=>{let t=document.getElementById("stc"),o,d,c=e("div",{style:"display:contents"});if(!t)document.body.append(t=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));t.append(c);let r=E(()=>{let b=f(0),u=f(0);return d=()=>u()||(u(1),clearTimeout(o),setTimeout(()=>(r.destroy(),c.remove(),t.firstChild||t.remove()),300)),setTimeout(()=>b(1)),e("div",{class:()=>`alert alert-soft ${a} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${u()?"translate-x-full opacity-0":b()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof s=="function"?s():typeof s=="string"?e("span",s):s,e("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:d},e("span",{class:"icon-[lucide--x]"}))])},c);if(l>0)o=setTimeout(d,l);return d};window.ui=v;window.toast=P;window.calendar=F;window.pallete=z;export{v as ui,P as toast,z as pallete,M as hide,F as calendar}; diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 12064ac..c143413 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -18,6 +18,7 @@ * [Global Store](api/global.md) * [JSX Style](api/jsx.md) * [HTML converter](convert.md) + * [UI](ui.md) * **UI** * [WIP] \ No newline at end of file diff --git a/docs/sigpro.ui.js b/docs/sigpro.ui.js index 2e34e15..77152d8 100644 --- a/docs/sigpro.ui.js +++ b/docs/sigpro.ui.js @@ -1 +1 @@ -var{$:f,h:e,mount:L,val:$,isF:h,isO:T}=window.SigPro,H=()=>document.activeElement?.blur(),i={accordion:(s,a)=>e("div",{...s,class:`collapse ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked}),a]),accordionTitle:(s,a)=>e("div",{...s,class:`collapse-title ${s.class||""}`},a),accordionContent:(s,a)=>e("div",{...s,class:`collapse-content ${s.class||""}`},a),alert:(s,a)=>e("div",{...s,class:`alert ${s.class||""}`},a),autocomplete:(s)=>i.combo(s,({query:a,close:l,setValue:t})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let o=String($(a)).toLowerCase(),u=($(s.items)||[]).filter((c)=>(T(c)?c.label??c.value:String(c)).toLowerCase().includes(o));return u.length?u.map((c,r)=>e("li",{key:c.value??r},e("a",{onclick:(v)=>{v.preventDefault();let b=c?.value??c;if(t(T(c)?c.label??c.value:String(c)),h(s.value))s.value(b);else s.onChange?.(b);l()}},T(c)?c.label??c.value:c))):[e("li",{class:"disabled"},e("a",{},"Sin resultados"))]})),avatar:(s,a)=>e("div",{...s,class:`avatar ${s.class||""}`},e("div",{class:s.innerClass||""},a)),avatarGroup:(s,a)=>e("div",{...s,class:`avatar-group -space-x-6 ${s.class||""}`},a),badge:(s,a)=>e("span",{...s,class:`badge ${s.class||""}`},a),breadcrumbs:(s,a)=>e("div",{...s,class:`breadcrumbs ${s.class||""}`},a),button:(s,a)=>e("button",{...s,class:`btn ${s.class||""}`},a),card:(s,a)=>e("div",{...s,class:`card ${s.class||""}`},a),cardTitle:(s,a)=>e("div",{...s,class:`card-title ${s.class||""}`},a),cardBody:(s,a)=>e("div",{...s,class:`card-body ${s.class||""}`},a),cardActions:(s,a)=>e("div",{...s,class:`card-actions ${s.class||""}`},a),carousel:(s,a)=>e("div",{...s,class:`carousel ${s.class||""}`},a),carouselItem:(s,a)=>e("div",{...s,class:`carousel-item ${s.class||""}`},a),chat:(s,a)=>e("div",{...s,class:`chat ${s.class||""}`},a),chatImage:(s,a)=>e("div",{...s,class:`chat-image avatar ${s.class||""}`},a),chatHeader:(s,a)=>e("div",{...s,class:`chat-header ${s.class||""}`},a),chatBubble:(s,a)=>e("div",{...s,class:`chat-bubble ${s.class||""}`},a),chatFooter:(s,a)=>e("div",{...s,class:`chat-footer ${s.class||""}`},a),checkbox:(s)=>e("input",{...s,type:"checkbox",class:`checkbox ${s.class||""}`}),colorpicker:(s)=>i.combo({...s,custom:()=>e("span",{class:"w-4 h-4 rounded border border-base-300",style:`background:${$(s.value)||"#000"}`})},({close:a,setValue:l})=>B({...s,onchange:(t)=>{l(t),a()}})),combo:(s,a)=>{let{placeholder:l="",class:t=""}=s,o=h(s.value)?s.value:f(s.value??""),u,c=f(!1);return i.float({label:s.label},[e("div",{class:`dropdown w-full ${t} ${$(c)?"dropdown-open":""}`},[e("label",{class:"input w-full"},[e("span",{class:s.icon??"icon-[lucide--search]"}),s.custom??null,e("input",{type:"search",placeholder:l,tabindex:"0",value:o,onfocus:()=>c(!0),ref:(r)=>u=r})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 max-w-80 shadow-sm",onmousedown:(r)=>r.preventDefault()},()=>$(c)&&typeof a==="function"?a({query:o,open:c,close:()=>{c(!1),u?.blur()},setValue:(r)=>o(r)}):null)])])},datepicker:(s)=>{if(!(h(s.range)?s.range():s.range))return i.combo({value:(h(s.value)?s.value():s.value)||"",...s},({close:r,setValue:v})=>e("div",{class:"w-80"},F({...s,class:"w-full",onChange:(b)=>{if(v(b),r(),h(s.value))s.value(b)}})));let l=f(h(s.value)?s.value():s.value||{start:null,end:null}),t=f((l()||{}).start||""),o=f((l()||{}).end||""),u=()=>{if(l({start:t(),end:o()}),h(s.value))s.value(l())},c=(r,v,b,x)=>i.combo({value:v,placeholder:b,class:"flex-1",disabled:x},({close:C,setValue:y})=>e("div",{class:"w-72"},F({...s,class:"w-full",value:l,range:!0,onChange:(n)=>{if(l(n),t(n?.start||""),o(n?.end||""),y(n?.[r]||""),n?.end)C();if(h(s.value))s.value(n)}})));return e("div",{class:`flex gap-1 ${s.class||""}`,onchange:u},[c("start",t,s.fromPlaceholder||"Inicio"),c("end",o,s.toPlaceholder||"Fin",()=>!l()?.start)])},divider:(s)=>e("div",{...s,class:`divider ${s.class||""}`}),drawer:(s,a)=>e("div",{...s,class:`drawer ${s.class||""}`},a),drawerToggle:(s)=>e("input",{...s,type:"checkbox",class:`drawer-toggle ${s.class||""}`}),drawerContent:(s,a)=>e("div",{...s,class:`drawer-content ${s.class||""}`},a),drawerSide:(s,a)=>e("div",{...s,class:`drawer-side ${s.class||""}`},a),drawerOverlay:(s)=>e("label",{...s,class:`drawer-overlay ${s.class||""}`}),dropdown:(s,a)=>e("div",{...s,class:`dropdown ${s.class||""}`},a),dropdownButton:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),dropdownContent:(s,a)=>e("div",{...s,tabindex:"0",class:`dropdown-content ${s.class||""}`},a),fab:(s,a)=>e("div",{...s,class:`fab ${s.class||""}`},a),fabButton:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),fieldset:(s,a)=>e("fieldset",{class:`fieldset ${s.class||""}`},[e("legend",{class:"fieldset-legend"},s.label),a]),fileInput:(s)=>e("input",{...s,type:"file",class:`file-input ${s.class||""}`}),fileDrag:(s,a)=>e("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${s.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${s.class||""}`,ondragover:(l)=>{l.preventDefault(),s.ondrag?.(!0)},ondragleave:()=>s.ondrag?.(!1),ondrop:(l)=>{l.preventDefault(),s.ondrag?.(!1),s.ondrop?.(l.dataTransfer.files)}},a),filePreview:(s)=>e("ul",{class:`mt-2 space-y-1 ${s.class||""}`},(s.files||[]).map((a,l)=>e("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[e("div",{class:"flex items-center gap-2 truncate opacity-70"},[e("span",{},"\uD83D\uDCC4"),e("span",{class:"truncate max-w-[180px]"},a.name),e("span",{class:"text-[9px] opacity-50"},`(${~~(a.size/1024)}KB)`)]),e("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>s.onremove?.(l)},e("span",{class:"icon-[lucide--x]"}))]))),fileError:(s)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${s.class||""}`},s.message),float:(s,a)=>e("label",{class:"floating-label"},[e("span",{},s.label??null),a]),icon:(s)=>e("span",{class:s||""}),indicator:(s,a)=>e("div",{...s,class:`indicator ${s.class||""}`},[s.value&&e("span",{class:`indicator-item badge ${s.badgeClass||""}`},s.value),a]),input:(s)=>i.float({label:s.label},[e("label",{class:"input w-full"},[i.icon(s.icon??""),e("input",{...s,class:`w-full ${s.class||""}`}),s.right||null])]),kbd:(s,a)=>e("kbd",{...s,class:`kbd ${s.class||""}`},a),label:(s,a)=>e("span",{...s,class:`label ${s.class||""}`},a),loading:(s)=>e("span",{...s,class:`loading loading-spinner ${s.class||""}`}),menu:(s,a)=>e("ul",{...s,class:`menu ${s.class||""}`},a),menuItems:(s)=>(s.items||[]).map((a)=>{if(a.items)return e("li",{},[e("details",{open:a.open||!1},[e("summary",{},a.label),e("ul",{class:a.submenuClass||""},menuItems({items:a.items}))])]);return e("li",{},a.href?e("a",{href:a.href},a.label):a.label)}),modal:(s,a)=>e("dialog",{...s,class:`modal ${s.class||""}`},[a,e("form",{method:"dialog",class:"modal-backdrop"},e("button",{},"close"))]),modalBox:(s,a)=>e("div",{...s,class:`modal-box ${s.class||""}`},[e("form",{method:"dialog"},e("button",{class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"},"✕")),a]),modalAction:(s,a)=>e("div",{...s,class:`modal-action ${s.class||""}`},a),navbar:(s,a)=>e("div",{...s,class:`navbar ${s.class||""}`},a),option:(s,a)=>e("option",{...s},a),password:(s)=>{let a=f(!1),{right:l,...t}=s;return i.input({...t,type:()=>$(a)?"text":"password",icon:"icon-[lucide--lock]",right:i.swap({class:"swap swap-rotate"},[e("input",{type:"checkbox",checked:a}),i.swapOn({},i.icon("icon-[lucide--eye]")),i.swapOff({},i.icon("icon-[lucide--eye-off]"))])})},progress:(s)=>e("progress",{...s,class:`progress ${s.class||""}`}),radial:(s)=>e("div",{...s,class:`radial-progress ${s.class||""}`,style:`--value:${$(s.value)??0}`,role:"progressbar"},s.value??""),radio:(s)=>e("input",{...s,type:"radio",class:`radio ${s.class||""}`}),range:(s)=>e("input",{...s,type:"range",class:`range ${s.class||""}`}),rating:(s)=>e("div",{class:`rating ${s.class||""}`},[...Array(s.count||5)].map((a,l)=>e("input",{class:`mask ${s.mask||"mask-star"} ${s.itemClass||""}`,name:s.name,type:"radio",checked:()=>$(s.value)===(s.offset?l+s.offset:l),onclick:()=>h(s.value)?s.value(l):s.onChange?.(l)}))),search:(s)=>i.text({...s,type:"search",icon:s.icon??"icon-[lucide--search]"}),select:(s,a)=>e("select",{...s,class:`select ${s.class||""}`},a),stack:(s,a)=>e("div",{...s,class:`stack ${s.class||""}`},a),stat:(s,a)=>e("div",{...s,class:`stat ${s.class||""}`},a),statFigure:(s,a)=>e("div",{...s,class:`stat-figure ${s.class||""}`},a),statTitle:(s,a)=>e("div",{...s,class:`stat-title ${s.class||""}`},a),statValue:(s,a)=>e("div",{...s,class:`stat-value ${s.class||""}`},a),statDesc:(s,a)=>e("div",{...s,class:`stat-desc ${s.class||""}`},a),steps:(s,a)=>e("ul",{...s,class:`steps ${s.class||""}`},a),step:(s,a)=>e("li",{...s,class:`step ${s.class||""}`,"data-content":s.dataContent},a),swap:(s,a)=>e("label",{...s,class:`swap ${s.class||""}`},a),swapOn:(s,a)=>e("div",{...s,class:`swap-on ${s.class||""}`},a),swapOff:(s,a)=>e("div",{...s,class:`swap-off ${s.class||""}`},a),table:(s,a)=>e("table",{...s,class:`table ${s.class||""}`},a),tableHead:(s,a)=>e("thead",{...s,class:s.class||""},a),tableBody:(s,a)=>e("tbody",{...s,class:s.class||""},a),tableFoot:(s,a)=>e("tfoot",{...s,class:s.class||""},a),tableRow:(s,a)=>e("tr",{...s,class:s.class||""},a),tableTh:(s,a)=>e("th",{...s,class:s.class||""},a),tableTd:(s,a)=>e("td",{...s,class:s.class||""},a),tabs:(s,a)=>div({...s,class:`tabs ${s.class||""}`},a),tab:(s)=>{let a=()=>s.tabs?.(s.tabs().filter((l,t)=>t!==s.index));return[e("label",{class:`tab ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked||void 0}),s.label,s.closable?e("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:(l)=>{l.stopPropagation(),a()}},e("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),div({class:`tab-content ${s?.classContent||""}`},s.content)]},textarea:(s)=>e("textarea",{...s,class:`textarea ${s.class||""}`}),textrotate:(s,a)=>e("span",{...s,class:`text-rotate ${s.class||""}`},e("span",{},a)),theme:(s)=>i.toggle({value:s?.value||"spdark",class:"theme-controller"}),timeline:(s,a)=>e("ul",{...s,class:`timeline ${s.class||""}`},a),timelineStart:(s,a)=>e("div",{...s,class:`timeline-start ${s.class||""}`},a),timelineMiddle:(s,a)=>e("div",{...s,class:`timeline-middle ${s.class||""}`},a),timelineEnd:(s,a)=>e("div",{...s,class:`timeline-end ${s.class||""}`},a),toggle:(s)=>e("input",{...s,type:"checkbox",class:`toggle ${s.class||""}`}),tooltip:(s,a)=>e("div",{class:`tooltip ${s.class||""}`,"data-tip":s.tip},a),validator:(s,a)=>e("div",{...s,class:`validator-hint ${s.class||""}`},a)},F=(s)=>{let[a,l,t,o]=[f(new Date),f(0),f(0),f(0)],u=new Date,c=(n)=>n?`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`:"",r=(n)=>(n<10?"0":"")+n,v=(n,d=0)=>a(new Date(a().getFullYear()+d,a().getMonth()+n,1)),b=()=>typeof s.value=="function"?s.value():s.value,x=()=>typeof s.range=="function"?s.range():s.range,C=(n)=>{let d=c(n),g=b();if(!x())return s.onChange?.(s.hour?`${d}T${r(t())}:00:00`:d);if(!g?.start||g.end)return s.onChange?.({start:d,end:null,...s.hour&&{startHour:t()}});let k=de("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:n,class:"range range-xs",oninput:(g)=>d(+g.target.value)}),e("span",{class:"text-sm font-mono"},()=>r(n())+":00")]);return e("div",{class:`p-4 bg-base-100 rounded-box w-80 select-none ${s.class||""}`},[e("div",{class:"flex justify-between items-center mb-4"},[e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(0,-1)},e("span",{class:"icon-[lucide--chevrons-left]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(-1,0)},e("span",{class:"icon-[lucide--chevron-left]"}))]),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(1,0)},e("span",{class:"icon-[lucide--chevron-right]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>v(0,1)},e("span",{class:"icon-[lucide--chevrons-right]"}))])]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>l(null)},[..."LMXJVSD".split("").map((n)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},n)),()=>{let n=a().getFullYear(),d=a().getMonth(),g=(new Date(n,d,1).getDay()+6)%7;return[...Array(g).fill(e("div")),...Array(new Date(n,d+1,0).getDate()).keys()].map((p)=>{if(typeof p!="number")return p;let k=p+1,m=c(new Date(n,d,k)),A=c(u)==m;return e("button",{type:"button",onclick:()=>C(new Date(n,d,k)),onmouseenter:()=>x()&&l(m),class:()=>{let w=b(),D=l(),S=w?.start||(typeof w=="string"?w.slice(0,10):0),I=w?.end==m,z=S==m,E=x()&&w?.start&&(w.end?m>w.start&&mS&&m<=D||m=D));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${z||I?"btn-primary z-10":E?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${A?"ring-1 ring-primary font-black":""}`}},k)})}]),s.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},x()?[y({v:t,on:t}),y({v:o,on:o})]:[y({v:t,on:t})])])},B=(s)=>{let a=(t)=>(t||"").toLowerCase(),l=["#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"];return e("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${s.class||""}`},e("div",{class:"grid grid-cols-8 gap-1"},l.map((t)=>e("button",{type:"button",style:`background:${t}`,onclick:()=>(h(s.value)?s.value(t):s.onchange?.(t),H()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${a($(s.value))==a(t)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},M=(s,a="alert-success",l=3500)=>{let t=document.getElementById("stc"),o,u,c=e("div",{style:"display:contents"});if(!t)document.body.append(t=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));t.append(c);let r=L(()=>{let v=f(0),b=f(0);return u=()=>b()||(b(1),clearTimeout(o),setTimeout(()=>(r.destroy(),c.remove(),t.firstChild||t.remove()),300)),setTimeout(()=>v(1)),e("div",{class:()=>`alert alert-soft ${a} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${b()?"translate-x-full opacity-0":v()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof s=="function"?s():typeof s=="string"?e("span",s):s,e("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:u},e("span",{class:"icon-[lucide--x]"}))])},c);if(l>0)o=setTimeout(u,l);return u};window.ui=i;window.toast=M;window.calendar=F;window.pallete=B;export{i as ui,M as toast,B as pallete,H as hide,F as calendar}; +var{$:f,h:e,mount:E,val:$,isF:h,isO:S}=window.SigPro,M=()=>document.activeElement?.blur(),v={accordion:(s,a)=>e("div",{...s,class:`collapse ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked}),a]),accordion_title:(s,a)=>e("div",{...s,class:`collapse-title ${s.class||""}`},a),accordion_content:(s,a)=>e("div",{...s,class:`collapse-content ${s.class||""}`},a),alert:(s,a)=>e("div",{...s,class:`alert ${s.class||""}`},a),autocomplete:(s)=>v.combo(s,({query:a,close:l,setValue:t})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let o=String($(a)).toLowerCase(),d=($(s.items)||[]).filter((c)=>(S(c)?c.label??c.value:String(c)).toLowerCase().includes(o));return d.length?d.map((c,r)=>e("li",{key:c.value??r},e("a",{onclick:(b)=>{b.preventDefault();let u=c?.value??c;if(t(S(c)?c.label??c.value:String(c)),h(s.value))s.value(u);else s.onChange?.(u);l()}},S(c)?c.label??c.value:c))):[e("li",{class:"disabled"},e("a",{},"Sin resultados"))]})),avatar:(s,a)=>e("div",{...s,class:`avatar ${s.class||""}`},e("div",{class:s.innerClass||""},a)),avatar_group:(s,a)=>e("div",{...s,class:`avatar-group -space-x-6 ${s.class||""}`},a),badge:(s,a)=>e("span",{...s,class:`badge ${s.class||""}`},a),breadcrumbs:(s,a)=>e("div",{...s,class:`breadcrumbs ${s.class||""}`},a),button:(s,a)=>e("button",{...s,class:`btn ${s.class||""}`},a),card:(s,a)=>e("div",{...s,class:`card ${s.class||""}`},a),card_title:(s,a)=>e("div",{...s,class:`card-title ${s.class||""}`},a),card_body:(s,a)=>e("div",{...s,class:`card-body ${s.class||""}`},a),card_actions:(s,a)=>e("div",{...s,class:`card-actions ${s.class||""}`},a),carousel:(s,a)=>e("div",{...s,class:`carousel ${s.class||""}`},a),carousel_item:(s,a)=>e("div",{...s,class:`carousel-item ${s.class||""}`},a),chat:(s,a)=>e("div",{...s,class:`chat ${s.class||""}`},a),chat_image:(s,a)=>e("div",{...s,class:`chat-image avatar ${s.class||""}`},a),chat_header:(s,a)=>e("div",{...s,class:`chat-header ${s.class||""}`},a),chat_bubble:(s,a)=>e("div",{...s,class:`chat-bubble ${s.class||""}`},a),chat_footer:(s,a)=>e("div",{...s,class:`chat-footer ${s.class||""}`},a),checkbox:(s)=>e("input",{...s,type:"checkbox",class:`checkbox ${s.class||""}`}),colorpicker:(s)=>v.combo({...s,custom:()=>e("span",{class:"w-4 h-4 rounded border border-base-300",style:`background:${$(s.value)||"#000"}`})},({close:a,setValue:l})=>z({...s,onchange:(t)=>{l(t),a()}})),combo:(s,a)=>{let{placeholder:l="",class:t=""}=s,o=h(s.value)?s.value:f(s.value??""),d,c=f(!1);return v.float({label:s.label},[e("div",{class:`dropdown w-full ${t} ${$(c)?"dropdown-open":""}`},[e("label",{class:"input w-full"},[e("span",{class:s.icon??"icon-[lucide--search]"}),s.custom??null,e("input",{type:"search",placeholder:l,tabindex:"0",value:o,onfocus:()=>c(!0),ref:(r)=>d=r})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 max-w-80 shadow-sm",onmousedown:(r)=>r.preventDefault()},()=>$(c)&&typeof a==="function"?a({query:o,open:c,close:()=>{c(!1),d?.blur()},setValue:(r)=>o(r)}):null)])])},datepicker:(s)=>{if(!(h(s.range)?s.range():s.range))return v.combo({value:(h(s.value)?s.value():s.value)||"",...s},({close:r,setValue:b})=>e("div",{class:"w-80"},F({...s,class:"w-full",onChange:(u)=>{if(b(u),r(),h(s.value))s.value(u)}})));let l=f(h(s.value)?s.value():s.value||{start:null,end:null}),t=f((l()||{}).start||""),o=f((l()||{}).end||""),d=()=>{if(l({start:t(),end:o()}),h(s.value))s.value(l())},c=(r,b,u,x)=>v.combo({value:b,placeholder:u,class:"flex-1",disabled:x},({close:p,setValue:y})=>e("div",{class:"w-72"},F({...s,class:"w-full",value:l,range:!0,onChange:(n)=>{if(l(n),t(n?.start||""),o(n?.end||""),y(n?.[r]||""),n?.end)p();if(h(s.value))s.value(n)}})));return e("div",{class:`flex gap-1 ${s.class||""}`,onchange:d},[c("start",t,s.fromPlaceholder||"Inicio"),c("end",o,s.toPlaceholder||"Fin",()=>!l()?.start)])},divider:(s)=>e("div",{...s,class:`divider ${s.class||""}`}),drawer:(s,a)=>e("div",{...s,class:`drawer ${s.class||""}`},a),drawer_toggle:(s)=>e("input",{...s,type:"checkbox",class:`drawer-toggle ${s.class||""}`}),drawer_content:(s,a)=>e("div",{...s,class:`drawer-content ${s.class||""}`},a),drawer_side:(s,a)=>e("div",{...s,class:`drawer-side ${s.class||""}`},a),drawer_overlay:(s)=>e("label",{...s,class:`drawer-overlay ${s.class||""}`}),dropdown:(s,a)=>e("div",{...s,class:`dropdown ${s.class||""}`},a),dropdown_button:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),dropdown_content:(s,a)=>e("div",{...s,tabindex:"0",class:`dropdown-content ${s.class||""}`},a),fab:(s,a)=>e("div",{...s,class:`fab ${s.class||""}`},a),fab_button:(s,a)=>e("div",{...s,tabindex:"0",role:"button",class:`btn ${s.class||""}`},a),fieldset:(s,a)=>e("fieldset",{class:`fieldset ${s.class||""}`},[e("legend",{class:"fieldset-legend"},s.label),a]),file:(s)=>e("input",{...s,type:"file",class:`file-input ${s.class||""}`}),file_drag:(s,a)=>e("label",{class:()=>`relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${s.drag?"border-primary bg-primary/10":"border-base-content/20 bg-base-100"} ${s.class||""}`,ondragover:(l)=>{l.preventDefault(),s.ondrag?.(!0)},ondragleave:()=>s.ondrag?.(!1),ondrop:(l)=>{l.preventDefault(),s.ondrag?.(!1),s.ondrop?.(l.dataTransfer.files)}},a),file_preview:(s)=>e("ul",{class:`mt-2 space-y-1 ${s.class||""}`},(s.files||[]).map((a,l)=>e("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border"},[e("div",{class:"flex items-center gap-2 truncate opacity-70"},[e("span",{},"\uD83D\uDCC4"),e("span",{class:"truncate max-w-[180px]"},a.name),e("span",{class:"text-[9px] opacity-50"},`(${~~(a.size/1024)}KB)`)]),e("button",{class:"btn btn-ghost btn-xs btn-circle",onclick:()=>s.onremove?.(l)},e("span",{class:"icon-[lucide--x]"}))]))),file_error:(s)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${s.class||""}`},s.message),float:(s,a)=>e("label",{class:"floating-label"},[e("span",{},s.label??null),a]),indicator:(s,a)=>e("div",{...s,class:`indicator ${s.class||""}`},[s.value&&e("span",{class:`indicator-item badge ${s.badgeClass||""}`},s.value),a]),input:(s)=>v.float({label:s.label},[e("label",{class:"input w-full"},[span({class:`${s.icon??""}`}),e("input",{...s,class:`w-full ${s.class||""}`}),s.right||null])]),kbd:(s,a)=>e("kbd",{...s,class:`kbd ${s.class||""}`},a),label:(s,a)=>e("span",{...s,class:`label ${s.class||""}`},a),loading:(s)=>e("span",{...s,class:`loading loading-spinner ${s.class||""}`}),menu:(s,a)=>e("ul",{...s,class:`menu ${s.class||""}`},a),menu_items:function s(a){return(a.items||[]).map((l)=>{if(l.items)return e("li",{},[e("details",{open:l.open||!1},[e("summary",{},l.label),e("ul",{class:l.submenuClass||""},s({items:l.items}))])]);return e("li",{},l.href?e("a",{href:l.href},l.label):l.label)})},modal:(s,a)=>e("dialog",{...s,class:`modal ${s.class||""}`},[a,e("form",{method:"dialog",class:"modal-backdrop"},e("button",{},"close"))]),modal_box:(s,a)=>e("div",{...s,class:`modal-box ${s.class||""}`},[e("form",{method:"dialog"},e("button",{class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2"},"✕")),a]),modal_action:(s,a)=>e("div",{...s,class:`modal-action ${s.class||""}`},a),navbar:(s,a)=>e("div",{...s,class:`navbar ${s.class||""}`},a),option:(s,a)=>e("option",{...s},a),password:(s)=>{let a=f(!1),{right:l,...t}=s;return v.input({...t,type:()=>$(a)?"text":"password",icon:"icon-[lucide--lock]",right:v.swap({value:a,class:"swap-rotate"},[v.swap_on({},span({class:"icon-[lucide--eye]"})),v.swap_off({},span({class:"icon-[lucide--eye-off]"}))])})},progress:(s)=>e("progress",{...s,class:`progress ${s.class||""}`}),radial:(s)=>e("div",{...s,class:`radial-progress ${s.class||""}`,style:`--value:${$(s.value)??0}`,role:"progressbar"},s.value??""),radio:(s)=>e("input",{...s,type:"radio",class:`radio ${s.class||""}`}),range:(s)=>e("input",{...s,type:"range",class:`range ${s.class||""}`}),rating:(s)=>e("div",{class:`rating ${s.class||""}`},[...Array(s.count||5)].map((a,l)=>e("input",{class:`mask ${s.mask||"mask-star"} ${s.itemClass||""}`,name:s.name,type:"radio",checked:()=>$(s.value)===(s.offset?l+s.offset:l),onclick:()=>h(s.value)?s.value(l):s.onChange?.(l)}))),search:(s)=>v.input({...s,type:"search",icon:s.icon??"icon-[lucide--search]"}),select:(s,a)=>e("select",{...s,class:`select ${s.class||""}`},a),stack:(s,a)=>e("div",{...s,class:`stack ${s.class||""}`},a),stat:(s,a)=>e("div",{...s,class:`stat ${s.class||""}`},a),stat_figure:(s,a)=>e("div",{...s,class:`stat-figure ${s.class||""}`},a),stat_title:(s,a)=>e("div",{...s,class:`stat-title ${s.class||""}`},a),stat_value:(s,a)=>e("div",{...s,class:`stat-value ${s.class||""}`},a),stat_desc:(s,a)=>e("div",{...s,class:`stat-desc ${s.class||""}`},a),steps:(s,a)=>e("ul",{...s,class:`steps ${s.class||""}`},a),step:(s,a)=>e("li",{...s,class:`step ${s.class||""}`,"data-content":s.dataContent},a),swap:(s,a)=>e("label",{class:`swap ${s.class||""}`},[e("input",{type:"checkbox",checked:s.value}),...isA(a)?a:[a]]),swap_on:(s,a)=>e("div",{...s,class:`swap-on ${s.class||""}`},a),swap_off:(s,a)=>e("div",{...s,class:`swap-off ${s.class||""}`},a),table:(s,a)=>e("table",{...s,class:`table ${s.class||""}`},a),table_head:(s,a)=>e("thead",{...s,class:s.class||""},a),table_body:(s,a)=>e("tbody",{...s,class:s.class||""},a),table_foot:(s,a)=>e("tfoot",{...s,class:s.class||""},a),table_row:(s,a)=>e("tr",{...s,class:s.class||""},a),table_th:(s,a)=>e("th",{...s,class:s.class||""},a),table_td:(s,a)=>e("td",{...s,class:s.class||""},a),tabs:(s,a)=>div({...s,class:`tabs ${s.class||""}`},a),tab:(s)=>{let a=()=>s.tabs?.(s.tabs().filter((l,t)=>t!==s.index));return[e("label",{class:`tab ${s.class||""}`},[e("input",{type:"radio",name:s.name,checked:s.checked||void 0}),s.label,s.closable?e("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:(l)=>{l.stopPropagation(),a()}},e("span",{class:"icon-[lucide--x] w-3 h-3"})):null]),div({class:`tab-content ${s?.classContent||""}`},s.content)]},textarea:(s)=>e("textarea",{...s,class:`textarea ${s.class||""}`}),textrotate:(s,a)=>e("span",{...s,class:`text-rotate ${s.class||""}`},e("span",{},a)),theme:(s)=>v.toggle({value:s?.value||"spdark",class:"theme-controller"}),timeline:(s,a)=>e("ul",{...s,class:`timeline ${s.class||""}`},a),timeline_start:(s,a)=>e("div",{...s,class:`timeline-start ${s.class||""}`},a),timeline_middle:(s,a)=>e("div",{...s,class:`timeline-middle ${s.class||""}`},a),timeline_end:(s,a)=>e("div",{...s,class:`timeline-end ${s.class||""}`},a),toggle:(s)=>e("input",{...s,type:"checkbox",class:`toggle ${s.class||""}`}),tooltip:(s,a)=>e("div",{class:`tooltip ${s.class||""}`,"data-tip":s.tip},a),validator:(s,a)=>e("div",{...s,class:`validator-hint ${s.class||""}`},a)},F=(s)=>{let[a,l,t,o]=[f(new Date),f(0),f(0),f(0)],d=new Date,c=(n)=>n?`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`:"",r=(n)=>(n<10?"0":"")+n,b=(n,i=0)=>a(new Date(a().getFullYear()+i,a().getMonth()+n,1)),u=()=>typeof s.value=="function"?s.value():s.value,x=()=>typeof s.range=="function"?s.range():s.range,p=(n)=>{let i=c(n),g=u();if(!x())return s.onChange?.(s.hour?`${i}T${r(t())}:00:00`:i);if(!g?.start||g.end)return s.onChange?.({start:i,end:null,...s.hour&&{startHour:t()}});let _=ie("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:n,class:"range range-xs",oninput:(g)=>i(+g.target.value)}),e("span",{class:"text-sm font-mono"},()=>r(n())+":00")]);return e("div",{class:`p-4 bg-base-100 rounded-box w-80 select-none ${s.class||""}`},[e("div",{class:"flex justify-between items-center mb-4"},[e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(0,-1)},e("span",{class:"icon-[lucide--chevrons-left]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(-1,0)},e("span",{class:"icon-[lucide--chevron-left]"}))]),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex gap-1"},[e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(1,0)},e("span",{class:"icon-[lucide--chevron-right]"})),e("button",{class:"btn btn-ghost btn-xs",onclick:()=>b(0,1)},e("span",{class:"icon-[lucide--chevrons-right]"}))])]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>l(null)},[..."LMXJVSD".split("").map((n)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},n)),()=>{let n=a().getFullYear(),i=a().getMonth(),g=(new Date(n,i,1).getDay()+6)%7;return[...Array(g).fill(e("div")),...Array(new Date(n,i+1,0).getDate()).keys()].map((k)=>{if(typeof k!="number")return k;let _=k+1,m=c(new Date(n,i,_)),A=c(d)==m;return e("button",{type:"button",onclick:()=>p(new Date(n,i,_)),onmouseenter:()=>x()&&l(m),class:()=>{let w=u(),C=l(),D=w?.start||(typeof w=="string"?w.slice(0,10):0),L=w?.end==m,T=D==m,B=x()&&w?.start&&(w.end?m>w.start&&mD&&m<=C||m=C));return`btn btn-xs p-0 aspect-square min-h-0 h-auto font-normal relative ${T||L?"btn-primary z-10":B?"bg-primary/20 border-none rounded-none":"btn-ghost"} ${A?"ring-1 ring-primary font-black":""}`}},_)})}]),s.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},x()?[y({v:t,on:t}),y({v:o,on:o})]:[y({v:t,on:t})])])},z=(s)=>{let a=(t)=>(t||"").toLowerCase(),l=["#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"];return e("div",{class:`p-3 bg-base-100 rounded-box shadow w-64 ${s.class||""}`},e("div",{class:"grid grid-cols-8 gap-1"},l.map((t)=>e("button",{type:"button",style:`background:${t}`,onclick:()=>(h(s.value)?s.value(t):s.onchange?.(t),M()),class:()=>`size-6 rounded-sm transition-all hover:scale-125 hover:z-10 active:scale-95 border border-black/5 p-0 min-h-0 ${a($(s.value))==a(t)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},P=(s,a="alert-success",l=3500)=>{let t=document.getElementById("stc"),o,d,c=e("div",{style:"display:contents"});if(!t)document.body.append(t=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));t.append(c);let r=E(()=>{let b=f(0),u=f(0);return d=()=>u()||(u(1),clearTimeout(o),setTimeout(()=>(r.destroy(),c.remove(),t.firstChild||t.remove()),300)),setTimeout(()=>b(1)),e("div",{class:()=>`alert alert-soft ${a} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${u()?"translate-x-full opacity-0":b()?"translate-x-0 opacity-100":"translate-x-10 opacity-0"}`},[typeof s=="function"?s():typeof s=="string"?e("span",s):s,e("button",{class:"btn btn-xs btn-circle btn-ghost",onclick:d},e("span",{class:"icon-[lucide--x]"}))])},c);if(l>0)o=setTimeout(d,l);return d};window.ui=v;window.toast=P;window.calendar=F;window.pallete=z;export{v as ui,P as toast,z as pallete,M as hide,F as calendar}; diff --git a/docs/ui.md b/docs/ui.md index e745d11..d019639 100644 --- a/docs/ui.md +++ b/docs/ui.md @@ -1,5 +1,6 @@
+
```js @@ -261,7 +262,7 @@ mount( ]), ]) : null, ]), - "#ui", + "#file", ); diff --git a/src/sigpro.ui.js b/src/sigpro.ui.js index aab31ae..7347f80 100644 --- a/src/sigpro.ui.js +++ b/src/sigpro.ui.js @@ -4,8 +4,8 @@ export const hide = () => document.activeElement?.blur(); export const ui = { accordion: (p, c) => h("div", { ...p, class: `collapse ${p.class || ''}` }, [h("input", { type: "radio", name: p.name, checked: p.checked }), c]), - accordionTitle: (p, c) => h("div", { ...p, class: `collapse-title ${p.class || ''}` }, c), - accordionContent: (p, c) => h("div", { ...p, class: `collapse-content ${p.class || ''}` }, c), + accordion_title: (p, c) => h("div", { ...p, class: `collapse-title ${p.class || ''}` }, c), + accordion_content: (p, c) => h("div", { ...p, class: `collapse-content ${p.class || ''}` }, c), alert: (p, c) => h("div", { ...p, class: `alert ${p.class || ''}` }, c), autocomplete: (p) => ui.combo(p, ({ query, close, setValue }) => h("ul", { class: "menu bg-base-100 w-full" }, () => { @@ -31,21 +31,21 @@ export const ui = { }) ), avatar: (p, c) => h("div", { ...p, class: `avatar ${p.class || ''}` }, h("div", { class: p.innerClass || '' }, c)), - avatarGroup: (p, c) => h("div", { ...p, class: `avatar-group -space-x-6 ${p.class || ''}` }, c), + avatar_group: (p, c) => h("div", { ...p, class: `avatar-group -space-x-6 ${p.class || ''}` }, c), badge: (p, c) => h("span", { ...p, class: `badge ${p.class || ''}` }, c), breadcrumbs: (p, c) => h("div", { ...p, class: `breadcrumbs ${p.class || ''}` }, c), button: (p, c) => h("button", { ...p, class: `btn ${p.class || ''}` }, c), card: (p, c) => h("div", { ...p, class: `card ${p.class || ''}` }, c), - cardTitle: (p, c) => h("div", { ...p, class: `card-title ${p.class || ''}` }, c), - cardBody: (p, c) => h("div", { ...p, class: `card-body ${p.class || ''}` }, c), - cardActions: (p, c) => h("div", { ...p, class: `card-actions ${p.class || ''}` }, c), + card_title: (p, c) => h("div", { ...p, class: `card-title ${p.class || ''}` }, c), + card_body: (p, c) => h("div", { ...p, class: `card-body ${p.class || ''}` }, c), + card_actions: (p, c) => h("div", { ...p, class: `card-actions ${p.class || ''}` }, c), carousel: (p, c) => h("div", { ...p, class: `carousel ${p.class || ''}` }, c), - carouselItem: (p, c) => h("div", { ...p, class: `carousel-item ${p.class || ''}` }, c), + carousel_item: (p, c) => h("div", { ...p, class: `carousel-item ${p.class || ''}` }, c), chat: (p, c) => h("div", { ...p, class: `chat ${p.class || ''}` }, c), - chatImage: (p, c) => h("div", { ...p, class: `chat-image avatar ${p.class || ''}` }, c), - chatHeader: (p, c) => h("div", { ...p, class: `chat-header ${p.class || ''}` }, c), - chatBubble: (p, c) => h("div", { ...p, class: `chat-bubble ${p.class || ''}` }, c), - chatFooter: (p, c) => h("div", { ...p, class: `chat-footer ${p.class || ''}` }, c), + chat_image: (p, c) => h("div", { ...p, class: `chat-image avatar ${p.class || ''}` }, c), + chat_header: (p, c) => h("div", { ...p, class: `chat-header ${p.class || ''}` }, c), + chat_bubble: (p, c) => h("div", { ...p, class: `chat-bubble ${p.class || ''}` }, c), + chat_footer: (p, c) => h("div", { ...p, class: `chat-footer ${p.class || ''}` }, c), checkbox: (p) => h("input", { ...p, type: "checkbox", class: `checkbox ${p.class || ''}` }), colorpicker: (p) => ui.combo({ ...p, custom: () => h("span", { @@ -108,24 +108,24 @@ export const ui = { }, divider: (p) => h("div", { ...p, class: `divider ${p.class || ''}` }), drawer: (p, c) => h("div", { ...p, class: `drawer ${p.class || ''}` }, c), - drawerToggle: (p) => h("input", { ...p, type: "checkbox", class: `drawer-toggle ${p.class || ''}` }), - drawerContent: (p, c) => h("div", { ...p, class: `drawer-content ${p.class || ''}` }, c), - drawerSide: (p, c) => h("div", { ...p, class: `drawer-side ${p.class || ''}` }, c), - drawerOverlay: (p) => h("label", { ...p, class: `drawer-overlay ${p.class || ''}` }), + drawer_toggle: (p) => h("input", { ...p, type: "checkbox", class: `drawer-toggle ${p.class || ''}` }), + drawer_content: (p, c) => h("div", { ...p, class: `drawer-content ${p.class || ''}` }, c), + drawer_side: (p, c) => h("div", { ...p, class: `drawer-side ${p.class || ''}` }, c), + drawer_overlay: (p) => h("label", { ...p, class: `drawer-overlay ${p.class || ''}` }), dropdown: (p, c) => h("div", { ...p, class: `dropdown ${p.class || ''}` }, c), - dropdownButton: (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `btn ${p.class || ''}` }, c), - dropdownContent: (p, c) => h("div", { ...p, tabindex: "0", class: `dropdown-content ${p.class || ''}` }, c), + dropdown_button: (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `btn ${p.class || ''}` }, c), + dropdown_content: (p, c) => h("div", { ...p, tabindex: "0", class: `dropdown-content ${p.class || ''}` }, c), fab: (p, c) => h("div", { ...p, class: `fab ${p.class || ''}` }, c), - fabButton: (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `btn ${p.class || ''}` }, c), + fab_button: (p, c) => h("div", { ...p, tabindex: "0", role: "button", class: `btn ${p.class || ''}` }, c), fieldset: (p, c) => h("fieldset", { class: `fieldset ${p.class || ''}` }, [h("legend", { class: "fieldset-legend" }, p.label), c]), - fileInput: (p) => h("input", { ...p, type: "file", class: `file-input ${p.class || ''}` }), - fileDrag: (p, c) => h("label", { + file: (p) => h("input", { ...p, type: "file", class: `file-input ${p.class || ''}` }), + file_drag: (p, c) => h("label", { class: () => `relative flex items-center justify-between h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all ${p.drag ? 'border-primary bg-primary/10' : 'border-base-content/20 bg-base-100'} ${p.class || ''}`, ondragover: (e) => { e.preventDefault(); p.ondrag?.(true); }, ondragleave: () => p.ondrag?.(false), ondrop: (e) => { e.preventDefault(); p.ondrag?.(false); p.ondrop?.(e.dataTransfer.files); } }, c), - filePreview: (p) => h("ul", { class: `mt-2 space-y-1 ${p.class || ''}` }, + file_preview: (p) => h("ul", { class: `mt-2 space-y-1 ${p.class || ''}` }, (p.files || []).map((f, i) => h("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border" }, [ h("div", { class: "flex items-center gap-2 truncate opacity-70" }, [ @@ -137,13 +137,12 @@ export const ui = { ]) ) ), - fileError: (p) => h("div", { class: `text-[10px] text-error mt-1 px-1 ${p.class || ''}` }, p.message), + file_error: (p) => h("div", { class: `text-[10px] text-error mt-1 px-1 ${p.class || ''}` }, p.message), float: (p, c) => h("label", { class: "floating-label" }, [h("span", {}, p.label ?? null), c]), - icon: (p) => h("span", { class: p || '' }), indicator: (p, c) => h("div", { ...p, class: `indicator ${p.class || ''}` }, [p.value && h("span", { class: `indicator-item badge ${p.badgeClass || ''}` }, p.value), c]), input: (p) => ui.float({ label: p.label }, [ h("label", { class: "input w-full" }, [ - ui.icon(p.icon ?? ""), + span({ class: `${p.icon ?? ''}` }), h("input", { ...p, class: `w-full ${p.class || ''}` }), p.right || null ]) @@ -152,20 +151,22 @@ export const ui = { label: (p, c) => h("span", { ...p, class: `label ${p.class || ''}` }, c), loading: (p) => h("span", { ...p, class: `loading loading-spinner ${p.class || ''}` }), menu: (p, c) => h("ul", { ...p, class: `menu ${p.class || ''}` }, c), - menuItems: (p) => (p.items || []).map((i) => { - if (i.items) { - return h('li', {}, [ - h('details', { open: i.open || false }, [ - h('summary', {}, i.label), - h('ul', { class: i.submenuClass || '' }, menuItems({ items: i.items })) - ]) - ]); - } - return h('li', {}, i.href ? h('a', { href: i.href }, i.label) : i.label); - }), + menu_items: function _menu_items(p) { + return (p.items || []).map((i) => { + if (i.items) { + return h('li', {}, [ + h('details', { open: i.open || false }, [ + h('summary', {}, i.label), + h('ul', { class: i.submenuClass || '' }, _menu_items({ items: i.items })) + ]) + ]); + } + return h('li', {}, i.href ? h('a', { href: i.href }, i.label) : i.label); + }); + }, modal: (p, c) => h("dialog", { ...p, class: `modal ${p.class || ''}` }, [c, h("form", { method: "dialog", class: "modal-backdrop" }, h("button", {}, "close"))]), - modalBox: (p, c) => h("div", { ...p, class: `modal-box ${p.class || ''}` }, [h("form", { method: "dialog" }, h("button", { class: "btn btn-sm btn-circle btn-ghost absolute right-2 top-2" }, "✕")), c]), - modalAction: (p, c) => h("div", { ...p, class: `modal-action ${p.class || ''}` }, c), + modal_box: (p, c) => h("div", { ...p, class: `modal-box ${p.class || ''}` }, [h("form", { method: "dialog" }, h("button", { class: "btn btn-sm btn-circle btn-ghost absolute right-2 top-2" }, "✕")), c]), + modal_action: (p, c) => h("div", { ...p, class: `modal-action ${p.class || ''}` }, c), navbar: (p, c) => h("div", { ...p, class: `navbar ${p.class || ''}` }, c), option: (p, c) => h("option", { ...p }, c), password: (p) => { @@ -175,10 +176,9 @@ export const ui = { ...rest, type: () => val(show) ? "text" : "password", icon: "icon-[lucide--lock]", - right: ui.swap({ class: "swap swap-rotate" }, [ - h('input', { type: "checkbox", checked: show }), - ui.swapOn({}, ui.icon("icon-[lucide--eye]")), - ui.swapOff({}, ui.icon("icon-[lucide--eye-off]")) + right: ui.swap({ value: show, class: "swap-rotate" }, [ + ui.swap_on({}, span({ class: "icon-[lucide--eye]" })), + ui.swap_off({}, span({ class: "icon-[lucide--eye-off]" })) ]) }); }, @@ -197,26 +197,26 @@ export const ui = { }) ) ), - search: (p) => ui.text({ ...p, type: "search", icon: p.icon ?? "icon-[lucide--search]" }), + search: (p) => ui.input({ ...p, type: "search", icon: p.icon ?? "icon-[lucide--search]" }), select: (p, c) => h("select", { ...p, class: `select ${p.class || ''}` }, c), stack: (p, c) => h("div", { ...p, class: `stack ${p.class || ''}` }, c), stat: (p, c) => h("div", { ...p, class: `stat ${p.class || ''}` }, c), - statFigure: (p, c) => h("div", { ...p, class: `stat-figure ${p.class || ''}` }, c), - statTitle: (p, c) => h("div", { ...p, class: `stat-title ${p.class || ''}` }, c), - statValue: (p, c) => h("div", { ...p, class: `stat-value ${p.class || ''}` }, c), - statDesc: (p, c) => h("div", { ...p, class: `stat-desc ${p.class || ''}` }, c), + stat_figure: (p, c) => h("div", { ...p, class: `stat-figure ${p.class || ''}` }, c), + stat_title: (p, c) => h("div", { ...p, class: `stat-title ${p.class || ''}` }, c), + stat_value: (p, c) => h("div", { ...p, class: `stat-value ${p.class || ''}` }, c), + stat_desc: (p, c) => h("div", { ...p, class: `stat-desc ${p.class || ''}` }, c), steps: (p, c) => h("ul", { ...p, class: `steps ${p.class || ''}` }, c), step: (p, c) => h("li", { ...p, class: `step ${p.class || ''}`, "data-content": p.dataContent }, c), - swap: (p, c) => h("label", { ...p, class: `swap ${p.class || ''}` }, c), - swapOn: (p, c) => h("div", { ...p, class: `swap-on ${p.class || ''}` }, c), - swapOff: (p, c) => h("div", { ...p, class: `swap-off ${p.class || ''}` }, c), + swap: (p, c) => h("label", { class: `swap ${p.class || ''}` }, [h("input", { type: "checkbox", checked: p.value }), ...(isA(c) ? c : [c])]), + swap_on: (p, c) => h("div", { ...p, class: `swap-on ${p.class || ''}` }, c), + swap_off: (p, c) => h("div", { ...p, class: `swap-off ${p.class || ''}` }, c), table: (p, c) => h("table", { ...p, class: `table ${p.class || ''}` }, c), - tableHead: (p, c) => h("thead", { ...p, class: p.class || '' }, c), - tableBody: (p, c) => h("tbody", { ...p, class: p.class || '' }, c), - tableFoot: (p, c) => h("tfoot", { ...p, class: p.class || '' }, c), - tableRow: (p, c) => h("tr", { ...p, class: p.class || '' }, c), - tableTh: (p, c) => h("th", { ...p, class: p.class || '' }, c), - tableTd: (p, c) => h("td", { ...p, class: p.class || '' }, c), + table_head: (p, c) => h("thead", { ...p, class: p.class || '' }, c), + table_body: (p, c) => h("tbody", { ...p, class: p.class || '' }, c), + table_foot: (p, c) => h("tfoot", { ...p, class: p.class || '' }, c), + table_row: (p, c) => h("tr", { ...p, class: p.class || '' }, c), + table_th: (p, c) => h("th", { ...p, class: p.class || '' }, c), + table_td: (p, c) => h("td", { ...p, class: p.class || '' }, c), tabs: (p, c) => div({ ...p, class: `tabs ${p.class || ''}` }, c), tab: (p) => { const close = () => p.tabs?.(p.tabs().filter((_, idx) => idx !== p.index)) @@ -236,9 +236,9 @@ export const ui = { textrotate: (p, c) => h("span", { ...p, class: `text-rotate ${p.class || ''}` }, h("span", {}, c)), theme: (p) => ui.toggle({ value: p?.value || "spdark", class: "theme-controller" }), timeline: (p, c) => h("ul", { ...p, class: `timeline ${p.class || ''}` }, c), - timelineStart: (p, c) => h("div", { ...p, class: `timeline-start ${p.class || ''}` }, c), - timelineMiddle: (p, c) => h("div", { ...p, class: `timeline-middle ${p.class || ''}` }, c), - timelineEnd: (p, c) => h("div", { ...p, class: `timeline-end ${p.class || ''}` }, c), + timeline_start: (p, c) => h("div", { ...p, class: `timeline-start ${p.class || ''}` }, c), + timeline_middle: (p, c) => h("div", { ...p, class: `timeline-middle ${p.class || ''}` }, c), + timeline_end: (p, c) => h("div", { ...p, class: `timeline-end ${p.class || ''}` }, c), toggle: (p) => h("input", { ...p, type: "checkbox", class: `toggle ${p.class || ''}` }), tooltip: (p, c) => h('div', { class: `tooltip ${p.class || ''}`, "data-tip": p.tip }, c), validator: (p, c) => h("div", { ...p, class: `validator-hint ${p.class || ''}` }, c),