Files
sigpro/dist/sigpro.ui.js
2026-05-13 13:22:52 +02:00

2 lines
15 KiB
JavaScript

var{$:g,h:e,mount:L,val:$,isF:f,isO:T}=window.SigPro,H=()=>document.activeElement?.blur(),u={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)=>u.combo(s,({query:a,close:l,setValue:t})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let r=String($(a)).toLowerCase(),i=($(s.items)||[]).filter((c)=>(T(c)?c.label??c.value:String(c)).toLowerCase().includes(r));return i.length?i.map((c,d)=>e("li",{key:c.value??d},e("a",{onclick:(m)=>{m.preventDefault();let b=c?.value??c;if(t(T(c)?c.label??c.value:String(c)),f(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)=>u.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,r=f(s.value)?s.value:g(s.value??""),i,c=g(!1);return u.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:r,onfocus:()=>c(!0),ref:(d)=>i=d})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 max-w-80 shadow-sm",onmousedown:(d)=>d.preventDefault()},()=>$(c)&&typeof a==="function"?a({query:r,open:c,close:()=>{c(!1),i?.blur()},setValue:(d)=>r(d)}):null)])])},datepicker:(s)=>{if(!(f(s.range)?s.range():s.range))return u.combo({value:(f(s.value)?s.value():s.value)||"",...s},({close:d,setValue:m})=>e("div",{class:"w-80"},F({...s,class:"w-full",onChange:(b)=>{if(m(b),d(),f(s.value))s.value(b)}})));let l=g(f(s.value)?s.value():s.value||{start:null,end:null}),t=g((l()||{}).start||""),r=g((l()||{}).end||""),i=()=>{if(l({start:t(),end:r()}),f(s.value))s.value(l())},c=(d,m,b,x)=>u.combo({value:m,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||""),r(n?.end||""),y(n?.[d]||""),n?.end)C();if(f(s.value))s.value(n)}})));return e("div",{class:`flex gap-1 ${s.class||""}`,onchange:i},[c("start",t,s.fromPlaceholder||"Inicio"),c("end",r,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)=>u.float({label:s.label},[e("label",{class:"input w-full"},[u.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=g(!1),{right:l,...t}=s;return u.input({...t,type:()=>$(a)?"text":"password",icon:"icon-[lucide--lock]",right:u.swap({class:"swap swap-rotate"},[e("input",{type:"checkbox",checked:a}),u.swapOn({},u.icon("icon-[lucide--eye]")),u.swapOff({},u.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:()=>f(s.value)?s.value(l):s.onChange?.(l)}))),search:(s)=>u.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)=>e("div",{style:"display:contents"},e("div",{class:`tabs ${s.class||""}`},(s.items||[]).map((a,l)=>[e("input",{type:"radio",name:s.name,class:`tab ${a.class||""}`,"aria-label":a.label,checked:()=>$(s.value)===l,onclick:()=>f(s.value)?s.value(l):s.onChange?.(l)}),a.closable&&e("span",{class:"cursor-pointer text-xs",onclick:(t)=>{t.stopPropagation(),f(s.items)&&s.items(s.items().filter((r,i)=>i!==l))}}," ✕")])),e("div",{class:`tab-content ${s.contentClass||""}`},s.items[$(s.value)]?.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)=>u.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,r]=[g(new Date),g(0),g(0),g(0)],i=new Date,c=(n)=>n?`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`:"",d=(n)=>(n<10?"0":"")+n,m=(n,o=0)=>a(new Date(a().getFullYear()+o,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 o=c(n),v=b();if(!x())return s.onChange?.(s.hour?`${o}T${d(t())}:00:00`:o);if(!v?.start||v.end)return s.onChange?.({start:o,end:null,...s.hour&&{startHour:t()}});let k=o<v.start?{start:o,end:v.start}:{start:v.start,end:o};s.onChange?.({...k,...s.hour&&{startHour:v.startHour??t(),endHour:r()}})},y=({v:n,on:o})=>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:(v)=>o(+v.target.value)}),e("span",{class:"text-sm font-mono"},()=>d(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"},[["-1y",-1,1],["-1m",-1,0]].map(([n,o,v])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>m(o,v)},e("span",{class:`icon-[lucide--chevron${v?"s":""}-left]`})))),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex"},[[1,0],[1,1]].map(([n,o])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>m(n,o)},e("span",{class:`icon-[lucide--chevron${o?"s":""}-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(),o=a().getMonth(),v=(new Date(n,o,1).getDay()+6)%7;return[...Array(v).fill(e("div")),...Array(new Date(n,o+1,0).getDate()).keys()].map((p)=>{if(typeof p!="number")return p;let k=p+1,h=c(new Date(n,o,k)),A=c(i)==h;return e("button",{type:"button",onclick:()=>C(new Date(n,o,k)),onmouseenter:()=>x()&&l(h),class:()=>{let w=b(),D=l(),S=w?.start||(typeof w=="string"?w.slice(0,10):0),I=w?.end==h,z=S==h,E=x()&&w?.start&&(w.end?h>w.start&&h<w.end:D&&(h>S&&h<=D||h<S&&h>=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:r,on:r})]:[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:()=>(f(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"),r,i,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 d=L(()=>{let m=g(0),b=g(0);return i=()=>b()||(b(1),clearTimeout(r),setTimeout(()=>(d.destroy(),c.remove(),t.firstChild||t.remove()),300)),setTimeout(()=>m(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":m()?"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:i},e("span",{class:"icon-[lucide--x]"}))])},c);if(l>0)r=setTimeout(i,l);return i};window.ui=u;window.toast=M;window.calendar=F;window.pallete=B;export{u as ui,M as toast,B as pallete,H as hide,F as calendar};