Files
sigpro/dist/sigpro.ui.js
2026-05-12 23:57:32 +02:00

2 lines
14 KiB
JavaScript

var{$:m,h:e,mount:L,val:v,isF:w,isO:T,watch:M}=window.SigPro,O=()=>document.activeElement?.blur(),d={_label:(s,a)=>e("label",{class:"floating-label"},[e("span",{},s.label??null),a]),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)=>d.combo(s,({query:a,close:t,setValue:l})=>e("ul",{class:"menu bg-base-100 w-full"},()=>{let n=String(v(a)).toLowerCase(),i=(v(s.items)||[]).filter((c)=>(T(c)?c.label??c.value:String(c)).toLowerCase().includes(n));return i.length?i.map((c,b)=>e("li",{key:c.value??b},e("a",{onclick:(h)=>{h.preventDefault();let g=c?.value??c;if(l(T(c)?c.label??c.value:String(c)),w(s.value))s.value(g);else s.onChange?.(g);t()}},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)=>d.combo({...s,style:()=>`background:${v(s.value)||"#000"}`,custom:()=>e("span",{class:"w-4 h-4 rounded border border-base-300",style:`background:${v(s.value)||"#000"}`})},({close:a,setValue:t})=>B({...s,onchange:(l)=>{t(l),a()}})),combo:(s,a)=>{let{placeholder:t="",class:l=""}=s,n=m(""),i,c=m(!1);return d._label({label:s.label},[e("div",{class:`dropdown ${l} ${v(c)?"dropdown-open":""}`},[e("label",{class:"input"},[e("span",{class:s.icon??"icon-[lucide--search]"}),s.custom??null,e("input",{type:"search",placeholder:t,tabindex:"0",value:n,onfocus:()=>c(!0),ref:(b)=>i=b})]),e("div",{class:"dropdown-content bg-base-100 rounded-box z-50 w-full p-2 shadow-sm",onmousedown:(b)=>b.preventDefault()},()=>v(c)&&typeof a==="function"?a({query:n,open:c,close:()=>{c(!1),i?.blur()},setValue:(b)=>n(b)}):null)])])},datepicker:(s)=>d.combo(s,({close:a,setValue:t})=>{let l=s.range;return e("div",{class:"w-80"},[S({...s,class:"w-full",onChange:(n)=>{if(w(s.value))s.value(n);if(!l)t(n),a();else if(n.start&&n.end)t(`${n.start}${n.end}`),a();else if(n.start)t(`${n.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:(t)=>{t.preventDefault(),s.ondrag?.(!0)},ondragleave:()=>s.ondrag?.(!1),ondrop:(t)=>{t.preventDefault(),s.ondrag?.(!1),s.ondrop?.(t.dataTransfer.files)}},a),filePreview:(s)=>e("ul",{class:`mt-2 space-y-1 ${s.class||""}`},(s.files||[]).map((a,t)=>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?.(t)},e("span",{class:"icon-[lucide--x]"}))]))),fileError:(s)=>e("div",{class:`text-[10px] text-error mt-1 px-1 ${s.class||""}`},s.message),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)=>e("input",{...s,class:`input ${s.class||""}`}),inputPass:(s)=>{let a=m(!1);return[d.input({...s,type:()=>v(a)?"text":"password"}),d.swap({class:"ml-2 swap-rotate"},[d.checkbox({checked:a}),d.swapOn({},d.icon("icon-[lucide--eye]")),d.swapOff({},d.icon("icon-[lucide--eye-off]"))])]},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),progress:(s)=>e("progress",{...s,class:`progress ${s.class||""}`}),radial:(s)=>e("div",{...s,class:`radial-progress ${s.class||""}`,style:`--value:${v(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,t)=>e("input",{class:`mask ${s.mask||"mask-star"} ${s.itemClass||""}`,name:s.name,type:"radio",checked:()=>v(s.value)===(s.offset?t+s.offset:t),onclick:()=>w(s.value)?s.value(t):s.onChange?.(t)}))),search:(s)=>d.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,t)=>[e("input",{type:"radio",name:s.name,class:`tab ${a.class||""}`,"aria-label":a.label,checked:()=>v(s.value)===t,onclick:()=>w(s.value)?s.value(t):s.onChange?.(t)}),a.closable&&e("span",{class:"cursor-pointer text-xs",onclick:(l)=>{l.stopPropagation(),w(s.items)&&s.items(s.items().filter((n,i)=>i!==t))}}," ✕")])),e("div",{class:`tab-content ${s.contentClass||""}`},s.items[v(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)=>d.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)},S=(s)=>{let[a,t,l,n]=[m(new Date),m(0),m(0),m(0)],i=new Date,c=(o)=>o?.toISOString().slice(0,10),b=(o)=>(o<10?"0":"")+o,h=(o,r=0)=>a(new Date(a().getFullYear()+r,a().getMonth()+o,1)),g=()=>typeof s.value=="function"?s.value():s.value,y=()=>typeof s.range=="function"?s.range():s.range,F=(o)=>{let r=c(o),u=g();if(!y())return s.onChange?.(s.hour?`${r}T${b(l())}:00:00`:r);if(!u?.start||u.end)return s.onChange?.({start:r,end:null,...s.hour&&{startHour:l()}});let x=r<u.start?{start:r,end:u.start}:{start:u.start,end:r};s.onChange?.({...x,...s.hour&&{startHour:u.startHour??l(),endHour:n()}})},k=({v:o,on:r})=>e("div",{class:"flex-1 flex gap-2 items-center"},[e("input",{type:"range",min:0,max:23,value:o,class:"range range-xs",oninput:(u)=>r(+u.target.value)}),e("span",{class:"text-sm font-mono"},()=>b(o())+":00")]);return e("div",{class:`p-4 bg-base-100 border shadow-2xl 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(([o,r,u])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>h(r,u)},e("span",{class:`icon-[lucide--chevron${u?"s":""}-left]`})))),e("span",{class:"font-bold uppercase"},()=>a().toLocaleString("es",{month:"short",year:"numeric"})),e("div",{class:"flex"},[[1,0],[1,1]].map(([o,r])=>e("button",{class:"btn btn-ghost btn-xs",onclick:()=>h(o,r)},e("span",{class:`icon-[lucide--chevron${r?"s":""}-right]`}))))]),e("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>t(null)},[..."LMXJVSD".split("").map((o)=>e("div",{class:"text-[10px] opacity-40 font-bold text-center"},o)),()=>{let o=a().getFullYear(),r=a().getMonth(),u=(new Date(o,r,1).getDay()+6)%7;return[...Array(u).fill(e("div")),...Array(new Date(o,r+1,0).getDate()).keys()].map((p)=>{if(typeof p!="number")return p;let x=p+1,f=c(new Date(o,r,x)),A=c(i)==f;return e("button",{type:"button",onclick:()=>F(new Date(o,r,x)),onmouseenter:()=>y()&&t(f),class:()=>{let $=g(),C=t(),D=$?.start||(typeof $=="string"?$.slice(0,10):0),I=$?.end==f,z=D==f,E=y()&&$?.start&&($.end?f>$.start&&f<$.end:C&&(f>D&&f<=C||f<D&&f>=C));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":""}`}},x)})}]),s.hour&&e("div",{class:"mt-3 pt-2 border-t flex gap-4"},y()?[k({v:l,on:l}),k({v:n,on:n})]:[k({v:l,on:l})])])},B=(s)=>{let a=(l)=>(l||"").toLowerCase(),t=["#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"},t.map((l)=>e("button",{type:"button",style:`background:${l}`,onclick:()=>(w(s.value)?s.value(l):s.onchange?.(l),O()),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(v(s.value))==a(l)?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`}))))},H=(s,a="alert-success",t=3500)=>{let l=document.getElementById("stc"),n,i,c=e("div",{style:"display:contents"});if(!l)document.body.append(l=e("div",{id:"stc",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col items-end gap-2 pointer-events-none"}));l.append(c);let b=L(()=>{let h=m(0),g=m(0);return i=()=>g()||(g(1),clearTimeout(n),setTimeout(()=>(b.destroy(),c.remove(),l.firstChild||l.remove()),300)),setTimeout(()=>h(1)),e("div",{class:()=>`alert alert-soft ${a} shadow-lg transition-all duration-300 inline-flex w-auto pointer-events-auto ${g()?"translate-x-full opacity-0":h()?"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(t>0)n=setTimeout(i,t);return i};window.ui=d;window.toast=H;window.calendar=S;window.pallete=B;export{d as ui,H as toast,B as pallete,O as hide,S as calendar};