@sortsys/ui 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dev.js CHANGED
@@ -1,2 +1,2 @@
1
- import {template,delegateEvents,insert,memo,effect,setAttribute,use,createComponent,addEventListener,className,spread,mergeProps,style,setStyleProperty,Portal}from'solid-js/web';import {createContext,useContext,createSignal,onMount,onCleanup,createEffect,createUniqueId,For,untrack,createMemo,Show,createResource}from'solid-js';import {useLocation,A,useNavigate}from'@solidjs/router';var wt=template("<button>");function U(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??""].filter(Boolean).join(" ");return (()=>{var r=wt();return addEventListener(r,"click",e.onclick,true),insert(r,()=>e.children),effect(l=>{var i=e.type??"button",n=t(),c=e.disabled,h=e.ariaLabel,b=e.form;return i!==l.e&&setAttribute(r,"type",l.e=i),n!==l.t&&className(r,l.t=n),c!==l.a&&(r.disabled=l.a=c),h!==l.o&&setAttribute(r,"aria-label",l.o=h),b!==l.i&&setAttribute(r,"form",l.i=b),l},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}delegateEvents(["click"]);var yt=template("<div><span class=ss_callout__icon></span><div class=ss_callout__content><span>");function St(e){let{icon:t,color:r,class:l,style:i,children:n,...c}=e;return (()=>{var h=yt(),b=h.firstChild,v=b.nextSibling,a=v.firstChild;return spread(h,mergeProps(c,{class:`ss_callout ss_callout--${r} ${l??""}`,style:i}),false,true),insert(b,t),insert(a,n),h})()}var Et=template("<button type=button><span class=ss_chip__label>"),Dt=template("<div><span class=ss_chip__label>"),Lt=template('<button type=button class=ss_chip__dismiss aria-label=Entfernen><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M18 6l-12 12"></path><path d="M6 6l12 12">');function Tt(e){let t=`ss_chip ss_chip--${e.color??"blue"} ${e.class??""}`;return "onclick"in e&&e.onclick?(()=>{var r=Et(),l=r.firstChild;return addEventListener(r,"click",e.onclick,true),className(r,`${t} ss_chip--clickable`),insert(l,()=>e.children),effect(i=>style(r,e.style,i)),r})():(()=>{var r=Dt(),l=r.firstChild;return className(r,t),insert(l,()=>e.children),insert(r,(()=>{var i=memo(()=>!!("ondismiss"in e&&e.ondismiss));return ()=>i()&&(()=>{var n=Lt();return addEventListener(n,"click",e.ondismiss,true),n})()})(),null),effect(i=>style(r,e.style,i)),r})()}delegateEvents(["click"]);var At=template("<div>"),Ht=template('<div class=ss_table__pagination><button type=button class=ss_table__page_button aria-label="Erste Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M7 6v12"></path><path d="M18 6l-6 6l6 6"></path></svg></button><button type=button class=ss_table__page_button aria-label="Vorherige Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M15 6l-6 6l6 6"></path></svg></button><span class=ss_table__page_info>Seite <!> von </span><button type=button class=ss_table__page_button aria-label="N\xE4chste Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></button><button type=button class=ss_table__page_button aria-label="Letzte Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 6l6 6l-6 6"></path><path d="M17 5v13">'),Pt=template("<div><div class=ss_table__scroll><table><thead><tr></tr></thead><tbody>"),Nt=template("<th>"),zt=template("<button type=button class=ss_table__sort_button><span class=ss_table__sort_icon aria-hidden=true>"),Ot=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),Vt=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-up"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 15l6 -6l6 6">'),jt=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-selector"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M8 9l4 -4l4 4"></path><path d="M16 15l-4 4l-4 -4">'),qt=template("<span class=ss_table__header_label>"),Yt=template("<tr>"),Rt=template("<td>");function Jt(e){let t=createMemo(()=>e.render(e.row)),[r]=createResource(async()=>{let l=t();return l&&typeof l.then=="function"?await l:null});return (()=>{var l=At();return insert(l,()=>{let i=t();return i&&typeof i.then=="function"?r()??"":i}),l})()}function Wt(e){let[t,r]=createSignal(-1),[l,i]=createSignal(null),[n,c]=createSignal(1),h=()=>Math.max(1,e.pageSize??25),b=createMemo(()=>{let x=t(),M=l();if(x<0||!M)return e.rows;let D=e.columns[x];if(!D?.sortKey)return e.rows;let g=e.rows.map((C,d)=>({row:C,idx:d,key:D.sortKey(C)}));return g.sort((C,d)=>C.key===d.key?C.idx-d.idx:C.key<d.key?M==="asc"?-1:1:M==="asc"?1:-1),g.map(C=>C.row)}),v=createMemo(()=>Math.max(1,Math.ceil(b().length/h()))),a=createMemo(()=>{let M=(Math.min(n(),v())-1)*h();return b().slice(M,M+h())});createEffect(()=>{n()>v()&&c(v());});let s=x=>{if(t()!==x){r(x),i("asc"),c(1);return}if(l()==="asc"){i("desc");return}if(l()==="desc"){r(-1),i(null),c(1);return}i("asc"),c(1);},o=x=>{let M=Math.min(Math.max(1,x),v());c(M);},p=()=>e.paginationPosition??"bottom",k=()=>`ss_table ${p()==="top"?"ss_table--pagination-top":""} ${e.class??""}`,f=()=>(()=>{var x=Ht(),M=x.firstChild,D=M.nextSibling,g=D.nextSibling,C=g.firstChild,d=C.nextSibling;d.nextSibling;var w=g.nextSibling,$=w.nextSibling;return M.$$click=()=>o(1),D.$$click=()=>o(n()-1),insert(g,n,d),insert(g,v,null),w.$$click=()=>o(n()+1),$.$$click=()=>o(v()),effect(u=>{var _=n()===1,y=n()===1,S=n()===v(),L=n()===v();return _!==u.e&&(M.disabled=u.e=_),y!==u.t&&(D.disabled=u.t=y),S!==u.a&&(w.disabled=u.a=S),L!==u.o&&($.disabled=u.o=L),u},{e:void 0,t:void 0,a:void 0,o:void 0}),x})();return (()=>{var x=Pt(),M=x.firstChild,D=M.firstChild,g=D.firstChild,C=g.firstChild,d=g.nextSibling;return insert(x,(()=>{var m=memo(()=>p()==="top");return ()=>m()&&f()})(),M),insert(C,createComponent(For,{get each(){return e.columns},children:(m,w)=>{let $=!!m.sortKey,u=()=>t()===w(),_=()=>u()?l():null;return (()=>{var y=Nt();return insert(y,$?(()=>{var S=zt(),L=S.firstChild;return S.$$click=()=>s(w()),insert(S,()=>m.label,L),insert(L,(()=>{var T=memo(()=>_()==="asc");return ()=>T()?Ot():memo(()=>_()==="desc")()?Vt():jt()})()),effect(T=>{var B=_()==="asc"?"ascending":_()==="desc"?"descending":"none",I=_()??"none";return B!==T.e&&setAttribute(S,"aria-sort",T.e=B),I!==T.t&&setAttribute(S,"data-sort",T.t=I),T},{e:void 0,t:void 0}),S})():(()=>{var S=qt();return insert(S,()=>m.label),S})()),y})()}})),insert(d,createComponent(For,{get each(){return a()},children:m=>(()=>{var w=Yt();return w.$$click=()=>e.onRowClick?.(m),insert(w,createComponent(For,{get each(){return e.columns},children:$=>(()=>{var u=Rt();return insert(u,createComponent(Jt,{row:m,get render(){return $.render}})),u})()})),effect(()=>setAttribute(w,"data-clickable",e.onRowClick?"true":void 0)),w})()})),insert(x,(()=>{var m=memo(()=>p()==="bottom");return ()=>m()&&f()})(),null),effect(m=>{var w=k(),$=e.style;return w!==m.e&&className(x,m.e=w),m.t=style(x,$,m.t),m},{e:void 0,t:void 0}),x})()}delegateEvents(["click"]);var tn=template("<div class=ss_dropdown__menu role=menu>"),nn=template('<div><button type=button class="ss_dropdown__trigger ss_button ss_button--icon"aria-haspopup=menu>'),rn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-dots-vertical"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0">'),ln=template("<button type=button class=ss_dropdown__item><span class=ss_dropdown__item_icon></span><span class=ss_dropdown__item_label>"),sn=template('<span class=ss_dropdown__item_check aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-check"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M5 12l5 5l10 -10">');function un(e){let[t,r]=createSignal(false),[l,i]=createSignal(false),[n,c]=createSignal("closed"),h,b=()=>r(false);return createEffect(()=>{if(t()){i(true),requestAnimationFrame(()=>c("open"));return}if(!l())return;c("closed");let v=window.setTimeout(()=>i(false),160);onCleanup(()=>window.clearTimeout(v));}),onMount(()=>{let v=s=>{let o=s.target;!h||!o||h.contains(o)||b();},a=s=>{s.key==="Escape"&&b();};document.addEventListener("mousedown",v),window.addEventListener("keydown",a),onCleanup(()=>{document.removeEventListener("mousedown",v),window.removeEventListener("keydown",a);});}),(()=>{var v=nn(),a=v.firstChild;return use(s=>h=s,v),a.$$click=()=>r(s=>!s),insert(a,()=>e.icon??rn()),insert(v,createComponent(Show,{get when(){return l()},get children(){var s=tn();return insert(s,createComponent(For,{get each(){return e.items},children:o=>(()=>{var p=ln(),k=p.firstChild,f=k.nextSibling;return p.$$click=async()=>{b(),await o.onclick?.();},insert(k,()=>o.icon),insert(f,()=>o.label),insert(p,(()=>{var x=memo(()=>!!o.checked);return ()=>x()&&sn()})(),null),effect(x=>{var M=o.checked?"menuitemcheckbox":"menuitem",D=o.checked?"true":void 0;return M!==x.e&&setAttribute(p,"role",x.e=M),D!==x.t&&setAttribute(p,"aria-checked",x.t=D),x},{e:void 0,t:void 0}),p})()})),effect(()=>setAttribute(s,"data-state",n())),s}}),null),effect(s=>{var o=`ss_dropdown ${e.class??""}`,p=e.style,k=t(),f=e.ariaLabel??"Aktionen \xF6ffnen";return o!==s.e&&className(v,s.e=o),s.t=style(v,p,s.t),k!==s.a&&setAttribute(a,"aria-expanded",s.a=k),f!==s.o&&setAttribute(a,"aria-label",s.o=f),s},{e:void 0,t:void 0,a:void 0,o:void 0}),v})()}delegateEvents(["click"]);var bn=template("<div><div class=ss_expandable__header role=button tabindex=0><span class=ss_expandable__icon aria-hidden=true></span><span class=ss_expandable__title></span></div><div class=ss_expandable__content style=transition-duration:200ms><div class=ss_expandable__divider_wrapper><div class=ss_expandable__divider>"),wn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),kn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6">'),Sn=200;function Cn(e){let[t,r]=createSignal(e.initiallyExpanded?"auto":0),l=createMemo(()=>t()!==0),i,n,c=()=>{n&&clearTimeout(n);let h=i?.scrollHeight??0;if(l()){r(h),n=window.setTimeout(()=>r(0),1);return}r(h),n=window.setTimeout(()=>r("auto"),Sn);};return onCleanup(()=>{n&&clearTimeout(n);}),(()=>{var h=bn(),b=h.firstChild,v=b.firstChild,a=v.nextSibling,s=b.nextSibling,o=s.firstChild;o.firstChild;return b.$$keydown=k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),c());},b.$$click=c,insert(v,(()=>{var k=memo(()=>!!l());return ()=>k()?wn():kn()})()),insert(a,()=>e.title),use(k=>i=k,s),insert(o,()=>e.children,null),effect(k=>{var f=`ss_expandable ${e.class??""}`,x=e.style,M=l()?"open":"closed",D=l(),g=typeof t()=="number"?`${t()}px`:t();return f!==k.e&&className(h,k.e=f),k.t=style(h,x,k.t),M!==k.a&&setAttribute(h,"data-state",k.a=M),D!==k.o&&setAttribute(b,"aria-expanded",k.o=D),g!==k.i&&setStyleProperty(s,"height",k.i=g),k},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),h})()}delegateEvents(["click","keydown"]);function pe(){let[e,t]=createSignal(false);return [e,async r=>{if(!e())try{t(!0),await r();}finally{t(false);}}]}var Dn=template("<form class=ss_form>"),Ln=template("<div class=ss_form_input><label></label><div class=ss__wrapper>"),Tn=template("<textarea>"),In=template("<input>"),tt=template("<ul class=ss__suggestions>"),nt=template("<li>"),me=template("<span role=alert>"),Fn=template('<div class=ss_form_date><label></label><div class=ss__wrapper><input type=text inputmode=numeric autocomplete=off placeholder=TT.MM.JJJJ><button type=button class=ss_form_date__icon aria-label="Kalender \xF6ffnen"aria-haspopup=dialog><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=currentColor class="icon icon-tabler icons-tabler-filled icon-tabler-calendar-week"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M16 2c.183 0 .355 .05 .502 .135l.033 .02c.28 .177 .465 .49 .465 .845v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 .514 -.874l.093 -.046l.066 -.025l.1 -.029l.107 -.019l.12 -.007q .083 0 .161 .013l.122 .029l.04 .012l.06 .023c.328 .135 .568 .44 .61 .806l.007 .117v1h6v-1a1 1 0 0 1 1 -1m3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16z"></path><path d="M9.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M13.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M17.02 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M12.02 15a1 1 0 0 1 0 2a1.001 1.001 0 1 1 -.005 -2z"></path><path d="M9.015 16a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1">'),Bn=template('<div class=ss_form_date__picker role=dialog aria-label="Datum ausw\xE4hlen"><div class=ss_form_date__header><div class=ss_form_date__nav_group><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M7 6v12"></path><path d="M18 6l-6 6l6 6"></path></svg></button><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M15 6l-6 6l6 6"></path></svg></button></div><div class=ss_form_date__title></div><div class=ss_form_date__nav_group><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></button><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 6l6 6l-6 6"></path><path d="M17 5v13"></path></svg></button></div></div><div class=ss_form_date__weekdays></div><div class=ss_form_date__grid>'),An=template("<span>"),Hn=template("<button type=button class=ss_form_date__day>"),Pn=template('<span class="ss_form_date__day is-empty">'),Nn=template("<div class=ss_form_checkbox><div class=ss__wrapper><input type=checkbox><label>"),zn=template('<div class=ss_form_select><label></label><div class=ss_form_select__field><select></select><span class=ss_form_select__icon aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),On=template("<option>"),Vn=template("<div class=ss_form_ac_select><label>"),jn=template('<div class=ss__selection><div class=ss__content></div><button type=button class=ss__clear aria-label="Auswahl entfernen">\xD7'),qn=template("<div class=ss__wrapper><div class=ss__input_row><input>"),Yn=template("<span class=ss__prefix role=button>"),X=createContext(),O=function(e){let[t,r]=pe(),l={},i={loading:t,process:n=>r(()=>n(i)),field:n=>l[n]??null,setField:(n,c)=>{l[n]=c;},delField:n=>{delete l[n];},setValues:n=>Object.entries(n).forEach(([c,h])=>l[c]?.setValue(h)),getValues:()=>Object.fromEntries(Object.entries(l).map(([n,c])=>[n,c.getValue()])),validate:()=>Promise.all(Object.values(l).map(n=>n.validate())).then(),hasError:()=>Object.values(l).some(n=>n.hasError()),submit:()=>r(async()=>{await i.validate(),!i.hasError()&&await e.onsubmit?.(i);})};return (()=>{var n=Dn();return n.addEventListener("submit",c=>{c.preventDefault(),i.submit();}),insert(n,createComponent(X.Provider,{value:i,get children(){return e.children}})),n})()};O.Input=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal(null),c={getValue:()=>{let g=r().trim();return g||null},setValue:g=>{if(typeof g=="number"){l(g.toLocaleString());return}l(`${g}`);},hasError:()=>!!i(),validate:async()=>{let g=[...e.rules??[]];e.required&&g.unshift(O.rules.required);let C=await c.getValue();for(let d of g){let m=await d(C);if(m){n(m);return}}n(null);}};if(e.name&&t){let g=e.name;onMount(()=>t.setField(g,c)),onCleanup(()=>t.delField(g));}let h=null,[b,v]=createSignal([]),[a,s]=createSignal(-1),o;if(e.suggestions){let g=e.suggestions,[C,d]=createSignal(!g.prepare);g.prepare&&onMount(async()=>{g.prepare&&(h=await g.prepare(),d(true));});let m;createEffect(()=>{if(clearTimeout(m??void 0),!C())return;v([]);let w=r().trim().toLowerCase();w&&(m=setTimeout(async()=>{let $=await g.getItems({query:w,init:h});v($);},250));}),onCleanup(()=>clearTimeout(m??void 0));}createEffect(()=>{let g=b();if(!g.length){s(-1);return}a()>=g.length&&s(g.length-1);});let p=g=>{let C=o;if(!C||g<0)return;let d=C.querySelectorAll("li")[g];if(!d)return;let m=d.offsetTop,w=m+d.offsetHeight,$=C.scrollTop,u=$+C.clientHeight;m<$?C.scrollTop=m:w>u&&(C.scrollTop=w-C.clientHeight);},k=g=>{let C=b();if(!C.length)return;let d=Math.max(-1,Math.min(a()+g,C.length-1));s(d),p(d);},f=g=>{l(e.suggestions.stringify({item:g,init:h})),s(-1);},x=g=>{if(b().length)if(g.key==="ArrowDown")g.preventDefault(),k(1);else if(g.key==="ArrowUp")g.preventDefault(),k(-1);else if(g.key==="Enter"&&a()>=0){g.preventDefault();let C=b()[a()];C&&f(C);}else g.key==="Escape"&&s(-1);},M=g=>{l(g),s(-1);},D=createUniqueId();return (()=>{var g=Ln(),C=g.firstChild,d=C.nextSibling;return insert(C,()=>e.label),insert(d,(()=>{var m=memo(()=>!!e.textArea);return ()=>m()?(()=>{var w=Tn();return w.$$keydown=x,w.$$input=$=>M($.target.value),effect($=>{var u=e.id||D,_=e.disabled||t?.loading();return u!==$.e&&setAttribute(w,"id",$.e=u),_!==$.t&&(w.disabled=$.t=_),$},{e:void 0,t:void 0}),effect(()=>w.value=r()),w})():(()=>{var w=In();return w.$$keydown=x,w.$$input=$=>M($.target.value),effect($=>{var u=e.id||D,_=e.disabled||t?.loading(),y=e.type;return u!==$.e&&setAttribute(w,"id",$.e=u),_!==$.t&&(w.disabled=$.t=_),y!==$.a&&setAttribute(w,"type",$.a=y),$},{e:void 0,t:void 0,a:void 0}),effect(()=>w.value=r()),w})()})(),null),insert(d,(()=>{var m=memo(()=>!!b().length);return ()=>m()&&(()=>{var w=tt();return use($=>o=$,w),insert(w,createComponent(For,{get each(){return b()},children:($,u)=>{let _=()=>{let y=document.activeElement;y instanceof HTMLElement&&y.blur(),f($);};return (()=>{var y=nt();return y.$$click=_,y.$$pointerdown=S=>S.preventDefault(),insert(y,()=>e.suggestions.stringify({item:$,init:h})),effect(()=>y.classList.toggle("ss__hovered",u()===a())),y})()}})),w})()})(),null),insert(g,(()=>{var m=memo(()=>!!i());return ()=>m()&&(()=>{var w=me();return insert(w,i),w})()})(),null),effect(()=>setAttribute(C,"for",e.id||D)),g})()};O.Date=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal(null),[c,h]=createSignal(false),[b,v]=createSignal(new Date),a,s=d=>`${d}`.padStart(2,"0"),o=d=>{let m=s(d.getDate()),w=s(d.getMonth()+1),$=d.getFullYear();return `${m}.${w}.${$}`},p=d=>{let m=d.trim();if(!m)return null;let w=/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(m);if(!w)return null;let $=Number(w[1]),u=Number(w[2]),_=Number(w[3]);if(!$||!u)return null;let y=new Date(_,u-1,$);return y.getFullYear()!==_||y.getMonth()!==u-1||y.getDate()!==$?null:y};createEffect(()=>{if(!c())return;let d=p(r());v(d??new Date);});let k={getValue:()=>{let d=r().trim();return d||null},setValue:d=>{if(d instanceof Date){l(o(d));return}l(`${d??""}`);},hasError:()=>!!i(),validate:async()=>{let d=[...e.rules??[]];e.required&&d.unshift(O.rules.required);let m=await k.getValue();for(let w of d){let $=await w(m);if($){n($);return}}if(m&&!p(m)){n("Ung\xFCltiges Datum");return}n(null);}};if(e.name&&t){let d=e.name;onMount(()=>t.setField(d,k)),onCleanup(()=>t.delField(d));}let f=createUniqueId(),x=d=>{let m=p(r());return m?m.getFullYear()===b().getFullYear()&&m.getMonth()===b().getMonth()&&m.getDate()===d:false},M=d=>{let m=new Date;return m.getFullYear()===b().getFullYear()&&m.getMonth()===b().getMonth()&&m.getDate()===d},D=()=>{let d=b(),m=d.getFullYear(),w=d.getMonth(),$=new Date(m,w,1),u=new Date(m,w+1,0).getDate(),_=($.getDay()+6)%7,y=[];for(let S=0;S<_;S+=1)y.push(null);for(let S=1;S<=u;S+=1)y.push(S);for(;y.length%7!==0;)y.push(null);return y},g=()=>b().toLocaleDateString("de-DE",{month:"long",year:"numeric"}),C=d=>{let m=new Date(b().getFullYear(),b().getMonth(),d);l(o(m)),h(false);};return onMount(()=>{let d=w=>{if(!c())return;let $=w.target;a&&$&&!a.contains($)&&h(false);},m=w=>{w.key==="Escape"&&h(false);};document.addEventListener("mousedown",d),window.addEventListener("keydown",m),onCleanup(()=>{document.removeEventListener("mousedown",d),window.removeEventListener("keydown",m);});}),(()=>{var d=Fn(),m=d.firstChild,w=m.nextSibling,$=w.firstChild,u=$.nextSibling;return use(_=>a=_,d),insert(m,()=>e.label),$.addEventListener("focus",()=>h(true)),$.$$input=_=>l(_.target.value),u.$$click=()=>h(_=>!_),insert(d,(()=>{var _=memo(()=>!!c());return ()=>_()&&(()=>{var y=Bn(),S=y.firstChild,L=S.firstChild,T=L.firstChild,B=T.nextSibling,I=L.nextSibling,A=I.nextSibling,ee=A.firstChild,le=ee.nextSibling,J=S.nextSibling,W=J.nextSibling;return T.$$click=()=>{let F=b();v(new Date(F.getFullYear()-1,F.getMonth(),1));},B.$$click=()=>{let F=b();v(new Date(F.getFullYear(),F.getMonth()-1,1));},insert(I,g),ee.$$click=()=>{let F=b();v(new Date(F.getFullYear(),F.getMonth()+1,1));},le.$$click=()=>{let F=b();v(new Date(F.getFullYear()+1,F.getMonth(),1));},insert(J,()=>["Mo","Di","Mi","Do","Fr","Sa","So"].map(F=>(()=>{var Y=An();return insert(Y,F),Y})())),insert(W,()=>D().map(F=>F?(()=>{var Y=Hn();return Y.$$click=()=>C(F),insert(Y,F),effect(ce=>{var Re=!!x(F),Ke=!!M(F);return Re!==ce.e&&Y.classList.toggle("is-selected",ce.e=Re),Ke!==ce.t&&Y.classList.toggle("is-today",ce.t=Ke),ce},{e:void 0,t:void 0}),Y})():Pn())),y})()})(),null),insert(d,(()=>{var _=memo(()=>!!i());return ()=>_()&&(()=>{var y=me();return insert(y,i),y})()})(),null),effect(_=>{var y=e.id||f,S=e.id||f,L=e.disabled||t?.loading(),T=!e.editable,B=c(),I=e.disabled||t?.loading();return y!==_.e&&setAttribute(m,"for",_.e=y),S!==_.t&&setAttribute($,"id",_.t=S),L!==_.a&&($.disabled=_.a=L),T!==_.o&&($.readOnly=_.o=T),B!==_.i&&setAttribute(u,"aria-expanded",_.i=B),I!==_.n&&(u.disabled=_.n=I),_},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),effect(()=>$.value=r()),d})()};O.Checkbox=function(e){let t=useContext(X),[r,l]=createSignal(false),[i,n]=createSignal(null),c={getValue:()=>r(),setValue:b=>l(!!b),hasError:()=>!!i(),validate:async()=>{let b=[...e.rules??[]];e.required&&b.unshift(O.rules.required);let v=await c.getValue();for(let a of b){let s=await a(v);if(s){n(s);return}}n(null);}};if(e.name&&t){let b=e.name;onMount(()=>t.setField(b,c)),onCleanup(()=>t.delField(b));}let h=createUniqueId();return (()=>{var b=Nn(),v=b.firstChild,a=v.firstChild,s=a.nextSibling;return a.addEventListener("change",o=>l(o.target.checked)),insert(s,()=>e.label),insert(b,(()=>{var o=memo(()=>!!i());return ()=>o()&&(()=>{var p=me();return insert(p,i),p})()})(),null),effect(o=>{var p=e.id||h,k=e.disabled||t?.loading(),f=e.id||h;return p!==o.e&&setAttribute(a,"id",o.e=p),k!==o.t&&(a.disabled=o.t=k),f!==o.a&&setAttribute(s,"for",o.a=f),o},{e:void 0,t:void 0,a:void 0}),effect(()=>a.checked=r()),b})()};O.useContext=function(){let e=useContext(X);if(!e)return null;let{setField:t,delField:r,...l}=e;return l};O.Select=function(e){let t=useContext(X),[r,l]=createSignal([]),[i,n]=createSignal(null),[c,h]=createSignal(null),b=s=>{let o=s.map(p=>({id:p.id,label:e.buildOption(p)}));if(l(o),!s.length){n(null);return}i()&&o.some(p=>p.id===i())||n(o[0].id);};createEffect(()=>{let s=e.getOptions();"then"in s&&typeof s.then=="function"||s instanceof Promise?s.then(b):b(s);});let v={getValue:()=>{let s=i();return r().some(p=>p.id===s)?s:null},setValue:s=>{let o=r();if(!o.length){n(null);return}let p=o[0].id;if(typeof s!="string"){n(p);return}let k=s.trim();if(!o.some(f=>f.id===k)){n(p);return}n(k);},hasError:()=>!!c(),validate:async()=>{let s=r(),o=await v.getValue();if(!o){h("Pflichtfeld");return}if(!s.some(p=>p.id===o)){h("Option nicht verf\xFCgbar");return}for(let p of e.rules??[]){let k=await p(o);if(k){h(k);return}}h(null);}};if(v.setOptions=b,e.name&&t){let s=e.name;onMount(()=>t.setField(s,v)),onCleanup(()=>t.delField(s));}let a=createUniqueId();return (()=>{var s=zn(),o=s.firstChild,p=o.nextSibling,k=p.firstChild;return insert(o,()=>e.label),k.addEventListener("change",f=>n(f.target.value)),insert(k,createComponent(For,{get each(){return r()},children:f=>(()=>{var x=On();return insert(x,()=>f.label),effect(()=>x.selected=i()===f.id),effect(()=>x.value=f.id),x})()})),insert(s,(()=>{var f=memo(()=>!!c());return ()=>f()&&(()=>{var x=me();return insert(x,c),x})()})(),null),effect(f=>{var x=e.id||a,M=e.id||a,D=e.disabled||t?.loading();return x!==f.e&&setAttribute(o,"for",f.e=x),M!==f.t&&setAttribute(k,"id",f.t=M),D!==f.a&&(k.disabled=f.a=D),f},{e:void 0,t:void 0,a:void 0}),s})()};O.ACSelect=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal([]),[c,h]=createSignal(null),b={getValue:()=>i(),setValue:u=>n(u),hasError:()=>!!c(),validate:async()=>{let u=await b.getValue(),_=e.minSelectedItems,y=e.maxSelectedItems;if(_&&u.length<_){h(`Mindestens ${_} ${_>1?"Elemente m\xFCssen":"Element muss"} ausgew\xE4hlt werden`);return}if(y&&u.length>y){h(`Maximal ${y} ${y>1?"Elemente d\xFCrfen":"Element darf"} ausgew\xE4hlt werden`);return}for(let S of e.rules??[]){let L=await S(u);if(L){h(L);return}}h(null);}};if(e.name&&t){let u=e.name;onMount(()=>t.setField(u,b)),onCleanup(()=>t.delField(u));}let v=null,[a,s]=createSignal(!e.prepare);e.prepare&&onMount(async()=>{e.prepare&&(v=await e.prepare(),s(true));});let[o,p]=createSignal([]),[k,f]=createSignal(-1),x,M;createEffect(()=>{if(!a())return;clearTimeout(M);let u=r().trim().toLowerCase();if(!u){p(untrack(()=>i()));return}p([]),M=setTimeout(async()=>{let _=await e.getOptions({query:u,init:v});p(_);},250);}),createEffect(()=>{r().trim().toLowerCase()||o().length!==i().length&&p(i());}),onCleanup(()=>clearTimeout(M)),createEffect(()=>{let u=o();if(!u.length){f(-1);return}k()>=u.length&&f(u.length-1);});let D=u=>{let _=x;if(!_||u<0)return;let y=_.querySelectorAll("li")[u];if(!y)return;let S=y.offsetTop,L=S+y.offsetHeight,T=_.scrollTop,B=T+_.clientHeight;S<T?_.scrollTop=S:L>B&&(_.scrollTop=L-_.clientHeight);},g=u=>{let _=o();if(!_.length)return;let y=Math.max(-1,Math.min(k()+u,_.length-1));f(y),D(y);},C=createUniqueId(),d=createMemo(()=>new Set(i().map(({id:u})=>u))),m=(u,_=true)=>{let y=d().has(u.id);if(e.maxSelectedItems===1){n(y?[]:[u]),l(""),_&&f(-1);return}n(y?S=>S.filter(({id:L})=>L!==u.id):S=>[...S.filter(({id:L})=>L!==u.id),u]),_&&f(-1);},w=u=>{if(o().length)if(u.key==="ArrowDown")u.preventDefault(),g(1);else if(u.key==="ArrowUp")u.preventDefault(),g(-1);else if(u.key==="Enter"&&k()>=0){u.preventDefault();let _=o()[k()];_&&m(_,false);}else u.key==="Escape"&&f(-1);},$=()=>e.disabled||t?.loading();return (()=>{var u=Vn(),_=u.firstChild;return insert(_,()=>e.label),insert(u,(()=>{var y=memo(()=>!!(e.maxSelectedItems===1&&e.renderSelection&&i().length===1));return ()=>y()?(()=>{var S=jn(),L=S.firstChild,T=L.nextSibling;return insert(L,()=>e.renderSelection({item:i()[0],init:v})),T.$$click=()=>{n([]),l(""),setTimeout(()=>document.getElementById(e.id||C)?.focus(),0);},effect(()=>T.disabled=$()),S})():(()=>{var S=qn(),L=S.firstChild,T=L.firstChild;return insert(L,(()=>{var B=memo(()=>!!i().length);return ()=>B()&&(()=>{var I=Yn();return I.$$click=()=>{$()||n([]);},I.$$keydown=A=>{$()||(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),n([]));},insert(I,()=>i().length),effect(A=>{var ee=$()?-1:0,le=$()?"true":void 0;return ee!==A.e&&setAttribute(I,"tabindex",A.e=ee),le!==A.t&&setAttribute(I,"aria-disabled",A.t=le),A},{e:void 0,t:void 0}),I})()})(),T),T.$$keydown=w,T.$$input=B=>{$()||(l(B.target.value),f(-1));},insert(S,(()=>{var B=memo(()=>!!o().length);return ()=>B()&&(()=>{var I=tt();return use(A=>x=A,I),insert(I,createComponent(For,{get each(){return o()},children:(A,ee)=>{let le=()=>{$()||(m(A),document.getElementById(e.id||C)?.focus());};return (()=>{var J=nt();return J.$$click=le,J.$$pointerdown=W=>W.preventDefault(),insert(J,()=>e.renderItem({item:A,init:v})),effect(W=>{var F=!!d().has(A.id),Y=ee()===k();return F!==W.e&&J.classList.toggle("ss__selected",W.e=F),Y!==W.t&&J.classList.toggle("ss__hovered",W.t=Y),W},{e:void 0,t:void 0}),J})()}})),I})()})(),null),effect(B=>{var I=e.id||C,A=$();return I!==B.e&&setAttribute(T,"id",B.e=I),A!==B.t&&(T.disabled=B.t=A),B},{e:void 0,t:void 0}),effect(()=>T.value=r()),S})()})(),null),insert(u,(()=>{var y=memo(()=>!!c());return ()=>y()&&(()=>{var S=me();return insert(S,c),S})()})(),null),effect(()=>setAttribute(_,"for",e.id||C)),u})()};O.SubmitButton=function(e){let t=useContext(X);return createComponent(U,{type:"submit",class:"ss_form_submit",get disabled(){return e.disabled||t?.loading()},get children(){return e.children}})};O.rules={required:e=>e?null:"Pflichtfeld",minLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule minLength(..) for non-string value ${t}`);return t.length<e?`Mindestens ${e} Zeichen`:null},maxLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule maxLength(..) for non-string value ${t}`);return t.length<e?`Maximal ${e} Zeichen`:null},pattern:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule pattern(..) for non-string value ${t}`);return e.test(t)?null:"Eingabe widerspricht erwartetem Muster"}};delegateEvents(["input","keydown","pointerdown","click"]);var Qn=template("<div><div class=ss_header__text><h3 class=ss_header__title></h3></div><div class=ss_header__actions>"),Xn=template("<h5 class=ss_header__subtitle>");function er(e){return (()=>{var t=Qn(),r=t.firstChild,l=r.firstChild,i=r.nextSibling;return insert(l,()=>e.title),insert(r,(()=>{var n=memo(()=>!!e.subtitle);return ()=>n()&&(()=>{var c=Xn();return insert(c,()=>e.subtitle),c})()})(),null),insert(i,()=>e.actions),effect(n=>{var c=`ss_header ${e.class??""}`,h=e.style;return c!==n.e&&className(t,n.e=c),n.t=style(t,h,n.t),n},{e:void 0,t:void 0}),t})()}var lr=template("<div class=ss_modal__footer>"),ir=template("<div class=ss_modal><div class=ss_modal__backdrop></div><div class=ss_modal__panel role=dialog aria-modal=true tabindex=-1><div class=ss_modal__body><div class=ss_modal__body_inner>"),sr=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M18 6l-12 12"></path><path d="M6 6l12 12">'),or=template("<div class=ss_modal__header>"),ar=template("<h2 class=ss_modal__title>"),mr=180;function Se(e){let[t,r]=createSignal(e.open),[l,i]=createSignal("closed"),n=createUniqueId(),c,h,b;createEffect(()=>{c&&clearTimeout(c),h&&cancelAnimationFrame(h),e.open?(t()||r(true),i("closed"),h=requestAnimationFrame(()=>i("open"))):(i("closed"),t()&&(c=window.setTimeout(()=>r(false),mr)));}),onMount(()=>{if(!e.open)return;if(e.lockScroll!==false){let s=document.body.style.overflowY;document.body.style.overflowY="hidden",onCleanup(()=>{document.body.style.overflowY=s;});}h=requestAnimationFrame(()=>b?.focus());let a=s=>{s.key==="Escape"&&e.dismissible!==false&&e.onClose?.();};window.addEventListener("keydown",a),onCleanup(()=>window.removeEventListener("keydown",a));}),onCleanup(()=>{c&&clearTimeout(c),h&&cancelAnimationFrame(h);});let v=()=>{e.dismissible!==false&&e.onClose?.();};return createComponent(Show,{get when(){return t()},get children(){return createComponent(Portal,{get children(){var a=ir(),s=a.firstChild,o=s.nextSibling,p=o.firstChild,k=p.firstChild;return s.$$click=v,use(f=>b=f,o),insert(o,(()=>{var f=memo(()=>!!(e.title||e.onClose));return ()=>f()&&(()=>{var x=or();return insert(x,(()=>{var M=memo(()=>!!e.title);return ()=>M()&&(()=>{var D=ar();return setAttribute(D,"id",n),insert(D,()=>e.title),D})()})(),null),insert(x,createComponent(Show,{get when(){return e.onClose},get children(){return createComponent(U,{type:"button",class:"ss_modal__close",isIconOnly:true,ariaLabel:"Dialog schlie\xDFen",onclick:()=>{e.dismissible!==false&&e.onClose?.();},get children(){return sr()}})}}),null),x})()})(),p),insert(k,()=>e.children),insert(o,createComponent(Show,{get when(){return e.footer},get children(){var f=lr();return insert(f,()=>e.footer),f}}),null),effect(f=>{var x=l(),M=l()==="closed",D=e.size==="sm",g=e.size==="lg",C=!!e.fullscreen,d=!!e.disableResponsiveFullscreen,m=e.title?n:void 0;return x!==f.e&&setAttribute(a,"data-state",f.e=x),M!==f.t&&setAttribute(a,"aria-hidden",f.t=M),D!==f.a&&o.classList.toggle("ss_modal__panel--sm",f.a=D),g!==f.o&&o.classList.toggle("ss_modal__panel--lg",f.o=g),C!==f.i&&o.classList.toggle("ss_modal__panel--fullscreen",f.i=C),d!==f.n&&o.classList.toggle("ss_modal__panel--no-fullscreen",f.n=d),m!==f.s&&setAttribute(o,"aria-labelledby",f.s=m),f},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),a}})}})}delegateEvents(["click"]);var dt=createContext(),br=0,wr=()=>`ss-modal-${br++}`;function kr(){let e=useContext(dt);if(!e)throw new Error("useSSModals must be used within SSModalsProvider");return e}function pr(e){let t=useNavigate(),r=useLocation(),[l,i]=pe(),n=()=>e.config.modalProps?.({hide:e.hide})??{},{primaryButtonText:c,secondaryButtonText:h,hideSecondaryButton:b,danger:v,...a}=n();return createComponent(Se,mergeProps({get open(){return e.visible()},get onClose(){return e.hide}},a,{get footer(){return [!b&&createComponent(U,{class:"secondary",get onclick(){return e.hide},children:h??"Abbrechen"}),createComponent(U,{class:v?"danger":void 0,onclick:()=>i(()=>e.config.onPrimaryAction?.({hide:e.hide,navigate:t,pathname:r.pathname})??e.hide()),get disabled(){return l()},children:c??"Weiter"})]},get children(){return e.config.content({hide:e.hide})}}))}function xr(e){let t=useNavigate(),r=useLocation();return createComponent(O,{onsubmit:l=>e.config.onSubmit({hide:e.hide,context:l,navigate:t,pathname:r.pathname}),get children(){return createComponent(yr,{get visible(){return e.visible},get hide(){return e.hide},get config(){return e.config}})}})}function yr(e){let t=O.useContext();if(!t)return null;let r=()=>e.config.modalProps?.({hide:e.hide,context:t})??{},{primaryButtonText:l,secondaryButtonText:i,hideSecondaryButton:n,danger:c,...h}=r();return createComponent(Se,mergeProps({get open(){return e.visible()},get onClose(){return e.hide}},h,{get footer(){return [!n&&createComponent(U,{class:"secondary",get onclick(){return e.hide},get disabled(){return t.loading()},children:i??"Abbrechen"}),createComponent(U,{class:c?"danger":void 0,onclick:()=>t.submit(),get disabled(){return t.loading()},children:l??"Speichern"})]},get children(){return e.config.content({hide:e.hide,context:t})}}))}function Sr(e){let[t,r]=createSignal([]),l=new Map,i=new Map,n=220,c=a=>{let s=l.get(a);if(!s)return;s.setVisible(false);let o=i.get(a);o&&window.clearTimeout(o);let p=window.setTimeout(()=>{r(k=>k.filter(f=>f.id!==a)),l.delete(a),i.delete(a);},n);i.set(a,p);},h=a=>{let s=wr(),[o,p]=createSignal(true),k={id:s,visible:o,setVisible:p,render:a};return l.set(s,k),r(f=>[...f,k]),s},b=a=>h(({hide:s,visible:o})=>createComponent(pr,{visible:o,hide:s,config:a})),v=a=>h(({hide:s,visible:o})=>createComponent(xr,{visible:o,hide:s,config:a}));return onCleanup(()=>{i.forEach(a=>window.clearTimeout(a)),i.clear();}),createComponent(dt.Provider,{value:{show:h,showDefault:b,showForm:v,hide:c},get children(){return [memo(()=>e.children),createComponent(For,{get each(){return t()},children:a=>{let s=()=>c(a.id);return a.render({id:a.id,hide:s,visible:a.visible})}})]}})}var Lr=template('<div><input type=checkbox class=ss_shell__drawer_toggle_input><header class=ss_shell__header><div class=ss_shell__header_left><label class="ss_shell__drawer_toggle ss_button ss_button--icon"aria-label="Navigation \xF6ffnen"role=button tabindex=0><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg></label><div class=ss_shell__title></div></div><div class=ss_shell__actions></div></header><div class=ss_shell__body><nav class=ss_shell__nav aria-label=Hauptnavigation><div class=ss_shell__nav_inner></div></nav><div class=ss_shell__main></div><label class=ss_shell__scrim aria-label="Navigation schlie\xDFen">'),Tr=template("<div class=ss_shell__nav_list>"),Ir=template("<a class=ss_shell__nav_item><span class=ss_shell__nav_label>"),qe=template("<span class=ss_shell__nav_icon>"),Fr=template("<button type=button class=ss_shell__nav_item><span class=ss_shell__nav_label>"),Br=template('<details class=ss_shell__nav_group><summary class=ss_shell__nav_group_header><span class=ss_shell__nav_label></span><span class=ss_shell__nav_group_chevron aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=ss_shell__nav_group_chevron_svg><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></span></summary><div class=ss_shell__nav_group_items>'),Ye=createContext();function ge(e){let t=createUniqueId(),r=useLocation(),[l,i]=createSignal([]),n=()=>{let v=document.getElementById(t);v&&(v.checked=false);},c=v=>{i(a=>a.includes(v)?a:[...a,v]);},h=v=>{i(a=>a.filter(s=>s!==v));},b=createMemo(()=>{let v=r.pathname,a=null;for(let s of l())v.startsWith(s)&&(!a||s.length>a.length)&&(a=s);return a});return createComponent(Ye.Provider,{value:{closeDrawer:n,activeHref:b,registerHref:c,unregisterHref:h},get children(){var v=Lr(),a=v.firstChild,s=a.nextSibling,o=s.firstChild,p=o.firstChild,k=p.nextSibling,f=o.nextSibling,x=s.nextSibling,M=x.firstChild,D=M.firstChild,g=M.nextSibling,C=g.nextSibling;return setAttribute(a,"id",t),setAttribute(p,"for",t),insert(k,()=>e.title),insert(f,()=>e.actions),insert(D,()=>e.nav),insert(g,()=>e.children),setAttribute(C,"for",t),effect(d=>{var m=`ss_shell ${e.class??""}`,w=e.style;return m!==d.e&&className(v,d.e=m),d.t=style(v,w,d.t),d},{e:void 0,t:void 0}),v}})}ge.Nav=function(e){return (()=>{var t=Tr();return insert(t,()=>e.children),t})()};ge.NavLink=function(e){let t=useContext(Ye);onMount(()=>t?.registerHref(e.href)),onCleanup(()=>t?.unregisterHref(e.href));let r=()=>t?.activeHref()===e.href;return (()=>{var l=Ir(),i=l.firstChild;return l.$$click=()=>{e.onclick?.(),t?.closeDrawer();},insert(l,(()=>{var n=memo(()=>!!e.icon);return ()=>n()&&(()=>{var c=qe();return insert(c,()=>e.icon),c})()})(),i),insert(i,()=>e.children),effect(n=>{var c=!!r(),h=e.href;return c!==n.e&&l.classList.toggle("ss_shell__nav_item--active",n.e=c),h!==n.t&&setAttribute(l,"href",n.t=h),n},{e:void 0,t:void 0}),l})()};ge.NavAction=function(e){let t=useContext(Ye);return (()=>{var r=Fr(),l=r.firstChild;return r.$$click=()=>{e.onclick(),t?.closeDrawer();},insert(r,(()=>{var i=memo(()=>!!e.icon);return ()=>i()&&(()=>{var n=qe();return insert(n,()=>e.icon),n})()})(),l),insert(l,()=>e.children),r})()};ge.NavGroup=function(e){return (()=>{var t=Br(),r=t.firstChild,l=r.firstChild,i=r.nextSibling;return insert(r,(()=>{var n=memo(()=>!!e.icon);return ()=>n()&&(()=>{var c=qe();return insert(c,()=>e.icon),c})()})(),l),insert(l,()=>e.title),insert(i,()=>e.children),effect(()=>t.open=e.initiallyExpanded),t})()};delegateEvents(["click"]);var Ur=template("<div>");function Jr(e){return (()=>{var t=Ur();return insert(t,()=>e.children),effect(r=>{var l=`ss_surface ${e.class??""}`,i=e.style;return l!==r.e&&className(t,r.e=l),r.t=style(t,i,r.t),r},{e:void 0,t:void 0}),t})()}var Xr=template("<div><div class=ss_tile__row><div class=ss_tile__content>"),el=template("<span class=ss_tile__icon>"),tl=template("<h5 class=ss_tile__title>"),nl=template("<h5 class=ss_tile__title><span class=ss_tile__text>"),rl=template("<div class=ss_tile__subtitle>"),ll=template("<div class=ss_tile__trailing>");function mt(e){return (()=>{var t=Xr(),r=t.firstChild,l=r.firstChild;return insert(r,(()=>{var i=memo(()=>!!e.icon);return ()=>i()&&(()=>{var n=el();return insert(n,()=>e.icon),n})()})(),l),insert(l,(()=>{var i=memo(()=>!!e.href);return ()=>i()?(()=>{var n=tl();return insert(n,createComponent(A,{class:"ss_tile__link",get href(){return e.href},get onclick(){return e.onLinkClick},get children(){return e.title}})),n})():(()=>{var n=nl(),c=n.firstChild;return insert(c,()=>e.title),n})()})(),null),insert(l,(()=>{var i=memo(()=>!!e.subtitle);return ()=>i()&&(()=>{var n=rl();return insert(n,()=>e.subtitle),n})()})(),null),insert(r,(()=>{var i=memo(()=>!!e.trailing);return ()=>i()&&(()=>{var n=ll();return insert(n,()=>e.trailing),n})()})(),null),effect(i=>{var n=`ss_tile ${e.class??""}`,c=e.style;return n!==i.e&&className(t,i.e=n),i.t=style(t,c,i.t),i},{e:void 0,t:void 0}),t})()}function sl(e){return function(t){let r=e(t.data);return createComponent(mt,mergeProps(r,{get onLinkClick(){return t.onLinkClick??r.onLinkClick},get href(){return memo(()=>!!t.noLink)()?void 0:r.href},get icon(){return memo(()=>!!t.noIcon)()?void 0:r.icon}}))}}
1
+ import {template,delegateEvents,insert,memo,effect,setAttribute,use,createComponent,addEventListener,className,spread,mergeProps,style,setStyleProperty,Portal}from'solid-js/web';import {createContext,useContext,createSignal,onMount,onCleanup,createEffect,createUniqueId,For,untrack,createMemo,Show,createResource}from'solid-js';import {useLocation,A,useNavigate}from'@solidjs/router';var wt=template("<button>");function U(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??""].filter(Boolean).join(" ");return (()=>{var r=wt();return addEventListener(r,"click",e.onclick,true),insert(r,()=>e.children),effect(l=>{var i=e.type??"button",n=t(),c=e.disabled,f=e.ariaLabel,v=e.form;return i!==l.e&&setAttribute(r,"type",l.e=i),n!==l.t&&className(r,l.t=n),c!==l.a&&(r.disabled=l.a=c),f!==l.o&&setAttribute(r,"aria-label",l.o=f),v!==l.i&&setAttribute(r,"form",l.i=v),l},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})()}delegateEvents(["click"]);var yt=template("<div><span class=ss_callout__icon></span><div class=ss_callout__content><span>");function St(e){let{icon:t,color:r,class:l,style:i,children:n,...c}=e;return (()=>{var f=yt(),v=f.firstChild,g=v.nextSibling,a=g.firstChild;return spread(f,mergeProps(c,{class:`ss_callout ss_callout--${r} ${l??""}`,style:i}),false,true),insert(v,t),insert(a,n),f})()}var Et=template("<button type=button><span class=ss_chip__label>"),Dt=template("<div><span class=ss_chip__label>"),Lt=template('<button type=button class=ss_chip__dismiss aria-label=Entfernen><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M18 6l-12 12"></path><path d="M6 6l12 12">');function Tt(e){let t=`ss_chip ss_chip--${e.color??"blue"} ${e.class??""}`;return "onclick"in e&&e.onclick?(()=>{var r=Et(),l=r.firstChild;return addEventListener(r,"click",e.onclick,true),className(r,`${t} ss_chip--clickable`),insert(l,()=>e.children),effect(i=>style(r,e.style,i)),r})():(()=>{var r=Dt(),l=r.firstChild;return className(r,t),insert(l,()=>e.children),insert(r,(()=>{var i=memo(()=>!!("ondismiss"in e&&e.ondismiss));return ()=>i()&&(()=>{var n=Lt();return addEventListener(n,"click",e.ondismiss,true),n})()})(),null),effect(i=>style(r,e.style,i)),r})()}delegateEvents(["click"]);var At=template("<div>"),Ht=template('<div class=ss_table__pagination><button type=button class=ss_table__page_button aria-label="Erste Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M7 6v12"></path><path d="M18 6l-6 6l6 6"></path></svg></button><button type=button class=ss_table__page_button aria-label="Vorherige Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M15 6l-6 6l6 6"></path></svg></button><span class=ss_table__page_info>Seite <!> von </span><button type=button class=ss_table__page_button aria-label="N\xE4chste Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></button><button type=button class=ss_table__page_button aria-label="Letzte Seite"><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 6l6 6l-6 6"></path><path d="M17 5v13">'),Pt=template("<div><div class=ss_table__scroll><table><thead><tr></tr></thead><tbody>"),Nt=template("<th>"),zt=template("<button type=button class=ss_table__sort_button><span class=ss_table__sort_icon aria-hidden=true>"),Ot=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),Vt=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-up"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 15l6 -6l6 6">'),jt=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-selector"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M8 9l4 -4l4 4"></path><path d="M16 15l-4 4l-4 -4">'),qt=template("<span class=ss_table__header_label>"),Yt=template("<tr>"),Rt=template("<td>");function Jt(e){let t=createMemo(()=>e.render(e.row)),[r]=createResource(async()=>{let l=t();return l&&typeof l.then=="function"?await l:null});return (()=>{var l=At();return insert(l,()=>{let i=t();return i&&typeof i.then=="function"?r()??"":i}),l})()}function Wt(e){let[t,r]=createSignal(-1),[l,i]=createSignal(null),[n,c]=createSignal(1),f=()=>Math.max(1,e.pageSize??25),v=createMemo(()=>{let x=t(),M=l();if(x<0||!M)return e.rows;let D=e.columns[x];if(!D?.sortKey)return e.rows;let $=e.rows.map((C,d)=>({row:C,idx:d,key:D.sortKey(C)}));return $.sort((C,d)=>C.key===d.key?C.idx-d.idx:C.key<d.key?M==="asc"?-1:1:M==="asc"?1:-1),$.map(C=>C.row)}),g=createMemo(()=>Math.max(1,Math.ceil(v().length/f()))),a=createMemo(()=>{let M=(Math.min(n(),g())-1)*f();return v().slice(M,M+f())});createEffect(()=>{n()>g()&&c(g());});let s=x=>{if(t()!==x){r(x),i("asc"),c(1);return}if(l()==="asc"){i("desc");return}if(l()==="desc"){r(-1),i(null),c(1);return}i("asc"),c(1);},o=x=>{let M=Math.min(Math.max(1,x),g());c(M);},p=()=>e.paginationPosition??"bottom",k=()=>`ss_table ${p()==="top"?"ss_table--pagination-top":""} ${e.class??""}`,m=()=>(()=>{var x=Ht(),M=x.firstChild,D=M.nextSibling,$=D.nextSibling,C=$.firstChild,d=C.nextSibling;d.nextSibling;var w=$.nextSibling,b=w.nextSibling;return M.$$click=()=>o(1),D.$$click=()=>o(n()-1),insert($,n,d),insert($,g,null),w.$$click=()=>o(n()+1),b.$$click=()=>o(g()),effect(u=>{var h=n()===1,y=n()===1,S=n()===g(),L=n()===g();return h!==u.e&&(M.disabled=u.e=h),y!==u.t&&(D.disabled=u.t=y),S!==u.a&&(w.disabled=u.a=S),L!==u.o&&(b.disabled=u.o=L),u},{e:void 0,t:void 0,a:void 0,o:void 0}),x})();return (()=>{var x=Pt(),M=x.firstChild,D=M.firstChild,$=D.firstChild,C=$.firstChild,d=$.nextSibling;return insert(x,(()=>{var _=memo(()=>p()==="top");return ()=>_()&&m()})(),M),insert(C,createComponent(For,{get each(){return e.columns},children:(_,w)=>{let b=!!_.sortKey,u=()=>t()===w(),h=()=>u()?l():null;return (()=>{var y=Nt();return insert(y,b?(()=>{var S=zt(),L=S.firstChild;return S.$$click=()=>s(w()),insert(S,()=>_.label,L),insert(L,(()=>{var T=memo(()=>h()==="asc");return ()=>T()?Ot():memo(()=>h()==="desc")()?Vt():jt()})()),effect(T=>{var B=h()==="asc"?"ascending":h()==="desc"?"descending":"none",I=h()??"none";return B!==T.e&&setAttribute(S,"aria-sort",T.e=B),I!==T.t&&setAttribute(S,"data-sort",T.t=I),T},{e:void 0,t:void 0}),S})():(()=>{var S=qt();return insert(S,()=>_.label),S})()),y})()}})),insert(d,createComponent(For,{get each(){return a()},children:_=>(()=>{var w=Yt();return w.$$click=()=>e.onRowClick?.(_),insert(w,createComponent(For,{get each(){return e.columns},children:b=>(()=>{var u=Rt();return insert(u,createComponent(Jt,{row:_,get render(){return b.render}})),u})()})),effect(()=>setAttribute(w,"data-clickable",e.onRowClick?"true":void 0)),w})()})),insert(x,(()=>{var _=memo(()=>p()==="bottom");return ()=>_()&&m()})(),null),effect(_=>{var w=k(),b=e.style;return w!==_.e&&className(x,_.e=w),_.t=style(x,b,_.t),_},{e:void 0,t:void 0}),x})()}delegateEvents(["click"]);var tn=template("<div class=ss_dropdown__menu role=menu>"),nn=template('<div><button type=button class="ss_dropdown__trigger ss_button ss_button--icon"aria-haspopup=menu>'),rn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-dots-vertical"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0">'),ln=template("<button type=button class=ss_dropdown__item><span class=ss_dropdown__item_icon></span><span class=ss_dropdown__item_label>"),sn=template('<span class=ss_dropdown__item_check aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-check"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M5 12l5 5l10 -10">');function un(e){let[t,r]=createSignal(false),[l,i]=createSignal(false),[n,c]=createSignal("closed"),f,v=()=>r(false);return createEffect(()=>{if(t()){i(true),requestAnimationFrame(()=>c("open"));return}if(!l())return;c("closed");let g=window.setTimeout(()=>i(false),160);onCleanup(()=>window.clearTimeout(g));}),onMount(()=>{let g=s=>{let o=s.target;!f||!o||f.contains(o)||v();},a=s=>{s.key==="Escape"&&v();};document.addEventListener("mousedown",g),window.addEventListener("keydown",a),onCleanup(()=>{document.removeEventListener("mousedown",g),window.removeEventListener("keydown",a);});}),(()=>{var g=nn(),a=g.firstChild;return use(s=>f=s,g),a.$$click=()=>r(s=>!s),insert(a,()=>e.icon??rn()),insert(g,createComponent(Show,{get when(){return l()},get children(){var s=tn();return insert(s,createComponent(For,{get each(){return e.items},children:o=>(()=>{var p=ln(),k=p.firstChild,m=k.nextSibling;return p.$$click=async()=>{v(),await o.onclick?.();},insert(k,()=>o.icon),insert(m,()=>o.label),insert(p,(()=>{var x=memo(()=>!!o.checked);return ()=>x()&&sn()})(),null),effect(x=>{var M=o.checked?"menuitemcheckbox":"menuitem",D=o.checked?"true":void 0;return M!==x.e&&setAttribute(p,"role",x.e=M),D!==x.t&&setAttribute(p,"aria-checked",x.t=D),x},{e:void 0,t:void 0}),p})()})),effect(()=>setAttribute(s,"data-state",n())),s}}),null),effect(s=>{var o=`ss_dropdown ${e.class??""}`,p=e.style,k=t(),m=e.ariaLabel??"Aktionen \xF6ffnen";return o!==s.e&&className(g,s.e=o),s.t=style(g,p,s.t),k!==s.a&&setAttribute(a,"aria-expanded",s.a=k),m!==s.o&&setAttribute(a,"aria-label",s.o=m),s},{e:void 0,t:void 0,a:void 0,o:void 0}),g})()}delegateEvents(["click"]);var bn=template("<div><div class=ss_expandable__header role=button tabindex=0><span class=ss_expandable__icon aria-hidden=true></span><span class=ss_expandable__title></span></div><div class=ss_expandable__content style=transition-duration:200ms><div class=ss_expandable__divider_wrapper><div class=ss_expandable__divider>"),wn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),kn=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6">'),Sn=200;function Cn(e){let[t,r]=createSignal(e.initiallyExpanded?"auto":0),l=createMemo(()=>t()!==0),i,n,c=()=>{n&&clearTimeout(n);let f=i?.scrollHeight??0;if(l()){r(f),n=window.setTimeout(()=>r(0),1);return}r(f),n=window.setTimeout(()=>r("auto"),Sn);};return onCleanup(()=>{n&&clearTimeout(n);}),(()=>{var f=bn(),v=f.firstChild,g=v.firstChild,a=g.nextSibling,s=v.nextSibling,o=s.firstChild;o.firstChild;return v.$$keydown=k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),c());},v.$$click=c,insert(g,(()=>{var k=memo(()=>!!l());return ()=>k()?wn():kn()})()),insert(a,()=>e.title),use(k=>i=k,s),insert(o,()=>e.children,null),effect(k=>{var m=`ss_expandable ${e.class??""}`,x=e.style,M=l()?"open":"closed",D=l(),$=typeof t()=="number"?`${t()}px`:t();return m!==k.e&&className(f,k.e=m),k.t=style(f,x,k.t),M!==k.a&&setAttribute(f,"data-state",k.a=M),D!==k.o&&setAttribute(v,"aria-expanded",k.o=D),$!==k.i&&setStyleProperty(s,"height",k.i=$),k},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),f})()}delegateEvents(["click","keydown"]);function pe(){let[e,t]=createSignal(false);return [e,async r=>{if(!e())try{t(!0),await r();}finally{t(false);}}]}var Dn=template("<form class=ss_form>"),Ln=template("<div class=ss_form_input><label></label><div class=ss__wrapper>"),Tn=template("<textarea>"),In=template("<input>"),tt=template("<ul class=ss__suggestions>"),nt=template("<li>"),me=template("<span role=alert>"),Fn=template('<div class=ss_form_date><label></label><div class=ss__wrapper><input type=text inputmode=numeric autocomplete=off placeholder=TT.MM.JJJJ><button type=button class=ss_form_date__icon aria-label="Kalender \xF6ffnen"aria-haspopup=dialog><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=currentColor class="icon icon-tabler icons-tabler-filled icon-tabler-calendar-week"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M16 2c.183 0 .355 .05 .502 .135l.033 .02c.28 .177 .465 .49 .465 .845v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 .514 -.874l.093 -.046l.066 -.025l.1 -.029l.107 -.019l.12 -.007q .083 0 .161 .013l.122 .029l.04 .012l.06 .023c.328 .135 .568 .44 .61 .806l.007 .117v1h6v-1a1 1 0 0 1 1 -1m3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16z"></path><path d="M9.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M13.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M17.02 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"></path><path d="M12.02 15a1 1 0 0 1 0 2a1.001 1.001 0 1 1 -.005 -2z"></path><path d="M9.015 16a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1">'),Bn=template('<div class=ss_form_date__picker role=dialog aria-label="Datum ausw\xE4hlen"><div class=ss_form_date__header><div class=ss_form_date__nav_group><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M7 6v12"></path><path d="M18 6l-6 6l6 6"></path></svg></button><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M15 6l-6 6l6 6"></path></svg></button></div><div class=ss_form_date__title></div><div class=ss_form_date__nav_group><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></button><button type=button class=ss_form_date__nav><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 6l6 6l-6 6"></path><path d="M17 5v13"></path></svg></button></div></div><div class=ss_form_date__weekdays></div><div class=ss_form_date__grid>'),An=template("<span>"),Hn=template("<button type=button class=ss_form_date__day>"),Pn=template('<span class="ss_form_date__day is-empty">'),Nn=template("<div class=ss_form_checkbox><div class=ss__wrapper><input type=checkbox><label>"),zn=template('<div class=ss_form_select><label></label><div class=ss_form_select__field><select></select><span class=ss_form_select__icon aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M6 9l6 6l6 -6">'),On=template("<option>"),Vn=template("<div class=ss_form_ac_select><label>"),jn=template('<div class=ss__selection><div class=ss__content></div><button type=button class=ss__clear aria-label="Auswahl entfernen">\xD7'),qn=template("<div class=ss__wrapper><div class=ss__input_row><input>"),Yn=template("<span class=ss__prefix role=button>"),X=createContext(),O=function(e){let[t,r]=pe(),l={},i={loading:t,process:n=>r(()=>n(i)),field:n=>l[n]??null,setField:(n,c)=>{l[n]=c;},delField:n=>{delete l[n];},setValues:n=>Object.entries(n).forEach(([c,f])=>l[c]?.setValue(f)),getValues:async()=>{let n=Object.entries(l),c=await Promise.all(n.map(([,f])=>f.getValue()));return Object.fromEntries(n.map(([f],v)=>[f,c[v]]))},validate:()=>Promise.all(Object.values(l).map(n=>n.validate())).then(),hasError:()=>Object.values(l).some(n=>n.hasError()),submit:()=>r(async()=>{await i.validate(),!i.hasError()&&await e.onsubmit?.(i);})};return (()=>{var n=Dn();return n.addEventListener("submit",c=>{c.preventDefault(),i.submit();}),insert(n,createComponent(X.Provider,{value:i,get children(){return e.children}})),n})()};O.Input=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal(null),c={getValue:()=>{let $=r().trim();return $||null},setValue:$=>{if(typeof $=="number"){l($.toLocaleString());return}l(`${$}`);},hasError:()=>!!i(),validate:async()=>{let $=[...e.rules??[]];e.required&&$.unshift(O.rules.required);let C=await c.getValue();for(let d of $){let _=await d(C);if(_){n(_);return}}n(null);}};if(e.name&&t){let $=e.name;onMount(()=>t.setField($,c)),onCleanup(()=>t.delField($));}let f=null,[v,g]=createSignal([]),[a,s]=createSignal(-1),o;if(e.suggestions){let $=e.suggestions,[C,d]=createSignal(!$.prepare);$.prepare&&onMount(async()=>{$.prepare&&(f=await $.prepare(),d(true));});let _;createEffect(()=>{if(clearTimeout(_??void 0),!C())return;g([]);let w=r().trim().toLowerCase();w&&(_=setTimeout(async()=>{let b=await $.getItems({query:w,init:f});g(b);},250));}),onCleanup(()=>clearTimeout(_??void 0));}createEffect(()=>{let $=v();if(!$.length){s(-1);return}a()>=$.length&&s($.length-1);});let p=$=>{let C=o;if(!C||$<0)return;let d=C.querySelectorAll("li")[$];if(!d)return;let _=d.offsetTop,w=_+d.offsetHeight,b=C.scrollTop,u=b+C.clientHeight;_<b?C.scrollTop=_:w>u&&(C.scrollTop=w-C.clientHeight);},k=$=>{let C=v();if(!C.length)return;let d=Math.max(-1,Math.min(a()+$,C.length-1));s(d),p(d);},m=$=>{l(e.suggestions.stringify({item:$,init:f})),s(-1);},x=$=>{if(v().length)if($.key==="ArrowDown")$.preventDefault(),k(1);else if($.key==="ArrowUp")$.preventDefault(),k(-1);else if($.key==="Enter"&&a()>=0){$.preventDefault();let C=v()[a()];C&&m(C);}else $.key==="Escape"&&s(-1);},M=$=>{l($),s(-1);},D=createUniqueId();return (()=>{var $=Ln(),C=$.firstChild,d=C.nextSibling;return insert(C,()=>e.label),insert(d,(()=>{var _=memo(()=>!!e.textArea);return ()=>_()?(()=>{var w=Tn();return w.$$keydown=x,w.$$input=b=>M(b.target.value),effect(b=>{var u=e.id||D,h=e.disabled||t?.loading();return u!==b.e&&setAttribute(w,"id",b.e=u),h!==b.t&&(w.disabled=b.t=h),b},{e:void 0,t:void 0}),effect(()=>w.value=r()),w})():(()=>{var w=In();return w.$$keydown=x,w.$$input=b=>M(b.target.value),effect(b=>{var u=e.id||D,h=e.disabled||t?.loading(),y=e.type;return u!==b.e&&setAttribute(w,"id",b.e=u),h!==b.t&&(w.disabled=b.t=h),y!==b.a&&setAttribute(w,"type",b.a=y),b},{e:void 0,t:void 0,a:void 0}),effect(()=>w.value=r()),w})()})(),null),insert(d,(()=>{var _=memo(()=>!!v().length);return ()=>_()&&(()=>{var w=tt();return use(b=>o=b,w),insert(w,createComponent(For,{get each(){return v()},children:(b,u)=>{let h=()=>{let y=document.activeElement;y instanceof HTMLElement&&y.blur(),m(b);};return (()=>{var y=nt();return y.$$click=h,y.$$pointerdown=S=>S.preventDefault(),insert(y,()=>e.suggestions.stringify({item:b,init:f})),effect(()=>y.classList.toggle("ss__hovered",u()===a())),y})()}})),w})()})(),null),insert($,(()=>{var _=memo(()=>!!i());return ()=>_()&&(()=>{var w=me();return insert(w,i),w})()})(),null),effect(()=>setAttribute(C,"for",e.id||D)),$})()};O.Date=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal(null),[c,f]=createSignal(false),[v,g]=createSignal(new Date),a,s=d=>`${d}`.padStart(2,"0"),o=d=>{let _=s(d.getDate()),w=s(d.getMonth()+1),b=d.getFullYear();return `${_}.${w}.${b}`},p=d=>{let _=d.trim();if(!_)return null;let w=/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(_);if(!w)return null;let b=Number(w[1]),u=Number(w[2]),h=Number(w[3]);if(!b||!u)return null;let y=new Date(h,u-1,b);return y.getFullYear()!==h||y.getMonth()!==u-1||y.getDate()!==b?null:y};createEffect(()=>{if(!c())return;let d=p(r());g(d??new Date);});let k={getValue:()=>{let d=r().trim();return d||null},setValue:d=>{if(d instanceof Date){l(o(d));return}l(`${d??""}`);},hasError:()=>!!i(),validate:async()=>{let d=[...e.rules??[]];e.required&&d.unshift(O.rules.required);let _=await k.getValue();for(let w of d){let b=await w(_);if(b){n(b);return}}if(_&&!p(_)){n("Ung\xFCltiges Datum");return}n(null);}};if(e.name&&t){let d=e.name;onMount(()=>t.setField(d,k)),onCleanup(()=>t.delField(d));}let m=createUniqueId(),x=d=>{let _=p(r());return _?_.getFullYear()===v().getFullYear()&&_.getMonth()===v().getMonth()&&_.getDate()===d:false},M=d=>{let _=new Date;return _.getFullYear()===v().getFullYear()&&_.getMonth()===v().getMonth()&&_.getDate()===d},D=()=>{let d=v(),_=d.getFullYear(),w=d.getMonth(),b=new Date(_,w,1),u=new Date(_,w+1,0).getDate(),h=(b.getDay()+6)%7,y=[];for(let S=0;S<h;S+=1)y.push(null);for(let S=1;S<=u;S+=1)y.push(S);for(;y.length%7!==0;)y.push(null);return y},$=()=>v().toLocaleDateString("de-DE",{month:"long",year:"numeric"}),C=d=>{let _=new Date(v().getFullYear(),v().getMonth(),d);l(o(_)),f(false);};return onMount(()=>{let d=w=>{if(!c())return;let b=w.target;a&&b&&!a.contains(b)&&f(false);},_=w=>{w.key==="Escape"&&f(false);};document.addEventListener("mousedown",d),window.addEventListener("keydown",_),onCleanup(()=>{document.removeEventListener("mousedown",d),window.removeEventListener("keydown",_);});}),(()=>{var d=Fn(),_=d.firstChild,w=_.nextSibling,b=w.firstChild,u=b.nextSibling;return use(h=>a=h,d),insert(_,()=>e.label),b.addEventListener("focus",()=>f(true)),b.$$input=h=>l(h.target.value),u.$$click=()=>f(h=>!h),insert(d,(()=>{var h=memo(()=>!!c());return ()=>h()&&(()=>{var y=Bn(),S=y.firstChild,L=S.firstChild,T=L.firstChild,B=T.nextSibling,I=L.nextSibling,A=I.nextSibling,ee=A.firstChild,le=ee.nextSibling,J=S.nextSibling,W=J.nextSibling;return T.$$click=()=>{let F=v();g(new Date(F.getFullYear()-1,F.getMonth(),1));},B.$$click=()=>{let F=v();g(new Date(F.getFullYear(),F.getMonth()-1,1));},insert(I,$),ee.$$click=()=>{let F=v();g(new Date(F.getFullYear(),F.getMonth()+1,1));},le.$$click=()=>{let F=v();g(new Date(F.getFullYear()+1,F.getMonth(),1));},insert(J,()=>["Mo","Di","Mi","Do","Fr","Sa","So"].map(F=>(()=>{var Y=An();return insert(Y,F),Y})())),insert(W,()=>D().map(F=>F?(()=>{var Y=Hn();return Y.$$click=()=>C(F),insert(Y,F),effect(ce=>{var Re=!!x(F),Ke=!!M(F);return Re!==ce.e&&Y.classList.toggle("is-selected",ce.e=Re),Ke!==ce.t&&Y.classList.toggle("is-today",ce.t=Ke),ce},{e:void 0,t:void 0}),Y})():Pn())),y})()})(),null),insert(d,(()=>{var h=memo(()=>!!i());return ()=>h()&&(()=>{var y=me();return insert(y,i),y})()})(),null),effect(h=>{var y=e.id||m,S=e.id||m,L=e.disabled||t?.loading(),T=!e.editable,B=c(),I=e.disabled||t?.loading();return y!==h.e&&setAttribute(_,"for",h.e=y),S!==h.t&&setAttribute(b,"id",h.t=S),L!==h.a&&(b.disabled=h.a=L),T!==h.o&&(b.readOnly=h.o=T),B!==h.i&&setAttribute(u,"aria-expanded",h.i=B),I!==h.n&&(u.disabled=h.n=I),h},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),effect(()=>b.value=r()),d})()};O.Checkbox=function(e){let t=useContext(X),[r,l]=createSignal(false),[i,n]=createSignal(null),c={getValue:()=>r(),setValue:v=>l(!!v),hasError:()=>!!i(),validate:async()=>{let v=[...e.rules??[]];e.required&&v.unshift(O.rules.required);let g=await c.getValue();for(let a of v){let s=await a(g);if(s){n(s);return}}n(null);}};if(e.name&&t){let v=e.name;onMount(()=>t.setField(v,c)),onCleanup(()=>t.delField(v));}let f=createUniqueId();return (()=>{var v=Nn(),g=v.firstChild,a=g.firstChild,s=a.nextSibling;return a.addEventListener("change",o=>l(o.target.checked)),insert(s,()=>e.label),insert(v,(()=>{var o=memo(()=>!!i());return ()=>o()&&(()=>{var p=me();return insert(p,i),p})()})(),null),effect(o=>{var p=e.id||f,k=e.disabled||t?.loading(),m=e.id||f;return p!==o.e&&setAttribute(a,"id",o.e=p),k!==o.t&&(a.disabled=o.t=k),m!==o.a&&setAttribute(s,"for",o.a=m),o},{e:void 0,t:void 0,a:void 0}),effect(()=>a.checked=r()),v})()};O.useContext=function(){let e=useContext(X);if(!e)return null;let{setField:t,delField:r,...l}=e;return l};O.Select=function(e){let t=useContext(X),[r,l]=createSignal([]),[i,n]=createSignal(null),[c,f]=createSignal(null),v=s=>{let o=s.map(p=>({id:p.id,label:e.buildOption(p)}));if(l(o),!s.length){n(null);return}i()&&o.some(p=>p.id===i())||n(o[0].id);};createEffect(()=>{let s=e.getOptions();"then"in s&&typeof s.then=="function"||s instanceof Promise?s.then(v):v(s);});let g={getValue:()=>{let s=i();return r().some(p=>p.id===s)?s:null},setValue:s=>{let o=r();if(!o.length){n(null);return}let p=o[0].id;if(typeof s!="string"){n(p);return}let k=s.trim();if(!o.some(m=>m.id===k)){n(p);return}n(k);},hasError:()=>!!c(),validate:async()=>{let s=r(),o=await g.getValue();if(!o){f("Pflichtfeld");return}if(!s.some(p=>p.id===o)){f("Option nicht verf\xFCgbar");return}for(let p of e.rules??[]){let k=await p(o);if(k){f(k);return}}f(null);}};if(g.setOptions=v,e.name&&t){let s=e.name;onMount(()=>t.setField(s,g)),onCleanup(()=>t.delField(s));}let a=createUniqueId();return (()=>{var s=zn(),o=s.firstChild,p=o.nextSibling,k=p.firstChild;return insert(o,()=>e.label),k.addEventListener("change",m=>n(m.target.value)),insert(k,createComponent(For,{get each(){return r()},children:m=>(()=>{var x=On();return insert(x,()=>m.label),effect(()=>x.selected=i()===m.id),effect(()=>x.value=m.id),x})()})),insert(s,(()=>{var m=memo(()=>!!c());return ()=>m()&&(()=>{var x=me();return insert(x,c),x})()})(),null),effect(m=>{var x=e.id||a,M=e.id||a,D=e.disabled||t?.loading();return x!==m.e&&setAttribute(o,"for",m.e=x),M!==m.t&&setAttribute(k,"id",m.t=M),D!==m.a&&(k.disabled=m.a=D),m},{e:void 0,t:void 0,a:void 0}),s})()};O.ACSelect=function(e){let t=useContext(X),[r,l]=createSignal(""),[i,n]=createSignal([]),[c,f]=createSignal(null),v={getValue:()=>i(),setValue:u=>n(u),hasError:()=>!!c(),validate:async()=>{let u=await v.getValue(),h=e.minSelectedItems,y=e.maxSelectedItems;if(h&&u.length<h){f(`Mindestens ${h} ${h>1?"Elemente m\xFCssen":"Element muss"} ausgew\xE4hlt werden`);return}if(y&&u.length>y){f(`Maximal ${y} ${y>1?"Elemente d\xFCrfen":"Element darf"} ausgew\xE4hlt werden`);return}for(let S of e.rules??[]){let L=await S(u);if(L){f(L);return}}f(null);}};if(e.name&&t){let u=e.name;onMount(()=>t.setField(u,v)),onCleanup(()=>t.delField(u));}let g=null,[a,s]=createSignal(!e.prepare);e.prepare&&onMount(async()=>{e.prepare&&(g=await e.prepare(),s(true));});let[o,p]=createSignal([]),[k,m]=createSignal(-1),x,M;createEffect(()=>{if(!a())return;clearTimeout(M);let u=r().trim().toLowerCase();if(!u){p(untrack(()=>i()));return}p([]),M=setTimeout(async()=>{let h=await e.getOptions({query:u,init:g});p(h);},250);}),createEffect(()=>{r().trim().toLowerCase()||o().length!==i().length&&p(i());}),onCleanup(()=>clearTimeout(M)),createEffect(()=>{let u=o();if(!u.length){m(-1);return}k()>=u.length&&m(u.length-1);});let D=u=>{let h=x;if(!h||u<0)return;let y=h.querySelectorAll("li")[u];if(!y)return;let S=y.offsetTop,L=S+y.offsetHeight,T=h.scrollTop,B=T+h.clientHeight;S<T?h.scrollTop=S:L>B&&(h.scrollTop=L-h.clientHeight);},$=u=>{let h=o();if(!h.length)return;let y=Math.max(-1,Math.min(k()+u,h.length-1));m(y),D(y);},C=createUniqueId(),d=createMemo(()=>new Set(i().map(({id:u})=>u))),_=(u,h=true)=>{let y=d().has(u.id);if(e.maxSelectedItems===1){n(y?[]:[u]),l(""),h&&m(-1);return}n(y?S=>S.filter(({id:L})=>L!==u.id):S=>[...S.filter(({id:L})=>L!==u.id),u]),h&&m(-1);},w=u=>{if(o().length)if(u.key==="ArrowDown")u.preventDefault(),$(1);else if(u.key==="ArrowUp")u.preventDefault(),$(-1);else if(u.key==="Enter"&&k()>=0){u.preventDefault();let h=o()[k()];h&&_(h,false);}else u.key==="Escape"&&m(-1);},b=()=>e.disabled||t?.loading();return (()=>{var u=Vn(),h=u.firstChild;return insert(h,()=>e.label),insert(u,(()=>{var y=memo(()=>!!(e.maxSelectedItems===1&&e.renderSelection&&i().length===1));return ()=>y()?(()=>{var S=jn(),L=S.firstChild,T=L.nextSibling;return insert(L,()=>e.renderSelection({item:i()[0],init:g})),T.$$click=()=>{n([]),l(""),setTimeout(()=>document.getElementById(e.id||C)?.focus(),0);},effect(()=>T.disabled=b()),S})():(()=>{var S=qn(),L=S.firstChild,T=L.firstChild;return insert(L,(()=>{var B=memo(()=>!!i().length);return ()=>B()&&(()=>{var I=Yn();return I.$$click=()=>{b()||n([]);},I.$$keydown=A=>{b()||(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),n([]));},insert(I,()=>i().length),effect(A=>{var ee=b()?-1:0,le=b()?"true":void 0;return ee!==A.e&&setAttribute(I,"tabindex",A.e=ee),le!==A.t&&setAttribute(I,"aria-disabled",A.t=le),A},{e:void 0,t:void 0}),I})()})(),T),T.$$keydown=w,T.$$input=B=>{b()||(l(B.target.value),m(-1));},insert(S,(()=>{var B=memo(()=>!!o().length);return ()=>B()&&(()=>{var I=tt();return use(A=>x=A,I),insert(I,createComponent(For,{get each(){return o()},children:(A,ee)=>{let le=()=>{b()||(_(A),document.getElementById(e.id||C)?.focus());};return (()=>{var J=nt();return J.$$click=le,J.$$pointerdown=W=>W.preventDefault(),insert(J,()=>e.renderItem({item:A,init:g})),effect(W=>{var F=!!d().has(A.id),Y=ee()===k();return F!==W.e&&J.classList.toggle("ss__selected",W.e=F),Y!==W.t&&J.classList.toggle("ss__hovered",W.t=Y),W},{e:void 0,t:void 0}),J})()}})),I})()})(),null),effect(B=>{var I=e.id||C,A=b();return I!==B.e&&setAttribute(T,"id",B.e=I),A!==B.t&&(T.disabled=B.t=A),B},{e:void 0,t:void 0}),effect(()=>T.value=r()),S})()})(),null),insert(u,(()=>{var y=memo(()=>!!c());return ()=>y()&&(()=>{var S=me();return insert(S,c),S})()})(),null),effect(()=>setAttribute(h,"for",e.id||C)),u})()};O.SubmitButton=function(e){let t=useContext(X);return createComponent(U,{type:"submit",class:"ss_form_submit",get disabled(){return e.disabled||t?.loading()},get children(){return e.children}})};O.rules={required:e=>e?null:"Pflichtfeld",minLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule minLength(..) for non-string value ${t}`);return t.length<e?`Mindestens ${e} Zeichen`:null},maxLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule maxLength(..) for non-string value ${t}`);return t.length<e?`Maximal ${e} Zeichen`:null},pattern:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule pattern(..) for non-string value ${t}`);return e.test(t)?null:"Eingabe widerspricht erwartetem Muster"}};delegateEvents(["input","keydown","pointerdown","click"]);var Qn=template("<div><div class=ss_header__text><h3 class=ss_header__title></h3></div><div class=ss_header__actions>"),Xn=template("<h5 class=ss_header__subtitle>");function er(e){return (()=>{var t=Qn(),r=t.firstChild,l=r.firstChild,i=r.nextSibling;return insert(l,()=>e.title),insert(r,(()=>{var n=memo(()=>!!e.subtitle);return ()=>n()&&(()=>{var c=Xn();return insert(c,()=>e.subtitle),c})()})(),null),insert(i,()=>e.actions),effect(n=>{var c=`ss_header ${e.class??""}`,f=e.style;return c!==n.e&&className(t,n.e=c),n.t=style(t,f,n.t),n},{e:void 0,t:void 0}),t})()}var lr=template("<div class=ss_modal__footer>"),ir=template("<div class=ss_modal><div class=ss_modal__backdrop></div><div class=ss_modal__panel role=dialog aria-modal=true tabindex=-1><div class=ss_modal__body><div class=ss_modal__body_inner>"),sr=template('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-x"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M18 6l-12 12"></path><path d="M6 6l12 12">'),or=template("<div class=ss_modal__header>"),ar=template("<h2 class=ss_modal__title>"),mr=180;function Se(e){let[t,r]=createSignal(e.open),[l,i]=createSignal("closed"),n=createUniqueId(),c,f,v;createEffect(()=>{c&&clearTimeout(c),f&&cancelAnimationFrame(f),e.open?(t()||r(true),i("closed"),f=requestAnimationFrame(()=>i("open"))):(i("closed"),t()&&(c=window.setTimeout(()=>r(false),mr)));}),onMount(()=>{if(!e.open)return;if(e.lockScroll!==false){let s=document.body.style.overflowY;document.body.style.overflowY="hidden",onCleanup(()=>{document.body.style.overflowY=s;});}f=requestAnimationFrame(()=>v?.focus());let a=s=>{s.key==="Escape"&&e.dismissible!==false&&e.onClose?.();};window.addEventListener("keydown",a),onCleanup(()=>window.removeEventListener("keydown",a));}),onCleanup(()=>{c&&clearTimeout(c),f&&cancelAnimationFrame(f);});let g=()=>{e.dismissible!==false&&e.onClose?.();};return createComponent(Show,{get when(){return t()},get children(){return createComponent(Portal,{get children(){var a=ir(),s=a.firstChild,o=s.nextSibling,p=o.firstChild,k=p.firstChild;return s.$$click=g,use(m=>v=m,o),insert(o,(()=>{var m=memo(()=>!!(e.title||e.onClose));return ()=>m()&&(()=>{var x=or();return insert(x,(()=>{var M=memo(()=>!!e.title);return ()=>M()&&(()=>{var D=ar();return setAttribute(D,"id",n),insert(D,()=>e.title),D})()})(),null),insert(x,createComponent(Show,{get when(){return e.onClose},get children(){return createComponent(U,{type:"button",class:"ss_modal__close",isIconOnly:true,ariaLabel:"Dialog schlie\xDFen",onclick:()=>{e.dismissible!==false&&e.onClose?.();},get children(){return sr()}})}}),null),x})()})(),p),insert(k,()=>e.children),insert(o,createComponent(Show,{get when(){return e.footer},get children(){var m=lr();return insert(m,()=>e.footer),m}}),null),effect(m=>{var x=l(),M=l()==="closed",D=e.size==="sm",$=e.size==="lg",C=!!e.fullscreen,d=!!e.disableResponsiveFullscreen,_=e.title?n:void 0;return x!==m.e&&setAttribute(a,"data-state",m.e=x),M!==m.t&&setAttribute(a,"aria-hidden",m.t=M),D!==m.a&&o.classList.toggle("ss_modal__panel--sm",m.a=D),$!==m.o&&o.classList.toggle("ss_modal__panel--lg",m.o=$),C!==m.i&&o.classList.toggle("ss_modal__panel--fullscreen",m.i=C),d!==m.n&&o.classList.toggle("ss_modal__panel--no-fullscreen",m.n=d),_!==m.s&&setAttribute(o,"aria-labelledby",m.s=_),m},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),a}})}})}delegateEvents(["click"]);var dt=createContext(),br=0,wr=()=>`ss-modal-${br++}`;function kr(){let e=useContext(dt);if(!e)throw new Error("useSSModals must be used within SSModalsProvider");return e}function pr(e){let t=useNavigate(),r=useLocation(),[l,i]=pe(),n=()=>e.config.modalProps?.({hide:e.hide})??{},{primaryButtonText:c,secondaryButtonText:f,hideSecondaryButton:v,danger:g,...a}=n();return createComponent(Se,mergeProps({get open(){return e.visible()},get onClose(){return e.hide}},a,{get footer(){return [!v&&createComponent(U,{class:"secondary",get onclick(){return e.hide},children:f??"Abbrechen"}),createComponent(U,{class:g?"danger":void 0,onclick:()=>i(()=>e.config.onPrimaryAction?.({hide:e.hide,navigate:t,pathname:r.pathname})??e.hide()),get disabled(){return l()},children:c??"Weiter"})]},get children(){return e.config.content({hide:e.hide})}}))}function xr(e){let t=useNavigate(),r=useLocation();return createComponent(O,{onsubmit:l=>e.config.onSubmit({hide:e.hide,context:l,navigate:t,pathname:r.pathname}),get children(){return createComponent(yr,{get visible(){return e.visible},get hide(){return e.hide},get config(){return e.config}})}})}function yr(e){let t=O.useContext();if(!t)return null;let r=()=>e.config.modalProps?.({hide:e.hide,context:t})??{},{primaryButtonText:l,secondaryButtonText:i,hideSecondaryButton:n,danger:c,...f}=r();return createComponent(Se,mergeProps({get open(){return e.visible()},get onClose(){return e.hide}},f,{get footer(){return [!n&&createComponent(U,{class:"secondary",get onclick(){return e.hide},get disabled(){return t.loading()},children:i??"Abbrechen"}),createComponent(U,{class:c?"danger":void 0,onclick:()=>t.submit(),get disabled(){return t.loading()},children:l??"Speichern"})]},get children(){return e.config.content({hide:e.hide,context:t})}}))}function Sr(e){let[t,r]=createSignal([]),l=new Map,i=new Map,n=220,c=a=>{let s=l.get(a);if(!s)return;s.setVisible(false);let o=i.get(a);o&&window.clearTimeout(o);let p=window.setTimeout(()=>{r(k=>k.filter(m=>m.id!==a)),l.delete(a),i.delete(a);},n);i.set(a,p);},f=a=>{let s=wr(),[o,p]=createSignal(true),k={id:s,visible:o,setVisible:p,render:a};return l.set(s,k),r(m=>[...m,k]),s},v=a=>f(({hide:s,visible:o})=>createComponent(pr,{visible:o,hide:s,config:a})),g=a=>f(({hide:s,visible:o})=>createComponent(xr,{visible:o,hide:s,config:a}));return onCleanup(()=>{i.forEach(a=>window.clearTimeout(a)),i.clear();}),createComponent(dt.Provider,{value:{show:f,showDefault:v,showForm:g,hide:c},get children(){return [memo(()=>e.children),createComponent(For,{get each(){return t()},children:a=>{let s=()=>c(a.id);return a.render({id:a.id,hide:s,visible:a.visible})}})]}})}var Lr=template('<div><input type=checkbox class=ss_shell__drawer_toggle_input><header class=ss_shell__header><div class=ss_shell__header_left><label class="ss_shell__drawer_toggle ss_button ss_button--icon"aria-label="Navigation \xF6ffnen"role=button tabindex=0><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M4 6l16 0"></path><path d="M4 12l16 0"></path><path d="M4 18l16 0"></path></svg></label><div class=ss_shell__title></div></div><div class=ss_shell__actions></div></header><div class=ss_shell__body><nav class=ss_shell__nav aria-label=Hauptnavigation><div class=ss_shell__nav_inner></div></nav><div class=ss_shell__main></div><label class=ss_shell__scrim aria-label="Navigation schlie\xDFen">'),Tr=template("<div class=ss_shell__nav_list>"),Ir=template("<a class=ss_shell__nav_item><span class=ss_shell__nav_label>"),qe=template("<span class=ss_shell__nav_icon>"),Fr=template("<button type=button class=ss_shell__nav_item><span class=ss_shell__nav_label>"),Br=template('<details class=ss_shell__nav_group><summary class=ss_shell__nav_group_header><span class=ss_shell__nav_label></span><span class=ss_shell__nav_group_chevron aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class=ss_shell__nav_group_chevron_svg><path stroke=none d="M0 0h24v24H0z"fill=none></path><path d="M9 6l6 6l-6 6"></path></svg></span></summary><div class=ss_shell__nav_group_items>'),Ye=createContext();function ge(e){let t=createUniqueId(),r=useLocation(),[l,i]=createSignal([]),n=()=>{let g=document.getElementById(t);g&&(g.checked=false);},c=g=>{i(a=>a.includes(g)?a:[...a,g]);},f=g=>{i(a=>a.filter(s=>s!==g));},v=createMemo(()=>{let g=r.pathname,a=null;for(let s of l())g.startsWith(s)&&(!a||s.length>a.length)&&(a=s);return a});return createComponent(Ye.Provider,{value:{closeDrawer:n,activeHref:v,registerHref:c,unregisterHref:f},get children(){var g=Lr(),a=g.firstChild,s=a.nextSibling,o=s.firstChild,p=o.firstChild,k=p.nextSibling,m=o.nextSibling,x=s.nextSibling,M=x.firstChild,D=M.firstChild,$=M.nextSibling,C=$.nextSibling;return setAttribute(a,"id",t),setAttribute(p,"for",t),insert(k,()=>e.title),insert(m,()=>e.actions),insert(D,()=>e.nav),insert($,()=>e.children),setAttribute(C,"for",t),effect(d=>{var _=`ss_shell ${e.class??""}`,w=e.style;return _!==d.e&&className(g,d.e=_),d.t=style(g,w,d.t),d},{e:void 0,t:void 0}),g}})}ge.Nav=function(e){return (()=>{var t=Tr();return insert(t,()=>e.children),t})()};ge.NavLink=function(e){let t=useContext(Ye);onMount(()=>t?.registerHref(e.href)),onCleanup(()=>t?.unregisterHref(e.href));let r=()=>t?.activeHref()===e.href;return (()=>{var l=Ir(),i=l.firstChild;return l.$$click=()=>{e.onclick?.(),t?.closeDrawer();},insert(l,(()=>{var n=memo(()=>!!e.icon);return ()=>n()&&(()=>{var c=qe();return insert(c,()=>e.icon),c})()})(),i),insert(i,()=>e.children),effect(n=>{var c=!!r(),f=e.href;return c!==n.e&&l.classList.toggle("ss_shell__nav_item--active",n.e=c),f!==n.t&&setAttribute(l,"href",n.t=f),n},{e:void 0,t:void 0}),l})()};ge.NavAction=function(e){let t=useContext(Ye);return (()=>{var r=Fr(),l=r.firstChild;return r.$$click=()=>{e.onclick(),t?.closeDrawer();},insert(r,(()=>{var i=memo(()=>!!e.icon);return ()=>i()&&(()=>{var n=qe();return insert(n,()=>e.icon),n})()})(),l),insert(l,()=>e.children),r})()};ge.NavGroup=function(e){return (()=>{var t=Br(),r=t.firstChild,l=r.firstChild,i=r.nextSibling;return insert(r,(()=>{var n=memo(()=>!!e.icon);return ()=>n()&&(()=>{var c=qe();return insert(c,()=>e.icon),c})()})(),l),insert(l,()=>e.title),insert(i,()=>e.children),effect(()=>t.open=e.initiallyExpanded),t})()};delegateEvents(["click"]);var Ur=template("<div>");function Jr(e){return (()=>{var t=Ur();return insert(t,()=>e.children),effect(r=>{var l=`ss_surface ${e.class??""}`,i=e.style;return l!==r.e&&className(t,r.e=l),r.t=style(t,i,r.t),r},{e:void 0,t:void 0}),t})()}var Xr=template("<div><div class=ss_tile__row><div class=ss_tile__content>"),el=template("<span class=ss_tile__icon>"),tl=template("<h5 class=ss_tile__title>"),nl=template("<h5 class=ss_tile__title><span class=ss_tile__text>"),rl=template("<div class=ss_tile__subtitle>"),ll=template("<div class=ss_tile__trailing>");function mt(e){return (()=>{var t=Xr(),r=t.firstChild,l=r.firstChild;return insert(r,(()=>{var i=memo(()=>!!e.icon);return ()=>i()&&(()=>{var n=el();return insert(n,()=>e.icon),n})()})(),l),insert(l,(()=>{var i=memo(()=>!!e.href);return ()=>i()?(()=>{var n=tl();return insert(n,createComponent(A,{class:"ss_tile__link",get href(){return e.href},get onclick(){return e.onLinkClick},get children(){return e.title}})),n})():(()=>{var n=nl(),c=n.firstChild;return insert(c,()=>e.title),n})()})(),null),insert(l,(()=>{var i=memo(()=>!!e.subtitle);return ()=>i()&&(()=>{var n=rl();return insert(n,()=>e.subtitle),n})()})(),null),insert(r,(()=>{var i=memo(()=>!!e.trailing);return ()=>i()&&(()=>{var n=ll();return insert(n,()=>e.trailing),n})()})(),null),effect(i=>{var n=`ss_tile ${e.class??""}`,c=e.style;return n!==i.e&&className(t,i.e=n),i.t=style(t,c,i.t),i},{e:void 0,t:void 0}),t})()}function sl(e){return function(t){let r=e(t.data);return createComponent(mt,mergeProps(r,{get onLinkClick(){return t.onLinkClick??r.onLinkClick},get href(){return memo(()=>!!t.noLink)()?void 0:r.href},get icon(){return memo(()=>!!t.noIcon)()?void 0:r.icon}}))}}
2
2
  export{U as SSButton,St as SSCallout,Tt as SSChip,Wt as SSDataTable,un as SSDropdown,Cn as SSExpandable,O as SSForm,er as SSHeader,Se as SSModal,Sr as SSModalsProvider,ge as SSShell,Jr as SSSurface,mt as SSTile,sl as createSSTile,kr as useSSModals};
package/dist/dev.jsx CHANGED
@@ -1,6 +1,6 @@
1
1
  function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??""].filter(Boolean).join(" ");return<button type={e.type??"button"}class={t()}disabled={e.disabled}aria-label={e.ariaLabel}form={e.form}onclick={e.onclick}>
2
2
  {e.children}
3
- </button>}function we(e){let{icon:t,color:l,class:i,style:r,children:o,...h}=e;return<div{...h}class={`ss_callout ss_callout--${l} ${i??""}`}style={r}>
3
+ </button>}function we(e){let{icon:t,color:l,class:i,style:r,children:o,...f}=e;return<div{...f}class={`ss_callout ss_callout--${l} ${i??""}`}style={r}>
4
4
  <span class="ss_callout__icon">
5
5
  {t}
6
6
  </span>
@@ -16,7 +16,7 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
16
16
  </button>}
17
17
  </div>}import{createEffect as ye,createMemo as V,createResource as ke,createSignal as j,For as N}from"solid-js";function Me(e){let t=V(()=>e.render(e.row)),[l]=ke(async()=>{let i=t();return i&&typeof i.then=="function"?await i:null});return<div>
18
18
  {(()=>{let i=t();return i&&typeof i.then=="function"?l()??"":i})()}
19
- </div>}function Ee(e){let[t,l]=j(-1),[i,r]=j(null),[o,h]=j(1),c=()=>Math.max(1,e.pageSize??25),f=V(()=>{let k=t(),E=i();if(k<0||!E)return e.rows;let D=e.columns[k];if(!D?.sortKey)return e.rows;let u=e.rows.map((b,n)=>({row:b,idx:n,key:D.sortKey(b)}));return u.sort((b,n)=>b.key===n.key?b.idx-n.idx:b.key<n.key?E==="asc"?-1:1:E==="asc"?1:-1),u.map(b=>b.row)}),a=V(()=>Math.max(1,Math.ceil(f().length/c()))),d=V(()=>{let E=(Math.min(o(),a())-1)*c();return f().slice(E,E+c())});ye(()=>{o()>a()&&h(a())});let s=k=>{if(t()!==k){l(k),r("asc"),h(1);return}if(i()==="asc"){r("desc");return}if(i()==="desc"){l(-1),r(null),h(1);return}r("asc"),h(1)},v=k=>{let E=Math.min(Math.max(1,k),a());h(E)},_=()=>e.paginationPosition??"bottom",y=()=>`ss_table ${_()==="top"?"ss_table--pagination-top":""} ${e.class??""}`,M=()=><div class="ss_table__pagination">
19
+ </div>}function Ee(e){let[t,l]=j(-1),[i,r]=j(null),[o,f]=j(1),a=()=>Math.max(1,e.pageSize??25),h=V(()=>{let k=t(),E=i();if(k<0||!E)return e.rows;let D=e.columns[k];if(!D?.sortKey)return e.rows;let u=e.rows.map((b,n)=>({row:b,idx:n,key:D.sortKey(b)}));return u.sort((b,n)=>b.key===n.key?b.idx-n.idx:b.key<n.key?E==="asc"?-1:1:E==="asc"?1:-1),u.map(b=>b.row)}),c=V(()=>Math.max(1,Math.ceil(h().length/a()))),d=V(()=>{let E=(Math.min(o(),c())-1)*a();return h().slice(E,E+a())});ye(()=>{o()>c()&&f(c())});let s=k=>{if(t()!==k){l(k),r("asc"),f(1);return}if(i()==="asc"){r("desc");return}if(i()==="desc"){l(-1),r(null),f(1);return}r("asc"),f(1)},v=k=>{let E=Math.min(Math.max(1,k),c());f(E)},_=()=>e.paginationPosition??"bottom",y=()=>`ss_table ${_()==="top"?"ss_table--pagination-top":""} ${e.class??""}`,M=()=><div class="ss_table__pagination">
20
20
  <button type="button"class="ss_table__page_button"disabled={o()===1}aria-label="Erste Seite"onclick={()=>v(1)}>
21
21
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M7 6v12"/><path d="M18 6l-6 6l6 6"/></svg>
22
22
  </button>
@@ -24,12 +24,12 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
24
24
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M15 6l-6 6l6 6"/></svg>
25
25
  </button>
26
26
  <span class="ss_table__page_info">
27
- Seite {o()} von {a()}
27
+ Seite {o()} von {c()}
28
28
  </span>
29
- <button type="button"class="ss_table__page_button"disabled={o()===a()}aria-label="Nächste Seite"onclick={()=>v(o()+1)}>
29
+ <button type="button"class="ss_table__page_button"disabled={o()===c()}aria-label="Nächste Seite"onclick={()=>v(o()+1)}>
30
30
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M9 6l6 6l-6 6"/></svg>
31
31
  </button>
32
- <button type="button"class="ss_table__page_button"disabled={o()===a()}aria-label="Letzte Seite"onclick={()=>v(a())}>
32
+ <button type="button"class="ss_table__page_button"disabled={o()===c()}aria-label="Letzte Seite"onclick={()=>v(c())}>
33
33
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M6 6l6 6l-6 6"/><path d="M17 5v13"/></svg>
34
34
  </button>
35
35
  </div>;return<div class={y()}style={e.style}>
@@ -64,84 +64,84 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
64
64
  </table>
65
65
  </div>
66
66
  {_()==="bottom"&&M()}
67
- </div>}import{createSignal as K,For as Te,onCleanup as Q,onMount as Pe,Show as Ce,createEffect as De}from"solid-js";function Fe(e){let[t,l]=K(!1),[i,r]=K(!1),[o,h]=K("closed"),c,f=()=>l(!1);return De(()=>{if(t()){r(!0),requestAnimationFrame(()=>h("open"));return}if(!i())return;h("closed");let a=window.setTimeout(()=>r(!1),160);Q(()=>window.clearTimeout(a))}),Pe(()=>{let a=s=>{let v=s.target;!c||!v||c.contains(v)||f()},d=s=>{s.key==="Escape"&&f()};document.addEventListener("mousedown",a),window.addEventListener("keydown",d),Q(()=>{document.removeEventListener("mousedown",a),window.removeEventListener("keydown",d)})}),<div class={`ss_dropdown ${e.class??""}`}style={e.style}ref={a=>c=a}>
68
- <button type="button"class="ss_dropdown__trigger ss_button ss_button--icon"aria-haspopup="menu"aria-expanded={t()}aria-label={e.ariaLabel??"Aktionen \xF6ffnen"}onclick={()=>l(a=>!a)}>
67
+ </div>}import{createSignal as K,For as Te,onCleanup as Q,onMount as Pe,Show as Ce,createEffect as De}from"solid-js";function Fe(e){let[t,l]=K(!1),[i,r]=K(!1),[o,f]=K("closed"),a,h=()=>l(!1);return De(()=>{if(t()){r(!0),requestAnimationFrame(()=>f("open"));return}if(!i())return;f("closed");let c=window.setTimeout(()=>r(!1),160);Q(()=>window.clearTimeout(c))}),Pe(()=>{let c=s=>{let v=s.target;!a||!v||a.contains(v)||h()},d=s=>{s.key==="Escape"&&h()};document.addEventListener("mousedown",c),window.addEventListener("keydown",d),Q(()=>{document.removeEventListener("mousedown",c),window.removeEventListener("keydown",d)})}),<div class={`ss_dropdown ${e.class??""}`}style={e.style}ref={c=>a=c}>
68
+ <button type="button"class="ss_dropdown__trigger ss_button ss_button--icon"aria-haspopup="menu"aria-expanded={t()}aria-label={e.ariaLabel??"Aktionen \xF6ffnen"}onclick={()=>l(c=>!c)}>
69
69
  {e.icon??<svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-dots-vertical"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"/><path d="M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"/><path d="M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"/></svg>}
70
70
  </button>
71
71
 
72
72
  <Ce when={i()}>
73
73
  <div class="ss_dropdown__menu"role="menu"data-state={o()}>
74
74
  <Te each={e.items}>
75
- {a=><button type="button"class="ss_dropdown__item"role={a.checked?"menuitemcheckbox":"menuitem"}aria-checked={a.checked?"true":void 0}onclick={async()=>{f(),await a.onclick?.()}}>
76
- <span class="ss_dropdown__item_icon">{a.icon}</span>
77
- <span class="ss_dropdown__item_label">{a.label}</span>
78
- {a.checked&&<span class="ss_dropdown__item_check"aria-hidden="true">
75
+ {c=><button type="button"class="ss_dropdown__item"role={c.checked?"menuitemcheckbox":"menuitem"}aria-checked={c.checked?"true":void 0}onclick={async()=>{h(),await c.onclick?.()}}>
76
+ <span class="ss_dropdown__item_icon">{c.icon}</span>
77
+ <span class="ss_dropdown__item_label">{c.label}</span>
78
+ {c.checked&&<span class="ss_dropdown__item_check"aria-hidden="true">
79
79
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-check"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M5 12l5 5l10 -10"/></svg>
80
80
  </span>}
81
81
  </button>}
82
82
  </Te>
83
83
  </div>
84
84
  </Ce>
85
- </div>}import{createMemo as Le,createSignal as Ie,onCleanup as Je}from"solid-js";var ee=200;function Oe(e){let[t,l]=Ie(e.initiallyExpanded?"auto":0),i=Le(()=>t()!==0),r,o,h=()=>{o&&clearTimeout(o);let c=r?.scrollHeight??0;if(i()){l(c),o=window.setTimeout(()=>l(0),1);return}l(c),o=window.setTimeout(()=>l("auto"),ee)};return Je(()=>{o&&clearTimeout(o)}),<div class={`ss_expandable ${e.class??""}`}style={e.style}data-state={i()?"open":"closed"}>
86
- <div class="ss_expandable__header"role="button"tabindex="0"aria-expanded={i()}onclick={h}onkeydown={c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),h())}}>
85
+ </div>}import{createMemo as Le,createSignal as Ie,onCleanup as Je}from"solid-js";var ee=200;function Oe(e){let[t,l]=Ie(e.initiallyExpanded?"auto":0),i=Le(()=>t()!==0),r,o,f=()=>{o&&clearTimeout(o);let a=r?.scrollHeight??0;if(i()){l(a),o=window.setTimeout(()=>l(0),1);return}l(a),o=window.setTimeout(()=>l("auto"),ee)};return Je(()=>{o&&clearTimeout(o)}),<div class={`ss_expandable ${e.class??""}`}style={e.style}data-state={i()?"open":"closed"}>
86
+ <div class="ss_expandable__header"role="button"tabindex="0"aria-expanded={i()}onclick={f}onkeydown={a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),f())}}>
87
87
  <span class="ss_expandable__icon"aria-hidden="true">
88
88
  {i()?<svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M6 9l6 6l6 -6"/></svg>:<svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M9 6l6 6l-6 6"/></svg>}
89
89
  </span>
90
90
  <span class="ss_expandable__title">{e.title}</span>
91
91
  </div>
92
92
 
93
- <div ref={c=>r=c}class="ss_expandable__content"style={{height:typeof t()=="number"?`${t()}px`:t(),"transition-duration":`${ee}ms`}}>
93
+ <div ref={a=>r=a}class="ss_expandable__content"style={{height:typeof t()=="number"?`${t()}px`:t(),"transition-duration":`${ee}ms`}}>
94
94
  <div class='ss_expandable__divider_wrapper'>
95
95
  <div class="ss_expandable__divider"/>
96
96
  {e.children}
97
97
  </div>
98
98
  </div>
99
- </div>}import{createContext as He,createEffect as B,createMemo as Xe,createSignal as T,createUniqueId as X,For as Y,onCleanup as I,onMount as J,untrack as Re,useContext as H}from"solid-js";import{createSignal as Be}from"solid-js";function A(){let[e,t]=Be(!1);return[e,async l=>{if(!e())try{t(!0),await l()}finally{t(!1)}}]}var O=He(),C=function(e){let[t,l]=A(),i={},r={loading:t,process:o=>l(()=>o(r)),field:o=>i[o]??null,setField:(o,h)=>{i[o]=h},delField:o=>{delete i[o]},setValues:o=>Object.entries(o).forEach(([h,c])=>i[h]?.setValue(c)),getValues:()=>Object.fromEntries(Object.entries(i).map(([o,h])=>[o,h.getValue()])),validate:()=>Promise.all(Object.values(i).map(o=>o.validate())).then(),hasError:()=>Object.values(i).some(o=>o.hasError()),submit:()=>l(async()=>{await r.validate(),!r.hasError()&&await e.onsubmit?.(r)})};return<form class="ss_form"onsubmit={o=>{o.preventDefault(),r.submit()}}>
99
+ </div>}import{createContext as He,createEffect as B,createMemo as Xe,createSignal as T,createUniqueId as X,For as Y,onCleanup as I,onMount as J,untrack as Re,useContext as H}from"solid-js";import{createSignal as Be}from"solid-js";function A(){let[e,t]=Be(!1);return[e,async l=>{if(!e())try{t(!0),await l()}finally{t(!1)}}]}var O=He(),C=function(e){let[t,l]=A(),i={},r={loading:t,process:o=>l(()=>o(r)),field:o=>i[o]??null,setField:(o,f)=>{i[o]=f},delField:o=>{delete i[o]},setValues:o=>Object.entries(o).forEach(([f,a])=>i[f]?.setValue(a)),getValues:async()=>{let o=Object.entries(i),f=await Promise.all(o.map(([,a])=>a.getValue()));return Object.fromEntries(o.map(([a],h)=>[a,f[h]]))},validate:()=>Promise.all(Object.values(i).map(o=>o.validate())).then(),hasError:()=>Object.values(i).some(o=>o.hasError()),submit:()=>l(async()=>{await r.validate(),!r.hasError()&&await e.onsubmit?.(r)})};return<form class="ss_form"onsubmit={o=>{o.preventDefault(),r.submit()}}>
100
100
  <O.Provider value={r}>
101
101
  {e.children}
102
102
  </O.Provider>
103
- </form>};C.Input=function(e){let t=H(O),[l,i]=T(""),[r,o]=T(null),h={getValue:()=>{let u=l().trim();return u||null},setValue:u=>{if(typeof u=="number"){i(u.toLocaleString());return}i(`${u}`)},hasError:()=>!!r(),validate:async()=>{let u=[...e.rules??[]];e.required&&u.unshift(C.rules.required);let b=await h.getValue();for(let n of u){let g=await n(b);if(g){o(g);return}}o(null)}};if(e.name&&t){let u=e.name;J(()=>t.setField(u,h)),I(()=>t.delField(u))}let c=null,[f,a]=T([]),[d,s]=T(-1),v;if(e.suggestions){let u=e.suggestions,[b,n]=T(!u.prepare);u.prepare&&J(async()=>{u.prepare&&(c=await u.prepare(),n(!0))});let g;B(()=>{if(clearTimeout(g??void 0),!b())return;a([]);let x=l().trim().toLowerCase();x&&(g=setTimeout(async()=>{let w=await u.getItems({query:x,init:c});a(w)},250))}),I(()=>clearTimeout(g??void 0))}B(()=>{let u=f();if(!u.length){s(-1);return}d()>=u.length&&s(u.length-1)});let _=u=>{let b=v;if(!b||u<0)return;let n=b.querySelectorAll("li")[u];if(!n)return;let g=n.offsetTop,x=g+n.offsetHeight,w=b.scrollTop,m=w+b.clientHeight;g<w?b.scrollTop=g:x>m&&(b.scrollTop=x-b.clientHeight)},y=u=>{let b=f();if(!b.length)return;let n=Math.max(-1,Math.min(d()+u,b.length-1));s(n),_(n)},M=u=>{i(e.suggestions.stringify({item:u,init:c})),s(-1)},k=u=>{if(f().length)if(u.key==="ArrowDown")u.preventDefault(),y(1);else if(u.key==="ArrowUp")u.preventDefault(),y(-1);else if(u.key==="Enter"&&d()>=0){u.preventDefault();let b=f()[d()];b&&M(b)}else u.key==="Escape"&&s(-1)},E=u=>{i(u),s(-1)},D=X();return<div class="ss_form_input">
103
+ </form>};C.Input=function(e){let t=H(O),[l,i]=T(""),[r,o]=T(null),f={getValue:()=>{let u=l().trim();return u||null},setValue:u=>{if(typeof u=="number"){i(u.toLocaleString());return}i(`${u}`)},hasError:()=>!!r(),validate:async()=>{let u=[...e.rules??[]];e.required&&u.unshift(C.rules.required);let b=await f.getValue();for(let n of u){let g=await n(b);if(g){o(g);return}}o(null)}};if(e.name&&t){let u=e.name;J(()=>t.setField(u,f)),I(()=>t.delField(u))}let a=null,[h,c]=T([]),[d,s]=T(-1),v;if(e.suggestions){let u=e.suggestions,[b,n]=T(!u.prepare);u.prepare&&J(async()=>{u.prepare&&(a=await u.prepare(),n(!0))});let g;B(()=>{if(clearTimeout(g??void 0),!b())return;c([]);let x=l().trim().toLowerCase();x&&(g=setTimeout(async()=>{let w=await u.getItems({query:x,init:a});c(w)},250))}),I(()=>clearTimeout(g??void 0))}B(()=>{let u=h();if(!u.length){s(-1);return}d()>=u.length&&s(u.length-1)});let _=u=>{let b=v;if(!b||u<0)return;let n=b.querySelectorAll("li")[u];if(!n)return;let g=n.offsetTop,x=g+n.offsetHeight,w=b.scrollTop,m=w+b.clientHeight;g<w?b.scrollTop=g:x>m&&(b.scrollTop=x-b.clientHeight)},y=u=>{let b=h();if(!b.length)return;let n=Math.max(-1,Math.min(d()+u,b.length-1));s(n),_(n)},M=u=>{i(e.suggestions.stringify({item:u,init:a})),s(-1)},k=u=>{if(h().length)if(u.key==="ArrowDown")u.preventDefault(),y(1);else if(u.key==="ArrowUp")u.preventDefault(),y(-1);else if(u.key==="Enter"&&d()>=0){u.preventDefault();let b=h()[d()];b&&M(b)}else u.key==="Escape"&&s(-1)},E=u=>{i(u),s(-1)},D=X();return<div class="ss_form_input">
104
104
  <label for={e.id||D}>{e.label}</label>
105
105
 
106
106
  <div class="ss__wrapper">
107
107
  {e.textArea?<textarea id={e.id||D}value={l()}oninput={u=>E(u.target.value)}onkeydown={k}disabled={e.disabled||t?.loading()}/>:<input id={e.id||D}value={l()}oninput={u=>E(u.target.value)}onkeydown={k}disabled={e.disabled||t?.loading()}type={e.type}/>}
108
108
 
109
- {!!f().length&&<ul class="ss__suggestions"ref={u=>v=u}>
110
- <Y each={f()}>
109
+ {!!h().length&&<ul class="ss__suggestions"ref={u=>v=u}>
110
+ <Y each={h()}>
111
111
  {(u,b)=>{let n=()=>{let g=document.activeElement;g instanceof HTMLElement&&g.blur(),M(u)};return<li onpointerdown={g=>g.preventDefault()}onclick={n}classList={{ss__hovered:b()===d()}}>
112
- {e.suggestions.stringify({item:u,init:c})}
112
+ {e.suggestions.stringify({item:u,init:a})}
113
113
  </li>}}
114
114
  </Y>
115
115
  </ul>}
116
116
  </div>
117
117
 
118
118
  {!!r()&&<span role="alert">{r()}</span>}
119
- </div>};C.Date=function(e){let t=H(O),[l,i]=T(""),[r,o]=T(null),[h,c]=T(!1),[f,a]=T(new Date),d,s=n=>`${n}`.padStart(2,"0"),v=n=>{let g=s(n.getDate()),x=s(n.getMonth()+1),w=n.getFullYear();return`${g}.${x}.${w}`},_=n=>{let g=n.trim();if(!g)return null;let x=/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(g);if(!x)return null;let w=Number(x[1]),m=Number(x[2]),S=Number(x[3]);if(!w||!m)return null;let p=new Date(S,m-1,w);return p.getFullYear()!==S||p.getMonth()!==m-1||p.getDate()!==w?null:p};B(()=>{if(!h())return;let n=_(l());a(n??new Date)});let y={getValue:()=>{let n=l().trim();return n||null},setValue:n=>{if(n instanceof Date){i(v(n));return}i(`${n??""}`)},hasError:()=>!!r(),validate:async()=>{let n=[...e.rules??[]];e.required&&n.unshift(C.rules.required);let g=await y.getValue();for(let x of n){let w=await x(g);if(w){o(w);return}}if(g&&!_(g)){o("Ung\xFCltiges Datum");return}o(null)}};if(e.name&&t){let n=e.name;J(()=>t.setField(n,y)),I(()=>t.delField(n))}let M=X(),k=n=>{let g=_(l());return g?g.getFullYear()===f().getFullYear()&&g.getMonth()===f().getMonth()&&g.getDate()===n:!1},E=n=>{let g=new Date;return g.getFullYear()===f().getFullYear()&&g.getMonth()===f().getMonth()&&g.getDate()===n},D=()=>{let n=f(),g=n.getFullYear(),x=n.getMonth(),w=new Date(g,x,1),m=new Date(g,x+1,0).getDate(),S=(w.getDay()+6)%7,p=[];for(let P=0;P<S;P+=1)p.push(null);for(let P=1;P<=m;P+=1)p.push(P);for(;p.length%7!==0;)p.push(null);return p},u=()=>f().toLocaleDateString("de-DE",{month:"long",year:"numeric"}),b=n=>{let g=new Date(f().getFullYear(),f().getMonth(),n);i(v(g)),c(!1)};return J(()=>{let n=x=>{if(!h())return;let w=x.target;d&&w&&!d.contains(w)&&c(!1)},g=x=>{x.key==="Escape"&&c(!1)};document.addEventListener("mousedown",n),window.addEventListener("keydown",g),I(()=>{document.removeEventListener("mousedown",n),window.removeEventListener("keydown",g)})}),<div class="ss_form_date"ref={n=>d=n}>
119
+ </div>};C.Date=function(e){let t=H(O),[l,i]=T(""),[r,o]=T(null),[f,a]=T(!1),[h,c]=T(new Date),d,s=n=>`${n}`.padStart(2,"0"),v=n=>{let g=s(n.getDate()),x=s(n.getMonth()+1),w=n.getFullYear();return`${g}.${x}.${w}`},_=n=>{let g=n.trim();if(!g)return null;let x=/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(g);if(!x)return null;let w=Number(x[1]),m=Number(x[2]),S=Number(x[3]);if(!w||!m)return null;let p=new Date(S,m-1,w);return p.getFullYear()!==S||p.getMonth()!==m-1||p.getDate()!==w?null:p};B(()=>{if(!f())return;let n=_(l());c(n??new Date)});let y={getValue:()=>{let n=l().trim();return n||null},setValue:n=>{if(n instanceof Date){i(v(n));return}i(`${n??""}`)},hasError:()=>!!r(),validate:async()=>{let n=[...e.rules??[]];e.required&&n.unshift(C.rules.required);let g=await y.getValue();for(let x of n){let w=await x(g);if(w){o(w);return}}if(g&&!_(g)){o("Ung\xFCltiges Datum");return}o(null)}};if(e.name&&t){let n=e.name;J(()=>t.setField(n,y)),I(()=>t.delField(n))}let M=X(),k=n=>{let g=_(l());return g?g.getFullYear()===h().getFullYear()&&g.getMonth()===h().getMonth()&&g.getDate()===n:!1},E=n=>{let g=new Date;return g.getFullYear()===h().getFullYear()&&g.getMonth()===h().getMonth()&&g.getDate()===n},D=()=>{let n=h(),g=n.getFullYear(),x=n.getMonth(),w=new Date(g,x,1),m=new Date(g,x+1,0).getDate(),S=(w.getDay()+6)%7,p=[];for(let P=0;P<S;P+=1)p.push(null);for(let P=1;P<=m;P+=1)p.push(P);for(;p.length%7!==0;)p.push(null);return p},u=()=>h().toLocaleDateString("de-DE",{month:"long",year:"numeric"}),b=n=>{let g=new Date(h().getFullYear(),h().getMonth(),n);i(v(g)),a(!1)};return J(()=>{let n=x=>{if(!f())return;let w=x.target;d&&w&&!d.contains(w)&&a(!1)},g=x=>{x.key==="Escape"&&a(!1)};document.addEventListener("mousedown",n),window.addEventListener("keydown",g),I(()=>{document.removeEventListener("mousedown",n),window.removeEventListener("keydown",g)})}),<div class="ss_form_date"ref={n=>d=n}>
120
120
  <label for={e.id||M}>{e.label}</label>
121
121
 
122
122
  <div class="ss__wrapper">
123
- <input id={e.id||M}value={l()}oninput={n=>i(n.target.value)}onfocus={()=>c(!0)}disabled={e.disabled||t?.loading()}readonly={!e.editable}type="text"inputmode="numeric"autocomplete="off"placeholder="TT.MM.JJJJ"/>
124
- <button type="button"class="ss_form_date__icon"aria-label="Kalender öffnen"aria-haspopup="dialog"aria-expanded={h()}onclick={()=>c(n=>!n)}disabled={e.disabled||t?.loading()}>
123
+ <input id={e.id||M}value={l()}oninput={n=>i(n.target.value)}onfocus={()=>a(!0)}disabled={e.disabled||t?.loading()}readonly={!e.editable}type="text"inputmode="numeric"autocomplete="off"placeholder="TT.MM.JJJJ"/>
124
+ <button type="button"class="ss_form_date__icon"aria-label="Kalender öffnen"aria-haspopup="dialog"aria-expanded={f()}onclick={()=>a(n=>!n)}disabled={e.disabled||t?.loading()}>
125
125
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="currentColor"class="icon icon-tabler icons-tabler-filled icon-tabler-calendar-week"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M16 2c.183 0 .355 .05 .502 .135l.033 .02c.28 .177 .465 .49 .465 .845v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 .514 -.874l.093 -.046l.066 -.025l.1 -.029l.107 -.019l.12 -.007q .083 0 .161 .013l.122 .029l.04 .012l.06 .023c.328 .135 .568 .44 .61 .806l.007 .117v1h6v-1a1 1 0 0 1 1 -1m3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16z"/><path d="M9.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"/><path d="M13.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"/><path d="M17.02 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"/><path d="M12.02 15a1 1 0 0 1 0 2a1.001 1.001 0 1 1 -.005 -2z"/><path d="M9.015 16a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1"/></svg>
126
126
  </button>
127
127
  </div>
128
128
 
129
- {h()&&<div class="ss_form_date__picker"role="dialog"aria-label="Datum auswählen">
129
+ {f()&&<div class="ss_form_date__picker"role="dialog"aria-label="Datum auswählen">
130
130
  <div class="ss_form_date__header">
131
131
  <div class="ss_form_date__nav_group">
132
- <button type="button"class="ss_form_date__nav"onclick={()=>{let n=f();a(new Date(n.getFullYear()-1,n.getMonth(),1))}}>
132
+ <button type="button"class="ss_form_date__nav"onclick={()=>{let n=h();c(new Date(n.getFullYear()-1,n.getMonth(),1))}}>
133
133
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left-pipe"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M7 6v12"/><path d="M18 6l-6 6l6 6"/></svg>
134
134
  </button>
135
- <button type="button"class="ss_form_date__nav"onclick={()=>{let n=f();a(new Date(n.getFullYear(),n.getMonth()-1,1))}}>
135
+ <button type="button"class="ss_form_date__nav"onclick={()=>{let n=h();c(new Date(n.getFullYear(),n.getMonth()-1,1))}}>
136
136
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-left"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M15 6l-6 6l6 6"/></svg>
137
137
  </button>
138
138
  </div>
139
139
  <div class="ss_form_date__title">{u()}</div>
140
140
  <div class="ss_form_date__nav_group">
141
- <button type="button"class="ss_form_date__nav"onclick={()=>{let n=f();a(new Date(n.getFullYear(),n.getMonth()+1,1))}}>
141
+ <button type="button"class="ss_form_date__nav"onclick={()=>{let n=h();c(new Date(n.getFullYear(),n.getMonth()+1,1))}}>
142
142
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M9 6l6 6l-6 6"/></svg>
143
143
  </button>
144
- <button type="button"class="ss_form_date__nav"onclick={()=>{let n=f();a(new Date(n.getFullYear()+1,n.getMonth(),1))}}>
144
+ <button type="button"class="ss_form_date__nav"onclick={()=>{let n=h();c(new Date(n.getFullYear()+1,n.getMonth(),1))}}>
145
145
  <svg xmlns="http://www.w3.org/2000/svg"width="24"height="24"viewBox="0 0 24 24"fill="none"stroke="currentColor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right-pipe"><path stroke="none"d="M0 0h24v24H0z"fill="none"/><path d="M6 6l6 6l-6 6"/><path d="M17 5v13"/></svg>
146
146
  </button>
147
147
  </div>
@@ -157,14 +157,14 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
157
157
  </div>}
158
158
 
159
159
  {!!r()&&<span role="alert">{r()}</span>}
160
- </div>};C.Checkbox=function(e){let t=H(O),[l,i]=T(!1),[r,o]=T(null),h={getValue:()=>l(),setValue:f=>i(!!f),hasError:()=>!!r(),validate:async()=>{let f=[...e.rules??[]];e.required&&f.unshift(C.rules.required);let a=await h.getValue();for(let d of f){let s=await d(a);if(s){o(s);return}}o(null)}};if(e.name&&t){let f=e.name;J(()=>t.setField(f,h)),I(()=>t.delField(f))}let c=X();return<div class="ss_form_checkbox">
160
+ </div>};C.Checkbox=function(e){let t=H(O),[l,i]=T(!1),[r,o]=T(null),f={getValue:()=>l(),setValue:h=>i(!!h),hasError:()=>!!r(),validate:async()=>{let h=[...e.rules??[]];e.required&&h.unshift(C.rules.required);let c=await f.getValue();for(let d of h){let s=await d(c);if(s){o(s);return}}o(null)}};if(e.name&&t){let h=e.name;J(()=>t.setField(h,f)),I(()=>t.delField(h))}let a=X();return<div class="ss_form_checkbox">
161
161
  <div class="ss__wrapper">
162
- <input id={e.id||c}type="checkbox"checked={l()}onchange={f=>i(f.target.checked)}disabled={e.disabled||t?.loading()}/>
163
- <label for={e.id||c}>{e.label}</label>
162
+ <input id={e.id||a}type="checkbox"checked={l()}onchange={h=>i(h.target.checked)}disabled={e.disabled||t?.loading()}/>
163
+ <label for={e.id||a}>{e.label}</label>
164
164
  </div>
165
165
 
166
166
  {!!r()&&<span role="alert">{r()}</span>}
167
- </div>};C.useContext=function(){let e=H(O);if(!e)return null;let{setField:t,delField:l,...i}=e;return i};C.Select=function(e){let t=H(O),[l,i]=T([]),[r,o]=T(null),[h,c]=T(null),f=s=>{let v=s.map(_=>({id:_.id,label:e.buildOption(_)}));if(i(v),!s.length){o(null);return}r()&&v.some(_=>_.id===r())||o(v[0].id)};B(()=>{let s=e.getOptions();"then"in s&&typeof s.then=="function"||s instanceof Promise?s.then(f):f(s)});let a={getValue:()=>{let s=r();return l().some(_=>_.id===s)?s:null},setValue:s=>{let v=l();if(!v.length){o(null);return}let _=v[0].id;if(typeof s!="string"){o(_);return}let y=s.trim();if(!v.some(M=>M.id===y)){o(_);return}o(y)},hasError:()=>!!h(),validate:async()=>{let s=l(),v=await a.getValue();if(!v){c("Pflichtfeld");return}if(!s.some(_=>_.id===v)){c("Option nicht verf\xFCgbar");return}for(let _ of e.rules??[]){let y=await _(v);if(y){c(y);return}}c(null)}};if(a.setOptions=f,e.name&&t){let s=e.name;J(()=>t.setField(s,a)),I(()=>t.delField(s))}let d=X();return<div class="ss_form_select">
167
+ </div>};C.useContext=function(){let e=H(O);if(!e)return null;let{setField:t,delField:l,...i}=e;return i};C.Select=function(e){let t=H(O),[l,i]=T([]),[r,o]=T(null),[f,a]=T(null),h=s=>{let v=s.map(_=>({id:_.id,label:e.buildOption(_)}));if(i(v),!s.length){o(null);return}r()&&v.some(_=>_.id===r())||o(v[0].id)};B(()=>{let s=e.getOptions();"then"in s&&typeof s.then=="function"||s instanceof Promise?s.then(h):h(s)});let c={getValue:()=>{let s=r();return l().some(_=>_.id===s)?s:null},setValue:s=>{let v=l();if(!v.length){o(null);return}let _=v[0].id;if(typeof s!="string"){o(_);return}let y=s.trim();if(!v.some(M=>M.id===y)){o(_);return}o(y)},hasError:()=>!!f(),validate:async()=>{let s=l(),v=await c.getValue();if(!v){a("Pflichtfeld");return}if(!s.some(_=>_.id===v)){a("Option nicht verf\xFCgbar");return}for(let _ of e.rules??[]){let y=await _(v);if(y){a(y);return}}a(null)}};if(c.setOptions=h,e.name&&t){let s=e.name;J(()=>t.setField(s,c)),I(()=>t.delField(s))}let d=X();return<div class="ss_form_select">
168
168
  <label for={e.id||d}>{e.label}</label>
169
169
 
170
170
  <div class="ss_form_select__field">
@@ -178,13 +178,13 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
178
178
  </span>
179
179
  </div>
180
180
 
181
- {!!h()&&<span role="alert">{h()}</span>}
182
- </div>};C.ACSelect=function(e){let t=H(O),[l,i]=T(""),[r,o]=T([]),[h,c]=T(null),f={getValue:()=>r(),setValue:m=>o(m),hasError:()=>!!h(),validate:async()=>{let m=await f.getValue(),S=e.minSelectedItems,p=e.maxSelectedItems;if(S&&m.length<S){c(`Mindestens ${S} ${S>1?"Elemente m\xFCssen":"Element muss"} ausgew\xE4hlt werden`);return}if(p&&m.length>p){c(`Maximal ${p} ${p>1?"Elemente d\xFCrfen":"Element darf"} ausgew\xE4hlt werden`);return}for(let P of e.rules??[]){let L=await P(m);if(L){c(L);return}}c(null)}};if(e.name&&t){let m=e.name;J(()=>t.setField(m,f)),I(()=>t.delField(m))}let a=null,[d,s]=T(!e.prepare);e.prepare&&J(async()=>{e.prepare&&(a=await e.prepare(),s(!0))});let[v,_]=T([]),[y,M]=T(-1),k,E;B(()=>{if(!d())return;clearTimeout(E);let m=l().trim().toLowerCase();if(!m){_(Re(()=>r()));return}_([]),E=setTimeout(async()=>{let S=await e.getOptions({query:m,init:a});_(S)},250)}),B(()=>{l().trim().toLowerCase()||v().length!==r().length&&_(r())}),I(()=>clearTimeout(E)),B(()=>{let m=v();if(!m.length){M(-1);return}y()>=m.length&&M(m.length-1)});let D=m=>{let S=k;if(!S||m<0)return;let p=S.querySelectorAll("li")[m];if(!p)return;let P=p.offsetTop,L=P+p.offsetHeight,G=S.scrollTop,Se=G+S.clientHeight;P<G?S.scrollTop=P:L>Se&&(S.scrollTop=L-S.clientHeight)},u=m=>{let S=v();if(!S.length)return;let p=Math.max(-1,Math.min(y()+m,S.length-1));M(p),D(p)},b=X(),n=Xe(()=>new Set(r().map(({id:m})=>m))),g=(m,S=!0)=>{let p=n().has(m.id);if(e.maxSelectedItems===1){o(p?[]:[m]),i(""),S&&M(-1);return}o(p?P=>P.filter(({id:L})=>L!==m.id):P=>[...P.filter(({id:L})=>L!==m.id),m]),S&&M(-1)},x=m=>{if(v().length)if(m.key==="ArrowDown")m.preventDefault(),u(1);else if(m.key==="ArrowUp")m.preventDefault(),u(-1);else if(m.key==="Enter"&&y()>=0){m.preventDefault();let S=v()[y()];S&&g(S,!1)}else m.key==="Escape"&&M(-1)},w=()=>e.disabled||t?.loading();return<div class="ss_form_ac_select">
181
+ {!!f()&&<span role="alert">{f()}</span>}
182
+ </div>};C.ACSelect=function(e){let t=H(O),[l,i]=T(""),[r,o]=T([]),[f,a]=T(null),h={getValue:()=>r(),setValue:m=>o(m),hasError:()=>!!f(),validate:async()=>{let m=await h.getValue(),S=e.minSelectedItems,p=e.maxSelectedItems;if(S&&m.length<S){a(`Mindestens ${S} ${S>1?"Elemente m\xFCssen":"Element muss"} ausgew\xE4hlt werden`);return}if(p&&m.length>p){a(`Maximal ${p} ${p>1?"Elemente d\xFCrfen":"Element darf"} ausgew\xE4hlt werden`);return}for(let P of e.rules??[]){let L=await P(m);if(L){a(L);return}}a(null)}};if(e.name&&t){let m=e.name;J(()=>t.setField(m,h)),I(()=>t.delField(m))}let c=null,[d,s]=T(!e.prepare);e.prepare&&J(async()=>{e.prepare&&(c=await e.prepare(),s(!0))});let[v,_]=T([]),[y,M]=T(-1),k,E;B(()=>{if(!d())return;clearTimeout(E);let m=l().trim().toLowerCase();if(!m){_(Re(()=>r()));return}_([]),E=setTimeout(async()=>{let S=await e.getOptions({query:m,init:c});_(S)},250)}),B(()=>{l().trim().toLowerCase()||v().length!==r().length&&_(r())}),I(()=>clearTimeout(E)),B(()=>{let m=v();if(!m.length){M(-1);return}y()>=m.length&&M(m.length-1)});let D=m=>{let S=k;if(!S||m<0)return;let p=S.querySelectorAll("li")[m];if(!p)return;let P=p.offsetTop,L=P+p.offsetHeight,G=S.scrollTop,Se=G+S.clientHeight;P<G?S.scrollTop=P:L>Se&&(S.scrollTop=L-S.clientHeight)},u=m=>{let S=v();if(!S.length)return;let p=Math.max(-1,Math.min(y()+m,S.length-1));M(p),D(p)},b=X(),n=Xe(()=>new Set(r().map(({id:m})=>m))),g=(m,S=!0)=>{let p=n().has(m.id);if(e.maxSelectedItems===1){o(p?[]:[m]),i(""),S&&M(-1);return}o(p?P=>P.filter(({id:L})=>L!==m.id):P=>[...P.filter(({id:L})=>L!==m.id),m]),S&&M(-1)},x=m=>{if(v().length)if(m.key==="ArrowDown")m.preventDefault(),u(1);else if(m.key==="ArrowUp")m.preventDefault(),u(-1);else if(m.key==="Enter"&&y()>=0){m.preventDefault();let S=v()[y()];S&&g(S,!1)}else m.key==="Escape"&&M(-1)},w=()=>e.disabled||t?.loading();return<div class="ss_form_ac_select">
183
183
  <label for={e.id||b}>{e.label}</label>
184
184
 
185
185
  {e.maxSelectedItems===1&&e.renderSelection&&r().length===1?<div class="ss__selection">
186
186
  <div class="ss__content">
187
- {e.renderSelection({item:r()[0],init:a})}
187
+ {e.renderSelection({item:r()[0],init:c})}
188
188
  </div>
189
189
  <button type="button"class="ss__clear"disabled={w()}aria-label="Auswahl entfernen"onclick={()=>{o([]),i(""),setTimeout(()=>document.getElementById(e.id||b)?.focus(),0)}}>
190
190
  ×
@@ -202,13 +202,13 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
202
202
  {!!v().length&&<ul class="ss__suggestions"ref={m=>k=m}>
203
203
  <Y each={v()}>
204
204
  {(m,S)=>{let p=()=>{w()||(g(m),document.getElementById(e.id||b)?.focus())};return<li onpointerdown={P=>P.preventDefault()}onclick={p}classList={{ss__selected:n().has(m.id),ss__hovered:S()===y()}}>
205
- {e.renderItem({item:m,init:a})}
205
+ {e.renderItem({item:m,init:c})}
206
206
  </li>}}
207
207
  </Y>
208
208
  </ul>}
209
209
  </div>}
210
210
 
211
- {!!h()&&<span role="alert">{h()}</span>}
211
+ {!!f()&&<span role="alert">{f()}</span>}
212
212
  </div>};C.SubmitButton=function(e){let t=H(O);return<F type="submit"class="ss_form_submit"disabled={e.disabled||t?.loading()}>
213
213
  {e.children}
214
214
  </F>};C.rules={required:e=>e?null:"Pflichtfeld",minLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule minLength(..) for non-string value ${t}`);return t.length<e?`Mindestens ${e} Zeichen`:null},maxLength:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule maxLength(..) for non-string value ${t}`);return t.length<e?`Maximal ${e} Zeichen`:null},pattern:e=>t=>{if(t===null&&(t=""),typeof t!="string")throw new Error(`invalid rule pattern(..) for non-string value ${t}`);return e.test(t)?null:"Eingabe widerspricht erwartetem Muster"}};function Ve(e){return<div class={`ss_header ${e.class??""}`}style={e.style}>
@@ -217,11 +217,11 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
217
217
  {e.subtitle&&<h5 class="ss_header__subtitle">{e.subtitle}</h5>}
218
218
  </div>
219
219
  <div class="ss_header__actions">{e.actions}</div>
220
- </div>}import{Show as U,createEffect as Ae,createSignal as te,createUniqueId as ze,onCleanup as W,onMount as $e}from"solid-js";import{Portal as Ne}from"solid-js/web";var Ke=180;function $(e){let[t,l]=te(e.open),[i,r]=te("closed"),o=ze(),h,c,f;Ae(()=>{h&&clearTimeout(h),c&&cancelAnimationFrame(c),e.open?(t()||l(!0),r("closed"),c=requestAnimationFrame(()=>r("open"))):(r("closed"),t()&&(h=window.setTimeout(()=>l(!1),Ke)))}),$e(()=>{if(!e.open)return;if(e.lockScroll!==!1){let s=document.body.style.overflowY;document.body.style.overflowY="hidden",W(()=>{document.body.style.overflowY=s})}c=requestAnimationFrame(()=>f?.focus());let d=s=>{s.key==="Escape"&&e.dismissible!==!1&&e.onClose?.()};window.addEventListener("keydown",d),W(()=>window.removeEventListener("keydown",d))}),W(()=>{h&&clearTimeout(h),c&&cancelAnimationFrame(c)});let a=()=>{e.dismissible!==!1&&e.onClose?.()};return<U when={t()}>
220
+ </div>}import{Show as U,createEffect as Ae,createSignal as te,createUniqueId as ze,onCleanup as W,onMount as $e}from"solid-js";import{Portal as Ne}from"solid-js/web";var Ke=180;function $(e){let[t,l]=te(e.open),[i,r]=te("closed"),o=ze(),f,a,h;Ae(()=>{f&&clearTimeout(f),a&&cancelAnimationFrame(a),e.open?(t()||l(!0),r("closed"),a=requestAnimationFrame(()=>r("open"))):(r("closed"),t()&&(f=window.setTimeout(()=>l(!1),Ke)))}),$e(()=>{if(!e.open)return;if(e.lockScroll!==!1){let s=document.body.style.overflowY;document.body.style.overflowY="hidden",W(()=>{document.body.style.overflowY=s})}a=requestAnimationFrame(()=>h?.focus());let d=s=>{s.key==="Escape"&&e.dismissible!==!1&&e.onClose?.()};window.addEventListener("keydown",d),W(()=>window.removeEventListener("keydown",d))}),W(()=>{f&&clearTimeout(f),a&&cancelAnimationFrame(a)});let c=()=>{e.dismissible!==!1&&e.onClose?.()};return<U when={t()}>
221
221
  <Ne>
222
222
  <div class="ss_modal"data-state={i()}aria-hidden={i()==="closed"}>
223
- <div class="ss_modal__backdrop"onclick={a}/>
224
- <div class="ss_modal__panel"classList={{"ss_modal__panel--sm":e.size==="sm","ss_modal__panel--lg":e.size==="lg","ss_modal__panel--fullscreen":e.fullscreen,"ss_modal__panel--no-fullscreen":e.disableResponsiveFullscreen}}ref={d=>f=d}role="dialog"aria-modal="true"aria-labelledby={e.title?o:void 0}tabindex="-1">
223
+ <div class="ss_modal__backdrop"onclick={c}/>
224
+ <div class="ss_modal__panel"classList={{"ss_modal__panel--sm":e.size==="sm","ss_modal__panel--lg":e.size==="lg","ss_modal__panel--fullscreen":e.fullscreen,"ss_modal__panel--no-fullscreen":e.disableResponsiveFullscreen}}ref={d=>h=d}role="dialog"aria-modal="true"aria-labelledby={e.title?o:void 0}tabindex="-1">
225
225
  {(e.title||e.onClose)&&<div class="ss_modal__header">
226
226
  {e.title&&<h2 id={o}class="ss_modal__title">
227
227
  {e.title}
@@ -243,33 +243,33 @@ function F(e){let t=()=>["ss_button",e.isIconOnly?"ss_button--icon":"",e.class??
243
243
  </div>
244
244
  </div>
245
245
  </Ne>
246
- </U>}import{createContext as Ye,createSignal as ne,For as Ue,onCleanup as We,useContext as Ze}from"solid-js";import{useLocation as oe,useNavigate as se}from"@solidjs/router";var ie=Ye(),Ge=0,Qe=()=>`ss-modal-${Ge++}`;function et(){let e=Ze(ie);if(!e)throw new Error("useSSModals must be used within SSModalsProvider");return e}function _t(e){let t=se(),l=oe(),[i,r]=A(),o=()=>e.config.modalProps?.({hide:e.hide})??{},{primaryButtonText:h,secondaryButtonText:c,hideSecondaryButton:f,danger:a,...d}=o();return<$ open={e.visible()}onClose={e.hide}{...d}footer={<>
247
- {!f&&<F class="secondary"onclick={e.hide}>
248
- {c??"Abbrechen"}
246
+ </U>}import{createContext as Ye,createSignal as ne,For as Ue,onCleanup as We,useContext as Ze}from"solid-js";import{useLocation as oe,useNavigate as se}from"@solidjs/router";var ie=Ye(),Ge=0,Qe=()=>`ss-modal-${Ge++}`;function et(){let e=Ze(ie);if(!e)throw new Error("useSSModals must be used within SSModalsProvider");return e}function _t(e){let t=se(),l=oe(),[i,r]=A(),o=()=>e.config.modalProps?.({hide:e.hide})??{},{primaryButtonText:f,secondaryButtonText:a,hideSecondaryButton:h,danger:c,...d}=o();return<$ open={e.visible()}onClose={e.hide}{...d}footer={<>
247
+ {!h&&<F class="secondary"onclick={e.hide}>
248
+ {a??"Abbrechen"}
249
249
  </F>}
250
- <F class={a?"danger":void 0}onclick={()=>r(()=>e.config.onPrimaryAction?.({hide:e.hide,navigate:t,pathname:l.pathname})??e.hide())}disabled={i()}>
251
- {h??"Weiter"}
250
+ <F class={c?"danger":void 0}onclick={()=>r(()=>e.config.onPrimaryAction?.({hide:e.hide,navigate:t,pathname:l.pathname})??e.hide())}disabled={i()}>
251
+ {f??"Weiter"}
252
252
  </F>
253
253
  </>}>
254
254
  {e.config.content({hide:e.hide})}
255
255
  </$>}function St(e){let t=se(),l=oe();return<C onsubmit={i=>e.config.onSubmit({hide:e.hide,context:i,navigate:t,pathname:l.pathname})}>
256
256
  <Mt visible={e.visible}hide={e.hide}config={e.config}/>
257
- </C>}function Mt(e){let t=C.useContext();if(!t)return null;let l=()=>e.config.modalProps?.({hide:e.hide,context:t})??{},{primaryButtonText:i,secondaryButtonText:r,hideSecondaryButton:o,danger:h,...c}=l();return<$ open={e.visible()}onClose={e.hide}{...c}footer={<>
257
+ </C>}function Mt(e){let t=C.useContext();if(!t)return null;let l=()=>e.config.modalProps?.({hide:e.hide,context:t})??{},{primaryButtonText:i,secondaryButtonText:r,hideSecondaryButton:o,danger:f,...a}=l();return<$ open={e.visible()}onClose={e.hide}{...a}footer={<>
258
258
  {!o&&<F class="secondary"onclick={e.hide}disabled={t.loading()}>
259
259
  {r??"Abbrechen"}
260
260
  </F>}
261
- <F class={h?"danger":void 0}onclick={()=>t.submit()}disabled={t.loading()}>
261
+ <F class={f?"danger":void 0}onclick={()=>t.submit()}disabled={t.loading()}>
262
262
  {i??"Speichern"}
263
263
  </F>
264
264
  </>}>
265
265
  {e.config.content({hide:e.hide,context:t})}
266
- </$>}function Et(e){let[t,l]=ne([]),i=new Map,r=new Map,o=220,h=d=>{let s=i.get(d);if(!s)return;s.setVisible(!1);let v=r.get(d);v&&window.clearTimeout(v);let _=window.setTimeout(()=>{l(y=>y.filter(M=>M.id!==d)),i.delete(d),r.delete(d)},o);r.set(d,_)},c=d=>{let s=Qe(),[v,_]=ne(!0),y={id:s,visible:v,setVisible:_,render:d};return i.set(s,y),l(M=>[...M,y]),s},f=d=>c(({hide:s,visible:v})=><_t visible={v}hide={s}config={d}/>),a=d=>c(({hide:s,visible:v})=><St visible={v}hide={s}config={d}/>);return We(()=>{r.forEach(d=>window.clearTimeout(d)),r.clear()}),<ie.Provider value={{show:c,showDefault:f,showForm:a,hide:h}}>
266
+ </$>}function Et(e){let[t,l]=ne([]),i=new Map,r=new Map,o=220,f=d=>{let s=i.get(d);if(!s)return;s.setVisible(!1);let v=r.get(d);v&&window.clearTimeout(v);let _=window.setTimeout(()=>{l(y=>y.filter(M=>M.id!==d)),i.delete(d),r.delete(d)},o);r.set(d,_)},a=d=>{let s=Qe(),[v,_]=ne(!0),y={id:s,visible:v,setVisible:_,render:d};return i.set(s,y),l(M=>[...M,y]),s},h=d=>a(({hide:s,visible:v})=><_t visible={v}hide={s}config={d}/>),c=d=>a(({hide:s,visible:v})=><St visible={v}hide={s}config={d}/>);return We(()=>{r.forEach(d=>window.clearTimeout(d)),r.clear()}),<ie.Provider value={{show:a,showDefault:h,showForm:c,hide:f}}>
267
267
  {e.children}
268
268
 
269
269
  <Ue each={t()}>
270
- {d=>{let s=()=>h(d.id);return d.render({id:d.id,hide:s,visible:d.visible})}}
270
+ {d=>{let s=()=>f(d.id);return d.render({id:d.id,hide:s,visible:d.visible})}}
271
271
  </Ue>
272
- </ie.Provider>}import{createContext as Tt,createMemo as Pt,createSignal as Ct,createUniqueId as Dt,onCleanup as Ft,onMount as Lt,useContext as le}from"solid-js";import{useLocation as It}from"@solidjs/router";var Z=Tt();function R(e){let t=Dt(),l=It(),[i,r]=Ct([]),o=()=>{let a=document.getElementById(t);a&&(a.checked=!1)},h=a=>{r(d=>d.includes(a)?d:[...d,a])},c=a=>{r(d=>d.filter(s=>s!==a))},f=Pt(()=>{let a=l.pathname,d=null;for(let s of i())a.startsWith(s)&&(!d||s.length>d.length)&&(d=s);return d});return<Z.Provider value={{closeDrawer:o,activeHref:f,registerHref:h,unregisterHref:c}}>
272
+ </ie.Provider>}import{createContext as Tt,createMemo as Pt,createSignal as Ct,createUniqueId as Dt,onCleanup as Ft,onMount as Lt,useContext as le}from"solid-js";import{useLocation as It}from"@solidjs/router";var Z=Tt();function R(e){let t=Dt(),l=It(),[i,r]=Ct([]),o=()=>{let c=document.getElementById(t);c&&(c.checked=!1)},f=c=>{r(d=>d.includes(c)?d:[...d,c])},a=c=>{r(d=>d.filter(s=>s!==c))},h=Pt(()=>{let c=l.pathname,d=null;for(let s of i())c.startsWith(s)&&(!d||s.length>d.length)&&(d=s);return d});return<Z.Provider value={{closeDrawer:o,activeHref:h,registerHref:f,unregisterHref:a}}>
273
273
  <div class={`ss_shell ${e.class??""}`}style={e.style}>
274
274
  <input id={t}type="checkbox"class="ss_shell__drawer_toggle_input"/>
275
275