Files
sigpro/dist/sigpro.ui.js
2026-05-14 14:28:07 +02:00

2 lines
15 KiB
JavaScript

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=d<g.start?{start:d,end:g.start}:{start:g.start,end:d};s.onChange?.({...k,...s.hour&&{startHour:g.startHour??t(),endHour:o()}})},y=({v:n,on:d})=>e("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&&m<w.end:D&&(m>S&&m<=D||m<S&&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};