@ixfx/components 0.16.2 → 0.16.3
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/bundle/index.d.ts +59 -5
- package/bundle/index.js +148 -140
- package/dist/ac-text.d.ts +1 -1
- package/dist/{ac-token-Cq7lsYf-.d.ts → ac-token-qEs3FsQv.d.ts} +1 -1
- package/dist/ac-token.d.ts +1 -1
- package/dist/ac-token.js +1 -1
- package/dist/{button-D1sPDUCM.d.ts → button-N92DKoWb.d.ts} +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/colour-picker.d.ts +1 -1
- package/dist/{crumb-navigation-nnr881n-.d.ts → crumb-navigation-BbqfmkYs.d.ts} +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/{data-grid-CaPLWt5E.js → data-grid-8TsiF2ES.js} +7 -6
- package/dist/{data-grid-BAEpfTkb.d.ts → data-grid-CslzF16R.d.ts} +4 -4
- package/dist/data-grid.d.ts +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/{detail-list-DK49TsJd.d.ts → detail-list-n1MbNbhF.d.ts} +4 -4
- package/dist/{detail-list-C3XKTRmE.js → detail-list-w3GXKO2k.js} +4 -3
- package/dist/detail-list.d.ts +2 -2
- package/dist/detail-list.js +1 -1
- package/dist/{flat-list-Bv4-qfjp.d.ts → flat-list-D_4y3wgn.d.ts} +4 -4
- package/dist/flat-list.d.ts +1 -1
- package/dist/flat-list.js +2 -2
- package/dist/{grid-list-DaeSHv9P.d.ts → grid-list-CqYS28NY.d.ts} +4 -2
- package/dist/{grid-list-51XsR2X2.js → grid-list-Cz2tKcNZ.js} +4 -3
- package/dist/grid-list.d.ts +2 -2
- package/dist/grid-list.js +1 -1
- package/dist/{grouped-item-lister-DZIjo9nO.d.ts → grouped-item-lister-CS4yInuw.d.ts} +2 -2
- package/dist/grouped-item-lister.d.ts +1 -1
- package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/{incr-search-2YaxUUA9.js → incr-search-Dc6gYpJG.js} +24 -4
- package/dist/incr-search.d.ts +1 -1
- package/dist/incr-search.js +1 -1
- package/dist/{index-BjRoPrwj.d.ts → index-Bm9a9S3_.d.ts} +3 -2
- package/dist/{index-garxxqgV.d.ts → index-CYndvTWH.d.ts} +1 -1
- package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +1 -1
- package/dist/{index-Bz3loIAf.d.ts → index-DN2BWctP.d.ts} +1 -1
- package/dist/{index-DXDz60XH.d.ts → index-DyaHA9Kk.d.ts} +2 -2
- package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +1 -1
- package/dist/{index-vdbbGE7N.d.ts → index-VAs9akt4.d.ts} +18 -2
- package/dist/{index-DM9OLgTH.d.ts → index-ZaA90u09.d.ts} +2 -2
- package/dist/index.d.ts +37 -26
- package/dist/index.js +88 -13
- package/dist/item-appearance-BjcMyauw.js +29 -0
- package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-slider-input.d.ts +1 -1
- package/dist/list-group-header.d.ts +1 -1
- package/dist/{list-selection-controller-CJDdjH7E.js → list-selection-controller-D4iIrvJH.js} +12 -8
- package/dist/{list-selection-types-hj9Njei3.d.ts → list-selection-types-Dnamh2Lu.d.ts} +29 -3
- package/dist/{menu-item-B0zqw2xp.d.ts → menu-item-bF6narIz.d.ts} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/{miller-BfrTcujx.js → miller-Be7x4ufN.js} +3 -2
- package/dist/miller.d.ts +1 -1
- package/dist/miller.js +1 -1
- package/dist/narrowed-text.js +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/{item-appearance-Bl6rMIID.js → partial-keys-Ck6CiprB.js} +1 -29
- package/dist/{split-layout-ChZ0Glrs.d.ts → split-layout-CophkNeU.d.ts} +1 -1
- package/dist/split-layout.d.ts +1 -1
- package/dist/sunburst-tree.d.ts +1 -1
- package/dist/sunburst-tree.js +1 -1
- package/dist/{sunbursttree-list-BAS0KrDG.d.ts → sunbursttree-list-Bk20giTF.d.ts} +1 -1
- package/dist/{sunbursttree-list-906G33ME.js → sunbursttree-list-DQF6DcsS.js} +1 -1
- package/dist/{tab-list-wC0xNz1b.d.ts → tab-list-Df371rqw.d.ts} +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/timeline.d.ts +1 -1
- package/dist/{titlebar-B5zSTZnF.d.ts → titlebar-Tqu-VvMU.d.ts} +1 -1
- package/dist/titlebar.d.ts +1 -1
- package/dist/{tree-C_H1COTf.js → tree-BaXYyt5U.js} +185 -69
- package/dist/tree.d.ts +1 -1
- package/dist/tree.js +1 -1
- package/dist/{vertical-list-od4050Bo.d.ts → vertical-list-DtHX26JO.d.ts} +2 -2
- package/dist/{vertical-list-qMRIxZIT.js → vertical-list-o5hfqH87.js} +4 -3
- package/dist/vertical-list.d.ts +2 -2
- package/dist/vertical-list.js +1 -1
- package/docs-user/README.md +1 -0
- package/docs-user/data-grid.md +1 -1
- package/docs-user/grid-list.md +1 -1
- package/docs-user/index.json +6 -2
- package/docs-user/llms.txt +1 -0
- package/docs-user/miller.md +4 -0
- package/docs-user/multicol-list.md +6 -0
- package/docs-user/select-horiz.md +1 -1
- package/docs-user/tree.md +6 -0
- package/docs-user/user-selection-intents.md +86 -0
- package/docs-user/vertical-list.md +1 -1
- package/llms.txt +1 -0
- package/package.json +1 -1
- /package/dist/{index-DV3iaUBW.d.ts → index-DV3iaUBW2.d.ts} +0 -0
package/bundle/index.js
CHANGED
|
@@ -678,7 +678,7 @@ import{t as e}from"./rolldown-runtime-CEoa-xHZ.js";import{LitElement as n,css as
|
|
|
678
678
|
* Licensed under BSD 3-Clause
|
|
679
679
|
*/
|
|
680
680
|
const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t`,383:`s`,384:`b`,385:`B`,387:`b`,390:`O`,392:`c`,393:`D`,394:`D`,396:`d`,398:`E`,400:`E`,402:`f`,403:`G`,407:`I`,409:`k`,410:`l`,412:`M`,413:`N`,414:`n`,415:`O`,421:`p`,427:`t`,429:`t`,430:`T`,434:`V`,436:`y`,438:`z`,477:`e`,485:`g`,544:`N`,545:`d`,549:`z`,564:`l`,565:`n`,566:`t`,567:`j`,570:`A`,571:`C`,572:`c`,573:`L`,574:`T`,575:`s`,576:`z`,579:`B`,580:`U`,581:`V`,582:`E`,583:`e`,584:`J`,585:`j`,586:`Q`,587:`q`,588:`R`,589:`r`,590:`Y`,591:`y`,592:`a`,593:`a`,595:`b`,596:`o`,597:`c`,598:`d`,599:`d`,600:`e`,603:`e`,604:`e`,605:`e`,606:`e`,607:`j`,608:`g`,609:`g`,610:`G`,613:`h`,614:`h`,616:`i`,618:`I`,619:`l`,620:`l`,621:`l`,623:`m`,624:`m`,625:`m`,626:`n`,627:`n`,628:`N`,629:`o`,633:`r`,634:`r`,635:`r`,636:`r`,637:`r`,638:`r`,639:`r`,640:`R`,641:`R`,642:`s`,647:`t`,648:`t`,649:`u`,651:`v`,652:`v`,653:`w`,654:`y`,655:`Y`,656:`z`,657:`z`,663:`c`,665:`B`,666:`e`,667:`G`,668:`H`,669:`j`,670:`k`,671:`L`,672:`q`,686:`h`,867:`a`,868:`e`,869:`i`,870:`o`,871:`u`,872:`c`,873:`d`,874:`h`,875:`m`,876:`r`,877:`t`,878:`v`,879:`x`,7424:`A`,7427:`B`,7428:`C`,7429:`D`,7431:`E`,7432:`e`,7433:`i`,7434:`J`,7435:`K`,7436:`L`,7437:`M`,7438:`N`,7439:`O`,7440:`O`,7441:`o`,7442:`o`,7443:`o`,7446:`o`,7447:`o`,7448:`P`,7449:`R`,7450:`R`,7451:`T`,7452:`U`,7453:`u`,7454:`u`,7455:`m`,7456:`V`,7457:`W`,7458:`Z`,7522:`i`,7523:`r`,7524:`u`,7525:`v`,7834:`a`,7835:`s`,8305:`i`,8341:`h`,8342:`k`,8343:`l`,8344:`m`,8345:`n`,8346:`p`,8347:`s`,8348:`t`,8580:`c`};for(let e=`̀`.codePointAt(0);e<=`ͯ`.codePointAt(0);++e){let n=String.fromCodePoint(e);for(let e of`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`){let r=(e+n).normalize().codePointAt(0);r>126&&(Me[r]=e)}}const Ne={a:[7844,7863],e:[7870,7879],o:[7888,7907],u:[7912,7921]};for(let e of Object.keys(Ne)){let n=e.toUpperCase();for(let r=Ne[e][0];r<=Ne[e][1];++r)Me[r]=r%2==0?n:e}function Pe(e){if(e<192||e>8580)return e;let n=Me[e];return n===void 0?e:n.codePointAt(0)}function Fe(e){return e}function Ie(e){return e}function Le(e,n){return e>n?e:n}const Re=e=>e.split(``).map(e=>e.codePointAt(0)),ze=new Set(` \f
|
|
681
|
-
\r \v\xA0 \u2028\u2029 `.split(``).map(e=>e.codePointAt(0)));for(let e=` `.codePointAt(0);e<=` `.codePointAt(0);e++)ze.add(e);const Be=``.codePointAt(0),Ve=`A`.codePointAt(0),He=`Z`.codePointAt(0),Ue=`a`.codePointAt(0),We=`z`.codePointAt(0),Ge=`0`.codePointAt(0),Ke=`9`.codePointAt(0);function qe(e,n,r){return r?e:n-e-1}function Je(e){return e?new Set:null}function Ye(e,n,r){if(n!==null&&n.i16.length>e+r){let i=n.i16.subarray(e,e+r);return[e+r,i]}return[e,new Int16Array(r)]}function Xe(e,n,r){if(n!==null&&n.i32.length>e+r){let i=n.i32.subarray(e,e+r);return[e+r,i]}return[e,new Int32Array(r)]}function Ze(e){return e>=Ue&&e<=We?1:e>=Ve&&e<=He?2:e>=Ge&&e<=Ke?4:0}function Qe(e){let n=String.fromCodePoint(e);return n===n.toUpperCase()?n===n.toLowerCase()?n.match(/\p{Number}/gu)===null?n.match(/\p{Letter}/gu)===null?0:3:4:2:1}function $e(e){return e<=Be?Ze(e):Qe(e)}function et(e,n){return e===0&&n!==0?8:e===1&&n===2||e!==4&&n===4?7:n===0?8:0}function tt(e,n){return n===0?8:et($e(e[n-1]),$e(e[n]))}function nt(e,n,r,i){let a=e.slice(i),o=a.indexOf(r);if(o===0)return i;if(!n&&r>=Ue&&r<=We){o>0&&(a=a.slice(0,o));let e=a.indexOf(r-32);e>=0&&(o=e)}return o<0?-1:i+o}function rt(e){for(let n of e)if(n>=128)return!1;return!0}function it(e,n,r){if(!rt(e))return 0;if(!rt(n))return-1;let i=0,a=0;for(let o=0;o<n.length;o++){if(a=nt(e,r,n[o],a),a<0)return-1;o===0&&a>0&&(i=a-1),a++}return i}const at=(e,n,r,i,a,o,s)=>{let c=a.length;if(c===0)return[{start:0,end:0,score:0},Je(o)];let l=i.length;if(s!==null&&l*c>s.i16.length)return st(e,n,r,i,a,o);let u=it(i,a,e);if(u<0)return[{start:-1,end:-1,score:0},null];let d=0,f=0,p=null,m=null,h=null,g=null;[d,p]=Ye(d,s,l),[d,m]=Ye(d,s,l),[d,h]=Ye(d,s,l),[f,g]=Xe(f,s,c);let[,_]=Xe(f,s,l);for(let e=0;e<_.length;e++)_[e]=i[e];let v=Fe(0),y=0,b=0,x=0,S=a[0],ee=a[0],te=Fe(0),ne=0,re=!1,ie=_.subarray(u),ae=p.subarray(u).subarray(0,ie.length),oe=m.subarray(u).subarray(0,ie.length),se=h.subarray(u).subarray(0,ie.length);for(let[i,o]of ie.entries()){let s=null;o<=Be?(s=Ze(o),!e&&s===2&&(o+=32)):(s=Qe(o),!e&&s===2&&(o=String.fromCodePoint(o).toLowerCase().codePointAt(0)),n&&(o=Pe(o))),ie[i]=o;let l=et(ne,s);if(se[i]=l,ne=s,o===ee&&(b<c&&(g[b]=Ie(u+i),b++,ee=a[Math.min(b,c-1)]),x=u+i),o===S){let e=16+l*2;if(ae[i]=e,oe[i]=1,c===1&&(r&&e>v||!r&&e>=v)&&(v=e,y=u+i,r&&l===8))break;re=!1}else ae[i]=Le(re?te+-1:te+-3,0),oe[i]=0,re=!0;te=ae[i]}if(b!==c)return[{start:-1,end:-1,score:0},null];if(c===1){let e={start:y,end:y+1,score:v};if(!o)return[e,null];let n=new Set;return n.add(y),[e,n]}let C=g[0],ce=x-C+1,le=null;[d,le]=Ye(d,s,ce*c);{let e=p.subarray(C,x+1);for(let[n,r]of e.entries())le[n]=r}let[,ue]=Ye(d,s,ce*c);{let e=m.subarray(C,x+1);for(let[n,r]of e.entries())ue[n]=r}let w=g.subarray(1),de=a.slice(1).slice(0,w.length);for(let[e,n]of w.entries()){let i=!1,a=de[e],o=e+1,s=o*ce,l=_.subarray(n,x+1),u=h.subarray(n).subarray(0,l.length),d=ue.subarray(s+n-C).subarray(0,l.length),f=ue.subarray(s+n-C-1-ce).subarray(0,l.length),p=le.subarray(s+n-C).subarray(0,l.length),m=le.subarray(s+n-C-1-ce).subarray(0,l.length),g=le.subarray(s+n-C-1).subarray(0,l.length);g[0]=0;for(let[e,s]of l.entries()){let l=e+n,_=0,b=0,x=0;if(b=i?g[e]+-1:g[e]+-3,a===s){_=m[e]+16;let n=u[e];x=f[e]+1,n===8?x=1:x>1&&(n=Le(n,Le(4,h[l-x+1]))),_+n<b?(_+=u[e],x=0):_+=n}d[e]=x,i=_<b;let S=Le(Le(_,b),0);o===c-1&&(r&&S>v||!r&&S>=v)&&(v=S,y=l),p[e]=S}}let fe=Je(o),pe=C;if(o&&fe!==null){let e=c-1;pe=y;let n=!0;for(;;){let r=e*ce,i=pe-C,a=le[r+i],o=0,s=0;if(e>0&&pe>=g[e]&&(o=le[r-ce+i-1]),pe>g[e]&&(s=le[r+i-1]),a>o&&(a>s||a===s&&n)){if(fe.add(pe),e===0)break;e--}n=ue[r+i]>1||r+ce+i+1<ue.length&&ue[r+ce+i+1]>0,pe--}}return[{start:pe,end:y+1,score:v},fe]};function ot(e,n,r,i,a,o,s){let c=0,l=0,u=!1,d=0,f=Fe(0),p=Je(s),m=0;a>0&&(m=$e(r[a-1]));for(let h=a;h<o;h++){let a=r[h],o=$e(a);if(e||(a>=Ve&&a<=He?a+=32:a>Be&&(a=String.fromCodePoint(a).toLowerCase().codePointAt(0))),n&&(a=Pe(a)),a===i[c]){s&&p!==null&&p.add(h),l+=16;let e=et(m,o);d===0?f=e:(e===8&&(f=e),e=Le(Le(e,f),4)),l+=c===0?e*2:e,u=!1,d++,c++}else l+=u?-1:-3,u=!0,d=0,f=0;m=o}return[l,p]}const st=(e,n,r,i,a,o,s)=>{if(a.length===0)return[{start:0,end:0,score:0},null];if(it(i,a,e)<0)return[{start:-1,end:-1,score:0},null];let c=0,l=-1,u=-1,d=i.length,f=a.length;for(let o=0;o<d;o++){let s=i[qe(o,d,r)];e||(s>=Ve&&s<=He?s+=32:s>Be&&(s=String.fromCodePoint(s).toLowerCase().codePointAt(0))),n&&(s=Pe(s));let p=a[qe(c,f,r)];if(s===p&&(l<0&&(l=o),c++,c===f)){u=o+1;break}}if(l>=0&&u>=0){c--;for(let n=u-1;n>=l;n--){let o=i[qe(n,d,r)];e||(o>=Ve&&o<=He?o+=32:o>Be&&(o=String.fromCodePoint(o).toLowerCase().codePointAt(0)));let s=a[qe(c,f,r)];if(o===s&&(c--,c<0)){l=n;break}}if(!r){let e=l;l=d-u,u=d-e}let[s,p]=ot(e,n,i,a,l,u,o);return[{start:l,end:u,score:s},p]}return[{start:-1,end:-1,score:0},null]},ct=(e,n,r,i,a,o,s)=>{if(a.length===0)return[{start:0,end:0,score:0},null];let c=i.length,l=a.length;if(c<l||it(i,a,e)<0)return[{start:-1,end:-1,score:0},null];let u=0,d=-1,f=Fe(0),p=Fe(-1);for(let o=0;o<c;o++){let s=qe(o,c,r),m=i[s];e||(m>=Ve&&m<=He?m+=32:m>Be&&(m=String.fromCodePoint(m).toLowerCase().codePointAt(0))),n&&(m=Pe(m));let h=qe(u,l,r);if(a[h]===m){if(h===0&&(f=tt(i,s)),u++,u===l){if(f>p&&(d=o,p=f),f===8)break;o-=u-1,u=0,f=0}}else o-=u,u=0,f=0}if(d>=0){let o=0,s=0;r?(o=d-l+1,s=d+1):(o=c-(d+1),s=c-(d-l+1));let[u]=ot(e,n,i,a,o,s,!1);return[{start:o,end:s,score:u},null]}return[{start:-1,end:-1,score:0},null]};function lt(e,n){return{i16:new Int16Array(e),i32:new Int32Array(n)}}const ut=lt(102400,2048),dt=(e,n,r)=>{let i=!1;switch(n){case`smart-case`:e.toLowerCase()!==e&&(i=!0);break;case`case-sensitive`:i=!0;break;case`case-insensitive`:e=e.toLowerCase(),i=!1}let a=Re(e);return r&&(a=a.map(Pe)),{queryRunes:a,caseSensitive:i}};function ft(e,n){let r=Object.keys(e).map(e=>parseInt(e,10)).sort((e,n)=>n-e),i=[];for(let a of r)if(i=i.concat(e[a]),i.length>=n)break;return i}function pt(e,n,r){return i=>{let a=this.runesList[i];if(n.length>a.length)return;let[o,s]=this.algoFn(r,this.opts.normalize,this.opts.forward,a,n,!0,ut);if(o.start===-1)return;if(this.opts.fuzzy===!1){s=new Set;for(let e=o.start;e<o.end;++e)s.add(e)}let c=this.opts.sort?o.score:0;e[c]===void 0&&(e[c]=[]),e[c].push({item:this.items[i],...o,positions:s??new Set})}}function mt(e){let{queryRunes:n,caseSensitive:r}=dt(e,this.opts.casing,this.opts.normalize),i={},a=pt.bind(this)(i,n,r);for(let e=0,n=this.runesList.length;e<n;++e)a(e);return ft(i,this.opts.limit)}const ht={limit:1/0,selector:e=>e,casing:`smart-case`,normalize:!0,fuzzy:`v2`,tiebreakers:[],sort:!0,forward:!0};var gt=class{constructor(e,...n){switch(this.opts={...ht,...n[0]},this.items=e,this.runesList=e.map(e=>Re(this.opts.selector(e).normalize())),this.algoFn=ct,this.opts.fuzzy){case`v2`:this.algoFn=at;break;case`v1`:this.algoFn=st}}};const _t={...ht,match:mt};var vt=class extends gt{constructor(e,...n){super(e,...n),this.opts={..._t,...n[0]}}find(e){return e.length===0||this.items.length===0?this.items.slice(0,this.opts.limit).map(yt):(e=e.normalize(),bt(this.opts.match.bind(this)(e),this.opts))}};({...ht});const yt=e=>({item:e,start:-1,end:-1,score:0,positions:new Set});function bt(e,n){if(n.sort){let{selector:r}=n;e.sort((e,i)=>{if(e.score===i.score)for(let a of n.tiebreakers){let n=a(e,i,r);if(n!==0)return n}return 0})}return Number.isFinite(n.limit)&&e.splice(n.limit),e}var xt=class{constructor(e,...n){this.finder=new vt(e,...n),this.find=this.finder.find.bind(this.finder)}};function St(e){if(typeof e==`string`)return e;let n=e;return typeof n.label==`string`?n.label:typeof n.key==`string`?n.key:typeof n.value==`string`?n.value:String(e)}function Ct(e,n={}){let r=new xt(e,{selector:n.selector??St,...n.fzf??{}});return{find:n=>n.trim()?r.find(n).map(e=>({item:e.item,positions:e.positions,score:e.score})):e.map(e=>({item:e,positions:new Set,score:0})),items:e}}function wt(e,n={}){let r=Ct(e,{selector:n.selector??(e=>e.label)});return(e,n)=>new Promise((i,a)=>{if(n.aborted){a(new DOMException(`Aborted`,`AbortError`));return}let o=r.find(e).map(e=>({...e.item,positions:e.positions}));if(n.aborted){a(new DOMException(`Aborted`,`AbortError`));return}i(o)})}function Tt(e,n){let r=new Map;for(let n of e)r.set(n.item,n.positions);return Object.freeze({query:n,results:Object.freeze([...e]),positionsByItem:r})}function Et(e={}){let n=e.items??[],r=``,i=Ct(n,{selector:e.selector,fzf:e.fzf}),a=Tt(i.find(r),r),o=!1,s=new Set;e.onChange&&s.add(e.onChange);let c=e=>{for(let n of s)n(e)},l=async(e,n)=>{if(await Promise.resolve(),n?.aborted||o)return a;let r=i.find(e);return n?.aborted||o?a:(a=Tt(r,e),c(a),a)};return{get state(){return a},async setItems(a,o){n=a,i=Ct(n,{selector:e.selector,fzf:e.fzf}),await l(r,o)},async setQuery(e,n){return r=e,l(e,n)},async clearQuery(){r=``,await l(``,void 0)},onChange(e){return s.add(e),e(a),()=>{s.delete(e)}},dispose(){o=!0,s.clear(),n=[]}}}const Dt=`incr-search-highlight`;var Ot=class{#e;#t;#n;#r;#i=new Map;constructor(e,n){this.#e=e,this.#t=n,this.#n=Et({selector:n.selector,fzf:n.fzf})}connect(){this.disconnect();let e=this.#e.getNodes();for(let n of e)this.#i.set(this.#t.selector(n),n);this.#n.setItems(e),this.#t.input&&(this.#t.input.addEventListener(`input`,this.#a),this.#t.input.addEventListener(`keydown`,this.#o)),this.#r=this.#n.onChange(e=>this.#s(e))}disconnect(){this.#r&&=(this.#r(),void 0),this.#t.input&&(this.#t.input.removeEventListener(`input`,this.#a),this.#t.input.removeEventListener(`keydown`,this.#o)),this.#e.filterPredicate=void 0,re({key:this.#t.highlightKey??Dt}),this.#i.clear()}async setQuery(e){await this.#n.setQuery(e)}async clearQuery(){await this.#n.clearQuery()}#a=()=>{let e=this.#t.input?.value??``;this.setQuery(e)};#o=e=>{e.key===`Escape`&&this.#t.input&&(this.#t.input.value=``,this.clearQuery())};#s(e){let n=new Set(e.results.map(e=>e.item.node.item.key)),r=e.query.trim().length>0;this.#e.filterPredicate=r&&n.size>0?(e,r)=>n.has(e.item.key):void 0;let i=this.#t.highlightKey??Dt;if(!this.#e.shadowRoot)return;if(!e.query.trim()){re({key:i});return}let a=this.#t.labelSelector??`.tree-label`;ne(ie(this.#e.shadowRoot,a,e.positionsByItem,e=>{let n=e.textContent??``;return this.#i.get(n)},e=>e.textContent??``),{key:i})}};function kt(e,n){return{getItems:()=>Array.from({length:n.rawCount()},(e,r)=>({key:n.rawKeyAt(r),index:r})),getLabel:e=>n.rawSearchTextAt(e.index),getKey:e=>e.key,focusItem:n=>{n&&e.focusKey(n.key)},activateItem:r=>{n.onActivate?n.onActivate(r.key):e.focusKey(r.key)},selectItems:n=>{e.selectKeys(n.map(e=>e.key))},applyFilter:e=>{n.onFilterChange?.(e)},highlightRoot:n.getHighlightRoot,highlightSelector:`.cell .caption`,highlightKeyOf:e=>e.closest(`.cell`)?.getAttribute(`data-key`)??void 0,highlightText:e=>e.textContent??``,highlightKey:`grid-list-search`}}function D(e){return e.getAttribute(`data-key`)??e.getAttribute(`data-value`)??void 0}function At(e){let n=new Set;for(let r of e){let e=D(r);e!==void 0&&n.add(e)}return n}var jt=class{#e;#t;#n=new Map;#r=!0;#i;constructor(e,n=`[data-key]`){this.#e=e,this.#t=n,this.#i=new MutationObserver(()=>{this.#r=!0}),this.#i.observe(e,{childList:!0,subtree:!0})}get(e){return this.#r&&this.#a(),this.#n.get(e)}invalidate(){this.#r=!0}dispose(){this.#i.disconnect(),this.#n.clear()}#a(){this.#n.clear();for(let e of this.#e.querySelectorAll(this.#t)){let n=D(e);n!==void 0&&!this.#n.has(n)&&this.#n.set(n,e)}this.#r=!1}};function Mt(e){return e.getAttribute(`data-search-label`)??e.textContent?.trim()??``}function Nt(e,n={}){let r=n.itemSelector??`:scope > *`,i=n.getLabel??Mt,a=n.getKey??(e=>D(e)??Mt(e)),o=new Set,s=n.observeContainer??!0,c=()=>n.getAllItems?n.getAllItems():Array.from(e.querySelectorAll(r));return{getItems:c,getLabel:i,getKey:a,focusItem:n=>{n&&e.focusKey(a(n))},activateItem:n=>{let r=a(n);e.activateKey?e.activateKey(r):n.dispatchEvent(new MouseEvent(`click`,{bubbles:!0,composed:!0}))},selectItems:n=>{e.selectKeys(n.map(a))},applyFilter:e=>{if(e===void 0){for(let e of o)e.hidden=!1;o.clear();return}for(let n of c())e.has(a(n))?o.delete(n)&&(n.hidden=!1):(n.hidden=!0,o.add(n))},highlightRoot:()=>e,highlightSelector:r,highlightKeyOf:e=>a(e),highlightText:i,highlightKey:n.highlightKey,container:s?()=>e:void 0}}const Pt=e=>e.textContent?.trim()??``;function Ft(e){return e.getAttribute(`data-key`)??e.getAttribute(`data-value`)??e.textContent?.trim()??``}function It(e){let{container:n,itemSelector:r,getLabel:i=Pt,getKey:a=Ft,labelSelector:o,highlightKey:s}=e,c=new Map,l=Et({selector:e=>e.label,fzf:e.fzf}),u=e=>{let n=new Set(e.results.map(e=>e.item.key)),r=e.query.trim().length>0;for(let[e,i]of c)i.hidden=r?!n.has(e):!1},d=e=>{if(!e.query.trim()){re({key:s});return}ne(ie(n,o??r,e.positionsByItem,n=>{let r=a(n);return e.results.find(e=>e.item.key===r)?.item},e=>i(e)),{key:s})},f=l.onChange(n=>{u(n),d(n),e.onChange?.(n)}),p=!1,m=()=>{p||(p=!0,Promise.resolve().then(()=>{p=!1,c=new Map;let e=n.querySelectorAll(r),o=[];for(let n of e){let e=a(n);c.set(e,n),o.push({key:e,label:i(n)})}l.setItems(o)}))},h=new MutationObserver(()=>m());return h.observe(n,{childList:!0,subtree:!1}),m(),{async setQuery(e,n){await l.setQuery(e,n)},async clearQuery(){await l.clearQuery()},refresh:m,onChange(e){return l.onChange(e)},dispose(){h.disconnect(),f(),l.dispose(),re({key:s})}}}const Lt={navigate:`list.search.navigate`,select:`list.search.select`,filter:`list.search.filter`},Rt={navigate:{label:`Find`,description:`Type to move the cursor to the best match`},select:{label:`Find & Select`,description:`Type to select every matching item`},filter:{label:`Filter`,description:`Type to hide items that don't match`}};function zt(e,n,r={}){let i=e=>r.idPrefix?`${r.idPrefix}.search.${e}`:Lt[e],a=[];for(let r of n.registeredModes){let o=i(r);e.has(o)||(e.register({id:o,label:Rt[r].label,description:Rt[r].description,execute:()=>n.open(r)}),a.push(o))}return()=>{for(let n of a)e.unregister(n)}}const O=[`navigate`,`select`,`filter`],Bt=`list-search-input`;var Vt=class{#e;#t;#n;#r;#i;#a;#o;#s=new Map;#c=!1;#l=`filter`;#u=``;#d=0;#f=[];#p=!1;#m=!1;constructor(e,n){this.#e=e,this.#t=n.adapter;let r=new Set(n.modes??O);this.#n=O.filter(e=>r.has(e)),this.#l=this.#n[0]??`filter`,this.#r=n.placeholder??`Search…`,this.stickyFilter=n.stickyFilter??!1,this.#i=Et({selector:e=>e.label,fzf:n.fzf}),this.#a=this.#i.onChange(e=>this.#T(e)),e.addController(this)}get enabled(){return this.#n.length>0}get registeredModes(){return this.#n}setModes(e){let n=new Set(e);this.#n=O.filter(e=>n.has(e)),this.#n.includes(this.#l)||(this.#c&&this.close(),this.clearFilter(),this.#l=this.#n[0]??`filter`),this.#e.requestUpdate()}get isOpen(){return this.#c}get mode(){return this.#l}get query(){return this.#u}get matchCount(){return this.#f.length}get matchIndex(){return this.#d}get keptFilter(){return this.#m?this.#u:void 0}hostConnected(){let e=this.#t.container?.();e&&(this.#o=new MutationObserver(()=>this.refresh()),this.#o.observe(e,{childList:!0,subtree:!1})),this.#e.addEventListener(`keydown`,this.#b),this.refresh()}hostDisconnected(){this.#o?.disconnect(),this.#o=void 0,this.#e.removeEventListener(`keydown`,this.#b),(this.#c||this.#m)&&this.#O(),this.#c=!1,this.#m=!1,this.#a?.(),this.#a=void 0,this.#i.dispose()}open(e){if(!this.enabled)return;if(this.#c){this.switchMode(this.#n.includes(e)?e:this.#l),this.focus();return}this.#l=this.#n.includes(e)?e:this.#n[0],this.#c=!0;let n=this.#m;this.#m=!1,n||(this.#u=``),this.#d=0,this.#f=[],n&&this.#l!==`filter`&&this.#p&&(this.#t.applyFilter(void 0),this.#p=!1),this.refresh(),this.#i.setQuery(this.#u),this.#e.requestUpdate(),this.#e.updateComplete.then(()=>this.#g(n))}close(){this.#c&&(this.#c=!1,this.#O(),this.#u=``,this.#f=[],this.#i.clearQuery(),this.#e.requestUpdate(),this.#e.focus())}clearFilter(){this.#m&&(this.#m=!1,this.#O(),this.#u=``,this.#f=[],this.#i.clearQuery(),this.#e.requestUpdate())}setQuery(e){this.#u=e,this.#d=0,this.#i.setQuery(e)}switchMode(e){!this.#n.includes(e)||e===this.#l||(this.#l===`filter`&&this.#p&&(this.#t.applyFilter(void 0),this.#p=!1),this.#l=e,this.#E(),this.#e.requestUpdate(),this.#e.updateComplete.then(()=>this.#g()))}cycleMode(e){let n=this.#n.length;if(n<2)return;let r=this.#n.indexOf(this.#l);this.switchMode(this.#n[(r+e+n)%n])}focus(){this.#c&&this.#e.updateComplete.then(()=>this.#g(!0))}selectMatches(){this.#n.includes(`select`)&&(this.#t.selectItems(this.#C()),this.#e.requestUpdate())}nextMatch(){this.#x(1)}prevMatch(){this.#x(-1)}commit(){if(this.#l===`filter`&&this.stickyFilter&&this.#p){this.#c=!1,this.#m=!0,re({key:this.#w}),this.#e.requestUpdate(),this.#e.focus();return}if(this.#l===`navigate`){let e=this.#S(this.#f[this.#d]);e&&(this.#t.activateItem?this.#t.activateItem(e):this.#t.focusItem(e))}this.close()}refresh(){this.#s.clear();let e=[];for(let n of this.#t.getItems()){let r=this.#t.getKey(n);this.#s.set(r,n),e.push({key:r,label:this.#t.getLabel(n)})}this.#i.setItems(e)}repaintHighlights(){this.#D()}renderField(){if(!this.enabled)return a;if(this.#m)return this.#h();let e=this.#u.trim().length>0,n=this.#n.filter(e=>e!==this.#l),r=this.#n.includes(`select`)&&this.#l!==`select`;return i`
|
|
681
|
+
\r \v\xA0 \u2028\u2029 `.split(``).map(e=>e.codePointAt(0)));for(let e=` `.codePointAt(0);e<=` `.codePointAt(0);e++)ze.add(e);const Be=``.codePointAt(0),Ve=`A`.codePointAt(0),He=`Z`.codePointAt(0),Ue=`a`.codePointAt(0),We=`z`.codePointAt(0),Ge=`0`.codePointAt(0),Ke=`9`.codePointAt(0);function qe(e,n,r){return r?e:n-e-1}function Je(e){return e?new Set:null}function Ye(e,n,r){if(n!==null&&n.i16.length>e+r){let i=n.i16.subarray(e,e+r);return[e+r,i]}return[e,new Int16Array(r)]}function Xe(e,n,r){if(n!==null&&n.i32.length>e+r){let i=n.i32.subarray(e,e+r);return[e+r,i]}return[e,new Int32Array(r)]}function Ze(e){return e>=Ue&&e<=We?1:e>=Ve&&e<=He?2:e>=Ge&&e<=Ke?4:0}function Qe(e){let n=String.fromCodePoint(e);return n===n.toUpperCase()?n===n.toLowerCase()?n.match(/\p{Number}/gu)===null?n.match(/\p{Letter}/gu)===null?0:3:4:2:1}function $e(e){return e<=Be?Ze(e):Qe(e)}function et(e,n){return e===0&&n!==0?8:e===1&&n===2||e!==4&&n===4?7:n===0?8:0}function tt(e,n){return n===0?8:et($e(e[n-1]),$e(e[n]))}function nt(e,n,r,i){let a=e.slice(i),o=a.indexOf(r);if(o===0)return i;if(!n&&r>=Ue&&r<=We){o>0&&(a=a.slice(0,o));let e=a.indexOf(r-32);e>=0&&(o=e)}return o<0?-1:i+o}function rt(e){for(let n of e)if(n>=128)return!1;return!0}function it(e,n,r){if(!rt(e))return 0;if(!rt(n))return-1;let i=0,a=0;for(let o=0;o<n.length;o++){if(a=nt(e,r,n[o],a),a<0)return-1;o===0&&a>0&&(i=a-1),a++}return i}const at=(e,n,r,i,a,o,s)=>{let c=a.length;if(c===0)return[{start:0,end:0,score:0},Je(o)];let l=i.length;if(s!==null&&l*c>s.i16.length)return st(e,n,r,i,a,o);let u=it(i,a,e);if(u<0)return[{start:-1,end:-1,score:0},null];let d=0,f=0,p=null,m=null,h=null,g=null;[d,p]=Ye(d,s,l),[d,m]=Ye(d,s,l),[d,h]=Ye(d,s,l),[f,g]=Xe(f,s,c);let[,_]=Xe(f,s,l);for(let e=0;e<_.length;e++)_[e]=i[e];let v=Fe(0),y=0,b=0,x=0,S=a[0],ee=a[0],te=Fe(0),ne=0,re=!1,ie=_.subarray(u),ae=p.subarray(u).subarray(0,ie.length),oe=m.subarray(u).subarray(0,ie.length),se=h.subarray(u).subarray(0,ie.length);for(let[i,o]of ie.entries()){let s=null;o<=Be?(s=Ze(o),!e&&s===2&&(o+=32)):(s=Qe(o),!e&&s===2&&(o=String.fromCodePoint(o).toLowerCase().codePointAt(0)),n&&(o=Pe(o))),ie[i]=o;let l=et(ne,s);if(se[i]=l,ne=s,o===ee&&(b<c&&(g[b]=Ie(u+i),b++,ee=a[Math.min(b,c-1)]),x=u+i),o===S){let e=16+l*2;if(ae[i]=e,oe[i]=1,c===1&&(r&&e>v||!r&&e>=v)&&(v=e,y=u+i,r&&l===8))break;re=!1}else ae[i]=Le(re?te+-1:te+-3,0),oe[i]=0,re=!0;te=ae[i]}if(b!==c)return[{start:-1,end:-1,score:0},null];if(c===1){let e={start:y,end:y+1,score:v};if(!o)return[e,null];let n=new Set;return n.add(y),[e,n]}let C=g[0],ce=x-C+1,le=null;[d,le]=Ye(d,s,ce*c);{let e=p.subarray(C,x+1);for(let[n,r]of e.entries())le[n]=r}let[,ue]=Ye(d,s,ce*c);{let e=m.subarray(C,x+1);for(let[n,r]of e.entries())ue[n]=r}let w=g.subarray(1),de=a.slice(1).slice(0,w.length);for(let[e,n]of w.entries()){let i=!1,a=de[e],o=e+1,s=o*ce,l=_.subarray(n,x+1),u=h.subarray(n).subarray(0,l.length),d=ue.subarray(s+n-C).subarray(0,l.length),f=ue.subarray(s+n-C-1-ce).subarray(0,l.length),p=le.subarray(s+n-C).subarray(0,l.length),m=le.subarray(s+n-C-1-ce).subarray(0,l.length),g=le.subarray(s+n-C-1).subarray(0,l.length);g[0]=0;for(let[e,s]of l.entries()){let l=e+n,_=0,b=0,x=0;if(b=i?g[e]+-1:g[e]+-3,a===s){_=m[e]+16;let n=u[e];x=f[e]+1,n===8?x=1:x>1&&(n=Le(n,Le(4,h[l-x+1]))),_+n<b?(_+=u[e],x=0):_+=n}d[e]=x,i=_<b;let S=Le(Le(_,b),0);o===c-1&&(r&&S>v||!r&&S>=v)&&(v=S,y=l),p[e]=S}}let fe=Je(o),pe=C;if(o&&fe!==null){let e=c-1;pe=y;let n=!0;for(;;){let r=e*ce,i=pe-C,a=le[r+i],o=0,s=0;if(e>0&&pe>=g[e]&&(o=le[r-ce+i-1]),pe>g[e]&&(s=le[r+i-1]),a>o&&(a>s||a===s&&n)){if(fe.add(pe),e===0)break;e--}n=ue[r+i]>1||r+ce+i+1<ue.length&&ue[r+ce+i+1]>0,pe--}}return[{start:pe,end:y+1,score:v},fe]};function ot(e,n,r,i,a,o,s){let c=0,l=0,u=!1,d=0,f=Fe(0),p=Je(s),m=0;a>0&&(m=$e(r[a-1]));for(let h=a;h<o;h++){let a=r[h],o=$e(a);if(e||(a>=Ve&&a<=He?a+=32:a>Be&&(a=String.fromCodePoint(a).toLowerCase().codePointAt(0))),n&&(a=Pe(a)),a===i[c]){s&&p!==null&&p.add(h),l+=16;let e=et(m,o);d===0?f=e:(e===8&&(f=e),e=Le(Le(e,f),4)),l+=c===0?e*2:e,u=!1,d++,c++}else l+=u?-1:-3,u=!0,d=0,f=0;m=o}return[l,p]}const st=(e,n,r,i,a,o,s)=>{if(a.length===0)return[{start:0,end:0,score:0},null];if(it(i,a,e)<0)return[{start:-1,end:-1,score:0},null];let c=0,l=-1,u=-1,d=i.length,f=a.length;for(let o=0;o<d;o++){let s=i[qe(o,d,r)];e||(s>=Ve&&s<=He?s+=32:s>Be&&(s=String.fromCodePoint(s).toLowerCase().codePointAt(0))),n&&(s=Pe(s));let p=a[qe(c,f,r)];if(s===p&&(l<0&&(l=o),c++,c===f)){u=o+1;break}}if(l>=0&&u>=0){c--;for(let n=u-1;n>=l;n--){let o=i[qe(n,d,r)];e||(o>=Ve&&o<=He?o+=32:o>Be&&(o=String.fromCodePoint(o).toLowerCase().codePointAt(0)));let s=a[qe(c,f,r)];if(o===s&&(c--,c<0)){l=n;break}}if(!r){let e=l;l=d-u,u=d-e}let[s,p]=ot(e,n,i,a,l,u,o);return[{start:l,end:u,score:s},p]}return[{start:-1,end:-1,score:0},null]},ct=(e,n,r,i,a,o,s)=>{if(a.length===0)return[{start:0,end:0,score:0},null];let c=i.length,l=a.length;if(c<l||it(i,a,e)<0)return[{start:-1,end:-1,score:0},null];let u=0,d=-1,f=Fe(0),p=Fe(-1);for(let o=0;o<c;o++){let s=qe(o,c,r),m=i[s];e||(m>=Ve&&m<=He?m+=32:m>Be&&(m=String.fromCodePoint(m).toLowerCase().codePointAt(0))),n&&(m=Pe(m));let h=qe(u,l,r);if(a[h]===m){if(h===0&&(f=tt(i,s)),u++,u===l){if(f>p&&(d=o,p=f),f===8)break;o-=u-1,u=0,f=0}}else o-=u,u=0,f=0}if(d>=0){let o=0,s=0;r?(o=d-l+1,s=d+1):(o=c-(d+1),s=c-(d-l+1));let[u]=ot(e,n,i,a,o,s,!1);return[{start:o,end:s,score:u},null]}return[{start:-1,end:-1,score:0},null]};function lt(e,n){return{i16:new Int16Array(e),i32:new Int32Array(n)}}const ut=lt(102400,2048),dt=(e,n,r)=>{let i=!1;switch(n){case`smart-case`:e.toLowerCase()!==e&&(i=!0);break;case`case-sensitive`:i=!0;break;case`case-insensitive`:e=e.toLowerCase(),i=!1}let a=Re(e);return r&&(a=a.map(Pe)),{queryRunes:a,caseSensitive:i}};function ft(e,n){let r=Object.keys(e).map(e=>parseInt(e,10)).sort((e,n)=>n-e),i=[];for(let a of r)if(i=i.concat(e[a]),i.length>=n)break;return i}function pt(e,n,r){return i=>{let a=this.runesList[i];if(n.length>a.length)return;let[o,s]=this.algoFn(r,this.opts.normalize,this.opts.forward,a,n,!0,ut);if(o.start===-1)return;if(this.opts.fuzzy===!1){s=new Set;for(let e=o.start;e<o.end;++e)s.add(e)}let c=this.opts.sort?o.score:0;e[c]===void 0&&(e[c]=[]),e[c].push({item:this.items[i],...o,positions:s??new Set})}}function mt(e){let{queryRunes:n,caseSensitive:r}=dt(e,this.opts.casing,this.opts.normalize),i={},a=pt.bind(this)(i,n,r);for(let e=0,n=this.runesList.length;e<n;++e)a(e);return ft(i,this.opts.limit)}const ht={limit:1/0,selector:e=>e,casing:`smart-case`,normalize:!0,fuzzy:`v2`,tiebreakers:[],sort:!0,forward:!0};var gt=class{constructor(e,...n){switch(this.opts={...ht,...n[0]},this.items=e,this.runesList=e.map(e=>Re(this.opts.selector(e).normalize())),this.algoFn=ct,this.opts.fuzzy){case`v2`:this.algoFn=at;break;case`v1`:this.algoFn=st}}};const _t={...ht,match:mt};var vt=class extends gt{constructor(e,...n){super(e,...n),this.opts={..._t,...n[0]}}find(e){return e.length===0||this.items.length===0?this.items.slice(0,this.opts.limit).map(yt):(e=e.normalize(),bt(this.opts.match.bind(this)(e),this.opts))}};({...ht});const yt=e=>({item:e,start:-1,end:-1,score:0,positions:new Set});function bt(e,n){if(n.sort){let{selector:r}=n;e.sort((e,i)=>{if(e.score===i.score)for(let a of n.tiebreakers){let n=a(e,i,r);if(n!==0)return n}return 0})}return Number.isFinite(n.limit)&&e.splice(n.limit),e}var xt=class{constructor(e,...n){this.finder=new vt(e,...n),this.find=this.finder.find.bind(this.finder)}};function St(e){if(typeof e==`string`)return e;let n=e;return typeof n.label==`string`?n.label:typeof n.key==`string`?n.key:typeof n.value==`string`?n.value:String(e)}function Ct(e,n={}){let r=new xt(e,{selector:n.selector??St,...n.fzf??{}});return{find:n=>n.trim()?r.find(n).map(e=>({item:e.item,positions:e.positions,score:e.score})):e.map(e=>({item:e,positions:new Set,score:0})),items:e}}function wt(e,n={}){let r=Ct(e,{selector:n.selector??(e=>e.label)});return(e,n)=>new Promise((i,a)=>{if(n.aborted){a(new DOMException(`Aborted`,`AbortError`));return}let o=r.find(e).map(e=>({...e.item,positions:e.positions}));if(n.aborted){a(new DOMException(`Aborted`,`AbortError`));return}i(o)})}function Tt(e,n){let r=new Map;for(let n of e)r.set(n.item,n.positions);return Object.freeze({query:n,results:Object.freeze([...e]),positionsByItem:r})}function Et(e={}){let n=e.items??[],r=``,i=Ct(n,{selector:e.selector,fzf:e.fzf}),a=Tt(i.find(r),r),o=!1,s=new Set;e.onChange&&s.add(e.onChange);let c=e=>{for(let n of s)n(e)},l=async(e,n)=>{if(await Promise.resolve(),n?.aborted||o)return a;let r=i.find(e);return n?.aborted||o?a:(a=Tt(r,e),c(a),a)};return{get state(){return a},async setItems(a,o){n=a,i=Ct(n,{selector:e.selector,fzf:e.fzf}),await l(r,o)},async setQuery(e,n){return r=e,l(e,n)},async clearQuery(){r=``,await l(``,void 0)},onChange(e){return s.add(e),e(a),()=>{s.delete(e)}},dispose(){o=!0,s.clear(),n=[]}}}const Dt=`incr-search-highlight`;var Ot=class{#e;#t;#n;#r;#i=new Map;constructor(e,n){this.#e=e,this.#t=n,this.#n=Et({selector:n.selector,fzf:n.fzf})}connect(){this.disconnect();let e=this.#e.getNodes();for(let n of e)this.#i.set(this.#t.selector(n),n);this.#n.setItems(e),this.#t.input&&(this.#t.input.addEventListener(`input`,this.#a),this.#t.input.addEventListener(`keydown`,this.#o)),this.#r=this.#n.onChange(e=>this.#s(e))}disconnect(){this.#r&&=(this.#r(),void 0),this.#t.input&&(this.#t.input.removeEventListener(`input`,this.#a),this.#t.input.removeEventListener(`keydown`,this.#o)),this.#e.filterPredicate=void 0,re({key:this.#t.highlightKey??Dt}),this.#i.clear()}async setQuery(e){await this.#n.setQuery(e)}async clearQuery(){await this.#n.clearQuery()}#a=()=>{let e=this.#t.input?.value??``;this.setQuery(e)};#o=e=>{e.key===`Escape`&&this.#t.input&&(this.#t.input.value=``,this.clearQuery())};#s(e){let n=new Set(e.results.map(e=>e.item.node.item.key)),r=e.query.trim().length>0;this.#e.filterPredicate=r&&n.size>0?(e,r)=>n.has(e.item.key):void 0;let i=this.#t.highlightKey??Dt;if(!this.#e.shadowRoot)return;if(!e.query.trim()){re({key:i});return}let a=this.#t.labelSelector??`.tree-label`;ne(ie(this.#e.shadowRoot,a,e.positionsByItem,e=>{let n=e.textContent??``;return this.#i.get(n)},e=>e.textContent??``),{key:i})}};function kt(e,n){return{getItems:()=>Array.from({length:n.rawCount()},(e,r)=>({key:n.rawKeyAt(r),index:r})),getLabel:e=>n.rawSearchTextAt(e.index),getKey:e=>e.key,focusItem:n=>{n&&e.focusKey(n.key)},activateItem:r=>{n.onActivate?n.onActivate(r.key):e.focusKey(r.key)},selectItems:n=>{e.selectKeys(n.map(e=>e.key))},applyFilter:e=>{n.onFilterChange?.(e)},highlightRoot:n.getHighlightRoot,highlightSelector:`.cell .caption`,highlightKeyOf:e=>e.closest(`.cell`)?.getAttribute(`data-key`)??void 0,highlightText:e=>e.textContent??``,highlightKey:`grid-list-search`}}function D(e){return e.getAttribute(`data-key`)??e.getAttribute(`data-value`)??void 0}function At(e){let n=new Set;for(let r of e){let e=D(r);e!==void 0&&n.add(e)}return n}var jt=class{#e;#t;#n=new Map;#r=!0;#i;constructor(e,n=`[data-key]`){this.#e=e,this.#t=n,this.#i=new MutationObserver(()=>{this.#r=!0}),this.#i.observe(e,{childList:!0,subtree:!0})}get(e){return this.#r&&this.#a(),this.#n.get(e)}invalidate(){this.#r=!0}dispose(){this.#i.disconnect(),this.#n.clear()}#a(){this.#n.clear();for(let e of this.#e.querySelectorAll(this.#t)){let n=D(e);n!==void 0&&!this.#n.has(n)&&this.#n.set(n,e)}this.#r=!1}};function Mt(e){return e.getAttribute(`data-search-label`)??e.textContent?.trim()??``}function Nt(e,n={}){let r=n.itemSelector??`:scope > *`,i=n.getLabel??Mt,a=n.getKey??(e=>D(e)??Mt(e)),o=new Set,s=n.observeContainer??!0,c=()=>n.getAllItems?n.getAllItems():Array.from(e.querySelectorAll(r));return{getItems:c,getLabel:i,getKey:a,focusItem:n=>{n&&e.focusKey(a(n))},activateItem:n=>{let r=a(n);e.activateKey?e.activateKey(r):n.dispatchEvent(new MouseEvent(`click`,{bubbles:!0,composed:!0}))},selectItems:n=>{e.selectKeys(n.map(a))},applyFilter:e=>{if(e===void 0){for(let e of o)e.hidden=!1;o.clear();return}for(let n of c())e.has(a(n))?o.delete(n)&&(n.hidden=!1):(n.hidden=!0,o.add(n))},highlightRoot:()=>e,highlightSelector:r,highlightKeyOf:e=>a(e),highlightText:i,highlightKey:n.highlightKey,container:s?()=>e:void 0}}const Pt=e=>e.textContent?.trim()??``;function Ft(e){return e.getAttribute(`data-key`)??e.getAttribute(`data-value`)??e.textContent?.trim()??``}function It(e){let{container:n,itemSelector:r,getLabel:i=Pt,getKey:a=Ft,labelSelector:o,highlightKey:s}=e,c=new Map,l=Et({selector:e=>e.label,fzf:e.fzf}),u=e=>{let n=new Set(e.results.map(e=>e.item.key)),r=e.query.trim().length>0;for(let[e,i]of c)i.hidden=r?!n.has(e):!1},d=e=>{if(!e.query.trim()){re({key:s});return}ne(ie(n,o??r,e.positionsByItem,n=>{let r=a(n);return e.results.find(e=>e.item.key===r)?.item},e=>i(e)),{key:s})},f=l.onChange(n=>{u(n),d(n),e.onChange?.(n)}),p=!1,m=()=>{p||(p=!0,Promise.resolve().then(()=>{p=!1,c=new Map;let e=n.querySelectorAll(r),o=[];for(let n of e){let e=a(n);c.set(e,n),o.push({key:e,label:i(n)})}l.setItems(o)}))},h=new MutationObserver(()=>m());return h.observe(n,{childList:!0,subtree:!1}),m(),{async setQuery(e,n){await l.setQuery(e,n)},async clearQuery(){await l.clearQuery()},refresh:m,onChange(e){return l.onChange(e)},dispose(){h.disconnect(),f(),l.dispose(),re({key:s})}}}const Lt={navigate:`list.search.navigate`,select:`list.search.select`,filter:`list.search.filter`},Rt={navigate:{label:`Find`,description:`Type to move the cursor to the best match`},select:{label:`Find & Select`,description:`Type to select every matching item`},filter:{label:`Filter`,description:`Type to hide items that don't match`}};function zt(e,n,r={}){let i=e=>r.idPrefix?`${r.idPrefix}.search.${e}`:Lt[e],a=[];for(let r of n.registeredModes){let o=i(r);e.has(o)||(e.register({id:o,label:Rt[r].label,description:Rt[r].description,execute:()=>n.open(r)}),a.push(o))}return()=>{for(let n of a)e.unregister(n)}}const O=[`navigate`,`select`,`filter`],Bt=`list-search-input`;var Vt=class{#e;#t;#n;#r;#i;#a;#o;#s=new Map;#c=!1;#l=`filter`;#u=``;#d=0;#f=[];#p=!1;#m=!1;constructor(e,n){this.#e=e,this.#t=n.adapter;let r=new Set(n.modes??O);this.#n=O.filter(e=>r.has(e)),this.#l=this.#n[0]??`filter`,this.#r=n.placeholder??`Search…`,this.stickyFilter=n.stickyFilter??!1,this.#i=Et({selector:e=>e.label,fzf:n.fzf}),this.#a=this.#i.onChange(e=>this.#E(e)),e.addController(this)}get enabled(){return this.#n.length>0}get registeredModes(){return this.#n}setModes(e){let n=new Set(e);this.#n=O.filter(e=>n.has(e)),this.#n.includes(this.#l)||(this.#c&&this.close(),this.clearFilter(),this.#l=this.#n[0]??`filter`),this.#e.requestUpdate()}get isOpen(){return this.#c}get mode(){return this.#l}get query(){return this.#u}get matchCount(){return this.#f.length}get matchIndex(){return this.#d}get keptFilter(){return this.#m?this.#u:void 0}hostConnected(){let e=this.#t.container?.();e&&(this.#o=new MutationObserver(()=>this.refresh()),this.#o.observe(e,{childList:!0,subtree:!1})),this.#e.addEventListener(`keydown`,this.#x),this.refresh()}hostDisconnected(){this.#o?.disconnect(),this.#o=void 0,this.#e.removeEventListener(`keydown`,this.#x),(this.#c||this.#m)&&this.#k(),this.#c=!1,this.#m=!1,this.#a?.(),this.#a=void 0,this.#i.dispose()}open(e){if(!this.enabled)return;if(this.#c){this.switchMode(this.#n.includes(e)?e:this.#l),this.focus();return}this.#l=this.#n.includes(e)?e:this.#n[0],this.#c=!0;let n=this.#m;this.#m=!1,n||(this.#u=``),this.#d=0,this.#f=[],n&&this.#l!==`filter`&&this.#p&&(this.#t.applyFilter(void 0),this.#p=!1),this.refresh(),this.#i.setQuery(this.#u),this.#e.requestUpdate(),this.#e.updateComplete.then(()=>this.#_(n))}close(){this.#c&&(this.#c=!1,this.#k(),this.#u=``,this.#f=[],this.#i.clearQuery(),this.#e.requestUpdate(),this.#e.focus())}clearFilter(){this.#m&&(this.#m=!1,this.#k(),this.#u=``,this.#f=[],this.#i.clearQuery(),this.#e.requestUpdate())}setQuery(e){this.#u=e,this.#d=0,this.#i.setQuery(e)}switchMode(e){!this.#n.includes(e)||e===this.#l||(this.#l===`filter`&&this.#p&&(this.#t.applyFilter(void 0),this.#p=!1),this.#l=e,this.#D(),this.#e.requestUpdate(),this.#e.updateComplete.then(()=>this.#_()))}cycleMode(e){let n=this.#n.length;if(n<2)return;let r=this.#n.indexOf(this.#l);this.switchMode(this.#n[(r+e+n)%n])}focus(){this.#c&&this.#e.updateComplete.then(()=>this.#_(!0))}selectMatches(e=`api`){this.#n.includes(`select`)&&(this.#h(e),this.#e.requestUpdate())}#h(e){let n=this.#w(),r={kind:`match`,keys:n.map(e=>this.#t.getKey(e)),query:this.#u,source:e};this.#e.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))&&this.#t.selectItems(n)}nextMatch(){this.#S(1)}prevMatch(){this.#S(-1)}commit(){if(this.#l===`filter`&&this.stickyFilter&&this.#p){this.#c=!1,this.#m=!0,re({key:this.#T}),this.#e.requestUpdate(),this.#e.focus();return}if(this.#l===`navigate`){let e=this.#C(this.#f[this.#d]);e&&(this.#t.activateItem?this.#t.activateItem(e):this.#t.focusItem(e))}this.close()}refresh(){this.#s.clear();let e=[];for(let n of this.#t.getItems()){let r=this.#t.getKey(n);this.#s.set(r,n),e.push({key:r,label:this.#t.getLabel(n)})}this.#i.setItems(e)}repaintHighlights(){this.#O()}renderField(){if(!this.enabled)return a;if(this.#m)return this.#g();let e=this.#u.trim().length>0,n=this.#n.filter(e=>e!==this.#l),r=this.#n.includes(`select`)&&this.#l!==`select`;return i`
|
|
682
682
|
<div class="list-search" part="search" ?hidden=${!this.#c}>
|
|
683
683
|
<div class="list-search-row">
|
|
684
684
|
<span class="list-search-mode">${this.#l}</span>
|
|
@@ -688,8 +688,8 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
688
688
|
part="search-input"
|
|
689
689
|
placeholder=${this.#r}
|
|
690
690
|
.value=${this.#u}
|
|
691
|
-
@input=${this.#
|
|
692
|
-
@keydown=${this.#
|
|
691
|
+
@input=${this.#y}
|
|
692
|
+
@keydown=${this.#b}
|
|
693
693
|
/>
|
|
694
694
|
${e?i`<span class="list-search-count">${this.#f.length===0?`0`:this.#d+1} / ${this.#f.length}</span>`:a}
|
|
695
695
|
${this.#l===`navigate`&&this.#f.length>1?i`
|
|
@@ -700,19 +700,19 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
700
700
|
</div>
|
|
701
701
|
${n.length>0||r?i`
|
|
702
702
|
<div class="list-search-switch">
|
|
703
|
-
${n.map(e=>i`<button class="list-search-btn" title=${this.#
|
|
704
|
-
${r?i`<button class="list-search-btn" @click=${()=>this.selectMatches()}>Select matches</button>`:a}
|
|
703
|
+
${n.map(e=>i`<button class="list-search-btn" title=${this.#v(e)} @click=${()=>this.switchMode(e)}>${e}</button>`)}
|
|
704
|
+
${r?i`<button class="list-search-btn" @click=${()=>this.selectMatches(`pointer`)}>Select matches</button>`:a}
|
|
705
705
|
</div>
|
|
706
706
|
`:a}
|
|
707
707
|
</div>
|
|
708
|
-
`}#
|
|
708
|
+
`}#g(){return i`
|
|
709
709
|
<div class="list-search list-search-kept" part="search-kept">
|
|
710
710
|
<button class="list-search-kept-label" title="Edit filter" @click=${()=>this.open(`filter`)}>
|
|
711
711
|
Filtered: <strong>${this.#u}</strong> <span class="list-search-count">(${this.#f.length})</span>
|
|
712
712
|
</button>
|
|
713
713
|
<button class="list-search-icon-btn" title="Clear filter (Esc)" @click=${()=>this.clearFilter()}><ixfx-icon name="close" size="14"></ixfx-icon></button>
|
|
714
714
|
</div>
|
|
715
|
-
`}#
|
|
715
|
+
`}#_(e=!1){let n=this.#e.renderRoot?.querySelector(`.${Bt}`);n?.focus(),e&&n?.select()}#v(e){let n=this.#n.length,r=this.#n.indexOf(this.#l);return`Switch to ${e} (${[this.#n[(r+1)%n]===e?`Tab`:void 0,this.#n[(r-1+n)%n]===e?`Shift+Tab`:void 0].filter(e=>e!==void 0).join(` / `)})`}#y=e=>{this.setQuery(e.target.value)};#b=e=>{switch(e.key){case`Escape`:e.preventDefault(),e.stopPropagation(),this.close();break;case`Enter`:e.preventDefault(),e.stopPropagation(),this.commit();break;case`Tab`:this.#n.length>1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),e.stopPropagation(),this.cycleMode(e.shiftKey?-1:1));break;case`ArrowDown`:this.#l===`navigate`&&(e.preventDefault(),this.nextMatch());break;case`ArrowUp`:this.#l===`navigate`&&(e.preventDefault(),this.prevMatch())}};#x=e=>{!this.#m||this.#c||e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),e.stopPropagation(),this.clearFilter())};#S(e){if(this.#f.length===0)return;let n=this.#f.length;this.#d=(this.#d+e+n)%n,this.#l===`navigate`&&this.#t.focusItem(this.#C(this.#f[this.#d])),this.#e.requestUpdate()}#C(e){return e?this.#s.get(e.item.key):void 0}#w(){return this.#f.map(e=>this.#C(e)).filter(e=>e!==void 0)}get#T(){return this.#t.highlightKey??`incr-search-highlight`}#E(e){if(!this.#c&&!this.#m)return;let n=e.query.trim().length>0;if(this.#f=n?[...e.results]:[],!this.#c){this.#t.applyFilter(new Set(this.#f.map(e=>e.item.key))),this.#e.requestUpdate();return}this.#d>=this.#f.length&&(this.#d=0),this.#D(),this.#e.requestUpdate()}#D(){if(!(this.#u.trim().length>0)){this.#p&&=(this.#t.applyFilter(void 0),!1),this.#O();return}switch(this.#l){case`navigate`:this.#t.focusItem(this.#C(this.#f[this.#d]));break;case`select`:this.#h(`keyboard`);break;case`filter`:this.#t.applyFilter(new Set(this.#f.map(e=>e.item.key))),this.#p=!0}this.#O()}#O(){let e=this.#t.highlightRoot?.(),n=this.#t.highlightSelector,r=this.#t.highlightKeyOf;if(!e||!n||!r)return;if(this.#u.trim().length===0){re({key:this.#T});return}let i=this.#i.state,a=new Map(i.results.map(e=>[e.item.key,e.item])),o=ie(e,n,i.positionsByItem,e=>{let n=r(e);return n===void 0?void 0:a.get(n)},this.#t.highlightText??(e=>e.textContent??``));try{ne(o,{key:this.#T})}catch{re({key:this.#T})}}#k(){this.#p&&=(this.#t.applyFilter(void 0),!1),re({key:this.#T})}};const Ht=r`
|
|
716
716
|
.list-search {
|
|
717
717
|
position: absolute;
|
|
718
718
|
top: var(--list-search-inset, 8px);
|
|
@@ -2490,7 +2490,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
2490
2490
|
.radio-group.compact.horizontal .radio-item {
|
|
2491
2491
|
padding: var(--compact-padding, 0.5rem);
|
|
2492
2492
|
}
|
|
2493
|
-
`]}};E([d({type:String})],pn.prototype,`value`,void 0),E([d({type:String})],pn.prototype,`orientation`,void 0),E([d({type:Array})],pn.prototype,`items`,void 0),E([d({type:String})],pn.prototype,`name`,void 0),E([d({type:String})],pn.prototype,`mode`,void 0),E([d({type:Boolean})],pn.prototype,`checked`,void 0),E([d({type:String,attribute:`value-off`})],pn.prototype,`valueOff`,void 0),E([d({type:String,attribute:`icon-name`})],pn.prototype,`iconName`,void 0),E([d({type:String,attribute:`icon-name-off`})],pn.prototype,`iconNameOff`,void 0),E([d({type:Boolean,attribute:`hide-labels`})],pn.prototype,`hideLabels`,void 0),E([m()],pn.prototype,`_computedItems`,void 0),E([m()],pn.prototype,`_icons`,void 0),E([f(`slot`)],pn.prototype,`_slot`,void 0),pn=E([T(`ixfx-radio-group`)],pn);const mn=`(none)`;function hn(e){return e===``?mn:e}function gn(e){return String(e??``)}function _n(e,n,r,i){return gn(typeof e==`string`?i(n,e):e(n,r))}function vn(e,n,r){let i=new Map;for(let r=0;r<e.length;r++){let a=n(e[r],r),o=i.get(a);o?o.items.push(e[r]):i.set(a,{key:a,items:[e[r]],firstIndex:r})}return[...i.values()].map(e=>({key:e.key,items:e.items,firstIndex:e.firstIndex,label:r?r(e.key,e.items):hn(e.key)}))}function yn(e,n){let r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}function bn(e){let n=e.item;if(typeof n!=`object`||!n||n instanceof Element)return;let r=n.item;return typeof r==`object`&&r?r:void 0}function xn(e){let n=e.metrics.rowHeight;return n!==void 0&&Number.isFinite(n)?Math.max(24,Math.min(36,Math.round(n))):28}function Sn(e,n){let r=be(e);if(!r)return;let i=document.createElement(`span`);if(i.setAttribute(`data-icon`,``),i.setAttribute(`aria-hidden`,`true`),i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.1em;height:1.1em;${n?`color:${n};`:``}`,r.kind===`svg`){i.innerHTML=r.svg;let e=i.querySelector(`svg`);e&&(e.style.width=`100%`,e.style.height=`100%`)}else{let e=Ce();e&&(i.style.fontFamily=e),i.textContent=r.char}return i}function Cn(e,n){let r=xn(e),i=e.origin??e.selected[0],a=bn(i),o=typeof a?.label==`string`&&a.label.length>0?a.label:n(i),s=typeof a?.icon==`string`?a.icon:void 0,c=typeof a?.iconColor==`string`?a.iconColor:void 0,l=document.createElement(`div`);l.setAttribute(`data-preview`,`row`),l.setAttribute(`part`,`drag-preview`),l.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:${r}px;max-width:280px;padding:0 10px 0 8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:13px;white-space:nowrap;z-index:999999;pointer-events:none;`;let u=s?Sn(s,c):void 0;u&&l.appendChild(u);let d=document.createElement(`span`);d.setAttribute(`data-caption`,``),d.style.cssText=`min-width:0;overflow:hidden;text-overflow:ellipsis;`,d.textContent=o,l.appendChild(d);let f=e.selected.length;if(f>1){let e=document.createElement(`span`);e.setAttribute(`data-count`,``),e.style.cssText=`flex-shrink:0;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--accent, #4da3ff);color:var(--accent-text, #fff);font-size:11px;font-weight:600;line-height:18px;text-align:center;`,e.textContent=String(f),l.appendChild(e)}return{element:l,hotspot:{x:14,y:Math.round(r/2)},dispose:()=>{}}}const wn=1024;function Tn(e,n,r){try{return e.getPropertyValue(n)?.trim()||r}catch{return r}}function En(e){try{let n=e.font?.trim();if(n)return n}catch{}return`12px system-ui, sans-serif`}function Dn(e){let n=e.element??(e.item instanceof Element?e.item:void 0);if(n){let e=n.getAttribute(`data-label`)??n.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??n.getAttribute(`data-search-label`)??n.querySelector(`.cell`)?.textContent?.trim();if(e)return e.slice(0,80)}let r=e.item;if(typeof r==`string`&&r.length>0)return r.slice(0,80);if(typeof r==`object`&&r&&!(r instanceof Element)){let e=r;for(let n of[`label`,`name`,`title`,`text`]){let r=e[n];if(typeof r==`string`&&r.length>0)return r.slice(0,80)}}if(n){let e=n.textContent?.trim();if(e)return e.slice(0,80)}return e.key}function On(e){let n=e.trim().at(0);return n?n.toLocaleUpperCase():`?`}function kn(e){if(e instanceof HTMLImageElement||e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement)return e.clientWidth>0&&e.clientHeight>0;if(e instanceof ImageBitmap)return e.width>0&&e.height>0;if(`naturalWidth`in e&&`naturalHeight`in e){let n=e;return n.naturalWidth>0&&n.naturalHeight>0}return!0}function An(e,n){if(n)try{let r=n(e);if(r&&kn(r))return r}catch{}return jn(e)}function jn(e){let n=e.element??(e.item instanceof Element?e.item:void 0);if(!(!n||typeof n.querySelector!=`function`)){if(n instanceof HTMLImageElement)return n.complete&&n.naturalWidth>0?n:void 0;try{let e=n.querySelector(`img`);if(e instanceof HTMLImageElement&&e.complete&&e.naturalWidth>0)return e}catch{}}}function Mn(e){return e.itemSize!==void 0&&Number.isFinite(e.itemSize)?Math.max(48,Math.min(96,Math.round(e.itemSize))):72}function Nn(e){let n=e.rowHeight;return n!==void 0&&Number.isFinite(n)?Math.max(24,Math.min(36,Math.round(n))):28}function Pn(e,n,r,i){let a=e.createElement(`div`);if(a.setAttribute(`data-thumb`,``),a.style.cssText=`width:${i}px;height:${i}px;border-radius:4px;overflow:hidden;background:var(--surface-5, rgba(128,128,128,0.25));flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:${Math.round(i*.4)}px;font-weight:600;`,r instanceof HTMLImageElement)try{let e=r.cloneNode(!0);e.style.cssText=`width:100%;height:100%;object-fit:cover;`,e.removeAttribute(`id`),a.appendChild(e)}catch{a.textContent=On(n)}else a.textContent=On(n);return a}function Fn(e,n,r){let i=document,a=Mn(e.metrics),o=i.createElement(`div`);o.setAttribute(`data-preview`,`cards`),o.setAttribute(`part`,`drag-preview`),o.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:flex;flex-direction:row;gap:6px;padding:8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:11px;max-width:320px;z-index:999999;pointer-events:none;`;let s=e.selected.length;for(let e=0;e<s;e++){let s=i.createElement(`div`);s.setAttribute(`data-card`,``),s.style.cssText=`display:flex;flex-direction:column;gap:4px;align-items:center;width:${a}px;`,s.appendChild(Pn(i,n[e],r[e],Math.round(a*.72)));let c=i.createElement(`span`);c.setAttribute(`data-caption`,``),c.style.cssText=`max-width:${a}px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0.9;`,c.textContent=n[e],s.appendChild(c),o.appendChild(s)}return o}function In(e,n,r){let i=document,a=Nn(e.metrics),o=Math.round(a*.78),s=i.createElement(`div`);s.setAttribute(`data-preview`,`list`),s.setAttribute(`part`,`drag-preview`),s.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:12px;width:220px;max-width:220px;z-index:999999;pointer-events:none;`;let c=i.createElement(`div`);c.setAttribute(`data-header`,``),c.style.cssText=`font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--border-subtle, #555);margin-bottom:4px;`,c.textContent=`${e.selected.length} items`,s.appendChild(c);for(let e=0;e<Math.min(5,n.length);e++){let c=i.createElement(`div`);c.setAttribute(`data-row`,``),c.style.cssText=`display:flex;align-items:center;gap:6px;height:${a}px;overflow:hidden;`,c.appendChild(Pn(i,n[e],r[e],o));let l=i.createElement(`span`);l.setAttribute(`data-caption`,``),l.style.cssText=`flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,l.textContent=n[e],c.appendChild(l),s.appendChild(c)}if(n.length>5){let e=i.createElement(`div`);e.setAttribute(`data-more`,``),e.style.cssText=`opacity:0.6;text-align:center;`,e.textContent=`+${n.length-5} more`,s.appendChild(e)}return s}function Ln(e){let n=Tn(e,`--surface-4`,`#333333`),r=Tn(e,`--surface-4-text`,`#ffffff`),i=Tn(e,`--border-subtle`,`#555555`),a=Tn(e,`--accent`,`#4da3ff`),o=Tn(e,`--radius-m`,`8`);return{bg:n,fg:r,subtle:i,accent:a,radius:Number.parseFloat(o)||8,font:En(e)}}function Rn(e,n,r){let i=Math.max(1,Math.min(3,typeof devicePixelRatio==`number`&&devicePixelRatio>0?devicePixelRatio:1)),a=wn/Math.max(1,n),o=wn/Math.max(1,r);return i=Math.min(i,a,o),e.width=Math.max(1,Math.round(n*i)),e.height=Math.max(1,Math.round(r*i)),e.style.width=`${n}px`,e.style.height=`${r}px`,{scale:i,dpr:i}}function zn(e,n,r,i,a,o){let s=Math.max(0,Math.min(o,i/2,a/2));if(typeof e.roundRect==`function`){e.beginPath(),e.roundRect(n,r,i,a,s);return}e.beginPath(),e.moveTo(n+s,r),e.arcTo(n+i,r,n+i,r+a,s),e.arcTo(n+i,r+a,n,r+a,s),e.arcTo(n,r+a,n,r,s),e.arcTo(n,r,n+i,r,s),e.closePath()}function Bn(e,n,r,i,a,o,s,c){e.save(),e.scale(n,n),zn(e,0,0,s,c,r.radius),e.fillStyle=r.bg,e.fill(),e.strokeStyle=r.subtle,e.lineWidth=1,e.stroke(),e.clip();let l=Math.round(o*.72);e.font=r.font,e.textBaseline=`middle`;for(let n=0;n<i.length;n++){let s=8+n*(o+6),c=s+(o-l)/2;zn(e,c,8,l,l,4),e.fillStyle=r.subtle,e.globalAlpha=.35,e.fill(),e.globalAlpha=1;let u=a[n];if(u)try{e.save(),e.clip(),e.drawImage(u,c,8,l,l),e.restore()}catch{}else e.fillStyle=r.fg,e.globalAlpha=.9,e.font=`600 ${Math.round(l*.4)}px system-ui, sans-serif`,e.textAlign=`center`,e.fillText(On(i[n]),c+l/2,8+l/2+1),e.globalAlpha=1,e.textAlign=`left`,e.font=r.font;e.fillStyle=r.fg,e.globalAlpha=.9,e.font=r.font;let d=i[n].length>12?`${i[n].slice(0,11)}…`:i[n],f=e.measureText(d).width;e.fillText(d,s+(o-Math.min(o,f))/2,8+l+10,o),e.globalAlpha=1}e.restore()}function Vn(e,n,r,i,a,o,s,c){e.save(),e.scale(n,n),zn(e,0,0,s,c,r.radius),e.fillStyle=r.bg,e.fill(),e.strokeStyle=r.subtle,e.lineWidth=1,e.stroke(),e.clip(),e.fillStyle=r.fg,e.font=`600 ${r.font}`,e.textBaseline=`middle`,e.fillText(`${i.length} items`,8,16,s-16),e.strokeStyle=r.subtle,e.beginPath(),e.moveTo(8,28),e.lineTo(s-8,28),e.stroke();let l=Math.round(o*.78),u=Math.min(5,i.length);e.font=r.font;for(let n=0;n<u;n++){let c=32+n*o;zn(e,8,c+(o-l)/2,l,l,4),e.fillStyle=r.subtle,e.globalAlpha=.35,e.fill(),e.globalAlpha=1;let u=a[n];if(u)try{e.save(),e.clip(),e.drawImage(u,8,c+(o-l)/2,l,l),e.restore()}catch{}else e.fillStyle=r.fg,e.font=`600 ${Math.round(l*.45)}px system-ui, sans-serif`,e.textAlign=`center`,e.fillText(On(i[n]),8+l/2,c+o/2+1),e.textAlign=`left`,e.font=r.font;e.fillStyle=r.fg,e.globalAlpha=.92;let d=s-16-l-6;e.fillText(i[n],8+l+6,c+o/2+1,Math.max(8,d)),e.globalAlpha=1}i.length>5&&(e.fillStyle=r.fg,e.globalAlpha=.6,e.textAlign=`center`,e.fillText(`+${i.length-5} more`,s/2,c-8-6,s-16),e.textAlign=`left`,e.globalAlpha=1),e.restore()}function Hn(e){let n=e;if(n.source===`tree-list`)return Cn(n,Dn);let r=n.selected,i=r.map(e=>Dn(e)),a=r.map(e=>An(e,n.resolveDragPreviewSource)),o=r.length<=5,s,c,l;if(o){let e=Mn(n.metrics);c=r.length*e+Math.max(0,r.length-1)*6+16,l=Math.round(e*.72)+22+16,s=Fn(n,i,a)}else{let e=Nn(n.metrics),o=Math.min(5,r.length),u=r.length>5?18:0;c=236,l=40+o*e+u,s=In(n,i,a)}let u;try{let e=document.createElement(`canvas`),r=e.getContext(`2d`);if(r){let{scale:s}=Rn(e,c,l),d=Ln(n.hostStyle);o?Bn(r,s,d,i,a,Mn(n.metrics),c,l):Vn(r,s,d,i,a,Nn(n.metrics),c,l),u=e}}catch{u=void 0}return{element:s,hotspot:{x:16,y:16},...u?{canvas:u}:{},dispose:()=>{}}}const Un=[`mouse`,`pen`];var Wn=class{#e;#t;#n;#r;#i=0;#a=0;#o=0;#s=0;#c=0;#l=0;#u={shiftKey:!1,ctrlKey:!1,metaKey:!1};#d=!1;#f=!1;#p=new Set;#m=`replace`;#h=new Set;#g=new Set;#_=0;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#d||this.#f}get isActive(){return this.#d}hostConnected(){this.#y(),window.addEventListener(`pointermove`,this.#T),window.addEventListener(`pointerup`,this.#k),window.addEventListener(`pointercancel`,this.#A)}hostDisconnected(){this.#b(),window.removeEventListener(`pointermove`,this.#T),window.removeEventListener(`pointerup`,this.#k),window.removeEventListener(`pointercancel`,this.#A),this.#N(),this.#P()}hostUpdated(){(this.#v()??this.#e)!==this.#n&&this.#y()}#v(){try{return this.#t.getSurface()}catch{return}}#y(){let e=this.#v()??this.#e;e!==this.#n&&(this.#b(),this.#n=e,e.addEventListener(`pointerdown`,this.#C))}#b(){this.#n?.removeEventListener(`pointerdown`,this.#C),this.#n=void 0}#x(){return this.#t.pointerTypes??Un}#S(){return this.#t.threshold??4}#C=e=>{if(e.button!==0||!this.#x().includes(e.pointerType))return;let n=!1;try{n=this.#t.isEnabled()}catch{return}if(!n)return;let r=e.target;if(r instanceof Element&&typeof r.closest==`function`&&r.closest(`input,button,a,select,textarea,[contenteditable]`))return;if(this.#t.shouldStart)try{if(!this.#t.shouldStart(e))return}catch{return}let i=(this.#v()??this.#e).getBoundingClientRect();this.#r=e.pointerId,this.#i=e.clientX,this.#a=e.clientY,this.#c=e.clientX,this.#l=e.clientY,this.#o=Math.min(Math.max(e.clientX-i.left,0),Math.max(0,i.width)),this.#s=Math.min(Math.max(e.clientY-i.top,0),Math.max(0,i.height)),this.#d=!1,this.#f=!1,this.#p=new Set,this.#m=`replace`,this.#g=new Set,this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey}};#w(e){return e.metaKey||e.ctrlKey?`invert`:e.shiftKey?`add`:`replace`}#T=e=>{if(this.#r===void 0||e.pointerId!==this.#r)return;this.#c=e.clientX,this.#l=e.clientY,this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey};let n=Math.hypot(e.clientX-this.#i,e.clientY-this.#a);if(!this.#d){if(n<this.#S())return;this.#d=!0;try{this.#p=new Set(this.#t.getBaseSelection())}catch{this.#p=new Set}let r=this.#v()??this.#e;try{typeof r.setPointerCapture==`function`&&r.setPointerCapture(e.pointerId)}catch{}}try{e.preventDefault?.()}catch{}this.#O(),this.#j()};#E(){let e=this.#v()??this.#e;try{return e.getBoundingClientRect()}catch{return}}#D(){let e=this.#E();if(!e)return;let n=Math.min(Math.max(this.#c-e.left,0),Math.max(0,e.width)),r=Math.min(Math.max(this.#l-e.top,0),Math.max(0,e.height));return{x:Math.min(this.#o,n),y:Math.min(this.#s,r),width:Math.abs(n-this.#o),height:Math.abs(r-this.#s)}}#O(){let e=this.#D();if(!e)return;let n=[];try{n=this.#t.hitTest(e)}catch{n=[]}let r=this.#w(this.#u);this.#m=r;let i=new Set(n),a;if(r===`add`)a=new Set([...this.#p,...i]);else if(r===`invert`){let e=new Set(this.#p);for(let n of i)e.has(n)?e.delete(n):e.add(n);a=e}else a=i;this.#h=a,this.#g=i;try{this.#t.onPreview(a,e)}catch{}}#k=e=>{if(this.#r===void 0||e.pointerId!==this.#r)return;this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey};let n=this.#d,r=this.#v()??this.#e;try{typeof r.hasPointerCapture==`function`&&typeof r.releasePointerCapture==`function`&&r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId)}catch{}if(this.#N(),this.#r=void 0,!n){this.#P();return}this.#d=!1;let i=this.#h;try{this.#t.onCommit(i,{additive:this.#m!==`replace`,covered:this.#g})}catch{}try{this.#t.onPreview(new Set,void 0)}catch{}this.#h=new Set,this.#f=!0,window.setTimeout(()=>{this.#f=!1},0)};#A=e=>{if(this.#r!==void 0&&e.pointerId===this.#r){this.#N(),this.#r=void 0,this.#d=!1,this.#h=new Set;try{this.#t.onPreview(new Set,void 0)}catch{}this.#f=!1}};#j(){!this.#t.autoScroll||this.#_!==0||(this.#_=requestAnimationFrame(this.#M))}#M=()=>{if(this.#_=0,!this.#d||this.#r===void 0)return;let e=this.#E();if(!e)return;let n=this.#c-e.left,r=this.#l-e.top,i=0,a=0;if(n<28?i=-Math.ceil(16*(1-Math.max(0,n)/28)):n>e.width-28&&(i=Math.ceil(16*(1-Math.max(0,e.width-n)/28))),r<28?a=-Math.ceil(16*(1-Math.max(0,r)/28)):r>e.height-28&&(a=Math.ceil(16*(1-Math.max(0,e.height-r)/28))),i===0&&a===0)return;let o=this.#t.autoScroll;if(o){try{o(i,a)}catch{}this.#O(),this.#_=requestAnimationFrame(this.#M)}};#N(){this.#_!==0&&(cancelAnimationFrame(this.#_),this.#_=0)}#P(){this.#d=!1,this.#f=!1,this.#p=new Set,this.#m=`replace`,this.#h=new Set,this.#g=new Set}};const Gn=200;function Kn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}const qn=r`
|
|
2493
|
+
`]}};E([d({type:String})],pn.prototype,`value`,void 0),E([d({type:String})],pn.prototype,`orientation`,void 0),E([d({type:Array})],pn.prototype,`items`,void 0),E([d({type:String})],pn.prototype,`name`,void 0),E([d({type:String})],pn.prototype,`mode`,void 0),E([d({type:Boolean})],pn.prototype,`checked`,void 0),E([d({type:String,attribute:`value-off`})],pn.prototype,`valueOff`,void 0),E([d({type:String,attribute:`icon-name`})],pn.prototype,`iconName`,void 0),E([d({type:String,attribute:`icon-name-off`})],pn.prototype,`iconNameOff`,void 0),E([d({type:Boolean,attribute:`hide-labels`})],pn.prototype,`hideLabels`,void 0),E([m()],pn.prototype,`_computedItems`,void 0),E([m()],pn.prototype,`_icons`,void 0),E([f(`slot`)],pn.prototype,`_slot`,void 0),pn=E([T(`ixfx-radio-group`)],pn);const mn=`(none)`;function hn(e){return e===``?mn:e}function gn(e){return String(e??``)}function _n(e,n,r,i){return gn(typeof e==`string`?i(n,e):e(n,r))}function vn(e,n,r){let i=new Map;for(let r=0;r<e.length;r++){let a=n(e[r],r),o=i.get(a);o?o.items.push(e[r]):i.set(a,{key:a,items:[e[r]],firstIndex:r})}return[...i.values()].map(e=>({key:e.key,items:e.items,firstIndex:e.firstIndex,label:r?r(e.key,e.items):hn(e.key)}))}function yn(e,n){let r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}function bn(e){let n=e.item;if(typeof n!=`object`||!n||n instanceof Element)return;let r=n.item;return typeof r==`object`&&r?r:void 0}function xn(e){let n=e.metrics.rowHeight;return n!==void 0&&Number.isFinite(n)?Math.max(24,Math.min(36,Math.round(n))):28}function Sn(e,n){let r=be(e);if(!r)return;let i=document.createElement(`span`);if(i.setAttribute(`data-icon`,``),i.setAttribute(`aria-hidden`,`true`),i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.1em;height:1.1em;${n?`color:${n};`:``}`,r.kind===`svg`){i.innerHTML=r.svg;let e=i.querySelector(`svg`);e&&(e.style.width=`100%`,e.style.height=`100%`)}else{let e=Ce();e&&(i.style.fontFamily=e),i.textContent=r.char}return i}function Cn(e,n){let r=xn(e),i=e.origin??e.selected[0],a=bn(i),o=typeof a?.label==`string`&&a.label.length>0?a.label:n(i),s=typeof a?.icon==`string`?a.icon:void 0,c=typeof a?.iconColor==`string`?a.iconColor:void 0,l=document.createElement(`div`);l.setAttribute(`data-preview`,`row`),l.setAttribute(`part`,`drag-preview`),l.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:${r}px;max-width:280px;padding:0 10px 0 8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:13px;white-space:nowrap;z-index:999999;pointer-events:none;`;let u=s?Sn(s,c):void 0;u&&l.appendChild(u);let d=document.createElement(`span`);d.setAttribute(`data-caption`,``),d.style.cssText=`min-width:0;overflow:hidden;text-overflow:ellipsis;`,d.textContent=o,l.appendChild(d);let f=e.selected.length;if(f>1){let e=document.createElement(`span`);e.setAttribute(`data-count`,``),e.style.cssText=`flex-shrink:0;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:var(--accent, #4da3ff);color:var(--accent-text, #fff);font-size:11px;font-weight:600;line-height:18px;text-align:center;`,e.textContent=String(f),l.appendChild(e)}return{element:l,hotspot:{x:14,y:Math.round(r/2)},dispose:()=>{}}}const wn=1024;function Tn(e,n,r){try{return e.getPropertyValue(n)?.trim()||r}catch{return r}}function En(e){try{let n=e.font?.trim();if(n)return n}catch{}return`12px system-ui, sans-serif`}function Dn(e){let n=e.element??(e.item instanceof Element?e.item:void 0);if(n){let e=n.getAttribute(`data-label`)??n.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??n.getAttribute(`data-search-label`)??n.querySelector(`.cell`)?.textContent?.trim();if(e)return e.slice(0,80)}let r=e.item;if(typeof r==`string`&&r.length>0)return r.slice(0,80);if(typeof r==`object`&&r&&!(r instanceof Element)){let e=r;for(let n of[`label`,`name`,`title`,`text`]){let r=e[n];if(typeof r==`string`&&r.length>0)return r.slice(0,80)}}if(n){let e=n.textContent?.trim();if(e)return e.slice(0,80)}return e.key}function On(e){let n=e.trim().at(0);return n?n.toLocaleUpperCase():`?`}function kn(e){if(e instanceof HTMLImageElement||e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement)return e.clientWidth>0&&e.clientHeight>0;if(e instanceof ImageBitmap)return e.width>0&&e.height>0;if(`naturalWidth`in e&&`naturalHeight`in e){let n=e;return n.naturalWidth>0&&n.naturalHeight>0}return!0}function An(e,n){if(n)try{let r=n(e);if(r&&kn(r))return r}catch{}return jn(e)}function jn(e){let n=e.element??(e.item instanceof Element?e.item:void 0);if(!(!n||typeof n.querySelector!=`function`)){if(n instanceof HTMLImageElement)return n.complete&&n.naturalWidth>0?n:void 0;try{let e=n.querySelector(`img`);if(e instanceof HTMLImageElement&&e.complete&&e.naturalWidth>0)return e}catch{}}}function Mn(e){return e.itemSize!==void 0&&Number.isFinite(e.itemSize)?Math.max(48,Math.min(96,Math.round(e.itemSize))):72}function Nn(e){let n=e.rowHeight;return n!==void 0&&Number.isFinite(n)?Math.max(24,Math.min(36,Math.round(n))):28}function Pn(e,n,r,i){let a=e.createElement(`div`);if(a.setAttribute(`data-thumb`,``),a.style.cssText=`width:${i}px;height:${i}px;border-radius:4px;overflow:hidden;background:var(--surface-5, rgba(128,128,128,0.25));flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:${Math.round(i*.4)}px;font-weight:600;`,r instanceof HTMLImageElement)try{let e=r.cloneNode(!0);e.style.cssText=`width:100%;height:100%;object-fit:cover;`,e.removeAttribute(`id`),a.appendChild(e)}catch{a.textContent=On(n)}else a.textContent=On(n);return a}function Fn(e,n,r){let i=document,a=Mn(e.metrics),o=i.createElement(`div`);o.setAttribute(`data-preview`,`cards`),o.setAttribute(`part`,`drag-preview`),o.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:flex;flex-direction:row;gap:6px;padding:8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:11px;max-width:320px;z-index:999999;pointer-events:none;`;let s=e.selected.length;for(let e=0;e<s;e++){let s=i.createElement(`div`);s.setAttribute(`data-card`,``),s.style.cssText=`display:flex;flex-direction:column;gap:4px;align-items:center;width:${a}px;`,s.appendChild(Pn(i,n[e],r[e],Math.round(a*.72)));let c=i.createElement(`span`);c.setAttribute(`data-caption`,``),c.style.cssText=`max-width:${a}px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0.9;`,c.textContent=n[e],s.appendChild(c),o.appendChild(s)}return o}function In(e,n,r){let i=document,a=Nn(e.metrics),o=Math.round(a*.78),s=i.createElement(`div`);s.setAttribute(`data-preview`,`list`),s.setAttribute(`part`,`drag-preview`),s.style.cssText=`position:fixed;top:-9999px;left:-9999px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--surface-4, #333);color:var(--surface-4-text, #fff);border:1px solid var(--border-subtle, #555);border-radius:var(--radius-m, 8px);box-shadow:0 4px 16px rgba(0,0,0,0.3);font-family:system-ui,sans-serif;font-size:12px;width:220px;max-width:220px;z-index:999999;pointer-events:none;`;let c=i.createElement(`div`);c.setAttribute(`data-header`,``),c.style.cssText=`font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--border-subtle, #555);margin-bottom:4px;`,c.textContent=`${e.selected.length} items`,s.appendChild(c);for(let e=0;e<Math.min(5,n.length);e++){let c=i.createElement(`div`);c.setAttribute(`data-row`,``),c.style.cssText=`display:flex;align-items:center;gap:6px;height:${a}px;overflow:hidden;`,c.appendChild(Pn(i,n[e],r[e],o));let l=i.createElement(`span`);l.setAttribute(`data-caption`,``),l.style.cssText=`flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;`,l.textContent=n[e],c.appendChild(l),s.appendChild(c)}if(n.length>5){let e=i.createElement(`div`);e.setAttribute(`data-more`,``),e.style.cssText=`opacity:0.6;text-align:center;`,e.textContent=`+${n.length-5} more`,s.appendChild(e)}return s}function Ln(e){let n=Tn(e,`--surface-4`,`#333333`),r=Tn(e,`--surface-4-text`,`#ffffff`),i=Tn(e,`--border-subtle`,`#555555`),a=Tn(e,`--accent`,`#4da3ff`),o=Tn(e,`--radius-m`,`8`);return{bg:n,fg:r,subtle:i,accent:a,radius:Number.parseFloat(o)||8,font:En(e)}}function Rn(e,n,r){let i=Math.max(1,Math.min(3,typeof devicePixelRatio==`number`&&devicePixelRatio>0?devicePixelRatio:1)),a=wn/Math.max(1,n),o=wn/Math.max(1,r);return i=Math.min(i,a,o),e.width=Math.max(1,Math.round(n*i)),e.height=Math.max(1,Math.round(r*i)),e.style.width=`${n}px`,e.style.height=`${r}px`,{scale:i,dpr:i}}function zn(e,n,r,i,a,o){let s=Math.max(0,Math.min(o,i/2,a/2));if(typeof e.roundRect==`function`){e.beginPath(),e.roundRect(n,r,i,a,s);return}e.beginPath(),e.moveTo(n+s,r),e.arcTo(n+i,r,n+i,r+a,s),e.arcTo(n+i,r+a,n,r+a,s),e.arcTo(n,r+a,n,r,s),e.arcTo(n,r,n+i,r,s),e.closePath()}function Bn(e,n,r,i,a,o,s,c){e.save(),e.scale(n,n),zn(e,0,0,s,c,r.radius),e.fillStyle=r.bg,e.fill(),e.strokeStyle=r.subtle,e.lineWidth=1,e.stroke(),e.clip();let l=Math.round(o*.72);e.font=r.font,e.textBaseline=`middle`;for(let n=0;n<i.length;n++){let s=8+n*(o+6),c=s+(o-l)/2;zn(e,c,8,l,l,4),e.fillStyle=r.subtle,e.globalAlpha=.35,e.fill(),e.globalAlpha=1;let u=a[n];if(u)try{e.save(),e.clip(),e.drawImage(u,c,8,l,l),e.restore()}catch{}else e.fillStyle=r.fg,e.globalAlpha=.9,e.font=`600 ${Math.round(l*.4)}px system-ui, sans-serif`,e.textAlign=`center`,e.fillText(On(i[n]),c+l/2,8+l/2+1),e.globalAlpha=1,e.textAlign=`left`,e.font=r.font;e.fillStyle=r.fg,e.globalAlpha=.9,e.font=r.font;let d=i[n].length>12?`${i[n].slice(0,11)}…`:i[n],f=e.measureText(d).width;e.fillText(d,s+(o-Math.min(o,f))/2,8+l+10,o),e.globalAlpha=1}e.restore()}function Vn(e,n,r,i,a,o,s,c){e.save(),e.scale(n,n),zn(e,0,0,s,c,r.radius),e.fillStyle=r.bg,e.fill(),e.strokeStyle=r.subtle,e.lineWidth=1,e.stroke(),e.clip(),e.fillStyle=r.fg,e.font=`600 ${r.font}`,e.textBaseline=`middle`,e.fillText(`${i.length} items`,8,16,s-16),e.strokeStyle=r.subtle,e.beginPath(),e.moveTo(8,28),e.lineTo(s-8,28),e.stroke();let l=Math.round(o*.78),u=Math.min(5,i.length);e.font=r.font;for(let n=0;n<u;n++){let c=32+n*o;zn(e,8,c+(o-l)/2,l,l,4),e.fillStyle=r.subtle,e.globalAlpha=.35,e.fill(),e.globalAlpha=1;let u=a[n];if(u)try{e.save(),e.clip(),e.drawImage(u,8,c+(o-l)/2,l,l),e.restore()}catch{}else e.fillStyle=r.fg,e.font=`600 ${Math.round(l*.45)}px system-ui, sans-serif`,e.textAlign=`center`,e.fillText(On(i[n]),8+l/2,c+o/2+1),e.textAlign=`left`,e.font=r.font;e.fillStyle=r.fg,e.globalAlpha=.92;let d=s-16-l-6;e.fillText(i[n],8+l+6,c+o/2+1,Math.max(8,d)),e.globalAlpha=1}i.length>5&&(e.fillStyle=r.fg,e.globalAlpha=.6,e.textAlign=`center`,e.fillText(`+${i.length-5} more`,s/2,c-8-6,s-16),e.textAlign=`left`,e.globalAlpha=1),e.restore()}function Hn(e){let n=e;if(n.source===`tree-list`)return Cn(n,Dn);let r=n.selected,i=r.map(e=>Dn(e)),a=r.map(e=>An(e,n.resolveDragPreviewSource)),o=r.length<=5,s,c,l;if(o){let e=Mn(n.metrics);c=r.length*e+Math.max(0,r.length-1)*6+16,l=Math.round(e*.72)+22+16,s=Fn(n,i,a)}else{let e=Nn(n.metrics),o=Math.min(5,r.length),u=r.length>5?18:0;c=236,l=40+o*e+u,s=In(n,i,a)}let u;try{let e=document.createElement(`canvas`),r=e.getContext(`2d`);if(r){let{scale:s}=Rn(e,c,l),d=Ln(n.hostStyle);o?Bn(r,s,d,i,a,Mn(n.metrics),c,l):Vn(r,s,d,i,a,Nn(n.metrics),c,l),u=e}}catch{u=void 0}return{element:s,hotspot:{x:16,y:16},...u?{canvas:u}:{},dispose:()=>{}}}const Un=[`mouse`,`pen`];var Wn=class{#e;#t;#n;#r;#i=0;#a=0;#o=0;#s=0;#c=0;#l=0;#u={shiftKey:!1,ctrlKey:!1,metaKey:!1};#d=!1;#f=!1;#p=new Set;#m=`replace`;#h=new Set;#g=new Set;#_=0;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#d||this.#f}get isActive(){return this.#d}hostConnected(){this.#y(),window.addEventListener(`pointermove`,this.#T),window.addEventListener(`pointerup`,this.#k),window.addEventListener(`pointercancel`,this.#A)}hostDisconnected(){this.#b(),window.removeEventListener(`pointermove`,this.#T),window.removeEventListener(`pointerup`,this.#k),window.removeEventListener(`pointercancel`,this.#A),this.#N(),this.#P()}hostUpdated(){(this.#v()??this.#e)!==this.#n&&this.#y()}#v(){try{return this.#t.getSurface()}catch{return}}#y(){let e=this.#v()??this.#e;e!==this.#n&&(this.#b(),this.#n=e,e.addEventListener(`pointerdown`,this.#C))}#b(){this.#n?.removeEventListener(`pointerdown`,this.#C),this.#n=void 0}#x(){return this.#t.pointerTypes??Un}#S(){return this.#t.threshold??4}#C=e=>{if(e.button!==0||!this.#x().includes(e.pointerType))return;let n=!1;try{n=this.#t.isEnabled()}catch{return}if(!n)return;let r=e.target;if(r instanceof Element&&typeof r.closest==`function`&&r.closest(`input,button,a,select,textarea,[contenteditable]`))return;if(this.#t.shouldStart)try{if(!this.#t.shouldStart(e))return}catch{return}let i=(this.#v()??this.#e).getBoundingClientRect();this.#r=e.pointerId,this.#i=e.clientX,this.#a=e.clientY,this.#c=e.clientX,this.#l=e.clientY,this.#o=Math.min(Math.max(e.clientX-i.left,0),Math.max(0,i.width)),this.#s=Math.min(Math.max(e.clientY-i.top,0),Math.max(0,i.height)),this.#d=!1,this.#f=!1,this.#p=new Set,this.#m=`replace`,this.#g=new Set,this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey}};#w(e){return e.metaKey||e.ctrlKey?`invert`:e.shiftKey?`add`:`replace`}#T=e=>{if(this.#r===void 0||e.pointerId!==this.#r)return;this.#c=e.clientX,this.#l=e.clientY,this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey};let n=Math.hypot(e.clientX-this.#i,e.clientY-this.#a);if(!this.#d){if(n<this.#S())return;this.#d=!0;try{this.#p=new Set(this.#t.getBaseSelection())}catch{this.#p=new Set}let r=this.#v()??this.#e;try{typeof r.setPointerCapture==`function`&&r.setPointerCapture(e.pointerId)}catch{}}try{e.preventDefault?.()}catch{}this.#O(),this.#j()};#E(){let e=this.#v()??this.#e;try{return e.getBoundingClientRect()}catch{return}}#D(){let e=this.#E();if(!e)return;let n=Math.min(Math.max(this.#c-e.left,0),Math.max(0,e.width)),r=Math.min(Math.max(this.#l-e.top,0),Math.max(0,e.height));return{x:Math.min(this.#o,n),y:Math.min(this.#s,r),width:Math.abs(n-this.#o),height:Math.abs(r-this.#s)}}#O(){let e=this.#D();if(!e)return;let n=[];try{n=this.#t.hitTest(e)}catch{n=[]}let r=this.#w(this.#u);this.#m=r;let i=new Set(n),a;if(r===`add`)a=new Set([...this.#p,...i]);else if(r===`invert`){let e=new Set(this.#p);for(let n of i)e.has(n)?e.delete(n):e.add(n);a=e}else a=i;this.#h=a,this.#g=i;try{this.#t.onPreview(a,e)}catch{}}#k=e=>{if(this.#r===void 0||e.pointerId!==this.#r)return;this.#u={shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey};let n=this.#d,r=this.#v()??this.#e;try{typeof r.hasPointerCapture==`function`&&typeof r.releasePointerCapture==`function`&&r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId)}catch{}if(this.#N(),this.#r=void 0,!n){this.#P();return}this.#d=!1;let i=this.#h;try{this.#t.onCommit(i,{additive:this.#m!==`replace`,covered:this.#g,mode:this.#m===`invert`?`toggle`:this.#m})}catch{}try{this.#t.onPreview(new Set,void 0)}catch{}this.#h=new Set,this.#f=!0,window.setTimeout(()=>{this.#f=!1},0)};#A=e=>{if(this.#r!==void 0&&e.pointerId===this.#r){this.#N(),this.#r=void 0,this.#d=!1,this.#h=new Set;try{this.#t.onPreview(new Set,void 0)}catch{}this.#f=!1}};#j(){!this.#t.autoScroll||this.#_!==0||(this.#_=requestAnimationFrame(this.#M))}#M=()=>{if(this.#_=0,!this.#d||this.#r===void 0)return;let e=this.#E();if(!e)return;let n=this.#c-e.left,r=this.#l-e.top,i=0,a=0;if(n<28?i=-Math.ceil(16*(1-Math.max(0,n)/28)):n>e.width-28&&(i=Math.ceil(16*(1-Math.max(0,e.width-n)/28))),r<28?a=-Math.ceil(16*(1-Math.max(0,r)/28)):r>e.height-28&&(a=Math.ceil(16*(1-Math.max(0,e.height-r)/28))),i===0&&a===0)return;let o=this.#t.autoScroll;if(o){try{o(i,a)}catch{}this.#O(),this.#_=requestAnimationFrame(this.#M)}};#N(){this.#_!==0&&(cancelAnimationFrame(this.#_),this.#_=0)}#P(){this.#d=!1,this.#f=!1,this.#p=new Set,this.#m=`replace`,this.#h=new Set,this.#g=new Set}};const Gn=200;function Kn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}const qn=r`
|
|
2494
2494
|
@keyframes ixfx-list-item-in {
|
|
2495
2495
|
from { opacity: 0; }
|
|
2496
2496
|
to { opacity: 1; }
|
|
@@ -2499,7 +2499,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
2499
2499
|
from { opacity: 1; }
|
|
2500
2500
|
to { opacity: 0; }
|
|
2501
2501
|
}
|
|
2502
|
-
`;function Jn(e,n){let r=e.getBoundingClientRect();return n===`inline`?r.width:r.height}function Yn(e,n){if(n!==void 0)return n;let r=getComputedStyle(e).getPropertyValue(`--ixfx-list-item-move-duration`).trim();if(r){let e=Number.parseFloat(r);if(!Number.isNaN(e))return r.endsWith(`ms`)?e:r.endsWith(`s`)?e*1e3:e}return 200}function Xn(e){let n=e===`inline`?`width`:`height`,r=e===`inline`?`minWidth`:`minHeight`;return{[n]:`0px`,[r]:`0px`,opacity:0,overflow:`hidden`}}function Zn(e,n){let r=n===`inline`?`width`:`height`,i=n===`inline`?`minWidth`:`minHeight`;return{[r]:`${e}px`,[i]:`0px`,opacity:1,overflow:`hidden`}}function Qn(e,n={}){if(Kn())return;let{axis:r=`block`,easing:i=`ease`}=n,a=Yn(e,n.duration),o=Jn(e,r);if(!(o<=0))return e.animate([Xn(r),Zn(o,r)],{duration:a,easing:i})}function $n(e,n){return Object.assign(e,{animation:n})}function er(e,n={}){if(Kn())return;let{axis:r=`block`,easing:i=`ease`}=n,a=Yn(e,n.duration),o=Jn(e,r);if(!(o<=0))return e.animate([Zn(o,r),Xn(r)],{duration:a,easing:i,fill:`forwards`})}function tr(e,n={}){let r=er(e,n);return r?$n(r.finished.then(()=>void 0,()=>void 0),r):$n(Promise.resolve(),void 0)}var nr=class{#e;#t;#n=!1;#r;#i=!1;#a=new WeakSet;#o;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#n}get draggableAttr(){try{return this.#t.isEnabled()?`true`:`false`}catch{return`false`}}refreshDraggable(){try{this.#t.syncLightDomDraggable?.()}catch{}}hostConnected(){this.#c(),this.#o??=new MutationObserver(()=>this.refreshDraggable());try{this.#o.observe(this.#e,{childList:!0,subtree:!0})}catch{}this.refreshDraggable()}hostUpdated(){this.#c()}hostDisconnected(){this.#l();try{this.#o?.disconnect()}catch{}this.#n=!1}#s(){return this.#e.renderRoot??this.#e}#c(){let e=this.#s();e!==this.#r&&(this.#l(),this.#r=e,e.addEventListener(`dragstart`,this.#u,{capture:!0}),e.addEventListener(`dragend`,this.#d,{capture:!0})),this.#i||(this.#i=!0,this.#e.addEventListener(`dragstart`,this.#u,{capture:!0}),this.#e.addEventListener(`dragend`,this.#d,{capture:!0}))}#l(){this.#r?.removeEventListener(`dragstart`,this.#u,{capture:!0}),this.#r?.removeEventListener(`dragend`,this.#d,{capture:!0}),this.#r=void 0,this.#i&&(this.#i=!1,this.#e.removeEventListener(`dragstart`,this.#u,{capture:!0}),this.#e.removeEventListener(`dragend`,this.#d,{capture:!0}))}#u=e=>{if(!(e instanceof DragEvent)||this.#a.has(e))return;if(this.#t.shouldStart){let n=!0;try{n=this.#t.shouldStart(e)}catch{n=!1}if(!n){try{e.preventDefault()}catch{}return}}let n=!1;try{n=this.#t.isEnabled()}catch{return}if(!n)return;let r;try{r=this.#t.resolveEventToKey(e.target)}catch{return}if(r&&this.#a.add(e),!r)return;let i;try{i=this.#t.prepareSelection(r)}catch{return}if(!i||i.selected.length===0)return;let{origin:a,selected:o}=i,s;try{s=getComputedStyle(this.#e)}catch{s=document.createElement(`div`).style}let c={};try{c=this.#t.getMetrics()??{}}catch{c={}}let l;try{l=this.#t.getDragPreviewSourceResolver?.()}catch{l=void 0}let u={source:this.#t.source,origin:a,selected:o,metrics:c,hostStyle:s,...l?{resolveDragPreviewSource:l}:{}},d;try{d=this.#t.getRenderer()}catch{d=void 0}let f;try{f=d?d(u):Hn(u)}catch{f=Hn(u)}try{document.body.appendChild(f.element)}catch{}let p={key:a.key,index:a.index,item:a.item,selectedKeys:o.map(e=>e.key),selected:o,preview:f},m=!0;try{m=this.#t.dispatch(p)}catch{m=!0}if(m){if(e.dataTransfer){try{(e.dataTransfer.effectAllowed===`none`||e.dataTransfer.effectAllowed===`uninitialized`)&&(e.dataTransfer.effectAllowed=`copyMove`)}catch{}try{this.#t.writeDataTransfer?.(e.dataTransfer,p)}catch{}}let n=f.hotspot??{x:16,y:16};try{e.dataTransfer?.setDragImage(f.element,n.x,n.y)}catch{}this.#n=!0;try{this.#t.onActiveChange(!0,a.key)}catch{}}else try{e.preventDefault()}catch{}requestAnimationFrame(()=>{try{f.element.remove()}catch{}try{f.dispose?.()}catch{}})};#d=()=>{if(this.#n){this.#n=!1;try{this.#t.onActiveChange(!1)}catch{}try{this.#t.onEnd()}catch{}}}};const rr=2e3,k=new Set,ir=new Map;function ar(e,n){if(e.size===0)return{present:[],missing:e};let r=[],i=new Set;for(let a of e)n(a)?r.push(a):i.add(a);return{present:r,missing:r.length===0?e:i}}function or(e,n){if(e.size===0)return{present:[],missing:e};let r=[],i=new Map;for(let[a,o]of e)n(a)?r.push([a,o]):i.set(a,o);return{present:r,missing:r.length===0?e:i}}function sr(e,n=rr){return e.size<=n?e:new Set([...e].slice(e.size-n))}function cr(e,n=rr){return e.size<=n?e:new Map([...e].slice(e.size-n))}function lr(e,n){if(!e.has(n))return e;let r=new Map(e);return r.delete(n),r}function ur(e){if(!e)return ir;let n=new Map;for(let[r,i]of Object.entries(e))typeof i==`boolean`&&n.set(r,i);return n}function dr(...e){let n={};for(let r of e)for(let[e,i]of r)n[e]=i;return n}function fr(...e){let n=new Set;for(let r of e)for(let e of r)n.add(e);return[...n]}function pr(e,n=!0){return[...e].map(e=>[e,n])}function mr(e){return{ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,pointerType:e.pointerType}}function hr(e){return e===`checked`||e===`sticky`||e===`vscode`||e===`standard`}var gr=class{#e;#t=new Set;#n;#r=k;constructor(e){this.#e=e}get selected(){return this.#t}get selectedKeys(){let e=this.#e.getKey,n=new Set;if(e)for(let r of this.#t){let i=e(r);i!==void 0&&n.add(i)}return n}get anchor(){return this.#n}canSelectAll(){return this.canSelectMultiple()&&this.#e.getModes().selectionMode!==`none`}canSelectMultiple(){let{selectionMode:e,interactionMode:n}=this.#e.getModes();return e===`multiple`||hr(n)}replace(e){this.#e.getModes().selectionMode!==`none`&&this.#e.isSelectable(e)&&(this.#n=e,this.#h(new Set([e])))}toggle(e){let{selectionMode:n,interactionMode:r}=this.#e.getModes();if(!this.#e.isSelectable(e)||n===`none`&&r!==`checked`&&r!==`sticky`)return;let i=new Set(this.#t);if(i.has(e))i.delete(e);else{if(this.canSelectMultiple()||i.clear(),this.#f()){let n=this.#p(e);for(let e of[...i])this.#p(e)!==n&&i.delete(e)}i.add(e)}this.#h(i)}rangeTo(e){if(this.#e.getModes().selectionMode===`none`)return;let n=this.#i(e);if(n===void 0){this.replace(e);return}this.#h(new Set(n))}#i(e){if(this.#n===void 0)return;let n=this.#e.getOrderedItems(),r=n.indexOf(this.#n),i=n.indexOf(e);if(r===-1||i===-1)return;let a=n,o=r,s=i;if(this.#f()){let r=this.#p(this.#n);if(r!==this.#p(e)||(a=n.filter(e=>this.#p(e)===r),o=a.indexOf(this.#n),s=a.indexOf(e),o===-1||s===-1))return}return a.slice(Math.min(o,s),Math.max(o,s)+1).filter(e=>this.#e.isSelectable(e))}clear(){this.#r=k,this.#t.size!==0&&this.#h(new Set)}selectAll(e=`api`){if(this.#d({kind:`all`,keys:[],source:e}))return;let n=this.#e.getOrderedItems();if(n.length===0)return;if(this.#f()){let e=(this.#n===void 0?null:this.#p(this.#n))??this.#e.getFallbackGroupKey?.()??null;e!==null&&(n=n.filter(n=>this.#p(n)===e))}let r=new Set(n.filter(e=>this.#e.isSelectable(e)));r.size!==0&&this.#h(r)}selectMany(e){let{selectionMode:n}=this.#e.getModes();if(n!==`multiple`)throw Error(`selectMany requires selectionMode="multiple" (current: "${n}")`);let r=this.#m(new Set([...e].filter(e=>this.#e.isSelectable(e))));r.size!==0&&(this.#n=[...r].at(-1),this.#h(r))}canDragSelect(){return this.#e.getModes().selectionMode!==`none`&&this.#a()}applyDragSelection(e,n){if(!this.canDragSelect())return;let r=[...e],i=n?[...n.covered].filter(e=>this.#e.isSelectable(e)):r;if(this.#d({kind:`marquee`,keys:this.#u(i),additive:n?.additive??!1,source:`pointer`})){this.#n=r.at(-1)??this.#n;return}let a=this.#m(new Set(r.filter(e=>this.#e.isSelectable(e))));(a.size!==0||this.#t.size!==0)&&(this.#n=[...a].at(-1),this.#h(a))}deselect(e){if(!this.#t.has(e))return;let n=new Set(this.#t);n.delete(e),this.#h(n)}#a(){let{selectionMode:e,interactionMode:n}=this.#e.getModes();return e===`multiple`||n===`checked`||n===`sticky`||n===`vscode`}selectKeys(e,n){if(this.#e.getModes().selectionMode===`none`)return;let r=new Set,i=new Set;for(let a of new Set(e)){let e=n(a);e===void 0?i.add(a):this.#e.isSelectable(e)&&r.add(e)}let a=i;this.#a()||(r.size>0?(r=new Set([...r].slice(-1)),a=k):a=new Set([...i].slice(-1))),this.#n=[...r].at(-1),this.#r=sr(a),this.#h(r,!0)}addKeys(e,n){if(!this.#a())return;let r=new Set(this.#t),i=new Set(this.#r),a=!1;for(let o of new Set(e)){let e=n(o);e===void 0?i.add(o):!r.has(e)&&this.#e.isSelectable(e)&&(r.add(e),a=!0)}a&&this.#h(r,!0),this.#r=sr(i)}removeKeys(e,n){let r=new Set(e);if(this.#r.size>0&&(this.#r=new Set([...this.#r].filter(e=>!r.has(e)))),this.#t.size===0)return;let i=new Set(this.#t),a=!1;for(let e of r){let r=n(e);r!==void 0&&i.delete(r)&&(a=!0)}a&&this.#h(i,!0)}get pendingKeys(){return this.#r}restoreKeys(e,n){let{present:r,missing:i}=ar(new Set(e),e=>this.#o(e,n)!==void 0),a=new Set;if(this.#e.getModes().selectionMode!==`none`)for(let e of r)a.add(this.#o(e,n));!this.#a()&&a.size>1&&(a=new Set([...a].slice(-1))),this.#n=[...a].at(-1),this.#r=sr(i),(a.size!==0||this.#t.size!==0)&&this.#h(a,!0)}resolvePending(e){if(this.#r.size===0||this.#e.getModes().selectionMode===`none`)return!1;let{present:n,missing:r}=ar(this.#r,n=>this.#o(n,e)!==void 0);if(n.length===0)return!1;let i=n.map(n=>this.#o(n,e)),a;return this.#a()?(a=new Set([...this.#t,...i]),this.#r=r):(a=new Set([i.at(-1)]),this.#r=k),this.#n??=i.at(-1),this.#h(a,!0),!0}demote(e){let n=this.#e.getKey,r=new Set(this.#t),i=new Set(this.#r),a=!1;for(let o of e){if(!r.delete(o))continue;a=!0;let e=n?.(o);e!==void 0&&i.add(e),this.#n===o&&(this.#n=void 0)}return a?(this.#t=r,this.#r=sr(i),!0):!1}clearPending(){this.#r=k}#o(e,n){let r=n(e);return r!==void 0&&this.#e.isSelectable(r)?r:void 0}handleClick(e,n){let{selectionMode:r,interactionMode:i}=this.#e.getModes();if(r===`none`&&i!==`checked`&&i!==`sticky`)return;let a=n.pointerType===`touch`,o=n.ctrlKey||n.metaKey,s=r===`multiple`||i===`vscode`;switch(i){case`implicit`:this.#s(e,`pointer`);break;case`manual`:o?this.#c(e,`pointer`):n.shiftKey?this.#l(e,`pointer`):this.#s(e,`pointer`);break;case`standard`:case`vscode`:o?s&&this.#c(e,`pointer`):n.shiftKey&&s?this.#l(e,`pointer`):this.#s(e,`pointer`);break;case`checked`:break;case`sticky`:this.#c(e,a?`touch`:`pointer`)}}handleSpace(e){this.#e.getModes().interactionMode===`implicit`?this.#s(e,`keyboard`):this.#c(e,`keyboard`)}handleCheckbox(e,n=`pointer`){this.#c(e,n)}handleReplace(e,n=`pointer`){this.#s(e,n)}handleExtend(e){this.#l(e,`keyboard`)}handleClear(e=`keyboard`,n=!1){this.#d({kind:`clear`,keys:[],source:e})||n&&this.#e.getModes().interactionMode===`manual`||this.clear()}#s(e,n){if(this.#e.getModes().selectionMode!==`none`&&this.#e.isSelectable(e)){if(this.#d({kind:`replace`,keys:this.#u([e]),source:n})){this.#n=e;return}this.#e.getModes().interactionMode!==`manual`&&this.replace(e)}}#c(e,n){this.#e.isSelectable(e)&&(this.#d({kind:`toggle`,keys:this.#u([e]),source:n})||this.#e.getModes().interactionMode!==`manual`&&this.toggle(e))}#l(e,n){if(this.#e.getModes().selectionMode===`none`)return;let r=this.#n===void 0?void 0:this.#i(e),i=this.#n===void 0?void 0:this.#e.getKey?.(this.#n),a=this.#e.getKey?.(e);if(this.#d({kind:`extend`,keys:this.#u(r??[e]),...i===void 0?{}:{anchorKey:i},...a===void 0?{}:{targetKey:a},source:n})){this.#n===void 0&&(this.#n=e);return}this.#e.getModes().interactionMode!==`manual`&&this.rangeTo(e)}#u(e){let n=this.#e.getKey;if(!n)return[];let r=[];for(let i of e){let e=n(i);e!==void 0&&r.push(e)}return r}#d(e){return this.#e.onIntent?.(e)??!1}clearAnchor(){this.#n=void 0}remap(e){this.#t.size!==0&&(this.#t=new Set([...this.#t].map(e)))}reset(){this.demote([...this.#t]),this.#t=new Set,this.#n=void 0}seed(e,n){this.#t=new Set(e),this.#n=n}#f(){return this.#e.getGroupKey!==void 0&&!(this.#e.crossGroupSelection?.()??!1)}#p(e){return this.#e.getGroupKey?.(e)??null}#m(e){if(!this.#f()||e.size===0)return new Set(e);let n=this.#e.getOrderedItems().find(n=>e.has(n))??[...e][0],r=this.#p(n);return new Set([...e].filter(e=>this.#p(e)===r))}#h(e,n=!1){n||(this.#r=k);let r=this.#t;this.#t=e,this.#e.onChange(e,r)}};const _r=`Partially selected`;function vr(e,n,r){return!r&&e!==void 0&&n.has(e)}function yr(e,n){if(e.size!==n.size)return!1;for(let r of e)if(!n.has(r))return!1;return!0}function br(e,n){e.toggleAttribute(`data-partial`,n),n?e.hasAttribute(`aria-description`)||e.setAttribute(`aria-description`,_r):e.getAttribute(`aria-description`)===_r&&e.removeAttribute(`aria-description`)}const xr=`data-scroll-hover-suppress`;function Sr(e){let{host:n,enabled:r,onResume:i}=e,a=!1,o=NaN,s=NaN,c=()=>{a&&(a=!1,n.toggleAttribute(xr,!1))};return{suppressed:()=>a,onScroll:()=>{a||!r()||(a=!0,n.toggleAttribute(xr,!0))},onPointerMove:e=>{let n=!Number.isNaN(o)&&(e.clientX!==o||e.clientY!==s);o=e.clientX,s=e.clientY,!(!n||!a)&&(c(),i?.(e.clientX,e.clientY))},onPointerLeave:c,end:c}}var Cr=class{constructor(e,n,r){this.handleKeyDown=e=>{if(this.disableKeyboardNavigation())return;let{key:n}=e;switch([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Enter`,`Escape`].includes(n)&&this.tickled.setInputMode(`keyboard`),n){case`ArrowDown`:e.preventDefault(),this.#e();break;case`ArrowUp`:e.preventDefault(),this.#t();break;case`ArrowRight`:e.preventDefault(),this.#n();break;case`ArrowLeft`:e.preventDefault(),this.#r();break;case`Enter`:e.preventDefault(),this.#i();break;case`Escape`:e.preventDefault(),this.callbacks.onEscape?.()}},this.host=e,this.tickled=n,this.callbacks=r.callbacks,this.disableKeyboardNavigation=r.disableKeyboardNavigation??(()=>!1),e.addController(this)}hostConnected(){}hostDisconnected(){}#e(){this.tickled.handleKeyboardNavigation(`next`)}#t(){this.tickled.handleKeyboardNavigation(`previous`)}#n(){let e=this.tickled.tickledId;if(e&&!this.callbacks.isLeaf(e)){if(!this.callbacks.isExpanded(e))this.callbacks.onExpand(e),this.tickled.setTickled(e);else{let n=this.callbacks.getItems(),r=n.findIndex(n=>n.id===e);if(r!==-1&&r+1<n.length){let e=n[r+1];e.enabled!==!1&&this.tickled.setTickled(e.id)}}}}#r(){let e=this.tickled.tickledId;if(e){if(this.callbacks.isLeaf(e)){let n=this.callbacks.getParentId?.(e);n&&(this.tickled.setTickled(n),this.callbacks.isExpanded(n)&&this.callbacks.onCollapse(n))}else if(this.callbacks.isExpanded(e))this.callbacks.onCollapse(e);else{let n=this.callbacks.getParentId?.(e);n&&this.tickled.setTickled(n)}}}#i(){let e=this.tickled.tickledId;e&&(this.callbacks.onActivate(e),this.callbacks.onSelect?.(e))}};function wr(e){let n=`scroll-fade-${e}`,i=`--${n}-start`,a=`--${n}-end`,o=`--${n}-timeline`,s=`${n}-fade`,l=e===`x`?`to right`:`to bottom`;return r`
|
|
2502
|
+
`;function Jn(e,n){let r=e.getBoundingClientRect();return n===`inline`?r.width:r.height}function Yn(e,n){if(n!==void 0)return n;let r=getComputedStyle(e).getPropertyValue(`--ixfx-list-item-move-duration`).trim();if(r){let e=Number.parseFloat(r);if(!Number.isNaN(e))return r.endsWith(`ms`)?e:r.endsWith(`s`)?e*1e3:e}return 200}function Xn(e){let n=e===`inline`?`width`:`height`,r=e===`inline`?`minWidth`:`minHeight`;return{[n]:`0px`,[r]:`0px`,opacity:0,overflow:`hidden`}}function Zn(e,n){let r=n===`inline`?`width`:`height`,i=n===`inline`?`minWidth`:`minHeight`;return{[r]:`${e}px`,[i]:`0px`,opacity:1,overflow:`hidden`}}function Qn(e,n={}){if(Kn())return;let{axis:r=`block`,easing:i=`ease`}=n,a=Yn(e,n.duration),o=Jn(e,r);if(!(o<=0))return e.animate([Xn(r),Zn(o,r)],{duration:a,easing:i})}function $n(e,n){return Object.assign(e,{animation:n})}function er(e,n={}){if(Kn())return;let{axis:r=`block`,easing:i=`ease`}=n,a=Yn(e,n.duration),o=Jn(e,r);if(!(o<=0))return e.animate([Zn(o,r),Xn(r)],{duration:a,easing:i,fill:`forwards`})}function tr(e,n={}){let r=er(e,n);return r?$n(r.finished.then(()=>void 0,()=>void 0),r):$n(Promise.resolve(),void 0)}var nr=class{#e;#t;#n=!1;#r;#i=!1;#a=new WeakSet;#o;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#n}get draggableAttr(){try{return this.#t.isEnabled()?`true`:`false`}catch{return`false`}}refreshDraggable(){try{this.#t.syncLightDomDraggable?.()}catch{}}hostConnected(){this.#c(),this.#o??=new MutationObserver(()=>this.refreshDraggable());try{this.#o.observe(this.#e,{childList:!0,subtree:!0})}catch{}this.refreshDraggable()}hostUpdated(){this.#c()}hostDisconnected(){this.#l();try{this.#o?.disconnect()}catch{}this.#n=!1}#s(){return this.#e.renderRoot??this.#e}#c(){let e=this.#s();e!==this.#r&&(this.#l(),this.#r=e,e.addEventListener(`dragstart`,this.#u,{capture:!0}),e.addEventListener(`dragend`,this.#d,{capture:!0})),this.#i||(this.#i=!0,this.#e.addEventListener(`dragstart`,this.#u,{capture:!0}),this.#e.addEventListener(`dragend`,this.#d,{capture:!0}))}#l(){this.#r?.removeEventListener(`dragstart`,this.#u,{capture:!0}),this.#r?.removeEventListener(`dragend`,this.#d,{capture:!0}),this.#r=void 0,this.#i&&(this.#i=!1,this.#e.removeEventListener(`dragstart`,this.#u,{capture:!0}),this.#e.removeEventListener(`dragend`,this.#d,{capture:!0}))}#u=e=>{if(!(e instanceof DragEvent)||this.#a.has(e))return;if(this.#t.shouldStart){let n=!0;try{n=this.#t.shouldStart(e)}catch{n=!1}if(!n){try{e.preventDefault()}catch{}return}}let n=!1;try{n=this.#t.isEnabled()}catch{return}if(!n)return;let r;try{r=this.#t.resolveEventToKey(e.target)}catch{return}if(r&&this.#a.add(e),!r)return;let i;try{i=this.#t.prepareSelection(r)}catch{return}if(!i||i.selected.length===0)return;let{origin:a,selected:o}=i,s;try{s=getComputedStyle(this.#e)}catch{s=document.createElement(`div`).style}let c={};try{c=this.#t.getMetrics()??{}}catch{c={}}let l;try{l=this.#t.getDragPreviewSourceResolver?.()}catch{l=void 0}let u={source:this.#t.source,origin:a,selected:o,metrics:c,hostStyle:s,...l?{resolveDragPreviewSource:l}:{}},d;try{d=this.#t.getRenderer()}catch{d=void 0}let f;try{f=d?d(u):Hn(u)}catch{f=Hn(u)}try{document.body.appendChild(f.element)}catch{}let p={key:a.key,index:a.index,item:a.item,selectedKeys:o.map(e=>e.key),selected:o,preview:f},m=!0;try{m=this.#t.dispatch(p)}catch{m=!0}if(m){if(e.dataTransfer){try{(e.dataTransfer.effectAllowed===`none`||e.dataTransfer.effectAllowed===`uninitialized`)&&(e.dataTransfer.effectAllowed=`copyMove`)}catch{}try{this.#t.writeDataTransfer?.(e.dataTransfer,p)}catch{}}let n=f.hotspot??{x:16,y:16};try{e.dataTransfer?.setDragImage(f.element,n.x,n.y)}catch{}this.#n=!0;try{this.#t.onActiveChange(!0,a.key)}catch{}}else try{e.preventDefault()}catch{}requestAnimationFrame(()=>{try{f.element.remove()}catch{}try{f.dispose?.()}catch{}})};#d=()=>{if(this.#n){this.#n=!1;try{this.#t.onActiveChange(!1)}catch{}try{this.#t.onEnd()}catch{}}}};const rr=2e3,k=new Set,ir=new Map;function ar(e,n){if(e.size===0)return{present:[],missing:e};let r=[],i=new Set;for(let a of e)n(a)?r.push(a):i.add(a);return{present:r,missing:r.length===0?e:i}}function or(e,n){if(e.size===0)return{present:[],missing:e};let r=[],i=new Map;for(let[a,o]of e)n(a)?r.push([a,o]):i.set(a,o);return{present:r,missing:r.length===0?e:i}}function sr(e,n=rr){return e.size<=n?e:new Set([...e].slice(e.size-n))}function cr(e,n=rr){return e.size<=n?e:new Map([...e].slice(e.size-n))}function lr(e,n){if(!e.has(n))return e;let r=new Map(e);return r.delete(n),r}function ur(e){if(!e)return ir;let n=new Map;for(let[r,i]of Object.entries(e))typeof i==`boolean`&&n.set(r,i);return n}function dr(...e){let n={};for(let r of e)for(let[e,i]of r)n[e]=i;return n}function fr(...e){let n=new Set;for(let r of e)for(let e of r)n.add(e);return[...n]}function pr(e,n=!0){return[...e].map(e=>[e,n])}function mr(e){return{ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,pointerType:e.pointerType}}function hr(e){return e===`checked`||e===`sticky`||e===`vscode`||e===`standard`}var gr=class{#e;#t=new Set;#n;#r=k;constructor(e){this.#e=e}get selected(){return this.#t}get selectedKeys(){let e=this.#e.getKey,n=new Set;if(e)for(let r of this.#t){let i=e(r);i!==void 0&&n.add(i)}return n}get anchor(){return this.#n}canSelectAll(){return this.canSelectMultiple()&&this.#e.getModes().selectionMode!==`none`}canSelectMultiple(){let{selectionMode:e,interactionMode:n}=this.#e.getModes();return e===`multiple`||hr(n)}replace(e){this.#e.getModes().selectionMode!==`none`&&this.#e.isSelectable(e)&&(this.#n=e,this.#h(new Set([e])))}toggle(e){let{selectionMode:n,interactionMode:r}=this.#e.getModes();if(!this.#e.isSelectable(e)||n===`none`&&r!==`checked`&&r!==`sticky`)return;let i=new Set(this.#t);if(i.has(e))i.delete(e);else{if(this.canSelectMultiple()||i.clear(),this.#f()){let n=this.#p(e);for(let e of[...i])this.#p(e)!==n&&i.delete(e)}i.add(e)}this.#h(i)}rangeTo(e){if(this.#e.getModes().selectionMode===`none`)return;let n=this.#i(e);if(n===void 0){this.replace(e);return}this.#h(new Set(n))}#i(e){if(this.#n===void 0)return;let n=this.#e.getOrderedItems(),r=n.indexOf(this.#n),i=n.indexOf(e);if(r===-1||i===-1)return;let a=n,o=r,s=i;if(this.#f()){let r=this.#p(this.#n);if(r!==this.#p(e)||(a=n.filter(e=>this.#p(e)===r),o=a.indexOf(this.#n),s=a.indexOf(e),o===-1||s===-1))return}return a.slice(Math.min(o,s),Math.max(o,s)+1).filter(e=>this.#e.isSelectable(e))}clear(){this.#r=k,this.#t.size!==0&&this.#h(new Set)}selectAll(e=`api`){let n=this.#e.getOrderedItems(),r=null;if(this.#f()&&(r=(this.#n===void 0?null:this.#p(this.#n))??this.#e.getFallbackGroupKey?.()??null,r!==null&&(n=n.filter(e=>this.#p(e)===r))),this.#d({kind:`all`,keys:[],...r===null?{}:{groupKey:r},source:e}))return;let i=new Set(n.filter(e=>this.#e.isSelectable(e)));i.size!==0&&this.#h(i)}selectMany(e){let{selectionMode:n}=this.#e.getModes();if(n!==`multiple`)throw Error(`selectMany requires selectionMode="multiple" (current: "${n}")`);let r=this.#m(new Set([...e].filter(e=>this.#e.isSelectable(e))));r.size!==0&&(this.#n=[...r].at(-1),this.#h(r))}canDragSelect(){return this.#e.getModes().selectionMode!==`none`&&this.#a()}applyDragSelection(e,n){if(!this.canDragSelect())return;let r=[...e],i=n?[...n.covered].filter(e=>this.#e.isSelectable(e)):r,a=n?.mode??(n?.additive?`toggle`:`replace`);if(this.#d({kind:`marquee`,keys:this.#u(i),additive:a!==`replace`,mode:a,source:`pointer`})){this.#n=r.at(-1)??this.#n;return}let o=this.#m(new Set(r.filter(e=>this.#e.isSelectable(e))));(o.size!==0||this.#t.size!==0)&&(this.#n=[...o].at(-1),this.#h(o))}deselect(e){if(!this.#t.has(e))return;let n=new Set(this.#t);n.delete(e),this.#h(n)}#a(){let{selectionMode:e,interactionMode:n}=this.#e.getModes();return e===`multiple`||n===`checked`||n===`sticky`||n===`vscode`}selectKeys(e,n){if(this.#e.getModes().selectionMode===`none`)return;let r=new Set,i=new Set;for(let a of new Set(e)){let e=n(a);e===void 0?i.add(a):this.#e.isSelectable(e)&&r.add(e)}let a=i;this.#a()||(r.size>0?(r=new Set([...r].slice(-1)),a=k):a=new Set([...i].slice(-1))),this.#n=[...r].at(-1),this.#r=sr(a),this.#h(r,!0)}addKeys(e,n){if(!this.#a())return;let r=new Set(this.#t),i=new Set(this.#r),a=!1;for(let o of new Set(e)){let e=n(o);e===void 0?i.add(o):!r.has(e)&&this.#e.isSelectable(e)&&(r.add(e),a=!0)}a&&this.#h(r,!0),this.#r=sr(i)}removeKeys(e,n){let r=new Set(e);if(this.#r.size>0&&(this.#r=new Set([...this.#r].filter(e=>!r.has(e)))),this.#t.size===0)return;let i=new Set(this.#t),a=!1;for(let e of r){let r=n(e);r!==void 0&&i.delete(r)&&(a=!0)}a&&this.#h(i,!0)}get pendingKeys(){return this.#r}restoreKeys(e,n){let{present:r,missing:i}=ar(new Set(e),e=>this.#o(e,n)!==void 0),a=new Set;if(this.#e.getModes().selectionMode!==`none`)for(let e of r)a.add(this.#o(e,n));!this.#a()&&a.size>1&&(a=new Set([...a].slice(-1))),this.#n=[...a].at(-1),this.#r=sr(i),(a.size!==0||this.#t.size!==0)&&this.#h(a,!0)}resolvePending(e){if(this.#r.size===0||this.#e.getModes().selectionMode===`none`)return!1;let{present:n,missing:r}=ar(this.#r,n=>this.#o(n,e)!==void 0);if(n.length===0)return!1;let i=n.map(n=>this.#o(n,e)),a;return this.#a()?(a=new Set([...this.#t,...i]),this.#r=r):(a=new Set([i.at(-1)]),this.#r=k),this.#n??=i.at(-1),this.#h(a,!0),!0}demote(e){let n=this.#e.getKey,r=new Set(this.#t),i=new Set(this.#r),a=!1;for(let o of e){if(!r.delete(o))continue;a=!0;let e=n?.(o);e!==void 0&&i.add(e),this.#n===o&&(this.#n=void 0)}return a?(this.#t=r,this.#r=sr(i),!0):!1}clearPending(){this.#r=k}#o(e,n){let r=n(e);return r!==void 0&&this.#e.isSelectable(r)?r:void 0}handleClick(e,n){let{selectionMode:r,interactionMode:i}=this.#e.getModes();if(r===`none`&&i!==`checked`&&i!==`sticky`)return;let a=n.pointerType===`touch`,o=n.ctrlKey||n.metaKey,s=r===`multiple`||i===`vscode`;switch(i){case`implicit`:this.#s(e,`pointer`);break;case`manual`:o?this.#c(e,`pointer`):n.shiftKey?this.#l(e,`pointer`):this.#s(e,`pointer`);break;case`standard`:case`vscode`:o?s&&this.#c(e,`pointer`):n.shiftKey&&s?this.#l(e,`pointer`):this.#s(e,`pointer`);break;case`checked`:break;case`sticky`:this.#c(e,a?`touch`:`pointer`)}}handleSpace(e){this.#e.getModes().interactionMode===`implicit`?this.#s(e,`keyboard`):this.#c(e,`keyboard`)}handleCheckbox(e,n=`pointer`){this.#c(e,n)}handleReplace(e,n=`pointer`){this.#s(e,n)}handleExtend(e){this.#l(e,`keyboard`)}handleClear(e=`keyboard`,n=!1){this.#d({kind:`clear`,keys:[],source:e})||n&&this.#e.getModes().interactionMode===`manual`||this.clear()}#s(e,n){if(this.#e.getModes().selectionMode!==`none`&&this.#e.isSelectable(e)){if(this.#d({kind:`replace`,keys:this.#u([e]),source:n})){this.#n=e;return}this.#e.getModes().interactionMode!==`manual`&&this.replace(e)}}#c(e,n){this.#e.isSelectable(e)&&(this.#d({kind:`toggle`,keys:this.#u([e]),source:n})||this.#e.getModes().interactionMode!==`manual`&&this.toggle(e))}#l(e,n){if(this.#e.getModes().selectionMode===`none`)return;let r=this.#n===void 0?void 0:this.#i(e),i=this.#n===void 0?void 0:this.#e.getKey?.(this.#n),a=this.#e.getKey?.(e);if(this.#d({kind:`extend`,keys:this.#u(r??[e]),...i===void 0?{}:{anchorKey:i},...a===void 0?{}:{targetKey:a},source:n})){this.#n===void 0&&(this.#n=e);return}this.#e.getModes().interactionMode!==`manual`&&this.rangeTo(e)}#u(e){let n=this.#e.getKey;if(!n)return[];let r=[];for(let i of e){let e=n(i);e!==void 0&&r.push(e)}return r}#d(e){return this.#e.onIntent?.(e)??!1}clearAnchor(){this.#n=void 0}remap(e){this.#t.size!==0&&(this.#t=new Set([...this.#t].map(e)))}reset(){this.demote([...this.#t]),this.#t=new Set,this.#n=void 0}seed(e,n){this.#t=new Set(e),this.#n=n}#f(){return this.#e.getGroupKey!==void 0&&!(this.#e.crossGroupSelection?.()??!1)}#p(e){return this.#e.getGroupKey?.(e)??null}#m(e){if(!this.#f()||e.size===0)return new Set(e);let n=this.#e.getOrderedItems().find(n=>e.has(n))??[...e][0],r=this.#p(n);return new Set([...e].filter(e=>this.#p(e)===r))}#h(e,n=!1){n||(this.#r=k);let r=this.#t;this.#t=e,this.#e.onChange(e,r)}};const _r=`Partially selected`;function vr(e,n,r){return!r&&e!==void 0&&n.has(e)}function yr(e,n){if(e.size!==n.size)return!1;for(let r of e)if(!n.has(r))return!1;return!0}function br(e,n){e.toggleAttribute(`data-partial`,n),n?e.hasAttribute(`aria-description`)||e.setAttribute(`aria-description`,_r):e.getAttribute(`aria-description`)===_r&&e.removeAttribute(`aria-description`)}const xr=`data-scroll-hover-suppress`;function Sr(e){let{host:n,enabled:r,onResume:i}=e,a=!1,o=NaN,s=NaN,c=()=>{a&&(a=!1,n.toggleAttribute(xr,!1))};return{suppressed:()=>a,onScroll:()=>{a||!r()||(a=!0,n.toggleAttribute(xr,!0))},onPointerMove:e=>{let n=!Number.isNaN(o)&&(e.clientX!==o||e.clientY!==s);o=e.clientX,s=e.clientY,!(!n||!a)&&(c(),i?.(e.clientX,e.clientY))},onPointerLeave:c,end:c}}var Cr=class{constructor(e,n,r){this.handleKeyDown=e=>{if(this.disableKeyboardNavigation())return;let{key:n}=e;switch([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Enter`,`Escape`].includes(n)&&this.tickled.setInputMode(`keyboard`),n){case`ArrowDown`:e.preventDefault(),this.#e();break;case`ArrowUp`:e.preventDefault(),this.#t();break;case`ArrowRight`:e.preventDefault(),this.#n();break;case`ArrowLeft`:e.preventDefault(),this.#r();break;case`Enter`:e.preventDefault(),this.#i();break;case`Escape`:e.preventDefault(),this.callbacks.onEscape?.()}},this.host=e,this.tickled=n,this.callbacks=r.callbacks,this.disableKeyboardNavigation=r.disableKeyboardNavigation??(()=>!1),e.addController(this)}hostConnected(){}hostDisconnected(){}#e(){this.tickled.handleKeyboardNavigation(`next`)}#t(){this.tickled.handleKeyboardNavigation(`previous`)}#n(){let e=this.tickled.tickledId;if(e&&!this.callbacks.isLeaf(e)){if(!this.callbacks.isExpanded(e))this.callbacks.onExpand(e),this.tickled.setTickled(e);else{let n=this.callbacks.getItems(),r=n.findIndex(n=>n.id===e);if(r!==-1&&r+1<n.length){let e=n[r+1];e.enabled!==!1&&this.tickled.setTickled(e.id)}}}}#r(){let e=this.tickled.tickledId;if(e){if(this.callbacks.isLeaf(e)){let n=this.callbacks.getParentId?.(e);n&&(this.tickled.setTickled(n),this.callbacks.isExpanded(n)&&this.callbacks.onCollapse(n))}else if(this.callbacks.isExpanded(e))this.callbacks.onCollapse(e);else{let n=this.callbacks.getParentId?.(e);n&&this.tickled.setTickled(n)}}}#i(){let e=this.tickled.tickledId;e&&(this.callbacks.onActivate(e),this.callbacks.onSelect?.(e))}};function wr(e){let n=`scroll-fade-${e}`,i=`--${n}-start`,a=`--${n}-end`,o=`--${n}-timeline`,s=`${n}-fade`,l=e===`x`?`to right`:`to bottom`;return r`
|
|
2503
2503
|
@property ${c(i)} {
|
|
2504
2504
|
syntax: '<length>';
|
|
2505
2505
|
inherits: false;
|
|
@@ -3426,7 +3426,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
3426
3426
|
`):a},zc=(e,n=0)=>{let r=` `.repeat(n)+` ${e.value?.name}`;if(e.value!==void 0){if(`sourceValue`in e.value&&`leafValue`in e.value){let n=$o(e.value.sourceValue,20),i=$o(e.value.leafValue,20);n=n===i?``:`source: `+n,r+=` = ${i} ${n}`}else`sourceValue`in e.value&&e.value.sourceValue!==void 0&&(r+=` = ${e.value.sourceValue}`);`ancestors`in e.value&&(r+=` (ancestors: ${e.value.ancestors.join(`, `)})`)}r+=`
|
|
3427
3427
|
`;for(let i of e.childrenStore)r+=zc(i,n+1);return r};function*Bc(e,n={}){A(ai(e,`node`));let r=n.filter??`none`,i=e=>r===`none`?[!0,es(e)]:r===`leaves`&&es(e)?[!0,!0]:r===`branches`&&!es(e)?[!0,!1]:[!1,es(e)];if(Array.isArray(e))for(let[n,r]of e.entries()){let e=i(r);e[0]&&(yield{name:n.toString(),_kind:`entry`,sourceValue:r,leafValue:e[1]?r:void 0})}else if(typeof e==`object`){let n=`entries`in e?e.entries():Object.entries(e);for(let[e,r]of n){let[n,a]=i(r);n&&(yield{name:e,_kind:`entry`,sourceValue:r,leafValue:a?r:void 0})}}}function*Vc(e,n={},r=[]){for(let i of Bc(e,n))yield{...i,ancestors:[...r],_kind:`entry-ancestors`},yield*Vc(i.sourceValue,n,[...r,i.name])}function Hc(e,n){for(let r of Bc(n))if(r.name===e)return r}function Uc(e,n,r={}){let i=Es(Wc(e,n,r));if(!i)throw Error(`Could not trace path: ${e} `);return i}function*Wc(e,n,r={}){A(ai(e,`path`),ai(n,`node`));let i=r.separator??`.`,a=e.split(i),o=[];for(let e of a){let r=Hc(e,n);if(!r){yield{name:e,sourceValue:void 0,leafValue:void 0,ancestors:o,_kind:`entry-ancestors`};return}n=r.sourceValue,yield{...r,ancestors:[...o],_kind:`entry-ancestors`},o.push(e)}}const Gc=(e,n={},r=[],i)=>{let a=n.name??`object`,o={*children(){for(let{name:i,sourceValue:s,leafValue:c}of Bc(e,n))yield Gc(s,{...n,name:i},[...r,a],o)},getParent(){return i},getValue(){return{name:a,sourceValue:e,ancestors:r,_kind:`entry-static`}},getIdentity(){return e}};return o},Kc=(e,n)=>Qs(qc(e,n)),qc=(e,n={})=>Jc(e,(n.valuesAtLeaves??!1?e=>{if(es(e))return e}:e=>e)(e),n,[]),Jc=(e,n,r={},i)=>{let a=r.name??`object_ci`,o=Tc({name:a,sourceValue:n,ancestors:[...i],_kind:`entry-static`});i=[...i,a];for(let n of Bc(e,r)){let e=r.valuesAtLeaves?n.leafValue:n.sourceValue;Cc(Jc(n.sourceValue,e,{...r,name:n.name},i),o)}return o},Yc=(e,n={})=>Ys(qc(e,n));function Xc(e,n=``){return`name`in e&&`leafValue`in e&&`sourceValue`in e?{name:e.name,_kind:`entry`,leafValue:e.leafValue,sourceValue:e.sourceValue}:`name`in e?{name:e.name,leafValue:e,sourceValue:e,_kind:`entry`}:{name:n,leafValue:e,sourceValue:e,_kind:`entry`}}function Zc(e){return`value`in e}function Qc(e){return`values`in e&&Array.isArray(e.values)}var $c=Zo({Pathed:()=>el,addValueByPath:()=>tl,children:()=>sl,childrenLengthByPath:()=>ol,clearValuesByPath:()=>al,findAnyChildByValue:()=>pl,hasValue:()=>ml,parent:()=>ul,parentValues:()=>dl,removeValueByPath:()=>il,siblings:()=>cl,siblingsValues:()=>ll,toStringDeep:()=>bl,valueByPath:()=>hl,valuesByPath:()=>vl}),el=class{#e;#t;constructor(e={}){this.#t={separator:`.`,startsWithSeparator:!1,duplicates:`overwrite`,...e}}add(e,n){Yr(this.validate(n));let r=tl(e,n,this.#t,this.#e);this.#e===void 0&&(this.#e=hc(r))}validate(e){return this.#t.startsWithSeparator&&!e.startsWith(this.#t.separator)?{success:!1,error:`Path must start with separator when 'startsWithSeparator' is enabled. Got: ${e}`}:{success:!0,value:e}}prettyPrint(){return this.#e===void 0?`(empty)`:Pc(this.#e)}remove(e){return Yr(this.validate(e)),this.#e!==void 0&&il(e,this.#e,this.#t)}hasPath(e){return Yr(this.validate(e)),this.#e!==void 0&&_l(e,this.#e,this.#t)!==void 0}getNode(e){if(Yr(this.validate(e)),this.#e!==void 0)return _l(e,this.#e,this.#t)}getValue(e){if(Yr(this.validate(e)),this.#e!==void 0)return hl(e,this.#e,this.#t)}getPath(e,n){if(this.#e===void 0)return``;let r=[];n&&e.value&&r.push(e.value?.label);for(let n of dl(e))r.unshift(n.label);let i=r.join(this.#t.separator);return this.#t.startsWithSeparator&&(i.startsWith(this.#t.separator)||(i=this.#t.separator+i),!i.endsWith(this.#t.separator)&&(e.childrenStore.length>0||!n)&&(i+=this.#t.separator)),i}childrenLength(e){if(Yr(this.validate(e)),this.#e===void 0)return NaN;let n=_l(e,this.#e,this.#t);return n===void 0?NaN:n.childrenStore.length}getValues(e){if(Yr(this.validate(e)),this.#e!==void 0)return vl(e,this.#e,this.#t)}clearValues(e){return Yr(this.validate(e)),this.#e!==void 0&&al(e,this.#e,this.#t)}*children(e){Yr(this.validate(e)),this.#e!==void 0&&(yield*sl(e,this.#e,this.#t))}*siblings(e){Yr(this.validate(e)),this.#e!==void 0&&(yield*cl(e,this.#e,this.#t))}*siblingsValues(e){Yr(this.validate(e)),this.#e!==void 0&&(yield*ll(e,this.#e,this.#t))}parent(e){if(Yr(this.validate(e)),this.#e!==void 0)return ul(e,this.#e,this.#t)}get separator(){return this.#t.separator}get root(){return this.#e}};function tl(e,n,r,i){let a=r.separator,o=r.duplicates,s=n.split(a),c=0;for(let n of s){let r=c===s.length-1,a=fl(n,i);if(a===void 0)i=Oc({value:r?e:void 0,label:n},i);else if(i=a,r)switch(o){case`ignore`:break;case`allow`:{let r=gl(i);i.value={values:[...r,e],label:n};break}case`overwrite`:i.value={value:e,label:n};break}else i=a;c++}if(i===void 0)throw Error(`Could not create tree`);return i}function nl(e){return e.value===void 0?!0:`values`in e.value?e.value.values.length===0:`value`in e.value?e.value.value===void 0:!0}function rl(e){if(e.childrenStore.length>0||!nl(e))return;let n=e.parent;n&&($s(e),rl(n))}function il(e,n,r){if(n===void 0)return!1;let i=_l(e,n,r);return i!==void 0&&(i.value=void 0,rl(i),!0)}function al(e,n,r){if(n===void 0)return!1;let i=_l(e,n,r);return i!==void 0&&(i.value={label:i.value?.label??``,value:void 0},!0)}function ol(e,n,r){if(n===void 0)return NaN;let i=_l(e,n,r);return i===void 0?NaN:i.childrenStore.length}function*sl(e,n,r){if(n===void 0)return;let i=_l(e,n,r);if(i!==void 0)for(let e of i.childrenStore)yield e}function*cl(e,n,r){if(n===void 0)return;let i=_l(e,n,r);if(i===void 0)return;let a=i.parent;if(a!==void 0){for(let e of a.childrenStore)if(e!==i){if(e===void 0)throw TypeError(`Unexpected undefined child node`);yield e}}}function*ll(e,n,r){for(let i of cl(e,n,r))i.value!==void 0&&(yield i.value)}function ul(e,n,r){if(n===void 0)return;let i=_l(e,n,r);if(i!==void 0)return i.parent}function*dl(e){for(let n of cc(e))n.value!==void 0&&(yield n.value)}function fl(e,n){if(n!==void 0){if(e===void 0)throw Error(`Parameter 'label' cannot be undefined`);if(n.value?.label===e)return n;for(let r of n.childrenStore)if(r.value?.label===e)return r}}function pl(e,n,r=2**53-1,i=Wo){if(n===void 0)throw TypeError(`Param 'node' is undefined`);if(!(r<=0)){if(e===void 0)throw Error(`Param 'value' cannot be undefined`);for(let r of n.childrenStore)if(ml(e,r,i))return r;for(let a of n.childrenStore){let n=pl(e,a,r-1,i);if(n!==void 0)return n}}}function ml(e,n,r=Uo){if(n.value===void 0)return!1;if(Zc(n.value)){if(r(n.value.value,e))return!0}else if(Qc(n.value)){for(let i of n.value.values)if(r(i,e))return!0}return!1}function hl(e,n,r={}){let i=vl(e,n,r);if(i!==void 0&&i.length!==0){if(i.length>1)throw Error(`Multiple values at path. Use getValues instead`);return i[0]}}function gl(e){return e.value===void 0?[]:`values`in e.value?e.value.values:`value`in e.value?e.value.value===void 0?[]:[e.value.value]:[]}function _l(e,n,r){e.endsWith(r.separator)&&r.startsWithSeparator&&(e=e.slice(0,-r.separator.length));let i=e.split(r.separator),a=n;for(let e of i)if(a=fl(e,a),a===void 0)return;return a}function vl(e,n,r={}){let i=r.separator??`.`,a=e.split(i),o=n;for(let e of a)if(o=fl(e,o),o===void 0)return;return gl(o)}function yl(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?`"${e}"`:typeof e==`number`||typeof e==`boolean`?String(e):Array.isArray(e)?e.length===0?`[]`:`[ ${e.map(yl).join(`, `)} ]`:typeof e==`object`?`{ ${Object.entries(e).map(([e,n])=>`${e}: ${yl(n)}`).join(`, `)} }`:String(e)}function bl(e){let n=e.value?.label??`?`,r=e.value===void 0?void 0:`values`in e.value?e.value.values:`value`in e.value?e.value.value:void 0,i=e.childrenStore.map(e=>bl(e)),a=i.length===0?`[]`:`[ ${i.join(`, `)} ]`;return`{ label: "${n}", value: ${yl(r)}, children: ${a} }`}var xl=Zo({breadthFirst:()=>zl,childrenLength:()=>Sl,couldAddChild:()=>kl,depthFirst:()=>Rl,find:()=>Bl,findAnyChildByValue:()=>Il,findAnyParentByValue:()=>Tl,findByValue:()=>Vl,findChildByValue:()=>Ll,findParentByValue:()=>Ol,followValue:()=>Hl,hasAnyChild:()=>Al,hasAnyChildValue:()=>jl,hasAnyParent:()=>Cl,hasAnyParentValue:()=>wl,hasChild:()=>Ml,hasChildValue:()=>Nl,hasParent:()=>El,hasParentValue:()=>Dl,parents:()=>Fl,siblings:()=>Pl,toString:()=>Wl,toStringDeep:()=>Ul});const Sl=e=>[...e.children()].length,Cl=(e,n,r)=>El(e,n,r,2**53-1),wl=(e,n,r)=>{if(e===void 0)throw TypeError(`Param 'child' is undefined`);return Dl(e,n,r,2**53-1)},Tl=(e,n,r)=>Ol(e,n,r,2**53-1),El=(e,n,r=Uo,i=0)=>{if(i<0)return!1;let a=Xu(e),o=Xu(n),s=a?e.getParent():e.parent;return s===void 0?!1:r(s,n)||r(a?s.getIdentity():s.value,o?n.getIdentity():n.value)?!0:El(s,n,r,i-1)},Dl=(e,n,r=Uo,i=0)=>{if(e===void 0)throw Error(`Param 'child' is undefined`);if(i<0)return!1;let a=`getParent`in e?e.getParent():e.parent;return a===void 0?!1:r(`getValue`in a?a.getValue():a.value,n)?!0:Dl(a,n,r,i-1)},Ol=(e,n,r=Uo,i=0)=>{if(i<0)return;let a=`getParent`in e?e.getParent():e.parent;if(a!==void 0)return r(`getValue`in a?a.getValue():a.value,n)?a:Ol(a,n,r,i-1)},kl=(e,n,r=Uo)=>{if(r(e,n))throw Error(`Child equals parent`);if(Al(e,n,r))throw Error(`Circular. Parent already has child`);if(Al(n,e,r))throw Error(`Prospective child has parent as child relation`)},Al=(e,n,r=Uo)=>Ml(e,n,r,2**53-1),jl=(e,n,r=Uo)=>Nl(e,n,r,2**53-1),Ml=(e,n,r=Uo,i=0)=>{if(i<0)return!1;if(r(e,n))return!0;let a=`getIdentity`in e?e.getIdentity():e.value,o=`getIdentity`in n?n.getIdentity():n.value;if(r(a,o))return!0;for(let a of zl(e,i)){let e=`getIdentity`in a?a.getIdentity():a.value;if(r(a,n)||r(e,o))return!0}return!1},Nl=(e,n,r=Uo,i=0)=>{if(i<0)return!1;if(r(e.getValue(),n))return!0;for(let a of zl(e,i))if(r(a.getValue(),n))return!0;return!1};function*Pl(e){let n=e.getParent();if(n!==void 0)for(let r of n.children())r!==e&&(yield r)}function*Fl(e){if(Xu(e)){let n=e.getParent();for(;n!==void 0;)yield n,n=n.getParent()}else{let n=e.parent;for(;n!==void 0;)yield n,n=n.parent}}function Il(e,n,r=Uo){return Ll(e,n,r,2**53-1)}function Ll(e,n,r=Uo,i=0){if(i<0)return;let a=Xu(e);if(a){if(r(e.getValue(),n))return e}else if(r(e.value,n))return e;for(let o of zl(e,i))if(a){if(r(o.getValue(),n))return o}else if(r(o.value,n))return o}function*Rl(e){if(!e)return;let n=new hs,r=e;for(;r;){let e=Xu(r)?[...r.children()]:[...r.childrenStore];if(n.push(...e),n.isEmpty)break;r=n.pop(),r&&(yield r)}}function*zl(e,n=2**53-1){if(!e)return;let r=(Xu(e),new Cs),i=e;for(;i;){if(n<0)return;if(i!==void 0){let e=`childrenStore`in i?i.childrenStore:i.children();for(let n of e)yield n,r.enqueue(n)}i=r.dequeue(),n--}}function Bl(e,n,r=`breadth`){if(n(e))return e;let i=r===`breadth`?zl:Rl;for(let r of i(e))if(n(r))return r}function Vl(e,n,r=`breadth`){if(n(e.getValue()))return e;let i=r===`breadth`?zl:Rl;for(let r of i(e))if(n(r.getValue()))return r}function*Hl(e,n,r=1){for(let i of e.children())n(i.getValue(),r)&&(yield i.getValue(),yield*Hl(i,n,r+1))}function Ul(e,n=0){if(e===void 0)return`(undefined)`;if(e===null)return`(null)`;let r=e.getValue(),i=typeof r;Array.isArray(r)&&(i=`array`);let a=` `.repeat(n)+`value: ${JSON.stringify(r)} (${i})\n`;for(let r of e.children())a+=Ul(r,n+1);return a}function Wl(...e){let n=``;for(let r of e){let e=r.getValue(),i=$o(e),a=[...r.children()],o=r.getParent(),s=typeof e;Array.isArray(e)&&(s=`array`),n+=`value: ${i} (${s}) kids: ${a.length} parented: ${o?`y`:`n`}\n`}return n}var Gl=Zo({addLeft:()=>hu,addRight:()=>gu,balanceFactor:()=>fu,breadthFirst:()=>Ou,createNode:()=>vu,depthFirst:()=>Du,find:()=>Cu,fromArray:()=>ku,getLeft:()=>Jl,getRight:()=>Yl,grandparent:()=>iu,hasLeft:()=>Xl,hasRight:()=>Zl,height:()=>du,inOrder:()=>wu,isLeaf:()=>Ql,isParentLeftChild:()=>au,isParentRightChild:()=>ou,leftSubtreeHeightFn:()=>pu,parentChildSide:()=>su,postOrder:()=>Eu,preOrder:()=>Tu,removeNode:()=>tu,rightSubtreeHeightFn:()=>mu,root:()=>_u,rootWrapped:()=>Su,setLeft:()=>$l,setRight:()=>eu,sibling:()=>nu,toArray:()=>Au,toStringDeep:()=>ju,uncle:()=>ru,wrap:()=>xu});const Kl=e=>e.childrenStore[0],ql=e=>e.childrenStore[1],Jl=e=>Kl(e),Yl=e=>ql(e),Xl=e=>Kl(e)!==void 0,Zl=e=>ql(e)!==void 0,Ql=e=>!Xl(e)&&!Zl(e),$l=(e,n)=>{let r=Kl(e);r&&(r.parent=void 0);let i=[...e.childrenStore];if(n===void 0&&i.length<=1){e.childrenStore=[];return}if(n===void 0){i[0]=void 0,e.childrenStore=i;return}i.length===0?i.push(n):i[0]=n,e.childrenStore=i,n.parent=e},eu=(e,n)=>{let r=ql(e);r&&(r.parent=void 0);let i=[...e.childrenStore];if(n===void 0){i.length>=2&&(i[1]=void 0,e.childrenStore=i[0]===void 0?[]:i);return}i.length===0?i.push(void 0,n):i.length===1?i.push(n):i[1]=n,e.childrenStore=i,n.parent=e},tu=e=>{let n=e.parent;n&&(n.childrenStore[0]===e?$l(n,void 0):n.childrenStore[1]===e&&eu(n,void 0))},nu=e=>{let n=e.parent;if(!n)return;let r=Kl(n),i=ql(n);if(r===e)return i;if(i===e)return r},ru=e=>{let n=e.parent;if(n)return nu(n)},iu=e=>{let n=e.parent;if(n)return n.parent},au=e=>{let n=e.parent;return n?Kl(n)===e:!1},ou=e=>{let n=e.parent;return n?ql(n)===e:!1},su=e=>e.parent?au(e)?`left`:`right`:`neutral`,cu=e=>{let n=Kl(e);return n?uu(n)+1:0},lu=e=>{let n=ql(e);return n?uu(n)+1:0},uu=e=>Math.max(cu(e),lu(e)),du=e=>uu(e),fu=e=>cu(e)-lu(e),pu=cu,mu=lu,hu=(e,n)=>{let r=Kl(n);r&&(r.parent=void 0);let i={value:e,parent:n,childrenStore:[]},a=[...n.childrenStore];return a.length===0?a.push(i):a[0]=(a.length,i),n.childrenStore=a,i},gu=(e,n)=>{let r=ql(n);r&&(r.parent=void 0);let i={value:e,parent:n,childrenStore:[]},a=[...n.childrenStore];return a.length===0?(a.push(void 0),a.push(i)):a.length===1?a.push(i):a[1]=i,n.childrenStore=a,i},_u=e=>Tc(e),vu=(e,n)=>Oc(e,n),yu=e=>`node`in e?e.node:e,bu=e=>xu(e),xu=e=>({node:e,get left(){let n=Kl(e);return n?bu(n):void 0},get right(){let n=ql(e);return n?bu(n):void 0},set left(n){$l(e,n?yu(n):void 0)},set right(n){eu(e,n?yu(n):void 0)},get parentChildSide(){return su(e)},get isParentLeftChild(){return au(e)},get isParentRightChild(){return ou(e)},get isLeaf(){return Ql(e)},get sibling(){let n=nu(e);return n?bu(n):void 0},get uncle(){let n=ru(e);return n?bu(n):void 0},get grandparent(){let n=iu(e);return n?bu(n):void 0},get leftSubtreeHeight(){return cu(e)},get rightSubtreeHeight(){return lu(e)},get height(){return du(e)},get balanceFactor(){return fu(e)},has(n){return Cu(e,n)!==void 0},addLeft(n){return bu(hu(n,e))},addRight(n){return bu(gu(n,e))},setLeft(n){$l(e,yu(n))},setRight(n){eu(e,yu(n))},remove(){tu(e)}}),Su=e=>xu(Tc(e)),Cu=(e,n)=>{for(let r of Ou(e))if(r.value===n)return r};function*wu(e){let n=Kl(e);n&&(yield*wu(n)),yield e;let r=ql(e);r&&(yield*wu(r))}function*Tu(e){yield e;let n=Kl(e);n&&(yield*Tu(n));let r=ql(e);r&&(yield*Tu(r))}function*Eu(e){let n=Kl(e);n&&(yield*Eu(n));let r=ql(e);r&&(yield*Eu(r)),yield e}function*Du(e){let n=Kl(e),r=ql(e);n&&(yield*Du(n)),r&&(yield*Du(r)),yield e}function*Ou(e){yield e;let n=[];for(n.push(...e.childrenStore.filter(e=>e!==void 0&&e.value!==void 0));n.length>0;){let e=n.shift();yield e,n.push(...e.childrenStore.filter(e=>e!==void 0&&e.value!==void 0))}}const ku=e=>{if(e.length===0)return;let n=Tc(e[0]),r=(n,i)=>{let a=2*n+1,o=2*n+2;a<e.length&&(hu(e[a],i),r(a,Kl(i))),o<e.length&&(gu(e[o],i),r(o,ql(i)))};return r(0,n),n},Au=e=>{let n=[];for(let r of Ou(e))r.value!==void 0&&n.push(r.value);return n},ju=(e,n=0)=>{let r=e.value===void 0?`-`:JSON.stringify(e.value),i=` `.repeat(n),a=Kl(e),o=ql(e),s=`${i}${r}`;return(a||o)&&(s+=`
|
|
3428
3428
|
`,a&&(s+=`${i} L: ${ju(a,n+1)}`,o&&(s+=`
|
|
3429
|
-
`)),o&&(s+=`${i} R: ${ju(o,n+1)}`)),s};var Mu=Zo({Bst:()=>Nu,create:()=>Wu,find:()=>Iu,fromArray:()=>Gu,has:()=>Fu,inOrder:()=>Bu,insert:()=>Pu,max:()=>Ru,min:()=>Lu,postOrder:()=>Hu,preOrder:()=>Vu,remove:()=>zu,root:()=>Ku,valuesInOrder:()=>Uu}),Nu=class{root;comparer;constructor(e=Jo){this.comparer=e,this.root=_u()}insert(e){return this.root=Pu(this.root,e,this.comparer),this.root}has(e){return Fu(this.root,e,this.comparer)}find(e){return Iu(this.root,e,this.comparer)}remove(e){let n=zu(this.root,e,this.comparer);return n&&(this.root=n),n!==void 0}min(){return Lu(this.root)}max(){return Ru(this.root)}inOrder(){return Bu(this.root)}preOrder(){return Vu(this.root)}postOrder(){return Hu(this.root)}valuesInOrder(){return Uu(this.root)}toArrayInOrder(){return Array.from(this.valuesInOrder())}};const Pu=(e,n,r=Jo)=>{if(e.value===void 0)return e.value=n,e;let i=e;for(;;){let e=r(n,i.value);if(e<0){let e=Jl(i);if(e)i=e;else{hu(n,i);break}}else if(e>0){let e=Yl(i);if(e)i=e;else{gu(n,i);break}}else break}return e},Fu=(e,n,r=Jo)=>Iu(e,n,r)!==void 0,Iu=(e,n,r=Jo)=>{if(!e||e.value===void 0)return;let i=r(n,e.value);if(i===0)return e;if(i<0){let i=Jl(e);return i?Iu(i,n,r):void 0}{let i=Yl(e);return i?Iu(i,n,r):void 0}},Lu=e=>{if(!e||e.value===void 0)return;let n=e;for(;Jl(n);)n=Jl(n);return n},Ru=e=>{if(!e||e.value===void 0)return;let n=e;for(;Yl(n);)n=Yl(n);return n},zu=(e,n,r=Jo)=>{if(!e||e.value===void 0)return;let i=Iu(e,n,r);if(!i)return;let a=Jl(i),o=Yl(i);if(!a&&!o)i===e?(e.value=void 0,e.childrenStore=[]):tu(i);else if(!a){if(i===e){e.value=o.value,e.childrenStore=o.childrenStore;for(let n of e.childrenStore)n&&(n.parent=e)}else{let e=i.parent;Jl(e)===i?$l(e,o):eu(e,o)}}else if(o){let e=Lu(o);i.value=e.value;let n=e.parent,r=Yl(e);Jl(n)===e?$l(n,r):eu(n,r)}else if(i===e){e.value=a.value,e.childrenStore=a.childrenStore;for(let n of e.childrenStore)n&&(n.parent=e)}else{let e=i.parent;Jl(e)===i?$l(e,a):eu(e,a)}return e};function*Bu(e){if(!e)return;let n=Jl(e);n&&(yield*Bu(n)),yield e;let r=Yl(e);r&&(yield*Bu(r))}function*Vu(e){if(!e)return;yield e;let n=Jl(e);n&&(yield*Vu(n));let r=Yl(e);r&&(yield*Vu(r))}function*Hu(e){if(!e)return;let n=Jl(e);n&&(yield*Hu(n));let r=Yl(e);r&&(yield*Hu(r)),yield e}function*Uu(e){for(let n of Bu(e))n.value!==void 0&&(yield n.value)}const Wu=e=>new Nu(e),Gu=(e,n=Jo)=>{let r=new Nu(n);for(let n of e)r.insert(n);return r},Ku=()=>_u();var qu=Zo({BinarySearchTree:()=>Mu,BinaryTree:()=>Gl,FromObject:()=>Ic,Mutable:()=>qs,Pathed:()=>$c,Traverse:()=>xl,compare:()=>Bs,isMultiValue:()=>Qc,isSingleValue:()=>Zc,isTraversable:()=>Xu,isTreeNode:()=>Yu,toTraversable:()=>Ju});const Ju=e=>{if(Xu(e))return e;if(Yu(e))return jc(e);if(typeof e==`object`)return Gc(e);throw Error(`Parameter 'node' not convertible`)},Yu=e=>!!(`parent`in e&&`childrenStore`in e&&`value`in e&&Array.isArray(e.childrenStore)),Xu=e=>`children`in e&&`getParent`in e&&`getValue`in e&&`getIdentity`in e;(class e extends as{static shared=new e;_loop;_queue;constructor(){super(),this._queue=zs.mutable(),this._loop=ts(()=>this.processQueue(),100)}enqueue(e){let n=this._queue.enqueue(e);return this._loop.runState===`idle`&&(this.fireEvent(`started`,{}),this._loop.start()),n}async processQueue(){let e=this._queue.dequeue();if(e===void 0)return this.fireEvent(`empty`,{}),!1;try{let n=await e();this.fireEvent(`progress`,{task:e,remaining:this._queue.length,result:n})}catch(n){this.fireEvent(`error`,{error:n,task:e})}return!0}clear(){this._queue.length!==0&&(this._queue.clear(),this._loop.cancel(),this.fireEvent(`empty`,{}))}get isEmpty(){return this._queue.isEmpty}get length(){return this._queue.length}get runState(){return this._loop.runState}});function Zu(e,n={}){let r=ns(e);if(!r)throw Error(`Param 'duration' not valid`);let i={clampValue:n.clampValue,wrapValue:n.wrapValue,timer:n.timer??nd()},a;return()=>(a??=td(r,i),a.elapsed)}function Qu(e,n={}){let r={...n,timer:rd()},i;return()=>(i??=td(e,r),i.elapsed)}const $u=()=>({elapsed:1,isDone:!0,reset(){},mod(e){}}),ed=()=>({elapsed:0,isDone:!1,reset(){},mod(){}}),td=(e,n={})=>{if(!Number.isFinite(e))return $u();if(Number.isNaN(e))return ed();let r=n.clampValue??!1,i=n.wrapValue??!1;if(r&&i)throw Error(`clampValue and wrapValue cannot both be enabled`);let a=1,o=n.timer??nd(),s=0,c=n=>{s=n;let o=n/(e*a);return r?o=Ti(o):i&&o>=1&&(o%=1),o};return{mod(e){a=e},get isDone(){return c(s)>=1},get elapsed(){return c(o.elapsed)},reset:()=>{o.reset()}}},nd=()=>{let e=performance.now();return{reset:()=>{e=performance.now()},get elapsed(){return performance.now()-e}}},rd=()=>{let e=0;return{reset:()=>{e=0},get peek(){return e},get elapsed(){return++e}}},id=(e,n)=>{if(typeof e!=`function`)throw Error(`Param 'fn' should be a function. Got: ${typeof e}`);let r=1;return{get elapsed(){return n.elapsed},get isDone(){return n.isDone},get runState(){return n.isDone?`idle`:`scheduled`},get startCount(){return r},get startCountTotal(){return r},compute:()=>{let r=n.elapsed;return e(r)},reset:()=>{n.reset(),r++}}};var ad=class{seenCount;storeIntermediate;resetAfterSamples;sampleLimit;id;debug;constructor(e={}){this.id=e.id??`tracker`,this.debug=e.debug??!1,this.sampleLimit=e.sampleLimit??-1,this.resetAfterSamples=e.resetAfterSamples??-1,this.storeIntermediate=e.storeIntermediate??(this.sampleLimit>-1||this.resetAfterSamples>-1),this.seenCount=0,this.debug&&console.log(`TrackerBase: sampleLimit: ${this.sampleLimit} resetAfter: ${this.resetAfterSamples} store: ${this.storeIntermediate}`)}reset(){this.seenCount=0,this.onReset()}seen(...e){this.resetAfterSamples>0&&this.seenCount>this.resetAfterSamples?this.reset():this.sampleLimit>0&&this.seenCount>this.sampleLimit*2&&(this.seenCount=this.trimStore(this.sampleLimit),this.onTrimmed(`resize`)),this.seenCount+=e.length;let n=this.filterData(e);return this.computeResults(n)}},od=class extends ad{values;constructor(e={}){super(e),this.values=[]}onTrimmed(e){}trimStore(e){return e>=this.values.length||(this.values=this.values.slice(-e)),this.values.length}onReset(){this.values=[]}filterData(e){let n=e.map(e=>`at`in e?e:{...e,at:Date.now()}),r=n.at(-1);if(this.storeIntermediate)this.values.push(...n);else switch(this.values.length){case 0:this.values.push(r);break;case 1:this.values.push(r);break;case 2:this.values[1]=r;break}return n}get last(){return this.values.length===1?this.values[0]:this.values.at(-1)}get initial(){return this.values.at(0)}get size(){return this.values.length}get elapsed(){if(this.values.length===0)throw Error(`No values seen yet`);return Date.now()-this.values[0].at}get timespan(){let e=this.initial,n=this.last;return!e||!n?NaN:n.at-e.at}},sd=class{store;gog;constructor(e){this.store=new Map,this.gog=Yo(this.store,e)}get size(){return this.store.size}has(e){return this.store.has(e)}seen(e,...n){return this.getTrackedValue(e,...n).seen(...n)}getTrackedValue(e,...n){if(e===null)throw Error(`id parameter cannot be null`);if(e===void 0)throw Error(`id parameter cannot be undefined`);return this.gog(e,n[0])}delete(e){this.store.delete(e)}reset(){this.store=new Map}*ids(){yield*this.store.keys()}*tracked(){yield*this.store.values()}*trackedByAge(){let e=[...this.store.values()];e.sort((e,n)=>{let r=e.elapsed,i=n.elapsed;return r===i?0:r>i?-1:1});for(let n of e)yield n}*valuesByAge(){for(let e of this.trackedByAge())yield e.last}*last(){for(let e of this.store.values())yield e.last}*initialValues(){for(let e of this.store.values())yield e.initial}get(e){return this.store.get(e)}};function cd(e,n,r,i){if(fi(e)){if(typeof n==`number`&&r!==void 0)A(j(n,`positive`,`width`),j(r,`positive`,`height`));else{if(!La(n))throw Error(`Expected second parameter to be a rect`);r=n.height,n=n.width}return Object.freeze({x:e.x/n,y:e.y/r})}if(A(j(e,`positive`,`x`)),typeof n!=`number`)throw TypeError(`Expecting second parameter to be a number (width)`);if(typeof r!=`number`)throw TypeError(`Expecting third parameter to be a number (height)`);if(A(j(n,`positive`,`y`)),A(j(r,`positive`,`width`)),i===void 0)throw Error(`Expected height parameter`);return A(j(i,`positive`,`height`)),Object.freeze({x:e/r,y:n/i})}function ld(e,n,r,i,a,o){let[s,c]=ea(e,n,r,i,a,o);if(M(s,`a`),M(c,`b`),c.x===0)throw TypeError(`Cannot divide by zero (b.x is 0)`);if(c.y===0)throw TypeError(`Cannot divide by zero (b.y is 0)`);let l={x:s.x/c.x,y:s.y/c.y};if(N(s)||N(c)){if(c.z===0)throw TypeError(`Cannot divide by zero (b.z is 0)`);l.z=(s.z??0)/(c.z??0)}return Object.freeze(l)}function ud(e,n,r){let i=ta(e,n,r);return di(i,`divisor`),(e,n,r)=>{let a=ta(e,n,r);return a.z===void 0?Object.freeze({x:a.x/i.x,y:a.y/i.y}):Object.freeze({x:a.x/i.x,y:a.y/i.y,z:a.z/(i.z??1)})}}function dd(e){if(N(e))return Object.freeze({...e,x:Math.abs(e.x),y:Math.abs(e.y),z:Math.abs(e.z)});if(fi(e))return Object.freeze({...e,x:Math.abs(e.x),y:Math.abs(e.y)});throw TypeError(`Param 'pt' is not a point`)}function fd(e,n){return M(e,`pt`),N(e)?Object.freeze({...e,x:n(e.x,`x`),y:n(e.y,`y`),z:n(e.z,`z`)}):Object.freeze({...e,x:n(e.x,`x`),y:n(e.y,`y`)})}const pd=(...e)=>{if(!Array.isArray(e))throw Error(`Expected list of points`);let n=e.reduce((e,n)=>{if(n===void 0)return e;if(Array.isArray(n))throw TypeError(`'points' list contains an array. Did you mean: centroid(...myPoints)?`);if(!fi(n))throw Error(`'points' contains something which is not a point: ${JSON.stringify(n)}`);return{x:e.x+n.x,y:e.y+n.y}},{x:0,y:0});return Object.freeze({x:n.x/e.length,y:n.y/e.length})};function md(e,n=0,r=1){return N(e)?Object.freeze({x:Ti(e.x,n,r),y:Ti(e.y,n,r),z:Ti(e.z,n,r)}):Object.freeze({x:Ti(e.x,n,r),y:Ti(e.y,n,r)})}const hd=(...e)=>{let n=[...e].sort(Io);if(n.length===1)return n;let r=e=>{let n=[];for(let r of e){for(;n.length>=2;){let e=n.at(-1),i=n.at(-2);if((e.x-i.x)*(r.y-i.y)>=(e.y-i.y)*(r.x-i.x))n.pop();else break}n.push(r)}return n.pop(),n},i=r(n),a=r(n.reverse());return i.length===1&&a.length===1&&Mo(a[0],i[0])?i:[...i,...a]},gd=(e,n)=>{if(Ra(n))return ss(n,e);if(Eo(n))return ko(n,e);if(fi(n))return na(e,n);throw Error(`Unknown shape`)},_d=(e,n)=>{if(Ra(n))return ss(n,e);if(Eo(n))return ko(n,e);if(fi(n))return na(e,n);throw Error(`Unknown shape`)},vd=e=>[e.x,e.y],yd=(...e)=>wi(e.map(e=>vd(e)));function bd(e,n){return e.x*n.y-e.y*n.x}function xd(e,n,r,i){return e*i-n*r}function Sd(e,n,r){if(Array.isArray(e)){if(e.length===3)return Object.freeze({x:e[0],y:e[1],z:e[2]});if(e.length===2)return Object.freeze({x:e[0],y:e[1]});throw Error(`Expected array of length two or three, got ${e.length}`)}if(e===void 0)throw Error(`Requires an array of [x,y] or x,y parameters at least`);if(Number.isNaN(e))throw Error(`x is NaN`);if(n===void 0)throw Error(`Param 'y' is missing`);if(Number.isNaN(n))throw Error(`y is NaN`);return Object.freeze(r===void 0?{x:e,y:n}:{x:e,y:n,z:r})}const Cd=e=>{if(typeof e!=`string`)throw TypeError(`Param 'str' ought to be a string. Got: ${typeof e}`);let n=e.indexOf(`,`),r=Number.parseFloat(e.substring(0,n)),i=e.indexOf(`,`,n+1);return i>0?{x:r,y:Number.parseFloat(e.substring(n+1,i-n+2)),z:Number.parseFloat(e.substring(i+1))}:{x:r,y:Number.parseFloat(e.substring(n+1))}},wd=(...e)=>{let n=[];if(Array.isArray(e[0]))for(let r of e){if(r.length%2!=0)throw Error(`coords array should be even-numbered`);n.push(Object.freeze({x:r[0],y:r[1]}))}else{if(e.length%2!=0)throw Error(`Expected even number of elements: [x,y,x,y...]`);for(let r=0;r<e.length;r+=2)n.push(Object.freeze({x:e[r],y:e[r+1]}))}return n};function Td(e,n,r,i=!1){return ja(e,n,r,i)}const Ed=(e,n,r=!1)=>Ma({a:e,b:n},r),Dd=(e,n=`both`)=>{switch(n){case`both`:return N(e)?Object.freeze({...e,x:e.x*-1,y:e.y*-1,z:e.z*-1}):Object.freeze({...e,x:e.x*-1,y:e.y*-1});case`x`:return Object.freeze({...e,x:e.x*-1});case`y`:return Object.freeze({...e,y:e.y*-1});case`z`:if(N(e))return Object.freeze({...e,z:e.z*-1});throw Error(`pt parameter is missing z`);default:throw Error(`Unknown what parameter. Expecting 'both', 'x' or 'y'`)}},Od=(e,n=1,r=0)=>{let i=na(e),a=1;return i>n?a=n/i:i<r&&(a=r/i),a===1?e:Ao(e,a,a)},kd=(...e)=>Ca((e,n)=>e.x<=n.x?e:n,...e),Ad=(...e)=>Ca((e,n)=>e.x>=n.x?e:n,...e),jd=(e,n)=>{if(fi(e)&&(n=e.y,e=e.x),n===void 0)throw Error(`Expected y`);return Math.hypot(e,n)},Md=(e,n)=>{let r=ta(e,n),i=jd(r);return i===0?da:Object.freeze({...r,x:r.x/i,y:r.y/i})},Nd=(e,...n)=>Pd(...n)(e),Pd=(...e)=>n=>e.reduce((e,n)=>n(e),n),Fd=Object.freeze({x:0,y:0}),Id=Math.PI*2,Ld=Math.PI;function Rd(e,n=``,r=Fd){e=ia(e,r);let i=Math.atan2(e.y,e.x);return n===`unipolar`&&i<0?i+=Id:n===`bipolar`&&(i>Ld?i-=Id:i<=-Ld&&(i+=Id)),Object.freeze({distance:na(e),angleRadian:i})}function zd(e){return ia(e.b,e.a)}function Bd(e){return A(Oa(e,`line`)),Rd(ia(e.b,e.a))}const Vd=(e,n)=>{let r=ta(e,n),i=0,a=0,o=0,s=performance.now(),c=r;return(e,n)=>{let l=ta(e,n);i+=l.x,a+=l.y,o++;let u=na(l,r),d=na(l,c),f=performance.now(),p=d/(f-s);return s=f,c=l,Object.freeze({angle:va(l,r),distanceFromStart:u,distanceFromLast:d,speed:p,centroid:pd(l,r),average:{x:i/o,y:a/o}})}},Hd=Object.freeze({x:NaN,y:NaN}),Ud=Object.freeze({x:NaN,y:NaN,z:NaN});var Wd=class extends od{initialRelation;markRelation;lastResult;constructor(e={}){super(e)}onTrimmed(e){this.initialRelation=void 0}onReset(){super.onReset(),this.lastResult=void 0,this.initialRelation=void 0,this.markRelation=void 0}mark(){this.markRelation=Vd(this.last)}computeResults(e){let n=this.last,r=this.values.at(-2);if(this.initialRelation===void 0&&this.initial)this.initialRelation=Vd(this.initial);else if(this.initialRelation===void 0)throw Error(`Bug: No initialRelation, and this.inital is undefined?`);let i=Vd(r===void 0?n:r),a=this.initialRelation(n),o=this.markRelation===void 0?void 0:this.markRelation(n),s=r===void 0?0:Aa(r,n,!0)/(n.at-r.at),c={fromInitial:a,fromLast:{...i(n),speed:s},fromMark:o,values:[...this.values]};return this.lastResult=c,c}get line(){return this.values.length===1?[]:cs(...this.values)}get vectorPolar(){return Bd(this.lineStartEnd)}get vectorCartesian(){return zd(this.lineStartEnd)}get lineStartEnd(){let e=this.initial;return this.values.length<2||!e?sf:{a:e,b:this.last}}distanceFromStart(e=!1){let n=this.initial;return this.values.length>=2&&n!==void 0?e?ra(n,this.last):na(n,this.last):0}speedFromStart(e=!1){let n=this.lengthTotal(e),r=this.timespan;return Number.isNaN(r)||n===0?0:Math.abs(n)/r}speedFromLast(e=!1){let n=this.lastResult;return n?n.fromLast.speed:0}difference(){let e=this.initial;return this.values.length>=2&&e!==void 0?ia(this.last,e):Hd}angleFromStart(){let e=this.initial;if(e!==void 0&&this.values.length>2)return va(e,this.last)}lengthTotal(e=!1){if(this.values.length===1)return 0;let n=this.line;return Aa(n,e)}lengthAverage(e=!1){return this.lengthTotal(e)/this.values.length}get x(){return this.last.x}get y(){return this.last.y}get z(){return this.last.z}},Gd=class extends sd{constructor(e={}){super((n,r)=>{if(r===void 0)throw Error(`Requires start point`);let i=new Wd({...e,id:n});return i.seen(r),i})}get(e){return super.get(e)}},Kd=class extends Wd{seenEvent(e){if(`getCoalescedEvents`in e){let n=e.getCoalescedEvents().map(e=>({x:e.clientX,y:e.clientY}));return this.seen(...n)}return this.seen({x:e.clientX,y:e.clientY})}},qd=class extends sd{constructor(e={}){super((n,r)=>{if(r===void 0)throw Error(`Requires start point`);let i=new Kd({...e,id:n});return i.seen(r),i})}get(e){return super.get(e)}seenEvent(e){if(`getCoalescedEvents`in e){let n=e.getCoalescedEvents().map(e=>super.seen(e.pointerId.toString(),e));return Promise.all(n)}return Promise.all([super.seen(e.pointerId.toString(),e)])}};const Jd=(e,n,r)=>{let i=ia(e,n),a=ia(r,n);return N(i)&&N(a)?(i.x*a.x+i.y*a.y+i.z*a.z)/(a.x*a.x+a.y*a.y+a.z*a.z):(i.x*a.x+i.y*a.y)/(a.x*a.x+a.y*a.y)},Yd=(e,n,r)=>({x:Math.cos(r)*n+e.x,y:Math.sin(r)*n+e.y});function Xd(e,n,r=!0){if(M(e,`pt`),M(n,`snap`),N(e)){if(!N(n))throw TypeError(`Param 'snap' is missing 'z' field`);return Object.freeze({x:ji(e.x,n.x,r),y:ji(e.y,n.y,r),z:ji(e.z,n.z,r)})}return Object.freeze({x:ji(e.x,n.x,r),y:ji(e.y,n.y,r)})}const Zd=e=>(e===void 0&&(e=Math.random),Object.freeze({x:e(),y:e()})),Qd=e=>(e===void 0&&(e=Math.random),Object.freeze({x:e(),y:e(),z:e()})),$d=(e,n,r)=>{r===void 0&&(r={x:0,y:0});let i=r;for(let r of e)i=n(r,i);return i};function ef(e,n,r){r===void 0&&(r={x:0,y:0}),M(r,`origin`),A(j(n,``,`amountRadian`));let i=Array.isArray(e);if(n===0)return e;i||(e=[e]);let a=e;for(let[e,n]of a.entries())M(n,`pt[${e}]`);let o=a.map(e=>ga(e,r)).map(e=>ua(e,n)).map(e=>ha(e,r));return i?o:o[0]}const tf=(e,n)=>{let r=[[Math.cos(n),-Math.sin(n)],[Math.sin(n),Math.cos(n)]],i=[];for(let[n,a]of e.entries())i[n]=[r[0][0]*a[0]+r[0][1]*a[1],r[1][0]*a[0]+r[1][1]*a[1]];return i},nf=(e,n,r)=>{let i=ta(e,n);return r??=n,r??=2,Object.freeze({...i,x:ki(r,i.x),y:ki(r,i.y)})},rf=(e,n,r)=>{M(e,`a`),M(n,`b`),typeof r==`number`?(A(j(r,`positive`,`maxRange`)),r={x:r,y:r}):M(r,`maxRange`);let i=Math.abs(n.x-e.x),a=Math.abs(n.y-e.y);return i<=r.x&&a<=r.y},af=(e,n,r)=>(n===void 0&&(n={x:1,y:1}),r===void 0&&(r={x:0,y:0}),M(e,`pt`),M(n,`ptMax`),M(r,`ptMin`),Object.freeze({x:Di(e.x,r.x,n.x),y:Di(e.y,r.y,n.y)}));var of=qr({Empty:()=>da,Empty3d:()=>pa,Placeholder:()=>Hd,Placeholder3d:()=>Ud,PointTracker:()=>Wd,PointsTracker:()=>Gd,Unit:()=>fa,Unit3d:()=>ma,UserPointerTracker:()=>Kd,UserPointersTracker:()=>qd,abs:()=>dd,angleRadian:()=>va,angleRadianCircle:()=>ya,angleRadianThreePoint:()=>ba,apply:()=>fd,average:()=>Ri,averager:()=>zi,bbox:()=>wa,bbox3d:()=>Ta,centroid:()=>pd,clamp:()=>md,clampMagnitude:()=>Od,compare:()=>No,compareByX:()=>Io,compareByY:()=>Lo,compareByZ:()=>Ro,compareRowwise:()=>Po,convexHull:()=>hd,cross:()=>bd,crossProductRaw:()=>xd,distance:()=>na,distance2d:()=>ra,distanceToCenter:()=>gd,distanceToExterior:()=>_d,divide:()=>ld,divider:()=>ud,dotProduct:()=>yd,findMinimum:()=>Ca,from:()=>Sd,fromNumbers:()=>wd,fromString:()=>Cd,getAsBounds:()=>Fo,getPointParameter:()=>ta,getTwoPointParameters:()=>ea,guard:()=>M,guardNonZeroPoint:()=>di,interpolate:()=>Td,interpolator:()=>Ed,invert:()=>Dd,isEmpty:()=>pi,isEqual:()=>Mo,isNaN:()=>li,isNull:()=>ci,isPlaceholder:()=>mi,isPoint:()=>fi,isPoint3d:()=>N,leftmost:()=>kd,multiply:()=>Ao,multiplyScalar:()=>jo,normalise:()=>Md,normaliseByRect:()=>cd,pipeline:()=>Pd,pipelineApply:()=>Nd,pointTest:()=>ui,progressBetween:()=>Jd,project:()=>Yd,quantiseEvery:()=>Xd,random:()=>Zd,random3d:()=>Qd,reduce:()=>$d,relation:()=>Vd,rightmost:()=>Ad,rotate:()=>ef,rotatePointArray:()=>tf,round:()=>nf,subtract:()=>ia,sum:()=>Do,to2d:()=>oa,to3d:()=>sa,toArray:()=>vd,toIntegerValues:()=>aa,toString:()=>ca,withinRange:()=>rf,wrap:()=>af});const sf=Object.freeze({a:Object.freeze({x:0,y:0}),b:Object.freeze({x:0,y:0})});Object.freeze({a:Object.freeze({x:NaN,y:NaN}),b:Object.freeze({x:NaN,y:NaN})});var cf=Object.defineProperty,lf=(e,n,r)=>n in e?cf(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,uf=(e,n)=>{for(var r in n)cf(e,r,{get:n[r],enumerable:!0})},df=(e,n,r)=>lf(e,typeof n==`symbol`?n:n+``,r),ff={hsl:[`h`,`s`,`l`],oklab:[`l`,`a`,`b`],oklch:[`l`,`c`,`h`],rgb:[`r`,`g`,`b`]},pf=[`hsl`,`oklab`,`oklch`,`rgb`],mf=Math.PI/180,hf={l:[.3963377773761749,.2158037573099136],m:[-.1055613458156586,-.0638541728258133],s:[-.0894841775298119,-1.2914855480194092]},gf={l:[.4122214708,.5363325363,.0514459929],m:[.2119034982,.6806995451,.1073969566],s:[.0883024619,.2817188376,.6299787005]},_f={l:[.2104542553,.793617785,.0040720468],a:[1.9779984951,2.428592205,.4505937099],b:[.0259040371,.7827717662,.808675766]},vf={r:[4.076741636075958,-3.307711539258063,.2309699031821043],g:[-1.2684379732850315,2.609757349287688,-.341319376002657],b:[-.0041960761386756,-.7034186179359362,1.7076146940746117]},yf=5,bf=180/Math.PI,F={alpha:`alpha must be a number between 0 and 1`,alphaAdjustment:`alpha must be a number between -1 and 1`,amount:`amount must be a number between 0 and 100`,colorRequired:`color is required`,degreesRange:`degrees must be a number between -360 and 360`,hueArgs:`point, chroma and h are required`,hueRange:`hue must be a number between 0 and 360`,input:`input is required`,inputHex:`input is required and must be a hex`,inputNumber:`input is required and must be a number`,inputString:`input is required and must be a string`,invalid:`invalid input`,invalidColor:`invalid color`,invalidCSS:`invalid CSS string`,invalidHex:`invalid hex`,invalidKey:`invalid key`,invalidModel:`invalid model`,invalidRange:`color value out of range`,left:`left is required and must be a string`,lightnessRange:`lightness must be a number between 0 and 1`,options:`invalid options`,paletteSize:`palette size must be at least 2`,ratioRange:`ratio must be a number between 0 and 1`,right:`right is required and must be a string`,threshold:`threshold must be a number between 0 and 255`,thresholdNormalized:`threshold must be a number between 0 and 1`};function I(e,n){if(e)return;let r=Error(n||`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);throw r.name=`colorizr`,r}var xf={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,grey:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},Sf=/^#(?:[\da-f]{3,4}|[\da-f]{6,8})$/i;function Cf(e){return Array.isArray(e)&&e.length===6}function wf(e){return L(e)?Sf.test(e):!1}function Tf(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`h`?n>=0&&n<=360:e===`alpha`?n>=0&&n<=1:ff.hsl.includes(e)&&n>=0&&n<=100)}function Ef(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`l`?n>=0&&n<=100:e===`alpha`?n>=0&&n<=1:ff.oklab.includes(e)&&n>=-1&&n<=1)}function Df(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`l`?n>=0&&n<=100:e===`alpha`?n>=0&&n<=1:ff.oklch.includes(e)&&n>=0&&n<=(e===`h`?360:1))}function Of(e){return L(e)&&Object.keys(xf).includes(e.toLowerCase())}function kf(e){return typeof e==`number`&&!Number.isNaN(e)}function Af(e,n,r){return kf(e)&&e>=n&&e<=r}function jf(e){if(!e)return!1;let{toString:n}=Object.prototype,r=Object.getPrototypeOf(e);return n.call(e)===`[object Object]`&&(r===null||r===Object.getPrototypeOf({}))}function Mf(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`alpha`?n>=0&&n<=1:ff.rgb.includes(e)&&n>=0&&n<=255)}function L(e,n=!0){let r=typeof e==`string`;return n?r&&!!e.trim().length:r}function Nf(e){return Tf(e)||Mf(e)||Ef(e)||Df(e)}function Pf(e){I(wf(e),F.inputHex);let n=e.replace(`#`,``);if(n.length===3||n.length===4){let e=[...n];n=``,e.forEach(e=>{n+=`${e}${e}`})}let r=`#${n}`;return I(wf(r),F.invalidHex),r}function R(e,n){I(Nf(e),F.invalid);let r=n;return r===void 0||(r>1&&(r/=100),r===1)?e:{...e,alpha:r}}function Ff(e,n=0,r=100){return Math.min(Math.max(e,n),r)}function If(e,n){I(kf(e),F.inputNumber);let r=e+n;return r>360&&(r%=360),r<0&&(r+=360),Math.abs(r)}function Lf(e){if(!Array.isArray(e))return e.alpha}function Rf(e,n,r){switch(I(kf(e),F.inputNumber),I(pf.includes(n),`${F.invalidModel}${n?`: ${n}`:``}`),I(ff[n].includes(r),`${F.invalidKey}${r?`: ${r}`:``}`),n){case`hsl`:return I(ff.hsl.includes(r),F.invalidKey),[`l`,`s`].includes(r)?Ff(e):Ff(e,0,360);case`rgb`:return I(ff.rgb.includes(r),F.invalidKey),Ff(e,0,255);default:throw Error(`Invalid inputs`)}}function zf(e,n){let r=ff[n],i={hsl:Tf,oklab:Ef,oklch:Df,rgb:Mf};I(jf(e)||Array.isArray(e),F.invalid);let a=Array.isArray(e)?{[r[0]]:e[0],[r[1]]:e[1],[r[2]]:e[2]}:e;return I(i[n](a),`${F.invalidColor}: ${n}`),a}function Bf(e,n=yf,r=!0){let i=new Map(Object.entries(e));for(let[e,a]of i.entries())i.set(e,Vf(a,n,r));return Object.fromEntries(i)}function Vf(e,n=2,r=!0){if(!kf(e)||e===0)return 0;if(r){let r=10**n;return Math.round(e*r)/r}let i=Math.abs(Math.ceil(Math.log(Math.abs(e))/Math.LN10));i===0?i=2:i>n&&(i=n);let a=n-(i<0?0:i);a<=1&&n>1?a=2:(a>n||a===0)&&(a=n);let o=10**a;return Math.round(e*o)/o}function Hf(e,n){return I(wf(e),F.inputHex),I(Af(n,0,1),F.alpha),n>=1?Gf(e):`${Gf(e)}${Uf(n)}`}function Uf(e){I(kf(e),F.inputNumber);let n=e;return e>1&&(n/=100),Math.round(n*255).toString(16).padStart(2,`0`)}function Wf(e){I(wf(e),F.inputString);let n=e.substring(7,9);return n?Vf(parseInt(n,16)/255):1}function Gf(e){return I(wf(e),F.inputHex),e.length===5?e.substring(0,4):e.substring(0,7)}function Kf(e){I(wf(e),F.inputHex);let n=Pf(e).slice(1),r=Wf(e);return R({r:parseInt(n.charAt(0)+n.charAt(1),16),g:parseInt(n.charAt(2)+n.charAt(3),16),b:parseInt(n.charAt(4)+n.charAt(5),16)},r)}var qf={};uf(qf,{hex2hsl:()=>Yf,hex2oklab:()=>ep,hex2oklch:()=>ap,hex2rgb:()=>Kf,hsl2hex:()=>lp,hsl2oklab:()=>up,hsl2oklch:()=>dp,hsl2rgb:()=>sp,oklab2hex:()=>hp,oklab2hsl:()=>gp,oklab2oklch:()=>rp,oklab2rgb:()=>mp,oklch2hex:()=>xp,oklch2hsl:()=>Sp,oklch2oklab:()=>yp,oklch2rgb:()=>bp,rgb2hex:()=>cp,rgb2hsl:()=>Jf,rgb2oklab:()=>$f,rgb2oklch:()=>ip});function Jf(e){let n=zf(e,`rgb`),r=Lf(e),i=Rf(n.r,`rgb`,`r`)/255,a=Rf(n.g,`rgb`,`g`)/255,o=Rf(n.b,`rgb`,`b`)/255,s=Math.min(i,a,o),c=Math.max(i,a,o),l=c-s,u=0,d,f=(c+s)/2,p;switch(c){case i:p=l?(a-o)/l:0,u=60*p;break;case a:p=(o-i)/l,u=60*p+120;break;case o:p=(i-a)/l,u=60*p+240}return u<0&&(u=360+u),d=s===c?0:f<.5?l/(2*f):l/(2-2*f),R({h:Math.abs(+(u%360).toFixed(2)),s:+(d*100).toFixed(2),l:+(f*100).toFixed(2)},r)}function Yf(e){I(wf(e),F.inputHex);let n=Wf(e);return R(Jf(Kf(e)),n)}var{cbrt:Xf,sign:Zf}=Math;function Qf(e){let n=Math.abs(e);return n<.04045?e/12.92:(Zf(e)||1)*((n+.055)/1.055)**2.4}function $f(e,n=yf){let r=zf(e,`rgb`),i=Lf(e),[a,o,s]=[Qf(r.r/255),Qf(r.g/255),Qf(r.b/255)],c=Xf(gf.l[0]*a+gf.l[1]*o+gf.l[2]*s),l=Xf(gf.m[0]*a+gf.m[1]*o+gf.m[2]*s),u=Xf(gf.s[0]*a+gf.s[1]*o+gf.s[2]*s);return R(Bf({l:_f.l[0]*c+_f.l[1]*l-_f.l[2]*u,a:_f.a[0]*c-_f.a[1]*l+_f.a[2]*u,b:_f.b[0]*c+_f.b[1]*l-_f.b[2]*u},n),i)}function ep(e,n){I(wf(e),F.inputHex);let r=Wf(e);return R($f(Kf(e),n),r)}var{atan2:tp,sqrt:np}=Math;function rp(e,n){let{l:r,a:i,b:a}=Bf(zf(e,`oklab`)),o=Lf(e),s=np(i**2+a**2),c=(tp(a,i)*bf+360)%360;return Vf(s*1e4)===0&&(c=0),R(Bf({l:r,c:s,h:c},n),o)}function ip(e,n){let r=zf(e,`rgb`),i=Lf(e);return R(rp($f(r,n),n),i)}function ap(e,n){I(wf(e),F.inputHex);let r=Wf(e);return R(ip(Kf(e),n),r)}function op(e,n,r){I(kf(e)&&kf(n)&&kf(r),F.hueArgs);let i=r;return i<0&&(i+=1),i>1&&--i,Vf(i<1/6?e+(n-e)*6*i:i<1/2?n:i<2/3?e+(n-e)*(2/3-i)*6:e,4)}function sp(e){let n=zf(e,`hsl`),r=Lf(e),i=Vf(n.h)/360,a=Vf(n.s)/100,o=Vf(n.l)/100,s,c,l,u,d;return a===0?(s=o,c=o,l=o):(d=o<.5?o*(1+a):o+a-o*a,u=2*o-d,s=op(u,d,i+1/3),c=op(u,d,i),l=op(u,d,i-1/3)),R({r:Math.round(s*255),g:Math.round(c*255),b:Math.round(l*255)},r)}function cp(e){let n=zf(e,`rgb`),r=Lf(e),i=`#${[n.r,n.g,n.b].map(e=>`0${Math.floor(e).toString(16)}`.slice(-2)).join(``)}`;return r!==void 0&&r<1?Hf(i,r):i}function lp(e){let n=zf(e,`hsl`),r=Lf(e),i=cp(sp(n));return r!==void 0&&r<1?Hf(i,r):i}function up(e,n){let r=zf(e,`hsl`),i=Lf(e);return R($f(sp(r),n),i)}function dp(e,n){let r=zf(e,`hsl`),i=Lf(e);return R(ip(sp(r),n),i)}var{abs:fp}=Math;function pp(e){let n=fp(e);return n>.0031308?(e<0?-1:1)*(n**(1/2.4)*1.055-.055):e*12.92}function mp(e,n=0){let{l:r,a:i,b:a}=zf(e,`oklab`),o=Lf(e),s=(r+hf.l[0]*i+hf.l[1]*a)**3,c=(r+hf.m[0]*i+hf.m[1]*a)**3,l=(r+hf.s[0]*i+hf.s[1]*a)**3,u=255*pp(vf.r[0]*s+vf.r[1]*c+vf.r[2]*l),d=255*pp(vf.g[0]*s+vf.g[1]*c+vf.g[2]*l),f=255*pp(vf.b[0]*s+vf.b[1]*c+vf.b[2]*l);return R({r:Ff(Vf(u,n),0,255),g:Ff(Vf(d,n),0,255),b:Ff(Vf(f,n),0,255)},o)}function hp(e){let n=zf(e,`oklab`),r=Lf(e),i=cp(mp(n));return r!==void 0&&r<1?Hf(i,r):i}function gp(e){let n=zf(e,`oklab`),r=Lf(e);return R(Jf(mp(n)),r)}var{sin:_p,cos:vp}=Math;function yp(e,n){let{l:r,c:i,h:a}=zf(e,`oklch`),o=Lf(e);return(Number.isNaN(a)||a<0)&&(a=0),R(Bf({l:r,a:i*vp(a*mf),b:i*_p(a*mf)},n),o)}function bp(e,n=0){let r=zf(e,`oklch`),i=Lf(e);return R(mp(yp(r),n),i)}function xp(e){let n=zf(e,`oklch`),r=Lf(e),i=cp(bp(n));return r!==void 0&&r<1?Hf(i,r):i}function Sp(e){let n=zf(e,`oklch`),r=Lf(e);return R(Jf(bp(n)),r)}var Cp=`(rgb|hsl|oklab|oklch)a?`,wp=`(?:\\s*[,/]\\s*|\\s+)`,Tp=`(none|[\\d%.-]+(?:deg|grad|rad|turn)?)`,Ep=RegExp(`${Cp}\\s*\\(\\s*${Tp}${wp}${Tp}${wp}${Tp}(?:${wp}${Tp})?\\s*\\)`,`i`);function Dp(e){let n=parseFloat(e),r;return r=e.endsWith(`grad`)?n*.9:e.endsWith(`rad`)?180/Math.PI*n:e.endsWith(`turn`)?n*360:n,Math.round(r*1e5)/1e5}function Op(e){if(I(L(e),F.inputString),wf(e)){let n=ff.rgb,{r,g:i,b:a}=Kf(e),o=Wf(e);return{model:`rgb`,[n[0]]:r,[n[1]]:i,[n[2]]:a,alpha:o<1?o:void 0}}let n=Ep.exec(e);I(Cf(n),F.invalidCSS);let r=n[1],i=ff[r],a=n[5]?parseFloat(n[5]):1;a>1&&(a/=100);let o=(e,n)=>{if(e===`none`)return 0;if(r===`hsl`&&n===0||r===`oklch`&&n===2)return Dp(e);let i=parseFloat(e);if(!e.includes(`%`))return i;if(r===`oklch`){if(n===1)return i*.4/100}else if(r===`oklab`&&(n===1||n===2))return i*.4/100;return i},s=[o(n[2],0),o(n[3],1),o(n[4],2)];return r===`oklab`?(I(s[1]>=-.4&&s[1]<=.4,F.invalidRange),I(s[2]>=-.4&&s[2]<=.4,F.invalidRange)):r===`oklch`&&I(s[1]>=0&&s[1]<=.4,F.invalidRange),{model:r,[i[0]]:s[0],[i[1]]:s[1],[i[2]]:s[2],alpha:a<1?a:void 0}}var kp={oklab:gp,oklch:Sp,rgb:Jf},Ap={hsl:up,oklch:yp,rgb:$f},jp={hsl:dp,oklab:rp,rgb:ip},Mp={hsl:sp,oklab:mp,oklch:bp},Np={hsl:lp,oklab:hp,oklch:xp,rgb:cp},Pp={hsl:Yf,oklab:ep,oklch:ap,rgb:Kf},Fp={hsl:kp,oklab:Ap,oklch:jp,rgb:Mp};function Ip(e,n){let{alpha:r,model:i,...a}=Op(e);[`oklab`,`oklch`].includes(i)&&a.l>1&&(a.l=Vf(a.l/100,yf));let o=Object.values(a);if(n===`hex`){let e=r?Uf(r):``;return`${Np[i](o)}${e}`}let s=Fp[n]?.[i];return R(s?s(o):a,r)}function Lp(e,n){let r=Wf(e);return n===`hex`?`${Gf(e)}${r===1?``:Uf(r)}`:R(Pp[n](e),r)}function z(e,n){I(L(e),F.inputString);let r=Of(e)?xf[e.toLowerCase()]:e,i=n??(wf(r)?`hex`:Op(r).model);return wf(r)?Lp(r,i):Ip(r,i)}var Rp=2.4,zp=.56,Bp=.57,Vp=.65,Hp=.62,Up=.2126729,Wp=.7151522,Gp=.072175,Kp=.022,qp=1.414,Jp=1.14,Yp=1.14,Xp=.027,Zp=.027,Qp=.1,$p=5e-4;function em(e){return e>Kp?e:e+(Kp-e)**qp}function tm(e,n,r){return Up*(e/255)**Rp+Wp*(n/255)**Rp+Gp*(r/255)**Rp}function nm(e,n){I(L(e),F.inputString),I(L(n),F.inputString);let r=Kf(z(e,`hex`)),i=Kf(z(n,`hex`)),a=em(tm(i.r,i.g,i.b)),o=em(tm(r.r,r.g,r.b));if(Math.abs(o-a)<$p)return 0;let s=o>a?(o**zp-a**Bp)*Jp:(o**Vp-a**Hp)*Yp;return Math.abs(s)<Qp?0:Vf(s>0?(s-Xp)*100:(s+Zp)*100,5)}function rm(e,n,r=yf){I(L(e),F.left),I(L(n),F.right);let i=z(e,`rgb`),a=z(n,`rgb`),o=(i.r*299+i.g*587+i.b*114)/1e3,s=(a.r*299+a.g*587+a.b*114)/1e3;return Vf(Math.abs(s-o),r)}function im(e){I(L(e),F.inputString);let{r:n,g:r,b:i}=z(e,`rgb`);return Vf((Math.max(n,r,i)-Math.min(n,r,i))/255,4)}function am(e,n){I(L(e),F.left),I(L(n),F.right);let r=z(e,`rgb`),i=z(n,`rgb`);return Math.max(r.r,i.r)-Math.min(r.r,i.r)+(Math.max(r.g,i.g)-Math.min(r.g,i.g))+(Math.max(r.b,i.b)-Math.min(r.b,i.b))}function om(e){I(L(e),F.inputString);let{r:n,g:r,b:i}=z(e,`rgb`),a=[n/255,r/255,i/255];for(let e=0;e<a.length;e++)a[e]<=.04045?a[e]/=12.92:a[e]=((a[e]+.055)/1.055)**2.4;return Vf(.2126*a[0]+.7152*a[1]+.0722*a[2],4)}function sm(e,n){I(L(e),F.left),I(L(n),F.right);let r=om(e),i=om(n);return Vf(r>=i?(r+.05)/(i+.05):(i+.05)/(r+.05))}function cm(e,n){I(L(e),F.left),I(L(n),F.right);let r=am(e,n),i=sm(e,n),a=rm(e,n),o=a>=125,s=r>=500,c=0;return o&&s?c=2:(o||s)&&(c=1),{brightnessDifference:a,colorDifference:r,compliant:c,contrast:i,largeAA:i>=3,largeAAA:i>=4.5,normalAA:i>=4.5,normalAAA:i>=7}}function lm(e){if(wf(e)||Of(e))return`hex`;if(Tf(e))return`hsl`;if(Ef(e))return`oklab`;if(Df(e))return`oklch`;if(Mf(e))return`rgb`;throw Error(F.invalid)}function um(e,n){let r=Of(e)?xf[e.toLowerCase()]:e,i=lm(r);if(i===n)return r;let a=qf[`${i}2${n}`];if(!a)throw Error(`Converter not found for ${i} to ${n}`);return a(r)}function dm(e,n={}){I(wf(e)||Nf(e),F.invalid);let{alpha:r,format:i=`hex`,precision:a=yf,separator:o=` `}=n,s=r&&r!==1?`${Vf(r*100)}%`:null,c=[],l=o;switch(i){case`hsl`:{let{h:n,s:r,l:i}=um(e,`hsl`);c=[n,`${r}%`,`${i}%`];break}case`oklab`:{l=` `;let{l:n,a:r,b:i}=Bf(um(e,`oklab`),a);c=[`${Vf(n*100,a)}%`,r,i];break}case`oklch`:{l=` `;let{l:n,c:r,h:i}=Bf(um(e,`oklch`),a);c=[`${Vf(n*100,a)}%`,r,i];break}case`rgb`:{let{r:n,g:r,b:i}=um(e,`rgb`);c=[n,r,i];break}default:{let n=Gf(um(e,`hex`));return r&&r!==1?`${n}${Uf(r)}`:n}}return`${i}(${c.join(l)}${s?` / ${s}`:``})`}function fm(e,n,r){return(i,a)=>{I(L(i),F.inputString),I(Af(a,0,100),F.amount);let o=z(i,`hsl`),s=wf(i)||Of(i)?`hex`:Op(i).model;return dm({...o,[e]:Ff(o[e]+(n===`+`?a:-a),0,100)},{format:r??s})}}function pm(e,n,r){return fm(`l`,`-`,r)(e,n)}function mm(e,n,r){return fm(`s`,`-`,r)(e,n)}function hm(e,n){I(L(e),F.inputString);let r=wf(e)||Of(e)?`hex`:Op(e).model,i=z(e,`oklch`);return dm({...i,c:0},{format:n??r,alpha:i.alpha})}function gm(e,n,r){I(L(e),F.inputString),I(Af(n,-360,360),F.degreesRange);let i=z(e,`hsl`),a=wf(e)||Of(e)?`hex`:Op(e).model;return dm({...i,h:If(i.h,n)},{format:r??a})}function _m(e){I(L(e),F.inputString);let n=wf(e)||Of(e)?`hex`:Op(e).model;return dm(gm(z(e,`hex`),180),{format:n})}function vm(e,n,r){return fm(`l`,`+`,r)(e,n)}function ym(e,n,r,i,a){if(r<1e-4)return n;if(i<1e-4)return e;let o=n-e;o>180?o-=360:o<-180&&(o+=360);let s=e+o*a;return s<0?s+=360:s>=360&&(s-=360),s}function bm(e,n,r=.5,i){I(L(e),F.inputString),I(L(n),F.inputString),I(Af(r,0,1),F.ratioRange);let a=wf(e)||Of(e)?`hex`:Op(e).model,o=z(e,`oklch`),s=z(n,`oklch`),c=o.l+(s.l-o.l)*r,l=o.c+(s.c-o.c)*r,u=ym(o.h,s.h,o.c,s.c,r),d=o.alpha??1,f=d+((s.alpha??1)-d)*r;return dm({l:c,c:l,h:u},{format:i??a,alpha:f<1?f:void 0})}function xm(e){I(!!e,F.input);let n={};if(L(e)){let{alpha:r=1}=Op(e),i=wf(e)?`hex`:Op(e).model;n.hex=Hf(z(e,`hex`),r),n.hsl=R(z(e,`hsl`),r),n.oklab=R(z(e,`oklab`),r),n.oklch=R(z(e,`oklch`),r),n.rgb=R(z(e,`rgb`),r),n.alpha=r,n.type=i}else if(jf(e)){let{alpha:r=1}=e;if(Tf(e))n.hsl={h:Rf(e.h,`hsl`,`h`),s:Rf(e.s,`hsl`,`s`),l:Rf(e.l,`hsl`,`l`)},n.rgb=sp(n.hsl),n.oklab=up(n.hsl),n.oklch=dp(n.hsl),n.type=`hsl`;else if(Ef(e))n.hsl=gp(e),n.oklab=e,n.oklch=rp(e),n.rgb=mp(e),n.type=`oklab`;else if(Df(e))n.hsl=Sp(e),n.oklab=yp(e),n.oklch=e,n.rgb=bp(e),n.type=`oklch`;else if(Mf(e))n.rgb={r:Rf(e.r,`rgb`,`r`),g:Rf(e.g,`rgb`,`g`),b:Rf(e.b,`rgb`,`b`)},n.hsl=Jf(n.rgb),n.oklab=$f(n.rgb),n.oklch=ip(n.rgb),n.type=`rgb`;else throw Error(`invalid color`);n.hex=Hf(lp(n.hsl),r),n.hsl=R(n.hsl,r),n.oklab=R(n.oklab,r),n.oklch=R(n.oklch,r),n.rgb=R(n.rgb,r),n.alpha=r}else throw Error(F.input);return n}function Sm(e,n,r){I(L(e),F.inputString),I(Af(n,0,1),F.alpha);let i=wf(e)||Of(e)?`hex`:Op(e).model;return dm(z(e,`rgb`),{format:r??i,alpha:n})}function Cm(e){if(I(L(e),F.inputString),wf(e))return Wf(e);if(Object.keys(xf).includes(e))return 1;let{alpha:n}=Op(e);return n||1}function wm(e,n,r,i){return e>=n?r:i}function Tm(e,n={}){let{darkColor:r=`#000000`,lightColor:i=`#ffffff`,method:a=`yiq`,threshold:o}=n;switch(I(L(e),F.inputString),a){case`yiq`:{let n=o??128;I(n>=0&&n<=255,F.threshold);let{r:a,g:s,b:c}=Kf(z(e,`hex`));return(a*299+s*587+c*114)/1e3>=n?r:i}case`wcag`:{let n=o??.5;return I(n>=0&&n<=1,F.thresholdNormalized),om(e)>=n?r:i}case`contrast`:return wm(sm(r,e),sm(i,e),r,i);case`oklab`:{let n=o??.5;I(n>=0&&n<=1,F.thresholdNormalized);let{l:a}=ep(z(e,`hex`));return a>=n?r:i}case`apca`:return wm(Math.abs(nm(e,r)),Math.abs(nm(e,i)),r,i);default:throw Error(`Unknown method: ${a}`)}}function Em(e,n,r){return fm(`s`,`+`,r)(e,n)}function Dm(e,n,r){return I(L(e),F.inputString),I(Af(n,-1,1),F.alphaAdjustment),dm(z(e,`oklab`),{format:r,alpha:Vf(Ff(Cm(e)-n,0,1))})}var Om=class{constructor(e,n={}){df(this,`alpha`),df(this,`hex`),df(this,`hsl`),df(this,`oklab`),df(this,`oklch`),df(this,`rgb`),df(this,`type`),I(!!e,F.colorRequired);let{alpha:r,hex:i,hsl:a,oklab:o,oklch:s,rgb:c,type:l}=xm(e);this.hex=i,this.hsl=a,this.oklab=o,this.oklch=s,this.rgb=c,this.alpha=r,this.type=n.format??l}get css(){return this.currentColor}get red(){return this.rgb.r}get green(){return this.rgb.g}get blue(){return this.rgb.b}get hue(){return this.hsl.h}get saturation(){return this.hsl.s}get lightness(){return this.hsl.l}get luminance(){return om(this.currentColor)}get chroma(){return im(this.currentColor)}get opacity(){return Cm(this.currentColor)}get readableColor(){return Tm(this.currentColor)}get currentColor(){return dm(this[this.type],{format:this.type,alpha:this.alpha})}brightnessDifference(e){return rm(this.currentColor,e)}colorDifference(e){return am(this.currentColor,e)}compare(e){return cm(this.currentColor,e)}contrast(e){return sm(this.currentColor,e)}format(e,n){return dm(this.rgb,{alpha:this.alpha,format:e,precision:n})}lighten(e){return vm(this.currentColor,e)}darken(e){return pm(this.currentColor,e)}saturate(e){return Em(this.currentColor,e)}desaturate(e){return mm(this.currentColor,e)}grayscale(){return hm(this.currentColor)}invert(){return _m(this.currentColor)}mix(e,n){return bm(this.currentColor,e,n)}opacify(e=.9){return Sm(this.currentColor,e,this.type)}rotate(e){return gm(this.currentColor,e)}transparentize(e=.1){return Dm(this.currentColor,e,this.type)}};function km(e,n){return dm(z(e,n),{format:n})}function Am(e){return!(typeof e!=`object`||!(`h`in e)||!(`s`in e)||!(`l`in e)||!(`unit`in e)||!(`space`in e)||e.space!==`hsl`)}function jm(e){return typeof e!=`object`||!(`r`in e)||!(`g`in e)||!(`b`in e)||!(`space`in e)||!(`unit`in e)?!1:e.space===`srgb`}function Mm(e){if(typeof e!=`object`)throw TypeError(`Param 'v' is expected to be an object, got: ${typeof e}`);if(`r`in e&&`g`in e&&`b`in e){if(!(`unit`in e)){if(e.r<=1&&e.g<=1&&e.b<=1)e.unit=`scalar`;else if(e.r>255&&e.g<=255&&e.b<=255)return;else e.unit=`8bit`}return`space`in e||(e.space=`srgb`),e}}function Nm(e){if(`h`in e&&`s`in e&&`l`in e){if(!(`unit`in e)){if(e.s<=1&&e.l<=1)e.unit=`scalar`;else if(e.s>100||e.l>100)return;else e.unit=`absolute`}return`space`in e||(e.space=`hsl`),e}}function Pm(e){return typeof e!=`object`||!(`l`in e)||!(`c`in e)||!(`h`in e)||!(`unit`in e)||!(`space`in e)?!1:e.space===`lch`||e.space===`oklch`}function Fm(e){return typeof e==`string`||typeof e==`object`&&!!(Am(e)||Pm(e)||jm(e))}function Im(e,n,r=1){let i=-1,a=-1;n<e?(i=n-e,a=r-(e-n)):(i=n-e,a=i-r);let o=a>0?a:i,s=a>0?i:a;if(Math.abs(i)<Math.abs(a)){let e=a;a=i,i=e}return{long:i,short:a,forward:o,backward:s}}function Lm(e){let n=e=>{let n=Math.floor(e).toString(16);return n.length===1?`0${n}`:n},r=`#${n(e.r)}${n(e.g)}${n(e.b)}`;return e.alpha!==void 0&&e.alpha!==255&&(r+=n(e.alpha)),r}function Rm(e){return e%=1,e<0?(1-Math.abs(e))%1:e}var zm=Gr({absolute:()=>th,changeLightness:()=>Vm,fromCss:()=>Gm,fromHexString:()=>Wm,generateScalar:()=>Xm,guard:()=>Qm,interpolator:()=>$m,parseCssHslFunction:()=>nh,scalar:()=>eh,toAbsolute:()=>Ym,toCssString:()=>Km,toHexString:()=>qm,toLibraryRgb:()=>rh,toScalar:()=>Zm,withOpacity:()=>Bm});function Bm(e,n){switch(e.unit){case`absolute`:return{...e,opacity:n((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function Vm(e,n){let r=0;if(n.pdelta!==void 0)r=e.l+e.l*n.pdelta;else if(n.delta!==void 0)r=n.delta+e.l;else if(n.fixed!==void 0){if(n.fixed<0)throw TypeError(`Cannot use negative value with 'fixed'`);r=n.fixed}else throw TypeError(`Parameter 'amount' is missing 'delta/pdelta/fixed' properties`);return{...e,l:Hm(e,r,`l`)}}function Hm(e,n,r){return e.unit===`scalar`?n>1?n=1:n<0&&(n=0):n>100?n=100:n<0&&(n=0),n}const Um=Object.freeze({h:0,s:0,l:0,opacity:0,unit:`absolute`,space:`hsl`});function Wm(e,n={}){return Jm(Yf(e),n)}function Gm(e,n={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);if(e.startsWith(`#`))return Wm(e,n);if(e.startsWith(`--`))try{e=Vh(e)}catch(r){if(n.fallbackString!==void 0&&(e=n.fallbackString),n.fallbackColour!==void 0)return n.fallbackColour;throw r}if(e===`transparent`)return Um;if(Hh[e]!==void 0)return Wm(Hh[e],n);if(e.startsWith(`rgb(`))return Jm(Sh(e),n);if(!e.startsWith(`hsl(`))try{e=km(e,`hsl`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}try{let r=nh(e);return n.scalar?Zm(r):Ym(r)}catch(e){if(n.fallbackColour)return n.fallbackColour;throw e}}function Km(e){let n=Ym(e),r=`hsl(${n.h}deg ${n.s}% ${n.l}%`;return`opacity`in n&&n.opacity!==void 0&&n.opacity<100&&(r+=` / ${n.opacity}%`),r+=`)`,r}function qm(e){return Lm(rh(e))}function Jm(e,n={}){if(e==null&&n.fallbackColour)return n.fallbackColour;let r=n.scalar??!0;return A(ii(e.h,0,360,`h`),ii(e.s,0,100,`s`),ii(e.l,0,100,`l`),ni(e.alpha??1,`alpha`)),r?eh(e.h/360,e.s/100,e.l/100,e.alpha??1):th(e.h,e.s,e.l,(e.alpha??1)*100)}function Ym(e){if(typeof e==`string`)return Gm(e,{scalar:!1});if(jm(e))return Ym(Jm(Sh(e),{scalar:!1}));let n=e;return Qm(n),n.unit===`absolute`?n:{h:n.h*360,s:n.s*100,l:n.l*100,opacity:(n.opacity??1)*100,unit:`absolute`,space:`hsl`}}function Xm(e,n=1,r=.5,i=1){typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim());let a=Ki(e);if(n>1)throw TypeError(`Param 'saturation' must be between 0..1`);if(r>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(i>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{h:Ji(a,`deg`).value/360,s:n,l:r,opacity:i,unit:`scalar`,space:`hsl`}}function Zm(e){if(typeof e==`string`)return Gm(e,{scalar:!0});if(jm(e))return Zm(Jm(Sh(e),{scalar:!0}));let n=e;return Qm(n),n.unit===`scalar`?n:{h:n.h/360,s:n.s/100,l:n.l/100,opacity:(n.opacity??1)/100,unit:`scalar`,space:`hsl`}}function Qm(e){let{h:n,s:r,l:i,opacity:a,space:o,unit:s}=e;if(o!==`hsl`)throw Error(`Space is expected to be 'hsl'. Got: ${o}`);if(s===`absolute`)A(j(n,`finite`,`h`),ii(r,0,100,`s`),ii(i,0,100,`l`),()=>{if(typeof a==`number`)return ii(a,0,100,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`h`),j(r,`percentage`,`s`),j(i,`percentage`,`l`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${s}`)}function $m(e,n,r=`shorter`){e=Zm(e),n=Zm(n);let i=e.opacity??1,a=Im(e.h,n.h,1),o=r===`longer`?a.long:a.short,s=n.s-e.s,c=n.l-e.l,l=(n.opacity??1)-i;return n=>{n=Ti(n);let r=Oi(n,0,Math.abs(o));r=o<0?e.h-r:e.h+r;let a=Oi(n,0,s),u=Oi(n,0,c),d=Oi(n,0,l);return eh(Rm(r),a+e.s,u+e.l,d+i)}}function eh(e=.5,n=1,r=.5,i=1){let a={unit:`scalar`,space:`hsl`,h:e,s:n,l:r,opacity:i};return Qm(a),a}function th(e=200,n=100,r=50,i=100){let a={unit:`absolute`,space:`hsl`,h:e,s:n,l:r,opacity:i};return Qm(a),a}function nh(e){if(e.startsWith(`hsla`))throw Error(`hsla() is not supported`);if(!e.startsWith(`hsl(`))throw Error(`Expected hsl(..) CSS colour`);let n=e.indexOf(`(`),r=e.indexOf(`)`);if(r<n)throw Error(`Is hsl() not terminated? Missing ')'`);let i=e.substring(n+1,r).split(/[\s,]+/);if(i.length<3)throw Error(`Expected three tokens. Got: ${i.length} length`);let a=!1;i[0].endsWith(`%`)&&(a=!0),i[1].endsWith(`%`)&&i[2].endsWith(`%`)&&(a=!0);let o=(e,n)=>{if(e===`none`)return 0;if(e.endsWith(`%`))return Number.parseFloat(e.substring(0,e.length-1))/100;e.endsWith(`deg`)&&n===0&&(e=e.substring(0,e.length-3));let r=Number.parseFloat(e);return n===0?r/360:n===3?r:r/100},s=(e,n)=>{if(e===`none`)return 0;if(e.endsWith(`%`)){let r=Number.parseFloat(e.substring(0,e.length-1));return n===0?r*360:r}return e.endsWith(`deg`)&&n===0?Number.parseFloat(e.substring(0,e.length-3)):Number.parseFloat(e)};return i.length>3&&i[3]===`/`&&(i=[i[0],i[1],i[2],i[4]]),a?eh(o(i[0],0),o(i[1],1),o(i[2],2),o(i[3]??`100%`,3)):th(s(i[0],0),s(i[1],1),s(i[2],2),s(i[3]??`100%`,3))}function rh(e){return typeof e==`string`?rh(Gm(e,{scalar:!1})):(e=Ym(e),{...sp({h:e.h,s:e.s,l:e.l}),alpha:(e.opacity??100)/100*255})}var ih=Gr({changeLightness:()=>gh,eightBit:()=>vh,fromCss:()=>ch,fromHexString:()=>oh,guard:()=>hh,interpolator:()=>xh,lightness:()=>_h,parseCssRgbFunction:()=>bh,scalar:()=>yh,to8bit:()=>ph,toCssString:()=>uh,toHexString:()=>lh,toLibraryHsl:()=>Sh,toScalar:()=>mh,withOpacity:()=>ah});function ah(e,n){switch(e.unit){case`8bit`:return{...e,opacity:n((e.opacity??255)/255,e)*255};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function oh(e,n=!0){return fh(Kf(e),{scalar:n})}const sh=Object.freeze({r:0,g:0,b:0,opacity:0,unit:`8bit`,space:`srgb`});function ch(e,n={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);let r=n.scalar??!0;if(e.startsWith(`#`))return oh(e,r);if(e===`transparent`)return sh;if(Hh[e]!==void 0)return oh(Hh[e],r);if(e.startsWith(`hsl(`))return fh(rh(e),n);if(!e.startsWith(`rgb(`))try{e=km(e,`rgb`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}try{let n=bh(e);return r?mh(n):ph(n)}catch(e){if(n.fallbackColour)return n.fallbackColour;throw e}}function lh(e){return Lm(dh(e))}function uh(e){switch(hh(e),e.unit){case`8bit`:return e.opacity===void 0||e.opacity===255?`rgb(${e.r} ${e.g} ${e.b})`:`rgb(${e.r} ${e.g} ${e.b} / ${(e.opacity??255)/255})`;case`scalar`:return e.opacity===void 0||e.opacity===1?`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}%)`:`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}% / ${(e.opacity??1)*100}%)`;default:throw Error(`Unknown unit: ${e.unit}`)}}function dh(e){let n=ph(e);return{r:n.r,g:n.g,b:n.b,alpha:n.opacity}}function fh(e,n={}){return n.scalar?{r:e.r/255,g:e.g/255,b:e.b/255,opacity:e.alpha??1,unit:`scalar`,space:`srgb`}:{r:e.r,g:e.g,b:e.b,opacity:e.alpha??255,unit:`8bit`,space:`srgb`}}function ph(e){return typeof e==`string`?ch(e,{scalar:!1}):Am(e)?ph(fh(rh(e),{scalar:!1})):(hh(e),e.unit===`8bit`?e:{r:e.r*255,g:e.g*255,b:e.b*255,opacity:(e.opacity??1)*255,unit:`8bit`,space:`srgb`})}function mh(e){return typeof e==`string`?ch(e,{scalar:!0}):Am(e)?mh(fh(rh(e),{scalar:!0})):(hh(e),e.unit===`scalar`?e:{r:e.r/255,g:e.g/255,b:e.b/255,opacity:(e.opacity??1)/255,unit:`scalar`,space:`srgb`})}function hh(e){let{r:n,g:r,b:i,opacity:a,space:o,unit:s}=e;if(o!==`srgb`)throw Error(`Space is expected to be 'srgb'. Got: ${o}`);if(s===`8bit`)A(ii(n,0,255,`r`),ii(r,0,255,`g`),ii(i,0,255,`b`),()=>{if(typeof a==`number`)return ii(a,0,255,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`r`),j(r,`percentage`,`g`),j(i,`percentage`,`b`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${s}`)}function gh(e,n){let r=0,i=new Om(uh(e)),a=e.unit===`scalar`;if(n.pdelta!==void 0)r=i.oklab.l+i.oklab.l*n.pdelta;else if(n.delta!==void 0)r=i.oklab.l+n.delta;else if(n.fixed!==void 0){if(n.fixed<0)throw TypeError(`Amount cannot be negative when using 'fixed'`);r=n.fixed}else throw TypeError(`Parameter 'amount' is missing 'pdelta/delta/fixed' properties`);return r<0?r=0:r>1&&(r=1),fh(mp({a:i.oklab.a,b:i.oklab.b,l:r,alpha:i.oklab.alpha}),{scalar:a})}function _h(e){return new Om(uh(e)).oklab.l}function vh(e=100,n=100,r=100,i=255){let a={unit:`8bit`,space:`srgb`,r:e,g:n,b:r,opacity:i};return hh(a),a}function yh(e=.5,n=.5,r=.5,i=1){let a={unit:`scalar`,space:`srgb`,r:e,g:n,b:r,opacity:i};return hh(a),a}function bh(e){if(e.startsWith(`rgba`))throw Error(`RGBA is not supported`);if(!e.startsWith(`rgb(`))throw Error(`Expected rgb(..) CSS colour`);let n=e.indexOf(`(`),r=e.indexOf(`)`);if(r<n)throw Error(`Is rgb() not terminated? Missing ')'`);let i=e.substring(n+1,r).split(/[\s,]+/);if(i.length<3)throw Error(`Expected three tokens. Got: ${i.length} length`);let a=0;for(let e of i)e.endsWith(`%`)&&a++;let o=(e,n)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100:n<3?Number.parseFloat(e)/255:Number.parseFloat(e),s=(e,n)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100*255:n<3?Number.parseFloat(e):Number.parseFloat(e)*255;return i.length>3&&i[3]===`/`&&(i=[i[0],i[1],i[2],i[4]]),a>1?yh(o(i[0],0),o(i[1],1),o(i[2],2),o(i[3]??`1`,3)):vh(s(i[0],0),s(i[1],1),s(i[2],2),s(i[3]??`1`,3))}function xh(e,n){let r=mh(e),i=mh(n),a=r.opacity??1,o=(i.opacity??1)-a,s=i.r-r.r,c=i.g-r.g,l=i.b-r.b;return e=>(e=Ti(e),yh(r.r+Oi(e,0,s),r.g+Oi(e,0,c),r.b+Oi(e,0,l),a+Oi(e,0,o)))}function Sh(e){return typeof e==`string`?Sh(ch(e,{scalar:!1})):(e=ph(e),{...Jf({r:e.r,g:e.g,b:e.b}),alpha:(e.opacity??255)/255})}var Ch=Gr({OKLCH_CHROMA_MAX:()=>wh,absolute:()=>zh,fromCss:()=>kh,fromHexString:()=>Dh,fromLibrary:()=>Eh,generateScalar:()=>Fh,guard:()=>Th,interpolator:()=>Lh,scalar:()=>Rh,toAbsolute:()=>Ah,toCssString:()=>Nh,toHexString:()=>Ph,toScalar:()=>jh,withOpacity:()=>Ih});const wh=.4;function Th(e){let{l:n,c:r,h:i,opacity:a,space:o,unit:s}=e;if(o!==`oklch`)throw Error(`Space is expected to be 'oklch'. Got: ${o}`);if(s===`absolute`)A(ni(n,`l`),()=>{if(typeof r==`number`)return ii(r,0,wh,`c`)},()=>{if(typeof i==`number`)return ii(i,0,360,`h`)},ni(a??1,`opacity`));else if(s===`scalar`)A(ni(n,`l`),ni(r,`c`),ni(i,`h`),ni(e.opacity??1,`opacity`));else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${s}`)}function Eh(e,n={}){if(e==null&&n.fallbackColour)return n.fallbackColour;let r=n.scalar??!0;return A(ni(e.l,`l`),ni(e.c,`c`),ii(e.h,0,360,`h`),ni(e.alpha??1,`alpha`)),r?Rh(e.l,e.c/wh,e.h/360,e.alpha??1):zh(e.l,e.c,e.h,e.alpha??1)}function Dh(e,n={}){return Eh(ap(e),n)}const Oh=Object.freeze({l:0,c:0,h:0,opacity:0,unit:`absolute`,space:`oklch`});function kh(e,n={}){if(e=e.toLowerCase(),e.startsWith(`#`))return Dh(e,n);if(e===`transparent`)return Oh;if(Hh[e]!==void 0)return Dh(Hh[e],n);if(e.startsWith(`rgb(`)){let r=ph(bh(e));return Eh(ip({r:r.r,g:r.g,b:r.b}),n)}if(!e.startsWith(`hsl(`)&&!e.startsWith(`oklch(`))try{e=km(e,`oklch`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}let r=new Om(e).oklch;return Eh(r,n)}function Ah(e){return typeof e==`string`?Ah(kh(e,{scalar:!0})):(Th(e),e.unit===`absolute`?e:{space:`oklch`,unit:`absolute`,l:e.l,c:e.c*wh,h:e.h*360,opacity:e.opacity})}function jh(e){if(typeof e==`string`)return jh(kh(e,{scalar:!0}));let n=e;return Th(n),n.unit===`scalar`?n:{l:n.l,c:n.c/wh,h:n.h/360,opacity:n.opacity??1,unit:`scalar`,space:`oklch`}}function Mh(e){let n=Ah(e);return{l:n.l,c:n.c,h:n.h,alpha:n.opacity}}function Nh(e,n=3){Th(e);let{l:r,c:i,h:a,opacity:o}=e,s=``;switch(e.unit){case`absolute`:s=`oklch(${(r*100).toFixed(n)}% ${i.toFixed(n)} ${a.toFixed(n)}`;break;case`scalar`:s=`oklch(${r.toFixed(n)} ${(i*wh).toFixed(n)} ${(a*360).toFixed(n)}`}return o!==void 0&&o!==1&&(s+=` / ${o.toFixed(n)}`),s+=`)`,s}function Ph(e){return Lm(bp(Mh(e)))}function Fh(e,n=1,r=.5,i=1){if(typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim()),r>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(n>1)throw TypeError(`Param 'chroma' must be between 0..1`);let a=Ji(Ki(e),`deg`).value/360;if(i>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{l:r,c:n,h:a,opacity:i,unit:`scalar`,space:`oklch`}}function Ih(e,n){switch(e.unit){case`absolute`:return{...e,opacity:n((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function Lh(e,n,r=`shorter`){e=jh(e),n=jh(n);let i=e.opacity??1,a=Im(e.h,n.h,1),o=r===`longer`?a.long:a.short,s=n.c-e.c,c=n.l-e.l,l=(n.opacity??1)-i;return n=>{n=Ti(n);let r=Oi(n,0,Math.abs(o));r=o<0?e.h-r:e.h+r;let a=Oi(n,0,s),u=Oi(n,0,c),d=Oi(n,0,l);return Rh(u+e.l,a+e.c,Rm(r),d+i)}}function Rh(e=.7,n=.1,r=.5,i=1){let a={unit:`scalar`,space:`oklch`,l:e,c:n,h:r,opacity:i};return Th(a),a}function zh(e,n,r,i=1){let a={space:`oklch`,unit:`absolute`,opacity:i,l:e,c:n,h:r};return Th(a),a}const Bh=e=>{if(e.startsWith(`#`))return oh(e,!0);if(e.startsWith(`--`)){let n=getComputedStyle(document.body).getPropertyValue(e).trim();if(n.length===0||n===null)throw Error(`Variable missing: ${e}`);return Bh(n)}let n=e.toLowerCase();if(Hh[n]!==void 0)return oh(Hh[n],!0);if(n.startsWith(`hsl(`))return Gm(e,{scalar:!0});if(n.startsWith(`rgb(`))return ch(e,{scalar:!0});if(n.startsWith(`oklch(`))return kh(e,{scalar:!0});throw Error(`String colour is not a hex colour, CSS variable nor well-defined colour. Input: '${e}'`)};function Vh(e,n){if(e.startsWith(`--`)){let r=getComputedStyle(document.body).getPropertyValue(e).trim();if(r.length===0||r===null){if(n!==void 0)return n;throw Error(`CSS variable missing: '${e}'`)}return Vh(r)}return Hh[e]===void 0?e:Hh[e]}const Hh=Object.freeze({aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`,transparent:`#00000000`});function Uh(e,n){if(n===`hsl-scalar`){if(typeof e==`string`||Am(e)||jm(e))return Zm(e)}else if(n===`hsl-absolute`){if(typeof e==`string`||Am(e))return Ym(e)}else if(n===`oklch-scalar`){if(typeof e==`string`||Pm(e))return jh(e)}else if(n===`oklch-absolute`){if(typeof e==`string`||Pm(e))return Ah(e)}else if(n===`srgb-8bit`){if(typeof e==`string`||jm(e))return ph(e)}else if(n===`srgb-scalar`){if(typeof e==`string`||jm(e))return mh(e)}else throw Error(`Destination '${n}' not supported for input: ${JSON.stringify(e)}`);return Uh(Kh(e),n)}function Wh(e,n){return Kh(Uh(e,n))}function Gh(e,n){if(n===`oklch`)return Uh(e,`oklch-scalar`);if(n===`srgb`)return Uh(e,`srgb-scalar`);if(n===`hsl`)return Uh(e,`hsl-scalar`);throw Error(`Unknown destination: '${n}'`)}function Kh(e){if(typeof e==`string`)return e;if(Am(e))return Km(e);if(jm(e))return uh(e);if(Pm(e))return Nh(e);let n=Mm(e);if(n)return uh(n);let r=Nm(e);if(r)return Km(r);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function qh(e){if(Am(e))return qm(e);if(jm(e))return lh(e);if(Pm(e))return Ph(e);if(typeof e==`string`)return e.startsWith(`#`)?e:lh(Uh(e,`srgb-8bit`));let n=Mm(e);if(n)return lh(n);let r=Nm(e);if(r)return qm(r);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function Jh(e){return new Om(Kh(e))}function Yh(e){switch(e.space){case`hsl`:Qm(e);break;case`srgb`:hh(e);break;case`oklch`:Th(e);break;default:throw Error(`Unsupported colour space: '${e.space}'`)}}function Xh(e){if(!Fm(e))throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc. Got: ${JSON.stringify(e)}`);let n;if(n=typeof e==`string`?Bh(e):e,n===void 0)throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc.`);return Yh(n),n}function Zh(...e){for(let n of e)if(n!=null)try{return Kh(Xh(n))}catch{}return`rebeccapurple`}function Qh(e,n){let{r,g:i,b:a}=e,o=e.opacity??1;e.unit===`8bit`&&(r/=255,i/=255,a/=255);let s=Math.max(r,i,a),c=Math.min(r,i,a),l=(s+c)/2,u=l,d=l;if(s===c)return n?eh(0,0,0,o):th(0,0,0,o);let f=s-c;switch(u=d>=.5?f/(2-(s+c)):f/(s+c),s){case r:l=((i-a)/f+0)*60;break;case i:l=((a-r)/f+2)*60;break;case a:l=((r-i)/f+4)*60}return n?eh(l/360,u,d,o):th(l,u*100,d*100,o)}const $h=(e,n=.5,r=.75,i=1)=>(A(j(e,`positive`,`index`),j(n,`percentage`,`saturation`),j(r,`percentage`,`lightness`),j(i,`percentage`,`alpha`)),Km(eh(e*137.508%360/360,n,r,i))),eg=(e=Math.random)=>e()*360;function tg(e,n={}){let r=n.direction??`shorter`,i=n.destination??`oklch-scalar`,a=n.space??`oklch`,o=ng(e,a),s=o.map(e=>ag(e[0],e[1],{space:a,direction:r,destination:i})),c=e.map(e=>Uh(e,i));return e=>{if(e>=1)return c.at(-1);if(e<=0)return c.at(0);let n=Pi(e,0,1,0,o.length),r=Math.floor(n),i=n-r,a=s[r];return a(i)}}function ng(e,n=`hsl`){if(!Array.isArray(e))throw Error(`Param 'colours' is not an array as expected. Got: ${typeof e}`);if(e.length<2)throw Error(`Param 'colours' should be at least two in length. Got: ${e.length}`);return[...Si(e.map(e=>Gh(e,n)))]}function rg(e){return`linear-gradient(to right, ${e.map(e=>Kh(e)).join(`, `)})`}function ig(e,n,r={}){let i=ag(e,n,r);return e=>Kh(i(e))}function ag(e,n,r={}){let i=r.space??`oklch`,a=r.direction??`shorter`,o=r.destination??`oklch-scalar`,s;switch(i){case`hsl`:{let r=$m(Uh(e,`hsl-scalar`),Uh(n,`hsl-scalar`),a);s=e=>Uh(r(e),o);break}case`srgb`:{let r=xh(Uh(e,`srgb-scalar`),Uh(n,`srgb-scalar`));s=e=>Uh(r(e),o);break}default:{let r=Lh(Uh(e,`oklch-scalar`),Uh(n,`oklch-scalar`),a);s=e=>Uh(r(e),o)}}return e=>s(e)}function og(e,n={}){let r=n.direction??`shorter`,i=n.space??`oklch`,a=ng(e,i),o=0;if(typeof n.stepsBetween==`number`){if(o=n.stepsBetween,o<1)throw Error(`Param 'stepsBetween' must be at least 1`)}else if(typeof n.stepsTotal==`number`){if(n.stepsTotal<=e.length)throw Error(`Param 'stepsTotal' must be greater than number of provided colour stops (${e.length}) +1 per stop`);let r=n.stepsTotal-e.length;o=Math.floor(r/a.length)}let s=a.map(e=>{let n=sg(e[0],e[1],{steps:o,space:i,direction:r,exclusive:!0});return n.push(e[1]),n}),c=a[0];return s.unshift([c[0]]),s.flat().map(e=>Kh(e))}function sg(e,n,r={}){let i=r.exclusive??!1,a=r.steps??5,o=r.space??`oklch`,s=r.direction??`shorter`;if(!i&&a<2)throw Error(`Param 'steps' should be at least 2 when 'exclusive' is false`);if(i&&a<1)throw Error(`Param 'steps' should be at least 1 when 'exlusive' is true`);let c=Gh(e,o),l=Gh(n,o),u;switch(o){case`hsl`:u=$m(c,l,s);break;case`oklch`:u=Lh(c,l,s);break;case`srgb`:u=xh(c,l);break;default:throw Error(`Colour space '${o}' not supported for interpolation.`)}if(!u)throw Error(`Could not create interpolator for space: ${o}`);let d=0,f=0,p=1;i?(d=1/(a+1),f=d,p=1-d):d=1/(a-1);let m=[];for(let e=f;e<=p;e+=d)m.push(u(e));return m}function cg(e,n){return lg(e,e=>Ti(e*n))}function lg(e,n){let r=Xh(e),i;switch(r.space){case`hsl`:i=Bm(r,n);break;case`srgb`:i=ah(r,n);break;case`oklch`:i=Ih(r,n);break;default:throw Error(`Unknown space: '${r.space}'. Expected hsl, srgb, oklch`)}if(!i)throw Error(`Is colour in correct form?`);return typeof e==`string`?Kh(i):i}function ug(e,n){let r=Xh(e);return r.opacity=n,typeof e==`string`?Kh(r):r}function dg(e){return e.r<<16|e.g<<8|e.b}function fg(e){if(e>16777215)throw TypeError(`Param 'colour' is out of range. Expected max value of 16_777_215, got ${e}`);return{r:e>>16&255,g:e>>8&255,b:e&255,unit:`8bit`,space:`srgb`}}function pg(e){let n=e.r>>3&31,r=e.g>>2&63,i=e.b>>3&31;return n<<11|r<<5|i}function mg(e){if(e>65535)throw TypeError(`Param 'colour' is out of range. Expected max: 65_535. Got: ${e}`);return{r:(e>>11&31)<<3,g:(e>>5&63)<<2,b:(e&31)<<3,unit:`8bit`,space:`srgb`}}var hg=Gr({eightBit:()=>gg,fromCss:()=>Sg,fromHexString:()=>xg,fromSrgTo8bit:()=>vg,guard:()=>wg,scalar:()=>_g,to8bit:()=>bg,toHexString:()=>Tg,toScalar:()=>Cg,toSrgb8bit:()=>yg});function gg(e=100,n=100,r=100,i=255){let a={unit:`8bit`,space:`ycbcr`,y:e,cb:n,cr:r,opacity:i};return wg(a),a}function _g(e=.5,n=.5,r=.5,i=1){let a={unit:`scalar`,space:`ycbcr`,y:e,cb:n,cr:r,opacity:i};return wg(a),a}function vg(e){let{r:n,g:r,b:i,opacity:a}=ph(e);return gg(.299*n+.587*r+.114*i+0,-.169*n+-.331*r+.5*i+128,.5*n+-.419*r+-.081*i+128,a)}function yg(e){let{y:n,cb:r,cr:i,opacity:a}=bg(e);return{unit:`8bit`,space:`srgb`,r:1*n+0*(r-128)+1.4*(i-128),g:1*n+-.343*(r-128)+-.711*(i-128),b:1*n+1.765*(r-128)+0*(i-128),opacity:a}}function bg(e){if(wg(e),e.unit===`8bit`)return e;let{y:n,cb:r,cr:i,opacity:a}=e;return gg(n*255,r*255,i*255,typeof a==`number`?a*255:255)}function xg(e,n={}){return vg(oh(e,!1))}function Sg(e,n={}){let r=n.scalar??!1,i=ch(e,{fallbackString:n.fallbackString,scalar:!1,ensureSafe:n.ensureSafe});return r?Cg(vg(i)):vg(i)}function Cg(e){if(typeof e==`string`)return Sg(e,{scalar:!0});if(Am(e)||jm(e))return Cg(vg(mh(e)));if(wg(e),e.unit===`scalar`)return e;let{y:n,cb:r,cr:i,opacity:a}=e;return _g(n/255,r/255,i/255,typeof a==`number`?a/255:1)}function wg(e){let{y:n,cb:r,cr:i,opacity:a,space:o,unit:s}=e;if(o!==`ycbcr`)throw Error(`Space is expected to be 'ycbcr'. Got: ${o}`);if(s===`8bit`)A(ii(n,0,255,`y`),ii(r,0,255,`cb`),ii(i,0,255,`cr`),()=>{if(typeof a==`number`)return ii(a,0,255,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`y`),j(r,`percentage`,`cb`),j(i,`percentage`,`cr`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${s}`)}function Tg(e){return lh(yg(e))}var Eg=Gr({HslSpace:()=>zm,OklchSpace:()=>Ch,SrgbSpace:()=>ih,YCbCrSpace:()=>hg,convert:()=>Uh,convertScalar:()=>Gh,convertToString:()=>Wh,createSteps:()=>sg,cssDefinedHexColours:()=>Hh,cssLinearGradient:()=>rg,decodeRgbFrom16Bit565:()=>mg,decodeRgbFrom24Bit:()=>fg,encodeRgbTo16Bit565:()=>pg,encodeRgbTo24Bit:()=>dg,fromCssColour:()=>Bh,goldenAngleColour:()=>$h,guard:()=>Yh,interpolator:()=>tg,interpolatorDual:()=>ag,interpolatorDualToString:()=>ig,isColourish:()=>Fm,isHsl:()=>Am,isOkLch:()=>Pm,isRgb:()=>jm,multiplyOpacity:()=>cg,randomHue:()=>eg,resolveCss:()=>Vh,rgbToHsl:()=>Qh,scale:()=>og,setOpacity:()=>ug,toColour:()=>Xh,toCssColour:()=>Kh,toHexColour:()=>qh,toLibraryColour:()=>Jh,toStringFirst:()=>Zh,tryParseObjectToHsl:()=>Nm,tryParseObjectToRgb:()=>Mm,withOpacity:()=>lg});const Dg={l:[0,1],c:[0,.4],h:[0,360],a:[0,1]},Og={l:Dg.l,c:Dg.c,h:Dg.h,a:Dg.a};function kg(e,n,r,i=1){return i<1?`oklch(${e} ${n} ${r} / ${i})`:`oklch(${e} ${n} ${r})`}function Ag(e,n){e!=null&&(e.value=n)}var jg=class extends n{constructor(...e){super(...e),this.label=``,this.min=0,this.max=1,this.value=0,this.step=.01,this.precision=0,this.dragSensitivity=1,this.miniWidthThreshold=120,this.miniHeightThreshold=45,this.displayTextLogic=`transient`,this._isMini=!1,this._isDragging=!1,this._debounceTimer=void 0,this._handleNumberChange=e=>{let n=e.detail?.value??String(this.value),r=Number.parseFloat(n);this.value=r,this._syncValue(r),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:n},bubbles:!0,composed:!0}))},this._handleInputChange=e=>{let n=e.detail?.value??this.value;this.value=n,clearTimeout(this._debounceTimer),this._debounceTimer=window.setTimeout(()=>{this._isDragging=!1},300),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:String(n)},bubbles:!0,composed:!0}))},this._handleSliderInput=e=>{let n=e.detail?.value??this.value;console.log(`[LABELLED-INPUT] _handleSliderInput called`,{value:n,composedPath:e.composedPath()}),this.value=n,this._isDragging=!0,clearTimeout(this._debounceTimer),this.dispatchEvent(new CustomEvent(`input`,{detail:{value:n},bubbles:!0,composed:!0}))}}get formatter(){return this._formatter??(e=>e)}set formatter(e){this._formatter=e}get hasCustomFormatter(){return this._formatter!==void 0}connectedCallback(){super.connectedCallback(),this._resizeObserver=new ResizeObserver(e=>this._handleResize(e)),this._resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._resizeObserver?.disconnect(),this._resizeObserver=void 0}_handleResize(e){let{width:n,height:r}=e[0].contentRect,i=getComputedStyle(this).getPropertyValue(`--mini`).trim();if(i===`1`){this._isMini=!0;return}if(i===`0`){this._isMini=!1;return}this._isMini=n<this.miniWidthThreshold||r<this.miniHeightThreshold}_syncValue(e){let n=this.renderRoot?.querySelector(this.inputSelector);n&&Ag(n,e);let r=this.renderRoot?.querySelector(`ixfx-editable-number`);r&&(Ag(r,e),r._requestDisplayUpdate?.())}_renderEditableNumber(){return this._isMini?a:i`
|
|
3429
|
+
`)),o&&(s+=`${i} R: ${ju(o,n+1)}`)),s};var Mu=Zo({Bst:()=>Nu,create:()=>Wu,find:()=>Iu,fromArray:()=>Gu,has:()=>Fu,inOrder:()=>Bu,insert:()=>Pu,max:()=>Ru,min:()=>Lu,postOrder:()=>Hu,preOrder:()=>Vu,remove:()=>zu,root:()=>Ku,valuesInOrder:()=>Uu}),Nu=class{root;comparer;constructor(e=Jo){this.comparer=e,this.root=_u()}insert(e){return this.root=Pu(this.root,e,this.comparer),this.root}has(e){return Fu(this.root,e,this.comparer)}find(e){return Iu(this.root,e,this.comparer)}remove(e){let n=zu(this.root,e,this.comparer);return n&&(this.root=n),n!==void 0}min(){return Lu(this.root)}max(){return Ru(this.root)}inOrder(){return Bu(this.root)}preOrder(){return Vu(this.root)}postOrder(){return Hu(this.root)}valuesInOrder(){return Uu(this.root)}toArrayInOrder(){return Array.from(this.valuesInOrder())}};const Pu=(e,n,r=Jo)=>{if(e.value===void 0)return e.value=n,e;let i=e;for(;;){let e=r(n,i.value);if(e<0){let e=Jl(i);if(e)i=e;else{hu(n,i);break}}else if(e>0){let e=Yl(i);if(e)i=e;else{gu(n,i);break}}else break}return e},Fu=(e,n,r=Jo)=>Iu(e,n,r)!==void 0,Iu=(e,n,r=Jo)=>{if(!e||e.value===void 0)return;let i=r(n,e.value);if(i===0)return e;if(i<0){let i=Jl(e);return i?Iu(i,n,r):void 0}{let i=Yl(e);return i?Iu(i,n,r):void 0}},Lu=e=>{if(!e||e.value===void 0)return;let n=e;for(;Jl(n);)n=Jl(n);return n},Ru=e=>{if(!e||e.value===void 0)return;let n=e;for(;Yl(n);)n=Yl(n);return n},zu=(e,n,r=Jo)=>{if(!e||e.value===void 0)return;let i=Iu(e,n,r);if(!i)return;let a=Jl(i),o=Yl(i);if(!a&&!o)i===e?(e.value=void 0,e.childrenStore=[]):tu(i);else if(!a){if(i===e){e.value=o.value,e.childrenStore=o.childrenStore;for(let n of e.childrenStore)n&&(n.parent=e)}else{let e=i.parent;Jl(e)===i?$l(e,o):eu(e,o)}}else if(o){let e=Lu(o);i.value=e.value;let n=e.parent,r=Yl(e);Jl(n)===e?$l(n,r):eu(n,r)}else if(i===e){e.value=a.value,e.childrenStore=a.childrenStore;for(let n of e.childrenStore)n&&(n.parent=e)}else{let e=i.parent;Jl(e)===i?$l(e,a):eu(e,a)}return e};function*Bu(e){if(!e)return;let n=Jl(e);n&&(yield*Bu(n)),yield e;let r=Yl(e);r&&(yield*Bu(r))}function*Vu(e){if(!e)return;yield e;let n=Jl(e);n&&(yield*Vu(n));let r=Yl(e);r&&(yield*Vu(r))}function*Hu(e){if(!e)return;let n=Jl(e);n&&(yield*Hu(n));let r=Yl(e);r&&(yield*Hu(r)),yield e}function*Uu(e){for(let n of Bu(e))n.value!==void 0&&(yield n.value)}const Wu=e=>new Nu(e),Gu=(e,n=Jo)=>{let r=new Nu(n);for(let n of e)r.insert(n);return r},Ku=()=>_u();var qu=Zo({BinarySearchTree:()=>Mu,BinaryTree:()=>Gl,FromObject:()=>Ic,Mutable:()=>qs,Pathed:()=>$c,Traverse:()=>xl,compare:()=>Bs,isMultiValue:()=>Qc,isSingleValue:()=>Zc,isTraversable:()=>Xu,isTreeNode:()=>Yu,toTraversable:()=>Ju});const Ju=e=>{if(Xu(e))return e;if(Yu(e))return jc(e);if(typeof e==`object`)return Gc(e);throw Error(`Parameter 'node' not convertible`)},Yu=e=>!!(`parent`in e&&`childrenStore`in e&&`value`in e&&Array.isArray(e.childrenStore)),Xu=e=>`children`in e&&`getParent`in e&&`getValue`in e&&`getIdentity`in e;(class e extends as{static shared=new e;_loop;_queue;constructor(){super(),this._queue=zs.mutable(),this._loop=ts(()=>this.processQueue(),100)}enqueue(e){let n=this._queue.enqueue(e);return this._loop.runState===`idle`&&(this.fireEvent(`started`,{}),this._loop.start()),n}async processQueue(){let e=this._queue.dequeue();if(e===void 0)return this.fireEvent(`empty`,{}),!1;try{let n=await e();this.fireEvent(`progress`,{task:e,remaining:this._queue.length,result:n})}catch(n){this.fireEvent(`error`,{error:n,task:e})}return!0}clear(){this._queue.length!==0&&(this._queue.clear(),this._loop.cancel(),this.fireEvent(`empty`,{}))}get isEmpty(){return this._queue.isEmpty}get length(){return this._queue.length}get runState(){return this._loop.runState}});function Zu(e,n={}){let r=ns(e);if(!r)throw Error(`Param 'duration' not valid`);let i={clampValue:n.clampValue,wrapValue:n.wrapValue,timer:n.timer??nd()},a;return()=>(a??=td(r,i),a.elapsed)}function Qu(e,n={}){let r={...n,timer:rd()},i;return()=>(i??=td(e,r),i.elapsed)}const $u=()=>({elapsed:1,isDone:!0,reset(){},mod(e){}}),ed=()=>({elapsed:0,isDone:!1,reset(){},mod(){}}),td=(e,n={})=>{if(!Number.isFinite(e))return $u();if(Number.isNaN(e))return ed();let r=n.clampValue??!1,i=n.wrapValue??!1;if(r&&i)throw Error(`clampValue and wrapValue cannot both be enabled`);let a=1,o=n.timer??nd(),s=0,c=n=>{s=n;let o=n/(e*a);return r?o=Ti(o):i&&o>=1&&(o%=1),o};return{mod(e){a=e},get isDone(){return c(s)>=1},get elapsed(){return c(o.elapsed)},reset:()=>{o.reset()}}},nd=()=>{let e=performance.now();return{reset:()=>{e=performance.now()},get elapsed(){return performance.now()-e}}},rd=()=>{let e=0;return{reset:()=>{e=0},get peek(){return e},get elapsed(){return++e}}},id=(e,n)=>{if(typeof e!=`function`)throw Error(`Param 'fn' should be a function. Got: ${typeof e}`);let r=1;return{get elapsed(){return n.elapsed},get isDone(){return n.isDone},get runState(){return n.isDone?`idle`:`scheduled`},get startCount(){return r},get startCountTotal(){return r},compute:()=>{let r=n.elapsed;return e(r)},reset:()=>{n.reset(),r++}}};var ad=class{seenCount;storeIntermediate;resetAfterSamples;sampleLimit;id;debug;constructor(e={}){this.id=e.id??`tracker`,this.debug=e.debug??!1,this.sampleLimit=e.sampleLimit??-1,this.resetAfterSamples=e.resetAfterSamples??-1,this.storeIntermediate=e.storeIntermediate??(this.sampleLimit>-1||this.resetAfterSamples>-1),this.seenCount=0,this.debug&&console.log(`TrackerBase: sampleLimit: ${this.sampleLimit} resetAfter: ${this.resetAfterSamples} store: ${this.storeIntermediate}`)}reset(){this.seenCount=0,this.onReset()}seen(...e){this.resetAfterSamples>0&&this.seenCount>this.resetAfterSamples?this.reset():this.sampleLimit>0&&this.seenCount>this.sampleLimit*2&&(this.seenCount=this.trimStore(this.sampleLimit),this.onTrimmed(`resize`)),this.seenCount+=e.length;let n=this.filterData(e);return this.computeResults(n)}},od=class extends ad{values;constructor(e={}){super(e),this.values=[]}onTrimmed(e){}trimStore(e){return e>=this.values.length||(this.values=this.values.slice(-e)),this.values.length}onReset(){this.values=[]}filterData(e){let n=e.map(e=>`at`in e?e:{...e,at:Date.now()}),r=n.at(-1);if(this.storeIntermediate)this.values.push(...n);else switch(this.values.length){case 0:this.values.push(r);break;case 1:this.values.push(r);break;case 2:this.values[1]=r;break}return n}get last(){return this.values.length===1?this.values[0]:this.values.at(-1)}get initial(){return this.values.at(0)}get size(){return this.values.length}get elapsed(){if(this.values.length===0)throw Error(`No values seen yet`);return Date.now()-this.values[0].at}get timespan(){let e=this.initial,n=this.last;return!e||!n?NaN:n.at-e.at}},sd=class{store;gog;constructor(e){this.store=new Map,this.gog=Yo(this.store,e)}get size(){return this.store.size}has(e){return this.store.has(e)}seen(e,...n){return this.getTrackedValue(e,...n).seen(...n)}getTrackedValue(e,...n){if(e===null)throw Error(`id parameter cannot be null`);if(e===void 0)throw Error(`id parameter cannot be undefined`);return this.gog(e,n[0])}delete(e){this.store.delete(e)}reset(){this.store=new Map}*ids(){yield*this.store.keys()}*tracked(){yield*this.store.values()}*trackedByAge(){let e=[...this.store.values()];e.sort((e,n)=>{let r=e.elapsed,i=n.elapsed;return r===i?0:r>i?-1:1});for(let n of e)yield n}*valuesByAge(){for(let e of this.trackedByAge())yield e.last}*last(){for(let e of this.store.values())yield e.last}*initialValues(){for(let e of this.store.values())yield e.initial}get(e){return this.store.get(e)}};function cd(e,n,r,i){if(fi(e)){if(typeof n==`number`&&r!==void 0)A(j(n,`positive`,`width`),j(r,`positive`,`height`));else{if(!La(n))throw Error(`Expected second parameter to be a rect`);r=n.height,n=n.width}return Object.freeze({x:e.x/n,y:e.y/r})}if(A(j(e,`positive`,`x`)),typeof n!=`number`)throw TypeError(`Expecting second parameter to be a number (width)`);if(typeof r!=`number`)throw TypeError(`Expecting third parameter to be a number (height)`);if(A(j(n,`positive`,`y`)),A(j(r,`positive`,`width`)),i===void 0)throw Error(`Expected height parameter`);return A(j(i,`positive`,`height`)),Object.freeze({x:e/r,y:n/i})}function ld(e,n,r,i,a,o){let[s,c]=ea(e,n,r,i,a,o);if(M(s,`a`),M(c,`b`),c.x===0)throw TypeError(`Cannot divide by zero (b.x is 0)`);if(c.y===0)throw TypeError(`Cannot divide by zero (b.y is 0)`);let l={x:s.x/c.x,y:s.y/c.y};if(N(s)||N(c)){if(c.z===0)throw TypeError(`Cannot divide by zero (b.z is 0)`);l.z=(s.z??0)/(c.z??0)}return Object.freeze(l)}function ud(e,n,r){let i=ta(e,n,r);return di(i,`divisor`),(e,n,r)=>{let a=ta(e,n,r);return a.z===void 0?Object.freeze({x:a.x/i.x,y:a.y/i.y}):Object.freeze({x:a.x/i.x,y:a.y/i.y,z:a.z/(i.z??1)})}}function dd(e){if(N(e))return Object.freeze({...e,x:Math.abs(e.x),y:Math.abs(e.y),z:Math.abs(e.z)});if(fi(e))return Object.freeze({...e,x:Math.abs(e.x),y:Math.abs(e.y)});throw TypeError(`Param 'pt' is not a point`)}function fd(e,n){return M(e,`pt`),N(e)?Object.freeze({...e,x:n(e.x,`x`),y:n(e.y,`y`),z:n(e.z,`z`)}):Object.freeze({...e,x:n(e.x,`x`),y:n(e.y,`y`)})}const pd=(...e)=>{if(!Array.isArray(e))throw Error(`Expected list of points`);let n=e.reduce((e,n)=>{if(n===void 0)return e;if(Array.isArray(n))throw TypeError(`'points' list contains an array. Did you mean: centroid(...myPoints)?`);if(!fi(n))throw Error(`'points' contains something which is not a point: ${JSON.stringify(n)}`);return{x:e.x+n.x,y:e.y+n.y}},{x:0,y:0});return Object.freeze({x:n.x/e.length,y:n.y/e.length})};function md(e,n=0,r=1){return N(e)?Object.freeze({x:Ti(e.x,n,r),y:Ti(e.y,n,r),z:Ti(e.z,n,r)}):Object.freeze({x:Ti(e.x,n,r),y:Ti(e.y,n,r)})}const hd=(...e)=>{let n=[...e].sort(Io);if(n.length===1)return n;let r=e=>{let n=[];for(let r of e){for(;n.length>=2;){let e=n.at(-1),i=n.at(-2);if((e.x-i.x)*(r.y-i.y)>=(e.y-i.y)*(r.x-i.x))n.pop();else break}n.push(r)}return n.pop(),n},i=r(n),a=r(n.reverse());return i.length===1&&a.length===1&&Mo(a[0],i[0])?i:[...i,...a]},gd=(e,n)=>{if(Ra(n))return ss(n,e);if(Eo(n))return ko(n,e);if(fi(n))return na(e,n);throw Error(`Unknown shape`)},_d=(e,n)=>{if(Ra(n))return ss(n,e);if(Eo(n))return ko(n,e);if(fi(n))return na(e,n);throw Error(`Unknown shape`)},vd=e=>[e.x,e.y],yd=(...e)=>wi(e.map(e=>vd(e)));function bd(e,n){return e.x*n.y-e.y*n.x}function xd(e,n,r,i){return e*i-n*r}function Sd(e,n,r){if(Array.isArray(e)){if(e.length===3)return Object.freeze({x:e[0],y:e[1],z:e[2]});if(e.length===2)return Object.freeze({x:e[0],y:e[1]});throw Error(`Expected array of length two or three, got ${e.length}`)}if(e===void 0)throw Error(`Requires an array of [x,y] or x,y parameters at least`);if(Number.isNaN(e))throw Error(`x is NaN`);if(n===void 0)throw Error(`Param 'y' is missing`);if(Number.isNaN(n))throw Error(`y is NaN`);return Object.freeze(r===void 0?{x:e,y:n}:{x:e,y:n,z:r})}const Cd=e=>{if(typeof e!=`string`)throw TypeError(`Param 'str' ought to be a string. Got: ${typeof e}`);let n=e.indexOf(`,`),r=Number.parseFloat(e.substring(0,n)),i=e.indexOf(`,`,n+1);return i>0?{x:r,y:Number.parseFloat(e.substring(n+1,i-n+2)),z:Number.parseFloat(e.substring(i+1))}:{x:r,y:Number.parseFloat(e.substring(n+1))}},wd=(...e)=>{let n=[];if(Array.isArray(e[0]))for(let r of e){if(r.length%2!=0)throw Error(`coords array should be even-numbered`);n.push(Object.freeze({x:r[0],y:r[1]}))}else{if(e.length%2!=0)throw Error(`Expected even number of elements: [x,y,x,y...]`);for(let r=0;r<e.length;r+=2)n.push(Object.freeze({x:e[r],y:e[r+1]}))}return n};function Td(e,n,r,i=!1){return ja(e,n,r,i)}const Ed=(e,n,r=!1)=>Ma({a:e,b:n},r),Dd=(e,n=`both`)=>{switch(n){case`both`:return N(e)?Object.freeze({...e,x:e.x*-1,y:e.y*-1,z:e.z*-1}):Object.freeze({...e,x:e.x*-1,y:e.y*-1});case`x`:return Object.freeze({...e,x:e.x*-1});case`y`:return Object.freeze({...e,y:e.y*-1});case`z`:if(N(e))return Object.freeze({...e,z:e.z*-1});throw Error(`pt parameter is missing z`);default:throw Error(`Unknown what parameter. Expecting 'both', 'x' or 'y'`)}},Od=(e,n=1,r=0)=>{let i=na(e),a=1;return i>n?a=n/i:i<r&&(a=r/i),a===1?e:Ao(e,a,a)},kd=(...e)=>Ca((e,n)=>e.x<=n.x?e:n,...e),Ad=(...e)=>Ca((e,n)=>e.x>=n.x?e:n,...e),jd=(e,n)=>{if(fi(e)&&(n=e.y,e=e.x),n===void 0)throw Error(`Expected y`);return Math.hypot(e,n)},Md=(e,n)=>{let r=ta(e,n),i=jd(r);return i===0?da:Object.freeze({...r,x:r.x/i,y:r.y/i})},Nd=(e,...n)=>Pd(...n)(e),Pd=(...e)=>n=>e.reduce((e,n)=>n(e),n),Fd=Object.freeze({x:0,y:0}),Id=Math.PI*2,Ld=Math.PI;function Rd(e,n=``,r=Fd){e=ia(e,r);let i=Math.atan2(e.y,e.x);return n===`unipolar`&&i<0?i+=Id:n===`bipolar`&&(i>Ld?i-=Id:i<=-Ld&&(i+=Id)),Object.freeze({distance:na(e),angleRadian:i})}function zd(e){return ia(e.b,e.a)}function Bd(e){return A(Oa(e,`line`)),Rd(ia(e.b,e.a))}const Vd=(e,n)=>{let r=ta(e,n),i=0,a=0,o=0,s=performance.now(),c=r;return(e,n)=>{let l=ta(e,n);i+=l.x,a+=l.y,o++;let u=na(l,r),d=na(l,c),f=performance.now(),p=d/(f-s);return s=f,c=l,Object.freeze({angle:va(l,r),distanceFromStart:u,distanceFromLast:d,speed:p,centroid:pd(l,r),average:{x:i/o,y:a/o}})}},Hd=Object.freeze({x:NaN,y:NaN}),Ud=Object.freeze({x:NaN,y:NaN,z:NaN});var Wd=class extends od{initialRelation;markRelation;lastResult;constructor(e={}){super(e)}onTrimmed(e){this.initialRelation=void 0}onReset(){super.onReset(),this.lastResult=void 0,this.initialRelation=void 0,this.markRelation=void 0}mark(){this.markRelation=Vd(this.last)}computeResults(e){let n=this.last,r=this.values.at(-2);if(this.initialRelation===void 0&&this.initial)this.initialRelation=Vd(this.initial);else if(this.initialRelation===void 0)throw Error(`Bug: No initialRelation, and this.inital is undefined?`);let i=Vd(r===void 0?n:r),a=this.initialRelation(n),o=this.markRelation===void 0?void 0:this.markRelation(n),s=r===void 0?0:Aa(r,n,!0)/(n.at-r.at),c={fromInitial:a,fromLast:{...i(n),speed:s},fromMark:o,values:[...this.values]};return this.lastResult=c,c}get line(){return this.values.length===1?[]:cs(...this.values)}get vectorPolar(){return Bd(this.lineStartEnd)}get vectorCartesian(){return zd(this.lineStartEnd)}get lineStartEnd(){let e=this.initial;return this.values.length<2||!e?sf:{a:e,b:this.last}}distanceFromStart(e=!1){let n=this.initial;return this.values.length>=2&&n!==void 0?e?ra(n,this.last):na(n,this.last):0}speedFromStart(e=!1){let n=this.lengthTotal(e),r=this.timespan;return Number.isNaN(r)||n===0?0:Math.abs(n)/r}speedFromLast(e=!1){let n=this.lastResult;return n?n.fromLast.speed:0}difference(){let e=this.initial;return this.values.length>=2&&e!==void 0?ia(this.last,e):Hd}angleFromStart(){let e=this.initial;if(e!==void 0&&this.values.length>2)return va(e,this.last)}lengthTotal(e=!1){if(this.values.length===1)return 0;let n=this.line;return Aa(n,e)}lengthAverage(e=!1){return this.lengthTotal(e)/this.values.length}get x(){return this.last.x}get y(){return this.last.y}get z(){return this.last.z}},Gd=class extends sd{constructor(e={}){super((n,r)=>{if(r===void 0)throw Error(`Requires start point`);let i=new Wd({...e,id:n});return i.seen(r),i})}get(e){return super.get(e)}},Kd=class extends Wd{seenEvent(e){if(`getCoalescedEvents`in e){let n=e.getCoalescedEvents().map(e=>({x:e.clientX,y:e.clientY}));return this.seen(...n)}return this.seen({x:e.clientX,y:e.clientY})}},qd=class extends sd{constructor(e={}){super((n,r)=>{if(r===void 0)throw Error(`Requires start point`);let i=new Kd({...e,id:n});return i.seen(r),i})}get(e){return super.get(e)}seenEvent(e){if(`getCoalescedEvents`in e){let n=e.getCoalescedEvents().map(e=>super.seen(e.pointerId.toString(),e));return Promise.all(n)}return Promise.all([super.seen(e.pointerId.toString(),e)])}};const Jd=(e,n,r)=>{let i=ia(e,n),a=ia(r,n);return N(i)&&N(a)?(i.x*a.x+i.y*a.y+i.z*a.z)/(a.x*a.x+a.y*a.y+a.z*a.z):(i.x*a.x+i.y*a.y)/(a.x*a.x+a.y*a.y)},Yd=(e,n,r)=>({x:Math.cos(r)*n+e.x,y:Math.sin(r)*n+e.y});function Xd(e,n,r=!0){if(M(e,`pt`),M(n,`snap`),N(e)){if(!N(n))throw TypeError(`Param 'snap' is missing 'z' field`);return Object.freeze({x:ji(e.x,n.x,r),y:ji(e.y,n.y,r),z:ji(e.z,n.z,r)})}return Object.freeze({x:ji(e.x,n.x,r),y:ji(e.y,n.y,r)})}const Zd=e=>(e===void 0&&(e=Math.random),Object.freeze({x:e(),y:e()})),Qd=e=>(e===void 0&&(e=Math.random),Object.freeze({x:e(),y:e(),z:e()})),$d=(e,n,r)=>{r===void 0&&(r={x:0,y:0});let i=r;for(let r of e)i=n(r,i);return i};function ef(e,n,r){r===void 0&&(r={x:0,y:0}),M(r,`origin`),A(j(n,``,`amountRadian`));let i=Array.isArray(e);if(n===0)return e;i||(e=[e]);let a=e;for(let[e,n]of a.entries())M(n,`pt[${e}]`);let o=a.map(e=>ga(e,r)).map(e=>ua(e,n)).map(e=>ha(e,r));return i?o:o[0]}const tf=(e,n)=>{let r=[[Math.cos(n),-Math.sin(n)],[Math.sin(n),Math.cos(n)]],i=[];for(let[n,a]of e.entries())i[n]=[r[0][0]*a[0]+r[0][1]*a[1],r[1][0]*a[0]+r[1][1]*a[1]];return i},nf=(e,n,r)=>{let i=ta(e,n);return r??=n,r??=2,Object.freeze({...i,x:ki(r,i.x),y:ki(r,i.y)})},rf=(e,n,r)=>{M(e,`a`),M(n,`b`),typeof r==`number`?(A(j(r,`positive`,`maxRange`)),r={x:r,y:r}):M(r,`maxRange`);let i=Math.abs(n.x-e.x),a=Math.abs(n.y-e.y);return i<=r.x&&a<=r.y},af=(e,n,r)=>(n===void 0&&(n={x:1,y:1}),r===void 0&&(r={x:0,y:0}),M(e,`pt`),M(n,`ptMax`),M(r,`ptMin`),Object.freeze({x:Di(e.x,r.x,n.x),y:Di(e.y,r.y,n.y)}));var of=qr({Empty:()=>da,Empty3d:()=>pa,Placeholder:()=>Hd,Placeholder3d:()=>Ud,PointTracker:()=>Wd,PointsTracker:()=>Gd,Unit:()=>fa,Unit3d:()=>ma,UserPointerTracker:()=>Kd,UserPointersTracker:()=>qd,abs:()=>dd,angleRadian:()=>va,angleRadianCircle:()=>ya,angleRadianThreePoint:()=>ba,apply:()=>fd,average:()=>Ri,averager:()=>zi,bbox:()=>wa,bbox3d:()=>Ta,centroid:()=>pd,clamp:()=>md,clampMagnitude:()=>Od,compare:()=>No,compareByX:()=>Io,compareByY:()=>Lo,compareByZ:()=>Ro,compareRowwise:()=>Po,convexHull:()=>hd,cross:()=>bd,crossProductRaw:()=>xd,distance:()=>na,distance2d:()=>ra,distanceToCenter:()=>gd,distanceToExterior:()=>_d,divide:()=>ld,divider:()=>ud,dotProduct:()=>yd,findMinimum:()=>Ca,from:()=>Sd,fromNumbers:()=>wd,fromString:()=>Cd,getAsBounds:()=>Fo,getPointParameter:()=>ta,getTwoPointParameters:()=>ea,guard:()=>M,guardNonZeroPoint:()=>di,interpolate:()=>Td,interpolator:()=>Ed,invert:()=>Dd,isEmpty:()=>pi,isEqual:()=>Mo,isNaN:()=>li,isNull:()=>ci,isPlaceholder:()=>mi,isPoint:()=>fi,isPoint3d:()=>N,leftmost:()=>kd,multiply:()=>Ao,multiplyScalar:()=>jo,normalise:()=>Md,normaliseByRect:()=>cd,pipeline:()=>Pd,pipelineApply:()=>Nd,pointTest:()=>ui,progressBetween:()=>Jd,project:()=>Yd,quantiseEvery:()=>Xd,random:()=>Zd,random3d:()=>Qd,reduce:()=>$d,relation:()=>Vd,rightmost:()=>Ad,rotate:()=>ef,rotatePointArray:()=>tf,round:()=>nf,subtract:()=>ia,sum:()=>Do,to2d:()=>oa,to3d:()=>sa,toArray:()=>vd,toIntegerValues:()=>aa,toString:()=>ca,withinRange:()=>rf,wrap:()=>af});const sf=Object.freeze({a:Object.freeze({x:0,y:0}),b:Object.freeze({x:0,y:0})});Object.freeze({a:Object.freeze({x:NaN,y:NaN}),b:Object.freeze({x:NaN,y:NaN})});var cf=Object.defineProperty,lf=(e,n,r)=>n in e?cf(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,uf=(e,n)=>{for(var r in n)cf(e,r,{get:n[r],enumerable:!0})},df=(e,n,r)=>lf(e,typeof n==`symbol`?n:n+``,r),ff={hsl:[`h`,`s`,`l`],oklab:[`l`,`a`,`b`],oklch:[`l`,`c`,`h`],rgb:[`r`,`g`,`b`]},pf=[`hsl`,`oklab`,`oklch`,`rgb`],mf=Math.PI/180,hf={l:[.3963377773761749,.2158037573099136],m:[-.1055613458156586,-.0638541728258133],s:[-.0894841775298119,-1.2914855480194092]},gf={l:[.4122214708,.5363325363,.0514459929],m:[.2119034982,.6806995451,.1073969566],s:[.0883024619,.2817188376,.6299787005]},_f={l:[.2104542553,.793617785,.0040720468],a:[1.9779984951,2.428592205,.4505937099],b:[.0259040371,.7827717662,.808675766]},vf={r:[4.076741636075958,-3.307711539258063,.2309699031821043],g:[-1.2684379732850315,2.609757349287688,-.341319376002657],b:[-.0041960761386756,-.7034186179359362,1.7076146940746117]},yf=5,bf=180/Math.PI,F={alpha:`alpha must be a number between 0 and 1`,alphaAdjustment:`alpha must be a number between -1 and 1`,amount:`amount must be a number between 0 and 100`,colorRequired:`color is required`,degreesRange:`degrees must be a number between -360 and 360`,hueArgs:`point, chroma and h are required`,hueRange:`hue must be a number between 0 and 360`,input:`input is required`,inputHex:`input is required and must be a hex`,inputNumber:`input is required and must be a number`,inputString:`input is required and must be a string`,invalid:`invalid input`,invalidColor:`invalid color`,invalidCSS:`invalid CSS string`,invalidHex:`invalid hex`,invalidKey:`invalid key`,invalidModel:`invalid model`,invalidRange:`color value out of range`,left:`left is required and must be a string`,lightnessRange:`lightness must be a number between 0 and 1`,options:`invalid options`,paletteSize:`palette size must be at least 2`,ratioRange:`ratio must be a number between 0 and 1`,right:`right is required and must be a string`,threshold:`threshold must be a number between 0 and 255`,thresholdNormalized:`threshold must be a number between 0 and 1`};function I(e,n){if(e)return;let r=Error(n||`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);throw r.name=`colorizr`,r}var xf={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,grey:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},Sf=/^#(?:[\da-f]{3,4}|[\da-f]{6,8})$/i;function Cf(e){return Array.isArray(e)&&e.length===6}function wf(e){return L(e)?Sf.test(e):!1}function Tf(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`h`?n>=0&&n<=360:e===`alpha`?n>=0&&n<=1:ff.hsl.includes(e)&&n>=0&&n<=100)}function Ef(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`l`?n>=0&&n<=100:e===`alpha`?n>=0&&n<=1:ff.oklab.includes(e)&&n>=-1&&n<=1)}function Df(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`l`?n>=0&&n<=100:e===`alpha`?n>=0&&n<=1:ff.oklch.includes(e)&&n>=0&&n<=(e===`h`?360:1))}function Of(e){return L(e)&&Object.keys(xf).includes(e.toLowerCase())}function kf(e){return typeof e==`number`&&!Number.isNaN(e)}function Af(e,n,r){return kf(e)&&e>=n&&e<=r}function jf(e){if(!e)return!1;let{toString:n}=Object.prototype,r=Object.getPrototypeOf(e);return n.call(e)===`[object Object]`&&(r===null||r===Object.getPrototypeOf({}))}function Mf(e){if(!jf(e))return!1;let n=Object.entries(e);return!!n.length&&n.every(([e,n])=>e===`alpha`?n>=0&&n<=1:ff.rgb.includes(e)&&n>=0&&n<=255)}function L(e,n=!0){let r=typeof e==`string`;return n?r&&!!e.trim().length:r}function Nf(e){return Tf(e)||Mf(e)||Ef(e)||Df(e)}function Pf(e){I(wf(e),F.inputHex);let n=e.replace(`#`,``);if(n.length===3||n.length===4){let e=[...n];n=``,e.forEach(e=>{n+=`${e}${e}`})}let r=`#${n}`;return I(wf(r),F.invalidHex),r}function R(e,n){I(Nf(e),F.invalid);let r=n;return r===void 0||(r>1&&(r/=100),r===1)?e:{...e,alpha:r}}function Ff(e,n=0,r=100){return Math.min(Math.max(e,n),r)}function If(e,n){I(kf(e),F.inputNumber);let r=e+n;return r>360&&(r%=360),r<0&&(r+=360),Math.abs(r)}function Lf(e){if(!Array.isArray(e))return e.alpha}function Rf(e,n,r){switch(I(kf(e),F.inputNumber),I(pf.includes(n),`${F.invalidModel}${n?`: ${n}`:``}`),I(ff[n].includes(r),`${F.invalidKey}${r?`: ${r}`:``}`),n){case`hsl`:return I(ff.hsl.includes(r),F.invalidKey),[`l`,`s`].includes(r)?Ff(e):Ff(e,0,360);case`rgb`:return I(ff.rgb.includes(r),F.invalidKey),Ff(e,0,255);default:throw Error(`Invalid inputs`)}}function zf(e,n){let r=ff[n],i={hsl:Tf,oklab:Ef,oklch:Df,rgb:Mf};I(jf(e)||Array.isArray(e),F.invalid);let a=Array.isArray(e)?{[r[0]]:e[0],[r[1]]:e[1],[r[2]]:e[2]}:e;return I(i[n](a),`${F.invalidColor}: ${n}`),a}function Bf(e,n=yf,r=!0){let i=new Map(Object.entries(e));for(let[e,a]of i.entries())i.set(e,Vf(a,n,r));return Object.fromEntries(i)}function Vf(e,n=2,r=!0){if(!kf(e)||e===0)return 0;if(r){let r=10**n;return Math.round(e*r)/r}let i=Math.abs(Math.ceil(Math.log(Math.abs(e))/Math.LN10));i===0?i=2:i>n&&(i=n);let a=n-(i<0?0:i);a<=1&&n>1?a=2:(a>n||a===0)&&(a=n);let o=10**a;return Math.round(e*o)/o}function Hf(e,n){return I(wf(e),F.inputHex),I(Af(n,0,1),F.alpha),n>=1?Gf(e):`${Gf(e)}${Uf(n)}`}function Uf(e){I(kf(e),F.inputNumber);let n=e;return e>1&&(n/=100),Math.round(n*255).toString(16).padStart(2,`0`)}function Wf(e){I(wf(e),F.inputString);let n=e.substring(7,9);return n?Vf(parseInt(n,16)/255):1}function Gf(e){return I(wf(e),F.inputHex),e.length===5?e.substring(0,4):e.substring(0,7)}function Kf(e){I(wf(e),F.inputHex);let n=Pf(e).slice(1),r=Wf(e);return R({r:parseInt(n.charAt(0)+n.charAt(1),16),g:parseInt(n.charAt(2)+n.charAt(3),16),b:parseInt(n.charAt(4)+n.charAt(5),16)},r)}var qf={};uf(qf,{hex2hsl:()=>Yf,hex2oklab:()=>ep,hex2oklch:()=>ap,hex2rgb:()=>Kf,hsl2hex:()=>lp,hsl2oklab:()=>up,hsl2oklch:()=>dp,hsl2rgb:()=>sp,oklab2hex:()=>hp,oklab2hsl:()=>gp,oklab2oklch:()=>rp,oklab2rgb:()=>mp,oklch2hex:()=>xp,oklch2hsl:()=>Sp,oklch2oklab:()=>yp,oklch2rgb:()=>bp,rgb2hex:()=>cp,rgb2hsl:()=>Jf,rgb2oklab:()=>$f,rgb2oklch:()=>ip});function Jf(e){let n=zf(e,`rgb`),r=Lf(e),i=Rf(n.r,`rgb`,`r`)/255,a=Rf(n.g,`rgb`,`g`)/255,o=Rf(n.b,`rgb`,`b`)/255,s=Math.min(i,a,o),c=Math.max(i,a,o),l=c-s,u=0,d,f=(c+s)/2,p;switch(c){case i:p=l?(a-o)/l:0,u=60*p;break;case a:p=(o-i)/l,u=60*p+120;break;case o:p=(i-a)/l,u=60*p+240}return u<0&&(u=360+u),d=s===c?0:f<.5?l/(2*f):l/(2-2*f),R({h:Math.abs(+(u%360).toFixed(2)),s:+(d*100).toFixed(2),l:+(f*100).toFixed(2)},r)}function Yf(e){I(wf(e),F.inputHex);let n=Wf(e);return R(Jf(Kf(e)),n)}var{cbrt:Xf,sign:Zf}=Math;function Qf(e){let n=Math.abs(e);return n<.04045?e/12.92:(Zf(e)||1)*((n+.055)/1.055)**2.4}function $f(e,n=yf){let r=zf(e,`rgb`),i=Lf(e),[a,o,s]=[Qf(r.r/255),Qf(r.g/255),Qf(r.b/255)],c=Xf(gf.l[0]*a+gf.l[1]*o+gf.l[2]*s),l=Xf(gf.m[0]*a+gf.m[1]*o+gf.m[2]*s),u=Xf(gf.s[0]*a+gf.s[1]*o+gf.s[2]*s);return R(Bf({l:_f.l[0]*c+_f.l[1]*l-_f.l[2]*u,a:_f.a[0]*c-_f.a[1]*l+_f.a[2]*u,b:_f.b[0]*c+_f.b[1]*l-_f.b[2]*u},n),i)}function ep(e,n){I(wf(e),F.inputHex);let r=Wf(e);return R($f(Kf(e),n),r)}var{atan2:tp,sqrt:np}=Math;function rp(e,n){let{l:r,a:i,b:a}=Bf(zf(e,`oklab`)),o=Lf(e),s=np(i**2+a**2),c=(tp(a,i)*bf+360)%360;return Vf(s*1e4)===0&&(c=0),R(Bf({l:r,c:s,h:c},n),o)}function ip(e,n){let r=zf(e,`rgb`),i=Lf(e);return R(rp($f(r,n),n),i)}function ap(e,n){I(wf(e),F.inputHex);let r=Wf(e);return R(ip(Kf(e),n),r)}function op(e,n,r){I(kf(e)&&kf(n)&&kf(r),F.hueArgs);let i=r;return i<0&&(i+=1),i>1&&--i,Vf(i<1/6?e+(n-e)*6*i:i<1/2?n:i<2/3?e+(n-e)*(2/3-i)*6:e,4)}function sp(e){let n=zf(e,`hsl`),r=Lf(e),i=Vf(n.h)/360,a=Vf(n.s)/100,o=Vf(n.l)/100,s,c,l,u,d;return a===0?(s=o,c=o,l=o):(d=o<.5?o*(1+a):o+a-o*a,u=2*o-d,s=op(u,d,i+1/3),c=op(u,d,i),l=op(u,d,i-1/3)),R({r:Math.round(s*255),g:Math.round(c*255),b:Math.round(l*255)},r)}function cp(e){let n=zf(e,`rgb`),r=Lf(e),i=`#${[n.r,n.g,n.b].map(e=>`0${Math.floor(e).toString(16)}`.slice(-2)).join(``)}`;return r!==void 0&&r<1?Hf(i,r):i}function lp(e){let n=zf(e,`hsl`),r=Lf(e),i=cp(sp(n));return r!==void 0&&r<1?Hf(i,r):i}function up(e,n){let r=zf(e,`hsl`),i=Lf(e);return R($f(sp(r),n),i)}function dp(e,n){let r=zf(e,`hsl`),i=Lf(e);return R(ip(sp(r),n),i)}var{abs:fp}=Math;function pp(e){let n=fp(e);return n>.0031308?(e<0?-1:1)*(n**(1/2.4)*1.055-.055):e*12.92}function mp(e,n=0){let{l:r,a:i,b:a}=zf(e,`oklab`),o=Lf(e),s=(r+hf.l[0]*i+hf.l[1]*a)**3,c=(r+hf.m[0]*i+hf.m[1]*a)**3,l=(r+hf.s[0]*i+hf.s[1]*a)**3,u=255*pp(vf.r[0]*s+vf.r[1]*c+vf.r[2]*l),d=255*pp(vf.g[0]*s+vf.g[1]*c+vf.g[2]*l),f=255*pp(vf.b[0]*s+vf.b[1]*c+vf.b[2]*l);return R({r:Ff(Vf(u,n),0,255),g:Ff(Vf(d,n),0,255),b:Ff(Vf(f,n),0,255)},o)}function hp(e){let n=zf(e,`oklab`),r=Lf(e),i=cp(mp(n));return r!==void 0&&r<1?Hf(i,r):i}function gp(e){let n=zf(e,`oklab`),r=Lf(e);return R(Jf(mp(n)),r)}var{sin:_p,cos:vp}=Math;function yp(e,n){let{l:r,c:i,h:a}=zf(e,`oklch`),o=Lf(e);return(Number.isNaN(a)||a<0)&&(a=0),R(Bf({l:r,a:i*vp(a*mf),b:i*_p(a*mf)},n),o)}function bp(e,n=0){let r=zf(e,`oklch`),i=Lf(e);return R(mp(yp(r),n),i)}function xp(e){let n=zf(e,`oklch`),r=Lf(e),i=cp(bp(n));return r!==void 0&&r<1?Hf(i,r):i}function Sp(e){let n=zf(e,`oklch`),r=Lf(e);return R(Jf(bp(n)),r)}var Cp=`(rgb|hsl|oklab|oklch)a?`,wp=`(?:\\s*[,/]\\s*|\\s+)`,Tp=`(none|[\\d%.-]+(?:deg|grad|rad|turn)?)`,Ep=RegExp(`${Cp}\\s*\\(\\s*${Tp}${wp}${Tp}${wp}${Tp}(?:${wp}${Tp})?\\s*\\)`,`i`);function Dp(e){let n=parseFloat(e),r;return r=e.endsWith(`grad`)?n*.9:e.endsWith(`rad`)?180/Math.PI*n:e.endsWith(`turn`)?n*360:n,Math.round(r*1e5)/1e5}function Op(e){if(I(L(e),F.inputString),wf(e)){let n=ff.rgb,{r,g:i,b:a}=Kf(e),o=Wf(e);return{model:`rgb`,[n[0]]:r,[n[1]]:i,[n[2]]:a,alpha:o<1?o:void 0}}let n=Ep.exec(e);I(Cf(n),F.invalidCSS);let r=n[1],i=ff[r],a=n[5]?parseFloat(n[5]):1;a>1&&(a/=100);let o=(e,n)=>{if(e===`none`)return 0;if(r===`hsl`&&n===0||r===`oklch`&&n===2)return Dp(e);let i=parseFloat(e);if(!e.includes(`%`))return i;if(r===`oklch`){if(n===1)return i*.4/100}else if(r===`oklab`&&(n===1||n===2))return i*.4/100;return i},s=[o(n[2],0),o(n[3],1),o(n[4],2)];return r===`oklab`?(I(s[1]>=-.4&&s[1]<=.4,F.invalidRange),I(s[2]>=-.4&&s[2]<=.4,F.invalidRange)):r===`oklch`&&I(s[1]>=0&&s[1]<=.4,F.invalidRange),{model:r,[i[0]]:s[0],[i[1]]:s[1],[i[2]]:s[2],alpha:a<1?a:void 0}}var kp={oklab:gp,oklch:Sp,rgb:Jf},Ap={hsl:up,oklch:yp,rgb:$f},jp={hsl:dp,oklab:rp,rgb:ip},Mp={hsl:sp,oklab:mp,oklch:bp},Np={hsl:lp,oklab:hp,oklch:xp,rgb:cp},Pp={hsl:Yf,oklab:ep,oklch:ap,rgb:Kf},Fp={hsl:kp,oklab:Ap,oklch:jp,rgb:Mp};function Ip(e,n){let{alpha:r,model:i,...a}=Op(e);[`oklab`,`oklch`].includes(i)&&a.l>1&&(a.l=Vf(a.l/100,yf));let o=Object.values(a);if(n===`hex`){let e=r?Uf(r):``;return`${Np[i](o)}${e}`}let s=Fp[n]?.[i];return R(s?s(o):a,r)}function Lp(e,n){let r=Wf(e);return n===`hex`?`${Gf(e)}${r===1?``:Uf(r)}`:R(Pp[n](e),r)}function Rp(e,n){I(L(e),F.inputString);let r=Of(e)?xf[e.toLowerCase()]:e,i=n??(wf(r)?`hex`:Op(r).model);return wf(r)?Lp(r,i):Ip(r,i)}var zp=2.4,Bp=.56,Vp=.57,Hp=.65,Up=.62,Wp=.2126729,Gp=.7151522,Kp=.072175,qp=.022,Jp=1.414,Yp=1.14,Xp=1.14,Zp=.027,Qp=.027,$p=.1,em=5e-4;function tm(e){return e>qp?e:e+(qp-e)**Jp}function nm(e,n,r){return Wp*(e/255)**zp+Gp*(n/255)**zp+Kp*(r/255)**zp}function rm(e,n){I(L(e),F.inputString),I(L(n),F.inputString);let r=Kf(Rp(e,`hex`)),i=Kf(Rp(n,`hex`)),a=tm(nm(i.r,i.g,i.b)),o=tm(nm(r.r,r.g,r.b));if(Math.abs(o-a)<em)return 0;let s=o>a?(o**Bp-a**Vp)*Yp:(o**Hp-a**Up)*Xp;return Math.abs(s)<$p?0:Vf(s>0?(s-Zp)*100:(s+Qp)*100,5)}function im(e,n,r=yf){I(L(e),F.left),I(L(n),F.right);let i=Rp(e,`rgb`),a=Rp(n,`rgb`),o=(i.r*299+i.g*587+i.b*114)/1e3,s=(a.r*299+a.g*587+a.b*114)/1e3;return Vf(Math.abs(s-o),r)}function am(e){I(L(e),F.inputString);let{r:n,g:r,b:i}=Rp(e,`rgb`);return Vf((Math.max(n,r,i)-Math.min(n,r,i))/255,4)}function om(e,n){I(L(e),F.left),I(L(n),F.right);let r=Rp(e,`rgb`),i=Rp(n,`rgb`);return Math.max(r.r,i.r)-Math.min(r.r,i.r)+(Math.max(r.g,i.g)-Math.min(r.g,i.g))+(Math.max(r.b,i.b)-Math.min(r.b,i.b))}function sm(e){I(L(e),F.inputString);let{r:n,g:r,b:i}=Rp(e,`rgb`),a=[n/255,r/255,i/255];for(let e=0;e<a.length;e++)a[e]<=.04045?a[e]/=12.92:a[e]=((a[e]+.055)/1.055)**2.4;return Vf(.2126*a[0]+.7152*a[1]+.0722*a[2],4)}function cm(e,n){I(L(e),F.left),I(L(n),F.right);let r=sm(e),i=sm(n);return Vf(r>=i?(r+.05)/(i+.05):(i+.05)/(r+.05))}function lm(e,n){I(L(e),F.left),I(L(n),F.right);let r=om(e,n),i=cm(e,n),a=im(e,n),o=a>=125,s=r>=500,c=0;return o&&s?c=2:(o||s)&&(c=1),{brightnessDifference:a,colorDifference:r,compliant:c,contrast:i,largeAA:i>=3,largeAAA:i>=4.5,normalAA:i>=4.5,normalAAA:i>=7}}function um(e){if(wf(e)||Of(e))return`hex`;if(Tf(e))return`hsl`;if(Ef(e))return`oklab`;if(Df(e))return`oklch`;if(Mf(e))return`rgb`;throw Error(F.invalid)}function dm(e,n){let r=Of(e)?xf[e.toLowerCase()]:e,i=um(r);if(i===n)return r;let a=qf[`${i}2${n}`];if(!a)throw Error(`Converter not found for ${i} to ${n}`);return a(r)}function fm(e,n={}){I(wf(e)||Nf(e),F.invalid);let{alpha:r,format:i=`hex`,precision:a=yf,separator:o=` `}=n,s=r&&r!==1?`${Vf(r*100)}%`:null,c=[],l=o;switch(i){case`hsl`:{let{h:n,s:r,l:i}=dm(e,`hsl`);c=[n,`${r}%`,`${i}%`];break}case`oklab`:{l=` `;let{l:n,a:r,b:i}=Bf(dm(e,`oklab`),a);c=[`${Vf(n*100,a)}%`,r,i];break}case`oklch`:{l=` `;let{l:n,c:r,h:i}=Bf(dm(e,`oklch`),a);c=[`${Vf(n*100,a)}%`,r,i];break}case`rgb`:{let{r:n,g:r,b:i}=dm(e,`rgb`);c=[n,r,i];break}default:{let n=Gf(dm(e,`hex`));return r&&r!==1?`${n}${Uf(r)}`:n}}return`${i}(${c.join(l)}${s?` / ${s}`:``})`}function pm(e,n,r){return(i,a)=>{I(L(i),F.inputString),I(Af(a,0,100),F.amount);let o=Rp(i,`hsl`),s=wf(i)||Of(i)?`hex`:Op(i).model;return fm({...o,[e]:Ff(o[e]+(n===`+`?a:-a),0,100)},{format:r??s})}}function mm(e,n,r){return pm(`l`,`-`,r)(e,n)}function hm(e,n,r){return pm(`s`,`-`,r)(e,n)}function gm(e,n){I(L(e),F.inputString);let r=wf(e)||Of(e)?`hex`:Op(e).model,i=Rp(e,`oklch`);return fm({...i,c:0},{format:n??r,alpha:i.alpha})}function _m(e,n,r){I(L(e),F.inputString),I(Af(n,-360,360),F.degreesRange);let i=Rp(e,`hsl`),a=wf(e)||Of(e)?`hex`:Op(e).model;return fm({...i,h:If(i.h,n)},{format:r??a})}function vm(e){I(L(e),F.inputString);let n=wf(e)||Of(e)?`hex`:Op(e).model;return fm(_m(Rp(e,`hex`),180),{format:n})}function ym(e,n,r){return pm(`l`,`+`,r)(e,n)}function bm(e,n,r,i,a){if(r<1e-4)return n;if(i<1e-4)return e;let o=n-e;o>180?o-=360:o<-180&&(o+=360);let s=e+o*a;return s<0?s+=360:s>=360&&(s-=360),s}function xm(e,n,r=.5,i){I(L(e),F.inputString),I(L(n),F.inputString),I(Af(r,0,1),F.ratioRange);let a=wf(e)||Of(e)?`hex`:Op(e).model,o=Rp(e,`oklch`),s=Rp(n,`oklch`),c=o.l+(s.l-o.l)*r,l=o.c+(s.c-o.c)*r,u=bm(o.h,s.h,o.c,s.c,r),d=o.alpha??1,f=d+((s.alpha??1)-d)*r;return fm({l:c,c:l,h:u},{format:i??a,alpha:f<1?f:void 0})}function Sm(e){I(!!e,F.input);let n={};if(L(e)){let{alpha:r=1}=Op(e),i=wf(e)?`hex`:Op(e).model;n.hex=Hf(Rp(e,`hex`),r),n.hsl=R(Rp(e,`hsl`),r),n.oklab=R(Rp(e,`oklab`),r),n.oklch=R(Rp(e,`oklch`),r),n.rgb=R(Rp(e,`rgb`),r),n.alpha=r,n.type=i}else if(jf(e)){let{alpha:r=1}=e;if(Tf(e))n.hsl={h:Rf(e.h,`hsl`,`h`),s:Rf(e.s,`hsl`,`s`),l:Rf(e.l,`hsl`,`l`)},n.rgb=sp(n.hsl),n.oklab=up(n.hsl),n.oklch=dp(n.hsl),n.type=`hsl`;else if(Ef(e))n.hsl=gp(e),n.oklab=e,n.oklch=rp(e),n.rgb=mp(e),n.type=`oklab`;else if(Df(e))n.hsl=Sp(e),n.oklab=yp(e),n.oklch=e,n.rgb=bp(e),n.type=`oklch`;else if(Mf(e))n.rgb={r:Rf(e.r,`rgb`,`r`),g:Rf(e.g,`rgb`,`g`),b:Rf(e.b,`rgb`,`b`)},n.hsl=Jf(n.rgb),n.oklab=$f(n.rgb),n.oklch=ip(n.rgb),n.type=`rgb`;else throw Error(`invalid color`);n.hex=Hf(lp(n.hsl),r),n.hsl=R(n.hsl,r),n.oklab=R(n.oklab,r),n.oklch=R(n.oklch,r),n.rgb=R(n.rgb,r),n.alpha=r}else throw Error(F.input);return n}function Cm(e,n,r){I(L(e),F.inputString),I(Af(n,0,1),F.alpha);let i=wf(e)||Of(e)?`hex`:Op(e).model;return fm(Rp(e,`rgb`),{format:r??i,alpha:n})}function wm(e){if(I(L(e),F.inputString),wf(e))return Wf(e);if(Object.keys(xf).includes(e))return 1;let{alpha:n}=Op(e);return n||1}function Tm(e,n,r,i){return e>=n?r:i}function Em(e,n={}){let{darkColor:r=`#000000`,lightColor:i=`#ffffff`,method:a=`yiq`,threshold:o}=n;switch(I(L(e),F.inputString),a){case`yiq`:{let n=o??128;I(n>=0&&n<=255,F.threshold);let{r:a,g:s,b:c}=Kf(Rp(e,`hex`));return(a*299+s*587+c*114)/1e3>=n?r:i}case`wcag`:{let n=o??.5;return I(n>=0&&n<=1,F.thresholdNormalized),sm(e)>=n?r:i}case`contrast`:return Tm(cm(r,e),cm(i,e),r,i);case`oklab`:{let n=o??.5;I(n>=0&&n<=1,F.thresholdNormalized);let{l:a}=ep(Rp(e,`hex`));return a>=n?r:i}case`apca`:return Tm(Math.abs(rm(e,r)),Math.abs(rm(e,i)),r,i);default:throw Error(`Unknown method: ${a}`)}}function Dm(e,n,r){return pm(`s`,`+`,r)(e,n)}function Om(e,n,r){return I(L(e),F.inputString),I(Af(n,-1,1),F.alphaAdjustment),fm(Rp(e,`oklab`),{format:r,alpha:Vf(Ff(wm(e)-n,0,1))})}var km=class{constructor(e,n={}){df(this,`alpha`),df(this,`hex`),df(this,`hsl`),df(this,`oklab`),df(this,`oklch`),df(this,`rgb`),df(this,`type`),I(!!e,F.colorRequired);let{alpha:r,hex:i,hsl:a,oklab:o,oklch:s,rgb:c,type:l}=Sm(e);this.hex=i,this.hsl=a,this.oklab=o,this.oklch=s,this.rgb=c,this.alpha=r,this.type=n.format??l}get css(){return this.currentColor}get red(){return this.rgb.r}get green(){return this.rgb.g}get blue(){return this.rgb.b}get hue(){return this.hsl.h}get saturation(){return this.hsl.s}get lightness(){return this.hsl.l}get luminance(){return sm(this.currentColor)}get chroma(){return am(this.currentColor)}get opacity(){return wm(this.currentColor)}get readableColor(){return Em(this.currentColor)}get currentColor(){return fm(this[this.type],{format:this.type,alpha:this.alpha})}brightnessDifference(e){return im(this.currentColor,e)}colorDifference(e){return om(this.currentColor,e)}compare(e){return lm(this.currentColor,e)}contrast(e){return cm(this.currentColor,e)}format(e,n){return fm(this.rgb,{alpha:this.alpha,format:e,precision:n})}lighten(e){return ym(this.currentColor,e)}darken(e){return mm(this.currentColor,e)}saturate(e){return Dm(this.currentColor,e)}desaturate(e){return hm(this.currentColor,e)}grayscale(){return gm(this.currentColor)}invert(){return vm(this.currentColor)}mix(e,n){return xm(this.currentColor,e,n)}opacify(e=.9){return Cm(this.currentColor,e,this.type)}rotate(e){return _m(this.currentColor,e)}transparentize(e=.1){return Om(this.currentColor,e,this.type)}};function Am(e,n){return fm(Rp(e,n),{format:n})}function jm(e){return!(typeof e!=`object`||!(`h`in e)||!(`s`in e)||!(`l`in e)||!(`unit`in e)||!(`space`in e)||e.space!==`hsl`)}function Mm(e){return typeof e!=`object`||!(`r`in e)||!(`g`in e)||!(`b`in e)||!(`space`in e)||!(`unit`in e)?!1:e.space===`srgb`}function Nm(e){if(typeof e!=`object`)throw TypeError(`Param 'v' is expected to be an object, got: ${typeof e}`);if(`r`in e&&`g`in e&&`b`in e){if(!(`unit`in e)){if(e.r<=1&&e.g<=1&&e.b<=1)e.unit=`scalar`;else if(e.r>255&&e.g<=255&&e.b<=255)return;else e.unit=`8bit`}return`space`in e||(e.space=`srgb`),e}}function Pm(e){if(`h`in e&&`s`in e&&`l`in e){if(!(`unit`in e)){if(e.s<=1&&e.l<=1)e.unit=`scalar`;else if(e.s>100||e.l>100)return;else e.unit=`absolute`}return`space`in e||(e.space=`hsl`),e}}function Fm(e){return typeof e!=`object`||!(`l`in e)||!(`c`in e)||!(`h`in e)||!(`unit`in e)||!(`space`in e)?!1:e.space===`lch`||e.space===`oklch`}function Im(e){return typeof e==`string`||typeof e==`object`&&!!(jm(e)||Fm(e)||Mm(e))}function Lm(e,n,r=1){let i=-1,a=-1;n<e?(i=n-e,a=r-(e-n)):(i=n-e,a=i-r);let o=a>0?a:i,s=a>0?i:a;if(Math.abs(i)<Math.abs(a)){let e=a;a=i,i=e}return{long:i,short:a,forward:o,backward:s}}function Rm(e){let n=e=>{let n=Math.floor(e).toString(16);return n.length===1?`0${n}`:n},r=`#${n(e.r)}${n(e.g)}${n(e.b)}`;return e.alpha!==void 0&&e.alpha!==255&&(r+=n(e.alpha)),r}function zm(e){return e%=1,e<0?(1-Math.abs(e))%1:e}var Bm=Gr({absolute:()=>nh,changeLightness:()=>Hm,fromCss:()=>Km,fromHexString:()=>Gm,generateScalar:()=>Zm,guard:()=>$m,interpolator:()=>eh,parseCssHslFunction:()=>rh,scalar:()=>th,toAbsolute:()=>Xm,toCssString:()=>qm,toHexString:()=>Jm,toLibraryRgb:()=>ih,toScalar:()=>Qm,withOpacity:()=>Vm});function Vm(e,n){switch(e.unit){case`absolute`:return{...e,opacity:n((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function Hm(e,n){let r=0;if(n.pdelta!==void 0)r=e.l+e.l*n.pdelta;else if(n.delta!==void 0)r=n.delta+e.l;else if(n.fixed!==void 0){if(n.fixed<0)throw TypeError(`Cannot use negative value with 'fixed'`);r=n.fixed}else throw TypeError(`Parameter 'amount' is missing 'delta/pdelta/fixed' properties`);return{...e,l:Um(e,r,`l`)}}function Um(e,n,r){return e.unit===`scalar`?n>1?n=1:n<0&&(n=0):n>100?n=100:n<0&&(n=0),n}const Wm=Object.freeze({h:0,s:0,l:0,opacity:0,unit:`absolute`,space:`hsl`});function Gm(e,n={}){return Ym(Yf(e),n)}function Km(e,n={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);if(e.startsWith(`#`))return Gm(e,n);if(e.startsWith(`--`))try{e=Hh(e)}catch(r){if(n.fallbackString!==void 0&&(e=n.fallbackString),n.fallbackColour!==void 0)return n.fallbackColour;throw r}if(e===`transparent`)return Wm;if(Uh[e]!==void 0)return Gm(Uh[e],n);if(e.startsWith(`rgb(`))return Ym(Ch(e),n);if(!e.startsWith(`hsl(`))try{e=Am(e,`hsl`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}try{let r=rh(e);return n.scalar?Qm(r):Xm(r)}catch(e){if(n.fallbackColour)return n.fallbackColour;throw e}}function qm(e){let n=Xm(e),r=`hsl(${n.h}deg ${n.s}% ${n.l}%`;return`opacity`in n&&n.opacity!==void 0&&n.opacity<100&&(r+=` / ${n.opacity}%`),r+=`)`,r}function Jm(e){return Rm(ih(e))}function Ym(e,n={}){if(e==null&&n.fallbackColour)return n.fallbackColour;let r=n.scalar??!0;return A(ii(e.h,0,360,`h`),ii(e.s,0,100,`s`),ii(e.l,0,100,`l`),ni(e.alpha??1,`alpha`)),r?th(e.h/360,e.s/100,e.l/100,e.alpha??1):nh(e.h,e.s,e.l,(e.alpha??1)*100)}function Xm(e){if(typeof e==`string`)return Km(e,{scalar:!1});if(Mm(e))return Xm(Ym(Ch(e),{scalar:!1}));let n=e;return $m(n),n.unit===`absolute`?n:{h:n.h*360,s:n.s*100,l:n.l*100,opacity:(n.opacity??1)*100,unit:`absolute`,space:`hsl`}}function Zm(e,n=1,r=.5,i=1){typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim());let a=Ki(e);if(n>1)throw TypeError(`Param 'saturation' must be between 0..1`);if(r>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(i>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{h:Ji(a,`deg`).value/360,s:n,l:r,opacity:i,unit:`scalar`,space:`hsl`}}function Qm(e){if(typeof e==`string`)return Km(e,{scalar:!0});if(Mm(e))return Qm(Ym(Ch(e),{scalar:!0}));let n=e;return $m(n),n.unit===`scalar`?n:{h:n.h/360,s:n.s/100,l:n.l/100,opacity:(n.opacity??1)/100,unit:`scalar`,space:`hsl`}}function $m(e){let{h:n,s:r,l:i,opacity:a,space:o,unit:s}=e;if(o!==`hsl`)throw Error(`Space is expected to be 'hsl'. Got: ${o}`);if(s===`absolute`)A(j(n,`finite`,`h`),ii(r,0,100,`s`),ii(i,0,100,`l`),()=>{if(typeof a==`number`)return ii(a,0,100,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`h`),j(r,`percentage`,`s`),j(i,`percentage`,`l`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${s}`)}function eh(e,n,r=`shorter`){e=Qm(e),n=Qm(n);let i=e.opacity??1,a=Lm(e.h,n.h,1),o=r===`longer`?a.long:a.short,s=n.s-e.s,c=n.l-e.l,l=(n.opacity??1)-i;return n=>{n=Ti(n);let r=Oi(n,0,Math.abs(o));r=o<0?e.h-r:e.h+r;let a=Oi(n,0,s),u=Oi(n,0,c),d=Oi(n,0,l);return th(zm(r),a+e.s,u+e.l,d+i)}}function th(e=.5,n=1,r=.5,i=1){let a={unit:`scalar`,space:`hsl`,h:e,s:n,l:r,opacity:i};return $m(a),a}function nh(e=200,n=100,r=50,i=100){let a={unit:`absolute`,space:`hsl`,h:e,s:n,l:r,opacity:i};return $m(a),a}function rh(e){if(e.startsWith(`hsla`))throw Error(`hsla() is not supported`);if(!e.startsWith(`hsl(`))throw Error(`Expected hsl(..) CSS colour`);let n=e.indexOf(`(`),r=e.indexOf(`)`);if(r<n)throw Error(`Is hsl() not terminated? Missing ')'`);let i=e.substring(n+1,r).split(/[\s,]+/);if(i.length<3)throw Error(`Expected three tokens. Got: ${i.length} length`);let a=!1;i[0].endsWith(`%`)&&(a=!0),i[1].endsWith(`%`)&&i[2].endsWith(`%`)&&(a=!0);let o=(e,n)=>{if(e===`none`)return 0;if(e.endsWith(`%`))return Number.parseFloat(e.substring(0,e.length-1))/100;e.endsWith(`deg`)&&n===0&&(e=e.substring(0,e.length-3));let r=Number.parseFloat(e);return n===0?r/360:n===3?r:r/100},s=(e,n)=>{if(e===`none`)return 0;if(e.endsWith(`%`)){let r=Number.parseFloat(e.substring(0,e.length-1));return n===0?r*360:r}return e.endsWith(`deg`)&&n===0?Number.parseFloat(e.substring(0,e.length-3)):Number.parseFloat(e)};return i.length>3&&i[3]===`/`&&(i=[i[0],i[1],i[2],i[4]]),a?th(o(i[0],0),o(i[1],1),o(i[2],2),o(i[3]??`100%`,3)):nh(s(i[0],0),s(i[1],1),s(i[2],2),s(i[3]??`100%`,3))}function ih(e){return typeof e==`string`?ih(Km(e,{scalar:!1})):(e=Xm(e),{...sp({h:e.h,s:e.s,l:e.l}),alpha:(e.opacity??100)/100*255})}var ah=Gr({changeLightness:()=>_h,eightBit:()=>yh,fromCss:()=>lh,fromHexString:()=>sh,guard:()=>gh,interpolator:()=>Sh,lightness:()=>vh,parseCssRgbFunction:()=>xh,scalar:()=>bh,to8bit:()=>mh,toCssString:()=>dh,toHexString:()=>uh,toLibraryHsl:()=>Ch,toScalar:()=>hh,withOpacity:()=>oh});function oh(e,n){switch(e.unit){case`8bit`:return{...e,opacity:n((e.opacity??255)/255,e)*255};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function sh(e,n=!0){return ph(Kf(e),{scalar:n})}const ch=Object.freeze({r:0,g:0,b:0,opacity:0,unit:`8bit`,space:`srgb`});function lh(e,n={}){if(e=e.toLowerCase(),e.startsWith(`hsla(`))throw Error(`hsla() not supported`);if(e.startsWith(`rgba(`))throw Error(`rgba() not supported`);let r=n.scalar??!0;if(e.startsWith(`#`))return sh(e,r);if(e===`transparent`)return ch;if(Uh[e]!==void 0)return sh(Uh[e],r);if(e.startsWith(`hsl(`))return ph(ih(e),n);if(!e.startsWith(`rgb(`))try{e=Am(e,`rgb`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}try{let n=xh(e);return r?hh(n):mh(n)}catch(e){if(n.fallbackColour)return n.fallbackColour;throw e}}function uh(e){return Rm(fh(e))}function dh(e){switch(gh(e),e.unit){case`8bit`:return e.opacity===void 0||e.opacity===255?`rgb(${e.r} ${e.g} ${e.b})`:`rgb(${e.r} ${e.g} ${e.b} / ${(e.opacity??255)/255})`;case`scalar`:return e.opacity===void 0||e.opacity===1?`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}%)`:`rgb(${e.r*100}% ${e.g*100}% ${e.b*100}% / ${(e.opacity??1)*100}%)`;default:throw Error(`Unknown unit: ${e.unit}`)}}function fh(e){let n=mh(e);return{r:n.r,g:n.g,b:n.b,alpha:n.opacity}}function ph(e,n={}){return n.scalar?{r:e.r/255,g:e.g/255,b:e.b/255,opacity:e.alpha??1,unit:`scalar`,space:`srgb`}:{r:e.r,g:e.g,b:e.b,opacity:e.alpha??255,unit:`8bit`,space:`srgb`}}function mh(e){return typeof e==`string`?lh(e,{scalar:!1}):jm(e)?mh(ph(ih(e),{scalar:!1})):(gh(e),e.unit===`8bit`?e:{r:e.r*255,g:e.g*255,b:e.b*255,opacity:(e.opacity??1)*255,unit:`8bit`,space:`srgb`})}function hh(e){return typeof e==`string`?lh(e,{scalar:!0}):jm(e)?hh(ph(ih(e),{scalar:!0})):(gh(e),e.unit===`scalar`?e:{r:e.r/255,g:e.g/255,b:e.b/255,opacity:(e.opacity??1)/255,unit:`scalar`,space:`srgb`})}function gh(e){let{r:n,g:r,b:i,opacity:a,space:o,unit:s}=e;if(o!==`srgb`)throw Error(`Space is expected to be 'srgb'. Got: ${o}`);if(s===`8bit`)A(ii(n,0,255,`r`),ii(r,0,255,`g`),ii(i,0,255,`b`),()=>{if(typeof a==`number`)return ii(a,0,255,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`r`),j(r,`percentage`,`g`),j(i,`percentage`,`b`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${s}`)}function _h(e,n){let r=0,i=new km(dh(e)),a=e.unit===`scalar`;if(n.pdelta!==void 0)r=i.oklab.l+i.oklab.l*n.pdelta;else if(n.delta!==void 0)r=i.oklab.l+n.delta;else if(n.fixed!==void 0){if(n.fixed<0)throw TypeError(`Amount cannot be negative when using 'fixed'`);r=n.fixed}else throw TypeError(`Parameter 'amount' is missing 'pdelta/delta/fixed' properties`);return r<0?r=0:r>1&&(r=1),ph(mp({a:i.oklab.a,b:i.oklab.b,l:r,alpha:i.oklab.alpha}),{scalar:a})}function vh(e){return new km(dh(e)).oklab.l}function yh(e=100,n=100,r=100,i=255){let a={unit:`8bit`,space:`srgb`,r:e,g:n,b:r,opacity:i};return gh(a),a}function bh(e=.5,n=.5,r=.5,i=1){let a={unit:`scalar`,space:`srgb`,r:e,g:n,b:r,opacity:i};return gh(a),a}function xh(e){if(e.startsWith(`rgba`))throw Error(`RGBA is not supported`);if(!e.startsWith(`rgb(`))throw Error(`Expected rgb(..) CSS colour`);let n=e.indexOf(`(`),r=e.indexOf(`)`);if(r<n)throw Error(`Is rgb() not terminated? Missing ')'`);let i=e.substring(n+1,r).split(/[\s,]+/);if(i.length<3)throw Error(`Expected three tokens. Got: ${i.length} length`);let a=0;for(let e of i)e.endsWith(`%`)&&a++;let o=(e,n)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100:n<3?Number.parseFloat(e)/255:Number.parseFloat(e),s=(e,n)=>e.endsWith(`%`)?Number.parseFloat(e.substring(0,e.length-1))/100*255:n<3?Number.parseFloat(e):Number.parseFloat(e)*255;return i.length>3&&i[3]===`/`&&(i=[i[0],i[1],i[2],i[4]]),a>1?bh(o(i[0],0),o(i[1],1),o(i[2],2),o(i[3]??`1`,3)):yh(s(i[0],0),s(i[1],1),s(i[2],2),s(i[3]??`1`,3))}function Sh(e,n){let r=hh(e),i=hh(n),a=r.opacity??1,o=(i.opacity??1)-a,s=i.r-r.r,c=i.g-r.g,l=i.b-r.b;return e=>(e=Ti(e),bh(r.r+Oi(e,0,s),r.g+Oi(e,0,c),r.b+Oi(e,0,l),a+Oi(e,0,o)))}function Ch(e){return typeof e==`string`?Ch(lh(e,{scalar:!1})):(e=mh(e),{...Jf({r:e.r,g:e.g,b:e.b}),alpha:(e.opacity??255)/255})}var wh=Gr({OKLCH_CHROMA_MAX:()=>Th,absolute:()=>Bh,fromCss:()=>Ah,fromHexString:()=>Oh,fromLibrary:()=>Dh,generateScalar:()=>Ih,guard:()=>Eh,interpolator:()=>Rh,scalar:()=>zh,toAbsolute:()=>jh,toCssString:()=>Ph,toHexString:()=>Fh,toScalar:()=>Mh,withOpacity:()=>Lh});const Th=.4;function Eh(e){let{l:n,c:r,h:i,opacity:a,space:o,unit:s}=e;if(o!==`oklch`)throw Error(`Space is expected to be 'oklch'. Got: ${o}`);if(s===`absolute`)A(ni(n,`l`),()=>{if(typeof r==`number`)return ii(r,0,Th,`c`)},()=>{if(typeof i==`number`)return ii(i,0,360,`h`)},ni(a??1,`opacity`));else if(s===`scalar`)A(ni(n,`l`),ni(r,`c`),ni(i,`h`),ni(e.opacity??1,`opacity`));else throw Error(`Unit is expected to be 'absolute' or 'scalar'. Got: ${s}`)}function Dh(e,n={}){if(e==null&&n.fallbackColour)return n.fallbackColour;let r=n.scalar??!0;return A(ni(e.l,`l`),ni(e.c,`c`),ii(e.h,0,360,`h`),ni(e.alpha??1,`alpha`)),r?zh(e.l,e.c/Th,e.h/360,e.alpha??1):Bh(e.l,e.c,e.h,e.alpha??1)}function Oh(e,n={}){return Dh(ap(e),n)}const kh=Object.freeze({l:0,c:0,h:0,opacity:0,unit:`absolute`,space:`oklch`});function Ah(e,n={}){if(e=e.toLowerCase(),e.startsWith(`#`))return Oh(e,n);if(e===`transparent`)return kh;if(Uh[e]!==void 0)return Oh(Uh[e],n);if(e.startsWith(`rgb(`)){let r=mh(xh(e));return Dh(ip({r:r.r,g:r.g,b:r.b}),n)}if(!e.startsWith(`hsl(`)&&!e.startsWith(`oklch(`))try{e=Am(e,`oklch`)}catch(r){if(n.fallbackString)e=n.fallbackString;else throw r}let r=new km(e).oklch;return Dh(r,n)}function jh(e){return typeof e==`string`?jh(Ah(e,{scalar:!0})):(Eh(e),e.unit===`absolute`?e:{space:`oklch`,unit:`absolute`,l:e.l,c:e.c*Th,h:e.h*360,opacity:e.opacity})}function Mh(e){if(typeof e==`string`)return Mh(Ah(e,{scalar:!0}));let n=e;return Eh(n),n.unit===`scalar`?n:{l:n.l,c:n.c/Th,h:n.h/360,opacity:n.opacity??1,unit:`scalar`,space:`oklch`}}function Nh(e){let n=jh(e);return{l:n.l,c:n.c,h:n.h,alpha:n.opacity}}function Ph(e,n=3){Eh(e);let{l:r,c:i,h:a,opacity:o}=e,s=``;switch(e.unit){case`absolute`:s=`oklch(${(r*100).toFixed(n)}% ${i.toFixed(n)} ${a.toFixed(n)}`;break;case`scalar`:s=`oklch(${r.toFixed(n)} ${(i*Th).toFixed(n)} ${(a*360).toFixed(n)}`}return o!==void 0&&o!==1&&(s+=` / ${o.toFixed(n)}`),s+=`)`,s}function Fh(e){return Rm(bp(Nh(e)))}function Ih(e,n=1,r=.5,i=1){if(typeof e==`string`&&e.startsWith(`--`)&&(e=getComputedStyle(document.body).getPropertyValue(e).trim()),r>1)throw TypeError(`Param 'lightness' must be between 0..1`);if(n>1)throw TypeError(`Param 'chroma' must be between 0..1`);let a=Ji(Ki(e),`deg`).value/360;if(i>1)throw TypeError(`Param 'opacity' must be between 0..1`);return{l:r,c:n,h:a,opacity:i,unit:`scalar`,space:`oklch`}}function Lh(e,n){switch(e.unit){case`absolute`:return{...e,opacity:n((e.opacity??100)/100,e)*100};case`scalar`:return{...e,opacity:n(e.opacity??1,e)}}}function Rh(e,n,r=`shorter`){e=Mh(e),n=Mh(n);let i=e.opacity??1,a=Lm(e.h,n.h,1),o=r===`longer`?a.long:a.short,s=n.c-e.c,c=n.l-e.l,l=(n.opacity??1)-i;return n=>{n=Ti(n);let r=Oi(n,0,Math.abs(o));r=o<0?e.h-r:e.h+r;let a=Oi(n,0,s),u=Oi(n,0,c),d=Oi(n,0,l);return zh(u+e.l,a+e.c,zm(r),d+i)}}function zh(e=.7,n=.1,r=.5,i=1){let a={unit:`scalar`,space:`oklch`,l:e,c:n,h:r,opacity:i};return Eh(a),a}function Bh(e,n,r,i=1){let a={space:`oklch`,unit:`absolute`,opacity:i,l:e,c:n,h:r};return Eh(a),a}const Vh=e=>{if(e.startsWith(`#`))return sh(e,!0);if(e.startsWith(`--`)){let n=getComputedStyle(document.body).getPropertyValue(e).trim();if(n.length===0||n===null)throw Error(`Variable missing: ${e}`);return Vh(n)}let n=e.toLowerCase();if(Uh[n]!==void 0)return sh(Uh[n],!0);if(n.startsWith(`hsl(`))return Km(e,{scalar:!0});if(n.startsWith(`rgb(`))return lh(e,{scalar:!0});if(n.startsWith(`oklch(`))return Ah(e,{scalar:!0});throw Error(`String colour is not a hex colour, CSS variable nor well-defined colour. Input: '${e}'`)};function Hh(e,n){if(e.startsWith(`--`)){let r=getComputedStyle(document.body).getPropertyValue(e).trim();if(r.length===0||r===null){if(n!==void 0)return n;throw Error(`CSS variable missing: '${e}'`)}return Hh(r)}return Uh[e]===void 0?e:Uh[e]}const Uh=Object.freeze({aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`,transparent:`#00000000`});function Wh(e,n){if(n===`hsl-scalar`){if(typeof e==`string`||jm(e)||Mm(e))return Qm(e)}else if(n===`hsl-absolute`){if(typeof e==`string`||jm(e))return Xm(e)}else if(n===`oklch-scalar`){if(typeof e==`string`||Fm(e))return Mh(e)}else if(n===`oklch-absolute`){if(typeof e==`string`||Fm(e))return jh(e)}else if(n===`srgb-8bit`){if(typeof e==`string`||Mm(e))return mh(e)}else if(n===`srgb-scalar`){if(typeof e==`string`||Mm(e))return hh(e)}else throw Error(`Destination '${n}' not supported for input: ${JSON.stringify(e)}`);return Wh(qh(e),n)}function Gh(e,n){return qh(Wh(e,n))}function Kh(e,n){if(n===`oklch`)return Wh(e,`oklch-scalar`);if(n===`srgb`)return Wh(e,`srgb-scalar`);if(n===`hsl`)return Wh(e,`hsl-scalar`);throw Error(`Unknown destination: '${n}'`)}function qh(e){if(typeof e==`string`)return e;if(jm(e))return qm(e);if(Mm(e))return dh(e);if(Fm(e))return Ph(e);let n=Nm(e);if(n)return dh(n);let r=Pm(e);if(r)return qm(r);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function Jh(e){if(jm(e))return Jm(e);if(Mm(e))return uh(e);if(Fm(e))return Fh(e);if(typeof e==`string`)return e.startsWith(`#`)?e:uh(Wh(e,`srgb-8bit`));let n=Nm(e);if(n)return uh(n);let r=Pm(e);if(r)return Jm(r);throw Error(`Unknown colour format: '${JSON.stringify(e)}'`)}function Yh(e){return new km(qh(e))}function Xh(e){switch(e.space){case`hsl`:$m(e);break;case`srgb`:gh(e);break;case`oklch`:Eh(e);break;default:throw Error(`Unsupported colour space: '${e.space}'`)}}function Zh(e){if(!Im(e))throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc. Got: ${JSON.stringify(e)}`);let n;if(n=typeof e==`string`?Vh(e):e,n===void 0)throw Error(`Could not parse input. Expected CSS colour string or structured colour {r,g,b}, {h,s,l} etc.`);return Xh(n),n}function Qh(...e){for(let n of e)if(n!=null)try{return qh(Zh(n))}catch{}return`rebeccapurple`}function $h(e,n){let{r,g:i,b:a}=e,o=e.opacity??1;e.unit===`8bit`&&(r/=255,i/=255,a/=255);let s=Math.max(r,i,a),c=Math.min(r,i,a),l=(s+c)/2,u=l,d=l;if(s===c)return n?th(0,0,0,o):nh(0,0,0,o);let f=s-c;switch(u=d>=.5?f/(2-(s+c)):f/(s+c),s){case r:l=((i-a)/f+0)*60;break;case i:l=((a-r)/f+2)*60;break;case a:l=((r-i)/f+4)*60}return n?th(l/360,u,d,o):nh(l,u*100,d*100,o)}const eg=(e,n=.5,r=.75,i=1)=>(A(j(e,`positive`,`index`),j(n,`percentage`,`saturation`),j(r,`percentage`,`lightness`),j(i,`percentage`,`alpha`)),qm(th(e*137.508%360/360,n,r,i))),tg=(e=Math.random)=>e()*360;function ng(e,n={}){let r=n.direction??`shorter`,i=n.destination??`oklch-scalar`,a=n.space??`oklch`,o=rg(e,a),s=o.map(e=>og(e[0],e[1],{space:a,direction:r,destination:i})),c=e.map(e=>Wh(e,i));return e=>{if(e>=1)return c.at(-1);if(e<=0)return c.at(0);let n=Pi(e,0,1,0,o.length),r=Math.floor(n),i=n-r,a=s[r];return a(i)}}function rg(e,n=`hsl`){if(!Array.isArray(e))throw Error(`Param 'colours' is not an array as expected. Got: ${typeof e}`);if(e.length<2)throw Error(`Param 'colours' should be at least two in length. Got: ${e.length}`);return[...Si(e.map(e=>Kh(e,n)))]}function ig(e){return`linear-gradient(to right, ${e.map(e=>qh(e)).join(`, `)})`}function ag(e,n,r={}){let i=og(e,n,r);return e=>qh(i(e))}function og(e,n,r={}){let i=r.space??`oklch`,a=r.direction??`shorter`,o=r.destination??`oklch-scalar`,s;switch(i){case`hsl`:{let r=eh(Wh(e,`hsl-scalar`),Wh(n,`hsl-scalar`),a);s=e=>Wh(r(e),o);break}case`srgb`:{let r=Sh(Wh(e,`srgb-scalar`),Wh(n,`srgb-scalar`));s=e=>Wh(r(e),o);break}default:{let r=Rh(Wh(e,`oklch-scalar`),Wh(n,`oklch-scalar`),a);s=e=>Wh(r(e),o)}}return e=>s(e)}function sg(e,n={}){let r=n.direction??`shorter`,i=n.space??`oklch`,a=rg(e,i),o=0;if(typeof n.stepsBetween==`number`){if(o=n.stepsBetween,o<1)throw Error(`Param 'stepsBetween' must be at least 1`)}else if(typeof n.stepsTotal==`number`){if(n.stepsTotal<=e.length)throw Error(`Param 'stepsTotal' must be greater than number of provided colour stops (${e.length}) +1 per stop`);let r=n.stepsTotal-e.length;o=Math.floor(r/a.length)}let s=a.map(e=>{let n=cg(e[0],e[1],{steps:o,space:i,direction:r,exclusive:!0});return n.push(e[1]),n}),c=a[0];return s.unshift([c[0]]),s.flat().map(e=>qh(e))}function cg(e,n,r={}){let i=r.exclusive??!1,a=r.steps??5,o=r.space??`oklch`,s=r.direction??`shorter`;if(!i&&a<2)throw Error(`Param 'steps' should be at least 2 when 'exclusive' is false`);if(i&&a<1)throw Error(`Param 'steps' should be at least 1 when 'exlusive' is true`);let c=Kh(e,o),l=Kh(n,o),u;switch(o){case`hsl`:u=eh(c,l,s);break;case`oklch`:u=Rh(c,l,s);break;case`srgb`:u=Sh(c,l);break;default:throw Error(`Colour space '${o}' not supported for interpolation.`)}if(!u)throw Error(`Could not create interpolator for space: ${o}`);let d=0,f=0,p=1;i?(d=1/(a+1),f=d,p=1-d):d=1/(a-1);let m=[];for(let e=f;e<=p;e+=d)m.push(u(e));return m}function lg(e,n){return ug(e,e=>Ti(e*n))}function ug(e,n){let r=Zh(e),i;switch(r.space){case`hsl`:i=Vm(r,n);break;case`srgb`:i=oh(r,n);break;case`oklch`:i=Lh(r,n);break;default:throw Error(`Unknown space: '${r.space}'. Expected hsl, srgb, oklch`)}if(!i)throw Error(`Is colour in correct form?`);return typeof e==`string`?qh(i):i}function dg(e,n){let r=Zh(e);return r.opacity=n,typeof e==`string`?qh(r):r}function fg(e){return e.r<<16|e.g<<8|e.b}function pg(e){if(e>16777215)throw TypeError(`Param 'colour' is out of range. Expected max value of 16_777_215, got ${e}`);return{r:e>>16&255,g:e>>8&255,b:e&255,unit:`8bit`,space:`srgb`}}function mg(e){let n=e.r>>3&31,r=e.g>>2&63,i=e.b>>3&31;return n<<11|r<<5|i}function hg(e){if(e>65535)throw TypeError(`Param 'colour' is out of range. Expected max: 65_535. Got: ${e}`);return{r:(e>>11&31)<<3,g:(e>>5&63)<<2,b:(e&31)<<3,unit:`8bit`,space:`srgb`}}var gg=Gr({eightBit:()=>_g,fromCss:()=>Cg,fromHexString:()=>Sg,fromSrgTo8bit:()=>yg,guard:()=>Tg,scalar:()=>vg,to8bit:()=>xg,toHexString:()=>Eg,toScalar:()=>wg,toSrgb8bit:()=>bg});function _g(e=100,n=100,r=100,i=255){let a={unit:`8bit`,space:`ycbcr`,y:e,cb:n,cr:r,opacity:i};return Tg(a),a}function vg(e=.5,n=.5,r=.5,i=1){let a={unit:`scalar`,space:`ycbcr`,y:e,cb:n,cr:r,opacity:i};return Tg(a),a}function yg(e){let{r:n,g:r,b:i,opacity:a}=mh(e);return _g(.299*n+.587*r+.114*i+0,-.169*n+-.331*r+.5*i+128,.5*n+-.419*r+-.081*i+128,a)}function bg(e){let{y:n,cb:r,cr:i,opacity:a}=xg(e);return{unit:`8bit`,space:`srgb`,r:1*n+0*(r-128)+1.4*(i-128),g:1*n+-.343*(r-128)+-.711*(i-128),b:1*n+1.765*(r-128)+0*(i-128),opacity:a}}function xg(e){if(Tg(e),e.unit===`8bit`)return e;let{y:n,cb:r,cr:i,opacity:a}=e;return _g(n*255,r*255,i*255,typeof a==`number`?a*255:255)}function Sg(e,n={}){return yg(sh(e,!1))}function Cg(e,n={}){let r=n.scalar??!1,i=lh(e,{fallbackString:n.fallbackString,scalar:!1,ensureSafe:n.ensureSafe});return r?wg(yg(i)):yg(i)}function wg(e){if(typeof e==`string`)return Cg(e,{scalar:!0});if(jm(e)||Mm(e))return wg(yg(hh(e)));if(Tg(e),e.unit===`scalar`)return e;let{y:n,cb:r,cr:i,opacity:a}=e;return vg(n/255,r/255,i/255,typeof a==`number`?a/255:1)}function Tg(e){let{y:n,cb:r,cr:i,opacity:a,space:o,unit:s}=e;if(o!==`ycbcr`)throw Error(`Space is expected to be 'ycbcr'. Got: ${o}`);if(s===`8bit`)A(ii(n,0,255,`y`),ii(r,0,255,`cb`),ii(i,0,255,`cr`),()=>{if(typeof a==`number`)return ii(a,0,255,`opacity`)});else if(s===`scalar`)A(j(n,`percentage`,`y`),j(r,`percentage`,`cb`),j(i,`percentage`,`cr`),()=>{if(typeof a==`number`)return j(a,`percentage`,`opacity`)});else throw Error(`Unit is expected to be '8bit' or 'scalar'. Got: ${s}`)}function Eg(e){return uh(bg(e))}var Dg=Gr({HslSpace:()=>Bm,OklchSpace:()=>wh,SrgbSpace:()=>ah,YCbCrSpace:()=>gg,convert:()=>Wh,convertScalar:()=>Kh,convertToString:()=>Gh,createSteps:()=>cg,cssDefinedHexColours:()=>Uh,cssLinearGradient:()=>ig,decodeRgbFrom16Bit565:()=>hg,decodeRgbFrom24Bit:()=>pg,encodeRgbTo16Bit565:()=>mg,encodeRgbTo24Bit:()=>fg,fromCssColour:()=>Vh,goldenAngleColour:()=>eg,guard:()=>Xh,interpolator:()=>ng,interpolatorDual:()=>og,interpolatorDualToString:()=>ag,isColourish:()=>Im,isHsl:()=>jm,isOkLch:()=>Fm,isRgb:()=>Mm,multiplyOpacity:()=>lg,randomHue:()=>tg,resolveCss:()=>Hh,rgbToHsl:()=>$h,scale:()=>sg,setOpacity:()=>dg,toColour:()=>Zh,toCssColour:()=>qh,toHexColour:()=>Jh,toLibraryColour:()=>Yh,toStringFirst:()=>Qh,tryParseObjectToHsl:()=>Pm,tryParseObjectToRgb:()=>Nm,withOpacity:()=>ug});const Og={l:[0,1],c:[0,.4],h:[0,360],a:[0,1]},kg={l:Og.l,c:Og.c,h:Og.h,a:Og.a};function Ag(e,n,r,i=1){return i<1?`oklch(${e} ${n} ${r} / ${i})`:`oklch(${e} ${n} ${r})`}function jg(e,n){e!=null&&(e.value=n)}var Mg=class extends n{constructor(...e){super(...e),this.label=``,this.min=0,this.max=1,this.value=0,this.step=.01,this.precision=0,this.dragSensitivity=1,this.miniWidthThreshold=120,this.miniHeightThreshold=45,this.displayTextLogic=`transient`,this._isMini=!1,this._isDragging=!1,this._debounceTimer=void 0,this._handleNumberChange=e=>{let n=e.detail?.value??String(this.value),r=Number.parseFloat(n);this.value=r,this._syncValue(r),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:n},bubbles:!0,composed:!0}))},this._handleInputChange=e=>{let n=e.detail?.value??this.value;this.value=n,clearTimeout(this._debounceTimer),this._debounceTimer=window.setTimeout(()=>{this._isDragging=!1},300),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:String(n)},bubbles:!0,composed:!0}))},this._handleSliderInput=e=>{let n=e.detail?.value??this.value;console.log(`[LABELLED-INPUT] _handleSliderInput called`,{value:n,composedPath:e.composedPath()}),this.value=n,this._isDragging=!0,clearTimeout(this._debounceTimer),this.dispatchEvent(new CustomEvent(`input`,{detail:{value:n},bubbles:!0,composed:!0}))}}get formatter(){return this._formatter??(e=>e)}set formatter(e){this._formatter=e}get hasCustomFormatter(){return this._formatter!==void 0}connectedCallback(){super.connectedCallback(),this._resizeObserver=new ResizeObserver(e=>this._handleResize(e)),this._resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._resizeObserver?.disconnect(),this._resizeObserver=void 0}_handleResize(e){let{width:n,height:r}=e[0].contentRect,i=getComputedStyle(this).getPropertyValue(`--mini`).trim();if(i===`1`){this._isMini=!0;return}if(i===`0`){this._isMini=!1;return}this._isMini=n<this.miniWidthThreshold||r<this.miniHeightThreshold}_syncValue(e){let n=this.renderRoot?.querySelector(this.inputSelector);n&&jg(n,e);let r=this.renderRoot?.querySelector(`ixfx-editable-number`);r&&(jg(r,e),r._requestDisplayUpdate?.())}_renderEditableNumber(){return this._isMini?a:i`
|
|
3430
3430
|
<ixfx-editable-number
|
|
3431
3431
|
class="number"
|
|
3432
3432
|
mode="label"
|
|
@@ -3442,7 +3442,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
3442
3442
|
.formatter=${this._formatter}
|
|
3443
3443
|
@change=${this._handleNumberChange}
|
|
3444
3444
|
></ixfx-editable-number>
|
|
3445
|
-
`}updated(e){super.updated(e),e.has(`value`)&&this._syncValue(this.value)}};E([d()],
|
|
3445
|
+
`}updated(e){super.updated(e),e.has(`value`)&&this._syncValue(this.value)}};E([d()],Mg.prototype,`label`,void 0),E([d({type:Number})],Mg.prototype,`min`,void 0),E([d({type:Number})],Mg.prototype,`max`,void 0),E([d({type:Number})],Mg.prototype,`value`,void 0),E([d({type:Number})],Mg.prototype,`step`,void 0),E([d({type:Number})],Mg.prototype,`precision`,void 0),E([d({type:Number,attribute:`drag-sensitivity`})],Mg.prototype,`dragSensitivity`,void 0),E([d({type:Number,attribute:`mini-width-threshold`})],Mg.prototype,`miniWidthThreshold`,void 0),E([d({type:Number,attribute:`mini-height-threshold`})],Mg.prototype,`miniHeightThreshold`,void 0),E([d({attribute:`display-text-logic`})],Mg.prototype,`displayTextLogic`,void 0),E([m()],Mg.prototype,`_isMini`,void 0),E([m()],Mg.prototype,`_isDragging`,void 0),E([m()],Mg.prototype,`_formatter`,void 0);let Ng=class extends Mg{constructor(...e){super(...e),this.inputSelector=`ixfx-range-input`,this.orientation=`horizontal`,this.tooltip=!1,this.noTooltip=!1,this.tooltipOrientation=`top`,this.lighttouch=!1,this.switchHeight=80}_renderEditableNumber(){return this._isMini?i``:i`
|
|
3446
3446
|
<ixfx-editable-number
|
|
3447
3447
|
class="number"
|
|
3448
3448
|
mode="label"
|
|
@@ -3549,7 +3549,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
3549
3549
|
width: 100%;
|
|
3550
3550
|
height: 100%;
|
|
3551
3551
|
}
|
|
3552
|
-
`}};E([d({type:String})],
|
|
3552
|
+
`}};E([d({type:String})],Ng.prototype,`orientation`,void 0),E([d({type:Boolean})],Ng.prototype,`tooltip`,void 0),E([d({type:Boolean,attribute:`no-tooltip`})],Ng.prototype,`noTooltip`,void 0),E([d({type:String,attribute:`tooltip-orientation`})],Ng.prototype,`tooltipOrientation`,void 0),E([d({type:Boolean})],Ng.prototype,`lighttouch`,void 0),E([d({type:Number,attribute:`switch-height`})],Ng.prototype,`switchHeight`,void 0),Ng=E([T(`ixfx-labelled-range-input`)],Ng);let z=class extends n{constructor(...e){super(...e),this.l=.7,this.c=.15,this.h=180,this.a=1,this.hidePreview=!1,this.hideH=!1,this.hideL=!1,this.hideC=!1,this.showA=!1,this.horizontal=!1,this.slidersVertical=!1,this.hideTooltips=!1,this._valueAttr=null,this.rangeLAttr=null,this.rangeCAttr=null,this.rangeHAttr=null,this.rangeAAttr=null,this._ranges={l:kg.l,c:kg.c,h:kg.h,a:kg.a},this._defaultL=this.l,this._defaultC=this.c,this._defaultH=this.h,this._defaultA=this.a,this._userInitiated=new Set,this._onInput=(e,n)=>{let r=e.detail;this._userInitiated.add(n),this[n]=r.value,this._dispatchInput(),e.stopPropagation()},this._onChange=(e,n)=>{let r=e.detail;this._userInitiated.add(n);let i=typeof r.value==`string`?Number.parseFloat(r.value):r.value;switch(n){case`l`:this.l=i;break;case`c`:this.c=i;break;case`h`:this.h=i;break;case`a`:this.a=i}e.stopPropagation(),this.requestUpdate(),this._dispatchChange()}}get value(){return Ag(this.l,this.c,this.h,this.a)}set value(e){let n=Dg.convert(e,`oklch-absolute`);this.l=n.l,this.c=n.c,this.h=n.h,this.a=n.opacity??1,this._valueAttr=e}setColour(e){let n=Dg.convert(e,`oklch-absolute`);this.l=n.l,this.c=n.c,this.h=n.h,this.a=n.opacity??1}get rangeL(){return[this._ranges.l[0],this._ranges.l[1]]}set rangeL(e){this._applyRangeInput(`l`,e)}get rangeC(){return[this._ranges.c[0],this._ranges.c[1]]}set rangeC(e){this._applyRangeInput(`c`,e)}get rangeH(){return[this._ranges.h[0],this._ranges.h[1]]}set rangeH(e){this._applyRangeInput(`h`,e)}get rangeA(){return[this._ranges.a[0],this._ranges.a[1]]}set rangeA(e){this._applyRangeInput(`a`,e)}setRangeL(e){this.rangeL=e}setRangeC(e){this.rangeC=e}setRangeH(e){this.rangeH=e}setRangeA(e){this.rangeA=e}willUpdate(e){e.has(`rangeLAttr`)&&this._setRangeFromAttribute(`l`,this.rangeLAttr),e.has(`rangeCAttr`)&&this._setRangeFromAttribute(`c`,this.rangeCAttr),e.has(`rangeHAttr`)&&this._setRangeFromAttribute(`h`,this.rangeHAttr),e.has(`rangeAAttr`)&&this._setRangeFromAttribute(`a`,this.rangeAAttr),super.willUpdate(e)}_applyRangeInput(e,n){let r=this._coerceRangeInput(e,n);r&&this._setRange(e,r)}_coerceRangeInput(e,n){if(!Array.isArray(n)||n.length<2)return null;let[r,i]=n;return!Number.isFinite(r)||!Number.isFinite(i)?null:this._normalizeRange(e,[r,i])}_setRangeFromAttribute(e,n){if(n===null){this._setRange(e,kg[e]);return}let r=this._parseRangeString(e,n);r&&this._setRange(e,r)}_setRange(e,n){let r=this._normalizeRange(e,n),i=this._ranges[e];if(i[0]!==r[0]||i[1]!==r[1]){switch(this._ranges={...this._ranges,[e]:r},e){case`l`:this.l=this._clampToRange(`l`,this.l);break;case`c`:this.c=this._clampToRange(`c`,this.c);break;case`h`:this.h=this._clampToRange(`h`,this.h);break;case`a`:this.a=this._clampToRange(`a`,this.a)}this.requestUpdate()}}_getRange(e){return this._ranges[e]??kg[e]}_parseRangeString(e,n){let r=n.trim().split(`-`,2);if(r.length!==2)return null;let i=Number(r[0].trim()),a=Number(r[1].trim());return!Number.isFinite(i)||!Number.isFinite(a)?null:this._normalizeRange(e,[i,a])}_normalizeRange(e,n){let r=kg[e],[i,a]=n,o=Math.min(Math.min(i,a),r[1]),s=Math.max(Math.max(i,a),r[0]);return[Math.max(o,r[0]),Math.min(s,r[1])]}_clampToRange(e,n){let[r,i]=this._getRange(e);return Math.min(Math.max(n,r),i)}render(){let e=(e,n,r,o,s,c,l)=>c?a:i`
|
|
3553
3553
|
<ixfx-labelled-range-input
|
|
3554
3554
|
id="slider-${e}"
|
|
3555
3555
|
label="${n}"
|
|
@@ -3716,13 +3716,13 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
3716
3716
|
min-height: 1.8em;
|
|
3717
3717
|
}
|
|
3718
3718
|
}
|
|
3719
|
-
`]}};E([d({type:Number})],
|
|
3719
|
+
`]}};E([d({type:Number})],z.prototype,`l`,void 0),E([d({type:Number})],z.prototype,`c`,void 0),E([d({type:Number})],z.prototype,`h`,void 0),E([d({type:Number})],z.prototype,`a`,void 0),E([d({type:Boolean,attribute:`hide-preview`,reflect:!0})],z.prototype,`hidePreview`,void 0),E([d({type:Boolean,attribute:`hide-h`,reflect:!0})],z.prototype,`hideH`,void 0),E([d({type:Boolean,attribute:`hide-l`,reflect:!0})],z.prototype,`hideL`,void 0),E([d({type:Boolean,attribute:`hide-c`,reflect:!0})],z.prototype,`hideC`,void 0),E([d({type:Boolean,attribute:`show-a`})],z.prototype,`showA`,void 0),E([d({type:Boolean,attribute:`horizontal`,reflect:!0})],z.prototype,`horizontal`,void 0),E([d({type:Boolean,attribute:`sliders-vertical`,reflect:!0})],z.prototype,`slidersVertical`,void 0),E([d({type:Boolean,attribute:`hide-tooltips`,reflect:!0})],z.prototype,`hideTooltips`,void 0),E([d({type:String,attribute:`value`})],z.prototype,`_valueAttr`,void 0),E([d({type:String,attribute:`range-l`})],z.prototype,`rangeLAttr`,void 0),E([d({type:String,attribute:`range-c`})],z.prototype,`rangeCAttr`,void 0),E([d({type:String,attribute:`range-h`})],z.prototype,`rangeHAttr`,void 0),E([d({type:String,attribute:`range-a`})],z.prototype,`rangeAAttr`,void 0),E([f(`#slider-l`)],z.prototype,`_sliderL`,void 0),E([f(`#slider-c`)],z.prototype,`_sliderC`,void 0),E([f(`#slider-h`)],z.prototype,`_sliderH`,void 0),E([f(`#slider-a`)],z.prototype,`_sliderA`,void 0),E([f(`.preview`)],z.prototype,`_previewEl`,void 0),z=E([T(`ixfx-colour-picker`)],z);let Pg=0;const Fg={small:{width:130,height:100},medium:{width:100,height:155},large:{width:200,height:180},huge:{width:290,height:240}};function Ig(e,n,r,i){return i<1?`
|
|
3720
3720
|
linear-gradient(oklch(${e} ${n} ${r} / ${i}), oklch(${e} ${n} ${r} / ${i})),
|
|
3721
3721
|
repeating-conic-gradient(
|
|
3722
3722
|
var(--surface-2) 0% 25%,
|
|
3723
3723
|
var(--surface-4) 0% 50%
|
|
3724
3724
|
) 50% / 8px 8px
|
|
3725
|
-
`:
|
|
3725
|
+
`:Ag(e,n,r)}let Lg=class extends n{constructor(){super(),this.mode=`fluid`,this.l=.7,this.c=.15,this.h=180,this.a=1,this.showPreview=!1,this.hideH=!1,this.hideL=!1,this.hideC=!1,this.showA=!1,this.horizontal=!1,this.size=`medium`,this._isOpen=!1,this._everOpened=!1,this._hasAction=!1,this._pendingL=this.l,this._pendingC=this.c,this._pendingH=this.h,this._pendingA=this.a,this._savedL=this.l,this._savedC=this.c,this._savedH=this.h,this._savedA=this.a,this._pendingConfirmed=!1,this._onPopoverToggle=e=>{let n=e;this._isOpen=n.newState===`open`,n.newState===`open`?(this._savedL=this.l,this._savedC=this.c,this._savedH=this.h,this._savedA=this.a,this._pendingL=this.l,this._pendingC=this.c,this._pendingH=this.h,this._pendingA=this.a,this._pendingConfirmed=!1):this.mode===`confirm`&&!this._pendingConfirmed&&this._pickerEl?.setColour(Ag(this._savedL,this._savedC,this._savedH,this._savedA))},this._onPickerInput=e=>{e.stopPropagation();let n=e.detail;if(this.mode===`confirm`){this._pendingL=n.l,this._pendingC=n.c,this._pendingH=n.h,this._pendingA=n.a??1;return}this.l=n.l,this.c=n.c,this.h=n.h,this.a=n.a??1,this._dispatchInput()},this._onPickerChange=e=>{e.stopPropagation();let n=e.detail;if(this.mode===`confirm`){this._pendingL=n.l,this._pendingC=n.c,this._pendingH=n.h,this._pendingA=n.a??1;return}this.l=n.l,this.c=n.c,this.h=n.h,this.a=n.a??1,this._dispatchChange()},this._onConfirm=()=>{this.l=this._pendingL,this.c=this._pendingC,this.h=this._pendingH,this.a=this._pendingA,this._pendingConfirmed=!0,this._dispatchChange();try{this._popupEl.hidePopover()}catch{}},this._onActionSlotChange=e=>{this._hasAction=e.target.assignedNodes().length>0},this._onSwatchClick=async()=>{this._everOpened||(this._everOpened=!0,await this.updateComplete);try{this._popupEl.showPopover()}catch{}};let e=++Pg;this._uid=`cp-popup-${e}`,this._anchorName=`--cp-popup-anchor-${e}`,this._popupId=`cp-popup-panel-${e}`}get value(){return Ag(this.l,this.c,this.h,this.a)}set value(e){this.setColour(e)}get _innerHidePreview(){return this.mode===`fluid`&&!this.showPreview}get _pickerDimensions(){return Fg[this.size]??Fg.medium}setColour(e){let n=Dg.convert(e,`oklch-absolute`);this.l=n.l,this.c=n.c,this.h=n.h,this.a=n.opacity??1}firstUpdated(e){super.firstUpdated(e),this._applyAnchorPositioning(),this._updateSwatchBackground()}updated(e){super.updated(e),(e.has(`l`)||e.has(`c`)||e.has(`h`)||e.has(`a`))&&this._updateSwatchBackground()}_applyAnchorPositioning(){let e=this.shadowRoot?.querySelector(`.swatch`);e&&e.style.setProperty(`anchor-name`,this._anchorName),this._popupEl&&this._popupEl.style.setProperty(`position-anchor`,this._anchorName)}_updateSwatchBackground(){let e=this.shadowRoot?.querySelector(`.swatch`);e&&(e.style.background=Ig(this.l,this.c,this.h,this.a))}close(){try{this._popupEl.hidePopover()}catch{}}_dispatchInput(){let e={l:this.l,c:this.c,h:this.h,a:this.a,unit:`scalar`,space:`oklch`};this.dispatchEvent(new CustomEvent(`input`,{detail:e,bubbles:!0,composed:!0}))}_dispatchChange(){let e={l:this.l,c:this.c,h:this.h,a:this.a,unit:`scalar`,space:`oklch`};this.dispatchEvent(new CustomEvent(`change`,{detail:e,bubbles:!0,composed:!0}))}render(){return i`
|
|
3726
3726
|
<button
|
|
3727
3727
|
class="swatch"
|
|
3728
3728
|
@click=${this._onSwatchClick}
|
|
@@ -3913,7 +3913,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
3913
3913
|
outline: 2px solid var(--accent, oklch(60% 0.15 140));
|
|
3914
3914
|
outline-offset: 2px;
|
|
3915
3915
|
}
|
|
3916
|
-
`]}};E([d({type:String})],Ig.prototype,`mode`,void 0),E([d({type:Number})],Ig.prototype,`l`,void 0),E([d({type:Number})],Ig.prototype,`c`,void 0),E([d({type:Number})],Ig.prototype,`h`,void 0),E([d({type:Number})],Ig.prototype,`a`,void 0),E([d({type:Boolean,attribute:`show-preview`})],Ig.prototype,`showPreview`,void 0),E([d({type:Boolean,attribute:`hide-h`,reflect:!0})],Ig.prototype,`hideH`,void 0),E([d({type:Boolean,attribute:`hide-l`,reflect:!0})],Ig.prototype,`hideL`,void 0),E([d({type:Boolean,attribute:`hide-c`,reflect:!0})],Ig.prototype,`hideC`,void 0),E([d({type:Boolean,attribute:`show-a`})],Ig.prototype,`showA`,void 0),E([d({type:Boolean,attribute:`horizontal`})],Ig.prototype,`horizontal`,void 0),E([d({type:String})],Ig.prototype,`size`,void 0),E([m()],Ig.prototype,`_isOpen`,void 0),E([m()],Ig.prototype,`_everOpened`,void 0),E([m()],Ig.prototype,`_hasAction`,void 0),E([f(`.popup`)],Ig.prototype,`_popupEl`,void 0),E([f(`ixfx-colour-picker`)],Ig.prototype,`_pickerEl`,void 0),Ig=E([T(`ixfx-colour-picker-popup`)],Ig);async function Lg(e,n){if(Array.isArray(e))return e;if(Symbol.asyncIterator in new Object(e)){let r=[];for await(let i of e){if(n.aborted)return r;i.replace&&(r.length=0),r.push(...i.items)}return r}return e}function Rg(e,n){if(e.item.key===n)return e;for(let r of e.children??[]){let e=Rg(r,n);if(e)return e}}function zg(e,n,r=void 0){for(let i of e.children??[]){if(i.item.key===n)return r===void 0?e:r;let a=zg(i,n,i);if(a)return a}}function Bg(e,n,r){let i=Rg(e,n);return i!==void 0&&Rg(i,r)!==void 0}function Vg(e,n){return e.children?{...e,children:e.children.filter(e=>!n.has(e.item.key)).map(e=>Vg(e,n))}:e}function Hg(e,n){return n===void 0?e.children??[]:Rg(e,n)?.children??[]}function Ug(e,n,r){return n===void 0||e.item.key===n?{...e,children:r}:e.children?{...e,children:e.children.map(e=>Ug(e,n,r))}:e}function Wg(e,n,r){return Math.max(n,Math.min(r,e))}function Gg(e,n){let r=new Set(n);return n.filter(n=>{let i=zg(e,n);for(;i;){if(r.has(i.item.key))return!1;i=zg(e,i.item.key)}return!0})}function Kg(e,n){let{target:r,source:i}=n,a,o=new Set;if(i===`internal`){let i=Gg(e,[...n.draggedKeys]);if(i.length===0)return e;if(r.parentKey!==void 0){for(let n of i)if(Bg(e,n,r.parentKey))return e}if(r.position!==`inside`){for(let n of i)if(Bg(e,n,r.referenceKey))return e}let s=i.map(n=>Rg(e,n));if(s.includes(void 0))return e;a=s,o=new Set(i)}else if(a=(n.dragged??[]).map(e=>({...e})),a.length===0)return e;let s=o.size>0?Vg(e,o):e,c,l;if(r.position===`inside`){if(Rg(s,r.referenceKey)===void 0)return e;c=r.referenceKey;let n=Hg(s,c);l=Wg(r.index,0,n.length)}else{c=zg(s,r.referenceKey)?.item.key;let n=Hg(s,c).findIndex(e=>e.item.key===r.referenceKey);if(n<0)return e;l=r.position===`before`?n:n+1}let u=[...Hg(s,c)],d=[...u.slice(0,l),...a,...u.slice(l)];return Ug(s,c,d)}function qg(e,n,r=n===`inside`?2**53-1:0){return{referenceKey:e,position:n,index:r,parentKey:n===`inside`?e:void 0,depth:0}}function Jg(e,n,r){return e.item.key===n?r(e):e.children?{item:e.item,children:e.children.map(e=>Jg(e,n,r))}:e}function Yg(e,n,r){return Jg(e,n,e=>({item:e.item,children:[...e.children??[],r]}))}function Xg(e,n){return e.children?{item:e.item,children:e.children.filter(e=>e.item.key!==n).map(e=>Xg(e,n))}:e}function Zg(e,n,r,i){return Jg(e,n,e=>{let n=e.children??[],a=Math.max(0,Math.min(i,n.length));return{item:e.item,children:[...n.slice(0,a),r,...n.slice(a)]}})}function Qg(e){return e.children??[]}var $g=class{#e;#t;#n=new Map;#r=new Set;constructor(e){this.#e=e.root,this.#t=e.loadChildren}get root(){return this.#e}setRoot(e){this.#e=e,this.#n.clear(),this.#i({type:`root`,root:e})}async getChildren(e,n,r){let i=e.item.key;if(this.#n.has(i))return this.#n.get(i);if(!this.#t)return[];let a=[...await Lg(this.#t({node:e,depth:n},r),r)];return r.aborted||this.#n.set(i,a),a}invalidate(e){this.#n.delete(e),this.#i({type:`invalidate`,key:e})}addNode(e,n){return this.#e=Yg(this.#e,e,n),this.#i({type:`root`,root:this.#e}),this.#e}removeNode(e){return this.#n.delete(e),this.#e=Xg(this.#e,e),this.#i({type:`root`,root:this.#e}),this.#e}updateItem(e,n){return this.#e=Jg(this.#e,e,e=>({item:{...e.item,...n},children:e.children})),this.#i({type:`root`,root:this.#e}),this.#e}moveNode(e,n,r){let i=Kg(this.#e,{source:`internal`,draggedKeys:[e],target:qg(n,`inside`,r??2**53-1)});return i!==this.#e&&(this.#e=i,this.#i({type:`root`,root:this.#e})),this.#e}moveNodeRelative(e,n,r){let i=Kg(this.#e,{source:`internal`,draggedKeys:[e],target:qg(n,r)});return i!==this.#e&&(this.#e=i,this.#i({type:`root`,root:this.#e})),this.#e}applyDrop(e){let n=Kg(this.#e,e);return n!==this.#e&&(this.#e=n,this.#i({type:`root`,root:this.#e})),this.#e}insertNode(e,n,r){if(e===void 0){let e=Qg(this.#e),i=Math.max(0,Math.min(r??e.length,e.length));this.#e={...this.#e,children:[...e.slice(0,i),n,...e.slice(i)]}}else this.#e=r===void 0?Yg(this.#e,e,n):Zg(this.#e,e,n,r);return this.#i({type:`root`,root:this.#e}),this.#e}_subscribe(e){return this.#r.add(e),()=>this.#r.delete(e)}#i(e){for(let n of this.#r)n(e)}};const e_=1,t_=`view-state-change`;function n_(e){return typeof e==`object`&&!!e&&typeof e.getViewState==`function`&&typeof e.setViewState==`function`}function r_(e,n){let r;try{r=n.load()}catch(e){console.warn(`bindViewState: load failed`,e)}r&&e.setViewState(r);let i=r=>{let{detail:i}=r;r.target===e&&(i.reason===`restore`&&!n.saveOnRestore||n.save(i.state))},a=()=>n.save(e.getViewState());return e.addEventListener(t_,i),globalThis.addEventListener?.(`pagehide`,a),()=>{e.removeEventListener(t_,i),globalThis.removeEventListener?.(`pagehide`,a)}}function i_(e,n,r,i=`vertical`){let a=e.scrollTop,o=e.scrollLeft,s=o===0?{top:a}:{top:a,left:o};if(n.length===0)return s;let c=e.getBoundingClientRect(),l=i===`vertical`?c.top:c.left,u=e=>{let n=e.getBoundingClientRect();return i===`vertical`?{lo:n.top,hi:n.bottom}:{lo:n.left,hi:n.right}},d=0,f=n.length-1,p=-1;for(;d<=f;){let e=d+f>>1;u(n[e]).hi>l?(p=e,f=e-1):d=e+1}if(p===-1)return s;for(let e=p;e<n.length;e++){let i=r(n[e]);if(i!==void 0)return{...s,anchor:{key:i,offset:Math.round(l-u(n[e]).lo)}}}return s}function a_(e,n,r,i=`vertical`){let a=e.getBoundingClientRect(),o=n.getBoundingClientRect();return i===`vertical`?o_(e,e.scrollTop+(o.top-a.top)+r,i):o_(e,e.scrollLeft+(o.left-a.left)+r,i)}function o_(e,n,r=`vertical`){let i=r===`vertical`?e.scrollHeight-e.clientHeight:e.scrollWidth-e.clientWidth,a=Math.max(0,Math.min(n,i));return r===`vertical`?e.scrollTop=a:e.scrollLeft=a,n<=i+1}function s_(e,n,r,i=0){let a=i===0?{top:e}:{top:e,left:i};return n===void 0?a:{...a,anchor:{key:n,offset:Math.round(e-r)}}}const c_=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`,` `]);function l_(e,n){let r=[`wheel`,`touchstart`,`pointerdown`,`keydown`],i=e=>{e.type===`keydown`&&!c_.has(e.key)||n()};for(let n of r)e.addEventListener(n,i,{passive:!0,capture:!0});return()=>{for(let n of r)e.removeEventListener(n,i,{capture:!0})}}const u_={restore:0,data:1,user:2};var d_=class{#e;#t;#n;#r;#i=0;#a;#o=!1;#s;#c;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get kind(){return this.#t.kind}hostConnected(){this.#c&&!this.#s&&this.observeScrollTarget(this.#c)}hostDisconnected(){this.flush(),this.#s?.(),this.#s=void 0}notify(e=`user`){let n=this.#i>0?`restore`:e;(this.#r===void 0||u_[n]>u_[this.#r])&&(this.#r=n),this.#n!==void 0&&clearTimeout(this.#n),this.#n=setTimeout(()=>this.flush(),this.#t.debounceMs??150)}flush(){this.#n!==void 0&&(clearTimeout(this.#n),this.#n=void 0);let e=this.#r;e!==void 0&&(this.#r=void 0,this.#e.dispatchEvent(new CustomEvent(t_,{detail:{state:this.#t.capture(),reason:e},bubbles:!0})))}restoring(e){this.#i++;try{return e()}finally{this.#i--}}get isRestoring(){return this.#i>0}accepts(e){return typeof e!=`object`||!e?!1:e.v!==void 0&&e.v!==1?(console.warn(`[${this.#t.kind}] ignoring view state with version ${String(e.v)}`),!1):e.kind!==void 0&&e.kind!==this.#t.kind?(console.warn(`[${this.#t.kind}] ignoring view state for kind '${e.kind}'`),!1):!0}shape(e,n){let r={v:1,kind:this.#t.kind},i=n?.include;for(let[n,a]of Object.entries(e))a!==void 0&&(i&&!i.includes(n)||(r[n]=a));return r}observeScrollTarget(e){this.#s?.(),this.#c=e,this.#s=l_(e,()=>{this.#a=void 0})}get pendingScroll(){return this.#a}set pendingScroll(e){this.#a=e}applyPendingScroll(e){let n=this.#a;n&&(this.#o=!0,e(n)&&(this.#a=void 0))}notifyScroll(){if(this.#a)return;let e=this.#o?`restore`:`user`;this.#o=!1,this.notify(e)}};function f_(e,n){let r=[e];for(let e of n){let n=r.at(-1);if(n.children===void 0){let e=n.item.isLeaf===!0;return{nodes:r,blocked:e?void 0:n,done:e}}let i=n.children.find(n=>n.item.key===e);if(!i)return{nodes:r,blocked:void 0,done:!1};r.push(i)}return{nodes:r,blocked:void 0,done:!0}}function p_(e,n){if(e===n)return[];for(let r of e.children??[]){let e=p_(r,n);if(e)return[r.item.key,...e]}}const m_=`narrowed-text-highlight`;let h_=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.requiredSelection=!1,this.orientation=`horizontal`,this.nowrap=!1,this.separator=` `,this.preserveFilter=!1,this.value=``,this.registry=void 0,this._query=``,this._computedItems=[],this._filteredItems=[],this._isFocused=!1,this._selectedValues=new Set,this._search=Et({selector:e=>e.label??e.value}),this.tickled=new oe(this,{getItems:()=>this._filteredItems.map((e,n)=>({id:n,enabled:!0})),onTickle:e=>{if(e===void 0||!this.shadowRoot)return;let n=this.shadowRoot.querySelector(`.items`);if(!n)return;let r=n.querySelectorAll(`.item`)[e];r&&r.scrollIntoView({block:`nearest`,inline:`nearest`})}}),this.#e=()=>{this._updateComputedItems()},this.#t=e=>{let n=e.target;this._query=n.value,this._query.trim()&&this._filteredItems.length>0?this.tickled.setTickled(0):this.tickled.clearTickled(),this._updateFilteredItems()},this.#n=e=>{if(this._filteredItems.length!==0)switch(e.key){case`Tab`:e.shiftKey&&(e.preventDefault(),this.dispatchEvent(new CustomEvent(`narrowed-text-shift-tab`,{bubbles:!0,composed:!0})));return;case`ArrowRight`:{if(this.orientation!==`horizontal`)return;let n=this.tickled.tickledId,r=this._filteredItems.length-1;if(n!==void 0&&n>=r)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`);break}case`ArrowLeft`:{if(this.orientation!==`horizontal`)return;let n=this.tickled.tickledId;if(n!==void 0&&n<=0)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`);break}case`ArrowDown`:{if(this.orientation!==`vertical`)return;let n=this.tickled.tickledId,r=this._filteredItems.length-1;if(n!==void 0&&n>=r)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`);break}case`ArrowUp`:{if(this.orientation!==`vertical`)return;let n=this.tickled.tickledId;if(n!==void 0&&n<=0)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`);break}case`Enter`:{e.preventDefault();let n=this._filteredItems[this.tickled.tickledId??-1];n&&(this._selectItem(n,!1),this._query=``,this._updateFilteredItems());break}case` `:e.preventDefault(),this.tickled.tickledId!==void 0&&this._filteredItems[this.tickled.tickledId]&&this._selectItem(this._filteredItems[this.tickled.tickledId],!1);break;case`Escape`:e.preventDefault(),this._query=``,this.tickled.clearTickled(),this._updateFilteredItems()}},this.#r=()=>{this._isFocused=!0,this._query.trim()&&this._filteredItems.length>0&&this.tickled.setTickled(0)},this.#i=()=>{let e=this.shadowRoot?.querySelector(`.search-input`);e&&requestAnimationFrame(()=>{e.focus()})},this.#a=()=>{this._isFocused=!1,this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`narrowed-text-blur`,{bubbles:!0,composed:!0}))},this.#o=()=>{(this.shadowRoot?.querySelector(`.search-input`))?.focus()},this.#s=e=>{let n=e.target;n.classList.contains(`item`)||n.closest(`.item`)||(this.shadowRoot?.querySelector(`.search-input`))?.focus()}}get selected(){return this.selectionMode===`single`?this._selectedValues.values().next().value??``:[...this._selectedValues]}set selected(e){this.selectionMode===`single`?(this._selectedValues.clear(),e&&this._selectedValues.add(e)):(this._selectedValues.clear(),Array.isArray(e)&&e.forEach(e=>this._selectedValues.add(e))),this._updateFilteredItems()}selectAll(){let e=this._filteredItems;if(e.length!==0){if(this.selectionMode===`single`)this._selectedValues.clear(),this._selectedValues.add(e[0].value);else{this._selectedValues.clear();for(let n of e)this._selectedValues.add(n.value)}this._updateValueFromSelected(),this._updateFilteredItems(),this.dispatchEvent(new CustomEvent(`change`,{detail:{item:void 0,query:this._query,selected:this._computedItems.filter(e=>this._selectedValues.has(e.value))},bubbles:!0,composed:!0}))}}deselectAll(){this.requiredSelection&&this._selectedValues.size<=1||this._selectedValues.size!==0&&(this._selectedValues.clear(),this._updateValueFromSelected(),this._updateFilteredItems(),this.dispatchEvent(new CustomEvent(`change`,{detail:{item:void 0,query:this._query,selected:[]},bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback(),this._unsubSearch=this._search.onChange(e=>{let n=e.results.map(e=>e.item);for(let e of this._computedItems)this._selectedValues.has(e.value)&&!n.includes(e)&&n.push(e);this._filteredItems=n,this._searchState=e,this.requestUpdate()}),this.addEventListener(`narrowed-text-init`,()=>this.#i());let e=this._ownedRegistry=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select every currently-filtered item (or first in single mode)`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e}disconnectedCallback(){super.disconnectedCallback(),this._unsubSearch?.(),this._search.dispose(),re({key:m_}),this.removeEventListener(`narrowed-text-init`,()=>this.#i()),this._ownedRegistry&&(this._ownedRegistry.unregister(`select-all`),this._ownedRegistry.unregister(`deselect-all`),this._ownedRegistry=void 0,this.registry=void 0)}firstUpdated(){this._updateComputedItems()}updated(e){e.has(`value`)&&this._updateSelectedFromValue(),this._applyHighlights()}#e;_updateComputedItems(){let e=this.querySelectorAll(`[data-value]`),n=[];e.forEach(e=>{let r=e.getAttribute(`data-value`)??``,i=e.getAttribute(`data-label`)??e.textContent?.trim()??r,a=e.getAttribute(`data-description`)??void 0,o=e.getAttribute(`data-icon-name`)??void 0;n.push({value:r,label:i,description:a,iconName:o})}),this._computedItems=n,this._search.setItems(n)}_updateSelectedFromValue(){if(this.selectionMode===`single`)this._selectedValues.clear(),this.value&&this._selectedValues.add(this.value);else{let e=this.value.split(`,`).filter(e=>e.trim());this._selectedValues.clear(),e.forEach(e=>this._selectedValues.add(e.trim()))}this._updateFilteredItems()}_updateFilteredItems(){this._search.setQuery(this._query)}_applyHighlights(){if(!this._query.trim()||!this._searchState||!this.shadowRoot){re({key:m_});return}ne(ie(this.shadowRoot,`.item-label`,this._searchState.positionsByItem,e=>{let n=e.getAttribute(`data-item-value`);return this._computedItems.find(e=>e.value===n)},e=>{let n=e.getAttribute(`data-item-value`),r=this._computedItems.find(e=>e.value===n);return r?.label??r?.value??``}),{key:m_})}#t;#n;#r;#i;focus(){let e=this.shadowRoot?.querySelector(`.search-input`);e?e.focus():super.focus()}blur(){let e=this.shadowRoot?.querySelector(`.search-input`);e?e.blur():super.blur()}setContents(e){for(;this.firstChild;)this.firstChild.remove();for(let n of e){let e=document.createElement(`span`);e.setAttribute(`data-value`,n.value),n.label!==void 0&&e.setAttribute(`data-label`,n.label),n.description!==void 0&&e.setAttribute(`data-description`,n.description),n.iconName!==void 0&&e.setAttribute(`data-icon-name`,n.iconName),this.appendChild(e)}this._selectedValues.clear();let n=e.filter(e=>e.selected).map(e=>e.value);for(let e of n)this._selectedValues.add(e);n.length>0&&this.requestUpdate()}deleteItem(e){let n=this.querySelector(`[data-value="${CSS.escape(e)}"]`);return n?(n.remove(),this._selectedValues.delete(e),!0):!1}#a;#o;#s;#c(e){this._selectItem(e);let n=this._filteredItems.findIndex(n=>n.value===e.value);n>=0&&this.tickled.handlePointerEnter(n),(this.shadowRoot?.querySelector(`.search-input`))?.focus()}_selectItem(e,n=!0){this.selectionMode===`single`?this._selectedValues.has(e.value)&&!this.requiredSelection?this._selectedValues.clear():(this._selectedValues.clear(),this._selectedValues.add(e.value)):this._selectedValues.has(e.value)?(!this.requiredSelection||this._selectedValues.size>1)&&this._selectedValues.delete(e.value):this._selectedValues.add(e.value),this._updateValueFromSelected(),this._updateFilteredItems();let r=this._computedItems.filter(e=>this._selectedValues.has(e.value));this.dispatchEvent(new CustomEvent(`change`,{detail:{item:e,query:this._query,selected:r},bubbles:!0,composed:!0})),n&&!this.preserveFilter&&this._query&&(this._query=``,this._updateFilteredItems())}_updateValueFromSelected(){this.value=this.selectionMode===`single`?[...this._selectedValues][0]??``:[...this._selectedValues].join(`,`)}#l(e,n){let r=this.tickled.isTickled(n),o=this._selectedValues.has(e.value),s=e.label??e.value;return i`
|
|
3916
|
+
`]}};E([d({type:String})],Lg.prototype,`mode`,void 0),E([d({type:Number})],Lg.prototype,`l`,void 0),E([d({type:Number})],Lg.prototype,`c`,void 0),E([d({type:Number})],Lg.prototype,`h`,void 0),E([d({type:Number})],Lg.prototype,`a`,void 0),E([d({type:Boolean,attribute:`show-preview`})],Lg.prototype,`showPreview`,void 0),E([d({type:Boolean,attribute:`hide-h`,reflect:!0})],Lg.prototype,`hideH`,void 0),E([d({type:Boolean,attribute:`hide-l`,reflect:!0})],Lg.prototype,`hideL`,void 0),E([d({type:Boolean,attribute:`hide-c`,reflect:!0})],Lg.prototype,`hideC`,void 0),E([d({type:Boolean,attribute:`show-a`})],Lg.prototype,`showA`,void 0),E([d({type:Boolean,attribute:`horizontal`})],Lg.prototype,`horizontal`,void 0),E([d({type:String})],Lg.prototype,`size`,void 0),E([m()],Lg.prototype,`_isOpen`,void 0),E([m()],Lg.prototype,`_everOpened`,void 0),E([m()],Lg.prototype,`_hasAction`,void 0),E([f(`.popup`)],Lg.prototype,`_popupEl`,void 0),E([f(`ixfx-colour-picker`)],Lg.prototype,`_pickerEl`,void 0),Lg=E([T(`ixfx-colour-picker-popup`)],Lg);async function Rg(e,n){if(Array.isArray(e))return e;if(Symbol.asyncIterator in new Object(e)){let r=[];for await(let i of e){if(n.aborted)return r;i.replace&&(r.length=0),r.push(...i.items)}return r}return e}function zg(e,n){if(e.item.key===n)return e;for(let r of e.children??[]){let e=zg(r,n);if(e)return e}}function Bg(e,n,r=void 0){for(let i of e.children??[]){if(i.item.key===n)return r===void 0?e:r;let a=Bg(i,n,i);if(a)return a}}function Vg(e,n,r){let i=zg(e,n);return i!==void 0&&zg(i,r)!==void 0}function Hg(e,n){return e.children?{...e,children:e.children.filter(e=>!n.has(e.item.key)).map(e=>Hg(e,n))}:e}function Ug(e,n){return n===void 0?e.children??[]:zg(e,n)?.children??[]}function Wg(e,n,r){return n===void 0||e.item.key===n?{...e,children:r}:e.children?{...e,children:e.children.map(e=>Wg(e,n,r))}:e}function Gg(e,n,r){return Math.max(n,Math.min(r,e))}function Kg(e,n){let r=new Set(n);return n.filter(n=>{let i=Bg(e,n);for(;i;){if(r.has(i.item.key))return!1;i=Bg(e,i.item.key)}return!0})}function qg(e,n){let{target:r,source:i}=n,a,o=new Set;if(i===`internal`){let i=Kg(e,[...n.draggedKeys]);if(i.length===0)return e;if(r.parentKey!==void 0){for(let n of i)if(Vg(e,n,r.parentKey))return e}if(r.position!==`inside`){for(let n of i)if(Vg(e,n,r.referenceKey))return e}let s=i.map(n=>zg(e,n));if(s.includes(void 0))return e;a=s,o=new Set(i)}else if(a=(n.dragged??[]).map(e=>({...e})),a.length===0)return e;let s=o.size>0?Hg(e,o):e,c,l;if(r.position===`inside`){if(zg(s,r.referenceKey)===void 0)return e;c=r.referenceKey;let n=Ug(s,c);l=Gg(r.index,0,n.length)}else{c=Bg(s,r.referenceKey)?.item.key;let n=Ug(s,c).findIndex(e=>e.item.key===r.referenceKey);if(n<0)return e;l=r.position===`before`?n:n+1}let u=[...Ug(s,c)],d=[...u.slice(0,l),...a,...u.slice(l)];return Wg(s,c,d)}function Jg(e,n,r=n===`inside`?2**53-1:0){return{referenceKey:e,position:n,index:r,parentKey:n===`inside`?e:void 0,depth:0}}function Yg(e,n,r){return e.item.key===n?r(e):e.children?{item:e.item,children:e.children.map(e=>Yg(e,n,r))}:e}function Xg(e,n,r){return Yg(e,n,e=>({item:e.item,children:[...e.children??[],r]}))}function Zg(e,n){return e.children?{item:e.item,children:e.children.filter(e=>e.item.key!==n).map(e=>Zg(e,n))}:e}function Qg(e,n,r,i){return Yg(e,n,e=>{let n=e.children??[],a=Math.max(0,Math.min(i,n.length));return{item:e.item,children:[...n.slice(0,a),r,...n.slice(a)]}})}function $g(e){return e.children??[]}var e_=class{#e;#t;#n=new Map;#r=new Set;constructor(e){this.#e=e.root,this.#t=e.loadChildren}get root(){return this.#e}setRoot(e){this.#e=e,this.#n.clear(),this.#i({type:`root`,root:e})}async getChildren(e,n,r){let i=e.item.key;if(this.#n.has(i))return this.#n.get(i);if(!this.#t)return[];let a=[...await Rg(this.#t({node:e,depth:n},r),r)];return r.aborted||this.#n.set(i,a),a}invalidate(e){this.#n.delete(e),this.#i({type:`invalidate`,key:e})}addNode(e,n){return this.#e=Xg(this.#e,e,n),this.#i({type:`root`,root:this.#e}),this.#e}removeNode(e){return this.#n.delete(e),this.#e=Zg(this.#e,e),this.#i({type:`root`,root:this.#e}),this.#e}updateItem(e,n){return this.#e=Yg(this.#e,e,e=>({item:{...e.item,...n},children:e.children})),this.#i({type:`root`,root:this.#e}),this.#e}moveNode(e,n,r){let i=qg(this.#e,{source:`internal`,draggedKeys:[e],target:Jg(n,`inside`,r??2**53-1)});return i!==this.#e&&(this.#e=i,this.#i({type:`root`,root:this.#e})),this.#e}moveNodeRelative(e,n,r){let i=qg(this.#e,{source:`internal`,draggedKeys:[e],target:Jg(n,r)});return i!==this.#e&&(this.#e=i,this.#i({type:`root`,root:this.#e})),this.#e}applyDrop(e){let n=qg(this.#e,e);return n!==this.#e&&(this.#e=n,this.#i({type:`root`,root:this.#e})),this.#e}insertNode(e,n,r){if(e===void 0){let e=$g(this.#e),i=Math.max(0,Math.min(r??e.length,e.length));this.#e={...this.#e,children:[...e.slice(0,i),n,...e.slice(i)]}}else this.#e=r===void 0?Xg(this.#e,e,n):Qg(this.#e,e,n,r);return this.#i({type:`root`,root:this.#e}),this.#e}_subscribe(e){return this.#r.add(e),()=>this.#r.delete(e)}#i(e){for(let n of this.#r)n(e)}};const t_=1,n_=`view-state-change`;function r_(e){return typeof e==`object`&&!!e&&typeof e.getViewState==`function`&&typeof e.setViewState==`function`}function i_(e,n){let r;try{r=n.load()}catch(e){console.warn(`bindViewState: load failed`,e)}r&&e.setViewState(r);let i=r=>{let{detail:i}=r;r.target===e&&(i.reason===`restore`&&!n.saveOnRestore||n.save(i.state))},a=()=>n.save(e.getViewState());return e.addEventListener(n_,i),globalThis.addEventListener?.(`pagehide`,a),()=>{e.removeEventListener(n_,i),globalThis.removeEventListener?.(`pagehide`,a)}}function a_(e,n,r,i=`vertical`){let a=e.scrollTop,o=e.scrollLeft,s=o===0?{top:a}:{top:a,left:o};if(n.length===0)return s;let c=e.getBoundingClientRect(),l=i===`vertical`?c.top:c.left,u=e=>{let n=e.getBoundingClientRect();return i===`vertical`?{lo:n.top,hi:n.bottom}:{lo:n.left,hi:n.right}},d=0,f=n.length-1,p=-1;for(;d<=f;){let e=d+f>>1;u(n[e]).hi>l?(p=e,f=e-1):d=e+1}if(p===-1)return s;for(let e=p;e<n.length;e++){let i=r(n[e]);if(i!==void 0)return{...s,anchor:{key:i,offset:Math.round(l-u(n[e]).lo)}}}return s}function o_(e,n,r,i=`vertical`){let a=e.getBoundingClientRect(),o=n.getBoundingClientRect();return i===`vertical`?s_(e,e.scrollTop+(o.top-a.top)+r,i):s_(e,e.scrollLeft+(o.left-a.left)+r,i)}function s_(e,n,r=`vertical`){let i=r===`vertical`?e.scrollHeight-e.clientHeight:e.scrollWidth-e.clientWidth,a=Math.max(0,Math.min(n,i));return r===`vertical`?e.scrollTop=a:e.scrollLeft=a,n<=i+1}function c_(e,n,r,i=0){let a=i===0?{top:e}:{top:e,left:i};return n===void 0?a:{...a,anchor:{key:n,offset:Math.round(e-r)}}}const l_=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`,` `]);function u_(e,n){let r=[`wheel`,`touchstart`,`pointerdown`,`keydown`],i=e=>{e.type===`keydown`&&!l_.has(e.key)||n()};for(let n of r)e.addEventListener(n,i,{passive:!0,capture:!0});return()=>{for(let n of r)e.removeEventListener(n,i,{capture:!0})}}const d_={restore:0,data:1,user:2};var f_=class{#e;#t;#n;#r;#i=0;#a;#o=!1;#s;#c;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get kind(){return this.#t.kind}hostConnected(){this.#c&&!this.#s&&this.observeScrollTarget(this.#c)}hostDisconnected(){this.flush(),this.#s?.(),this.#s=void 0}notify(e=`user`){let n=this.#i>0?`restore`:e;(this.#r===void 0||d_[n]>d_[this.#r])&&(this.#r=n),this.#n!==void 0&&clearTimeout(this.#n),this.#n=setTimeout(()=>this.flush(),this.#t.debounceMs??150)}flush(){this.#n!==void 0&&(clearTimeout(this.#n),this.#n=void 0);let e=this.#r;e!==void 0&&(this.#r=void 0,this.#e.dispatchEvent(new CustomEvent(n_,{detail:{state:this.#t.capture(),reason:e},bubbles:!0})))}restoring(e){this.#i++;try{return e()}finally{this.#i--}}get isRestoring(){return this.#i>0}accepts(e){return typeof e!=`object`||!e?!1:e.v!==void 0&&e.v!==1?(console.warn(`[${this.#t.kind}] ignoring view state with version ${String(e.v)}`),!1):e.kind!==void 0&&e.kind!==this.#t.kind?(console.warn(`[${this.#t.kind}] ignoring view state for kind '${e.kind}'`),!1):!0}shape(e,n){let r={v:1,kind:this.#t.kind},i=n?.include;for(let[n,a]of Object.entries(e))a!==void 0&&(i&&!i.includes(n)||(r[n]=a));return r}observeScrollTarget(e){this.#s?.(),this.#c=e,this.#s=u_(e,()=>{this.#a=void 0})}get pendingScroll(){return this.#a}set pendingScroll(e){this.#a=e}applyPendingScroll(e){let n=this.#a;n&&(this.#o=!0,e(n)&&(this.#a=void 0))}notifyScroll(){if(this.#a)return;let e=this.#o?`restore`:`user`;this.#o=!1,this.notify(e)}};function p_(e,n){let r=[e];for(let e of n){let n=r.at(-1);if(n.children===void 0){let e=n.item.isLeaf===!0;return{nodes:r,blocked:e?void 0:n,done:e}}let i=n.children.find(n=>n.item.key===e);if(!i)return{nodes:r,blocked:void 0,done:!1};r.push(i)}return{nodes:r,blocked:void 0,done:!0}}function m_(e,n){if(e===n)return[];for(let r of e.children??[]){let e=m_(r,n);if(e)return[r.item.key,...e]}}const h_=`narrowed-text-highlight`;let g_=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.requiredSelection=!1,this.orientation=`horizontal`,this.nowrap=!1,this.separator=` `,this.preserveFilter=!1,this.value=``,this.registry=void 0,this._query=``,this._computedItems=[],this._filteredItems=[],this._isFocused=!1,this._selectedValues=new Set,this._search=Et({selector:e=>e.label??e.value}),this.tickled=new oe(this,{getItems:()=>this._filteredItems.map((e,n)=>({id:n,enabled:!0})),onTickle:e=>{if(e===void 0||!this.shadowRoot)return;let n=this.shadowRoot.querySelector(`.items`);if(!n)return;let r=n.querySelectorAll(`.item`)[e];r&&r.scrollIntoView({block:`nearest`,inline:`nearest`})}}),this.#e=()=>{this._updateComputedItems()},this.#t=e=>{let n=e.target;this._query=n.value,this._query.trim()&&this._filteredItems.length>0?this.tickled.setTickled(0):this.tickled.clearTickled(),this._updateFilteredItems()},this.#n=e=>{if(this._filteredItems.length!==0)switch(e.key){case`Tab`:e.shiftKey&&(e.preventDefault(),this.dispatchEvent(new CustomEvent(`narrowed-text-shift-tab`,{bubbles:!0,composed:!0})));return;case`ArrowRight`:{if(this.orientation!==`horizontal`)return;let n=this.tickled.tickledId,r=this._filteredItems.length-1;if(n!==void 0&&n>=r)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`);break}case`ArrowLeft`:{if(this.orientation!==`horizontal`)return;let n=this.tickled.tickledId;if(n!==void 0&&n<=0)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`);break}case`ArrowDown`:{if(this.orientation!==`vertical`)return;let n=this.tickled.tickledId,r=this._filteredItems.length-1;if(n!==void 0&&n>=r)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`);break}case`ArrowUp`:{if(this.orientation!==`vertical`)return;let n=this.tickled.tickledId;if(n!==void 0&&n<=0)return;e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`);break}case`Enter`:{e.preventDefault();let n=this._filteredItems[this.tickled.tickledId??-1];n&&(this._selectItem(n,!1),this._query=``,this._updateFilteredItems());break}case` `:e.preventDefault(),this.tickled.tickledId!==void 0&&this._filteredItems[this.tickled.tickledId]&&this._selectItem(this._filteredItems[this.tickled.tickledId],!1);break;case`Escape`:e.preventDefault(),this._query=``,this.tickled.clearTickled(),this._updateFilteredItems()}},this.#r=()=>{this._isFocused=!0,this._query.trim()&&this._filteredItems.length>0&&this.tickled.setTickled(0)},this.#i=()=>{let e=this.shadowRoot?.querySelector(`.search-input`);e&&requestAnimationFrame(()=>{e.focus()})},this.#a=()=>{this._isFocused=!1,this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`narrowed-text-blur`,{bubbles:!0,composed:!0}))},this.#o=()=>{(this.shadowRoot?.querySelector(`.search-input`))?.focus()},this.#s=e=>{let n=e.target;n.classList.contains(`item`)||n.closest(`.item`)||(this.shadowRoot?.querySelector(`.search-input`))?.focus()}}get selected(){return this.selectionMode===`single`?this._selectedValues.values().next().value??``:[...this._selectedValues]}set selected(e){this.selectionMode===`single`?(this._selectedValues.clear(),e&&this._selectedValues.add(e)):(this._selectedValues.clear(),Array.isArray(e)&&e.forEach(e=>this._selectedValues.add(e))),this._updateFilteredItems()}selectAll(){let e=this._filteredItems;if(e.length!==0){if(this.selectionMode===`single`)this._selectedValues.clear(),this._selectedValues.add(e[0].value);else{this._selectedValues.clear();for(let n of e)this._selectedValues.add(n.value)}this._updateValueFromSelected(),this._updateFilteredItems(),this.dispatchEvent(new CustomEvent(`change`,{detail:{item:void 0,query:this._query,selected:this._computedItems.filter(e=>this._selectedValues.has(e.value))},bubbles:!0,composed:!0}))}}deselectAll(){this.requiredSelection&&this._selectedValues.size<=1||this._selectedValues.size!==0&&(this._selectedValues.clear(),this._updateValueFromSelected(),this._updateFilteredItems(),this.dispatchEvent(new CustomEvent(`change`,{detail:{item:void 0,query:this._query,selected:[]},bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback(),this._unsubSearch=this._search.onChange(e=>{let n=e.results.map(e=>e.item);for(let e of this._computedItems)this._selectedValues.has(e.value)&&!n.includes(e)&&n.push(e);this._filteredItems=n,this._searchState=e,this.requestUpdate()}),this.addEventListener(`narrowed-text-init`,()=>this.#i());let e=this._ownedRegistry=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select every currently-filtered item (or first in single mode)`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e}disconnectedCallback(){super.disconnectedCallback(),this._unsubSearch?.(),this._search.dispose(),re({key:h_}),this.removeEventListener(`narrowed-text-init`,()=>this.#i()),this._ownedRegistry&&(this._ownedRegistry.unregister(`select-all`),this._ownedRegistry.unregister(`deselect-all`),this._ownedRegistry=void 0,this.registry=void 0)}firstUpdated(){this._updateComputedItems()}updated(e){e.has(`value`)&&this._updateSelectedFromValue(),this._applyHighlights()}#e;_updateComputedItems(){let e=this.querySelectorAll(`[data-value]`),n=[];e.forEach(e=>{let r=e.getAttribute(`data-value`)??``,i=e.getAttribute(`data-label`)??e.textContent?.trim()??r,a=e.getAttribute(`data-description`)??void 0,o=e.getAttribute(`data-icon-name`)??void 0;n.push({value:r,label:i,description:a,iconName:o})}),this._computedItems=n,this._search.setItems(n)}_updateSelectedFromValue(){if(this.selectionMode===`single`)this._selectedValues.clear(),this.value&&this._selectedValues.add(this.value);else{let e=this.value.split(`,`).filter(e=>e.trim());this._selectedValues.clear(),e.forEach(e=>this._selectedValues.add(e.trim()))}this._updateFilteredItems()}_updateFilteredItems(){this._search.setQuery(this._query)}_applyHighlights(){if(!this._query.trim()||!this._searchState||!this.shadowRoot){re({key:h_});return}ne(ie(this.shadowRoot,`.item-label`,this._searchState.positionsByItem,e=>{let n=e.getAttribute(`data-item-value`);return this._computedItems.find(e=>e.value===n)},e=>{let n=e.getAttribute(`data-item-value`),r=this._computedItems.find(e=>e.value===n);return r?.label??r?.value??``}),{key:h_})}#t;#n;#r;#i;focus(){let e=this.shadowRoot?.querySelector(`.search-input`);e?e.focus():super.focus()}blur(){let e=this.shadowRoot?.querySelector(`.search-input`);e?e.blur():super.blur()}setContents(e){for(;this.firstChild;)this.firstChild.remove();for(let n of e){let e=document.createElement(`span`);e.setAttribute(`data-value`,n.value),n.label!==void 0&&e.setAttribute(`data-label`,n.label),n.description!==void 0&&e.setAttribute(`data-description`,n.description),n.iconName!==void 0&&e.setAttribute(`data-icon-name`,n.iconName),this.appendChild(e)}this._selectedValues.clear();let n=e.filter(e=>e.selected).map(e=>e.value);for(let e of n)this._selectedValues.add(e);n.length>0&&this.requestUpdate()}deleteItem(e){let n=this.querySelector(`[data-value="${CSS.escape(e)}"]`);return n?(n.remove(),this._selectedValues.delete(e),!0):!1}#a;#o;#s;#c(e){this._selectItem(e);let n=this._filteredItems.findIndex(n=>n.value===e.value);n>=0&&this.tickled.handlePointerEnter(n),(this.shadowRoot?.querySelector(`.search-input`))?.focus()}_selectItem(e,n=!0){this.selectionMode===`single`?this._selectedValues.has(e.value)&&!this.requiredSelection?this._selectedValues.clear():(this._selectedValues.clear(),this._selectedValues.add(e.value)):this._selectedValues.has(e.value)?(!this.requiredSelection||this._selectedValues.size>1)&&this._selectedValues.delete(e.value):this._selectedValues.add(e.value),this._updateValueFromSelected(),this._updateFilteredItems();let r=this._computedItems.filter(e=>this._selectedValues.has(e.value));this.dispatchEvent(new CustomEvent(`change`,{detail:{item:e,query:this._query,selected:r},bubbles:!0,composed:!0})),n&&!this.preserveFilter&&this._query&&(this._query=``,this._updateFilteredItems())}_updateValueFromSelected(){this.value=this.selectionMode===`single`?[...this._selectedValues][0]??``:[...this._selectedValues].join(`,`)}#l(e,n){let r=this.tickled.isTickled(n),o=this._selectedValues.has(e.value),s=e.label??e.value;return i`
|
|
3917
3917
|
<div
|
|
3918
3918
|
class="item ${r?`tickled`:``} ${o?`selected`:``}"
|
|
3919
3919
|
part="item"
|
|
@@ -4094,21 +4094,21 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4094
4094
|
border-radius: 2px;
|
|
4095
4095
|
padding: 0 1px;
|
|
4096
4096
|
}
|
|
4097
|
-
`]}};E([d({type:String,attribute:`selection-mode`})],h_.prototype,`selectionMode`,void 0),E([d({type:Boolean,attribute:`required-selection`})],h_.prototype,`requiredSelection`,void 0),E([d({type:String,attribute:`orientation`})],h_.prototype,`orientation`,void 0),E([d({type:Boolean,attribute:`nowrap`})],h_.prototype,`nowrap`,void 0),E([d({type:String,attribute:`separator`})],h_.prototype,`separator`,void 0),E([d({type:String,attribute:`width`})],h_.prototype,`width`,void 0),E([d({type:String,attribute:`height`})],h_.prototype,`height`,void 0),E([d({type:Boolean,attribute:`preserve-filter`})],h_.prototype,`preserveFilter`,void 0),E([d({type:String})],h_.prototype,`value`,void 0),E([d({attribute:!1})],h_.prototype,`registry`,void 0),E([m()],h_.prototype,`_query`,void 0),E([m()],h_.prototype,`_computedItems`,void 0),E([m()],h_.prototype,`_filteredItems`,void 0),E([m()],h_.prototype,`_isFocused`,void 0),E([f(`slot`)],h_.prototype,`_slot`,void 0),h_=E([T(`ixfx-narrowed-text`)],h_);function g_(e){return[...e].sort((e,n)=>(e.item.label??``).localeCompare(n.item.label??``))}let V=class extends n{constructor(...e){super(...e),this._selectedNodes=new Set,this.exclusivity=`none`,this.selectionFilter=`leaf`,this._openIdx=-1,this._isFocused=!1,this._menuOpen=!1,this._focusOnNarrowedText=!1,this.inputMode=``,this.noTruncate=!1,this.showSuggestions=!1,this.leadingCaret=!1,this.caretEmbedded=!0,this.hideRoot=!1,this.padEnding=!1,this.withUp=!1,this.restoreLoads=!0,this.#r=new d_(this,{kind:`crumb-navigation`,capture:()=>this.getViewState()}),this.#o=``,this.#s=!1,this.#c=null,this.tickled=new oe(this,{getItems:()=>this.#l(),onTickle:e=>{e!==void 0&&this.#u(e)}}),this.#m=()=>{this._isFocused=!0},this.#h=()=>{this._isFocused=!1},this.#_=()=>{this.#g()?.focus()},this.#b=()=>{document.removeEventListener(`keydown`,this.#x,{capture:!0}),this.#c=null,this.#s=!1,requestAnimationFrame(()=>{this.#g()?.focus()})},this.#x=e=>{if(!(!this.#c?.querySelector(`ixfx-menu-container`)||!this.#c?.isOpen))switch(e.key){case`ArrowLeft`:case`ArrowRight`:{e.preventDefault(),e.stopPropagation(),this.#c.closeMenu();let n=this.root,r=this.selectedNode;if(!n||!r)break;let i=this.#l().length,a=this.tickled.tickledId??-1;e.key===`ArrowLeft`?a>0&&this.tickled.handleKeyboardNavigation(`previous`):a<i-1&&this.tickled.handleKeyboardNavigation(`next`);break}}},this.#S=e=>{let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#l().length,a=this.tickled.tickledId??-1;switch(e.key){case`ArrowRight`:e.preventDefault(),a<i-1?this.tickled.handleKeyboardNavigation(`next`):a===i-1&&this.#p()&&this.#w();break;case`ArrowLeft`:e.preventDefault(),a>0&&this.tickled.handleKeyboardNavigation(`previous`);break;case`ArrowDown`:case`ArrowUp`:if(this.tickled.tickledId!==void 0){if(e.preventDefault(),this.#c?.isOpen){let n=this.#c.querySelector(`ixfx-menu-container`)?.shadowRoot?.querySelector(`.popover`);n&&n.dispatchEvent(new KeyboardEvent(`keydown`,{key:e.key,bubbles:!0}))}else this.#v()}break;case`Enter`:case` `:e.preventDefault(),this.#C();break;case`Escape`:e.preventDefault(),this._menuOpen=!1,this.tickled.clearTickled(),this.blur();break;case`Tab`:if(e.shiftKey)break;a===i-1&&this.#p()&&(e.preventDefault(),this.#w())}},this.#E=()=>{this._focusOnNarrowedText=!1,this.#T()},this.#D=()=>{this._focusOnNarrowedText=!1,this.#T()},this.#k=!1,this.#A=e=>{let n=e;if(n.deltaX!==0||n.deltaY!==0){e.preventDefault(),this.#k||(this.#k=!0,this.tickled.clearTickled());let r=this.#g();r&&(r.scrollLeft+=n.deltaX+n.deltaY),clearTimeout(this.#j),this.#j=setTimeout(()=>{this.#k=!1},150)}},this.#V=void 0}get selectedNodes(){return this._selectedNodes}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l(){let e=this.root,n=this.selectedNode;if(!e||!n)return[];let r=this.#P(e,n)??[e],i=[];if(this.caretEmbedded)r.forEach((e,n)=>{i.push({id:n,enabled:!0})}),this.#p()&&i.push({id:r.length,enabled:!0});else{let e=0;r.forEach((n,a)=>{let o=a===r.length-1,s=n.item.isLeaf!==!0&&(n.children===void 0||n.children.length>0),c=this.leadingCaret&&(a>0||this.hideRoot)&&s,l=!this.leadingCaret&&s||this.leadingCaret&&o&&s;c&&i.push({id:e++,enabled:!0}),i.push({id:e++,enabled:!0}),l&&i.push({id:e++,enabled:!0})})}return i}#u(e){this.tickled.inputMode===`keyboard`&&this.#d(e)}#d(e){let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n],a=null;a=this.caretEmbedded&&this.#p()&&e===i.length?this.shadowRoot?.querySelector(`ixfx-narrowed-text`)??null:this.shadowRoot?.querySelectorAll(`.crumb-segment`)[e]??null,a?.scrollIntoView({inline:`nearest`,block:`nearest`,behavior:`smooth`})}#f(){let e=this.selectedNode;if(e===void 0)return!1;let n=this.#e===e;return(e.children??[]).length>0||n}#p(){return this.showSuggestions&&this.#f()}#m;#h;#g(){return this.shadowRoot?.querySelector(`.host-container`)??null}#_;#v(){let e=this.tickled.tickledId;if(e===void 0)return;let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n];if(this.caretEmbedded&&this.#p()&&e===i.length){this.#w();return}let a=(this.shadowRoot?.querySelectorAll(`.crumb-segment`))?.[e]?.querySelector(`.caret ixfx-menu-trigger`);a&&(this.#s=!0,this.#c=a,document.addEventListener(`keydown`,this.#x,{capture:!0}),a.openMenu(),this.#y())}#y(){let e=this.tickled.inputMode;requestAnimationFrame(()=>{let n=this.#c?.querySelector(`ixfx-menu-container`);n&&n.setAttribute(`data-input-mode`,e)})}#b;#x;#S;#C(){let e=this.tickled.tickledId;if(e===void 0)return;let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n];if(this.caretEmbedded&&this.#p()&&e===i.length){this.#w();return}(this.shadowRoot?.querySelector(`.crumb-segment[data-segment-id="${e}"]`))?.click()}#w(){let e=this.shadowRoot?.querySelector(`ixfx-narrowed-text`);e&&(this._menuOpen=!1,this._focusOnNarrowedText=!0,e.focus())}#T(){this._focusOnNarrowedText=!1;let e=this.#g();e&&e.focus()}#E;#D;select(e){this.#L(e)}deselect(e){}clearSelection(){this.root&&this.#L(this.root)}selectAll(){}deselectAll(){}getNodes(){if(!this.root)return[];let e=[],n=(r,i)=>{if(e.push({node:r,depth:i}),r.children)for(let e of r.children)n(e,i+1)};for(let e of this.root.children??[])n(e,0);return e}getViewState(e){let n=e?.includePending??!0,r=this.root&&this.selectedNode?p_(this.root,this.selectedNode):void 0;return this.#r.shape({path:(n?this.#i:void 0)??r??[]},e)}setViewState(e){!this.#r.accepts(e)||!e.path||(this.#i=[...e.path],this.#O(!1),this.requestUpdate())}clearPendingViewState(){this.#i=void 0}#O(e){let n=this.#i,r=this.root;if(!n||!r)return;let i=f_(r,n);i.done&&(this.#i=void 0);let a=i.nodes.at(-1);if(a!==this.selectedNode&&this.#r.restoring(()=>{e?(this.#a=a,this.selectedNode=a,this._selectedNodes=new Set([a]),this.#r.notify()):this.#L(a)}),i.blocked&&this.restoreLoads&&this.loadChildren&&!this.#e){this.#e=i.blocked;let e=new AbortController;this.#t=e,this.#z(i.blocked,i.nodes.length-1,e).catch(()=>{})}}willUpdate(e){if(e.has(`selectedNode`)&&this.selectedNode!==this.#a)this.#a=this.selectedNode,this.#i=void 0,this.#r.notify();else if(e.has(`root`)&&!this.#i){let n=e.get(`root`),r=this.selectedNode;if(n&&r&&this.root&&!p_(this.root,r)){this.#i=p_(n,r),this.#O(!0);return}}this.#O(!1)}updated(e){if(e.has(`model`)){this.#n?.(),this.#n=void 0;let e=this.model;e&&(this.root=e.root,this.#n=e._subscribe(e=>{e.type===`root`&&(this.root=e.root,this.requestUpdate())}))}this.#M(e)}connectedCallback(){super.connectedCallback(),this.addEventListener(`click`,this.#_),this.addEventListener(`wheel`,this.#A,{passive:!1})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`click`,this.#_),this.removeEventListener(`wheel`,this.#A),this.#n?.(),this.#n=void 0,document.removeEventListener(`keydown`,this.#x,{capture:!0}),this.#c=null}firstUpdated(){let e=this.#g();e&&(e.scrollLeft=e.scrollWidth-e.clientWidth)}#k;#A;#j;#M(e){if(!this.shadowRoot)return;let n=this.shadowRoot.querySelector(`.horiz-select-items`);if(!n)return;let r=n.querySelector(`ul`);if(!r)return;let i=this.shadowRoot.querySelector(`ixfx-menu-trigger`);if(i){r.getBoundingClientRect().width>n.getBoundingClientRect().width?i.style.display=`inline-flex`:i.style.display=`none`;for(let e of r.querySelectorAll(`li`))if((e.getAttribute(`data-key`)??``)===this.#o){this.#N(e);break}}}#N(e){let n=e.offsetLeft,r=e.parentElement;if(!r)return;n-=r.offsetLeft;let i=r.parentElement;if(!i)return;i.scroll({left:n,top:0,behavior:`smooth`});let a=i.parentElement;a&&(a.style.minWidth=`${e.getBoundingClientRect().width}px`)}#P(e,n,r=[]){let i=[...r,e];if(e===n)return i;if(e.children)for(let r of e.children){let e=this.#P(r,n,i);if(e)return e}}#F(e){this.shadowRoot&&this.shadowRoot.querySelectorAll(`.crumb-segment`)[e]?.scrollIntoView({block:`nearest`,inline:`start`})}#I(){if(!this.padEnding||!this.shadowRoot)return;let e=this.shadowRoot.querySelector(`.host-container`),n=this.shadowRoot.querySelector(`.trailing`);if(!e||!n)return;let r=this.shadowRoot.querySelectorAll(`.crumb-segment`),i=r[r.length-1];if(!i)return;let a=e.getBoundingClientRect().width,o=i.getBoundingClientRect().width;o<a?(n.style.width=`${a-o-5}px`,requestAnimationFrame(()=>{e.scrollWidth<=e.clientWidth?e.style.setProperty(`--scroll-fade-x-start`,`0px`,`important`):e.style.removeProperty(`--scroll-fade-x-start`)})):n.style.width=``}#L(e){let n=this.selectedNode;this.#o=n?n.item?.key??``:``;let r=n?new Set([n]):new Set;if(this.#a=e,this.selectedNode=e,this._selectedNodes=new Set([e]),this.#r.isRestoring||(this.#i=void 0),this.#r.notify(),this.root){let n=this.#P(this.root,e);if(n){let e=this.hideRoot&&n.length>1?n.length-2:n.length-1;requestAnimationFrame(()=>{this.#I();let n=this.#g();n&&(n.scrollLeft=0),this.#F(e)})}}this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set([e]),previous:r},bubbles:!0,composed:!0}))}#R(e,n){this._openIdx=-1,this.#L(e),this.#F(n),this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}async#z(e,n,r){try{let i=[...await Lg(this.loadChildren({node:e,depth:n},r.signal),r.signal)];if(r.signal.aborted)return;e.children=i,this.#e=void 0,this.#t=void 0,this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.requestUpdate()}catch{if(r.signal.aborted)return;e.children=[],this.#e=void 0,this.#t=void 0,this.requestUpdate()}}#B(e,n,r){let i=e.detail.command;if(this.leadingCaret){let e=n.children?.find(e=>e.item.key===i);if(e){this.#U(e,r+1);return}if(this.#V){let e=this.#V.find(e=>e.item.key===i);e&&this.#U(e,r),this.#V=void 0;return}}let a=n.children?.find(e=>e.item.key===i);a&&this.#U(a,r+1)}#V;#H(e,n){if(n===0){if(!this.hideRoot||!this.root)return[];let e=g_(this.root.children??[]);return this.#V=e,e.map(e=>i`
|
|
4097
|
+
`]}};E([d({type:String,attribute:`selection-mode`})],g_.prototype,`selectionMode`,void 0),E([d({type:Boolean,attribute:`required-selection`})],g_.prototype,`requiredSelection`,void 0),E([d({type:String,attribute:`orientation`})],g_.prototype,`orientation`,void 0),E([d({type:Boolean,attribute:`nowrap`})],g_.prototype,`nowrap`,void 0),E([d({type:String,attribute:`separator`})],g_.prototype,`separator`,void 0),E([d({type:String,attribute:`width`})],g_.prototype,`width`,void 0),E([d({type:String,attribute:`height`})],g_.prototype,`height`,void 0),E([d({type:Boolean,attribute:`preserve-filter`})],g_.prototype,`preserveFilter`,void 0),E([d({type:String})],g_.prototype,`value`,void 0),E([d({attribute:!1})],g_.prototype,`registry`,void 0),E([m()],g_.prototype,`_query`,void 0),E([m()],g_.prototype,`_computedItems`,void 0),E([m()],g_.prototype,`_filteredItems`,void 0),E([m()],g_.prototype,`_isFocused`,void 0),E([f(`slot`)],g_.prototype,`_slot`,void 0),g_=E([T(`ixfx-narrowed-text`)],g_);function __(e){return[...e].sort((e,n)=>(e.item.label??``).localeCompare(n.item.label??``))}let B=class extends n{constructor(...e){super(...e),this._selectedNodes=new Set,this.exclusivity=`none`,this.selectionFilter=`leaf`,this._openIdx=-1,this._isFocused=!1,this._menuOpen=!1,this._focusOnNarrowedText=!1,this.inputMode=``,this.noTruncate=!1,this.showSuggestions=!1,this.leadingCaret=!1,this.caretEmbedded=!0,this.hideRoot=!1,this.padEnding=!1,this.withUp=!1,this.restoreLoads=!0,this.#r=new f_(this,{kind:`crumb-navigation`,capture:()=>this.getViewState()}),this.#o=``,this.#s=!1,this.#c=null,this.tickled=new oe(this,{getItems:()=>this.#l(),onTickle:e=>{e!==void 0&&this.#u(e)}}),this.#m=()=>{this._isFocused=!0},this.#h=()=>{this._isFocused=!1},this.#_=()=>{this.#g()?.focus()},this.#b=()=>{document.removeEventListener(`keydown`,this.#x,{capture:!0}),this.#c=null,this.#s=!1,requestAnimationFrame(()=>{this.#g()?.focus()})},this.#x=e=>{if(!(!this.#c?.querySelector(`ixfx-menu-container`)||!this.#c?.isOpen))switch(e.key){case`ArrowLeft`:case`ArrowRight`:{e.preventDefault(),e.stopPropagation(),this.#c.closeMenu();let n=this.root,r=this.selectedNode;if(!n||!r)break;let i=this.#l().length,a=this.tickled.tickledId??-1;e.key===`ArrowLeft`?a>0&&this.tickled.handleKeyboardNavigation(`previous`):a<i-1&&this.tickled.handleKeyboardNavigation(`next`);break}}},this.#S=e=>{let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#l().length,a=this.tickled.tickledId??-1;switch(e.key){case`ArrowRight`:e.preventDefault(),a<i-1?this.tickled.handleKeyboardNavigation(`next`):a===i-1&&this.#p()&&this.#w();break;case`ArrowLeft`:e.preventDefault(),a>0&&this.tickled.handleKeyboardNavigation(`previous`);break;case`ArrowDown`:case`ArrowUp`:if(this.tickled.tickledId!==void 0){if(e.preventDefault(),this.#c?.isOpen){let n=this.#c.querySelector(`ixfx-menu-container`)?.shadowRoot?.querySelector(`.popover`);n&&n.dispatchEvent(new KeyboardEvent(`keydown`,{key:e.key,bubbles:!0}))}else this.#v()}break;case`Enter`:case` `:e.preventDefault(),this.#C();break;case`Escape`:e.preventDefault(),this._menuOpen=!1,this.tickled.clearTickled(),this.blur();break;case`Tab`:if(e.shiftKey)break;a===i-1&&this.#p()&&(e.preventDefault(),this.#w())}},this.#E=()=>{this._focusOnNarrowedText=!1,this.#T()},this.#D=()=>{this._focusOnNarrowedText=!1,this.#T()},this.#k=!1,this.#A=e=>{let n=e;if(n.deltaX!==0||n.deltaY!==0){e.preventDefault(),this.#k||(this.#k=!0,this.tickled.clearTickled());let r=this.#g();r&&(r.scrollLeft+=n.deltaX+n.deltaY),clearTimeout(this.#j),this.#j=setTimeout(()=>{this.#k=!1},150)}},this.#V=void 0}get selectedNodes(){return this._selectedNodes}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l(){let e=this.root,n=this.selectedNode;if(!e||!n)return[];let r=this.#P(e,n)??[e],i=[];if(this.caretEmbedded)r.forEach((e,n)=>{i.push({id:n,enabled:!0})}),this.#p()&&i.push({id:r.length,enabled:!0});else{let e=0;r.forEach((n,a)=>{let o=a===r.length-1,s=n.item.isLeaf!==!0&&(n.children===void 0||n.children.length>0),c=this.leadingCaret&&(a>0||this.hideRoot)&&s,l=!this.leadingCaret&&s||this.leadingCaret&&o&&s;c&&i.push({id:e++,enabled:!0}),i.push({id:e++,enabled:!0}),l&&i.push({id:e++,enabled:!0})})}return i}#u(e){this.tickled.inputMode===`keyboard`&&this.#d(e)}#d(e){let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n],a=null;a=this.caretEmbedded&&this.#p()&&e===i.length?this.shadowRoot?.querySelector(`ixfx-narrowed-text`)??null:this.shadowRoot?.querySelectorAll(`.crumb-segment`)[e]??null,a?.scrollIntoView({inline:`nearest`,block:`nearest`,behavior:`smooth`})}#f(){let e=this.selectedNode;if(e===void 0)return!1;let n=this.#e===e;return(e.children??[]).length>0||n}#p(){return this.showSuggestions&&this.#f()}#m;#h;#g(){return this.shadowRoot?.querySelector(`.host-container`)??null}#_;#v(){let e=this.tickled.tickledId;if(e===void 0)return;let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n];if(this.caretEmbedded&&this.#p()&&e===i.length){this.#w();return}let a=(this.shadowRoot?.querySelectorAll(`.crumb-segment`))?.[e]?.querySelector(`.caret ixfx-menu-trigger`);a&&(this.#s=!0,this.#c=a,document.addEventListener(`keydown`,this.#x,{capture:!0}),a.openMenu(),this.#y())}#y(){let e=this.tickled.inputMode;requestAnimationFrame(()=>{let n=this.#c?.querySelector(`ixfx-menu-container`);n&&n.setAttribute(`data-input-mode`,e)})}#b;#x;#S;#C(){let e=this.tickled.tickledId;if(e===void 0)return;let n=this.root,r=this.selectedNode;if(!n||!r)return;let i=this.#P(n,r)??[n];if(this.caretEmbedded&&this.#p()&&e===i.length){this.#w();return}(this.shadowRoot?.querySelector(`.crumb-segment[data-segment-id="${e}"]`))?.click()}#w(){let e=this.shadowRoot?.querySelector(`ixfx-narrowed-text`);e&&(this._menuOpen=!1,this._focusOnNarrowedText=!0,e.focus())}#T(){this._focusOnNarrowedText=!1;let e=this.#g();e&&e.focus()}#E;#D;select(e){this.#L(e)}deselect(e){}clearSelection(){this.root&&this.#L(this.root)}selectAll(){}deselectAll(){}getNodes(){if(!this.root)return[];let e=[],n=(r,i)=>{if(e.push({node:r,depth:i}),r.children)for(let e of r.children)n(e,i+1)};for(let e of this.root.children??[])n(e,0);return e}getViewState(e){let n=e?.includePending??!0,r=this.root&&this.selectedNode?m_(this.root,this.selectedNode):void 0;return this.#r.shape({path:(n?this.#i:void 0)??r??[]},e)}setViewState(e){!this.#r.accepts(e)||!e.path||(this.#i=[...e.path],this.#O(!1),this.requestUpdate())}clearPendingViewState(){this.#i=void 0}#O(e){let n=this.#i,r=this.root;if(!n||!r)return;let i=p_(r,n);i.done&&(this.#i=void 0);let a=i.nodes.at(-1);if(a!==this.selectedNode&&this.#r.restoring(()=>{e?(this.#a=a,this.selectedNode=a,this._selectedNodes=new Set([a]),this.#r.notify()):this.#L(a)}),i.blocked&&this.restoreLoads&&this.loadChildren&&!this.#e){this.#e=i.blocked;let e=new AbortController;this.#t=e,this.#z(i.blocked,i.nodes.length-1,e).catch(()=>{})}}willUpdate(e){if(e.has(`selectedNode`)&&this.selectedNode!==this.#a)this.#a=this.selectedNode,this.#i=void 0,this.#r.notify();else if(e.has(`root`)&&!this.#i){let n=e.get(`root`),r=this.selectedNode;if(n&&r&&this.root&&!m_(this.root,r)){this.#i=m_(n,r),this.#O(!0);return}}this.#O(!1)}updated(e){if(e.has(`model`)){this.#n?.(),this.#n=void 0;let e=this.model;e&&(this.root=e.root,this.#n=e._subscribe(e=>{e.type===`root`&&(this.root=e.root,this.requestUpdate())}))}this.#M(e)}connectedCallback(){super.connectedCallback(),this.addEventListener(`click`,this.#_),this.addEventListener(`wheel`,this.#A,{passive:!1})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`click`,this.#_),this.removeEventListener(`wheel`,this.#A),this.#n?.(),this.#n=void 0,document.removeEventListener(`keydown`,this.#x,{capture:!0}),this.#c=null}firstUpdated(){let e=this.#g();e&&(e.scrollLeft=e.scrollWidth-e.clientWidth)}#k;#A;#j;#M(e){if(!this.shadowRoot)return;let n=this.shadowRoot.querySelector(`.horiz-select-items`);if(!n)return;let r=n.querySelector(`ul`);if(!r)return;let i=this.shadowRoot.querySelector(`ixfx-menu-trigger`);if(i){r.getBoundingClientRect().width>n.getBoundingClientRect().width?i.style.display=`inline-flex`:i.style.display=`none`;for(let e of r.querySelectorAll(`li`))if((e.getAttribute(`data-key`)??``)===this.#o){this.#N(e);break}}}#N(e){let n=e.offsetLeft,r=e.parentElement;if(!r)return;n-=r.offsetLeft;let i=r.parentElement;if(!i)return;i.scroll({left:n,top:0,behavior:`smooth`});let a=i.parentElement;a&&(a.style.minWidth=`${e.getBoundingClientRect().width}px`)}#P(e,n,r=[]){let i=[...r,e];if(e===n)return i;if(e.children)for(let r of e.children){let e=this.#P(r,n,i);if(e)return e}}#F(e){this.shadowRoot&&this.shadowRoot.querySelectorAll(`.crumb-segment`)[e]?.scrollIntoView({block:`nearest`,inline:`start`})}#I(){if(!this.padEnding||!this.shadowRoot)return;let e=this.shadowRoot.querySelector(`.host-container`),n=this.shadowRoot.querySelector(`.trailing`);if(!e||!n)return;let r=this.shadowRoot.querySelectorAll(`.crumb-segment`),i=r[r.length-1];if(!i)return;let a=e.getBoundingClientRect().width,o=i.getBoundingClientRect().width;o<a?(n.style.width=`${a-o-5}px`,requestAnimationFrame(()=>{e.scrollWidth<=e.clientWidth?e.style.setProperty(`--scroll-fade-x-start`,`0px`,`important`):e.style.removeProperty(`--scroll-fade-x-start`)})):n.style.width=``}#L(e){let n=this.selectedNode;this.#o=n?n.item?.key??``:``;let r=n?new Set([n]):new Set;if(this.#a=e,this.selectedNode=e,this._selectedNodes=new Set([e]),this.#r.isRestoring||(this.#i=void 0),this.#r.notify(),this.root){let n=this.#P(this.root,e);if(n){let e=this.hideRoot&&n.length>1?n.length-2:n.length-1;requestAnimationFrame(()=>{this.#I();let n=this.#g();n&&(n.scrollLeft=0),this.#F(e)})}}this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set([e]),previous:r},bubbles:!0,composed:!0}))}#R(e,n){this._openIdx=-1,this.#L(e),this.#F(n),this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}async#z(e,n,r){try{let i=[...await Rg(this.loadChildren({node:e,depth:n},r.signal),r.signal)];if(r.signal.aborted)return;e.children=i,this.#e=void 0,this.#t=void 0,this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.requestUpdate()}catch{if(r.signal.aborted)return;e.children=[],this.#e=void 0,this.#t=void 0,this.requestUpdate()}}#B(e,n,r){let i=e.detail.command;if(this.leadingCaret){let e=n.children?.find(e=>e.item.key===i);if(e){this.#U(e,r+1);return}if(this.#V){let e=this.#V.find(e=>e.item.key===i);e&&this.#U(e,r),this.#V=void 0;return}}let a=n.children?.find(e=>e.item.key===i);a&&this.#U(a,r+1)}#V;#H(e,n){if(n===0){if(!this.hideRoot||!this.root)return[];let e=__(this.root.children??[]);return this.#V=e,e.map(e=>i`
|
|
4098
4098
|
<ixfx-menu-item
|
|
4099
4099
|
label="${e.item.label}"
|
|
4100
4100
|
command="${e.item.key}"
|
|
4101
4101
|
icon-name="${e.item.icon??a}"
|
|
4102
4102
|
@click=${()=>{this.#U(e,n)}}
|
|
4103
4103
|
></ixfx-menu-item>
|
|
4104
|
-
`)}let r=e[n-1],o=
|
|
4104
|
+
`)}let r=e[n-1],o=__(r.children??[]);return this.#V=o,o.map(e=>i`
|
|
4105
4105
|
<ixfx-menu-item
|
|
4106
4106
|
label="${e.item.label}"
|
|
4107
4107
|
command="${e.item.key}"
|
|
4108
4108
|
icon-name="${e.item.icon??a}"
|
|
4109
4109
|
@click=${()=>{this.#U(e,n)}}
|
|
4110
4110
|
></ixfx-menu-item>
|
|
4111
|
-
`)}#U(e,n){this._openIdx=-1,this.#L(e),this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}#W(){let e=this.root,n=this.selectedNode;if(!e||!n)return;let r=this.#P(e,n);if(!r||r.length<=1)return;let i=r[r.length-2];this.#L(i)}navigateTo(e){if(!this.root?.children)return!1;let n=this.root;for(let r of e){let e=n?.children?.find(e=>e.item.key===r);if(!e)return!1;n=e}return n&&n!==this.root&&this.#L(n),!0}navigateToNode(e){if(!this.root)return!1;let n=this.#G(this.root.children??[],e);return n?this.navigateTo(n):!1}revealKey(e){return this.navigateToNode(n=>n.item.key===e)}selectMany(e){let n=[...e].at(-1);n?this.select(n):this.clearSelection()}#G(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#G(i.children,n,e);if(r)return r}}}render(){let e=this.root,n=this.selectedNode;if(!e||!n)return i``;this.inputMode=this.tickled.inputMode;let r=this.#P(e,n)??[e];this.hideRoot&&r.length>1&&(r=r.slice(1)),this.#f();let o=(this.#P(e,n)??[e]).length<=1,s=[],c=0;return r.forEach((e,n)=>{let o=n===r.length-1,l=this.#e===e,u=this._openIdx===n,d=e.item.isLeaf!==!0&&(e.children===void 0||e.children.length>0),f=this.tickled.isTickled(n),p=this.leadingCaret&&(n>0||this.hideRoot)&&d,m=!this.leadingCaret&&d||this.leadingCaret&&o&&d,h=p?this.#H(r,n):[],g=
|
|
4111
|
+
`)}#U(e,n){this._openIdx=-1,this.#L(e),this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}#W(){let e=this.root,n=this.selectedNode;if(!e||!n)return;let r=this.#P(e,n);if(!r||r.length<=1)return;let i=r[r.length-2];this.#L(i)}navigateTo(e){if(!this.root?.children)return!1;let n=this.root;for(let r of e){let e=n?.children?.find(e=>e.item.key===r);if(!e)return!1;n=e}return n&&n!==this.root&&this.#L(n),!0}navigateToNode(e){if(!this.root)return!1;let n=this.#G(this.root.children??[],e);return n?this.navigateTo(n):!1}revealKey(e){return this.navigateToNode(n=>n.item.key===e)}selectMany(e){let n=[...e].at(-1);n?this.select(n):this.clearSelection()}#G(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#G(i.children,n,e);if(r)return r}}}render(){let e=this.root,n=this.selectedNode;if(!e||!n)return i``;this.inputMode=this.tickled.inputMode;let r=this.#P(e,n)??[e];this.hideRoot&&r.length>1&&(r=r.slice(1)),this.#f();let o=(this.#P(e,n)??[e]).length<=1,s=[],c=0;return r.forEach((e,n)=>{let o=n===r.length-1,l=this.#e===e,u=this._openIdx===n,d=e.item.isLeaf!==!0&&(e.children===void 0||e.children.length>0),f=this.tickled.isTickled(n),p=this.leadingCaret&&(n>0||this.hideRoot)&&d,m=!this.leadingCaret&&d||this.leadingCaret&&o&&d,h=p?this.#H(r,n):[],g=__(e.children??[]).map(e=>i`
|
|
4112
4112
|
<ixfx-menu-item
|
|
4113
4113
|
label="${e.item.label}"
|
|
4114
4114
|
command="${e.item.key}"
|
|
@@ -4221,7 +4221,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4221
4221
|
@narrowed-text-blur=${this.#E}
|
|
4222
4222
|
@narrowed-text-shift-tab=${this.#D}
|
|
4223
4223
|
>
|
|
4224
|
-
${
|
|
4224
|
+
${__(r).map(e=>i`
|
|
4225
4225
|
<span data-value="${e.item.key}" data-label="${e.item.label}"></span>
|
|
4226
4226
|
`)}
|
|
4227
4227
|
</ixfx-narrowed-text>
|
|
@@ -4484,7 +4484,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4484
4484
|
user-select: none;
|
|
4485
4485
|
scroll-snap-align: start;
|
|
4486
4486
|
}
|
|
4487
|
-
`]}};E([d({type:Object})],V.prototype,`root`,void 0),E([d({attribute:!1})],V.prototype,`model`,void 0),E([d({type:Object})],V.prototype,`selectedNode`,void 0),E([m()],V.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],V.prototype,`loadChildren`,void 0),E([d({attribute:!1})],V.prototype,`filterPredicate`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],V.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],V.prototype,`selectionFilter`,void 0),E([m()],V.prototype,`_openIdx`,void 0),E([m()],V.prototype,`_isFocused`,void 0),E([m()],V.prototype,`_menuOpen`,void 0),E([m()],V.prototype,`_focusOnNarrowedText`,void 0),E([d({reflect:!0,attribute:`input-mode`})],V.prototype,`inputMode`,void 0),E([d({type:Boolean,reflect:!0,attribute:`no-truncate`})],V.prototype,`noTruncate`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-suggestions`})],V.prototype,`showSuggestions`,void 0),E([d({type:Boolean,reflect:!0,attribute:`leading-caret`})],V.prototype,`leadingCaret`,void 0),E([d({type:Boolean,reflect:!0,attribute:`caret-embedded`})],V.prototype,`caretEmbedded`,void 0),E([d({type:Boolean,reflect:!0,attribute:`hide-root`})],V.prototype,`hideRoot`,void 0),E([d({type:Boolean,reflect:!0,attribute:`pad-ending`})],V.prototype,`padEnding`,void 0),E([d({type:Boolean,reflect:!0,attribute:`with-up`})],V.prototype,`withUp`,void 0),E([d({attribute:!1})],V.prototype,`restoreLoads`,void 0),V=E([T(`ixfx-crumb-navigation`)],V);var __=class{#e=null;#t;#n;#r;#i;constructor(e={}){this.#n=e.separator??`/`,this.#r=e.onQuery,this.#i=e.sortCompare,this.#t=new qu.Pathed.Pathed({separator:this.#n}),e.paths&&this.addPaths(e.paths)}get separator(){return this.#n}addPath(e){let n=e.split(this.#n).filter(e=>e.length>0);for(let e=0;e<n.length;e++){let r=n.slice(0,e+1).join(this.#n),i={label:n[e]};this.#t.add(i,r)}}addPaths(e){for(let n of e)this.addPath(n)}addSegment(e,n){this.#t.add(e,n)}addSegments(e){for(let{path:n,segment:r}of e)this.addSegment(r,n)}getIcon(e){let n=this.#t.getValue(e);if(n!==void 0)return typeof n==`object`&&n&&`value`in n?n.value?.icon:n.icon}getPath(){return this.#e?.getPath()??``}setPath(e){this.#e?.setPath(e)}#a=e=>this.getIcon(e.join(this.#n));connect(e){this.#e=e,e.separator=this.#n,e.siblingLookup=this.#o.bind(this),e.segmentIconLookup||=this.#a}disconnect(){this.#e&&=(this.#e.siblingLookup=void 0,this.#e.segmentIconLookup===this.#a&&(this.#e.segmentIconLookup=void 0),null)}async#o(e,n,r){let i=e.join(this.#n),a=[...this.#t.children(i)];if(a.length>0){let e=a.map(e=>e.value).filter(e=>e!==void 0).map(e=>`value`in e?e.value??{label:e.label}:{label:e.label});return this.#i?[...e].sort(this.#i):e}if(this.#r){let n=await this.#r(e),a=this.#i?[...n].sort(this.#i):n;for(let e of a){let n=i.length>0?`${i}${this.#n}${e.label}`:e.label;this.#t.add(e,n)}return r.aborted?[]:a}return[]}};const v_=/[^\w-]/g;let y_=class extends n{constructor(...e){super(...e),this.path=``,this.separator=`/`,this.pathRoot=``,this.hintPrevious=!1,this._openIdx=null,this._editing=!1,this._cachedSiblings=new Map,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set,this._dropdownActiveIndex=-1,this._editingCancelled=!1,this._editStartIndex=null,this._openCumPath=null,this._dragCumPath=null,this._dropCumPath=null,this._hintSegments=null,this.#n=Math.random().toString(36).slice(2,8),this.#r=0,this.#o=e=>{e.newState===`closed`&&this._openIdx!==null&&(this._openIdx=null,this._dropdownActiveIndex=-1,this.#s())},this.#M=e=>{if(this._openIdx===null)return;let n=this._cachedSiblings.get(this._openCumPath??String(this._openIdx))??[];if(!n.length){e.key===`Escape`&&(e.preventDefault(),this.#a());return}switch(e.key){case`ArrowDown`:e.preventDefault(),this._dropdownActiveIndex=(this._dropdownActiveIndex+1)%n.length,this.#N();break;case`ArrowUp`:e.preventDefault(),this._dropdownActiveIndex=this._dropdownActiveIndex<=0?n.length-1:this._dropdownActiveIndex-1,this.#N();break;case`Enter`:this._dropdownActiveIndex>=0&&(e.preventDefault(),this.#A(this._openIdx,n[this._dropdownActiveIndex]));break;case`Escape`:e.preventDefault(),this.#a()}},this.#K=e=>{this._editing||[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`Enter`].includes(e.key)||(this._editing=!0)}}#e;#t;#n;#r;#i(e){return`--cp-${this.#n}-${e.replaceAll(this.separator,`-`).replaceAll(` `,`-`).replace(v_,`-`)}`}#a(){if(this._openIdx!==null){this._openIdx=null,this._openCumPath=null,this._dropdownActiveIndex=-1,this.#s();let e=this.shadowRoot?.querySelector(`.crumb-dropdown`);try{e?.hidePopover()}catch{}}}#o;updated(e){if(this._editing){let e=this.shadowRoot?.querySelector(`ixfx-ac-text`);if(e instanceof n){let n=this.path;if(this._editStartIndex!==null){let r=this.#c()[this._editStartIndex],i=this.path.indexOf(r);e.focusWithValue(n,i)}else e.focusWithValue(n)}}e.has(`_openIdx`)&&this._openIdx!==null&&this.updateComplete.then(()=>{let e=this.shadowRoot?.querySelector(`.crumb-dropdown`);if(e){e.style.setProperty(`position-anchor`,this.#i(this._openCumPath??String(this._openIdx)));try{e.showPopover()}catch{}e.focus()}})}#s(){this.#e&&(this.#e.abort(),this.#e=void 0,this.#t=void 0)}#c(){let e=this.path;return this.pathRoot.length>0&&e.startsWith(this.pathRoot)?e.slice(this.pathRoot.length).split(this.separator).filter(e=>e.length>0):this.path.split(this.separator).filter(e=>e.length>0)}#l(){return this.pathRoot.length===0?[]:this.pathRoot.split(this.separator).filter(e=>e.length>0)}#u(e,n){let r=this.#c(),i=this.#l();return n?i.slice(0,e+1).join(this.separator):[...i,...r.slice(0,e+1)].join(this.separator)}#d(e,n){let r=this.#l();return n?r.slice(0,e+1):[...r,...this.#c().slice(0,e+1)]}#f(e){try{let n=this.segmentDragLookup?.(e,e.length-1);return n==null?[]:Array.isArray(n)?[...n]:[n]}catch{return[]}}#p(){return Date.now()<this.#r||this._dragCumPath!==null}#m(e,n){return e.length<=n.length&&e.every((e,r)=>e===n[r])}#h(e,n){if(!this.hintPrevious)return;let r=this._hintSegments;r!==null&&this.#m(n,r)||(this._hintSegments=e)}#g(e,n){let r=this.segmentIconLookup?.(e,n);if(typeof r==`string`&&r.length>0)return r;let i=e[n];if(i===void 0)return;let a=e.slice(0,n).join(this.separator);return this._cachedSiblings.get(a)?.find(e=>e.label===i)?.icon}setPath(e){this.#s(),this.pathRoot.length>0&&!e.startsWith(this.pathRoot)&&(e=this.pathRoot),e!==this.path&&(this.path=e,this._cachedSiblings=new Map,this._openIdx=null,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set)}invalidateSiblings(){this._cachedSiblings=new Map,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set}getPath(){return this.path}#_(e,n){if(n.preventDefault(),n.stopPropagation(),this._openIdx===e){this.#a();return}let r=n.currentTarget.dataset.cumulative;this._openIdx=e,this._openCumPath=r??null,this._dropdownActiveIndex=-1;let i=this.#c(),a=this.#l(),o=r?r.split(this.separator).filter(e=>e.length>0):e===-1?a:i.slice(0,e+1),s=r??String(e);if(!this._cachedSiblings.has(s)&&this.siblingLookup){this.#s();let n=new AbortController;this.#e=n,this.#t=e,this.siblingLookup(o,e,n.signal).then(e=>{n.signal.aborted||(this._cachedSiblings.set(s,e),e.length===0&&this._confirmedLeafIndices.add(r??``),this.#e=void 0,this.#t=void 0,this.requestUpdate())}).catch(e=>{e.name!==`AbortError`&&console.error(`Sibling lookup failed:`,e),this.#e=void 0,this.#t=void 0}),this.dispatchEvent(new CustomEvent(`expand`,{detail:{index:e,segments:o,path:o.join(this.separator),signal:n.signal},bubbles:!0,composed:!0}))}this.requestUpdate()}#v(e,n,r){this.#a();let i=e.length-1,a=r.dataTransfer,o={index:i,label:e[i]??``,pathSegments:e,parentPath:e.slice(0,-1).join(this.separator),fullPath:e.join(this.separator),dataTransfer:a},s=new CustomEvent(`crumb-drag-start`,{detail:o,bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(s)){r.preventDefault();return}if(this._dragCumPath=n,this.toggleAttribute(`data-native-dragging`,!0),a){try{(a.effectAllowed===`none`||a.effectAllowed===`uninitialized`)&&(a.effectAllowed=`copyMove`)}catch{}try{for(let n of this.#f(e))a.setData(n.type,n.data);a.types.includes(`text/plain`)||a.setData(`text/plain`,o.fullPath)}catch{}}}#y(){this._dragCumPath=null,this._dropCumPath=null,this.toggleAttribute(`data-native-dragging`,!1),this.#r=Date.now()+150}#b(e,n){this.parseExternalDrop&&n.dataTransfer&&(n.preventDefault(),this._dropCumPath!==e&&(this._dropCumPath=e))}#x(e,n){this.parseExternalDrop&&this._dropCumPath===e&&(this._dropCumPath=null)}#S(e,n){if(!this.parseExternalDrop)return;n.preventDefault(),n.stopPropagation(),this._dropCumPath=null;let r=n.dataTransfer;if(!r)return;let i;try{i=this.parseExternalDrop(r)}catch(e){console.error(`parseExternalDrop failed:`,e);return}if(i===void 0)return;let a=e.length-1;this.dispatchEvent(new CustomEvent(`crumb-drop`,{detail:{index:a,label:e[a]??``,pathSegments:e,parentPath:e.slice(0,-1).join(this.separator),fullPath:e.join(this.separator),data:i,dataTransfer:r},bubbles:!0,composed:!0}))}#C(){let e=this.#c();if(e.length>0){let n=e.length-1;return{cumPath:this.#u(n,!1),fullPathSegments:this.#d(n,!1)}}let n=this.#l();if(n.length>0){let e=n.length-1;return{cumPath:this.#u(e,!0),fullPathSegments:this.#d(e,!0)}}}#w(e){return!!e.target?.closest?.(`.seg:not(.seg-virtual)`)}#T(e){if(!this.parseExternalDrop||!e.dataTransfer||this.#w(e))return;let n=this.#C();n&&(e.preventDefault(),this._dropCumPath!==n.cumPath&&(this._dropCumPath=n.cumPath))}#E(e){if(!this.parseExternalDrop||this.#w(e))return;let n=this.#C();n&&this._dropCumPath===n.cumPath&&(this._dropCumPath=null)}#D(e){if(!this.parseExternalDrop||this.#w(e))return;let n=this.#C();n&&this.#S(n.fullPathSegments,e)}#O(e,n){if(this.#p())return;n.preventDefault(),n.stopPropagation(),this.#a();let r=this.#c(),i=r.slice(0,e+1);this.#h(r,i);let a=this.path.startsWith(this.separator),o=i.join(this.separator);this.path=a?this.separator+o:o,this._cachedSiblings=new Map,this._leafSegmentIndex=null;let s=i.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:i[e],parentPath:s,fullPath:o},bubbles:!0,composed:!0}))}#k(e,n){if(this.#p())return;n.preventDefault(),n.stopPropagation(),this.#a();let r=this._hintSegments;if(!r)return;let i=r.slice(0,e+1),a=this.path.startsWith(this.separator),o=i.join(this.separator);this.path=a?this.separator+o:o,this._cachedSiblings=new Map,this._leafSegmentIndex=null;let s=i.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:i[e],parentPath:s,fullPath:o},bubbles:!0,composed:!0}))}#A(e,n){let r=this._openCumPath;this.#a();let i=this.#c(),a=this.#l(),o;o=r?[...r.split(this.separator).filter(e=>e.length>0),n.label]:this.pathRoot.length>0&&e<a.length?[...a.slice(0,e+1),n.label]:[...a,...i.slice(0,e+1-a.length),n.label];let s=this.path.startsWith(this.separator),c=o.join(this.separator);this.path=s?this.separator+c:c,this._cachedSiblings=new Map;let l=n.isLeaf?o.length-1:null;this._leafSegmentIndex=l,n.isLeaf&&this._confirmedLeafIndices.add(r??``);let u=o.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:n.label,parentPath:u,fullPath:c},bubbles:!0,composed:!0}))}#j(e,n,r){r.preventDefault(),r.stopPropagation(),this.#A(e,n)}#M;#N(){this.updateComplete.then(()=>{this.shadowRoot?.querySelector(`.crumb-option.active`)?.scrollIntoView({block:`nearest`})})}#P(e){let n=this._cachedSiblings.get(this._openCumPath??String(e))??[],r=this.#t===e;return i`
|
|
4487
|
+
`]}};E([d({type:Object})],B.prototype,`root`,void 0),E([d({attribute:!1})],B.prototype,`model`,void 0),E([d({type:Object})],B.prototype,`selectedNode`,void 0),E([m()],B.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],B.prototype,`loadChildren`,void 0),E([d({attribute:!1})],B.prototype,`filterPredicate`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],B.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],B.prototype,`selectionFilter`,void 0),E([m()],B.prototype,`_openIdx`,void 0),E([m()],B.prototype,`_isFocused`,void 0),E([m()],B.prototype,`_menuOpen`,void 0),E([m()],B.prototype,`_focusOnNarrowedText`,void 0),E([d({reflect:!0,attribute:`input-mode`})],B.prototype,`inputMode`,void 0),E([d({type:Boolean,reflect:!0,attribute:`no-truncate`})],B.prototype,`noTruncate`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-suggestions`})],B.prototype,`showSuggestions`,void 0),E([d({type:Boolean,reflect:!0,attribute:`leading-caret`})],B.prototype,`leadingCaret`,void 0),E([d({type:Boolean,reflect:!0,attribute:`caret-embedded`})],B.prototype,`caretEmbedded`,void 0),E([d({type:Boolean,reflect:!0,attribute:`hide-root`})],B.prototype,`hideRoot`,void 0),E([d({type:Boolean,reflect:!0,attribute:`pad-ending`})],B.prototype,`padEnding`,void 0),E([d({type:Boolean,reflect:!0,attribute:`with-up`})],B.prototype,`withUp`,void 0),E([d({attribute:!1})],B.prototype,`restoreLoads`,void 0),B=E([T(`ixfx-crumb-navigation`)],B);var v_=class{#e=null;#t;#n;#r;#i;constructor(e={}){this.#n=e.separator??`/`,this.#r=e.onQuery,this.#i=e.sortCompare,this.#t=new qu.Pathed.Pathed({separator:this.#n}),e.paths&&this.addPaths(e.paths)}get separator(){return this.#n}addPath(e){let n=e.split(this.#n).filter(e=>e.length>0);for(let e=0;e<n.length;e++){let r=n.slice(0,e+1).join(this.#n),i={label:n[e]};this.#t.add(i,r)}}addPaths(e){for(let n of e)this.addPath(n)}addSegment(e,n){this.#t.add(e,n)}addSegments(e){for(let{path:n,segment:r}of e)this.addSegment(r,n)}getIcon(e){let n=this.#t.getValue(e);if(n!==void 0)return typeof n==`object`&&n&&`value`in n?n.value?.icon:n.icon}getPath(){return this.#e?.getPath()??``}setPath(e){this.#e?.setPath(e)}#a=e=>this.getIcon(e.join(this.#n));connect(e){this.#e=e,e.separator=this.#n,e.siblingLookup=this.#o.bind(this),e.segmentIconLookup||=this.#a}disconnect(){this.#e&&=(this.#e.siblingLookup=void 0,this.#e.segmentIconLookup===this.#a&&(this.#e.segmentIconLookup=void 0),null)}async#o(e,n,r){let i=e.join(this.#n),a=[...this.#t.children(i)];if(a.length>0){let e=a.map(e=>e.value).filter(e=>e!==void 0).map(e=>`value`in e?e.value??{label:e.label}:{label:e.label});return this.#i?[...e].sort(this.#i):e}if(this.#r){let n=await this.#r(e),a=this.#i?[...n].sort(this.#i):n;for(let e of a){let n=i.length>0?`${i}${this.#n}${e.label}`:e.label;this.#t.add(e,n)}return r.aborted?[]:a}return[]}};const y_=/[^\w-]/g;let b_=class extends n{constructor(...e){super(...e),this.path=``,this.separator=`/`,this.pathRoot=``,this.hintPrevious=!1,this._openIdx=null,this._editing=!1,this._cachedSiblings=new Map,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set,this._dropdownActiveIndex=-1,this._editingCancelled=!1,this._editStartIndex=null,this._openCumPath=null,this._dragCumPath=null,this._dropCumPath=null,this._hintSegments=null,this.#n=Math.random().toString(36).slice(2,8),this.#r=0,this.#o=e=>{e.newState===`closed`&&this._openIdx!==null&&(this._openIdx=null,this._dropdownActiveIndex=-1,this.#s())},this.#M=e=>{if(this._openIdx===null)return;let n=this._cachedSiblings.get(this._openCumPath??String(this._openIdx))??[];if(!n.length){e.key===`Escape`&&(e.preventDefault(),this.#a());return}switch(e.key){case`ArrowDown`:e.preventDefault(),this._dropdownActiveIndex=(this._dropdownActiveIndex+1)%n.length,this.#N();break;case`ArrowUp`:e.preventDefault(),this._dropdownActiveIndex=this._dropdownActiveIndex<=0?n.length-1:this._dropdownActiveIndex-1,this.#N();break;case`Enter`:this._dropdownActiveIndex>=0&&(e.preventDefault(),this.#A(this._openIdx,n[this._dropdownActiveIndex]));break;case`Escape`:e.preventDefault(),this.#a()}},this.#K=e=>{this._editing||[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`Enter`].includes(e.key)||(this._editing=!0)}}#e;#t;#n;#r;#i(e){return`--cp-${this.#n}-${e.replaceAll(this.separator,`-`).replaceAll(` `,`-`).replace(y_,`-`)}`}#a(){if(this._openIdx!==null){this._openIdx=null,this._openCumPath=null,this._dropdownActiveIndex=-1,this.#s();let e=this.shadowRoot?.querySelector(`.crumb-dropdown`);try{e?.hidePopover()}catch{}}}#o;updated(e){if(this._editing){let e=this.shadowRoot?.querySelector(`ixfx-ac-text`);if(e instanceof n){let n=this.path;if(this._editStartIndex!==null){let r=this.#c()[this._editStartIndex],i=this.path.indexOf(r);e.focusWithValue(n,i)}else e.focusWithValue(n)}}e.has(`_openIdx`)&&this._openIdx!==null&&this.updateComplete.then(()=>{let e=this.shadowRoot?.querySelector(`.crumb-dropdown`);if(e){e.style.setProperty(`position-anchor`,this.#i(this._openCumPath??String(this._openIdx)));try{e.showPopover()}catch{}e.focus()}})}#s(){this.#e&&(this.#e.abort(),this.#e=void 0,this.#t=void 0)}#c(){let e=this.path;return this.pathRoot.length>0&&e.startsWith(this.pathRoot)?e.slice(this.pathRoot.length).split(this.separator).filter(e=>e.length>0):this.path.split(this.separator).filter(e=>e.length>0)}#l(){return this.pathRoot.length===0?[]:this.pathRoot.split(this.separator).filter(e=>e.length>0)}#u(e,n){let r=this.#c(),i=this.#l();return n?i.slice(0,e+1).join(this.separator):[...i,...r.slice(0,e+1)].join(this.separator)}#d(e,n){let r=this.#l();return n?r.slice(0,e+1):[...r,...this.#c().slice(0,e+1)]}#f(e){try{let n=this.segmentDragLookup?.(e,e.length-1);return n==null?[]:Array.isArray(n)?[...n]:[n]}catch{return[]}}#p(){return Date.now()<this.#r||this._dragCumPath!==null}#m(e,n){return e.length<=n.length&&e.every((e,r)=>e===n[r])}#h(e,n){if(!this.hintPrevious)return;let r=this._hintSegments;r!==null&&this.#m(n,r)||(this._hintSegments=e)}#g(e,n){let r=this.segmentIconLookup?.(e,n);if(typeof r==`string`&&r.length>0)return r;let i=e[n];if(i===void 0)return;let a=e.slice(0,n).join(this.separator);return this._cachedSiblings.get(a)?.find(e=>e.label===i)?.icon}setPath(e){this.#s(),this.pathRoot.length>0&&!e.startsWith(this.pathRoot)&&(e=this.pathRoot),e!==this.path&&(this.path=e,this._cachedSiblings=new Map,this._openIdx=null,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set)}invalidateSiblings(){this._cachedSiblings=new Map,this._leafSegmentIndex=null,this._confirmedLeafIndices=new Set}getPath(){return this.path}#_(e,n){if(n.preventDefault(),n.stopPropagation(),this._openIdx===e){this.#a();return}let r=n.currentTarget.dataset.cumulative;this._openIdx=e,this._openCumPath=r??null,this._dropdownActiveIndex=-1;let i=this.#c(),a=this.#l(),o=r?r.split(this.separator).filter(e=>e.length>0):e===-1?a:i.slice(0,e+1),s=r??String(e);if(!this._cachedSiblings.has(s)&&this.siblingLookup){this.#s();let n=new AbortController;this.#e=n,this.#t=e,this.siblingLookup(o,e,n.signal).then(e=>{n.signal.aborted||(this._cachedSiblings.set(s,e),e.length===0&&this._confirmedLeafIndices.add(r??``),this.#e=void 0,this.#t=void 0,this.requestUpdate())}).catch(e=>{e.name!==`AbortError`&&console.error(`Sibling lookup failed:`,e),this.#e=void 0,this.#t=void 0}),this.dispatchEvent(new CustomEvent(`expand`,{detail:{index:e,segments:o,path:o.join(this.separator),signal:n.signal},bubbles:!0,composed:!0}))}this.requestUpdate()}#v(e,n,r){this.#a();let i=e.length-1,a=r.dataTransfer,o={index:i,label:e[i]??``,pathSegments:e,parentPath:e.slice(0,-1).join(this.separator),fullPath:e.join(this.separator),dataTransfer:a},s=new CustomEvent(`crumb-drag-start`,{detail:o,bubbles:!0,composed:!0,cancelable:!0});if(!this.dispatchEvent(s)){r.preventDefault();return}if(this._dragCumPath=n,this.toggleAttribute(`data-native-dragging`,!0),a){try{(a.effectAllowed===`none`||a.effectAllowed===`uninitialized`)&&(a.effectAllowed=`copyMove`)}catch{}try{for(let n of this.#f(e))a.setData(n.type,n.data);a.types.includes(`text/plain`)||a.setData(`text/plain`,o.fullPath)}catch{}}}#y(){this._dragCumPath=null,this._dropCumPath=null,this.toggleAttribute(`data-native-dragging`,!1),this.#r=Date.now()+150}#b(e,n){this.parseExternalDrop&&n.dataTransfer&&(n.preventDefault(),this._dropCumPath!==e&&(this._dropCumPath=e))}#x(e,n){this.parseExternalDrop&&this._dropCumPath===e&&(this._dropCumPath=null)}#S(e,n){if(!this.parseExternalDrop)return;n.preventDefault(),n.stopPropagation(),this._dropCumPath=null;let r=n.dataTransfer;if(!r)return;let i;try{i=this.parseExternalDrop(r)}catch(e){console.error(`parseExternalDrop failed:`,e);return}if(i===void 0)return;let a=e.length-1;this.dispatchEvent(new CustomEvent(`crumb-drop`,{detail:{index:a,label:e[a]??``,pathSegments:e,parentPath:e.slice(0,-1).join(this.separator),fullPath:e.join(this.separator),data:i,dataTransfer:r},bubbles:!0,composed:!0}))}#C(){let e=this.#c();if(e.length>0){let n=e.length-1;return{cumPath:this.#u(n,!1),fullPathSegments:this.#d(n,!1)}}let n=this.#l();if(n.length>0){let e=n.length-1;return{cumPath:this.#u(e,!0),fullPathSegments:this.#d(e,!0)}}}#w(e){return!!e.target?.closest?.(`.seg:not(.seg-virtual)`)}#T(e){if(!this.parseExternalDrop||!e.dataTransfer||this.#w(e))return;let n=this.#C();n&&(e.preventDefault(),this._dropCumPath!==n.cumPath&&(this._dropCumPath=n.cumPath))}#E(e){if(!this.parseExternalDrop||this.#w(e))return;let n=this.#C();n&&this._dropCumPath===n.cumPath&&(this._dropCumPath=null)}#D(e){if(!this.parseExternalDrop||this.#w(e))return;let n=this.#C();n&&this.#S(n.fullPathSegments,e)}#O(e,n){if(this.#p())return;n.preventDefault(),n.stopPropagation(),this.#a();let r=this.#c(),i=r.slice(0,e+1);this.#h(r,i);let a=this.path.startsWith(this.separator),o=i.join(this.separator);this.path=a?this.separator+o:o,this._cachedSiblings=new Map,this._leafSegmentIndex=null;let s=i.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:i[e],parentPath:s,fullPath:o},bubbles:!0,composed:!0}))}#k(e,n){if(this.#p())return;n.preventDefault(),n.stopPropagation(),this.#a();let r=this._hintSegments;if(!r)return;let i=r.slice(0,e+1),a=this.path.startsWith(this.separator),o=i.join(this.separator);this.path=a?this.separator+o:o,this._cachedSiblings=new Map,this._leafSegmentIndex=null;let s=i.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:i[e],parentPath:s,fullPath:o},bubbles:!0,composed:!0}))}#A(e,n){let r=this._openCumPath;this.#a();let i=this.#c(),a=this.#l(),o;o=r?[...r.split(this.separator).filter(e=>e.length>0),n.label]:this.pathRoot.length>0&&e<a.length?[...a.slice(0,e+1),n.label]:[...a,...i.slice(0,e+1-a.length),n.label];let s=this.path.startsWith(this.separator),c=o.join(this.separator);this.path=s?this.separator+c:c,this._cachedSiblings=new Map;let l=n.isLeaf?o.length-1:null;this._leafSegmentIndex=l,n.isLeaf&&this._confirmedLeafIndices.add(r??``);let u=o.slice(0,-1).join(this.separator);this.dispatchEvent(new CustomEvent(`navigate`,{detail:{index:e,label:n.label,parentPath:u,fullPath:c},bubbles:!0,composed:!0}))}#j(e,n,r){r.preventDefault(),r.stopPropagation(),this.#A(e,n)}#M;#N(){this.updateComplete.then(()=>{this.shadowRoot?.querySelector(`.crumb-option.active`)?.scrollIntoView({block:`nearest`})})}#P(e){let n=this._cachedSiblings.get(this._openCumPath??String(e))??[],r=this.#t===e;return i`
|
|
4488
4488
|
${r?i`<span class="loading-spinner"></span>`:a}
|
|
4489
4489
|
${n.length===0&&!r?i`<span class="crumb-option crumb-option-label">No items</span>`:n.map((n,r)=>i`
|
|
4490
4490
|
<div class="crumb-option ${r===this._dropdownActiveIndex?`active`:``}"
|
|
@@ -4787,7 +4787,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4787
4787
|
@keyframes crumb-spin {
|
|
4788
4788
|
to { transform: rotate(360deg); }
|
|
4789
4789
|
}
|
|
4790
|
-
`]}};E([d({type:String})],
|
|
4790
|
+
`]}};E([d({type:String})],b_.prototype,`path`,void 0),E([d({type:String})],b_.prototype,`separator`,void 0),E([d({type:String,attribute:`path-root`})],b_.prototype,`pathRoot`,void 0),E([d({type:Object})],b_.prototype,`siblingLookup`,void 0),E([d({type:Object})],b_.prototype,`segmentIconLookup`,void 0),E([d({type:Object})],b_.prototype,`segmentDragLookup`,void 0),E([d({type:Object})],b_.prototype,`parseExternalDrop`,void 0),E([d({type:Boolean,attribute:`hint-previous`})],b_.prototype,`hintPrevious`,void 0),E([m()],b_.prototype,`_openIdx`,void 0),E([m()],b_.prototype,`_editing`,void 0),E([m()],b_.prototype,`_cachedSiblings`,void 0),E([m()],b_.prototype,`_leafSegmentIndex`,void 0),E([m()],b_.prototype,`_confirmedLeafIndices`,void 0),E([m()],b_.prototype,`_dropdownActiveIndex`,void 0),E([m()],b_.prototype,`_editingCancelled`,void 0),E([m()],b_.prototype,`_editStartIndex`,void 0),E([m()],b_.prototype,`_openCumPath`,void 0),E([m()],b_.prototype,`_dragCumPath`,void 0),E([m()],b_.prototype,`_dropCumPath`,void 0),E([m()],b_.prototype,`_hintSegments`,void 0),b_=E([T(`ixfx-crumb-path`)],b_);let x_=class extends n{static{this.styles=[w,r`
|
|
4791
4791
|
:host {
|
|
4792
4792
|
display: block;
|
|
4793
4793
|
width: fit-content;
|
|
@@ -4821,7 +4821,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4821
4821
|
font-variant-numeric: tabular-nums;
|
|
4822
4822
|
white-space: pre;
|
|
4823
4823
|
}
|
|
4824
|
-
`]}#e;#t;#n;#r;constructor(){super(),this.automap=!1,this.#e=new Map,this.#t=new Map,this.#n=new Map,this._container=document.createElement(`section`)}connectedCallback(){super.connectedCallback(),this.renderRoot.append(this._container)}configure(e){this.#e.clear();for(let[n,r,i]of e)this.#e.set(n,{style:r,options:i});this._container.innerHTML=``,this.#t.clear(),this.#n.clear(),this.#r!==void 0&&this.#i(this.#r)}formatValue(e,n={}){if(e===null)return`(null)`;if(e===void 0)return`(undefined)`;if(typeof e==`boolean`)return e?`true`:`false`;if(typeof e==`string`)return`"${e}"`;if(typeof e==`number`){let r=e;if(n.roundNumbers!==void 0&&(r=ki(n.roundNumbers,e)),n.precision!==void 0)return r.toFixed(n.precision);let i=r.toFixed(2);return r>=0?` ${i}`:i}return JSON.stringify(e)}displayData(e){if(e===null){this.innerHTML=``;return}this.#i(e)}updateData(e){this.#r=e,this.#i(e),this.previousValue=e}getOrCreate(e,n){let r=this.renderRoot.querySelector(`#${e}`);if(r!==null)return r;let i=document.createElement(`div`);return i.id=e,n&&n(i),this._container.append(i),i}#i(e){let n=new Set;this.#a(e,``,n),this.#y(n)}#a(e,n,r){for(let[i,a]of Object.entries(e)){let e=n?`${n}.${i}`:i;r.add(e);let o=this.#e.get(e);if(o!==void 0){if(o.style!==`hide`){let n=this.#c(e,i);this.#l(n,e,o.style,a,o.options)}continue}if(typeof a==`object`&&a&&!Array.isArray(a)){if(this.#o(e))this.#a(a,e,r);else if(this.automap){let n=this.#c(e,i);this.#v(n,a,!0)}else{let n=this.#c(e,i);this.#v(n,a)}}else{let n=this.#s(a);if(n!==void 0){let r=this.#c(e,i);this.#l(r,e,n,a,void 0)}else{let n=this.#c(e,i);this.#_(n,this.formatValue(a))}}}}#o(e){let n=e?`${e}.`:``;for(let e of this.#e.keys())if(e.startsWith(n))return!0;return!1}#s(e){if(this.automap){if(typeof e==`boolean`)return`led`;if(typeof e==`number`)return`plot`}}#c(e,n){let r=`path-${e}`,i=this.renderRoot.querySelector(`#${CSS.escape(r)}`);if(i!==null)return i;i=document.createElement(`div`),i.id=r,i.classList.add(`row`);let a=document.createElement(`label`);return a.textContent=n,i.append(a),this._container.append(i),i}#l(e,n,r,i,a){let o=this.#u(r,i);if(o===null)return;let s=this.#d(e,o);s!==null&&this.#f(s,o,r,n,i,a)}#u(e,n){switch(e){case`hide`:return null;case`led`:return`ixfx-led`;case`plot`:return typeof n==`number`?`ixfx-plot-single-axis`:typeof n==`object`&&n?`ixfx-plot-multi-axis`:`span`;case`plot-xy`:return`ixfx-plot-xy-axis`;case`plot-heat`:case`plot-histogram`:return`ixfx-plot-histogram`;case`time-elapsed`:return`span`}}#d(e,n){let r=e.querySelector(`:scope > [data-renderer]`);if(r!==null){if(r.tagName.toLowerCase()===n)return r;r.remove()}let i=document.createElement(n);return i.dataset.renderer=``,n.startsWith(`ixfx-plot`)&&(i.style.height=`1.4em`,n===`ixfx-plot-xy-axis`?i.style.width=`1.4em`:i.style.width=`5em`),e.append(i),i}#f(e,n,r,i,a,o){let s=this.#t.get(i)!==a;switch(r){case`led`:this.#p(e,i,a,o);break;case`plot`:if(typeof a==`number`)s&&e.add(a);else if(typeof a==`object`&&a&&s){if(Array.isArray(a)){let n={};a.forEach((e,r)=>{typeof e==`number`&&(n[String(r)]=e)}),Object.keys(n).length>0&&e.addData(n)}else e.addData(a)}this.#h(e,r,o);break;case`plot-xy`:s&&this.#m(e,a),this.#h(e,r,o);break;case`plot-heat`:e.style.setProperty(`--plot-histogram-bar-length`,`1`);case`plot-histogram`:typeof a==`number`&&s&&e.add(a),this.#h(e,r,o);break;case`time-elapsed`:e.textContent=this.#g(a)}this.#t.set(i,a)}#p(e,n,r,i){let a=e;if(typeof r==`boolean`)a.lit=r,a.value=+!!r;else if(typeof r==`number`){let e=this.#n.get(n);e===void 0&&(e=Ii(),this.#n.set(n,e));let i=e.seen(r),o=i.max===i.min?.5:(r-i.min)/(i.max-i.min);a.value=o,a.lit=o>.3}i?.color!==void 0&&(a.color=i.color)}#m(e,n){let r=e;if(Array.isArray(n)&&n.length>=2)r.add(n[0],n[1]);else if(typeof n==`object`&&n){let e=n;if(`x`in e&&`y`in e)r.add(e.x,e.y);else{let n=Object.entries(e).filter(([e,n])=>typeof n==`number`);n.length>=2&&r.add(n[0][1],n[1][1])}}}#h(e,n,r){if(r===void 0)return;let i=e;typeof r.capacity==`number`&&(i.capacity=r.capacity),typeof r.resolution==`number`&&(i.resolution=r.resolution),typeof r.drawStyle==`string`&&(i.drawStyle=r.drawStyle),typeof r.orientation==`string`&&(i.orientation=r.orientation),typeof r.layout==`string`&&(i.layout=r.layout)}#g(e){let n;if(e instanceof Date)n=e.getTime();else if(typeof e==`number`)n=e>0xe8d4a51000?e:Date.now();else if(typeof e==`string`)n=new Date(e).getTime();else return String(e);if(Number.isNaN(n))return String(e);let r=Date.now()-n,i=Math.abs(r);return i<1e3?`${i}ms`:i<6e4?`${(i/1e3).toFixed(1)}s`:i<36e5?`${(i/6e4).toFixed(1)}mins`:i<864e5?`${(i/36e5).toFixed(1)}h`:`${(i/864e5).toFixed(1)}d`}#_(e,n){let r=e.querySelector(`:scope > .value`);r===null&&(r=document.createElement(`span`),r.classList.add(`value`),e.append(r)),r.textContent=n}#v(e,n,r=!1){let i=e.querySelector(`:scope > ixfx-data-display`);i===null&&(i=document.createElement(`ixfx-data-display`),e.append(i)),i.automap=r,i.updateData(n)}#y(e){let n=this._container.querySelectorAll(`[id^="path-"]`);for(let r of n){let n=r.id.slice(5);e.has(n)||(r.remove(),this.#n.delete(n),this.#t.delete(n))}}};E([d({type:Boolean})],
|
|
4824
|
+
`]}#e;#t;#n;#r;constructor(){super(),this.automap=!1,this.#e=new Map,this.#t=new Map,this.#n=new Map,this._container=document.createElement(`section`)}connectedCallback(){super.connectedCallback(),this.renderRoot.append(this._container)}configure(e){this.#e.clear();for(let[n,r,i]of e)this.#e.set(n,{style:r,options:i});this._container.innerHTML=``,this.#t.clear(),this.#n.clear(),this.#r!==void 0&&this.#i(this.#r)}formatValue(e,n={}){if(e===null)return`(null)`;if(e===void 0)return`(undefined)`;if(typeof e==`boolean`)return e?`true`:`false`;if(typeof e==`string`)return`"${e}"`;if(typeof e==`number`){let r=e;if(n.roundNumbers!==void 0&&(r=ki(n.roundNumbers,e)),n.precision!==void 0)return r.toFixed(n.precision);let i=r.toFixed(2);return r>=0?` ${i}`:i}return JSON.stringify(e)}displayData(e){if(e===null){this.innerHTML=``;return}this.#i(e)}updateData(e){this.#r=e,this.#i(e),this.previousValue=e}getOrCreate(e,n){let r=this.renderRoot.querySelector(`#${e}`);if(r!==null)return r;let i=document.createElement(`div`);return i.id=e,n&&n(i),this._container.append(i),i}#i(e){let n=new Set;this.#a(e,``,n),this.#y(n)}#a(e,n,r){for(let[i,a]of Object.entries(e)){let e=n?`${n}.${i}`:i;r.add(e);let o=this.#e.get(e);if(o!==void 0){if(o.style!==`hide`){let n=this.#c(e,i);this.#l(n,e,o.style,a,o.options)}continue}if(typeof a==`object`&&a&&!Array.isArray(a)){if(this.#o(e))this.#a(a,e,r);else if(this.automap){let n=this.#c(e,i);this.#v(n,a,!0)}else{let n=this.#c(e,i);this.#v(n,a)}}else{let n=this.#s(a);if(n!==void 0){let r=this.#c(e,i);this.#l(r,e,n,a,void 0)}else{let n=this.#c(e,i);this.#_(n,this.formatValue(a))}}}}#o(e){let n=e?`${e}.`:``;for(let e of this.#e.keys())if(e.startsWith(n))return!0;return!1}#s(e){if(this.automap){if(typeof e==`boolean`)return`led`;if(typeof e==`number`)return`plot`}}#c(e,n){let r=`path-${e}`,i=this.renderRoot.querySelector(`#${CSS.escape(r)}`);if(i!==null)return i;i=document.createElement(`div`),i.id=r,i.classList.add(`row`);let a=document.createElement(`label`);return a.textContent=n,i.append(a),this._container.append(i),i}#l(e,n,r,i,a){let o=this.#u(r,i);if(o===null)return;let s=this.#d(e,o);s!==null&&this.#f(s,o,r,n,i,a)}#u(e,n){switch(e){case`hide`:return null;case`led`:return`ixfx-led`;case`plot`:return typeof n==`number`?`ixfx-plot-single-axis`:typeof n==`object`&&n?`ixfx-plot-multi-axis`:`span`;case`plot-xy`:return`ixfx-plot-xy-axis`;case`plot-heat`:case`plot-histogram`:return`ixfx-plot-histogram`;case`time-elapsed`:return`span`}}#d(e,n){let r=e.querySelector(`:scope > [data-renderer]`);if(r!==null){if(r.tagName.toLowerCase()===n)return r;r.remove()}let i=document.createElement(n);return i.dataset.renderer=``,n.startsWith(`ixfx-plot`)&&(i.style.height=`1.4em`,n===`ixfx-plot-xy-axis`?i.style.width=`1.4em`:i.style.width=`5em`),e.append(i),i}#f(e,n,r,i,a,o){let s=this.#t.get(i)!==a;switch(r){case`led`:this.#p(e,i,a,o);break;case`plot`:if(typeof a==`number`)s&&e.add(a);else if(typeof a==`object`&&a&&s){if(Array.isArray(a)){let n={};a.forEach((e,r)=>{typeof e==`number`&&(n[String(r)]=e)}),Object.keys(n).length>0&&e.addData(n)}else e.addData(a)}this.#h(e,r,o);break;case`plot-xy`:s&&this.#m(e,a),this.#h(e,r,o);break;case`plot-heat`:e.style.setProperty(`--plot-histogram-bar-length`,`1`);case`plot-histogram`:typeof a==`number`&&s&&e.add(a),this.#h(e,r,o);break;case`time-elapsed`:e.textContent=this.#g(a)}this.#t.set(i,a)}#p(e,n,r,i){let a=e;if(typeof r==`boolean`)a.lit=r,a.value=+!!r;else if(typeof r==`number`){let e=this.#n.get(n);e===void 0&&(e=Ii(),this.#n.set(n,e));let i=e.seen(r),o=i.max===i.min?.5:(r-i.min)/(i.max-i.min);a.value=o,a.lit=o>.3}i?.color!==void 0&&(a.color=i.color)}#m(e,n){let r=e;if(Array.isArray(n)&&n.length>=2)r.add(n[0],n[1]);else if(typeof n==`object`&&n){let e=n;if(`x`in e&&`y`in e)r.add(e.x,e.y);else{let n=Object.entries(e).filter(([e,n])=>typeof n==`number`);n.length>=2&&r.add(n[0][1],n[1][1])}}}#h(e,n,r){if(r===void 0)return;let i=e;typeof r.capacity==`number`&&(i.capacity=r.capacity),typeof r.resolution==`number`&&(i.resolution=r.resolution),typeof r.drawStyle==`string`&&(i.drawStyle=r.drawStyle),typeof r.orientation==`string`&&(i.orientation=r.orientation),typeof r.layout==`string`&&(i.layout=r.layout)}#g(e){let n;if(e instanceof Date)n=e.getTime();else if(typeof e==`number`)n=e>0xe8d4a51000?e:Date.now();else if(typeof e==`string`)n=new Date(e).getTime();else return String(e);if(Number.isNaN(n))return String(e);let r=Date.now()-n,i=Math.abs(r);return i<1e3?`${i}ms`:i<6e4?`${(i/1e3).toFixed(1)}s`:i<36e5?`${(i/6e4).toFixed(1)}mins`:i<864e5?`${(i/36e5).toFixed(1)}h`:`${(i/864e5).toFixed(1)}d`}#_(e,n){let r=e.querySelector(`:scope > .value`);r===null&&(r=document.createElement(`span`),r.classList.add(`value`),e.append(r)),r.textContent=n}#v(e,n,r=!1){let i=e.querySelector(`:scope > ixfx-data-display`);i===null&&(i=document.createElement(`ixfx-data-display`),e.append(i)),i.automap=r,i.updateData(n)}#y(e){let n=this._container.querySelectorAll(`[id^="path-"]`);for(let r of n){let n=r.id.slice(5);e.has(n)||(r.remove(),this.#n.delete(n),this.#t.delete(n))}}};E([d({type:Boolean})],x_.prototype,`automap`,void 0),x_=E([T(`ixfx-data-display`)],x_);function S_(e){return e==null||e===!1||e===``}function C_(e){return typeof e==`string`&&e.length>0?e:void 0}let w_=!1;function T_(){if(w_)return;w_=!0;let e=document.createElement(`style`);e.textContent=`
|
|
4825
4825
|
.ixfx-drag-ghost {
|
|
4826
4826
|
position: fixed;
|
|
4827
4827
|
top: 0;
|
|
@@ -4850,7 +4850,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4850
4850
|
.ixfx-drag-ghost ixfx-icon {
|
|
4851
4851
|
flex-shrink: 0;
|
|
4852
4852
|
}
|
|
4853
|
-
`,document.head.appendChild(e)}function
|
|
4853
|
+
`,document.head.appendChild(e)}function E_(e){T_();let n=document.createElement(`div`);n.className=`ixfx-drag-ghost`,e.className&&n.classList.add(e.className),n.appendChild(e.content),n.style.transform=`translate3d(-9999px, -9999px, 0)`;let r=e.anchor.ownerDocument,i=e.anchor.closest(`.theme-dark, .theme-light`);i?i.appendChild(n):r.body.appendChild(n);let a=e.anchor.getBoundingClientRect(),o=a.width/2,s=a.height/2;return{element:n,move(e,r){n.style.transform=`translate3d(${e-o}px, ${r-s}px, 0)`},destroy(){n.remove()}}}const D_=new Map,O_=new Map;function k_(e,n,r,i,a=!0){if(e.size===0&&n.size===0)return{selected:e,pending:n,restored:!1,changed:!1};let o,s;for(let i of e)r(i)||(o??=new Set(e),o.delete(i),s??=new Set(n),s.add(i));let c=a?[...n].filter(r):[],l=A_(o??e,s??n,c,i);return{...l,changed:l.changed||o!==void 0}}function A_(e,n,r,i){if(r.length===0)return{selected:e,pending:sr(n),restored:!1,changed:!1};let a=new Set(e),o=new Set(n);for(let e of r)a.add(e),o.delete(e);return i?{selected:new Set([r.at(-1)]),pending:k,restored:!0,changed:!0}:{selected:a,pending:sr(o),restored:!0,changed:!0}}function j_(e,n){return e.size===0?[]:n.filter(n=>e.has(n))}function M_(e,n=()=>!0){let r={};for(let i of e)n(i)&&(r[i]=!1);return r}function N_(e){let n=[...ur(e)].filter(([,e])=>!e).map(([e])=>e);return new Set(sr(new Set(n)))}function P_(e){let n=new Map,r=new Map;for(let[i,a]of Object.entries(e)){if(typeof a!=`object`||!a)continue;let e=typeof a.width==`number`&&Number.isFinite(a.width)&&a.width>0?a.width:void 0,o=typeof a.visible==`boolean`?a.visible:void 0;(e!==void 0||o!==void 0)&&n.set(i,{...e===void 0?{}:{width:e},...o===void 0?{}:{visible:o}}),typeof a.order==`number`&&Number.isFinite(a.order)&&r.set(i,a.order)}return{pending:n,order:r}}function F_(e,n,r,i){let a=new Set(n.map(e=>e.key)),o;for(let n of e)a.has(n.key)||r.has(n.key)||(o??=new Map(r),o.set(n.key,R_(n)));let s;n.forEach((e,i)=>{let a=(o??r).get(e.key);a&&(o??=new Map(r),o.delete(e.key),(a.width!==void 0&&a.width!==e.width||a.visible!==void 0&&a.visible!==(e.visible!==!1))&&(s??=[...n],s[i]={...e,...a}))});let c=i;if(i.size>0){let e=s??n,r=e.flatMap((e,n)=>i.has(e.key)?[n]:[]),o=r.map(n=>e[n]).sort((e,n)=>i.get(e.key)-i.get(n.key));o.some((n,i)=>n!==e[r[i]])&&(s??=[...n],r.forEach((e,n)=>{s[e]=o[n]})),[...i.keys()].every(e=>a.has(e))&&(c=O_)}return{columns:s??n,pending:o?B_(o):r,order:c,changed:s!==void 0||o!==void 0||c!==i}}function I_(e,n,r,i){let a={};if(i){for(let[e,i]of n)a[e]=z_(i,r.get(e));for(let[n,i]of r)!(n in a)&&!e.some(e=>e.key===n)&&(a[n]={order:i})}return e.forEach((e,n)=>{a[e.key]=z_(R_(e),r.size>0?r.get(e.key):n)}),a}function L_(e){if(e===null)return!0;if(typeof e!=`object`)return!1;let n=e;return typeof n.key==`string`&&(n.direction===`asc`||n.direction===`desc`)}function R_(e){return{...e.width===void 0?{}:{width:e.width},visible:e.visible!==!1}}function z_(e,n){return n===void 0?{...e}:{...e,order:n}}function B_(e,n=rr){return e.size<=n?e:new Map([...e].slice(e.size-n))}function V_(e){let n,r=e=>{let n=e.currentTarget;if(!e.shiftKey||e.deltaX!==0||e.deltaY===0||n.scrollWidth<=n.clientWidth)return;let r=e.deltaMode===1?16:e.deltaMode===2?n.clientWidth:1;n.scrollLeft+=e.deltaY*r,e.preventDefault()},i=()=>{n?.removeEventListener(`wheel`,r),n=void 0},a=a=>{a.key===`Shift`&&(i(),a.type===`keydown`&&(n=e(),n?.addEventListener(`wheel`,r,{passive:!1})))};return window.addEventListener(`keydown`,a),window.addEventListener(`keyup`,a),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`keydown`,a),window.removeEventListener(`keyup`,a),window.removeEventListener(`blur`,i),i()}}let H_=class extends n{constructor(...e){super(...e),this._openTrigger=null,this._inputMode=`mouse`,this._handlePointerMove=()=>{this._setInputMode(`mouse`)},this._handlePointerOver=e=>{if(!this._openTrigger||e.pointerType===`touch`)return;let n=this._getTriggers(),r=e.composedPath(),i=n.find(e=>r.includes(e));!i||i===this._openTrigger||(this._openTrigger.closeMenu(),i.openMenu())},this._handleTriggerOpen=e=>{this._openTrigger=e.target},this._handleTriggerClose=e=>{e.target===this._openTrigger&&(this._openTrigger=null)},this._handleFocusIn=e=>{let n=this._getTriggers().find(n=>n===e.target);!n||!this._openTrigger||n===this._openTrigger||(this._openTrigger.closeMenu(),n.openMenu())},this._handleKeydown=e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let n=this._getTriggers();if(n.length===0)return;let r=this._openTrigger??n.find(n=>n===e.target);if(!r)return;let i=n.indexOf(r);if(i===-1)return;e.preventDefault(),e.stopPropagation(),this._setInputMode(`keyboard`);let a=n[(i+(e.key===`ArrowRight`?1:-1)+n.length)%n.length];this._openTrigger?(this._openTrigger.closeMenu(),a.openMenu()):a.focusTrigger()}}connectedCallback(){super.connectedCallback(),this.addEventListener(`menu-trigger-open`,this._handleTriggerOpen),this.addEventListener(`menu-trigger-close`,this._handleTriggerClose),this.addEventListener(`focusin`,this._handleFocusIn),this.addEventListener(`keydown`,this._handleKeydown),this.addEventListener(`pointermove`,this._handlePointerMove),this.addEventListener(`pointerover`,this._handlePointerOver)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`menu-trigger-open`,this._handleTriggerOpen),this.removeEventListener(`menu-trigger-close`,this._handleTriggerClose),this.removeEventListener(`focusin`,this._handleFocusIn),this.removeEventListener(`keydown`,this._handleKeydown),this.removeEventListener(`pointermove`,this._handlePointerMove),this.removeEventListener(`pointerover`,this._handlePointerOver)}_setInputMode(e){this._inputMode!==e&&(this._inputMode=e,this.setAttribute(`data-input-mode`,e))}_getTriggers(){return[...this.children].filter(e=>e.tagName===`IXFX-MENU-TRIGGER`)}static{this.styles=r`
|
|
4854
4854
|
:host {
|
|
4855
4855
|
display: flex;
|
|
4856
4856
|
align-items: center;
|
|
@@ -4863,7 +4863,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4863
4863
|
--_trigger-hover-bg: transparent;
|
|
4864
4864
|
--_trigger-hover-opacity: 0.6;
|
|
4865
4865
|
}
|
|
4866
|
-
`}render(){return i`<slot role="menubar"></slot>`}};
|
|
4866
|
+
`}render(){return i`<slot role="menubar"></slot>`}};H_=E([T(`ixfx-menu-bar`)],H_);let U_=class extends n{constructor(...e){super(...e),this.command=``,this.commandArgs=``,this.label=``,this.checked=!1,this.disabled=!1,this.iconName=``}handleClick(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent(`command`,{detail:{command:this.command,checked:this.checked,args:this.commandArgs},bubbles:!0,composed:!0})))}_resolvedLabel(){return this.label?this.label:this.registry&&this.command?this.registry.get(this.command)?.label??``:``}_resolvedIcon(){return this.iconName?this.iconName:this.registry&&this.command?this.registry.get(this.command)?.icon??null:null}willUpdate(e){super.willUpdate(e);let n=this._resolvedIcon();n&&!this.iconName?this.setAttribute(`data-icon-section`,``):!n&&!this.iconName&&this.removeAttribute(`data-icon-section`)}updated(e){super.updated(e)}_getShortcut(){if(!this.keyboardManager||!this.command)return null;let e=(this.keyboardManager.getBindings?.()??[]).find(e=>e.commandId===this.command);if(!e)return null;let n=Array.from(e.modifiers??[],e=>({ctrl:`⌃`,shift:`⇧`,alt:`⌥`,meta:`⌘`})[e]??e),r=e.key?.length===1?e.key.toUpperCase():e.key;return[...n,r].join(``)}static{this.styles=[w,C,r`
|
|
4867
4867
|
:host {
|
|
4868
4868
|
display: block;
|
|
4869
4869
|
}
|
|
@@ -4933,7 +4933,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
4933
4933
|
<span class="label">${this._resolvedLabel()}</span>
|
|
4934
4934
|
${e?i`<span class="shortcut">${e}</span>`:null}
|
|
4935
4935
|
</div>
|
|
4936
|
-
`}};E([d({type:String})],
|
|
4936
|
+
`}};E([d({type:String})],U_.prototype,`command`,void 0),E([d({type:String,attribute:`command-args`})],U_.prototype,`commandArgs`,void 0),E([d({type:String})],U_.prototype,`label`,void 0),E([d({type:Boolean})],U_.prototype,`checked`,void 0),E([d({type:Boolean})],U_.prototype,`disabled`,void 0),E([d({type:String,attribute:`icon-name`})],U_.prototype,`iconName`,void 0),E([d({attribute:!1})],U_.prototype,`registry`,void 0),E([d({attribute:!1})],U_.prototype,`keyboardManager`,void 0),U_=E([T(`ixfx-menu-check-item`)],U_);var W_=class{constructor(e){this.registry=e.registry,this.target=e.target??document,this.boundHandler=this.handleCommand.bind(this)}start(){this.target.addEventListener(`command`,this.boundHandler)}stop(){this.target.removeEventListener(`command`,this.boundHandler)}handleCommand(e){let n=e.target,r=n?.command;if(!r)return;let i=n?.commandArgs??``;this.registry.invoke(r,{args:i})}},G_;let K_=class extends n{static{G_=this}constructor(...e){super(...e),this.command=``,this.commandArgs=``,this.label=``,this.disabled=!1,this.iconName=``,this._hasSubmenu=!1,this._anchorName=`--mst-${G_._count++}`,this._hoverTimeout=null,this._hideTimeout=null}static{this._count=0}connectedCallback(){super.connectedCallback(),this.addEventListener(`keydown`,this._handleKeydown)}firstUpdated(){this.style.setProperty(`--anchor-name`,this._anchorName)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`keydown`,this._handleKeydown),this._hoverTimeout&&clearTimeout(this._hoverTimeout),this._hideTimeout&&clearTimeout(this._hideTimeout)}_propagateContext(){let e=this._slot?.assignedElements({flatten:!0})??[];for(let n of e)`registry`in n&&(n.registry=this.registry),`keyboardManager`in n&&(n.keyboardManager=this.keyboardManager)}updated(e){(e.has(`registry`)||e.has(`keyboardManager`))&&this._propagateContext()}willUpdate(e){super.willUpdate(e);let n=this._resolvedIcon();n&&!this.iconName?this.setAttribute(`data-icon-section`,``):!n&&!this.iconName&&this.removeAttribute(`data-icon-section`)}_resolvedIcon(){return this.iconName?this.iconName:this.registry&&this.command?this.registry.get(this.command)?.icon??null:null}_handleSlotChange(){this._hasSubmenu=this._slot?.assignedElements().length>0,this._propagateContext()}_showSubmenu(){if(this._submenuPopover?.popover)try{this._submenuPopover.showPopover()}catch{}}_hideSubmenu(){if(this._submenuPopover?.popover)try{this._submenuPopover.hidePopover()}catch{}}_cancelHide(){this._hideTimeout&&=(clearTimeout(this._hideTimeout),null)}_scheduleHide(){this._cancelHide(),this._hideTimeout=window.setTimeout(()=>{this._hideSubmenu(),this._hideTimeout=null},100)}_handleMouseEnter(){this.disabled||!this._hasSubmenu||(this._cancelHide(),this._hoverTimeout&&clearTimeout(this._hoverTimeout),this._hoverTimeout=window.setTimeout(()=>{this._showSubmenu()},150))}_handleMouseLeave(){this._hoverTimeout&&=(clearTimeout(this._hoverTimeout),null),this._scheduleHide()}_handleSubmenuMouseEnter(){this._cancelHide()}_handleSubmenuMouseLeave(){this._scheduleHide()}_handleClick(){this.disabled||!this.command||this.dispatchEvent(new CustomEvent(`command`,{detail:{command:this.command,args:this.commandArgs},bubbles:!0,composed:!0}))}_handleKeydown(e){if(!this.disabled&&e.target!==this==(e.key===`ArrowLeft`||e.key===`Escape`))switch(e.key){case`ArrowRight`:case`Enter`:case` `:e.preventDefault(),e.stopPropagation(),this._hasSubmenu&&(this._showSubmenu(),requestAnimationFrame(()=>{(this._slot?.assignedElements({flatten:!0}).find(e=>e.tagName===`IXFX-MENU-CONTAINER`))?.focusFirst()}));break;case`ArrowLeft`:e.preventDefault(),e.stopPropagation(),this._hideSubmenu(),this._itemEl?.focus();break;case`Escape`:e.preventDefault(),e.stopPropagation(),this._hideSubmenu(),this._itemEl?.focus()}}static{this.styles=[w,C,r`
|
|
4937
4937
|
:host {
|
|
4938
4938
|
display: block;
|
|
4939
4939
|
}
|
|
@@ -5019,7 +5019,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5019
5019
|
>
|
|
5020
5020
|
<slot name="submenu" @slotchange=${this._handleSlotChange}></slot>
|
|
5021
5021
|
</div>
|
|
5022
|
-
`}};E([d({type:String})],
|
|
5022
|
+
`}};E([d({type:String})],K_.prototype,`command`,void 0),E([d({type:String,attribute:`command-args`})],K_.prototype,`commandArgs`,void 0),E([d({type:String})],K_.prototype,`label`,void 0),E([d({type:Boolean})],K_.prototype,`disabled`,void 0),E([d({type:String,attribute:`icon-name`})],K_.prototype,`iconName`,void 0),E([d({attribute:!1})],K_.prototype,`registry`,void 0),E([d({attribute:!1})],K_.prototype,`keyboardManager`,void 0),E([m()],K_.prototype,`_hasSubmenu`,void 0),E([f(`slot[name="submenu"]`)],K_.prototype,`_slot`,void 0),E([f(`.submenu-popover`)],K_.prototype,`_submenuPopover`,void 0),E([f(`.item`)],K_.prototype,`_itemEl`,void 0),K_=G_=E([T(`ixfx-menu-sub-trigger`)],K_);let q_=class extends n{static{this.styles=[w,r`
|
|
5023
5023
|
:host {
|
|
5024
5024
|
display: block;
|
|
5025
5025
|
margin: var(--space-xs) 0;
|
|
@@ -5029,7 +5029,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5029
5029
|
height: 1px;
|
|
5030
5030
|
background: var(--surface-4);
|
|
5031
5031
|
}
|
|
5032
|
-
`]}render(){return i`<div class="separator"></div>`}};
|
|
5032
|
+
`]}render(){return i`<div class="separator"></div>`}};q_=E([T(`ixfx-menu-separator`)],q_);let J_=class extends n{constructor(...e){super(...e),this.label=``}static{this.styles=[w,r`
|
|
5033
5033
|
:host {
|
|
5034
5034
|
display: block;
|
|
5035
5035
|
padding: 6px var(--space-m) var(--space-xs);
|
|
@@ -5039,7 +5039,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5039
5039
|
color: var(--surface-muted-text);
|
|
5040
5040
|
letter-spacing: 0.5px;
|
|
5041
5041
|
}
|
|
5042
|
-
`]}render(){return i`<div>${this.label}</div>`}};E([d({type:String})],
|
|
5042
|
+
`]}render(){return i`<div>${this.label}</div>`}};E([d({type:String})],J_.prototype,`label`,void 0),J_=E([T(`ixfx-menu-header`)],J_);function Y_(e){return e.children===void 0||e.children.length===0}function X_(e,n={}){let{onCommand:r,registry:o,keyboardManager:s}=n;return i`${e.map(e=>{let c=e.item.label;if(c===`-`)return i`<ixfx-menu-separator></ixfx-menu-separator>`;if(c.startsWith(`# `))return i`<ixfx-menu-header label="${c.slice(2)}"></ixfx-menu-header>`;if(!Y_(e)){let r=X_(e.children,n);return i`
|
|
5043
5043
|
<ixfx-menu-sub-trigger label="${c}">
|
|
5044
5044
|
<ixfx-menu-container
|
|
5045
5045
|
slot="submenu"
|
|
@@ -5054,7 +5054,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5054
5054
|
icon-name="${e.item.icon??a}"
|
|
5055
5055
|
@command=${r?e=>r(e.detail):a}
|
|
5056
5056
|
></ixfx-menu-item>
|
|
5057
|
-
`})}`}function
|
|
5057
|
+
`})}`}function Z_(e,n){let{onCommand:r,registry:i}=n,a=e.item.label,o=document.createElement(`ixfx-menu-item`);return o.setAttribute(`command`,e.item.key),o.setAttribute(`label`,a),e.item.icon&&o.setAttribute(`icon-name`,e.item.icon),r&&o.addEventListener(`command`,e=>r(e.detail)),i&&(o.registry=i),o}function Q_(){return document.createElement(`ixfx-menu-separator`)}function $_(e){let n=document.createElement(`ixfx-menu-header`);return n.setAttribute(`label`,e),n}function ev(e,n){let{registry:r,keyboardManager:i}=n,a=document.createElement(`ixfx-menu-sub-trigger`);a.setAttribute(`label`,e.item.label),r&&(a.registry=r),i&&(a.keyboardManager=i);let o=document.createElement(`ixfx-menu-container`);o.setAttribute(`slot`,`submenu`),r&&(o.registry=r),i&&(o.keyboardManager=i);let s=tv(e.children,n);for(let e of s)o.appendChild(e);return a.appendChild(o),a}function tv(e,n={}){return e.map(e=>{let r=e.item.label;return r===`-`?Q_():r.startsWith(`# `)?$_(r.slice(2)):Y_(e)?Z_(e,n):ev(e,n)})}let nv=class extends n{constructor(...e){super(...e),this.value=``,this.label=``,this.disabled=!1,this.groupValue=``,this.iconName=``}handleClick(){this.disabled||this.dispatchEvent(new CustomEvent(`radio-select`,{detail:{value:this.value},bubbles:!0,composed:!0}))}static{this.styles=[w,C,r`
|
|
5058
5058
|
:host {
|
|
5059
5059
|
display: block;
|
|
5060
5060
|
}
|
|
@@ -5116,7 +5116,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5116
5116
|
<span class="icon-slot">${this.iconName?i`<ixfx-icon name="${this.iconName}"></ixfx-icon>`:null}</span>
|
|
5117
5117
|
<span class="label">${this.label}</span>
|
|
5118
5118
|
</div>
|
|
5119
|
-
`}};E([d({type:String})],
|
|
5119
|
+
`}};E([d({type:String})],nv.prototype,`value`,void 0),E([d({type:String})],nv.prototype,`label`,void 0),E([d({type:Boolean})],nv.prototype,`disabled`,void 0),E([d({type:String})],nv.prototype,`groupValue`,void 0),E([d({type:String,attribute:`icon-name`})],nv.prototype,`iconName`,void 0),nv=E([T(`ixfx-menu-radio-item`)],nv);let rv=class extends n{constructor(...e){super(...e),this.name=``,this.value=``,this.slottedElements=[]}handleSlotChange(e){let n=e.target;this.slottedElements=n.assignedElements(),this.updateSlottedValues()}updateSlottedValues(){for(let e of this.slottedElements)e.groupValue=this.value}handleRadioSelect(e){this.value=e.detail.value,this.dispatchEvent(new CustomEvent(`radio-change`,{detail:{name:this.name,value:this.value},bubbles:!0,composed:!0}))}updated(e){e.has(`value`)&&this.updateSlottedValues()}static{this.styles=r`
|
|
5120
5120
|
:host {
|
|
5121
5121
|
display: block;
|
|
5122
5122
|
}
|
|
@@ -5126,7 +5126,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5126
5126
|
}
|
|
5127
5127
|
`}render(){return i`
|
|
5128
5128
|
<slot @slotchange=${this.handleSlotChange} @radio-select=${this.handleRadioSelect}></slot>
|
|
5129
|
-
`}};E([d({type:String})],
|
|
5129
|
+
`}};E([d({type:String})],rv.prototype,`name`,void 0),E([d({type:String})],rv.prototype,`value`,void 0),E([m()],rv.prototype,`slottedElements`,void 0),rv=E([T(`ixfx-menu-radio-group`)],rv);var iv=e({MenuBar:()=>H_,MenuCheckItem:()=>U_,MenuCommandController:()=>W_,MenuContainer:()=>Tr,MenuHeader:()=>J_,MenuItem:()=>kr,MenuRadioGroup:()=>rv,MenuRadioItem:()=>nv,MenuSeparator:()=>q_,MenuSubTrigger:()=>K_,MenuTrigger:()=>Dr,menuFromTree:()=>X_,menuFromTreeToElements:()=>tv});const av=`cubic-bezier(0.25, 0.46, 0.45, 0.94)`;let ov=class extends n{constructor(...e){super(...e),this.direction=`end`,this.disabled=!1,this.mode=`hover`,this._isOverflowing=!1,this._isHovering=!1,this._loopActive=!1,this._loopAtEnd=!1,this._overflow=0,this._resizeObserver=null,this._loopTimer=0,this._onMouseEnter=()=>{this._isHovering=!0},this._onMouseLeave=()=>{this._isHovering=!1},this._measure=()=>{if(this._isHovering||this._loopAtEnd)return;let e=this._textEl;if(!e)return;this._overflow=Math.max(0,e.scrollWidth-e.clientWidth);let n=this._overflow>0;this.classList.toggle(`is-overflowing`,n),n!==this._isOverflowing&&(this._isOverflowing=n),this._loopActive&&this.mode===`loop`&&!this.disabled&&n&&this._loopTimer===0&&this._scheduleLoopPan(300),!n&&this._loopAtEnd&&(this._loopAtEnd=!1,this.requestUpdate())}}connectedCallback(){super.connectedCallback(),this._resizeObserver=new ResizeObserver(()=>this._measure()),this.addEventListener(`mouseenter`,this._onMouseEnter),this.addEventListener(`mouseleave`,this._onMouseLeave)}disconnectedCallback(){super.disconnectedCallback(),this._clearLoopTimer(),this._loopActive=!1,this._loopAtEnd=!1,this._resizeObserver?.disconnect(),this._resizeObserver=null,this.removeEventListener(`mouseenter`,this._onMouseEnter),this.removeEventListener(`mouseleave`,this._onMouseLeave)}firstUpdated(){this._measure(),this._resizeObserver?.observe(this),document.fonts?.ready.then(()=>this._measure()),this.mode===`loop`&&this.startLoop()}updated(e){e.has(`mode`)&&(this.mode===`loop`?this.startLoop():this.stopLoop()),e.has(`disabled`)&&this.disabled&&this.stopLoop(),this._measure()}get looping(){return this._loopActive}startLoop(){this.disabled||this._prefersReducedMotion()||(this._loopActive=!0,this._loopAtEnd=!1,this.requestUpdate(),this._isOverflowing&&this._loopTimer===0&&this._scheduleLoopPan(300))}stopLoop(){!this._loopActive&&!this._loopAtEnd&&this._loopTimer===0||(this._clearLoopTimer(),this._loopActive=!1,this._loopAtEnd=!1,this.requestUpdate())}_prefersReducedMotion(){return globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches??!1}_panDuration(){return Math.max(1.5,(this._overflow+4)/45)}_clearLoopTimer(){this._loopTimer!==0&&(clearTimeout(this._loopTimer),this._loopTimer=0)}_scheduleLoopPan(e){this._clearLoopTimer(),this._loopTimer=window.setTimeout(()=>{if(this._loopTimer=0,!this._loopActive||this.disabled||!this._isOverflowing)return;this._loopAtEnd=!0,this.requestUpdate();let e=this._panDuration()*1e3+2e3;this._loopTimer=window.setTimeout(()=>{this._loopTimer=0,this._loopActive&&(this._loopAtEnd=!1,this.requestUpdate(),this._scheduleLoopPan(700))},e)},e)}_textStyle(){if(!this._isOverflowing)return``;let e=this._overflow+4,n=Math.max(1.5,e/45),r=this.direction===`end`,i=r?0:-e,a=r?-e:0;return this._loopActive&&this.mode===`loop`?this._loopAtEnd?[`transform: translateX(${a}px)`,`transition: transform ${n}s ${av}`,`overflow: visible`,`text-overflow: clip`].join(`; `):[`transform: translateX(${i}px)`,`transition: transform 400ms ${av}`,r?``:`overflow: visible; text-overflow: clip`].filter(Boolean).join(`; `):this._isHovering?[`transform: translateX(${a}px)`,`transition: transform ${n}s ${av} 300ms`,`overflow: visible`,`text-overflow: clip`].join(`; `):[`transform: translateX(${i}px)`,`transition: transform 400ms ${av}`,r?``:`overflow: visible; text-overflow: clip`].filter(Boolean).join(`; `)}render(){let e={"is-overflowing":this._isOverflowing,"is-hovering":this._isHovering};return i`
|
|
5130
5130
|
<span class="text ${v(e)}" part="text" style=${this._textStyle()}>
|
|
5131
5131
|
<slot @slotchange=${this._measure}></slot>
|
|
5132
5132
|
</span>
|
|
@@ -5162,7 +5162,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5162
5162
|
transform: none !important;
|
|
5163
5163
|
}
|
|
5164
5164
|
}
|
|
5165
|
-
`]}};E([d({type:String,attribute:`direction`})],
|
|
5165
|
+
`]}};E([d({type:String,attribute:`direction`})],ov.prototype,`direction`,void 0),E([d({type:Boolean,attribute:`disabled`})],ov.prototype,`disabled`,void 0),E([d({type:String,attribute:`mode`,reflect:!0})],ov.prototype,`mode`,void 0),E([m()],ov.prototype,`_isOverflowing`,void 0),E([m()],ov.prototype,`_isHovering`,void 0),E([m()],ov.prototype,`_loopActive`,void 0),E([m()],ov.prototype,`_loopAtEnd`,void 0),E([f(`.text`)],ov.prototype,`_textEl`,void 0),ov=E([T(`ixfx-pan-text`)],ov);const sv={textColor:void 0,icon:void 0,iconColor:void 0,badge:void 0},cv=(e,n)=>e.key??e.id??String(n);function lv(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}function uv(e,n){return e.size===n.size&&[...e].every(e=>n.has(e))}function dv(e,n){return e!==void 0&&e.length===n.length&&e.every((e,r)=>e===n[r])}let V=class extends n{constructor(...e){super(...e),this.columns=[],this.rows=[],this.selectionMode=`single`,this.interactionMode=`standard`,this.sortState=null,this.rowHeight=28,this.getRowKey=cv,this.editable=!1,this.editability=`user`,this.cellOverflow=`ellipsis`,this.zebraStripes=!1,this.groupBy=null,this.allowGrouping=!1,this.crossGroupSelection=!1,this.columnMenu=`none`,this.textColorColumn=``,this.iconColumn=``,this.badgeColumn=``,this.searchColumn=``,this.itemsDraggable=!1,this.columnButtonIcon=`ellipsis`,this._columnFormatters=new Map,this._resizingColKey=void 0,this._animatingColKeys=new Set,this._selectedKeys=new Set,this._scrollTop=0,this._scrollLeft=0,this._viewportH=300,this._viewportW=600,this._collapsedGroups=new Set,this._editing=null,this._editingRow=null,this._lastClick=null,this._lastClickedCell=null,this._editValue=``,this._tickled=new oe(this,{getItems:()=>this.#p??=this._flat.map(e=>({id:e.key,enabled:e.type===`row`})),onStateChange:()=>this.requestUpdate(),hoverDisabled:()=>this.#a.isDragging}),this.#t=!1,this.#r=0,this.#i=new WeakMap,this.#a=new nr(this,{source:`data-grid`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this._flat.some(e=>e.type===`row`),resolveEventToKey:e=>{if(e instanceof Element&&!e.closest?.(`.header-cell`))return(e.closest?.(`.row`))?.dataset.key},prepareSelection:e=>this.#o(e),getMetrics:()=>({rowHeight:this.rowHeight}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this.dispatchEvent(new CustomEvent(`list-native-drag-start`,{detail:e,bubbles:!0,composed:!0,cancelable:!0})),onActiveChange:(e,n)=>{if(this.#t=e,this.#n=e?n:void 0,this.toggleAttribute(`data-native-dragging`,e),e){let e=this._selectedKeys.size;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#t=!1,this.#n=void 0,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`),this.#s()}}),this._sortedRows=[],this._flat=[],this._flatKeys=[],this.#c=new Map,this.#l=0,this.#u=-1,this.#g=new Map,this.search=new Vt(this,{adapter:this.#y()}),this.#S=[],this.#C=new Set,this.#w=0,this.#T=!1,this._visibleColumns=[],this._colOffsets=[],this._colWidthSum=0,this._raf=0,this.#E=0,this.#k=0,this._drag=null,this.#j=new f_(this,{kind:`data-grid`,capture:()=>this.getViewState()}),this.#M=k,this.#P=D_,this.#F=O_,this.#I=[],this.#z=new Set,this._onFocusOut=e=>{if(this._suppressBlurCommit||this.editability===`immediate`||!this._editing&&!this._editingRow)return;let n=e.relatedTarget;n&&this.contains(n)||(this._editing=null,this._editingRow=null,this.requestUpdate())},this._onScroll=e=>{let n=e.target;cancelAnimationFrame(this._raf),this._raf=requestAnimationFrame(()=>{let e=this.#fe(2);this._scrollTop=n.scrollTop,this._scrollLeft=n.scrollLeft;let r=this.#fe(2);(e.start!==r.start||e.end!==r.end)&&this.requestUpdate(),this.#j.pendingScroll||this.#j.notify(),cancelAnimationFrame(this.#E),this.#E=0,this.#he()})},this._partialKeys=new Set,this._onKeyDown=e=>{let n=this._tickled.tickledId;this.#ee(e),this._tickled.tickledId!==n&&(this.#N=void 0,this.#j.notify())},this._suppressBlurCommit=!1}static{this.styles=[w,Qt,se,C,qn,Ht,wr(`x`),wr(`y`),r`
|
|
5166
5166
|
:host {
|
|
5167
5167
|
--data-grid-row-height: 28px;
|
|
5168
5168
|
--data-grid-header-height: 32px;
|
|
@@ -5371,7 +5371,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5371
5371
|
.group-row .divider { flex: 1; height: 1px; background: var(--border); margin-left: var(--space-s); }
|
|
5372
5372
|
.group-row .count { opacity: 0.6; font-weight: 400; font-size: 0.9em; }
|
|
5373
5373
|
|
|
5374
|
-
`]}#e;#t;#n;#r;#i;#a;#o(e){let n=this._flat.filter(e=>e.type===`row`);if(!n.some(n=>n.key===e))return;this._selectedKeys.has(e)||this._replaceSelection(e);let r=[],i=0;for(let e of n){if(!this._selectedKeys.has(e.key)){i++;continue}let n=this.renderRoot.querySelector(`.row[data-key="${CSS.escape(e.key)}"]`)??void 0;r.push({key:e.key,index:i,item:e.row,...n?{element:n}:{}}),i++}let a=r.find(n=>n.key===e);if(a)return{origin:a,selected:r}}#s(){this.#r&&clearTimeout(this.#r),this.#r=window.setTimeout(()=>{this.#r=0},0)}#c;#l;#u;#d;#f;#p;#m;#h;#g;get registry(){return this.#m}#_(e){if(this.rowSearchText)return this.rowSearchText(e);let n=this.#v();if(n===void 0)return``;let r=this._formatValue(e[n.key],n,e);return typeof r==`string`||typeof r==`number`?String(r):``}#v(){return(this.searchColumn===``?void 0:this._visibleColumns.find(e=>e.key===this.searchColumn))??this._visibleColumns[0]}#y(){return{getItems:()=>(this.#g.clear(),this._sortedRows.forEach((e,n)=>this.#g.set(e,this.getRowKey(e,n))),this._sortedRows),getLabel:e=>this.#_(e),getKey:e=>this.#g.get(e)??String(this._sortedRows.indexOf(e)),focusItem:e=>{if(e===void 0)return;let n=this.#g.get(e);n!==void 0&&this.tickleRow(n)},selectItems:e=>{this.selectKeys(e.map(e=>this.#g.get(e)).filter(e=>e!==void 0))},applyFilter:e=>{this.filterPredicate=e===void 0?void 0:n=>{let r=this.#g.get(n);return r===void 0||e.has(r)}},highlightRoot:()=>this.rowSearchText?void 0:this.renderRoot,highlightSelector:`.row .cell`,highlightKeyOf:e=>e.getAttribute(`data-col`)===this.#v()?.key?e.closest(`.row`)?.getAttribute(`data-key`)??void 0:void 0,highlightText:e=>Array.from(e.childNodes,e=>e.nodeType===Node.TEXT_NODE?e.textContent:``).join(``),highlightKey:`data-grid-search`}}#b(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#x(){this.#m&&(this.search.setModes(this.#b()),this.#h?.(),this.#h=zt(this.#m,this.search))}#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`focusout`,this._onFocusOut),this.#m??=Yt(),this.#x(),this.#A=B_(()=>this._viewportEl??void 0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`focusout`,this._onFocusOut),cancelAnimationFrame(this._raf),cancelAnimationFrame(this.#E),this.#E=0,this.#h?.(),this.#h=void 0,this.#m=void 0,this.#w&&=(clearTimeout(this.#w),0),this.#r&&=(clearTimeout(this.#r),0),this.#e?.disconnect(),this.#e=void 0,this.#A?.(),this.#A=void 0}dispatch(e,n){this.#m?.invoke(e,n)}firstUpdated(){this.#e=new ResizeObserver(()=>this.#B()),this.#e.observe(this._viewportEl),this.#B(),this.#j.observeScrollTarget(this._viewportEl)}#B(){if(!this._viewportEl)return;let e=this._viewportEl,n=e.clientWidth,r=this.#de();if(n<=0||r<=0)return;let i=e.parentElement;i.style.setProperty(`--data-grid-scrollbar-width`,`${e.offsetWidth-n}px`),i.style.setProperty(`--data-grid-viewport-width`,`${n}px`),(n!==this._viewportW||r!==this._viewportH)&&(this._viewportW=n,this._viewportH=r,this.#me())}refreshLayout(){this.#B(),this.requestUpdate()}updated(e){super.updated(e),this.#j.applyPendingScroll(e=>this.#ue(e)),this.search.isOpen&&this.search.repaintHighlights(),(e.has(`rows`)||e.has(`sortState`)||e.has(`columns`)||e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`filterPredicate`)||e.has(`rowHeight`))&&this.#me(),(e.has(`_editing`)||e.has(`_editingRow`))&&this.updateComplete.then(()=>{let e=null;if(this._editing?e=`.row[data-key="${this._editing.rowKey}"] .cell[data-col="${this._editing.colKey}"] input, .row[data-key="${this._editing.rowKey}"] .cell[data-col="${this._editing.colKey}"] select`:this._editingRow&&(e=`.row[data-key="${this._editingRow}"] .cell input, .row[data-key="${this._editingRow}"] .cell select`),!e)return;let n=this.renderRoot.querySelector(e);n?.focus(),n instanceof HTMLInputElement&&n.type===`text`&&n.select()})}willUpdate(e){super.willUpdate(e),this.setAttribute(`data-input-mode`,this._tickled.inputMode),e.has(`searchModes`)&&this.#x(),e.has(`columns`)&&this.#te(),this.#V()&&this.#ne(),this._visibleColumns=this.columns.filter(e=>e.visible!==!1);let n=0;this._colOffsets=this._visibleColumns.map(e=>{let r=n;return n+=e.width??150,r}),this._colWidthSum=n,this.interactionMode===`checked`&&(this._colWidthSum+=28),this.#l!==this.#u&&(this.#u=this.#l,this.#U())}#V(){let e=[this.rows,this.sortState,this.columns],n=[this.filterPredicate,this.groupBy,this.groupLabel,this._collapsedGroups,this.getRowKey],r=!uv(this.#d,e);return r&&(this.#d=e,this._sortedRows=this._applySort([...this.rows]),this.#L=void 0),r||!uv(this.#f,n)?(this.#f=n,this._rebuildFlat(),!0):!1}#H(){this.#d=[this.rows,this.sortState,this.columns],this.#f=[this.filterPredicate,this.groupBy,this.groupLabel,this._collapsedGroups,this.getRowKey]}#U(){let e=this._flatKeys,n=this.#S;if(this.#S=e.slice(),!this.#T){this.#T=!0;return}if(n.length===0||e.length===0){this.#C.clear();return}let r=new Set(n),i=e.filter(e=>!r.has(e)),a=n.length-(e.length-i.length);i.length===e.length||i.length===0&&a===0||(this.#C=new Set(i),this.toggleAttribute(`reflowing`,!0),this.#w&&clearTimeout(this.#w),this.#w=window.setTimeout(()=>{this.#w=0,this.#C.clear(),this.toggleAttribute(`reflowing`,!1),this.requestUpdate()},320))}_getGroupKey(e){return this.groupBy?typeof this.groupBy==`string`?String(e[this.groupBy]??``):String(this.groupBy(e)):null}_rebuildFlat(){let e=this.filterPredicate,n=[];for(let r=0;r<this._sortedRows.length;r++)(!e||e(this._sortedRows[r]))&&n.push(r);let r=[],i=[];this.#z=new Set;let a=e=>{let n=this._sortedRows[e],a=this.getRowKey(n,e);r.push({type:`row`,key:a,row:n,idx:e}),i.push(a)};if(!this.groupBy)n.forEach(a);else{let e=new Map;for(let r of n){let n=this._getGroupKey(this._sortedRows[r])??``,i=e.get(n);i?i.push(r):e.set(n,[r])}this.#z=new Set(e.keys());for(let[n,o]of e){let e=this.groupLabel?this.groupLabel(n,o.map(e=>this._sortedRows[e])):n,s=`__group__${n}`;r.push({type:`group`,key:s,label:e,count:o.length}),i.push(s),this._collapsedGroups.has(n)||o.forEach(a)}}this._flat=r,this._flatKeys=i,this.#W()}#W(){this.#c.clear(),this._flat.forEach((e,n)=>this.#c.set(e.key,n)),this.#l++,this.#p=void 0}#G(e){let n=this.#c.get(e),r=n===void 0?void 0:this._flat[n];if(r?.type===`row`)return r;let i=this._sortedRows.findIndex((n,r)=>this.getRowKey(n,r)===e);return i<0?void 0:{row:this._sortedRows[i],idx:i}}_toggleGroup(e){let n=new Set(this._collapsedGroups);n.has(e)?n.delete(e):n.add(e),this._collapsedGroups=n,this.#j.notify()}_applySort(e){if(!this.sortState)return e;let n=this.columns.find(e=>e.key===this.sortState.key);if(!n)return e;let r=this.sortState.direction===`asc`?1:-1;if(n.sortFn)return e.sort((e,i)=>r*n.sortFn(e,i));let i=n.dataType??`text`;return e.sort((e,a)=>{let o=e[n.key],s=a[n.key];return o===s?0:i===`number`?r*(o-s):i===`boolean`?r*(!!o==!!s?0:o?1:-1):r*String(o).localeCompare(String(s))})}_onHeaderClick(e,n){if(e.sortable===!1)return;if(n){let e=n.composedPath()[0];if(e&&this.#i.get(e)){this.#i.delete(e);return}}let r=this.sortState,i=null;i=!r||r.key!==e.key?{key:e.key,direction:`asc`}:r.direction===`asc`?{key:e.key,direction:`desc`}:null,this.sortState=i,this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-sort`,{detail:{sort:i,previous:r},bubbles:!0,composed:!0}))}_onHeaderPointerUp(e,n){let r=!1,i=new CustomEvent(`datagrid-header-pointerup`,{detail:{key:e.key,column:e},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(i),i.defaultPrevented&&(r=!0),r&&this.#i.set(n,!0)}_onColButtonClick(e,n){n.stopPropagation();let r=e.button===!1?this.columnButtonIcon:typeof e.button==`object`&&e.button.icon?e.button.icon:this.columnButtonIcon,i=n.currentTarget,a=new CustomEvent(`datagrid-header-button-click`,{detail:{key:e.key,column:e,icon:r,clientX:n.clientX,clientY:n.clientY,anchorElement:i},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(a),a.defaultPrevented&&this.#i.set(n,!0)}_onRowClick(e,n,r){if(this.#a.isDragging||this.#r!==0||n&&n.selectable===!1||this.selectionMode===`none`&&this.interactionMode!==`checked`&&this.interactionMode!==`sticky`)return;let i=r.pointerType===`touch`?`touch`:`pointer`,a=this.interactionMode,o=this.selectionMode===`multiple`||a===`vscode`,s=r.ctrlKey||r.metaKey;switch(a){case`implicit`:this.#q(e,i);break;case`checked`:break;case`sticky`:this.#J(e,i);break;case`manual`:s?this.#J(e,i):r.shiftKey?this.#Y(e,i):this.#q(e,i);break;default:s?o&&this.#J(e,i):r.shiftKey&&o?this.#Y(e,i):this.#q(e,i)}}_onCheckboxClick(e,n){n.stopPropagation(),this.interactionMode===`checked`?this.#J(e,`pointer`):this._onRowClick(e,null,n)}#K(e){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))}#q(e,n){if(this.selectionMode!==`none`){if(this.#K({kind:`replace`,keys:[e],source:n})||this.interactionMode===`manual`){this._anchorKey=e;return}this._replaceSelection(e)}}#J(e,n,r=!1){this.#K({kind:`toggle`,keys:[e],source:n})||this.interactionMode===`manual`&&!r||this._toggleSelection(e)}#Y(e,n){if(this.selectionMode===`none`)return;let r=this._anchorKey===void 0?void 0:this.#X(e);if(this.#K({kind:`extend`,keys:r??[e],...this._anchorKey===void 0?{}:{anchorKey:this._anchorKey},targetKey:e,source:n})){this._anchorKey??=e;return}this.interactionMode!==`manual`&&this._rangeSelectTo(e)}#X(e){if(!this._anchorKey)return;let n=this._flat.filter(e=>e.type===`row`).map(e=>e.key);if(this.groupBy&&!this.crossGroupSelection){let r=this._getGroupKey(this._getRowForKey(this._anchorKey)??{key:this._anchorKey});if(r!==this._getGroupKey(this._getRowForKey(e)??{key:e}))return;n=n.filter(e=>this._getGroupKey(this._getRowForKey(e)??{key:e})===r)}let r=n.indexOf(this._anchorKey),i=n.indexOf(e);if(!(r<0||i<0))return n.slice(Math.min(r,i),Math.max(r,i)+1)}_onVisibilityToggle(e,n){e.visible=n,this.columns=[...this.columns],this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-visibility`,{detail:{key:e.key,visible:n},bubbles:!0,composed:!0}))}_beginHeaderDrag(e,n,r){e.stopPropagation();let i=e.currentTarget.closest(`.header-cell`)??e.currentTarget;this._drag={pointerId:e.pointerId,from:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,gap:void 0,sourceCol:n};let a=e=>{if(!this._drag||e.pointerId!==this._drag.pointerId)return;let r=e.clientX-this._drag.startX,a=e.clientY-this._drag.startY;if(!this._drag.active){if(Math.hypot(r,a)<5)return;this._drag.active=!0;let o=document.createElement(`span`);o.textContent=n.label;try{this._drag.ghost=T_({anchor:i,content:o}),this._drag.ghost.move(e.clientX,e.clientY)}catch{}try{this._headerRowEl?.setPointerCapture(e.pointerId)}catch{}}this._drag.ghost?.move(e.clientX,e.clientY);let o=e.clientX-(this._headerRowEl?.getBoundingClientRect().left??0),s=this._drag.from,c=1/0;for(let e=0;e<this._visibleColumns.length;e++){if(e===this._drag.from)continue;let n=this._colOffsets[e],r=n+(this._visibleColumns[e].width??150),i=(n+r)/2,a=o<i?n:r,l=o<i?e:e+1,u=Math.abs(o-a);u<c&&(c=u,s=l>this._drag.from?l-1:l)}if(this._visibleColumns.length>0){let e=this._colOffsets[this._colOffsets.length-1]+(this._visibleColumns[this._visibleColumns.length-1].width??150),n=Math.abs(o-e);n<c&&(c=n,s=this._visibleColumns.length-1,this._drag.from===this._visibleColumns.length-1?s=this._drag.from:s>=this._drag.from&&(s=this._visibleColumns.length-1))}let l=this._visibleColumns.length-1,u=s;u<0&&(u=0),u>l&&(u=l),this._drag.gap=u,this.requestUpdate()},o=e=>{if(!this._drag||e.pointerId!==this._drag.pointerId)return;let n=this._drag.active,r=this._drag.from,i=this._drag.gap;this._drag.ghost?.destroy();try{this._headerRowEl?.releasePointerCapture(e.pointerId)}catch{}window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),window.removeEventListener(`pointercancel`,o),this._drag=null,this.requestUpdate(),n&&i!==void 0&&i!==r&&this._onReorderDrag(r,i)};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),window.addEventListener(`pointercancel`,o)}_onReorderDrag(e,n){if(e===n)return;let r=[...this.columns],i=r.filter(e=>e.visible!==!1),a=r.filter(e=>e.visible===!1),[o]=i.splice(e,1);i.splice(n,0,o),this.columns=[...i,...a],this.#F=D_,this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-reorder`,{detail:{from:e,to:n,columns:[...this.columns]},bubbles:!0,composed:!0}))}_scrollRowIntoView(e){let n=this.#c.get(e);if(n===void 0||!this._viewportEl)return;let r=this.rowHeight,i=(n>0&&this._flat[n-1].type===`group`?n-1:n)*r,a=(n+1)*r,o=this._viewportEl.scrollTop,s=this.#de(),c=o;i<o?c=i:a>o+s&&(c=a-s),c!==o&&(this._viewportEl.scrollTop=c,this._scrollTop=c,this.requestUpdate())}_getRowForKey(e){let n=this.#c.get(e),r=n===void 0?void 0:this._flat[n];return r?.type===`row`?r.row:void 0}get selectedKeys(){return this._selectedKeys}get partialKeys(){return this._partialKeys}set partialKeys(e){let n=new Set(e);yr(n,this._partialKeys)||(this._partialKeys=n)}set selectedKeys(e){this.selectKeys(e)}selectKeys(e){this.#M=k;let n=new Set([...e].filter(e=>this._getRowForKey(e)!==void 0));if(this.selectionMode===`none`)n=new Set;else if(!this.#Z()&&n.size>1){let e=[...n].at(-1);n=e===void 0?new Set:new Set([e])}let r=new Set(this._selectedKeys);r.size===n.size&&[...n].every(e=>r.has(e))||(this._selectedKeys=n,this._anchorKey=[...n].at(-1),this.#Q(r))}#Z(){return this.selectionMode===`multiple`||this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`vscode`}#Q(e){this.#j.isRestoring||(this.#M=k),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previous:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`list-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previousKeys:e,previous:e},bubbles:!0,composed:!0}))}get tickledKey(){return this._tickled.tickledId}tickleRow(e){!this.#c.has(e)||e.startsWith(`__group__`)||(this._tickled.focus(e),this._scrollRowIntoView(e),this.#N=void 0,this.#j.notify())}appendRows(e){if(e.length===0)return;let n=this.rows.length,r=this._sortedRows.length===n&&uv(this.#d,[this.rows,this.sortState,this.columns]);if(this.rows=[...this.rows,...e],!r)return;let i=this.rows.slice(n);this._sortedRows=[...this._sortedRows,...i],this.#$(i,n),this.#H(),this.#re(i,n),this.sortState!=null&&(cancelAnimationFrame(this.#k),this.#k=requestAnimationFrame(()=>{this.#d=void 0,this.requestUpdate()}))}#$(e,n){if(this.groupBy){this._rebuildFlat();return}for(let r=0;r<e.length;r++){let i=n+r;if(this.filterPredicate&&!this.filterPredicate(e[r]))continue;let a=this.getRowKey(e[r],i);this._flat.push({type:`row`,key:a,row:e[r],idx:i}),this._flatKeys.push(a),this.#c.set(a,this._flat.length-1)}this.#l++,this.#p=void 0}_replaceSelection(e){if(this.selectionMode===`none`)return;let n=new Set(this._selectedKeys);if(this.groupBy&&!this.crossGroupSelection){let r=this._getGroupKey(this._getRowForKey(e)??{key:e});[...n].filter(e=>this._getGroupKey(this._getRowForKey(e)??{key:e})===r),this._selectedKeys=new Set([e])}else this._selectedKeys=new Set([e]);this._anchorKey=e,this.#Q(n)}_toggleSelection(e){let n=new Set(this._selectedKeys),r=new Set(this._selectedKeys);if(r.has(e))r.delete(e);else{if(this.groupBy&&!this.crossGroupSelection){let n=this._getGroupKey(this._getRowForKey(e)??{key:e});for(let e of[...r])this._getGroupKey(this._getRowForKey(e)??{key:e})!==n&&r.delete(e)}this.selectionMode!==`multiple`&&this.interactionMode!==`checked`&&this.interactionMode!==`sticky`&&r.clear(),r.add(e)}this._selectedKeys=r,this._anchorKey=e,this.#Q(n)}_rangeSelectTo(e){let n=this.#X(e);if(n===void 0){this._replaceSelection(e);return}let r=new Set(this._selectedKeys);this._selectedKeys=new Set(n),this.#Q(r)}#ee(e){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(this.selectionMode===`multiple`||this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`vscode`||this.interactionMode===`standard`){if(e.preventDefault(),this.#K({kind:`all`,keys:[],source:`keyboard`}))return;let n=new Set(this._selectedKeys);if(this.groupBy&&!this.crossGroupSelection&&this._anchorKey){let e=this._getGroupKey(this._getRowForKey(this._anchorKey)??{key:this._anchorKey});this._selectedKeys=new Set(this._flat.filter(n=>n.type===`row`&&this._getGroupKey(n.row)===e).map(e=>e.key))}else this._selectedKeys=new Set(this._flat.filter(e=>e.type===`row`).map(e=>e.key));this.#Q(n)}return}if(this._editing&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){if(this.shadowRoot?.activeElement?.tagName===`SELECT`)return;e.preventDefault();let n=this._editing,r=e.key===`ArrowDown`?1:-1,i=n.colKey;this._suppressBlurCommit=!0,this._commitEdit();let a=this._flat.filter(e=>e.type===`row`).map(e=>e.key),o=a.indexOf(n.rowKey),s=o+r;for(;s>=0&&s<a.length;){let e=a[s],n=this.#G(e)?.row,c=this._visibleColumns.find(e=>e.key===i);if(n&&c&&this._isEditable(n,c)){this._startEdit(e,i),this._tickled.handleKeyboardNavigation(s>o?`next`:`previous`),this._scrollRowIntoView(e);break}s+=r}(s<0||s>=a.length)&&(this._tickled.handleKeyboardNavigation(r>0?`next`:`previous`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId)),requestAnimationFrame(()=>{this._suppressBlurCommit=!1});return}switch((e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Home`||e.key===`End`)&&(e.preventDefault(),this._tickled.setInputMode(`keyboard`)),e.key){case`ArrowDown`:this._tickled.handleKeyboardNavigation(`next`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId),this.interactionMode===`implicit`&&this._tickled.tickledId&&this.#q(this._tickled.tickledId,`keyboard`),e.shiftKey&&(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this._tickled.tickledId&&this.#Y(this._tickled.tickledId,`keyboard`);break;case`ArrowUp`:this._tickled.handleKeyboardNavigation(`previous`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId),this.interactionMode===`implicit`&&this._tickled.tickledId&&this.#q(this._tickled.tickledId,`keyboard`),e.shiftKey&&(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this._tickled.tickledId&&this.#Y(this._tickled.tickledId,`keyboard`);break;case`Home`:this._tickled.handleKeyboardNavigation(`first`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId);break;case`End`:this._tickled.handleKeyboardNavigation(`last`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId);break;case`Enter`:{let n=this._tickled.tickledId;if(!n)break;if(e.preventDefault(),!this._editing&&this.editability===`user`){let e=this.#G(n);if(e){let r=e.row;if(this._lastClickedCell?.rowKey===n){let e=this._visibleColumns.find(e=>e.key===this._lastClickedCell.colKey);if(e&&this._isEditable(r,e)){this._startEdit(n,e.key);break}}let i=this._visibleColumns.find(e=>this._isEditable(r,e));if(i){this._startEdit(n,i.key);break}}}if(!this._editing){let e=this.#G(n),r=e?.idx??-1;if(this._selectedKeys.has(n)){this._activateRow(n,e?.row,r);break}this.interactionMode!==`checked`&&this.#q(n,`keyboard`),this.dispatchEvent(new CustomEvent(`datagrid-cell-click`,{detail:{rowKey:n,colKey:``,rowIndex:r,colIndex:-1},bubbles:!0,composed:!0}))}break}case` `:{if(this._editing){if((this.columns.find(e=>e.key===this._editing.colKey)?.dataType??`text`)===`boolean`){e.preventDefault();let n=this.editability===`immediate`,r=this._editing.rowKey,i=this._editing.colKey,a=this.shadowRoot?.activeElement,o;if(a?.type===`checkbox`)o=!a.checked,a.checked=o;else{let e=this.#G(r)?.row;o=!(this._editValue===``?e?.[i]:this._editValue)}n?this._commitImmediate(r,i,o):(this._editValue=o,this._commitEdit())}break}let n=this._tickled.tickledId;if(!n)break;e.preventDefault(),this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`?this.#J(n,`keyboard`,!0):this.#q(n,`keyboard`);break}case`Escape`:if(this._editing||this._editingRow)e.preventDefault(),this._editing=null,this._editingRow=null,this.requestUpdate();else if(this._selectedKeys.size){if(e.preventDefault(),this.#K({kind:`clear`,keys:[],source:`keyboard`}))break;let n=new Set(this._selectedKeys);this._selectedKeys=new Set,this.#Q(n)}}}_isEditable(e,n){return this.editability===`disabled`?!1:typeof this.editable==`function`?this.editable(e,n):this.editable===!0?n.editable!==!1:!!n.editable}_isTextEditor(e){let n=e.editor;return!n||n===`auto`}_isCellEditing(e,n){return this.editability===`immediate`&&this._isEditable(this.#G(e)?.row??{},this.columns.find(e=>e.key===n))?!0:this._editingRow===e?this._isEditable(this.#G(e)?.row??{},this.columns.find(e=>e.key===n)):this._editing?.rowKey===e&&this._editing?.colKey===n}_activateRow(e,n,r){this.dispatchEvent(new CustomEvent(`datagrid-row-activate`,{detail:{rowKey:e,row:n,rowIndex:r},bubbles:!0,composed:!0}))}_startEdit(e,n){if(this.editability===`disabled`)return;let r=this.#G(e)?.row;if(!r)return;let i=this.columns.find(e=>e.key===n);!i||!this._isEditable(r,i)||(this._editing={rowKey:e,colKey:n},this._editingRow=null,this._editValue=r[n])}startEdit(e,n){this._startEdit(e,n)}startRowEdit(e){this.editability!==`disabled`&&this.#G(e)?.row&&(this._editing=null,this._editingRow=e,this.requestUpdate())}stopEdit(){this._editing=null,this._editingRow=null}setColumnFormatter(e,n,r){if(!n){this._columnFormatters.delete(e),this.requestUpdate();return}if(typeof n==`string`){let i=r?.digits??(n===`integer`?0:2);n===`fixed`?this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?e.toFixed(i):String(e??``)):n===`percentage`?this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?`${e.toFixed(i)}%`:String(e??``)):n===`integer`&&this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?Math.round(e).toString():String(e??``))}else this._columnFormatters.set(e,n);this.requestUpdate()}_formatValue(e,n,r){let i=this._columnFormatters.get(n.key);return i?i(e):n.formatter?n.formatter(e,r,n):this.globalFormatter?this.globalFormatter(e,n.key,r):e}_cellLook(e,n){if(this.textColorColumn===``&&this.iconColumn===``&&this.badgeColumn===``)return ov;let r=typeof e==`object`&&e?e:{},i=n===this.textColorColumn?S_(r.textColor):void 0,a=n===this.iconColumn&&!x_(r.icon)?r.icon:void 0,o=a===void 0?void 0:S_(r.iconColor),s=n===this.badgeColumn&&!x_(r.badge)?r.badge:void 0;return i===void 0&&a===void 0&&s===void 0?ov:{textColor:i,icon:a,iconColor:o,badge:s}}_handleCellSecondClick(e,n){if(this.editability!==`user`)return;let r=Date.now();this._lastClick&&this._lastClick.key===e&&this._lastClick.col===n.key&&r-this._lastClick.time<700&&r-this._lastClick.time>150?(this._startEdit(e,n.key),this._lastClick=null):this._lastClick={key:e,col:n.key,time:r}}_commitEdit(e=!1){if(!this._editing&&!e)return;let n=this._editing;if(!n)return;let{rowKey:r,colKey:i}=n,a=this.#G(r)?.row;if(!a){this._editing=null;return}let o=a[i],s=this._editValue,c=this.columns.find(e=>e.key===i);c?.editor&&typeof c.editor==`function`||(a[i]=s,this.rows=[...this.rows]),this._editing=null,this.dispatchEvent(new CustomEvent(`datagrid-cell-edit`,{detail:{rowKey:r,colKey:i,oldValue:o,newValue:s},bubbles:!0,composed:!0}))}_tabToNext(e,n,r){let i=this.#G(e)?.row;if(!i)return;let a=this._visibleColumns,o=a.findIndex(e=>e.key===n)+r;for(;o>=0&&o<a.length;){if(this._isEditable(i,a[o])){this._editing&&this._commitEdit(),this._suppressBlurCommit=!0,this._startEdit(e,a[o].key),requestAnimationFrame(()=>{this._suppressBlurCommit=!1});return}o+=r}this._editing&&this._commitEdit(),this._editing=null,this.requestUpdate()}_commitImmediate(e,n,r){let i=this.#G(e)?.row;if(!i)return;let a=i[n];a!==r&&(i[n]=r,this.rows=[...this.rows],this.dispatchEvent(new CustomEvent(`datagrid-cell-edit`,{detail:{rowKey:e,colKey:n,oldValue:a,newValue:r},bubbles:!0,composed:!0})))}_measureAutoWidth(e){let n=getComputedStyle(this),r=`${n.fontSize} ${n.fontFamily}`,i=document.createElement(`canvas`).getContext(`2d`),a=e=>i?(i.font=r,Math.ceil(i.measureText(e).width)):e.length*8,o=e.fixedExtraWidth??0,s=a(e.label)+40;for(let n of this.rows){if(e.measure){s=Math.max(s,e.measure(n,e)+24);continue}let r=n[e.key];if(r==null||r===``)continue;let i=a(String(this._formatValue(r,e,n)))+24+o;i>s&&(s=i)}let c=e.minWidth??40,l=e.maxWidth??600;return Math.max(c,Math.min(l,s))}_autoSizeColumn(e){let n=this._measureAutoWidth(e);e.width=n,this.requestUpdate(),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:e.key,width:n},bubbles:!0,composed:!0}))}autoSizeColumn(e){let n=this.columns.find(n=>n.key===e);if(!n||n.resizable===!1||n.renderer&&!n.measure&&n.fixedExtraWidth===void 0)return!1;let r=this._measureAutoWidth(n);return(n.width??150)===r||(this._animatingColKeys=new Set(this._animatingColKeys).add(e),requestAnimationFrame(()=>{n.width=r,this.requestUpdate(),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:e,width:r},bubbles:!0,composed:!0})),window.setTimeout(()=>{let n=new Set(this._animatingColKeys);n.delete(e),this._animatingColKeys=n},this._columnResizeAnimationMs())}),!0)}_columnResizeAnimationMs(){let e=getComputedStyle(this).getPropertyValue(`--data-grid-column-resize-duration`).trim(),n=e.endsWith(`ms`)?Number.parseFloat(e):e.endsWith(`s`)?Number.parseFloat(e)*1e3:Number.parseFloat(e);return(Number.isFinite(n)&&n>0?n:180)+30}_onResizePointerDown(e,n){e.preventDefault(),e.stopPropagation();let r=e.clientX,i=n.width??150;this._resizingColKey=n.key;let a=e=>{n.width=Math.max(n.minWidth??40,Math.min(n.maxWidth??600,i+e.clientX-r)),this.requestUpdate()},o=e=>{window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),this._resizingColKey=void 0;let s=Math.max(n.minWidth??40,Math.min(n.maxWidth??600,i+e.clientX-r));this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:n.key,width:s},bubbles:!0,composed:!0}))};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o)}getViewState(e){let n=e?.includePending??!0,r=this._tickled.inputMode===`keyboard`?this._tickled.tickledId:void 0,i=r!==void 0&&this.#ce(r)?r:void 0,a=this.groupBy===null||typeof this.groupBy==`string`?this.groupBy:void 0;return this.#j.shape({selected:fr([...this._selectedKeys].filter(e=>this.#ce(e)),n?this.#M:[]),focus:i??(n?this.#N:void 0),scroll:(n?this.#j.pendingScroll:void 0)??this.#le(),expanded:j_(this._collapsedGroups,e=>n||this.#z.has(e)),columns:F_(this.columns,this.#P,this.#F,n),sort:this.sortState,groupBy:this.allowGrouping?a:void 0},e)}setViewState(e){this.#j.accepts(e)&&(this.#j.restoring(()=>{if(e.columns&&typeof e.columns==`object`){let{pending:n,order:r}=N_(e.columns);this.#P=n,this.#F=r,this.#te()}if(e.sort!==void 0&&I_(e.sort)&&(this.sortState=e.sort),(e.groupBy===null||typeof e.groupBy==`string`)&&(this.groupBy=e.groupBy),e.expanded&&typeof e.expanded==`object`&&(this._collapsedGroups=M_(e.expanded)),e.focus!==void 0&&(this.#N=e.focus),e.scroll&&(this.#j.pendingScroll=e.scroll),Array.isArray(e.selected)){let n=this._selectedKeys;this.#M=sr(new Set(e.selected.filter(e=>typeof e==`string`))),this._selectedKeys=new Set,this.#ne(n)}else this.#ne();this.#j.notify()}),this.requestUpdate())}clearPendingViewState(){this.#M=k,this.#N=void 0,this.#P=E_,this.#F=D_,this.#j.pendingScroll=void 0,[...this._collapsedGroups].some(e=>!this.#z.has(e))&&(this._collapsedGroups=new Set([...this._collapsedGroups].filter(e=>this.#z.has(e))))}#te(){let e=P_(this.#I,this.columns,this.#P,this.#F);this.#P=e.pending,this.#F=e.order,this.#I=e.columns,e.columns!==this.columns&&(this.columns=e.columns,this.#j.restoring(()=>this.#j.notify()))}#ne(e){this.#j.restoring(()=>{let n=O_(this._selectedKeys,this.#M,e=>this.#oe(e),!this.#Z(),this.selectionMode!==`none`);this.#M=n.pending,n.changed&&this.#ie(n.selected);let r=e??this._selectedKeys;(e?!lv(e,this._selectedKeys):n.restored)&&this.#Q(r);let i=this._tickled.tickledId;i!==void 0&&!this.#c.has(i)&&(this._tickled.inputMode===`keyboard`&&this.#ce(i)&&(this.#N??=i),this._tickled.clearTickled()),this.#ae()})}#re(e,n){let r=this.#M.size>0&&this.selectionMode!==`none`;if(r||this.#L!==void 0){let i=e.map((e,r)=>this.getRowKey(e,n+r));i.forEach((n,r)=>this.#L?.set(n,e[r]));let a=r?A_(this.#M,i):[];a.length>0&&this.#j.restoring(()=>{let e=this._selectedKeys,n=k_(e,this.#M,a,!this.#Z());this.#M=n.pending,this.#ie(n.selected),this.#Q(e)})}this.#N!==void 0&&this.#j.restoring(()=>this.#ae())}#ie(e){let n=this._anchorKey;this._selectedKeys=new Set(e),this._anchorKey=n!==void 0&&e.has(n)?n:[...e].at(-1)}#ae(){let e=this.#N;e!==void 0&&this._getRowForKey(e)!==void 0&&(this.#N=void 0,this._tickled.setInputMode(`keyboard`),this._tickled.setTickled(e),this.#j.notify())}#oe(e){let n=this.#c.get(e);return n===void 0?this.#se().has(e):this._flat[n].type===`row`}#se(){return(this.#L===void 0||this.#R!==this.getRowKey)&&(this.#R=this.getRowKey,this.#L=new Map(this._sortedRows.map((e,n)=>[this.getRowKey(e,n),e]))),this.#L}#ce(e){if(this.getRowKey!==sv)return!0;let n=this._getRowForKey(e)??this.#se().get(e);return n!==void 0&&(n.key??n.id)!==void 0}#le(){let e=this._viewportEl;if(!e)return;let n=e.scrollTop,r=this.rowHeight,i=Math.max(0,Math.floor(n/r)),a=Math.min(this._flat.length,i+64);for(let o=i;o<a;o++){let i=this._flat[o];if(i.type===`row`)return s_(n,this.#ce(i.key)?i.key:void 0,o*r,e.scrollLeft)}return s_(n,void 0,0,e.scrollLeft)}#ue(e){let n=this._viewportEl;if(!n)return!1;let r=e.top;if(e.anchor){let n=this.#c.get(e.anchor.key);if(n===void 0)return!1;r=n*this.rowHeight+e.anchor.offset}let i=o_(n,r),a=e.left===void 0||o_(n,e.left,`horizontal`),o=this.#fe(2);this._scrollTop=n.scrollTop,this._scrollLeft=n.scrollLeft;let s=this.#fe(2);return(o.start!==s.start||o.end!==s.end)&&this.requestUpdate(),i&&a}#de(){return this._viewportEl.clientHeight-(this._headerRowEl?.offsetHeight??0)}#fe(e){let n=this.rowHeight;return{start:Math.max(0,Math.floor(this._scrollTop/n)-e),end:Math.min(this._flat.length,Math.ceil((this._scrollTop+this._viewportH)/n)+e)}}getVisibleRange(){let{start:e,end:n}=this.#fe(2);return{startRow:e,endRow:n,startCol:this._findFirstVisibleCol(this._scrollLeft),endCol:this._findLastVisibleCol(this._scrollLeft+this._viewportW)}}renderedKeys(){let{startRow:e,endRow:n}=this.getVisibleRange();return this._flat.slice(e,n).filter(e=>e.type===`row`).map(e=>e.key)}#pe(){let{start:e,end:n}=this.#fe(0);return this._flat.slice(e,n).filter(e=>e.type===`row`).map(e=>e.key)}#me(){this.#E===0&&(this.#E=requestAnimationFrame(()=>{this.#E=0,this.#he()}))}#he(){let e=this.renderedKeys(),n=this.#pe();cv(this.#D,e)&&cv(this.#O,n)||(this.#D=e,this.#O=n,this.dispatchEvent(new CustomEvent(`datagrid-viewport-change`,{detail:{renderedKeys:e,visibleKeys:n},bubbles:!0,composed:!0})))}_findFirstVisibleCol(e){let n=0,r=this._colOffsets.length-1,i=0;for(;n<=r;){let a=n+r>>1;this._colOffsets[a]<=e?(i=a,n=a+1):r=a-1}return i}_findLastVisibleCol(e){for(let n=0;n<this._colOffsets.length;n++)if(this._colOffsets[n]>e)return n;return this._colOffsets.length}render(){let e=this.rowHeight,{start:n,end:r}=this.#fe(2),o=this._flat.slice(n,r).map((e,r)=>({entry:e,absIdx:n+r})),s=this._editing?.rowKey??this._editingRow,c=s?this.#c.get(s):void 0;c!==void 0&&(c>=n&&c<r&&o.splice(c-n,1),o.unshift({entry:this._flat[c],absIdx:c}));let l=this.interactionMode===`checked`;return i`
|
|
5374
|
+
`]}#e;#t;#n;#r;#i;#a;#o(e){let n=this._flat.filter(e=>e.type===`row`);if(!n.some(n=>n.key===e))return;this._selectedKeys.has(e)||this._replaceSelection(e);let r=[],i=0;for(let e of n){if(!this._selectedKeys.has(e.key)){i++;continue}let n=this.renderRoot.querySelector(`.row[data-key="${CSS.escape(e.key)}"]`)??void 0;r.push({key:e.key,index:i,item:e.row,...n?{element:n}:{}}),i++}let a=r.find(n=>n.key===e);if(a)return{origin:a,selected:r}}#s(){this.#r&&clearTimeout(this.#r),this.#r=window.setTimeout(()=>{this.#r=0},0)}#c;#l;#u;#d;#f;#p;#m;#h;#g;get registry(){return this.#m}#_(e){if(this.rowSearchText)return this.rowSearchText(e);let n=this.#v();if(n===void 0)return``;let r=this._formatValue(e[n.key],n,e);return typeof r==`string`||typeof r==`number`?String(r):``}#v(){return(this.searchColumn===``?void 0:this._visibleColumns.find(e=>e.key===this.searchColumn))??this._visibleColumns[0]}#y(){return{getItems:()=>(this.#g.clear(),this._sortedRows.forEach((e,n)=>this.#g.set(e,this.getRowKey(e,n))),this._sortedRows),getLabel:e=>this.#_(e),getKey:e=>this.#g.get(e)??String(this._sortedRows.indexOf(e)),focusItem:e=>{if(e===void 0)return;let n=this.#g.get(e);n!==void 0&&this.tickleRow(n)},selectItems:e=>{this.selectKeys(e.map(e=>this.#g.get(e)).filter(e=>e!==void 0))},applyFilter:e=>{this.filterPredicate=e===void 0?void 0:n=>{let r=this.#g.get(n);return r===void 0||e.has(r)}},highlightRoot:()=>this.rowSearchText?void 0:this.renderRoot,highlightSelector:`.row .cell`,highlightKeyOf:e=>e.getAttribute(`data-col`)===this.#v()?.key?e.closest(`.row`)?.getAttribute(`data-key`)??void 0:void 0,highlightText:e=>Array.from(e.childNodes,e=>e.nodeType===Node.TEXT_NODE?e.textContent:``).join(``),highlightKey:`data-grid-search`}}#b(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#x(){this.#m&&(this.search.setModes(this.#b()),this.#h?.(),this.#h=zt(this.#m,this.search))}#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`focusout`,this._onFocusOut),this.#m??=Yt(),this.#x(),this.#A=V_(()=>this._viewportEl??void 0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`focusout`,this._onFocusOut),cancelAnimationFrame(this._raf),cancelAnimationFrame(this.#E),this.#E=0,this.#h?.(),this.#h=void 0,this.#m=void 0,this.#w&&=(clearTimeout(this.#w),0),this.#r&&=(clearTimeout(this.#r),0),this.#e?.disconnect(),this.#e=void 0,this.#A?.(),this.#A=void 0}dispatch(e,n){this.#m?.invoke(e,n)}firstUpdated(){this.#e=new ResizeObserver(()=>this.#B()),this.#e.observe(this._viewportEl),this.#B(),this.#j.observeScrollTarget(this._viewportEl)}#B(){if(!this._viewportEl)return;let e=this._viewportEl,n=e.clientWidth,r=this.#de();if(n<=0||r<=0)return;let i=e.parentElement;i.style.setProperty(`--data-grid-scrollbar-width`,`${e.offsetWidth-n}px`),i.style.setProperty(`--data-grid-viewport-width`,`${n}px`),(n!==this._viewportW||r!==this._viewportH)&&(this._viewportW=n,this._viewportH=r,this.#me())}refreshLayout(){this.#B(),this.requestUpdate()}updated(e){super.updated(e),this.#j.applyPendingScroll(e=>this.#ue(e)),this.search.isOpen&&this.search.repaintHighlights(),(e.has(`rows`)||e.has(`sortState`)||e.has(`columns`)||e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`filterPredicate`)||e.has(`rowHeight`))&&this.#me(),(e.has(`_editing`)||e.has(`_editingRow`))&&this.updateComplete.then(()=>{let e=null;if(this._editing?e=`.row[data-key="${this._editing.rowKey}"] .cell[data-col="${this._editing.colKey}"] input, .row[data-key="${this._editing.rowKey}"] .cell[data-col="${this._editing.colKey}"] select`:this._editingRow&&(e=`.row[data-key="${this._editingRow}"] .cell input, .row[data-key="${this._editingRow}"] .cell select`),!e)return;let n=this.renderRoot.querySelector(e);n?.focus(),n instanceof HTMLInputElement&&n.type===`text`&&n.select()})}willUpdate(e){super.willUpdate(e),this.setAttribute(`data-input-mode`,this._tickled.inputMode),e.has(`searchModes`)&&this.#x(),e.has(`columns`)&&this.#te(),this.#V()&&this.#ne(),this._visibleColumns=this.columns.filter(e=>e.visible!==!1);let n=0;this._colOffsets=this._visibleColumns.map(e=>{let r=n;return n+=e.width??150,r}),this._colWidthSum=n,this.interactionMode===`checked`&&(this._colWidthSum+=28),this.#l!==this.#u&&(this.#u=this.#l,this.#U())}#V(){let e=[this.rows,this.sortState,this.columns],n=[this.filterPredicate,this.groupBy,this.groupLabel,this._collapsedGroups,this.getRowKey],r=!dv(this.#d,e);return r&&(this.#d=e,this._sortedRows=this._applySort([...this.rows]),this.#L=void 0),r||!dv(this.#f,n)?(this.#f=n,this._rebuildFlat(),!0):!1}#H(){this.#d=[this.rows,this.sortState,this.columns],this.#f=[this.filterPredicate,this.groupBy,this.groupLabel,this._collapsedGroups,this.getRowKey]}#U(){let e=this._flatKeys,n=this.#S;if(this.#S=e.slice(),!this.#T){this.#T=!0;return}if(n.length===0||e.length===0){this.#C.clear();return}let r=new Set(n),i=e.filter(e=>!r.has(e)),a=n.length-(e.length-i.length);i.length===e.length||i.length===0&&a===0||(this.#C=new Set(i),this.toggleAttribute(`reflowing`,!0),this.#w&&clearTimeout(this.#w),this.#w=window.setTimeout(()=>{this.#w=0,this.#C.clear(),this.toggleAttribute(`reflowing`,!1),this.requestUpdate()},320))}_getGroupKey(e){return this.groupBy?typeof this.groupBy==`string`?String(e[this.groupBy]??``):String(this.groupBy(e)):null}_rebuildFlat(){let e=this.filterPredicate,n=[];for(let r=0;r<this._sortedRows.length;r++)(!e||e(this._sortedRows[r]))&&n.push(r);let r=[],i=[];this.#z=new Set;let a=e=>{let n=this._sortedRows[e],a=this.getRowKey(n,e);r.push({type:`row`,key:a,row:n,idx:e}),i.push(a)};if(!this.groupBy)n.forEach(a);else{let e=new Map;for(let r of n){let n=this._getGroupKey(this._sortedRows[r])??``,i=e.get(n);i?i.push(r):e.set(n,[r])}this.#z=new Set(e.keys());for(let[n,o]of e){let e=this.groupLabel?this.groupLabel(n,o.map(e=>this._sortedRows[e])):n,s=`__group__${n}`;r.push({type:`group`,key:s,label:e,count:o.length}),i.push(s),this._collapsedGroups.has(n)||o.forEach(a)}}this._flat=r,this._flatKeys=i,this.#W()}#W(){this.#c.clear(),this._flat.forEach((e,n)=>this.#c.set(e.key,n)),this.#l++,this.#p=void 0}#G(e){let n=this.#c.get(e),r=n===void 0?void 0:this._flat[n];if(r?.type===`row`)return r;let i=this._sortedRows.findIndex((n,r)=>this.getRowKey(n,r)===e);return i<0?void 0:{row:this._sortedRows[i],idx:i}}_toggleGroup(e){let n=new Set(this._collapsedGroups);n.has(e)?n.delete(e):n.add(e),this._collapsedGroups=n,this.#j.notify()}_applySort(e){if(!this.sortState)return e;let n=this.columns.find(e=>e.key===this.sortState.key);if(!n)return e;let r=this.sortState.direction===`asc`?1:-1;if(n.sortFn)return e.sort((e,i)=>r*n.sortFn(e,i));let i=n.dataType??`text`;return e.sort((e,a)=>{let o=e[n.key],s=a[n.key];return o===s?0:i===`number`?r*(o-s):i===`boolean`?r*(!!o==!!s?0:o?1:-1):r*String(o).localeCompare(String(s))})}_onHeaderClick(e,n){if(e.sortable===!1)return;if(n){let e=n.composedPath()[0];if(e&&this.#i.get(e)){this.#i.delete(e);return}}let r=this.sortState,i=null;i=!r||r.key!==e.key?{key:e.key,direction:`asc`}:r.direction===`asc`?{key:e.key,direction:`desc`}:null,this.sortState=i,this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-sort`,{detail:{sort:i,previous:r},bubbles:!0,composed:!0}))}_onHeaderPointerUp(e,n){let r=!1,i=new CustomEvent(`datagrid-header-pointerup`,{detail:{key:e.key,column:e},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(i),i.defaultPrevented&&(r=!0),r&&this.#i.set(n,!0)}_onColButtonClick(e,n){n.stopPropagation();let r=e.button===!1?this.columnButtonIcon:typeof e.button==`object`&&e.button.icon?e.button.icon:this.columnButtonIcon,i=n.currentTarget,a=new CustomEvent(`datagrid-header-button-click`,{detail:{key:e.key,column:e,icon:r,clientX:n.clientX,clientY:n.clientY,anchorElement:i},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(a),a.defaultPrevented&&this.#i.set(n,!0)}_onRowClick(e,n,r){if(this.#a.isDragging||this.#r!==0||n&&n.selectable===!1||this.selectionMode===`none`&&this.interactionMode!==`checked`&&this.interactionMode!==`sticky`)return;let i=r.pointerType===`touch`?`touch`:`pointer`,a=this.interactionMode,o=this.selectionMode===`multiple`||a===`vscode`,s=r.ctrlKey||r.metaKey;switch(a){case`implicit`:this.#q(e,i);break;case`checked`:break;case`sticky`:this.#J(e,i);break;case`manual`:s?this.#J(e,i):r.shiftKey?this.#Y(e,i):this.#q(e,i);break;default:s?o&&this.#J(e,i):r.shiftKey&&o?this.#Y(e,i):this.#q(e,i)}}_onCheckboxClick(e,n){n.stopPropagation(),this.interactionMode===`checked`?this.#J(e,`pointer`):this._onRowClick(e,null,n)}#K(e){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))}#q(e,n){if(this.selectionMode!==`none`){if(this.#K({kind:`replace`,keys:[e],source:n})||this.interactionMode===`manual`){this._anchorKey=e;return}this._replaceSelection(e)}}#J(e,n,r=!1){this.#K({kind:`toggle`,keys:[e],source:n})||this.interactionMode===`manual`&&!r||this._toggleSelection(e)}#Y(e,n){if(this.selectionMode===`none`)return;let r=this._anchorKey===void 0?void 0:this.#X(e);if(this.#K({kind:`extend`,keys:r??[e],...this._anchorKey===void 0?{}:{anchorKey:this._anchorKey},targetKey:e,source:n})){this._anchorKey??=e;return}this.interactionMode!==`manual`&&this._rangeSelectTo(e)}#X(e){if(!this._anchorKey)return;let n=this._flat.filter(e=>e.type===`row`).map(e=>e.key);if(this.groupBy&&!this.crossGroupSelection){let r=this._getGroupKey(this._getRowForKey(this._anchorKey)??{key:this._anchorKey});if(r!==this._getGroupKey(this._getRowForKey(e)??{key:e}))return;n=n.filter(e=>this._getGroupKey(this._getRowForKey(e)??{key:e})===r)}let r=n.indexOf(this._anchorKey),i=n.indexOf(e);if(!(r<0||i<0))return n.slice(Math.min(r,i),Math.max(r,i)+1)}_onVisibilityToggle(e,n){e.visible=n,this.columns=[...this.columns],this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-visibility`,{detail:{key:e.key,visible:n},bubbles:!0,composed:!0}))}_beginHeaderDrag(e,n,r){e.stopPropagation();let i=e.currentTarget.closest(`.header-cell`)??e.currentTarget;this._drag={pointerId:e.pointerId,from:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,gap:void 0,sourceCol:n};let a=e=>{if(!this._drag||e.pointerId!==this._drag.pointerId)return;let r=e.clientX-this._drag.startX,a=e.clientY-this._drag.startY;if(!this._drag.active){if(Math.hypot(r,a)<5)return;this._drag.active=!0;let o=document.createElement(`span`);o.textContent=n.label;try{this._drag.ghost=E_({anchor:i,content:o}),this._drag.ghost.move(e.clientX,e.clientY)}catch{}try{this._headerRowEl?.setPointerCapture(e.pointerId)}catch{}}this._drag.ghost?.move(e.clientX,e.clientY);let o=e.clientX-(this._headerRowEl?.getBoundingClientRect().left??0),s=this._drag.from,c=1/0;for(let e=0;e<this._visibleColumns.length;e++){if(e===this._drag.from)continue;let n=this._colOffsets[e],r=n+(this._visibleColumns[e].width??150),i=(n+r)/2,a=o<i?n:r,l=o<i?e:e+1,u=Math.abs(o-a);u<c&&(c=u,s=l>this._drag.from?l-1:l)}if(this._visibleColumns.length>0){let e=this._colOffsets[this._colOffsets.length-1]+(this._visibleColumns[this._visibleColumns.length-1].width??150),n=Math.abs(o-e);n<c&&(c=n,s=this._visibleColumns.length-1,this._drag.from===this._visibleColumns.length-1?s=this._drag.from:s>=this._drag.from&&(s=this._visibleColumns.length-1))}let l=this._visibleColumns.length-1,u=s;u<0&&(u=0),u>l&&(u=l),this._drag.gap=u,this.requestUpdate()},o=e=>{if(!this._drag||e.pointerId!==this._drag.pointerId)return;let n=this._drag.active,r=this._drag.from,i=this._drag.gap;this._drag.ghost?.destroy();try{this._headerRowEl?.releasePointerCapture(e.pointerId)}catch{}window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),window.removeEventListener(`pointercancel`,o),this._drag=null,this.requestUpdate(),n&&i!==void 0&&i!==r&&this._onReorderDrag(r,i)};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),window.addEventListener(`pointercancel`,o)}_onReorderDrag(e,n){if(e===n)return;let r=[...this.columns],i=r.filter(e=>e.visible!==!1),a=r.filter(e=>e.visible===!1),[o]=i.splice(e,1);i.splice(n,0,o),this.columns=[...i,...a],this.#F=O_,this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-reorder`,{detail:{from:e,to:n,columns:[...this.columns]},bubbles:!0,composed:!0}))}_scrollRowIntoView(e){let n=this.#c.get(e);if(n===void 0||!this._viewportEl)return;let r=this.rowHeight,i=(n>0&&this._flat[n-1].type===`group`?n-1:n)*r,a=(n+1)*r,o=this._viewportEl.scrollTop,s=this.#de(),c=o;i<o?c=i:a>o+s&&(c=a-s),c!==o&&(this._viewportEl.scrollTop=c,this._scrollTop=c,this.requestUpdate())}_getRowForKey(e){let n=this.#c.get(e),r=n===void 0?void 0:this._flat[n];return r?.type===`row`?r.row:void 0}get selectedKeys(){return this._selectedKeys}get partialKeys(){return this._partialKeys}set partialKeys(e){let n=new Set(e);yr(n,this._partialKeys)||(this._partialKeys=n)}set selectedKeys(e){this.selectKeys(e)}selectKeys(e){this.#M=k;let n=new Set([...e].filter(e=>this._getRowForKey(e)!==void 0));if(this.selectionMode===`none`)n=new Set;else if(!this.#Z()&&n.size>1){let e=[...n].at(-1);n=e===void 0?new Set:new Set([e])}let r=new Set(this._selectedKeys);r.size===n.size&&[...n].every(e=>r.has(e))||(this._selectedKeys=n,this._anchorKey=[...n].at(-1),this.#Q(r))}#Z(){return this.selectionMode===`multiple`||this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`vscode`}#Q(e){this.#j.isRestoring||(this.#M=k),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previous:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`list-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previousKeys:e,previous:e},bubbles:!0,composed:!0}))}get tickledKey(){return this._tickled.tickledId}tickleRow(e){!this.#c.has(e)||e.startsWith(`__group__`)||(this._tickled.focus(e),this._scrollRowIntoView(e),this.#N=void 0,this.#j.notify())}appendRows(e){if(e.length===0)return;let n=this.rows.length,r=this._sortedRows.length===n&&dv(this.#d,[this.rows,this.sortState,this.columns]);if(this.rows=[...this.rows,...e],!r)return;let i=this.rows.slice(n);this._sortedRows=[...this._sortedRows,...i],this.#$(i,n),this.#H(),this.#re(i,n),this.sortState!=null&&(cancelAnimationFrame(this.#k),this.#k=requestAnimationFrame(()=>{this.#d=void 0,this.requestUpdate()}))}#$(e,n){if(this.groupBy){this._rebuildFlat();return}for(let r=0;r<e.length;r++){let i=n+r;if(this.filterPredicate&&!this.filterPredicate(e[r]))continue;let a=this.getRowKey(e[r],i);this._flat.push({type:`row`,key:a,row:e[r],idx:i}),this._flatKeys.push(a),this.#c.set(a,this._flat.length-1)}this.#l++,this.#p=void 0}_replaceSelection(e){if(this.selectionMode===`none`)return;let n=new Set(this._selectedKeys);if(this.groupBy&&!this.crossGroupSelection){let r=this._getGroupKey(this._getRowForKey(e)??{key:e});[...n].filter(e=>this._getGroupKey(this._getRowForKey(e)??{key:e})===r),this._selectedKeys=new Set([e])}else this._selectedKeys=new Set([e]);this._anchorKey=e,this.#Q(n)}_toggleSelection(e){let n=new Set(this._selectedKeys),r=new Set(this._selectedKeys);if(r.has(e))r.delete(e);else{if(this.groupBy&&!this.crossGroupSelection){let n=this._getGroupKey(this._getRowForKey(e)??{key:e});for(let e of[...r])this._getGroupKey(this._getRowForKey(e)??{key:e})!==n&&r.delete(e)}this.selectionMode!==`multiple`&&this.interactionMode!==`checked`&&this.interactionMode!==`sticky`&&r.clear(),r.add(e)}this._selectedKeys=r,this._anchorKey=e,this.#Q(n)}_rangeSelectTo(e){let n=this.#X(e);if(n===void 0){this._replaceSelection(e);return}let r=new Set(this._selectedKeys);this._selectedKeys=new Set(n),this.#Q(r)}#ee(e){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(this.selectionMode===`multiple`||this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`vscode`||this.interactionMode===`standard`){e.preventDefault();let n=this.groupBy&&!this.crossGroupSelection&&this._anchorKey?this._getGroupKey(this._getRowForKey(this._anchorKey)??{key:this._anchorKey}):void 0;if(this.#K({kind:`all`,keys:[],...n===void 0?{}:{groupKey:n},source:`keyboard`}))return;let r=new Set(this._selectedKeys);this._selectedKeys=n===void 0?new Set(this._flat.filter(e=>e.type===`row`).map(e=>e.key)):new Set(this._flat.filter(e=>e.type===`row`&&this._getGroupKey(e.row)===n).map(e=>e.key)),this.#Q(r)}return}if(this._editing&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){if(this.shadowRoot?.activeElement?.tagName===`SELECT`)return;e.preventDefault();let n=this._editing,r=e.key===`ArrowDown`?1:-1,i=n.colKey;this._suppressBlurCommit=!0,this._commitEdit();let a=this._flat.filter(e=>e.type===`row`).map(e=>e.key),o=a.indexOf(n.rowKey),s=o+r;for(;s>=0&&s<a.length;){let e=a[s],n=this.#G(e)?.row,c=this._visibleColumns.find(e=>e.key===i);if(n&&c&&this._isEditable(n,c)){this._startEdit(e,i),this._tickled.handleKeyboardNavigation(s>o?`next`:`previous`),this._scrollRowIntoView(e);break}s+=r}(s<0||s>=a.length)&&(this._tickled.handleKeyboardNavigation(r>0?`next`:`previous`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId)),requestAnimationFrame(()=>{this._suppressBlurCommit=!1});return}switch((e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Home`||e.key===`End`)&&(e.preventDefault(),this._tickled.setInputMode(`keyboard`)),e.key){case`ArrowDown`:this._tickled.handleKeyboardNavigation(`next`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId),this.interactionMode===`implicit`&&this._tickled.tickledId&&this.#q(this._tickled.tickledId,`keyboard`),e.shiftKey&&(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this._tickled.tickledId&&this.#Y(this._tickled.tickledId,`keyboard`);break;case`ArrowUp`:this._tickled.handleKeyboardNavigation(`previous`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId),this.interactionMode===`implicit`&&this._tickled.tickledId&&this.#q(this._tickled.tickledId,`keyboard`),e.shiftKey&&(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this._tickled.tickledId&&this.#Y(this._tickled.tickledId,`keyboard`);break;case`Home`:this._tickled.handleKeyboardNavigation(`first`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId);break;case`End`:this._tickled.handleKeyboardNavigation(`last`),this._tickled.tickledId&&this._scrollRowIntoView(this._tickled.tickledId);break;case`Enter`:{let n=this._tickled.tickledId;if(!n)break;if(e.preventDefault(),!this._editing&&this.editability===`user`){let e=this.#G(n);if(e){let r=e.row;if(this._lastClickedCell?.rowKey===n){let e=this._visibleColumns.find(e=>e.key===this._lastClickedCell.colKey);if(e&&this._isEditable(r,e)){this._startEdit(n,e.key);break}}let i=this._visibleColumns.find(e=>this._isEditable(r,e));if(i){this._startEdit(n,i.key);break}}}if(!this._editing){let e=this.#G(n),r=e?.idx??-1;if(this._selectedKeys.has(n)){this._activateRow(n,e?.row,r);break}this.interactionMode!==`checked`&&this.#q(n,`keyboard`),this.dispatchEvent(new CustomEvent(`datagrid-cell-click`,{detail:{rowKey:n,colKey:``,rowIndex:r,colIndex:-1},bubbles:!0,composed:!0}))}break}case` `:{if(this._editing){if((this.columns.find(e=>e.key===this._editing.colKey)?.dataType??`text`)===`boolean`){e.preventDefault();let n=this.editability===`immediate`,r=this._editing.rowKey,i=this._editing.colKey,a=this.shadowRoot?.activeElement,o;if(a?.type===`checkbox`)o=!a.checked,a.checked=o;else{let e=this.#G(r)?.row;o=!(this._editValue===``?e?.[i]:this._editValue)}n?this._commitImmediate(r,i,o):(this._editValue=o,this._commitEdit())}break}let n=this._tickled.tickledId;if(!n)break;e.preventDefault(),this.interactionMode===`checked`||this.interactionMode===`sticky`||this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`?this.#J(n,`keyboard`,!0):this.#q(n,`keyboard`);break}case`Escape`:if(this._editing||this._editingRow)e.preventDefault(),this._editing=null,this._editingRow=null,this.requestUpdate();else if(this._selectedKeys.size){if(e.preventDefault(),this.#K({kind:`clear`,keys:[],source:`keyboard`}))break;let n=new Set(this._selectedKeys);this._selectedKeys=new Set,this.#Q(n)}}}_isEditable(e,n){return this.editability===`disabled`?!1:typeof this.editable==`function`?this.editable(e,n):this.editable===!0?n.editable!==!1:!!n.editable}_isTextEditor(e){let n=e.editor;return!n||n===`auto`}_isCellEditing(e,n){return this.editability===`immediate`&&this._isEditable(this.#G(e)?.row??{},this.columns.find(e=>e.key===n))?!0:this._editingRow===e?this._isEditable(this.#G(e)?.row??{},this.columns.find(e=>e.key===n)):this._editing?.rowKey===e&&this._editing?.colKey===n}_activateRow(e,n,r){this.dispatchEvent(new CustomEvent(`datagrid-row-activate`,{detail:{rowKey:e,row:n,rowIndex:r},bubbles:!0,composed:!0}))}_startEdit(e,n){if(this.editability===`disabled`)return;let r=this.#G(e)?.row;if(!r)return;let i=this.columns.find(e=>e.key===n);!i||!this._isEditable(r,i)||(this._editing={rowKey:e,colKey:n},this._editingRow=null,this._editValue=r[n])}startEdit(e,n){this._startEdit(e,n)}startRowEdit(e){this.editability!==`disabled`&&this.#G(e)?.row&&(this._editing=null,this._editingRow=e,this.requestUpdate())}stopEdit(){this._editing=null,this._editingRow=null}setColumnFormatter(e,n,r){if(!n){this._columnFormatters.delete(e),this.requestUpdate();return}if(typeof n==`string`){let i=r?.digits??(n===`integer`?0:2);n===`fixed`?this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?e.toFixed(i):String(e??``)):n===`percentage`?this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?`${e.toFixed(i)}%`:String(e??``)):n===`integer`&&this._columnFormatters.set(e,e=>typeof e==`number`&&Number.isFinite(e)?Math.round(e).toString():String(e??``))}else this._columnFormatters.set(e,n);this.requestUpdate()}_formatValue(e,n,r){let i=this._columnFormatters.get(n.key);return i?i(e):n.formatter?n.formatter(e,r,n):this.globalFormatter?this.globalFormatter(e,n.key,r):e}_cellLook(e,n){if(this.textColorColumn===``&&this.iconColumn===``&&this.badgeColumn===``)return sv;let r=typeof e==`object`&&e?e:{},i=n===this.textColorColumn?C_(r.textColor):void 0,a=n===this.iconColumn&&!S_(r.icon)?r.icon:void 0,o=a===void 0?void 0:C_(r.iconColor),s=n===this.badgeColumn&&!S_(r.badge)?r.badge:void 0;return i===void 0&&a===void 0&&s===void 0?sv:{textColor:i,icon:a,iconColor:o,badge:s}}_handleCellSecondClick(e,n){if(this.editability!==`user`)return;let r=Date.now();this._lastClick&&this._lastClick.key===e&&this._lastClick.col===n.key&&r-this._lastClick.time<700&&r-this._lastClick.time>150?(this._startEdit(e,n.key),this._lastClick=null):this._lastClick={key:e,col:n.key,time:r}}_commitEdit(e=!1){if(!this._editing&&!e)return;let n=this._editing;if(!n)return;let{rowKey:r,colKey:i}=n,a=this.#G(r)?.row;if(!a){this._editing=null;return}let o=a[i],s=this._editValue,c=this.columns.find(e=>e.key===i);c?.editor&&typeof c.editor==`function`||(a[i]=s,this.rows=[...this.rows]),this._editing=null,this.dispatchEvent(new CustomEvent(`datagrid-cell-edit`,{detail:{rowKey:r,colKey:i,oldValue:o,newValue:s},bubbles:!0,composed:!0}))}_tabToNext(e,n,r){let i=this.#G(e)?.row;if(!i)return;let a=this._visibleColumns,o=a.findIndex(e=>e.key===n)+r;for(;o>=0&&o<a.length;){if(this._isEditable(i,a[o])){this._editing&&this._commitEdit(),this._suppressBlurCommit=!0,this._startEdit(e,a[o].key),requestAnimationFrame(()=>{this._suppressBlurCommit=!1});return}o+=r}this._editing&&this._commitEdit(),this._editing=null,this.requestUpdate()}_commitImmediate(e,n,r){let i=this.#G(e)?.row;if(!i)return;let a=i[n];a!==r&&(i[n]=r,this.rows=[...this.rows],this.dispatchEvent(new CustomEvent(`datagrid-cell-edit`,{detail:{rowKey:e,colKey:n,oldValue:a,newValue:r},bubbles:!0,composed:!0})))}_measureAutoWidth(e){let n=getComputedStyle(this),r=`${n.fontSize} ${n.fontFamily}`,i=document.createElement(`canvas`).getContext(`2d`),a=e=>i?(i.font=r,Math.ceil(i.measureText(e).width)):e.length*8,o=e.fixedExtraWidth??0,s=a(e.label)+40;for(let n of this.rows){if(e.measure){s=Math.max(s,e.measure(n,e)+24);continue}let r=n[e.key];if(r==null||r===``)continue;let i=a(String(this._formatValue(r,e,n)))+24+o;i>s&&(s=i)}let c=e.minWidth??40,l=e.maxWidth??600;return Math.max(c,Math.min(l,s))}_autoSizeColumn(e){let n=this._measureAutoWidth(e);e.width=n,this.requestUpdate(),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:e.key,width:n},bubbles:!0,composed:!0}))}autoSizeColumn(e){let n=this.columns.find(n=>n.key===e);if(!n||n.resizable===!1||n.renderer&&!n.measure&&n.fixedExtraWidth===void 0)return!1;let r=this._measureAutoWidth(n);return(n.width??150)===r||(this._animatingColKeys=new Set(this._animatingColKeys).add(e),requestAnimationFrame(()=>{n.width=r,this.requestUpdate(),this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:e,width:r},bubbles:!0,composed:!0})),window.setTimeout(()=>{let n=new Set(this._animatingColKeys);n.delete(e),this._animatingColKeys=n},this._columnResizeAnimationMs())}),!0)}_columnResizeAnimationMs(){let e=getComputedStyle(this).getPropertyValue(`--data-grid-column-resize-duration`).trim(),n=e.endsWith(`ms`)?Number.parseFloat(e):e.endsWith(`s`)?Number.parseFloat(e)*1e3:Number.parseFloat(e);return(Number.isFinite(n)&&n>0?n:180)+30}_onResizePointerDown(e,n){e.preventDefault(),e.stopPropagation();let r=e.clientX,i=n.width??150;this._resizingColKey=n.key;let a=e=>{n.width=Math.max(n.minWidth??40,Math.min(n.maxWidth??600,i+e.clientX-r)),this.requestUpdate()},o=e=>{window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),this._resizingColKey=void 0;let s=Math.max(n.minWidth??40,Math.min(n.maxWidth??600,i+e.clientX-r));this.#j.notify(),this.dispatchEvent(new CustomEvent(`datagrid-column-resize`,{detail:{key:n.key,width:s},bubbles:!0,composed:!0}))};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o)}getViewState(e){let n=e?.includePending??!0,r=this._tickled.inputMode===`keyboard`?this._tickled.tickledId:void 0,i=r!==void 0&&this.#ce(r)?r:void 0,a=this.groupBy===null||typeof this.groupBy==`string`?this.groupBy:void 0;return this.#j.shape({selected:fr([...this._selectedKeys].filter(e=>this.#ce(e)),n?this.#M:[]),focus:i??(n?this.#N:void 0),scroll:(n?this.#j.pendingScroll:void 0)??this.#le(),expanded:M_(this._collapsedGroups,e=>n||this.#z.has(e)),columns:I_(this.columns,this.#P,this.#F,n),sort:this.sortState,groupBy:this.allowGrouping?a:void 0},e)}setViewState(e){this.#j.accepts(e)&&(this.#j.restoring(()=>{if(e.columns&&typeof e.columns==`object`){let{pending:n,order:r}=P_(e.columns);this.#P=n,this.#F=r,this.#te()}if(e.sort!==void 0&&L_(e.sort)&&(this.sortState=e.sort),(e.groupBy===null||typeof e.groupBy==`string`)&&(this.groupBy=e.groupBy),e.expanded&&typeof e.expanded==`object`&&(this._collapsedGroups=N_(e.expanded)),e.focus!==void 0&&(this.#N=e.focus),e.scroll&&(this.#j.pendingScroll=e.scroll),Array.isArray(e.selected)){let n=this._selectedKeys;this.#M=sr(new Set(e.selected.filter(e=>typeof e==`string`))),this._selectedKeys=new Set,this.#ne(n)}else this.#ne();this.#j.notify()}),this.requestUpdate())}clearPendingViewState(){this.#M=k,this.#N=void 0,this.#P=D_,this.#F=O_,this.#j.pendingScroll=void 0,[...this._collapsedGroups].some(e=>!this.#z.has(e))&&(this._collapsedGroups=new Set([...this._collapsedGroups].filter(e=>this.#z.has(e))))}#te(){let e=F_(this.#I,this.columns,this.#P,this.#F);this.#P=e.pending,this.#F=e.order,this.#I=e.columns,e.columns!==this.columns&&(this.columns=e.columns,this.#j.restoring(()=>this.#j.notify()))}#ne(e){this.#j.restoring(()=>{let n=k_(this._selectedKeys,this.#M,e=>this.#oe(e),!this.#Z(),this.selectionMode!==`none`);this.#M=n.pending,n.changed&&this.#ie(n.selected);let r=e??this._selectedKeys;(e?!uv(e,this._selectedKeys):n.restored)&&this.#Q(r);let i=this._tickled.tickledId;i!==void 0&&!this.#c.has(i)&&(this._tickled.inputMode===`keyboard`&&this.#ce(i)&&(this.#N??=i),this._tickled.clearTickled()),this.#ae()})}#re(e,n){let r=this.#M.size>0&&this.selectionMode!==`none`;if(r||this.#L!==void 0){let i=e.map((e,r)=>this.getRowKey(e,n+r));i.forEach((n,r)=>this.#L?.set(n,e[r]));let a=r?j_(this.#M,i):[];a.length>0&&this.#j.restoring(()=>{let e=this._selectedKeys,n=A_(e,this.#M,a,!this.#Z());this.#M=n.pending,this.#ie(n.selected),this.#Q(e)})}this.#N!==void 0&&this.#j.restoring(()=>this.#ae())}#ie(e){let n=this._anchorKey;this._selectedKeys=new Set(e),this._anchorKey=n!==void 0&&e.has(n)?n:[...e].at(-1)}#ae(){let e=this.#N;e!==void 0&&this._getRowForKey(e)!==void 0&&(this.#N=void 0,this._tickled.setInputMode(`keyboard`),this._tickled.setTickled(e),this.#j.notify())}#oe(e){let n=this.#c.get(e);return n===void 0?this.#se().has(e):this._flat[n].type===`row`}#se(){return(this.#L===void 0||this.#R!==this.getRowKey)&&(this.#R=this.getRowKey,this.#L=new Map(this._sortedRows.map((e,n)=>[this.getRowKey(e,n),e]))),this.#L}#ce(e){if(this.getRowKey!==cv)return!0;let n=this._getRowForKey(e)??this.#se().get(e);return n!==void 0&&(n.key??n.id)!==void 0}#le(){let e=this._viewportEl;if(!e)return;let n=e.scrollTop,r=this.rowHeight,i=Math.max(0,Math.floor(n/r)),a=Math.min(this._flat.length,i+64);for(let o=i;o<a;o++){let i=this._flat[o];if(i.type===`row`)return c_(n,this.#ce(i.key)?i.key:void 0,o*r,e.scrollLeft)}return c_(n,void 0,0,e.scrollLeft)}#ue(e){let n=this._viewportEl;if(!n)return!1;let r=e.top;if(e.anchor){let n=this.#c.get(e.anchor.key);if(n===void 0)return!1;r=n*this.rowHeight+e.anchor.offset}let i=s_(n,r),a=e.left===void 0||s_(n,e.left,`horizontal`),o=this.#fe(2);this._scrollTop=n.scrollTop,this._scrollLeft=n.scrollLeft;let s=this.#fe(2);return(o.start!==s.start||o.end!==s.end)&&this.requestUpdate(),i&&a}#de(){return this._viewportEl.clientHeight-(this._headerRowEl?.offsetHeight??0)}#fe(e){let n=this.rowHeight;return{start:Math.max(0,Math.floor(this._scrollTop/n)-e),end:Math.min(this._flat.length,Math.ceil((this._scrollTop+this._viewportH)/n)+e)}}getVisibleRange(){let{start:e,end:n}=this.#fe(2);return{startRow:e,endRow:n,startCol:this._findFirstVisibleCol(this._scrollLeft),endCol:this._findLastVisibleCol(this._scrollLeft+this._viewportW)}}renderedKeys(){let{startRow:e,endRow:n}=this.getVisibleRange();return this._flat.slice(e,n).filter(e=>e.type===`row`).map(e=>e.key)}#pe(){let{start:e,end:n}=this.#fe(0);return this._flat.slice(e,n).filter(e=>e.type===`row`).map(e=>e.key)}#me(){this.#E===0&&(this.#E=requestAnimationFrame(()=>{this.#E=0,this.#he()}))}#he(){let e=this.renderedKeys(),n=this.#pe();lv(this.#D,e)&&lv(this.#O,n)||(this.#D=e,this.#O=n,this.dispatchEvent(new CustomEvent(`datagrid-viewport-change`,{detail:{renderedKeys:e,visibleKeys:n},bubbles:!0,composed:!0})))}_findFirstVisibleCol(e){let n=0,r=this._colOffsets.length-1,i=0;for(;n<=r;){let a=n+r>>1;this._colOffsets[a]<=e?(i=a,n=a+1):r=a-1}return i}_findLastVisibleCol(e){for(let n=0;n<this._colOffsets.length;n++)if(this._colOffsets[n]>e)return n;return this._colOffsets.length}render(){let e=this.rowHeight,{start:n,end:r}=this.#fe(2),o=this._flat.slice(n,r).map((e,r)=>({entry:e,absIdx:n+r})),s=this._editing?.rowKey??this._editingRow,c=s?this.#c.get(s):void 0;c!==void 0&&(c>=n&&c<r&&o.splice(c-n,1),o.unshift({entry:this._flat[c],absIdx:c}));let l=this.interactionMode===`checked`;return i`
|
|
5375
5375
|
<div class="grid ${this.columnMenu===`auto`?`has-actions`:``}" role="grid" aria-rowcount=${this._flat.length+1} aria-colcount=${this._visibleColumns.length} aria-multiselectable=${this.selectionMode===`multiple`?`true`:`false`}>
|
|
5376
5376
|
<div class="viewport scroll-fade-y" @scroll=${this._onScroll}>
|
|
5377
5377
|
<div class="header-row scroll-fade-x" role="row" aria-rowindex="1">
|
|
@@ -5438,7 +5438,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5438
5438
|
`:a}
|
|
5439
5439
|
</ixfx-menu-container>
|
|
5440
5440
|
</ixfx-menu-trigger>
|
|
5441
|
-
</div>`:a}};E([d({type:Array})],
|
|
5441
|
+
</div>`:a}};E([d({type:Array})],V.prototype,`columns`,void 0),E([d({type:Array})],V.prototype,`rows`,void 0),E([d({type:String,attribute:`selection-mode`})],V.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],V.prototype,`interactionMode`,void 0),E([d({attribute:!1})],V.prototype,`sortState`,void 0),E([d({type:Number,attribute:`row-height`})],V.prototype,`rowHeight`,void 0),E([d({attribute:!1})],V.prototype,`getRowKey`,void 0),E([d({attribute:!1})],V.prototype,`checkboxRenderer`,void 0),E([d({attribute:!1})],V.prototype,`editable`,void 0),E([d({type:String,reflect:!0})],V.prototype,`editability`,void 0),E([d({type:String,attribute:`cell-overflow`})],V.prototype,`cellOverflow`,void 0),E([d({type:Boolean,attribute:`zebra-stripes`,reflect:!0})],V.prototype,`zebraStripes`,void 0),E([d({attribute:!1})],V.prototype,`groupBy`,void 0),E([d({type:Boolean,attribute:`allow-grouping`})],V.prototype,`allowGrouping`,void 0),E([d({attribute:!1})],V.prototype,`groupLabel`,void 0),E([d({attribute:!1})],V.prototype,`groupableColumns`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],V.prototype,`crossGroupSelection`,void 0),E([d({type:String,attribute:`column-menu`})],V.prototype,`columnMenu`,void 0),E([d({attribute:!1})],V.prototype,`globalFormatter`,void 0),E([d({type:String,attribute:`text-color-column`})],V.prototype,`textColorColumn`,void 0),E([d({type:String,attribute:`icon-column`})],V.prototype,`iconColumn`,void 0),E([d({type:String,attribute:`badge-column`})],V.prototype,`badgeColumn`,void 0),E([d({attribute:!1})],V.prototype,`filterPredicate`,void 0),E([d({attribute:!1})],V.prototype,`rowSearchText`,void 0),E([d({type:String,attribute:`search-column`})],V.prototype,`searchColumn`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],V.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],V.prototype,`itemsDraggable`,void 0),E([d({attribute:!1})],V.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],V.prototype,`dragPreviewSource`,void 0),E([d({type:String,attribute:`column-button-icon`})],V.prototype,`columnButtonIcon`,void 0),E([m()],V.prototype,`_resizingColKey`,void 0),E([m()],V.prototype,`_animatingColKeys`,void 0),E([m()],V.prototype,`_selectedKeys`,void 0),E([m()],V.prototype,`_viewportH`,void 0),E([m()],V.prototype,`_viewportW`,void 0),E([m()],V.prototype,`_collapsedGroups`,void 0),E([m()],V.prototype,`_editing`,void 0),E([m()],V.prototype,`_editingRow`,void 0),E([m()],V.prototype,`_lastClick`,void 0),E([m()],V.prototype,`_lastClickedCell`,void 0),E([m()],V.prototype,`_editValue`,void 0),E([f(`.viewport`)],V.prototype,`_viewportEl`,void 0),E([f(`.header-row`)],V.prototype,`_headerRowEl`,void 0),E([m()],V.prototype,`_partialKeys`,void 0),V=E([T(`ixfx-data-grid`)],V);let fv=class extends n{constructor(...e){super(...e),this.rows=[],this.tickleDelay=400,this.layout=`auto`,this.narrowBreakpoint=420,this._tickled=new oe(this,{getItems:()=>this.rows.map((e,n)=>({id:n,enabled:!0}))}),this._stacked=!1,this.#n=0}static{this.styles=[se,C,de,r`
|
|
5442
5442
|
:host {
|
|
5443
5443
|
display: block;
|
|
5444
5444
|
container-type: inline-size;
|
|
@@ -5597,7 +5597,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5597
5597
|
?data-full=${e.fullWidth}
|
|
5598
5598
|
@pointerenter=${()=>this.#i(n)}
|
|
5599
5599
|
@click=${()=>this.#o(n)}
|
|
5600
|
-
><div class="key">${e.label}</div><div class="value"><span class="value-text">${typeof e.value==`boolean`?e.value?`Yes`:`No`:e.value}</span>${e.detail===void 0?a:i`<div class="detail popup-surface" part="detail">${e.detail}</div>`}</div></div>`)}</div>`}};E([d({type:Array,attribute:!1})],
|
|
5600
|
+
><div class="key">${e.label}</div><div class="value"><span class="value-text">${typeof e.value==`boolean`?e.value?`Yes`:`No`:e.value}</span>${e.detail===void 0?a:i`<div class="detail popup-surface" part="detail">${e.detail}</div>`}</div></div>`)}</div>`}};E([d({type:Array,attribute:!1})],fv.prototype,`rows`,void 0),E([d({type:Number,attribute:!1})],fv.prototype,`selectedIndex`,void 0),E([d({type:Number,attribute:`tickle-delay`})],fv.prototype,`tickleDelay`,void 0),E([d({type:String,reflect:!0})],fv.prototype,`layout`,void 0),E([d({type:Number,attribute:`narrow-breakpoint`})],fv.prototype,`narrowBreakpoint`,void 0),E([m()],fv.prototype,`_tickled`,void 0),E([m()],fv.prototype,`_detailIndex`,void 0),E([m()],fv.prototype,`_stacked`,void 0),fv=E([T(`ixfx-data-table`)],fv);const pv={columns:[],positions:new Map,tops:new Map,lefts:new Map};function mv(e){let n=e.getBoundingClientRect();return{left:n.left-e.scrollLeft,top:n.top-e.scrollTop}}function hv(e,n){let r=[];for(let i of e){let e=i.getBoundingClientRect();(e.width!==0||e.height!==0)&&r.push({el:i,left:e.left-n.left,top:e.top-n.top,width:e.width})}r.sort((e,n)=>e.left-n.left||e.top-n.top);let i=[],a=new Map,o=new Map,s=new Map;for(let e of r){let n=i.at(-1);(!n||e.left-n.left>1)&&(n={left:e.left,width:e.width,items:[]},i.push(n)),a.set(e.el,{col:i.length-1,row:n.items.length}),n.items.push(e.el),n.width=Math.max(n.width,e.width),o.set(e.el,e.top),s.set(e.el,e.left)}return{columns:i,positions:a,tops:o,lefts:s}}function gv(e,n,r){for(let i of n){if(!i)continue;let n=e.lefts.get(i),a=e.tops.get(i);if(n===void 0||a===void 0)return!1;let o=i.getBoundingClientRect();if(Math.abs(o.left-r.left-n)>.5||Math.abs(o.top-r.top-a)>.5)return!1}return!0}function _v(e,n,r){for(;e<n;){let i=e+n>>1;r(i)?n=i:e=i+1}return e}function vv(e,n,r,i){if(e.length===0)return[];let a=r=>{let i=e[r].getBoundingClientRect();return{left:i.left-n.left,right:i.right-n.left}},o=a(0),s=a(e.length-1);if(o.left===s.left)return o.right>r&&o.left<i?e:[];let c=e.length;if(s.left>o.left){let n=_v(0,c,e=>a(e).right>r),o=_v(n,c,e=>a(e).left>=i);return e.slice(n,o)}let l=_v(0,c,e=>a(e).left<i),u=_v(l,c,e=>a(e).right<=r);return e.slice(l,u)}function yv(e,n,r){let i={};for(let a of e)(r||n.has(a))&&(i[a]=!1);return i}function bv(e){let n=new Set;for(let[r,i]of ur(e))i||n.add(r);return sr(n)}function xv(e,n){let{missing:r}=ar(e,e=>n.has(e));return r}function Sv(e){let n=new Map;for(let r of e){let e=D(r);e!==void 0&&!n.has(e)&&n.set(e,r)}return n}function Cv(e,n){return a_(e,n,D,`horizontal`)}function wv(e,n,r){if(n.anchor){let i=r(n.anchor.key);return i!==void 0&&o_(e,i,n.anchor.offset,`horizontal`)}return s_(e,n.left??0,`horizontal`)}let Tv=class extends n{constructor(...e){super(...e),this.label=``,this.count=0,this.collapsed=!1,this.orientation=`horizontal`}static{this.styles=r`
|
|
5601
5601
|
:host {
|
|
5602
5602
|
--_height: var(--list-group-header-height, 28px);
|
|
5603
5603
|
--_border: var(--list-group-header-border, var(--border));
|
|
@@ -5670,7 +5670,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5670
5670
|
<span class="label" part="label">${this.label}</span>
|
|
5671
5671
|
<span class="count" part="count">(${this.count})</span>
|
|
5672
5672
|
<span class="divider" part="divider"></span>
|
|
5673
|
-
`}};E([d({type:String,reflect:!0})],wv.prototype,`label`,void 0),E([d({type:Number,reflect:!0})],wv.prototype,`count`,void 0),E([d({type:Boolean,reflect:!0})],wv.prototype,`collapsed`,void 0),E([d({type:String,reflect:!0})],wv.prototype,`orientation`,void 0),wv=E([T(`ixfx-list-group-header`)],wv);const Tv=`:scope > li`,Ev=`data-ixfx-group-header`,Dv=`data-group-collapsed`,Ov=new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`]);function kv(e,n,r){return r.width>0&&r.height>0&&e>=r.left&&e<r.right&&n>=r.top&&n<r.bottom}function Av(e,n,r){if(e instanceof Text){if(!e.textContent?.trim())return!1;let i=document.createRange();return i.selectNodeContents(e),Array.from(i.getClientRects()).some(e=>kv(n,r,e))}return!(e instanceof Element)||e.hasAttribute(`data-drag-select-blank`)?!1:e.hasAttribute(`data-drag-select-content`)?kv(n,r,e.getBoundingClientRect()):Array.from(e.childNodes).some(e=>Av(e,n,r))?!0:e.childNodes.length===0&&kv(n,r,e.getBoundingClientRect())}function jv(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}function Mv(e,n){if(e.size!==n.size)return!1;for(let r of e)if(!n.has(r))return!1;return!0}function Nv(e,n,r){for(let i of e)n.has(i)||i.removeAttribute(r);for(let i of n)e.has(i)||i.setAttribute(r,``)}const Pv=[`hidden`,Dv,`not-checked`,`data-key`,`data-value`];function Fv(e,n){return n.type===`childList`?n.target===e:n.target.parentElement===e}function Iv(e,n,r){let i=e=>{let n=e;for(;n&&!r(n);)n=n.nextElementSibling;return n},a=i(e.firstElementChild);for(let r of n){if(r===a){a=i(a.nextElementSibling);continue}e.insertBefore(r,a)}}let U=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.sort=`none`,this.sortBy=``,this.items=[],this.displayProperty=``,this.iconProperty=``,this.iconColorProperty=``,this.textColorProperty=``,this.badgeProperty=``,this.keyProperty=``,this.itemWrap=`stop`,this.itemsDraggable=!1,this.groupBy=null,this.crossGroupSelection=!1,this._collapsedGroups=new Set,this.#e=new WeakMap,this.#t=new WeakMap,this.#n=fv,this.#r=!0,this.#i=!1,this.#p=new Set,this.#m=new Set,this.#h=!0,this.#g=!1,this.#_=!1,this.#v=0,this.#y=0,this.#w=new WeakSet,this.#T=[],this.#E=new Map,this.#D=[],this.#O=new Map,this.#k=new WeakMap,this.#A=0,this.#j=!1,this.#M=!1,this.#N=!1,this.#F=0,this.#I=new je(this),this.#L=new d_(this,{kind:`detail-list`,capture:()=>this.getViewState()}),this.selection=new gr({getOrderedItems:()=>this._getVisibleItems(),isSelectable:e=>this._isCheckable(e),getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:D,onIntent:e=>this._dispatchCancelable(`list-select-intent`,e)===!1,getGroupKey:e=>this.#E.get(e)??null,crossGroupSelection:()=>this.crossGroupSelection,getFallbackGroupKey:()=>{let e=this.tickled.tickledId;return e?this.#E.get(e)??null:null},onChange:(e,n)=>{this._syncItemStates(),this._dispatch(`list-select`,{selected:e,previous:n,selectedKeys:this.selection.selectedKeys,previousKeys:At(n)}),this.#L.notify()}}),this.tickled=new oe(this,{getItems:()=>{let e=this._getVisibleItems();return this.#l??=e.map(e=>({id:e,enabled:!e.hasAttribute(`not-checked`)})),this.#l},onTickle:e=>{e!==void 0&&this._dispatch(`list-tickle`,{item:e}),this.#L.isRestoring||(this.#R=void 0),this.tickled.inputMode===`keyboard`&&this.#L.notify()},onStateChange:()=>this._syncItemStates(),itemWrap:this.itemWrap,hoverDisabled:()=>this.#J.isDragging||this.#W.isDragging}),this.#B=!1,this.#V=0,this.#H=!1,this.#U=()=>{this.#H=!1},this.#W=new nr(this,{source:`detail-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this._getVisibleItems().length>0,resolveEventToKey:e=>{if(!(e instanceof Element))return;let n=e.closest?.(`li`);if(!(!n||!this.contains(n)))return D(n)},prepareSelection:e=>this.#G(e),getMetrics:()=>({}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatchCancelable(`list-native-drag-start`,e),onActiveChange:(e,n)=>{this.#B=e,this.toggleAttribute(`data-native-dragging`,e);for(let r of this.querySelectorAll(`li`))r.toggleAttribute(`data-drag-origin`,e&&n!==void 0&&D(r)===n);if(e){let e=this.selection.selected.size;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#B=!1,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`);for(let e of this.querySelectorAll(`li`))e.removeAttribute(`data-drag-origin`);this.#K()},syncLightDomDraggable:()=>this._syncNativeDraggable(),shouldStart:()=>!this.#H}),this.#J=new Wn(this,{getSurface:()=>this.renderRoot.querySelector(`.container`),isEnabled:()=>this.selection.canDragSelect()&&this._getVisibleItems().length>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#X(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#q=n;for(let n of this._getVisibleItems())n.toggleAttribute(`data-marquee`,e.has(n));this.requestUpdate()},onCommit:e=>{this.selection.applyDragSelection(e);for(let e of this._getVisibleItems())e.removeAttribute(`data-marquee`);this.#q=void 0,this.requestUpdate()},autoScroll:(e,n)=>{this._listEl&&(this._listEl.scrollLeft+=e)},shouldStart:e=>!this.#ke(e.composedPath())&&(this.#H=this.itemsDraggable&&this.#Y(e),!this.itemsDraggable||this.#H)}),this.search=new Vt(this,{adapter:Nt(this,{itemSelector:Tv,getLabel:e=>e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`detail-list-search`})}),this.#et=new Set,this.#tt=new Set,this.#rt=()=>{this.#L.pendingScroll||this.#L.notify(),this.#y===0&&(this.#y=requestAnimationFrame(()=>{this.#y=0,this.#ot()}))},this._onPointerOver=e=>{let n=this._findListItem(e.composedPath());n&&this.tickled.handlePointerEnter(n)},this._onPointerLeave=e=>{this.tickled.handlePointerLeave(e)},this._endKeyboardNav=()=>{this.removeAttribute(`data-keyboard-nav`)},this._onKeyDown=e=>{if(!this.search.isOpen){if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}switch(Ov.has(e.key)&&!this.hasAttribute(`data-keyboard-nav`)&&this.setAttribute(`data-keyboard-nav`,``),e.key){case`ArrowDown`:if(e.preventDefault(),this.#Ve(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowUp`:if(e.preventDefault(),this.#He(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowRight`:e.preventDefault(),this.#We();break;case`ArrowLeft`:e.preventDefault(),this.#Ge();break;case`Home`:e.preventDefault(),this.#Le(this.#ze());break;case`End`:e.preventDefault(),this.#Le(this.#Be());break;case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this._dispatch(`list-item-click`,{item:n}),this._activateItem(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.selection.handleClear(`keyboard`)}}},this._onClick=e=>{if(this.#J.isDragging||this.#W.isDragging||this.#V!==0)return;let n=e.composedPath(),r=this.#ke(n);if(r){this.toggleGroup(r.dataset.groupKey??``);return}let i=this._findListItem(n);i&&(this.focus(),this._dispatch(`list-item-click`,{item:i}),this.selection.handleClick(i,mr(e)))},this._onDblClick=e=>{let n=this._findListItem(e.composedPath());n&&this._activateItem(n)},this._onWheel=e=>{e.preventDefault();let n=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;this._listEl.scrollLeft+=n}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G(e){let n=this._getVisibleItems(),r=n.find(n=>D(n)===e);if(!r||!this._isCheckable(r))return;this.selection.selected.has(r)||this.selection.replace(r);let i=[];n.forEach((n,r)=>{if(!this.selection.selected.has(n))return;let a=D(n)??e;i.push({key:a,index:r,item:this.#e.get(n)??n,element:n})});let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}_syncNativeDraggable(){if(this.isConnected&&!(!this.itemsDraggable&&!this.#_)){this.#_=this.itemsDraggable;for(let e of this.querySelectorAll(`li`))e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e))}}#K(){this.#V&&clearTimeout(this.#V),this.#V=window.setTimeout(()=>{this.#V=0},0)}#q;#J;#Y(e){let n=e.composedPath(),r=this._findListItem(n);if(!r)return!1;for(let e of n){if(e===r)break;if(e instanceof Element){if(e.matches(`input, button, a, select, textarea, [contenteditable], .ixfx-list-checkbox, [role="checkbox"]`))return!1;if(e.hasAttribute(`data-drag-select-blank`))return!0;if(e.hasAttribute(`data-drag-select-content`))return!1}}return!Array.from(r.childNodes).some(n=>Av(n,e.clientX,e.clientY))}#X(e){let n=this.renderRoot.querySelector(`.container`);if(!n)return[];let r=n.getBoundingClientRect(),i=e.x,a=e.y,o=e.x+e.width,s=e.y+e.height,c=[];for(let e of this._getVisibleItems()){let n=e.getBoundingClientRect(),l=n.left-r.left,u=n.top-r.top;l<=o&&l+n.width>=i&&u<=s&&u+n.height>=a&&c.push(e)}return c}#Z(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}#Q;#$;get registry(){return this.#Q}#ee(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#te(){this.#Q&&(this.search.setModes(this.#ee()),this.#$?.(),this.#$=zt(this.#Q,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`pointerover`,this._onPointerOver),this.addEventListener(`pointerleave`,this._onPointerLeave),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`pointermove`,this._endKeyboardNav),this.addEventListener(`pointerdown`,this._endKeyboardNav),this.addEventListener(`click`,this._onClick),this.addEventListener(`dblclick`,this._onDblClick),this.addEventListener(`wheel`,this._onWheel),window.addEventListener(`pointerup`,this.#U),window.addEventListener(`pointercancel`,this.#U),this.#S=new ResizeObserver(()=>this.#Ae()),this.#S.observe(this),this.#C=new MutationObserver(e=>{this.#$e(e),this.#se(e),this.#ne(e),this.#Ae(),this.#Se()}),this.#C.observe(this,{childList:!0,subtree:!1,attributeFilter:[`hidden`]});for(let e of this.querySelectorAll(Tv))this.#w.add(e);this.#a=new MutationObserver(e=>{e.some(e=>Fv(this,e))&&this.#Je()}),this.#a.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:Pv}),this.#Je(),this.#Q??=Yt(),this.#te(),this.#Se(),this.#L.observeScrollTarget(this)}#ne(e){if(!this.isConnected)return;let n=[];for(let r of e)for(let e of r.addedNodes)!(e instanceof HTMLElement)||e.parentElement!==this||e.localName!==`li`||this.#w.has(e)||(this.#w.add(e),n.push(e));if(n.length===0)return;let r=this.#Ke().length;if(!(n.length>=r)){for(let e of n)Qn(e);window.setTimeout(()=>this.#Ae(),230)}}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerover`,this._onPointerOver),this.removeEventListener(`pointerleave`,this._onPointerLeave),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`pointermove`,this._endKeyboardNav),this.removeEventListener(`pointerdown`,this._endKeyboardNav),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`dblclick`,this._onDblClick),this.removeEventListener(`wheel`,this._onWheel),window.removeEventListener(`pointerup`,this.#U),window.removeEventListener(`pointercancel`,this.#U),this.#H=!1,cancelAnimationFrame(this.#v),cancelAnimationFrame(this.#y),this.#y=0,this.#S?.disconnect(),this.#S=void 0,this.#C?.disconnect(),this.#C=void 0,this.#P?.disconnect(),this.#P=void 0,this.#a?.disconnect(),this.#a=void 0,this.#Je(),this.#$?.(),this.#$=void 0,this.#Q=void 0,this.#V&&=(clearTimeout(this.#V),0)}firstUpdated(){this.#Qe(),this.filterPredicate&&this.#ve(),this.#je(),this.#it(),this._syncNativeDraggable()}willUpdate(e){if(super.willUpdate(e),e.has(`groupBy`)&&this.hasUpdated){let e=bv(this._collapsedGroups,this.#ie());e!==this._collapsedGroups&&(this._collapsedGroups=e),this.#N=!0}}updated(e){if(super.updated(e),(e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`_collapsedGroups`))&&(this.#Se(),this.#N&&(this.#N=!1,this._dispatch(`list-group-change`,{groupBy:this.groupBy}))),e.has(`searchModes`)&&this.#te(),e.has(`provider`)){this.#T=[],this.#F=0,this.#I.provider=this.provider,queueMicrotask(()=>{this.provider&&this.#I.request(void 0)});return}let n=e.has(`displayProperty`)||e.has(`formatter`)||e.has(`searchText`)||e.has(`iconProperty`)||e.has(`iconColorProperty`)||e.has(`textColorProperty`)||e.has(`badgeProperty`)||e.has(`keyProperty`);(e.has(`items`)||n)&&this.provider===void 0&&this.items.length>0?this.#fe(this.items,!n):n&&this.provider!==void 0&&this.#T.length>0&&this.#fe(this.#T),this.#_e(),(e.has(`sort`)||e.has(`sortBy`)||e.has(`sortComparator`))&&this.#ye(),e.has(`filterPredicate`)&&(this.#ve(),this.#Ae(),this.#Se()),e.has(`interactionMode`)?(this.selection.clearAnchor(),this.#h=!0,this._syncItemStates(),this._syncNativeDraggable()):e.has(`checkboxRenderer`)&&this.interactionMode===`checked`&&this._syncCheckboxes(),e.has(`itemsDraggable`)&&(this._syncNativeDraggable(),this.#W.refreshDraggable())}get selectedItem(){return[...this.selection.selected].at(-1)}get selectedItems(){return this.selection.selected}refreshLayout(){this.#je(),this.#it()}reformat(){let e=this.provider===void 0?this.items:this.#T;e.length>0&&this.#fe(e)}addItem(e,n){let r;if(typeof e==`string`){let n=document.createElement(`li`);this._setLabel(n,e),r=n}else r=e;n?.notChecked&&r.setAttribute(`not-checked`,``),this.appendChild(r),this.#Xe(r),this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Se(),this.#oe([r])}removeItem(e){return this.selection.deselect(e),tr(e).then(()=>{e.remove(),this.#Se(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Ae()})}removeItems(e){return Promise.all([...e].map(e=>this.removeItem(e))).then(()=>void 0)}clearItems(){this.replaceChildren(),this.#O.clear(),this.#Se(),this.selection.reset(),this.#T=[],this.#F=0,this._syncItemStates()}setItems(e){this.clearItems();for(let n of e)this.appendChild(n),this.#Xe(n);this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Se(),this.#oe(e)}getItemData(e){return this.#e.get(e)}visibleKeys(){let e=this._listEl;if(!e)return[];let n=e.scrollLeft,r=n+e.getBoundingClientRect().width,i=[];for(let a of _v(this._getVisibleItems(),pv(e),n,r)){let e=D(a);e!==void 0&&i.push(e)}return i}dispatch(e,n){this.#Q?.invoke(e,n)}select(e){this.selection.replace(e)}selectMany(e){this.selection.selectMany(e)}deselect(e){this.selection.deselect(e)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}get selectedKeys(){return this.selection.selectedKeys}get tickledKey(){let e=this.tickled.tickledId;return e?D(e):void 0}selectKeys(e){this.selection.selectKeys(e,e=>this.#re(e))}addSelectedKeys(e){this.selection.addKeys(e,e=>this.#re(e))}removeSelectedKeys(e){this.selection.removeKeys(e,e=>this.#re(e))}focusKey(e){let n=this.#re(e);n&&(this.tickled.focus(n),n.scrollIntoView({block:`nearest`,inline:`nearest`}))}#re(e){if(!this.#d){let e=new Map;for(let n of this.#Ke()){let r=D(n);r!==void 0&&!e.has(r)&&e.set(r,n)}this.#d=e}return this.#d.get(e)}*selectedFilter(e){let n=n=>{switch(e){case`selected`:return n.hasAttribute(`data-selected`);case`checked`:return n.hasAttribute(`data-checked`);case`either`:return n.hasAttribute(`data-selected`)||n.hasAttribute(`data-checked`)}};for(let e of this.querySelectorAll(Tv))e.hidden||n(e)&&(yield e)}getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickledKey:void 0;return this.#L.shape({selected:fr(this.selection.selectedKeys,n?this.selection.pendingKeys:[]),expanded:vv(this._collapsedGroups,this.#ie(),n),focus:r??(n?this.#R:void 0),scroll:(n?this.#L.pendingScroll:void 0)??this.#ue()},e)}setViewState(e){if(!this.#L.accepts(e))return;let n=xv(this.#Ke()),r=e=>n.get(e);this.#L.restoring(()=>{e.expanded&&this.#ae(yv(e.expanded)),e.selected&&this.selection.restoreKeys(e.selected,r),e.focus!==void 0&&(this.#R=e.focus,this.#le(r)),e.scroll&&(this.#L.pendingScroll=e.scroll,this.#z=e.scroll.anchor?r(e.scroll.anchor.key):void 0,this.#Ae()),this.#L.notify()})}clearPendingViewState(){this.selection.clearPending(),this.#R=void 0,this.#L.pendingScroll=void 0,this.#z=void 0;let e=this.#ie();[...this._collapsedGroups].some(n=>!e.has(n))&&(this._collapsedGroups=new Set([...this._collapsedGroups].filter(n=>e.has(n))))}#ie(){return new Set(this.#D.map(e=>e.key))}#ae(e){let n=this._collapsedGroups;this._collapsedGroups=e;for(let{key:r}of this.#D)n.has(r)!==e.has(r)&&this._dispatch(`list-group-toggle`,{groupKey:r,collapsed:e.has(r)})}#oe(e){let n=this.#L.pendingScroll?.anchor?.key;if(this.selection.pendingKeys.size===0&&this.#R===void 0&&n===void 0)return;let r=xv(e);if(r.size===0)return;let i=e=>r.get(e);this.#L.restoring(()=>{this.selection.resolvePending(i),this.#le(i)}),n!==void 0&&r.has(n)&&(this.#z=r.get(n))}#se(e){let n=[],r=[],i=this.tickled.tickledId,a=!1;for(let o of e){for(let e of o.removedNodes)!(e instanceof Element)||e.parentElement===this||(this.selection.selected.has(e)&&n.push(e),e===i&&(a=!0));for(let e of o.addedNodes)e instanceof HTMLLIElement&&e.parentElement===this&&r.push(e)}if(n.length>0&&this.selection.demote(n)&&this._syncItemStates(),a&&i){let e=D(i);this.#L.restoring(()=>{e!==void 0&&this.tickled.inputMode===`keyboard`&&(this.#R??=e),this.tickled.setTickled(void 0)})}r.length>0&&this.#oe(r)}#ce(e){return e!==void 0&&e.parentElement===this&&this.#Te(e)&&!e.hasAttribute(Dv)}#le(e){let n=this.#R;if(n===void 0)return;let r=e(n);this.#ce(r)&&(this.#R=void 0,this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(r))}#ue(){return this._listEl?Sv(this._listEl,this._getVisibleItems()):void 0}#de(){let e=this._listEl;!e||!this.isConnected||!this.#L.pendingScroll||(this.#L.applyPendingScroll(n=>Cv(e,n,()=>this.#ce(this.#z)?this.#z:void 0)),this.#L.pendingScroll||(this.#z=void 0))}#fe(e,n=!1){let r=e=>e.getAttribute(`data-key`)??e.getAttribute(`data-search-label`)??null,i=[...this.selection.selected],a=new Set(i.map(r).filter(e=>e!==null)),o=this.selection.anchor?r(this.selection.anchor):null;if(n?this.#pe(e):this.replaceChildren(...e.map((e,n)=>this.#me(e,n))),i.length>0||o!==null){let e=[],n=new Set,s;for(let i of this.querySelectorAll(Tv)){let c=r(i);c!==null&&a.has(c)&&(e.push(i),n.add(c)),c!==null&&c===o&&(s=i)}this.selection.demote(i.filter(e=>{let i=r(e);return i===null||!n.has(i)})),this.selection.seed(e,s)}this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this.#Ae(),this.#Se(),this.#oe(this.#Ke())}#pe(e){let n=new Map;for(let e of this.#Ke())this.#e.has(e)&&!n.has(this.#e.get(e))&&n.set(this.#e.get(e),e);let r=e.map((e,r)=>{let i=n.get(e);return i&&(!this.formatter||this.#t.get(i)===r)?(n.delete(e),i):this.#me(e,r)}),i=new Set(r);for(let e of this.#Ke())i.has(e)||e.remove();if(this.#xe()){for(let e of r)this.#k.set(e,this.#A++);this.append(...r.filter(e=>e.parentElement!==this)),this.#Se();return}Iv(this,r,e=>e.localName===`li`)}#me(e,n){let r=document.createElement(`li`);this.#e.set(r,e),this.#t.set(r,n);let i=this.formatter?this.formatter(e,n):this.displayProperty?this.#he(e,this.displayProperty):e,a=this.#ge(e,this.textColorProperty),o=this.#ge(e,this.iconColorProperty);if(o!==void 0&&r.setAttribute(`data-icon-color`,o),typeof i==`string`){let n=this._setLabel(r,i);if(a!==void 0&&(n.style.color=a),this.iconProperty){let n=this.#he(e,this.iconProperty);typeof n==`string`&&n.length>0&&r.setAttribute(`data-icon`,n)}}else i instanceof Node&&(r.appendChild(i),a!==void 0&&(r.style.color=a));let s=this.searchText?.(e,n);if(s!==void 0&&r.setAttribute(`data-search-label`,s),this.keyProperty){let n=this.#he(e,this.keyProperty);n!=null&&r.setAttribute(`data-key`,String(n))}return this.#Xe(r),this.#Ze(r,this.#he(e,this.badgeProperty)),r}#he(e,n){if(!(typeof e!=`object`||!e||!(n in e)))return e[n]}#ge(e,n){return n?S_(this.#he(e,n)):void 0}#_e(){if(this.provider===void 0)return;let e=this.#I.items;if(e===this.#T)return;let n=0;for(;n<this.#T.length&&n<e.length&&this.#T[n]===e[n];)n++;if(n===this.#T.length&&n<=e.length){let r=e.slice(n).map(e=>this.#me(e,this.#F++));for(let e of r)this.appendChild(e);this.sort!==`none`&&(cancelAnimationFrame(this.#v),this.#v=requestAnimationFrame(()=>this.#ye())),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this.#Ae(),this.#Se(),this.#oe(r)}else this.#F=0,this.#fe(e);this.#T=e}#ve(){if(!this.filterPredicate){for(let e of this.querySelectorAll(Tv))e.removeAttribute(`hidden`);return}for(let e of this.querySelectorAll(Tv))this.filterPredicate(e)?e.removeAttribute(`hidden`):e.setAttribute(`hidden`,``)}#ye(){if(this.sort===`none`)return;let e=[...this.querySelectorAll(Tv)];if(!(e.length<2)){if(this.#xe()){this.#Se();return}Iv(this,this.#be(e),e=>e.localName===`li`),this.#Ae(),this.#Se()}}#be(e){let n=this.sort===`descending`?-1:1,r=e.map(e=>({element:e,data:this.getItemData(e),label:e.getAttribute(`data-search-label`)??e.textContent?.trim()??``})),i=new Intl.Collator(void 0,{numeric:!0}),a;if(this.sortComparator){let e=this.sortComparator;a=(n,i)=>e(r[n],r[i])}else if(this.sortBy){let e=this.sortBy,n=r.map(n=>{let r=this.#he(n.data,e);return typeof r==`number`?r:r==null?``:String(r)});a=(e,r)=>{let a=n[e],o=n[r];return typeof a==`number`&&typeof o==`number`?a-o:i.compare(String(a),String(o))}}else a=(e,n)=>i.compare(r[e].label,r[n].label);let o=e.map((e,n)=>n);return o.sort((e,r)=>a(e,r)*n||e-r),o.map(n=>e[n])}#xe(){return this.groupBy!==null&&this.groupBy!==void 0&&this.groupBy!==``}#Se(){this.#M||!this.#xe()&&!this.#j||(this.#M=!0,queueMicrotask(()=>{this.#M=!1,this.#De()}))}#Ce(e,n){return this.#he(this.getItemData(e),n)??e.getAttribute(`data-${n}`)}#we(e){let n=this.groupBy;return gn(typeof n==`string`?this.#Ce(e,n):n(this.getItemData(e),e))}#Te(e){return!e.hidden&&(!this.filterPredicate||this.filterPredicate(e))}#Ee(e){let n=this.#O.get(e);return n||(n=document.createElement(`ixfx-list-group-header`),n.setAttribute(Ev,``),n.dataset.groupKey=e,this.#O.set(e,n)),n}#De(){let e=this.#xe();if(!e&&!this.#j)return;let n=this.#Ke();for(let e of n)this.#k.has(e)||this.#k.set(e,this.#A++);let r=n.toSorted((e,n)=>this.#k.get(e)-this.#k.get(n));this.sort!==`none`&&r.length>1&&(r=this.#be(r));let i=[],a=[],o=new Map,s=new Set;if(e){let e=this.groupLabel,n=vn(r,e=>this.#we(e),e?(n,r)=>e(n,r.map(e=>this.getItemData(e)??e)):void 0);for(let e of n){let n=e.items.filter(e=>this.#Te(e)).length,r=n>0&&this._collapsedGroups.has(e.key);if(n>0){let o=this.#Ee(e.key);o.label=e.label,o.count=n,o.collapsed=r,s.add(e.key),i.push(o),a.push({key:e.key,label:e.label,count:n,collapsed:this._collapsedGroups.has(e.key)})}for(let n of e.items)o.set(n,e.key),n.toggleAttribute(Dv,r),i.push(n)}}else{for(let e of r)e.removeAttribute(Dv);i.push(...r)}for(let[e,n]of this.#O)s.has(e)||(n.remove(),this.#O.delete(e));this.#E=o,this.#D=a,this.#j=e,Iv(this,i,e=>e.localName===`li`||e.hasAttribute(Ev)),this.tickled.tickledId?.hasAttribute(Dv)&&this.tickled.focus(void 0),this.#Oe(e),this.#Ae()}#Oe(e){if(!e){this.#P?.disconnect(),this.#P=void 0;return}this.#P||!this.isConnected||(this.#P=new MutationObserver(()=>this.#Se()),this.#P.observe(this,{subtree:!0,attributes:!0,attributeFilter:[`hidden`]}))}get groups(){return this.#D}setGroupCollapsed(e,n){if(this._collapsedGroups.has(e)===n)return;let r=new Set(this._collapsedGroups);n?r.add(e):r.delete(e),this._collapsedGroups=r,this._dispatch(`list-group-toggle`,{groupKey:e,collapsed:n}),this.#L.notify()}toggleGroup(e){this.setGroupCollapsed(e,!this._collapsedGroups.has(e))}collapseAllGroups(){for(let e of this.#D)this.setGroupCollapsed(e.key,!0)}expandAllGroups(){for(let e of[...this._collapsedGroups])this.setGroupCollapsed(e,!1)}#ke(e){for(let n of e){if(n===this)break;if(n instanceof HTMLElement&&n.parentElement===this&&n.hasAttribute(Ev))return n}}#Ae(){this.#r=!0,!this.#i&&(this.#i=!0,requestAnimationFrame(()=>{this.#i=!1,this.#de(),this.#ot()}))}#je(){this.#r=!1,this.#n=this.isConnected&&this._listEl?mv(this._getVisibleItems(),pv(this._listEl)):fv}#Me(){let e=this._getVisibleItems();if(this.#r||!this._listEl)return this.#je(),this.#n;let n=this.tickled.tickledId,r=[e[0],n&&this.#n.positions.has(n)?n:void 0,e.at(-1)];return hv(this.#n,r,pv(this._listEl))||this.#je(),this.#n}#Ne(e){let n=this.#n.positions.get(e);return n===void 0&&(this.#je(),n=this.#n.positions.get(e)),n}#Pe(e){return this.#n.columns[e]?.items}#Fe(e,n){return this.#Pe(e)?.[n]}#Ie(){let{columns:e}=this.#Me();return{cols:e.length,rows:Math.max(0,...e.map(e=>e.items.length))}}#Le(e){e&&(this.tickled.handleKeyboardNavigation(e),this.tickled.tickledId?.scrollIntoView({block:`nearest`,inline:`nearest`}))}#Re(e,n,r,i){let{cols:a}=this.#Ie(),o=this._getVisibleItems().length+1,s=r===0?e:e+r,c=i===0?n:n+i,l=!1;for(let u=0;u<o;u++){let o=this.#Pe(s)?.length??0;if(c<0||c>=o){if(r!==0||l){if(this.itemWrap===`wrap`)r<0?s=a-1:r>0&&(s=0),l=!0;else return}if(i>0){if(s+1<a)s+=1,c=0,l=!0;else if(this.itemWrap===`wrap`)s=0,c=0,l=!0;else return}else if(i<0){if(s-1>=0)--s,c=(this.#Pe(s)?.length??1)-1,l=!0;else if(this.itemWrap===`wrap`)s=a-1,c=(this.#Pe(s)?.length??1)-1,l=!0;else return}else if(r!==0){let e=this.#Pe(s)?.length??0;c>=e&&e>0&&(c=e-1)}if(s===e&&c===n+i)return;continue}let u=this.#Fe(s,c);if(u&&this._isCheckable(u))return u;c+=i}}#ze(){return this._getVisibleItems().find(e=>this._isCheckable(e))}#Be(){let e=this._getVisibleItems();for(let n=e.length-1;n>=0;n--)if(this._isCheckable(e[n]))return e[n]}#Ve(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Re(e.col,e.row,0,1);n&&this.#Le(n)}#He(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#Be());return}let n=this.#Re(e.col,e.row,0,-1);n&&this.#Le(n)}#Ue(e,n){if(this.#D.length===0)return this.#Re(e.col,e.row,n,0);let r=this.#Pe(e.col+n),i=this.tickled.tickledId,a=i?this.#n.tops.get(i):void 0;if(!r||a===void 0)return;let o,s=1/0;for(let e of r){if(!this._isCheckable(e))continue;let n=Math.abs((this.#n.tops.get(e)??1/0)-a);n<s&&(o=e,s=n)}return o}#We(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Ue(e,1);n?this.#Le(n):this.itemWrap===`wrap`&&this.#Le(this.#ze())}#Ge(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Ue(e,-1);n?this.#Le(n):this.itemWrap===`wrap`&&this.#Le(this.#Be())}_getVisibleItems(){return this.#qe(),this.#c!==this.filterPredicate&&(this.#Ye(),this.#c=this.filterPredicate),this.#s??=this.#Ke().filter(e=>!(e.hidden||e.hasAttribute(Dv)||this.filterPredicate&&!this.filterPredicate(e))),this.#s}#Ke(){return this.#qe(),this.#o??=[...this.querySelectorAll(Tv)],this.#o}#qe(){if(!this.#a){this.#Je();return}this.#a.takeRecords().some(e=>Fv(this,e))&&this.#Je()}#Je(){this.#o=void 0,this.#d=void 0,this.#h=!0,this.#Ye()}#Ye(){this.#s=void 0,this.#l=void 0,this.#u=void 0,this.#r=!0}async fitColumnWidth(){await this.updateComplete;let e=this._getVisibleItems();if(e.length===0)return 0;let n=this.style.getPropertyValue(`--detail-list-column-width`),r=this.style.getPropertyPriority(`--detail-list-column-width`);this.style.setProperty(`--detail-list-column-width`,`max-content`);let i=Math.ceil(Math.max(...e.map(e=>e.getBoundingClientRect().width)));return n?this.style.setProperty(`--detail-list-column-width`,n,r):this.style.removeProperty(`--detail-list-column-width`),this.style.setProperty(`--detail-list-column-width`,`${i}px`),this.#Ae(),i}_isCheckable(e){return this.interactionMode!==`checked`||!e.hasAttribute(`not-checked`)}_setLabel(e,n){let r=document.createElement(`span`);return r.style.cssText=`overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0`,r.textContent=n,e.appendChild(r),e.setAttribute(`data-search-label`,n),r}#Xe(e){let n=e.getAttribute(`data-icon`);if(!n||e.firstElementChild?.tagName===`IXFX-ICON`)return;let r=document.createElement(`ixfx-icon`);r.setAttribute(`name`,n),r.style.marginInlineEnd=`var(--detail-list-icon-gap, 6px)`,r.style.flexShrink=`0`;let i=e.getAttribute(`data-icon-color`);i&&(r.style.color=i),e.prepend(r)}#Ze(e,n){if(x_(n))return;let r=e.querySelector(`:scope > .item-badge`);r||(r=document.createElement(`span`),r.className=`item-badge`,r.style.cssText=`flex-shrink:0;display:inline-flex;align-items:center;margin-inline-start:auto;padding-inline-start:var(--detail-list-badge-gap,8px)`,e.appendChild(r)),r.replaceChildren(),n instanceof Node?r.appendChild(n):o(n,r)}#Qe(){for(let e of this.#Ke())this.#Xe(e)}#$e(e){for(let n of e)for(let e of n.addedNodes)e instanceof HTMLLIElement&&e.parentElement===this&&this.#Xe(e)}_syncItemStates(){let e=this.selection.selected,n=this.interactionMode===`checked`?new Set([...e].filter(e=>!e.hasAttribute(`not-checked`))):new Set,r=this.tickled.tickledId,i=this.#h||!Mv(this.#p,e)||!Mv(this.#m,n);if(this.#h){for(let i of this.#Ke())i.toggleAttribute(`data-tickled`,i===r),i.toggleAttribute(`data-selected`,e.has(i)),i.toggleAttribute(`data-checked`,n.has(i));this.#h=!1}else r!==this.#f&&(this.#f?.removeAttribute(`data-tickled`),r?.setAttribute(`data-tickled`,``)),Nv(this.#p,e,`data-selected`),Nv(this.#m,n,`data-checked`);this.#f=r,this.#p=new Set(e),this.#m=n,this.dataset.inputMode!==this.tickled.inputMode&&(this.dataset.inputMode=this.tickled.inputMode),i&&(this.#nt(),this._syncCheckboxes())}#et;#tt;get partialKeys(){return this.#et}set partialKeys(e){let n=new Set(e);yr(n,this.#et)||(this.#et=n,this.#h=!0,this._syncItemStates())}#nt(){let e=this.selection.selected,n=new Set;for(let r of this.#et){let i=this.#re(r);i&&vr(r,this.#et,e.has(i))&&n.add(i)}for(let e of this.#tt)n.has(e)||br(e,!1);for(let e of n)this.#tt.has(e)||br(e,!0);this.#tt=n}_syncCheckboxes(){let e=this.interactionMode===`checked`,n=typeof this.checkboxRenderer==`function`;if(!(!e&&!this.#g)){this.#g=e;for(let r of this.querySelectorAll(`li`)){let i=r.querySelector(`.ixfx-list-checkbox`);if(!e){i&&i.remove();continue}if(r.hasAttribute(`not-checked`)){i&&i.remove();continue}let a=i?.classList.contains(`ixfx-list-checkbox-custom`)??!1;i&&a!==n&&i.remove();let s=r.querySelector(`.ixfx-list-checkbox`);if(!s){if(n){let e=this.checkboxRenderer,n=e.margin??`0`,i=e.width??`24px`;s=this._createCustomCheckbox(r,n,i)}else s=this._createNativeCheckboxCell(r);r.prepend(s)}let c=this.selection.selected.has(r),l=vr(D(r),this.#et,c);if(n){if(s.setAttribute(`aria-checked`,l?`mixed`:String(c)),s.toggleAttribute(`data-checked`,c),s.toggleAttribute(`data-partial`,l),this.checkboxRenderer){let e=typeof this.checkboxRenderer==`function`?this.checkboxRenderer:this.checkboxRenderer.renderer;o(e(c),s)}}else{let e=s.querySelector(`input.ixfx-list-checkbox`);e&&(e.checked=c,e.indeterminate=l),s.setAttribute(`aria-checked`,l?`mixed`:String(c))}}}}_createNativeCheckboxCell(e){let n=document.createElement(`span`);n.className=`ixfx-list-checkbox ixfx-list-checkbox-native`,n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:18px;margin:0 6px 0 0;cursor:pointer;pointer-events:auto`,n.tabIndex=-1,n.setAttribute(`role`,`checkbox`),n.setAttribute(`part`,`checkbox`),n.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)});let r=document.createElement(`input`);return r.type=`checkbox`,r.className=`ixfx-list-checkbox`,r.style.cssText=`pointer-events:none;cursor:pointer;margin:0`,n.appendChild(r),n}_createCustomCheckbox(e,n,r){let i=document.createElement(`span`);return i.className=`ixfx-list-checkbox ixfx-list-checkbox-custom`,i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:${r};margin:${n};cursor:pointer;pointer-events:auto`,i.tabIndex=-1,i.setAttribute(`role`,`checkbox`),i.setAttribute(`part`,`checkbox`),i.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)}),i}_findListItem(e){for(let n of e)if(n instanceof Element){if(n===this)break;if(n.parentElement===this&&n.matches(`li`))return n}}_dispatch(e,n){this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0}))}_dispatchCancelable(e,n){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}#rt;#it(){this.#y===0&&(this.#y=requestAnimationFrame(()=>{this.#y=0,this.#ot()}))}#at(){let e=this._getVisibleItems();return this.#u??=e.flatMap(e=>{let n=D(e);return n===void 0?[]:[n]}),this.#u}#ot(){let e=this.#at(),n=this.visibleKeys();jv(this.#b,e)&&jv(this.#x,n)||(this.#b=e,this.#x=n,this._dispatch(`detail-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}_activateItem(e,n=`pointer`){this.selection.handleReplace(e,n),this._dispatch(`list-activate`,{item:e})}static{this.styles=[w,wr(`x`),Ht,r`
|
|
5673
|
+
`}};E([d({type:String,reflect:!0})],Tv.prototype,`label`,void 0),E([d({type:Number,reflect:!0})],Tv.prototype,`count`,void 0),E([d({type:Boolean,reflect:!0})],Tv.prototype,`collapsed`,void 0),E([d({type:String,reflect:!0})],Tv.prototype,`orientation`,void 0),Tv=E([T(`ixfx-list-group-header`)],Tv);const Ev=`:scope > li`,Dv=`data-ixfx-group-header`,Ov=`data-group-collapsed`,kv=new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`]);function Av(e,n,r){return r.width>0&&r.height>0&&e>=r.left&&e<r.right&&n>=r.top&&n<r.bottom}function jv(e,n,r){if(e instanceof Text){if(!e.textContent?.trim())return!1;let i=document.createRange();return i.selectNodeContents(e),Array.from(i.getClientRects()).some(e=>Av(n,r,e))}return!(e instanceof Element)||e.hasAttribute(`data-drag-select-blank`)?!1:e.hasAttribute(`data-drag-select-content`)?Av(n,r,e.getBoundingClientRect()):Array.from(e.childNodes).some(e=>jv(e,n,r))?!0:e.childNodes.length===0&&Av(n,r,e.getBoundingClientRect())}function Mv(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}function Nv(e,n){if(e.size!==n.size)return!1;for(let r of e)if(!n.has(r))return!1;return!0}function Pv(e,n,r){for(let i of e)n.has(i)||i.removeAttribute(r);for(let i of n)e.has(i)||i.setAttribute(r,``)}const Fv=[`hidden`,Ov,`not-checked`,`data-key`,`data-value`];function Iv(e,n){return n.type===`childList`?n.target===e:n.target.parentElement===e}function Lv(e,n,r){let i=e=>{let n=e;for(;n&&!r(n);)n=n.nextElementSibling;return n},a=i(e.firstElementChild);for(let r of n){if(r===a){a=i(a.nextElementSibling);continue}e.insertBefore(r,a)}}let H=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.sort=`none`,this.sortBy=``,this.items=[],this.displayProperty=``,this.iconProperty=``,this.iconColorProperty=``,this.textColorProperty=``,this.badgeProperty=``,this.keyProperty=``,this.itemWrap=`stop`,this.itemsDraggable=!1,this.groupBy=null,this.crossGroupSelection=!1,this._collapsedGroups=new Set,this.#e=new WeakMap,this.#t=new WeakMap,this.#n=pv,this.#r=!0,this.#i=!1,this.#p=new Set,this.#m=new Set,this.#h=!0,this.#g=!1,this.#_=!1,this.#v=0,this.#y=0,this.#w=new WeakSet,this.#T=[],this.#E=new Map,this.#D=[],this.#O=new Map,this.#k=new WeakMap,this.#A=0,this.#j=!1,this.#M=!1,this.#N=!1,this.#F=0,this.#I=new je(this),this.#L=new f_(this,{kind:`detail-list`,capture:()=>this.getViewState()}),this.selection=new gr({getOrderedItems:()=>this._getVisibleItems(),isSelectable:e=>this._isCheckable(e),getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:D,onIntent:e=>this._dispatchCancelable(`list-select-intent`,e)===!1,getGroupKey:e=>this.#E.get(e)??null,crossGroupSelection:()=>this.crossGroupSelection,getFallbackGroupKey:()=>{let e=this.tickled.tickledId;return e?this.#E.get(e)??null:null},onChange:(e,n)=>{this._syncItemStates(),this._dispatch(`list-select`,{selected:e,previous:n,selectedKeys:this.selection.selectedKeys,previousKeys:At(n)}),this.#L.notify()}}),this.tickled=new oe(this,{getItems:()=>{let e=this._getVisibleItems();return this.#l??=e.map(e=>({id:e,enabled:!e.hasAttribute(`not-checked`)})),this.#l},onTickle:e=>{e!==void 0&&this._dispatch(`list-tickle`,{item:e}),this.#L.isRestoring||(this.#R=void 0),this.tickled.inputMode===`keyboard`&&this.#L.notify()},onStateChange:()=>this._syncItemStates(),itemWrap:this.itemWrap,hoverDisabled:()=>this.#J.isDragging||this.#W.isDragging}),this.#B=!1,this.#V=0,this.#H=!1,this.#U=()=>{this.#H=!1},this.#W=new nr(this,{source:`detail-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this._getVisibleItems().length>0,resolveEventToKey:e=>{if(!(e instanceof Element))return;let n=e.closest?.(`li`);if(!(!n||!this.contains(n)))return D(n)},prepareSelection:e=>this.#G(e),getMetrics:()=>({}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatchCancelable(`list-native-drag-start`,e),onActiveChange:(e,n)=>{this.#B=e,this.toggleAttribute(`data-native-dragging`,e);for(let r of this.querySelectorAll(`li`))r.toggleAttribute(`data-drag-origin`,e&&n!==void 0&&D(r)===n);if(e){let e=this.selection.selected.size;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#B=!1,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`);for(let e of this.querySelectorAll(`li`))e.removeAttribute(`data-drag-origin`);this.#K()},syncLightDomDraggable:()=>this._syncNativeDraggable(),shouldStart:()=>!this.#H}),this.#J=new Wn(this,{getSurface:()=>this.renderRoot.querySelector(`.container`),isEnabled:()=>this.selection.canDragSelect()&&this._getVisibleItems().length>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#X(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#q=n;for(let n of this._getVisibleItems())n.toggleAttribute(`data-marquee`,e.has(n));this.requestUpdate()},onCommit:e=>{this.selection.applyDragSelection(e);for(let e of this._getVisibleItems())e.removeAttribute(`data-marquee`);this.#q=void 0,this.requestUpdate()},autoScroll:(e,n)=>{this._listEl&&(this._listEl.scrollLeft+=e)},shouldStart:e=>!this.#ke(e.composedPath())&&(this.#H=this.itemsDraggable&&this.#Y(e),!this.itemsDraggable||this.#H)}),this.search=new Vt(this,{adapter:Nt(this,{itemSelector:Ev,getLabel:e=>e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`detail-list-search`})}),this.#et=new Set,this.#tt=new Set,this.#rt=()=>{this.#L.pendingScroll||this.#L.notify(),this.#y===0&&(this.#y=requestAnimationFrame(()=>{this.#y=0,this.#ot()}))},this._onPointerOver=e=>{let n=this._findListItem(e.composedPath());n&&this.tickled.handlePointerEnter(n)},this._onPointerLeave=e=>{this.tickled.handlePointerLeave(e)},this._endKeyboardNav=()=>{this.removeAttribute(`data-keyboard-nav`)},this._onKeyDown=e=>{if(!this.search.isOpen){if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}switch(kv.has(e.key)&&!this.hasAttribute(`data-keyboard-nav`)&&this.setAttribute(`data-keyboard-nav`,``),e.key){case`ArrowDown`:if(e.preventDefault(),this.#Ve(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowUp`:if(e.preventDefault(),this.#He(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowRight`:e.preventDefault(),this.#We();break;case`ArrowLeft`:e.preventDefault(),this.#Ge();break;case`Home`:e.preventDefault(),this.#Le(this.#ze());break;case`End`:e.preventDefault(),this.#Le(this.#Be());break;case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this._dispatch(`list-item-click`,{item:n}),this._activateItem(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.selection.handleClear(`keyboard`)}}},this._onClick=e=>{if(this.#J.isDragging||this.#W.isDragging||this.#V!==0)return;let n=e.composedPath(),r=this.#ke(n);if(r){this.toggleGroup(r.dataset.groupKey??``);return}let i=this._findListItem(n);i&&(this.focus(),this._dispatch(`list-item-click`,{item:i}),this.selection.handleClick(i,mr(e)))},this._onDblClick=e=>{let n=this._findListItem(e.composedPath());n&&this._activateItem(n)},this._onWheel=e=>{e.preventDefault();let n=Math.abs(e.deltaX)>Math.abs(e.deltaY)?e.deltaX:e.deltaY;this._listEl.scrollLeft+=n}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;#z;#B;#V;#H;#U;#W;#G(e){let n=this._getVisibleItems(),r=n.find(n=>D(n)===e);if(!r||!this._isCheckable(r))return;this.selection.selected.has(r)||this.selection.replace(r);let i=[];n.forEach((n,r)=>{if(!this.selection.selected.has(n))return;let a=D(n)??e;i.push({key:a,index:r,item:this.#e.get(n)??n,element:n})});let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}_syncNativeDraggable(){if(this.isConnected&&!(!this.itemsDraggable&&!this.#_)){this.#_=this.itemsDraggable;for(let e of this.querySelectorAll(`li`))e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e))}}#K(){this.#V&&clearTimeout(this.#V),this.#V=window.setTimeout(()=>{this.#V=0},0)}#q;#J;#Y(e){let n=e.composedPath(),r=this._findListItem(n);if(!r)return!1;for(let e of n){if(e===r)break;if(e instanceof Element){if(e.matches(`input, button, a, select, textarea, [contenteditable], .ixfx-list-checkbox, [role="checkbox"]`))return!1;if(e.hasAttribute(`data-drag-select-blank`))return!0;if(e.hasAttribute(`data-drag-select-content`))return!1}}return!Array.from(r.childNodes).some(n=>jv(n,e.clientX,e.clientY))}#X(e){let n=this.renderRoot.querySelector(`.container`);if(!n)return[];let r=n.getBoundingClientRect(),i=e.x,a=e.y,o=e.x+e.width,s=e.y+e.height,c=[];for(let e of this._getVisibleItems()){let n=e.getBoundingClientRect(),l=n.left-r.left,u=n.top-r.top;l<=o&&l+n.width>=i&&u<=s&&u+n.height>=a&&c.push(e)}return c}#Z(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}#Q;#$;get registry(){return this.#Q}#ee(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#te(){this.#Q&&(this.search.setModes(this.#ee()),this.#$?.(),this.#$=zt(this.#Q,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`pointerover`,this._onPointerOver),this.addEventListener(`pointerleave`,this._onPointerLeave),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`pointermove`,this._endKeyboardNav),this.addEventListener(`pointerdown`,this._endKeyboardNav),this.addEventListener(`click`,this._onClick),this.addEventListener(`dblclick`,this._onDblClick),this.addEventListener(`wheel`,this._onWheel),window.addEventListener(`pointerup`,this.#U),window.addEventListener(`pointercancel`,this.#U),this.#S=new ResizeObserver(()=>this.#Ae()),this.#S.observe(this),this.#C=new MutationObserver(e=>{this.#$e(e),this.#se(e),this.#ne(e),this.#Ae(),this.#Se()}),this.#C.observe(this,{childList:!0,subtree:!1,attributeFilter:[`hidden`]});for(let e of this.querySelectorAll(Ev))this.#w.add(e);this.#a=new MutationObserver(e=>{e.some(e=>Iv(this,e))&&this.#Je()}),this.#a.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:Fv}),this.#Je(),this.#Q??=Yt(),this.#te(),this.#Se(),this.#L.observeScrollTarget(this)}#ne(e){if(!this.isConnected)return;let n=[];for(let r of e)for(let e of r.addedNodes)!(e instanceof HTMLElement)||e.parentElement!==this||e.localName!==`li`||this.#w.has(e)||(this.#w.add(e),n.push(e));if(n.length===0)return;let r=this.#Ke().length;if(!(n.length>=r)){for(let e of n)Qn(e);window.setTimeout(()=>this.#Ae(),230)}}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerover`,this._onPointerOver),this.removeEventListener(`pointerleave`,this._onPointerLeave),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`pointermove`,this._endKeyboardNav),this.removeEventListener(`pointerdown`,this._endKeyboardNav),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`dblclick`,this._onDblClick),this.removeEventListener(`wheel`,this._onWheel),window.removeEventListener(`pointerup`,this.#U),window.removeEventListener(`pointercancel`,this.#U),this.#H=!1,cancelAnimationFrame(this.#v),cancelAnimationFrame(this.#y),this.#y=0,this.#S?.disconnect(),this.#S=void 0,this.#C?.disconnect(),this.#C=void 0,this.#P?.disconnect(),this.#P=void 0,this.#a?.disconnect(),this.#a=void 0,this.#Je(),this.#$?.(),this.#$=void 0,this.#Q=void 0,this.#V&&=(clearTimeout(this.#V),0)}firstUpdated(){this.#Qe(),this.filterPredicate&&this.#ve(),this.#je(),this.#it(),this._syncNativeDraggable()}willUpdate(e){if(super.willUpdate(e),e.has(`groupBy`)&&this.hasUpdated){let e=xv(this._collapsedGroups,this.#ie());e!==this._collapsedGroups&&(this._collapsedGroups=e),this.#N=!0}}updated(e){if(super.updated(e),(e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`_collapsedGroups`))&&(this.#Se(),this.#N&&(this.#N=!1,this._dispatch(`list-group-change`,{groupBy:this.groupBy}))),e.has(`searchModes`)&&this.#te(),e.has(`provider`)){this.#T=[],this.#F=0,this.#I.provider=this.provider,queueMicrotask(()=>{this.provider&&this.#I.request(void 0)});return}let n=e.has(`displayProperty`)||e.has(`formatter`)||e.has(`searchText`)||e.has(`iconProperty`)||e.has(`iconColorProperty`)||e.has(`textColorProperty`)||e.has(`badgeProperty`)||e.has(`keyProperty`);(e.has(`items`)||n)&&this.provider===void 0&&this.items.length>0?this.#fe(this.items,!n):n&&this.provider!==void 0&&this.#T.length>0&&this.#fe(this.#T),this.#_e(),(e.has(`sort`)||e.has(`sortBy`)||e.has(`sortComparator`))&&this.#ye(),e.has(`filterPredicate`)&&(this.#ve(),this.#Ae(),this.#Se()),e.has(`interactionMode`)?(this.selection.clearAnchor(),this.#h=!0,this._syncItemStates(),this._syncNativeDraggable()):e.has(`checkboxRenderer`)&&this.interactionMode===`checked`&&this._syncCheckboxes(),e.has(`itemsDraggable`)&&(this._syncNativeDraggable(),this.#W.refreshDraggable())}get selectedItem(){return[...this.selection.selected].at(-1)}get selectedItems(){return this.selection.selected}refreshLayout(){this.#je(),this.#it()}reformat(){let e=this.provider===void 0?this.items:this.#T;e.length>0&&this.#fe(e)}addItem(e,n){let r;if(typeof e==`string`){let n=document.createElement(`li`);this._setLabel(n,e),r=n}else r=e;n?.notChecked&&r.setAttribute(`not-checked`,``),this.appendChild(r),this.#Xe(r),this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Se(),this.#oe([r])}removeItem(e){return this.selection.deselect(e),tr(e).then(()=>{e.remove(),this.#Se(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Ae()})}removeItems(e){return Promise.all([...e].map(e=>this.removeItem(e))).then(()=>void 0)}clearItems(){this.replaceChildren(),this.#O.clear(),this.#Se(),this.selection.reset(),this.#T=[],this.#F=0,this._syncItemStates()}setItems(e){this.clearItems();for(let n of e)this.appendChild(n),this.#Xe(n);this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#Se(),this.#oe(e)}getItemData(e){return this.#e.get(e)}visibleKeys(){let e=this._listEl;if(!e)return[];let n=e.scrollLeft,r=n+e.getBoundingClientRect().width,i=[];for(let a of vv(this._getVisibleItems(),mv(e),n,r)){let e=D(a);e!==void 0&&i.push(e)}return i}dispatch(e,n){this.#Q?.invoke(e,n)}select(e){this.selection.replace(e)}selectMany(e){this.selection.selectMany(e)}deselect(e){this.selection.deselect(e)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}get selectedKeys(){return this.selection.selectedKeys}get tickledKey(){let e=this.tickled.tickledId;return e?D(e):void 0}selectKeys(e){this.selection.selectKeys(e,e=>this.#re(e))}addSelectedKeys(e){this.selection.addKeys(e,e=>this.#re(e))}removeSelectedKeys(e){this.selection.removeKeys(e,e=>this.#re(e))}focusKey(e){let n=this.#re(e);n&&(this.tickled.focus(n),n.scrollIntoView({block:`nearest`,inline:`nearest`}))}#re(e){if(!this.#d){let e=new Map;for(let n of this.#Ke()){let r=D(n);r!==void 0&&!e.has(r)&&e.set(r,n)}this.#d=e}return this.#d.get(e)}*selectedFilter(e){let n=n=>{switch(e){case`selected`:return n.hasAttribute(`data-selected`);case`checked`:return n.hasAttribute(`data-checked`);case`either`:return n.hasAttribute(`data-selected`)||n.hasAttribute(`data-checked`)}};for(let e of this.querySelectorAll(Ev))e.hidden||n(e)&&(yield e)}getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickledKey:void 0;return this.#L.shape({selected:fr(this.selection.selectedKeys,n?this.selection.pendingKeys:[]),expanded:yv(this._collapsedGroups,this.#ie(),n),focus:r??(n?this.#R:void 0),scroll:(n?this.#L.pendingScroll:void 0)??this.#ue()},e)}setViewState(e){if(!this.#L.accepts(e))return;let n=Sv(this.#Ke()),r=e=>n.get(e);this.#L.restoring(()=>{e.expanded&&this.#ae(bv(e.expanded)),e.selected&&this.selection.restoreKeys(e.selected,r),e.focus!==void 0&&(this.#R=e.focus,this.#le(r)),e.scroll&&(this.#L.pendingScroll=e.scroll,this.#z=e.scroll.anchor?r(e.scroll.anchor.key):void 0,this.#Ae()),this.#L.notify()})}clearPendingViewState(){this.selection.clearPending(),this.#R=void 0,this.#L.pendingScroll=void 0,this.#z=void 0;let e=this.#ie();[...this._collapsedGroups].some(n=>!e.has(n))&&(this._collapsedGroups=new Set([...this._collapsedGroups].filter(n=>e.has(n))))}#ie(){return new Set(this.#D.map(e=>e.key))}#ae(e){let n=this._collapsedGroups;this._collapsedGroups=e;for(let{key:r}of this.#D)n.has(r)!==e.has(r)&&this._dispatch(`list-group-toggle`,{groupKey:r,collapsed:e.has(r)})}#oe(e){let n=this.#L.pendingScroll?.anchor?.key;if(this.selection.pendingKeys.size===0&&this.#R===void 0&&n===void 0)return;let r=Sv(e);if(r.size===0)return;let i=e=>r.get(e);this.#L.restoring(()=>{this.selection.resolvePending(i),this.#le(i)}),n!==void 0&&r.has(n)&&(this.#z=r.get(n))}#se(e){let n=[],r=[],i=this.tickled.tickledId,a=!1;for(let o of e){for(let e of o.removedNodes)!(e instanceof Element)||e.parentElement===this||(this.selection.selected.has(e)&&n.push(e),e===i&&(a=!0));for(let e of o.addedNodes)e instanceof HTMLLIElement&&e.parentElement===this&&r.push(e)}if(n.length>0&&this.selection.demote(n)&&this._syncItemStates(),a&&i){let e=D(i);this.#L.restoring(()=>{e!==void 0&&this.tickled.inputMode===`keyboard`&&(this.#R??=e),this.tickled.setTickled(void 0)})}r.length>0&&this.#oe(r)}#ce(e){return e!==void 0&&e.parentElement===this&&this.#Te(e)&&!e.hasAttribute(Ov)}#le(e){let n=this.#R;if(n===void 0)return;let r=e(n);this.#ce(r)&&(this.#R=void 0,this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(r))}#ue(){return this._listEl?Cv(this._listEl,this._getVisibleItems()):void 0}#de(){let e=this._listEl;!e||!this.isConnected||!this.#L.pendingScroll||(this.#L.applyPendingScroll(n=>wv(e,n,()=>this.#ce(this.#z)?this.#z:void 0)),this.#L.pendingScroll||(this.#z=void 0))}#fe(e,n=!1){let r=e=>e.getAttribute(`data-key`)??e.getAttribute(`data-search-label`)??null,i=[...this.selection.selected],a=new Set(i.map(r).filter(e=>e!==null)),o=this.selection.anchor?r(this.selection.anchor):null;if(n?this.#pe(e):this.replaceChildren(...e.map((e,n)=>this.#me(e,n))),i.length>0||o!==null){let e=[],n=new Set,s;for(let i of this.querySelectorAll(Ev)){let c=r(i);c!==null&&a.has(c)&&(e.push(i),n.add(c)),c!==null&&c===o&&(s=i)}this.selection.demote(i.filter(e=>{let i=r(e);return i===null||!n.has(i)})),this.selection.seed(e,s)}this.sort!==`none`&&this.#ye(),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this.#Ae(),this.#Se(),this.#oe(this.#Ke())}#pe(e){let n=new Map;for(let e of this.#Ke())this.#e.has(e)&&!n.has(this.#e.get(e))&&n.set(this.#e.get(e),e);let r=e.map((e,r)=>{let i=n.get(e);return i&&(!this.formatter||this.#t.get(i)===r)?(n.delete(e),i):this.#me(e,r)}),i=new Set(r);for(let e of this.#Ke())i.has(e)||e.remove();if(this.#xe()){for(let e of r)this.#k.set(e,this.#A++);this.append(...r.filter(e=>e.parentElement!==this)),this.#Se();return}Lv(this,r,e=>e.localName===`li`)}#me(e,n){let r=document.createElement(`li`);this.#e.set(r,e),this.#t.set(r,n);let i=this.formatter?this.formatter(e,n):this.displayProperty?this.#he(e,this.displayProperty):e,a=this.#ge(e,this.textColorProperty),o=this.#ge(e,this.iconColorProperty);if(o!==void 0&&r.setAttribute(`data-icon-color`,o),typeof i==`string`){let n=this._setLabel(r,i);if(a!==void 0&&(n.style.color=a),this.iconProperty){let n=this.#he(e,this.iconProperty);typeof n==`string`&&n.length>0&&r.setAttribute(`data-icon`,n)}}else i instanceof Node&&(r.appendChild(i),a!==void 0&&(r.style.color=a));let s=this.searchText?.(e,n);if(s!==void 0&&r.setAttribute(`data-search-label`,s),this.keyProperty){let n=this.#he(e,this.keyProperty);n!=null&&r.setAttribute(`data-key`,String(n))}return this.#Xe(r),this.#Ze(r,this.#he(e,this.badgeProperty)),r}#he(e,n){if(!(typeof e!=`object`||!e||!(n in e)))return e[n]}#ge(e,n){return n?C_(this.#he(e,n)):void 0}#_e(){if(this.provider===void 0)return;let e=this.#I.items;if(e===this.#T)return;let n=0;for(;n<this.#T.length&&n<e.length&&this.#T[n]===e[n];)n++;if(n===this.#T.length&&n<=e.length){let r=e.slice(n).map(e=>this.#me(e,this.#F++));for(let e of r)this.appendChild(e);this.sort!==`none`&&(cancelAnimationFrame(this.#v),this.#v=requestAnimationFrame(()=>this.#ye())),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this.#Ae(),this.#Se(),this.#oe(r)}else this.#F=0,this.#fe(e);this.#T=e}#ve(){if(!this.filterPredicate){for(let e of this.querySelectorAll(Ev))e.removeAttribute(`hidden`);return}for(let e of this.querySelectorAll(Ev))this.filterPredicate(e)?e.removeAttribute(`hidden`):e.setAttribute(`hidden`,``)}#ye(){if(this.sort===`none`)return;let e=[...this.querySelectorAll(Ev)];if(!(e.length<2)){if(this.#xe()){this.#Se();return}Lv(this,this.#be(e),e=>e.localName===`li`),this.#Ae(),this.#Se()}}#be(e){let n=this.sort===`descending`?-1:1,r=e.map(e=>({element:e,data:this.getItemData(e),label:e.getAttribute(`data-search-label`)??e.textContent?.trim()??``})),i=new Intl.Collator(void 0,{numeric:!0}),a;if(this.sortComparator){let e=this.sortComparator;a=(n,i)=>e(r[n],r[i])}else if(this.sortBy){let e=this.sortBy,n=r.map(n=>{let r=this.#he(n.data,e);return typeof r==`number`?r:r==null?``:String(r)});a=(e,r)=>{let a=n[e],o=n[r];return typeof a==`number`&&typeof o==`number`?a-o:i.compare(String(a),String(o))}}else a=(e,n)=>i.compare(r[e].label,r[n].label);let o=e.map((e,n)=>n);return o.sort((e,r)=>a(e,r)*n||e-r),o.map(n=>e[n])}#xe(){return this.groupBy!==null&&this.groupBy!==void 0&&this.groupBy!==``}#Se(){this.#M||!this.#xe()&&!this.#j||(this.#M=!0,queueMicrotask(()=>{this.#M=!1,this.#De()}))}#Ce(e,n){return this.#he(this.getItemData(e),n)??e.getAttribute(`data-${n}`)}#we(e){let n=this.groupBy;return gn(typeof n==`string`?this.#Ce(e,n):n(this.getItemData(e),e))}#Te(e){return!e.hidden&&(!this.filterPredicate||this.filterPredicate(e))}#Ee(e){let n=this.#O.get(e);return n||(n=document.createElement(`ixfx-list-group-header`),n.setAttribute(Dv,``),n.dataset.groupKey=e,this.#O.set(e,n)),n}#De(){let e=this.#xe();if(!e&&!this.#j)return;let n=this.#Ke();for(let e of n)this.#k.has(e)||this.#k.set(e,this.#A++);let r=n.toSorted((e,n)=>this.#k.get(e)-this.#k.get(n));this.sort!==`none`&&r.length>1&&(r=this.#be(r));let i=[],a=[],o=new Map,s=new Set;if(e){let e=this.groupLabel,n=vn(r,e=>this.#we(e),e?(n,r)=>e(n,r.map(e=>this.getItemData(e)??e)):void 0);for(let e of n){let n=e.items.filter(e=>this.#Te(e)).length,r=n>0&&this._collapsedGroups.has(e.key);if(n>0){let o=this.#Ee(e.key);o.label=e.label,o.count=n,o.collapsed=r,s.add(e.key),i.push(o),a.push({key:e.key,label:e.label,count:n,collapsed:this._collapsedGroups.has(e.key)})}for(let n of e.items)o.set(n,e.key),n.toggleAttribute(Ov,r),i.push(n)}}else{for(let e of r)e.removeAttribute(Ov);i.push(...r)}for(let[e,n]of this.#O)s.has(e)||(n.remove(),this.#O.delete(e));this.#E=o,this.#D=a,this.#j=e,Lv(this,i,e=>e.localName===`li`||e.hasAttribute(Dv)),this.tickled.tickledId?.hasAttribute(Ov)&&this.tickled.focus(void 0),this.#Oe(e),this.#Ae()}#Oe(e){if(!e){this.#P?.disconnect(),this.#P=void 0;return}this.#P||!this.isConnected||(this.#P=new MutationObserver(()=>this.#Se()),this.#P.observe(this,{subtree:!0,attributes:!0,attributeFilter:[`hidden`]}))}get groups(){return this.#D}setGroupCollapsed(e,n){if(this._collapsedGroups.has(e)===n)return;let r=new Set(this._collapsedGroups);n?r.add(e):r.delete(e),this._collapsedGroups=r,this._dispatch(`list-group-toggle`,{groupKey:e,collapsed:n}),this.#L.notify()}toggleGroup(e){this.setGroupCollapsed(e,!this._collapsedGroups.has(e))}collapseAllGroups(){for(let e of this.#D)this.setGroupCollapsed(e.key,!0)}expandAllGroups(){for(let e of[...this._collapsedGroups])this.setGroupCollapsed(e,!1)}#ke(e){for(let n of e){if(n===this)break;if(n instanceof HTMLElement&&n.parentElement===this&&n.hasAttribute(Dv))return n}}#Ae(){this.#r=!0,!this.#i&&(this.#i=!0,requestAnimationFrame(()=>{this.#i=!1,this.#de(),this.#ot()}))}#je(){this.#r=!1,this.#n=this.isConnected&&this._listEl?hv(this._getVisibleItems(),mv(this._listEl)):pv}#Me(){let e=this._getVisibleItems();if(this.#r||!this._listEl)return this.#je(),this.#n;let n=this.tickled.tickledId,r=[e[0],n&&this.#n.positions.has(n)?n:void 0,e.at(-1)];return gv(this.#n,r,mv(this._listEl))||this.#je(),this.#n}#Ne(e){let n=this.#n.positions.get(e);return n===void 0&&(this.#je(),n=this.#n.positions.get(e)),n}#Pe(e){return this.#n.columns[e]?.items}#Fe(e,n){return this.#Pe(e)?.[n]}#Ie(){let{columns:e}=this.#Me();return{cols:e.length,rows:Math.max(0,...e.map(e=>e.items.length))}}#Le(e){e&&(this.tickled.handleKeyboardNavigation(e),this.tickled.tickledId?.scrollIntoView({block:`nearest`,inline:`nearest`}))}#Re(e,n,r,i){let{cols:a}=this.#Ie(),o=this._getVisibleItems().length+1,s=r===0?e:e+r,c=i===0?n:n+i,l=!1;for(let u=0;u<o;u++){let o=this.#Pe(s)?.length??0;if(c<0||c>=o){if(r!==0||l){if(this.itemWrap===`wrap`)r<0?s=a-1:r>0&&(s=0),l=!0;else return}if(i>0){if(s+1<a)s+=1,c=0,l=!0;else if(this.itemWrap===`wrap`)s=0,c=0,l=!0;else return}else if(i<0){if(s-1>=0)--s,c=(this.#Pe(s)?.length??1)-1,l=!0;else if(this.itemWrap===`wrap`)s=a-1,c=(this.#Pe(s)?.length??1)-1,l=!0;else return}else if(r!==0){let e=this.#Pe(s)?.length??0;c>=e&&e>0&&(c=e-1)}if(s===e&&c===n+i)return;continue}let u=this.#Fe(s,c);if(u&&this._isCheckable(u))return u;c+=i}}#ze(){return this._getVisibleItems().find(e=>this._isCheckable(e))}#Be(){let e=this._getVisibleItems();for(let n=e.length-1;n>=0;n--)if(this._isCheckable(e[n]))return e[n]}#Ve(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Re(e.col,e.row,0,1);n&&this.#Le(n)}#He(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#Be());return}let n=this.#Re(e.col,e.row,0,-1);n&&this.#Le(n)}#Ue(e,n){if(this.#D.length===0)return this.#Re(e.col,e.row,n,0);let r=this.#Pe(e.col+n),i=this.tickled.tickledId,a=i?this.#n.tops.get(i):void 0;if(!r||a===void 0)return;let o,s=1/0;for(let e of r){if(!this._isCheckable(e))continue;let n=Math.abs((this.#n.tops.get(e)??1/0)-a);n<s&&(o=e,s=n)}return o}#We(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Ue(e,1);n?this.#Le(n):this.itemWrap===`wrap`&&this.#Le(this.#ze())}#Ge(){this.#Me();let e=this.tickled.tickledId?this.#Ne(this.tickled.tickledId):void 0;if(!e){this.#Le(this.#ze());return}let n=this.#Ue(e,-1);n?this.#Le(n):this.itemWrap===`wrap`&&this.#Le(this.#Be())}_getVisibleItems(){return this.#qe(),this.#c!==this.filterPredicate&&(this.#Ye(),this.#c=this.filterPredicate),this.#s??=this.#Ke().filter(e=>!(e.hidden||e.hasAttribute(Ov)||this.filterPredicate&&!this.filterPredicate(e))),this.#s}#Ke(){return this.#qe(),this.#o??=[...this.querySelectorAll(Ev)],this.#o}#qe(){if(!this.#a){this.#Je();return}this.#a.takeRecords().some(e=>Iv(this,e))&&this.#Je()}#Je(){this.#o=void 0,this.#d=void 0,this.#h=!0,this.#Ye()}#Ye(){this.#s=void 0,this.#l=void 0,this.#u=void 0,this.#r=!0}async fitColumnWidth(){await this.updateComplete;let e=this._getVisibleItems();if(e.length===0)return 0;let n=this.style.getPropertyValue(`--detail-list-column-width`),r=this.style.getPropertyPriority(`--detail-list-column-width`);this.style.setProperty(`--detail-list-column-width`,`max-content`);let i=Math.ceil(Math.max(...e.map(e=>e.getBoundingClientRect().width)));return n?this.style.setProperty(`--detail-list-column-width`,n,r):this.style.removeProperty(`--detail-list-column-width`),this.style.setProperty(`--detail-list-column-width`,`${i}px`),this.#Ae(),i}_isCheckable(e){return this.interactionMode!==`checked`||!e.hasAttribute(`not-checked`)}_setLabel(e,n){let r=document.createElement(`span`);return r.style.cssText=`overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0`,r.textContent=n,e.appendChild(r),e.setAttribute(`data-search-label`,n),r}#Xe(e){let n=e.getAttribute(`data-icon`);if(!n||e.firstElementChild?.tagName===`IXFX-ICON`)return;let r=document.createElement(`ixfx-icon`);r.setAttribute(`name`,n),r.style.marginInlineEnd=`var(--detail-list-icon-gap, 6px)`,r.style.flexShrink=`0`;let i=e.getAttribute(`data-icon-color`);i&&(r.style.color=i),e.prepend(r)}#Ze(e,n){if(S_(n))return;let r=e.querySelector(`:scope > .item-badge`);r||(r=document.createElement(`span`),r.className=`item-badge`,r.style.cssText=`flex-shrink:0;display:inline-flex;align-items:center;margin-inline-start:auto;padding-inline-start:var(--detail-list-badge-gap,8px)`,e.appendChild(r)),r.replaceChildren(),n instanceof Node?r.appendChild(n):o(n,r)}#Qe(){for(let e of this.#Ke())this.#Xe(e)}#$e(e){for(let n of e)for(let e of n.addedNodes)e instanceof HTMLLIElement&&e.parentElement===this&&this.#Xe(e)}_syncItemStates(){let e=this.selection.selected,n=this.interactionMode===`checked`?new Set([...e].filter(e=>!e.hasAttribute(`not-checked`))):new Set,r=this.tickled.tickledId,i=this.#h||!Nv(this.#p,e)||!Nv(this.#m,n);if(this.#h){for(let i of this.#Ke())i.toggleAttribute(`data-tickled`,i===r),i.toggleAttribute(`data-selected`,e.has(i)),i.toggleAttribute(`data-checked`,n.has(i));this.#h=!1}else r!==this.#f&&(this.#f?.removeAttribute(`data-tickled`),r?.setAttribute(`data-tickled`,``)),Pv(this.#p,e,`data-selected`),Pv(this.#m,n,`data-checked`);this.#f=r,this.#p=new Set(e),this.#m=n,this.dataset.inputMode!==this.tickled.inputMode&&(this.dataset.inputMode=this.tickled.inputMode),i&&(this.#nt(),this._syncCheckboxes())}#et;#tt;get partialKeys(){return this.#et}set partialKeys(e){let n=new Set(e);yr(n,this.#et)||(this.#et=n,this.#h=!0,this._syncItemStates())}#nt(){let e=this.selection.selected,n=new Set;for(let r of this.#et){let i=this.#re(r);i&&vr(r,this.#et,e.has(i))&&n.add(i)}for(let e of this.#tt)n.has(e)||br(e,!1);for(let e of n)this.#tt.has(e)||br(e,!0);this.#tt=n}_syncCheckboxes(){let e=this.interactionMode===`checked`,n=typeof this.checkboxRenderer==`function`;if(!(!e&&!this.#g)){this.#g=e;for(let r of this.querySelectorAll(`li`)){let i=r.querySelector(`.ixfx-list-checkbox`);if(!e){i&&i.remove();continue}if(r.hasAttribute(`not-checked`)){i&&i.remove();continue}let a=i?.classList.contains(`ixfx-list-checkbox-custom`)??!1;i&&a!==n&&i.remove();let s=r.querySelector(`.ixfx-list-checkbox`);if(!s){if(n){let e=this.checkboxRenderer,n=e.margin??`0`,i=e.width??`24px`;s=this._createCustomCheckbox(r,n,i)}else s=this._createNativeCheckboxCell(r);r.prepend(s)}let c=this.selection.selected.has(r),l=vr(D(r),this.#et,c);if(n){if(s.setAttribute(`aria-checked`,l?`mixed`:String(c)),s.toggleAttribute(`data-checked`,c),s.toggleAttribute(`data-partial`,l),this.checkboxRenderer){let e=typeof this.checkboxRenderer==`function`?this.checkboxRenderer:this.checkboxRenderer.renderer;o(e(c),s)}}else{let e=s.querySelector(`input.ixfx-list-checkbox`);e&&(e.checked=c,e.indeterminate=l),s.setAttribute(`aria-checked`,l?`mixed`:String(c))}}}}_createNativeCheckboxCell(e){let n=document.createElement(`span`);n.className=`ixfx-list-checkbox ixfx-list-checkbox-native`,n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:18px;margin:0 6px 0 0;cursor:pointer;pointer-events:auto`,n.tabIndex=-1,n.setAttribute(`role`,`checkbox`),n.setAttribute(`part`,`checkbox`),n.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)});let r=document.createElement(`input`);return r.type=`checkbox`,r.className=`ixfx-list-checkbox`,r.style.cssText=`pointer-events:none;cursor:pointer;margin:0`,n.appendChild(r),n}_createCustomCheckbox(e,n,r){let i=document.createElement(`span`);return i.className=`ixfx-list-checkbox ixfx-list-checkbox-custom`,i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:${r};margin:${n};cursor:pointer;pointer-events:auto`,i.tabIndex=-1,i.setAttribute(`role`,`checkbox`),i.setAttribute(`part`,`checkbox`),i.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)}),i}_findListItem(e){for(let n of e)if(n instanceof Element){if(n===this)break;if(n.parentElement===this&&n.matches(`li`))return n}}_dispatch(e,n){this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0}))}_dispatchCancelable(e,n){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}#rt;#it(){this.#y===0&&(this.#y=requestAnimationFrame(()=>{this.#y=0,this.#ot()}))}#at(){let e=this._getVisibleItems();return this.#u??=e.flatMap(e=>{let n=D(e);return n===void 0?[]:[n]}),this.#u}#ot(){let e=this.#at(),n=this.visibleKeys();Mv(this.#b,e)&&Mv(this.#x,n)||(this.#b=e,this.#x=n,this._dispatch(`detail-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}_activateItem(e,n=`pointer`){this.selection.handleReplace(e,n),this._dispatch(`list-activate`,{item:e})}static{this.styles=[w,wr(`x`),Ht,r`
|
|
5674
5674
|
:host {
|
|
5675
5675
|
display: block;
|
|
5676
5676
|
position: relative;
|
|
@@ -5859,8 +5859,8 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5859
5859
|
</div>
|
|
5860
5860
|
${this.search.renderField()}
|
|
5861
5861
|
</div>
|
|
5862
|
-
`}};E([d({type:String,attribute:`selection-mode`})],U.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],U.prototype,`interactionMode`,void 0),E([d({type:String})],U.prototype,`sort`,void 0),E([d({type:String,attribute:`sort-by`})],U.prototype,`sortBy`,void 0),E([d({attribute:!1})],U.prototype,`sortComparator`,void 0),E([d({attribute:!1})],U.prototype,`items`,void 0),E([d({attribute:!1})],U.prototype,`provider`,void 0),E([d({type:String,attribute:`display-property`})],U.prototype,`displayProperty`,void 0),E([d({attribute:!1})],U.prototype,`formatter`,void 0),E([d({attribute:!1})],U.prototype,`searchText`,void 0),E([d({type:String,attribute:`icon-property`})],U.prototype,`iconProperty`,void 0),E([d({type:String,attribute:`icon-color-property`})],U.prototype,`iconColorProperty`,void 0),E([d({type:String,attribute:`text-color-property`})],U.prototype,`textColorProperty`,void 0),E([d({type:String,attribute:`badge-property`})],U.prototype,`badgeProperty`,void 0),E([d({type:String,attribute:`key-property`})],U.prototype,`keyProperty`,void 0),E([d({attribute:!1})],U.prototype,`filterPredicate`,void 0),E([d({type:String,attribute:`item-wrap`})],U.prototype,`itemWrap`,void 0),E([d({attribute:!1})],U.prototype,`checkboxRenderer`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],U.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],U.prototype,`itemsDraggable`,void 0),E([d({attribute:!1})],U.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],U.prototype,`dragPreviewSource`,void 0),E([d({attribute:`group-by`})],U.prototype,`groupBy`,void 0),E([d({attribute:!1})],U.prototype,`groupLabel`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],U.prototype,`crossGroupSelection`,void 0),E([m()],U.prototype,`_collapsedGroups`,void 0),E([f(`ul`)],U.prototype,`_listEl`,void 0),U=E([T(`ixfx-detail-list`)],U);let Lv=null;const Rv=new Set;function zv(e){Rv.add(e)}function Bv(e){Rv.delete(e),Lv!==null&&Lv.sourceHost}function Vv(e,n,r,i,a,o){Lv={panelId:e,kind:o,sourceHost:n,pointerId:r,ghost:Hv(n,e),outside:!1};for(let r of Rv)r.setDragActive(!0,qv(n,r)?{panelId:e,kind:o}:void 0);Lv.ghost?.move(i,a),window.addEventListener(`pointermove`,Uv),window.addEventListener(`pointerup`,Wv),window.addEventListener(`pointercancel`,Gv),window.addEventListener(`keydown`,Kv)}function Hv(e,n){let r=Array.from(e.children).find(e=>e instanceof HTMLElement&&e.panelId===n);if(!r)return null;let i=document.createElement(`span`);if(i.style.display=`inline-flex`,i.style.alignItems=`center`,i.style.gap=`var(--space-xs, 4px)`,i.style.minWidth=`0`,r.iconName){let e=document.createElement(`ixfx-icon`);e.name=r.iconName,i.appendChild(e)}let a=document.createElement(`span`);a.textContent=r.title||n,a.style.overflow=`hidden`,a.style.textOverflow=`ellipsis`,a.style.whiteSpace=`nowrap`,i.appendChild(a);try{return T_({anchor:r,content:i})}catch{return null}}function Uv(e){let n=Lv;if(n===null||e.pointerId!==n.pointerId)return;n.ghost?.move(e.clientX,e.clientY);let r=Jv(n,e.clientX,e.clientY);for(let e of Rv)e.setDropZone(r!==null&&r.host===e?r:null);let i=!Yv(e.clientX,e.clientY);i!==n.outside&&(n.outside=i,Xv(n,i?`dock-panel-drag-out`:`dock-panel-drag-in`,e))}function Wv(e){let n=Lv;if(n===null||e.pointerId!==n.pointerId)return;let r=Jv(n,e.clientX,e.clientY);r===null?Yv(e.clientX,e.clientY)||Zv(n,e):r.host.handleDrop(n.panelId,r,n.sourceHost),Qv()}function Gv(e){let n=Lv;n!==null&&e.pointerId===n.pointerId&&Qv()}function Kv(e){Lv!==null&&e.key===`Escape`&&Qv()}function qv(e,n){return e===n||!e.isolated&&e.family===n.family}function Jv(e,n,r){for(let i of Rv){if(!qv(e.sourceHost,i))continue;let a=i.computeDropZone(n,r,e.panelId,e.kind);if(a!==null)return a}return null}function Yv(e,n){for(let r of Rv){let i=r.getBoundingClientRect();if(e>=i.left&&e<=i.right&&n>=i.top&&n<=i.bottom)return!0}return!1}function Xv(e,n,r){e.sourceHost.dispatchEvent(new CustomEvent(n,{detail:{panelId:e.panelId,clientX:r.clientX,clientY:r.clientY,screenX:r.screenX,screenY:r.screenY},bubbles:!0,composed:!0}))}function Zv(e,n){let r=e.sourceHost.getPanelSnapshot(e.panelId);r!==null&&e.sourceHost.dispatchEvent(new CustomEvent(`dock-panel-tear-out`,{detail:{panelId:e.panelId,snapshot:r,clientX:n.clientX,clientY:n.clientY,screenX:n.screenX,screenY:n.screenY},bubbles:!0,composed:!0}))}function Qv(){let e=Lv;if(e!==null){for(let e of Rv)e.setDropZone(null),e.setDragActive(!1);e.ghost?.destroy(),Lv=null,window.removeEventListener(`pointermove`,Uv),window.removeEventListener(`pointerup`,Wv),window.removeEventListener(`pointercancel`,Gv),window.removeEventListener(`keydown`,Kv)}}function $v(){return Lv!==null}function ey(){return Lv?.panelId??null}function ty(e){return e.kind===`split`}function W(e){return e.kind===`stack`}function ny(){return{kind:`stack`,panels:[],active:``}}function ry(){return{version:1,root:ny()}}function iy(e,n,r){let i={kind:`stack`,panels:[...e],active:n??e[0]??``},a=r?.trim();return a&&(i.name=a),i}function ay(e,n,r){let i=n.length>0?1/n.length:1;return{kind:`split`,direction:e,children:[...n],sizes:r?[...r]:n.map(()=>i)}}function oy(e){if(W(e))return cy(e),e.panels.includes(e.active)||(e.active=e.panels[0]??``),e;for(let n=e.children.length-1;n>=0;n--){oy(e.children[n]);let r=e.children[n];if(W(r)&&r.panels.length===0&&!r.name){e.children.splice(n,1),e.sizes.splice(n,1);continue}ty(r)&&r.children.length===1&&(e.children.splice(n,1,r.children[0]),e.sizes.splice(n,1,r.sizes[0]??e.sizes[n]??1))}for(let n=e.children.length-1;n>=0;n--){let r=e.children[n];ty(r)&&r.direction===e.direction&&(e.children.splice(n,1,...r.children),e.sizes.splice(n,1,...r.sizes))}if(e.children.length===0)return sy(e,ny());if(e.children.length===1)return e.children[0];for(;e.sizes.length<e.children.length;)e.sizes.push(1/e.children.length);return e.sizes.length>e.children.length&&(e.sizes.length=e.children.length),e}function sy(e,n){if(W(n)){e.kind=`stack`;let r=e;r.panels=n.panels,r.active=n.active,n.name===void 0?delete r.name:r.name=n.name,n.hideLabels===void 0?delete r.hideLabels:r.hideLabels=n.hideLabels,n.hideSingleTabStrip===void 0?delete r.hideSingleTabStrip:r.hideSingleTabStrip=n.hideSingleTabStrip,delete r.collapsed,delete r.preCollapseSize,n.collapsed!==void 0&&(r.collapsed=n.collapsed),n.preCollapseSize!==void 0&&(r.preCollapseSize=n.preCollapseSize)}else{e.kind=`split`;let r=e;r.direction=n.direction,r.children=n.children,r.sizes=n.sizes;let i=r;delete i.panels,delete i.active,delete i.name,delete i.hideLabels,delete i.hideSingleTabStrip,delete i.collapsed,delete i.preCollapseSize}return e}function cy(e){if(e.name===void 0)return;let n=typeof e.name==`string`?e.name.trim():``;n?e.name=n:delete e.name}function G(e,n){let r=e;for(let e of n){if(!ty(r))return null;let n=r.children[e];if(!n)return null;r=n}return r}function ly(e,n){if(n.length===0)return null;let r=G(e,n.slice(0,-1));return r!==null&&ty(r)?r:null}function uy(e,n){return dy(e,n,[])}function dy(e,n,r){if(W(e))return e.panels.includes(n)?r:null;for(let i=0;i<e.children.length;i++){let a=dy(e.children[i],n,[...r,i]);if(a!==null)return a}return null}function fy(e){return W(e)?[...e.panels]:e.children.flatMap(fy)}function py(e,n){let r=n.trim();return r?my(e,r,[]):null}function my(e,n,r){if(W(e))return e.name===n?r:null;for(let i=0;i<e.children.length;i++){let a=my(e.children[i],n,[...r,i]);if(a!==null)return a}return null}function hy(e){let n=[],r=e=>{if(W(e)){e.name&&n.push(e.name);return}e.children.forEach(r)};return r(e),n}function gy(e){let n=[];return _y(e,[],n),n}function _y(e,n,r){if(W(e)){r.push(n);return}e.children.forEach((e,i)=>_y(e,[...n,i],r))}function vy(e,n,r){let i=r===void 0?e.panels.length:Math.max(0,Math.min(r,e.panels.length));e.panels.splice(i,0,n),e.active=n}function yy(e,n){let r=e.panels.indexOf(n);r<0||(e.panels.splice(r,1),e.active===n&&(e.active=e.panels[Math.min(r,e.panels.length-1)]??``))}function by(e,n){return!e.panels.includes(n)||e.active===n?!1:(e.active=n,!0)}function xy(e,n,r,i,a){let o=G(e,n);if(o===null)return null;if(n.length===0){if(ty(e)&&e.direction===r){let n=a===`before`?0:e.children.length,r=a===`before`?0:e.children.length-1,o=e.sizes[r];return e.children.splice(n,0,i),e.sizes.splice(n,0,o===void 0?1:o/2),o!==void 0&&(e.sizes[a===`before`?r+1:r]=o/2),[n]}return Sy(e,r,i,a),[a===`before`?0:1]}let s=ly(e,n);if(s===null)return null;let c=n[n.length-1];if(s.direction===r){let r=a===`before`?c:c+1,o=s.sizes[c]===void 0?1:s.sizes[c]/2;s.sizes[c]=o,s.children.splice(r,0,i),s.sizes.splice(r,0,o);let l=[...n.slice(0,-1),r];return oy(e),l}let l=ay(r,a===`before`?[i,o]:[o,i]);s.children[c]=l,oy(e);let u=a===`before`?0:1;return[...n.slice(0,-1),c,u]}function Sy(e,n,r,i){let a=Cy(e);return sy(e,ay(n,i===`before`?[r,a]:[a,r])),oy(e),!0}function Cy(e){return W(e)?{...e,panels:[...e.panels]}:{...e,children:[...e.children],sizes:[...e.sizes]}}function wy(e,n,r){let i=G(e,n);if(i===null||!W(i))return null;let a=n.length===0;if(r&&r!==i){for(let e of i.panels)vy(r,e);a||(i.panels=[],i.active=``)}if(a)return sy(e,ny()),i;let o=ly(e,n);if(o===null)return null;let s=n[n.length-1];return o.children.splice(s,1),o.sizes.splice(s,1),oy(e),i}const Ty=1e-9;function Ey(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function Dy(e,n){if(typeof n==`string`)return py(e,n);if(!Array.isArray(n))return null;let r=e;for(let e of n){if(!Number.isInteger(e)||e<0||!ty(r))return null;let n=r.children[e];if(!n)return null;r=n}return W(r)?[...n]:null}function Oy(e){let n=[],r=(e,i,a)=>{if(W(e)){n.push({path:i,name:e.name??null,rect:a});return}let o=e.sizes.reduce((e,n)=>e+n,0),s=o>0?o:e.children.length||1,c=0;e.children.forEach((n,o)=>{let l=(e.sizes[o]??s/e.children.length)/s;if(e.direction===`row`){let e=a.w*l;r(n,[...i,o],{x:a.x+c,y:a.y,w:e,h:a.h}),c+=e}else{let e=a.h*l;r(n,[...i,o],{x:a.x,y:a.y+c,w:a.w,h:e}),c+=e}})};return r(e,[],{x:0,y:0,w:1,h:1}),n}function ky(e,n,r,i){return Math.min(n,i)-Math.max(e,r)}function Ay(e,n){let r=Dy(e,n);if(r===null)return null;let i=Oy(e),a=i.find(e=>Ey(e.path,r));if(!a)return null;let o=a.rect,s=[],c=[],l=[],u=[];i.forEach((e,n)=>{if(e===a)return;let r=e.rect,i={name:e.name,path:[...e.path]};if(Math.abs(r.y+r.h-o.y)<Ty){let e=ky(r.x,r.x+r.w,o.x,o.x+o.w);e>Ty&&s.push({info:i,overlap:e,order:n})}if(Math.abs(o.y+o.h-r.y)<Ty){let e=ky(r.x,r.x+r.w,o.x,o.x+o.w);e>Ty&&c.push({info:i,overlap:e,order:n})}if(Math.abs(r.x+r.w-o.x)<Ty){let e=ky(r.y,r.y+r.h,o.y,o.y+o.h);e>Ty&&l.push({info:i,overlap:e,order:n})}if(Math.abs(o.x+o.w-r.x)<Ty){let e=ky(r.y,r.y+r.h,o.y,o.y+o.h);e>Ty&&u.push({info:i,overlap:e,order:n})}});let d=e=>e.sort((e,n)=>n.overlap-e.overlap||e.order-n.order).map(e=>e.info);return{above:d(s),below:d(c),left:d(l),right:d(u)}}function jy(e,n,r){if(Ey(n,r))return!1;let i=G(e,n),a=G(e,r);if(i===null||a===null||!W(i)||!W(a))return!1;let o=ly(e,n),s=ly(e,r);if(o===null||s===null)return!1;let c=n[n.length-1],l=r[r.length-1];if(o===s){let e=o;return[e.children[c],e.children[l]]=[e.children[l],e.children[c]],[e.sizes[c],e.sizes[l]]=[e.sizes[l]??1,e.sizes[c]??1],!0}let u=o.children[c],d=o.sizes[c]??1;return o.children[c]=s.children[l],o.sizes[c]=s.sizes[l]??1,s.children[l]=u,s.sizes[l]=d,!0}function My(e,n,r){let i=Dy(e,n);if(i===null)return!1;let a=Ay(e,n);if(a===null)return!1;let o=r===`up`?a.above:r===`down`?a.below:r===`left`?a.left:a.right;return o.length!==0&&jy(e,i,o[0].path)}function Ny(e,n,r){let i=Dy(e,n);if(i===null||i.length===0)return!1;let a=Oy(e).find(e=>Ey(e.path,i));if(!a)return!1;let o=r===`left`||r===`right`,s=Math.min(Math.max(o?a.rect.w:a.rect.h,.05),.95);if(!(s>0)||s>=1)return!1;let c=ly(e,i);if(c===null)return!1;let[l]=c.children.splice(i[i.length-1],1);if(c.sizes.splice(i[i.length-1],1),!l)return!1;oy(e);let u=r===`left`||r===`top`,d=o?`row`:`column`;if(W(e)){let n=e,r={kind:`stack`,panels:[...n.panels],active:n.active};return n.name!==void 0&&(r.name=n.name),n.hideLabels!==void 0&&(r.hideLabels=n.hideLabels),n.hideSingleTabStrip!==void 0&&(r.hideSingleTabStrip=n.hideSingleTabStrip),n.collapsed!==void 0&&(r.collapsed=n.collapsed),n.preCollapseSize!==void 0&&(r.preCollapseSize=n.preCollapseSize),sy(e,{kind:`split`,direction:d,children:u?[l,r]:[r,l],sizes:u?[s,1-s]:[1-s,s]}),!0}if(ty(e)&&e.direction===d){let n=s*(e.sizes.reduce((e,n)=>e+n,0)||e.children.length||1)/(1-s),r=u?0:e.children.length;return e.children.splice(r,0,l),e.sizes.splice(r,0,n),!0}if(ty(e)){let n={kind:`split`,direction:e.direction,children:e.children,sizes:e.sizes};return sy(e,{kind:`split`,direction:d,children:u?[l,n]:[n,l],sizes:u?[s,1-s]:[1-s,s]}),!0}return!1}function Py(e){return{version:1,root:Fy(e)}}function Fy(e){if(W(e)){let n={kind:`stack`,panels:[...e.panels],active:e.active};return e.name!==void 0&&(n.name=e.name),e.hideLabels!==void 0&&(n.hideLabels=e.hideLabels),e.hideSingleTabStrip!==void 0&&(n.hideSingleTabStrip=e.hideSingleTabStrip),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.preCollapseSize!==void 0&&(n.preCollapseSize=e.preCollapseSize),n}return{kind:`split`,direction:e.direction,sizes:[...e.sizes],children:e.children.map(Fy)}}function Iy(e){try{let n=JSON.parse(e);if(typeof n!=`object`||!n)return null;let r=n.root;return typeof r!=`object`||!r||!(`kind`in r)?null:{version:1,root:oy(r)}}catch{return null}}function Ly(e){let n=new Map,r=e=>{if(W(e)){e.panels.length>0&&n.set(e,{name:e.name,key:e.panels.join(`
|
|
5863
|
-
`)});return}e.children.forEach(r)};return r(e),n}function
|
|
5862
|
+
`}};E([d({type:String,attribute:`selection-mode`})],H.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],H.prototype,`interactionMode`,void 0),E([d({type:String})],H.prototype,`sort`,void 0),E([d({type:String,attribute:`sort-by`})],H.prototype,`sortBy`,void 0),E([d({attribute:!1})],H.prototype,`sortComparator`,void 0),E([d({attribute:!1})],H.prototype,`items`,void 0),E([d({attribute:!1})],H.prototype,`provider`,void 0),E([d({type:String,attribute:`display-property`})],H.prototype,`displayProperty`,void 0),E([d({attribute:!1})],H.prototype,`formatter`,void 0),E([d({attribute:!1})],H.prototype,`searchText`,void 0),E([d({type:String,attribute:`icon-property`})],H.prototype,`iconProperty`,void 0),E([d({type:String,attribute:`icon-color-property`})],H.prototype,`iconColorProperty`,void 0),E([d({type:String,attribute:`text-color-property`})],H.prototype,`textColorProperty`,void 0),E([d({type:String,attribute:`badge-property`})],H.prototype,`badgeProperty`,void 0),E([d({type:String,attribute:`key-property`})],H.prototype,`keyProperty`,void 0),E([d({attribute:!1})],H.prototype,`filterPredicate`,void 0),E([d({type:String,attribute:`item-wrap`})],H.prototype,`itemWrap`,void 0),E([d({attribute:!1})],H.prototype,`checkboxRenderer`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],H.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],H.prototype,`itemsDraggable`,void 0),E([d({attribute:!1})],H.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],H.prototype,`dragPreviewSource`,void 0),E([d({attribute:`group-by`})],H.prototype,`groupBy`,void 0),E([d({attribute:!1})],H.prototype,`groupLabel`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],H.prototype,`crossGroupSelection`,void 0),E([m()],H.prototype,`_collapsedGroups`,void 0),E([f(`ul`)],H.prototype,`_listEl`,void 0),H=E([T(`ixfx-detail-list`)],H);let Rv=null;const zv=new Set;function Bv(e){zv.add(e)}function Vv(e){zv.delete(e),Rv!==null&&Rv.sourceHost}function Hv(e,n,r,i,a,o){Rv={panelId:e,kind:o,sourceHost:n,pointerId:r,ghost:Uv(n,e),outside:!1};for(let r of zv)r.setDragActive(!0,Jv(n,r)?{panelId:e,kind:o}:void 0);Rv.ghost?.move(i,a),window.addEventListener(`pointermove`,Wv),window.addEventListener(`pointerup`,Gv),window.addEventListener(`pointercancel`,Kv),window.addEventListener(`keydown`,qv)}function Uv(e,n){let r=Array.from(e.children).find(e=>e instanceof HTMLElement&&e.panelId===n);if(!r)return null;let i=document.createElement(`span`);if(i.style.display=`inline-flex`,i.style.alignItems=`center`,i.style.gap=`var(--space-xs, 4px)`,i.style.minWidth=`0`,r.iconName){let e=document.createElement(`ixfx-icon`);e.name=r.iconName,i.appendChild(e)}let a=document.createElement(`span`);a.textContent=r.title||n,a.style.overflow=`hidden`,a.style.textOverflow=`ellipsis`,a.style.whiteSpace=`nowrap`,i.appendChild(a);try{return E_({anchor:r,content:i})}catch{return null}}function Wv(e){let n=Rv;if(n===null||e.pointerId!==n.pointerId)return;n.ghost?.move(e.clientX,e.clientY);let r=Yv(n,e.clientX,e.clientY);for(let e of zv)e.setDropZone(r!==null&&r.host===e?r:null);let i=!Xv(e.clientX,e.clientY);i!==n.outside&&(n.outside=i,Zv(n,i?`dock-panel-drag-out`:`dock-panel-drag-in`,e))}function Gv(e){let n=Rv;if(n===null||e.pointerId!==n.pointerId)return;let r=Yv(n,e.clientX,e.clientY);r===null?Xv(e.clientX,e.clientY)||Qv(n,e):r.host.handleDrop(n.panelId,r,n.sourceHost),$v()}function Kv(e){let n=Rv;n!==null&&e.pointerId===n.pointerId&&$v()}function qv(e){Rv!==null&&e.key===`Escape`&&$v()}function Jv(e,n){return e===n||!e.isolated&&e.family===n.family}function Yv(e,n,r){for(let i of zv){if(!Jv(e.sourceHost,i))continue;let a=i.computeDropZone(n,r,e.panelId,e.kind);if(a!==null)return a}return null}function Xv(e,n){for(let r of zv){let i=r.getBoundingClientRect();if(e>=i.left&&e<=i.right&&n>=i.top&&n<=i.bottom)return!0}return!1}function Zv(e,n,r){e.sourceHost.dispatchEvent(new CustomEvent(n,{detail:{panelId:e.panelId,clientX:r.clientX,clientY:r.clientY,screenX:r.screenX,screenY:r.screenY},bubbles:!0,composed:!0}))}function Qv(e,n){let r=e.sourceHost.getPanelSnapshot(e.panelId);r!==null&&e.sourceHost.dispatchEvent(new CustomEvent(`dock-panel-tear-out`,{detail:{panelId:e.panelId,snapshot:r,clientX:n.clientX,clientY:n.clientY,screenX:n.screenX,screenY:n.screenY},bubbles:!0,composed:!0}))}function $v(){let e=Rv;if(e!==null){for(let e of zv)e.setDropZone(null),e.setDragActive(!1);e.ghost?.destroy(),Rv=null,window.removeEventListener(`pointermove`,Wv),window.removeEventListener(`pointerup`,Gv),window.removeEventListener(`pointercancel`,Kv),window.removeEventListener(`keydown`,qv)}}function ey(){return Rv!==null}function ty(){return Rv?.panelId??null}function ny(e){return e.kind===`split`}function U(e){return e.kind===`stack`}function ry(){return{kind:`stack`,panels:[],active:``}}function iy(){return{version:1,root:ry()}}function ay(e,n,r){let i={kind:`stack`,panels:[...e],active:n??e[0]??``},a=r?.trim();return a&&(i.name=a),i}function oy(e,n,r){let i=n.length>0?1/n.length:1;return{kind:`split`,direction:e,children:[...n],sizes:r?[...r]:n.map(()=>i)}}function sy(e){if(U(e))return ly(e),e.panels.includes(e.active)||(e.active=e.panels[0]??``),e;for(let n=e.children.length-1;n>=0;n--){sy(e.children[n]);let r=e.children[n];if(U(r)&&r.panels.length===0&&!r.name){e.children.splice(n,1),e.sizes.splice(n,1);continue}ny(r)&&r.children.length===1&&(e.children.splice(n,1,r.children[0]),e.sizes.splice(n,1,r.sizes[0]??e.sizes[n]??1))}for(let n=e.children.length-1;n>=0;n--){let r=e.children[n];ny(r)&&r.direction===e.direction&&(e.children.splice(n,1,...r.children),e.sizes.splice(n,1,...r.sizes))}if(e.children.length===0)return cy(e,ry());if(e.children.length===1)return e.children[0];for(;e.sizes.length<e.children.length;)e.sizes.push(1/e.children.length);return e.sizes.length>e.children.length&&(e.sizes.length=e.children.length),e}function cy(e,n){if(U(n)){e.kind=`stack`;let r=e;r.panels=n.panels,r.active=n.active,n.name===void 0?delete r.name:r.name=n.name,n.hideLabels===void 0?delete r.hideLabels:r.hideLabels=n.hideLabels,n.hideSingleTabStrip===void 0?delete r.hideSingleTabStrip:r.hideSingleTabStrip=n.hideSingleTabStrip,delete r.collapsed,delete r.preCollapseSize,n.collapsed!==void 0&&(r.collapsed=n.collapsed),n.preCollapseSize!==void 0&&(r.preCollapseSize=n.preCollapseSize)}else{e.kind=`split`;let r=e;r.direction=n.direction,r.children=n.children,r.sizes=n.sizes;let i=r;delete i.panels,delete i.active,delete i.name,delete i.hideLabels,delete i.hideSingleTabStrip,delete i.collapsed,delete i.preCollapseSize}return e}function ly(e){if(e.name===void 0)return;let n=typeof e.name==`string`?e.name.trim():``;n?e.name=n:delete e.name}function W(e,n){let r=e;for(let e of n){if(!ny(r))return null;let n=r.children[e];if(!n)return null;r=n}return r}function uy(e,n){if(n.length===0)return null;let r=W(e,n.slice(0,-1));return r!==null&&ny(r)?r:null}function dy(e,n){return fy(e,n,[])}function fy(e,n,r){if(U(e))return e.panels.includes(n)?r:null;for(let i=0;i<e.children.length;i++){let a=fy(e.children[i],n,[...r,i]);if(a!==null)return a}return null}function py(e){return U(e)?[...e.panels]:e.children.flatMap(py)}function my(e,n){let r=n.trim();return r?hy(e,r,[]):null}function hy(e,n,r){if(U(e))return e.name===n?r:null;for(let i=0;i<e.children.length;i++){let a=hy(e.children[i],n,[...r,i]);if(a!==null)return a}return null}function gy(e){let n=[],r=e=>{if(U(e)){e.name&&n.push(e.name);return}e.children.forEach(r)};return r(e),n}function _y(e){let n=[];return vy(e,[],n),n}function vy(e,n,r){if(U(e)){r.push(n);return}e.children.forEach((e,i)=>vy(e,[...n,i],r))}function yy(e,n,r){let i=r===void 0?e.panels.length:Math.max(0,Math.min(r,e.panels.length));e.panels.splice(i,0,n),e.active=n}function by(e,n){let r=e.panels.indexOf(n);r<0||(e.panels.splice(r,1),e.active===n&&(e.active=e.panels[Math.min(r,e.panels.length-1)]??``))}function xy(e,n){return!e.panels.includes(n)||e.active===n?!1:(e.active=n,!0)}function Sy(e,n,r,i,a){let o=W(e,n);if(o===null)return null;if(n.length===0){if(ny(e)&&e.direction===r){let n=a===`before`?0:e.children.length,r=a===`before`?0:e.children.length-1,o=e.sizes[r];return e.children.splice(n,0,i),e.sizes.splice(n,0,o===void 0?1:o/2),o!==void 0&&(e.sizes[a===`before`?r+1:r]=o/2),[n]}return Cy(e,r,i,a),[a===`before`?0:1]}let s=uy(e,n);if(s===null)return null;let c=n[n.length-1];if(s.direction===r){let r=a===`before`?c:c+1,o=s.sizes[c]===void 0?1:s.sizes[c]/2;s.sizes[c]=o,s.children.splice(r,0,i),s.sizes.splice(r,0,o);let l=[...n.slice(0,-1),r];return sy(e),l}let l=oy(r,a===`before`?[i,o]:[o,i]);s.children[c]=l,sy(e);let u=a===`before`?0:1;return[...n.slice(0,-1),c,u]}function Cy(e,n,r,i){let a=wy(e);return cy(e,oy(n,i===`before`?[r,a]:[a,r])),sy(e),!0}function wy(e){return U(e)?{...e,panels:[...e.panels]}:{...e,children:[...e.children],sizes:[...e.sizes]}}function Ty(e,n,r){let i=W(e,n);if(i===null||!U(i))return null;let a=n.length===0;if(r&&r!==i){for(let e of i.panels)yy(r,e);a||(i.panels=[],i.active=``)}if(a)return cy(e,ry()),i;let o=uy(e,n);if(o===null)return null;let s=n[n.length-1];return o.children.splice(s,1),o.sizes.splice(s,1),sy(e),i}const Ey=1e-9;function Dy(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function Oy(e,n){if(typeof n==`string`)return my(e,n);if(!Array.isArray(n))return null;let r=e;for(let e of n){if(!Number.isInteger(e)||e<0||!ny(r))return null;let n=r.children[e];if(!n)return null;r=n}return U(r)?[...n]:null}function ky(e){let n=[],r=(e,i,a)=>{if(U(e)){n.push({path:i,name:e.name??null,rect:a});return}let o=e.sizes.reduce((e,n)=>e+n,0),s=o>0?o:e.children.length||1,c=0;e.children.forEach((n,o)=>{let l=(e.sizes[o]??s/e.children.length)/s;if(e.direction===`row`){let e=a.w*l;r(n,[...i,o],{x:a.x+c,y:a.y,w:e,h:a.h}),c+=e}else{let e=a.h*l;r(n,[...i,o],{x:a.x,y:a.y+c,w:a.w,h:e}),c+=e}})};return r(e,[],{x:0,y:0,w:1,h:1}),n}function Ay(e,n,r,i){return Math.min(n,i)-Math.max(e,r)}function jy(e,n){let r=Oy(e,n);if(r===null)return null;let i=ky(e),a=i.find(e=>Dy(e.path,r));if(!a)return null;let o=a.rect,s=[],c=[],l=[],u=[];i.forEach((e,n)=>{if(e===a)return;let r=e.rect,i={name:e.name,path:[...e.path]};if(Math.abs(r.y+r.h-o.y)<Ey){let e=Ay(r.x,r.x+r.w,o.x,o.x+o.w);e>Ey&&s.push({info:i,overlap:e,order:n})}if(Math.abs(o.y+o.h-r.y)<Ey){let e=Ay(r.x,r.x+r.w,o.x,o.x+o.w);e>Ey&&c.push({info:i,overlap:e,order:n})}if(Math.abs(r.x+r.w-o.x)<Ey){let e=Ay(r.y,r.y+r.h,o.y,o.y+o.h);e>Ey&&l.push({info:i,overlap:e,order:n})}if(Math.abs(o.x+o.w-r.x)<Ey){let e=Ay(r.y,r.y+r.h,o.y,o.y+o.h);e>Ey&&u.push({info:i,overlap:e,order:n})}});let d=e=>e.sort((e,n)=>n.overlap-e.overlap||e.order-n.order).map(e=>e.info);return{above:d(s),below:d(c),left:d(l),right:d(u)}}function My(e,n,r){if(Dy(n,r))return!1;let i=W(e,n),a=W(e,r);if(i===null||a===null||!U(i)||!U(a))return!1;let o=uy(e,n),s=uy(e,r);if(o===null||s===null)return!1;let c=n[n.length-1],l=r[r.length-1];if(o===s){let e=o;return[e.children[c],e.children[l]]=[e.children[l],e.children[c]],[e.sizes[c],e.sizes[l]]=[e.sizes[l]??1,e.sizes[c]??1],!0}let u=o.children[c],d=o.sizes[c]??1;return o.children[c]=s.children[l],o.sizes[c]=s.sizes[l]??1,s.children[l]=u,s.sizes[l]=d,!0}function Ny(e,n,r){let i=Oy(e,n);if(i===null)return!1;let a=jy(e,n);if(a===null)return!1;let o=r===`up`?a.above:r===`down`?a.below:r===`left`?a.left:a.right;return o.length!==0&&My(e,i,o[0].path)}function Py(e,n,r){let i=Oy(e,n);if(i===null||i.length===0)return!1;let a=ky(e).find(e=>Dy(e.path,i));if(!a)return!1;let o=r===`left`||r===`right`,s=Math.min(Math.max(o?a.rect.w:a.rect.h,.05),.95);if(!(s>0)||s>=1)return!1;let c=uy(e,i);if(c===null)return!1;let[l]=c.children.splice(i[i.length-1],1);if(c.sizes.splice(i[i.length-1],1),!l)return!1;sy(e);let u=r===`left`||r===`top`,d=o?`row`:`column`;if(U(e)){let n=e,r={kind:`stack`,panels:[...n.panels],active:n.active};return n.name!==void 0&&(r.name=n.name),n.hideLabels!==void 0&&(r.hideLabels=n.hideLabels),n.hideSingleTabStrip!==void 0&&(r.hideSingleTabStrip=n.hideSingleTabStrip),n.collapsed!==void 0&&(r.collapsed=n.collapsed),n.preCollapseSize!==void 0&&(r.preCollapseSize=n.preCollapseSize),cy(e,{kind:`split`,direction:d,children:u?[l,r]:[r,l],sizes:u?[s,1-s]:[1-s,s]}),!0}if(ny(e)&&e.direction===d){let n=s*(e.sizes.reduce((e,n)=>e+n,0)||e.children.length||1)/(1-s),r=u?0:e.children.length;return e.children.splice(r,0,l),e.sizes.splice(r,0,n),!0}if(ny(e)){let n={kind:`split`,direction:e.direction,children:e.children,sizes:e.sizes};return cy(e,{kind:`split`,direction:d,children:u?[l,n]:[n,l],sizes:u?[s,1-s]:[1-s,s]}),!0}return!1}function Fy(e){return{version:1,root:Iy(e)}}function Iy(e){if(U(e)){let n={kind:`stack`,panels:[...e.panels],active:e.active};return e.name!==void 0&&(n.name=e.name),e.hideLabels!==void 0&&(n.hideLabels=e.hideLabels),e.hideSingleTabStrip!==void 0&&(n.hideSingleTabStrip=e.hideSingleTabStrip),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.preCollapseSize!==void 0&&(n.preCollapseSize=e.preCollapseSize),n}return{kind:`split`,direction:e.direction,sizes:[...e.sizes],children:e.children.map(Iy)}}function Ly(e){try{let n=JSON.parse(e);if(typeof n!=`object`||!n)return null;let r=n.root;return typeof r!=`object`||!r||!(`kind`in r)?null:{version:1,root:sy(r)}}catch{return null}}function Ry(e){let n=new Map,r=e=>{if(U(e)){e.panels.length>0&&n.set(e,{name:e.name,key:e.panels.join(`
|
|
5863
|
+
`)});return}e.children.forEach(r)};return r(e),n}function zy(e,n){let r=new Set([...n.values()].map(e=>e.key)),i=[];for(let[a,o]of e)n.has(a)||r.has(o.key)||i.push(o);return i}function By(e){return typeof e!=`object`||!e?!1:Vy(e.root)}function Vy(e){if(typeof e!=`object`||!e)return!1;let n=e;return n.kind===`stack`?Array.isArray(n.panels)&&n.panels.every(e=>typeof e==`string`)&&typeof n.active==`string`:n.kind===`split`&&(n.direction===`row`||n.direction===`column`)&&Array.isArray(n.sizes)&&n.sizes.every(e=>typeof e==`number`)&&Array.isArray(n.children)&&n.children.every(Vy)}function Hy(e,n){let r=Fy(e.root).root,i=e=>{if(U(e)){e.panels=e.panels.filter(n);return}e.children.forEach(i)};return i(r),{version:1,root:sy(r)}}function Uy(e){let n=null,r=null,i=null;function a(r,i,a,o,s,c,l,u){n={isDragging:!0,groupId:r,gutterIndex:i,startPointerX:o,startPointerY:s,containerRect:c,trackSizes:l,minConstraints:u.map(e=>e.minPx),maxConstraints:u.map(e=>e.maxPx),fixedConstraints:u.map(e=>e.fixedPx),whenSmallConstraints:u.map(e=>e.whenSmall)},e.onDragStart(n)}function o(e){!n||!n.isDragging||(i={deltaX:e.clientX-n.startPointerX,deltaY:e.clientY-n.startPointerY},r===null&&(r=requestAnimationFrame(s)))}function s(){if(!n||!i){r=null;return}let{deltaX:a,deltaY:o}=i;i=null,r=null,e.onDragMove(n,a,o)}function c(a){!n||!n.isDragging||(r!==null&&(cancelAnimationFrame(r),r=null),i=null,e.onDragEnd(n),n=null)}return{startGutterDrag:a,move:o,end:c,getState:()=>n}}let Wy=0,Gy=0;function Ky(){return`p-${++Wy}`}function qy(){return`g-${++Gy}`}function Jy(){Wy=0,Gy=0}function Yy(e){let n=e.getAttribute(`size`)??e.getAttribute(`weight`);if(n===null)return;let r=Number.parseFloat(n);return Number.isNaN(r)?void 0:r}function Xy(e){return Jy(),Zy(e,null)}function Zy(e,n){let r=e.tagName===`IXFX-SPLIT-LAYOUT`,i=e.getAttribute(`direction`)===`column`?`column`:`row`,a={kind:`group`,id:e.id||qy(),el:r?e:null,axis:i,children:[],weight:Yy(e)??1,fixedPx:null},o=e.getAttribute(`sizes`),s=o?o.split(/\s+/).map(e=>Number.parseFloat(e)).filter(e=>!Number.isNaN(e)):[],c=Array.from(e.children),l=0;for(let e of c){let n=l<s.length?s[l]:void 0;if(l++,e.tagName===`IXFX-SPLIT-LAYOUT`)a.children.push(Zy(e,i));else if(e.tagName===`IXFX-SPLIT-PANEL`)a.children.push(eb(e,n));else{let r=Qy(e,n);a.children.push(r)}}if(a.children.length===0){let e=$y();a.children.push(e)}return a}function Qy(e,n){let r=e.getAttribute(`min`),i=e.getAttribute(`max`),a=e.getAttribute(`when-small`),o=e.getAttribute(`fixed`),s=e.hasAttribute(`collapsed`),c=0;r&&(c=tb(r,0));let l=null;i&&(l=tb(i,0));let u=null;o&&(u=o===``?100:tb(o,100));let d=Yy(e)??n??1;return{kind:`panel`,id:e.id||Ky(),el:e,weight:d,fixedPx:u,minPx:c,maxPx:l,whenSmall:a||`prevent`,collapsed:s,restoreWeight:d}}function $y(e){return{kind:`panel`,id:Ky(),el:document.createElement(`div`),weight:e??1,fixedPx:null,minPx:0,maxPx:null,whenSmall:`prevent`,collapsed:!1,restoreWeight:e??1}}function eb(e,n){let r=e.getAttribute(`size`)||e.getAttribute(`weight`),i=e.getAttribute(`min`),a=e.getAttribute(`max`),o=e.getAttribute(`when-small`),s=e.getAttribute(`fixed`),c=e.hasAttribute(`collapsed`),l=n??1;r&&(l=Number.parseFloat(r));let u=0;i&&(u=tb(i,0));let d=null;a&&(d=tb(a,0));let f=null;return s&&(f=s===``?100:tb(s,100)),{kind:`panel`,id:e.id||Ky(),el:e,weight:l,fixedPx:f,minPx:u,maxPx:d,whenSmall:o||`prevent`,collapsed:c,restoreWeight:l}}function tb(e,n){if(e.endsWith(`px`))return Number.parseFloat(e.replace(`px`,``));if(e.endsWith(`%`))return n;let r=Number.parseFloat(e);return Number.isNaN(r)?n:r}function nb(e){let n=[],r=0;for(let i of e.children)i.kind===`panel`&&(i.fixedPx!==null||i.collapsed)||(n.push(i.weight),r+=i.weight);r===0&&(r=1);let i=[];for(let n=0;n<e.children.length;n++){let a=e.children[n];a.kind===`panel`?a.fixedPx===null&&!a.collapsed?i.push({...a,weight:a.weight/r}):i.push(a):i.push({...a,weight:a.weight/r})}return{...e,children:i}}function rb(e,n,r,i){let a=[...e],o=[];if(r===0)return{sizesPx:a,belowMin:o};let s=r>0?n:n+1,c=r>0?n+1:n,l=Math.abs(r);for(let e=c;e>=0&&l>0;e--){let n=i[e];if(n.fixedPx!==null)continue;let r=a[e],s=r-n.minPx;if(s>0){let r=Math.min(s,l);if(a[e]-=r,l-=r,n.whenSmall!==`prevent`&&a[e]<=n.minPx&&a[e]>0){o.push(e);break}}else if(n.whenSmall!==`prevent`&&r>0){let i=Math.min(r,l);if(a[e]-=i,l-=i,a[e]<=n.minPx){o.push(e);break}}}let u=Math.abs(r)-l;if(u>0&&(a[s]+=u,l=0),l>0)for(let e=s;e<a.length&&l>0;e++){let n=i[e];if(n.fixedPx!==null)continue;let r=n.maxPx===null?1/0:n.maxPx-a[e];if(r<=0)continue;let o=Math.min(r,l);a[e]+=o,l-=o}return{sizesPx:a,belowMin:o}}function ib(e,n){let r=[];for(let n=0;n<e.children.length;n++){let i=e.children[n],a;a=i.kind===`panel`?i.collapsed?`var(--split-collapsed-size, 0px)`:i.fixedPx===null?`minmax(${i.minPx>0?`${i.minPx}px`:`0px`}, var(--s${n}))`:`${i.fixedPx}px`:`minmax(0, var(--s${n}))`,r.push(a),n<e.children.length-1&&r.push(`var(--split-gutter-size, 6px)`)}return r.join(` `)}function ab(e){return{version:1,root:ob(e)}}function ob(e){if(e.kind===`panel`)return{kind:`panel`,id:e.id,weight:e.weight,collapsed:e.collapsed};let n=e.children.map(e=>ob(e));return{kind:`group`,id:e.id,weight:e.weight,children:n}}function sb(e,n){return cb(e,n.root)}function cb(e,n){if(n.kind!==`group`)return e;let r=new Map,i=new Map;lb(n,r,i);let a=[];for(let o of e.children)if(o.kind===`panel`){let e=r.get(o.id),n=i.get(o.id);a.push({...o,weight:e===void 0?o.weight:e,collapsed:n===void 0?o.collapsed:n})}else{let e=n.children?.find(e=>e.id===o.id);e?a.push(cb(o,e)):a.push(o)}return{...e,children:a}}function lb(e,n,r){if(e.kind===`panel`)n.set(e.id,e.weight??1),e.collapsed!==void 0&&r.set(e.id,e.collapsed);else if(e.children)for(let i of e.children)lb(i,n,r)}function ub(e,n,r){let i=e.children.map(e=>e.kind===`panel`?e.id===n?{...e,restoreWeight:r}:e:ub(e,n,r));return{...e,children:i}}function db(e,n){if(!e)return n;let r=new Map(e.children.map(e=>[e.id,e])),i=n.children.map(e=>{let n=r.get(e.id);return!n||n.kind!==e.kind?e:e.kind===`panel`&&n.kind===`panel`?{...e,restoreWeight:n.restoreWeight}:db(n,e)});return{...n,children:i}}function fb(e,n){for(let r of e.children)if(r.kind===`panel`){if(r.id===n)return r}else{let e=fb(r,n);if(e)return e}}function pb(e,n){mb(e,[],n)}function mb(e,n,r){if(r(e,n),e.kind===`group`)for(let i=0;i<e.children.length;i++)mb(e.children[i],[...n,i],r)}const hb=new Map;function gb(e){return e.id!==``&&e.el?.id===e.id}function _b(e){return e.kind===`panel`&&e.collapsed?{weight:e.restoreWeight,collapsed:!0}:{weight:e.weight}}function vb(e){let n=new Map;for(let r of e.children)gb(r)&&n.set(r.id,_b(r));return n}function yb(...e){let n={};for(let r of e)for(let[e,i]of r)n[e]=i;return n}function bb(e){if(!e||typeof e!=`object`)return hb;let n=new Map;for(let[r,i]of Object.entries(e)){let e=i?.weight;typeof e!=`number`||!Number.isFinite(e)||e<0||n.set(r,i.collapsed===!0?{weight:e,collapsed:!0}:{weight:e})}return xb(n)}function xb(e,n=rr){return e.size<=n?e:new Map([...e].slice(e.size-n))}function Sb(e,n,r,i){let a=new Set(n.children.map(e=>e.id)),o=new Map(r),s=[];if(e&&i.retainAbsent)for(let n of e.children)gb(n)&&!a.has(n.id)&&(o.set(n.id,_b(n)),s.push(n.id));let c=i.carry&&e?new Map(e.children.map(e=>[e.id,e])):void 0,l=[],u=[],d=[],f=n.children.map((e,n)=>{let r=gb(e)?o.get(e.id):void 0;if(r){if(o.delete(e.id),l.push(e.id),d[n]={value:r.weight,pinned:!0},e.kind===`group`)return{...e,weight:r.weight};let i=r.collapsed===!0;return i!==e.collapsed&&u.push([e.el,i]),{...e,collapsed:i,weight:r.weight,restoreWeight:r.weight}}let i=c?.get(e.id);return i&&Cb(i,e)?(d[n]={value:i.weight,pinned:!1},{...e,weight:i.weight}):(d[n]={value:e.weight,pinned:c!==void 0},e)});return{model:{...n,children:Tb(f,d)},pending:s.length===0&&l.length===0?r:xb(o),applied:l,demoted:s,collapse:u}}function Cb(e,n){return e.kind===n.kind?e.kind===`group`||n.kind===`panel`&&e.collapsed===n.collapsed:!1}function wb(e){return e.kind===`group`||e.fixedPx===null&&!e.collapsed}function Tb(e,n){let r=0,i=0;e.forEach((e,a)=>{wb(e)&&(n[a].pinned?r+=n[a].value:i+=n[a].value)});let a=i>0&&r<1,o=a?1:r+i||1,s=a?(1-r)/i:1/o,c=a?1:1/o;return e.map((e,r)=>{if(!wb(e))return e;let i=n[r].value*(n[r].pinned?c:s);return i===e.weight?e:{...e,weight:i}})}let Eb=class extends n{constructor(...e){super(...e),this.id=``,this.size=``,this.weight=``,this.fixed=``,this.min=``,this.max=``,this.whenSmall=`prevent`,this.collapsed=!1,this.snap=``}render(){return i`<slot></slot>`}static{this.styles=[w,r`
|
|
5864
5864
|
:host {
|
|
5865
5865
|
display: block;
|
|
5866
5866
|
width: 100%;
|
|
@@ -5871,7 +5871,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
5871
5871
|
:host([collapsed]) {
|
|
5872
5872
|
visibility: hidden;
|
|
5873
5873
|
}
|
|
5874
|
-
`]}};E([d({type:String,reflect:!0})],
|
|
5874
|
+
`]}};E([d({type:String,reflect:!0})],Eb.prototype,`id`,void 0),E([d({type:String})],Eb.prototype,`size`,void 0),E([d({type:String})],Eb.prototype,`weight`,void 0),E([d({type:String})],Eb.prototype,`fixed`,void 0),E([d({type:String})],Eb.prototype,`min`,void 0),E([d({type:String})],Eb.prototype,`max`,void 0),E([d({type:String,attribute:`when-small`})],Eb.prototype,`whenSmall`,void 0),E([d({type:Boolean,reflect:!0})],Eb.prototype,`collapsed`,void 0),E([d({type:String})],Eb.prototype,`snap`,void 0),Eb=E([T(`ixfx-split-panel`)],Eb);let Db=class extends n{constructor(...e){super(...e),this.direction=`row`,this.sizes=``,this.gutterSize=``,this.snap=``,this.forgetAbsent=!1,this._model=null,this._resizing=!1,this._observer=null,this._applyingOwnMutation=!1,this._dragStructurallyChanged=!1,this.#e=new f_(this,{kind:`split-layout`,capture:()=>this.getViewState()}),this.#t=hb,this._dragMachine=Uy({onDragStart:e=>this._handleDragStart(e),onDragMove:(e,n,r)=>this._handleDragMove(e,n,r),onDragEnd:e=>this._handleDragEnd(e),distribute:(e,n,r,i)=>rb(e,n,r,i)}),this._onGutterPointerDown=(e,n,r)=>{if(e.preventDefault(),!this._groupEl||!this._model)return;let{rect:i,trackSizes:a,constraints:o}=this._snapshotTracks();this._dragMachine.startGutterDrag(n,r,e.pointerId,e.clientX,e.clientY,i,a,o),window.addEventListener(`pointermove`,this._onPointerMove),window.addEventListener(`pointerup`,this._onPointerUp)},this._onPointerMove=e=>{this._dragMachine.move(e)},this._onPointerUp=e=>{this._dragMachine.end(e),window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp)}}#e;#t;connectedCallback(){super.connectedCallback(),this._setupObserver()}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}firstUpdated(){this._rebuildModel()}_setupObserver(){this._observer=new MutationObserver(e=>{if(!this._applyingOwnMutation){let n=!e.some(e=>kb(this,e));Promise.resolve().then(()=>this._rebuildModel(n))}}),this._observer.observe(this,{childList:!0,subtree:!0,attributeFilter:[`size`,`weight`,`min`,`max`,`when-small`,`fixed`,`direction`,`collapsed`,`sizes`],attributeOldValue:!0})}_rebuildModel(e=!0){this._reindexSlots();let n=Xy(this),r=db(this._model,nb(n)),i=Sb(this._model,r,this.#t,{carry:e,retainAbsent:!this.forgetAbsent});this._model=i.model,this.#t=i.pending,this._writeCollapsedAttributes(i.collapse),i.applied.length>0?this.#e.restoring(()=>this.#e.notify()):i.demoted.length>0&&this.#e.notify(`data`),this.requestUpdate()}_writeCollapsedAttributes(e){if(e.length!==0){for(let[n,r]of e)n.toggleAttribute(`collapsed`,r),n.toggleAttribute(`data-collapsed`,r);this._observer?.takeRecords()}}get panels(){if(!this._model)return[];let e=[];return pb(this._model,(n,r)=>{n.kind===`panel`&&e.push({id:n.id,el:n.el,index:r[r.length-1],path:r.join(`-`),weight:n.weight,collapsed:n.collapsed,min:n.minPx,max:n.maxPx,whenSmall:n.whenSmall})}),e}getViewState(e){let n=e?.includePending??!0,r=this._model?vb(this._model):[];return this.#e.shape({layout:yb(n?this.#t:[],r)},e)}setViewState(e){!this.#e.accepts(e)||e.layout===void 0||this.#e.restoring(()=>{if(this.#t=bb(e.layout),!this._model){this.#e.notify();return}this._applyingOwnMutation=!0,this._rebuildModel(),this._observer?.takeRecords(),this._applyingOwnMutation=!1,this._emitResize(),this._emitChange()})}clearPendingViewState(){this.#t=hb}getSizes(e){if(!this._model)return{};let n={};return this._model.children&&this._model.children.forEach(e=>{n[e.id]=e.weight}),n}setSizes(e,n){if(this._model){if(this._applyingOwnMutation=!0,Array.isArray(e))this._model.children.forEach((n,r)=>{r<e.length&&(n.weight=e[r])});else for(let[n,r]of Object.entries(e)){let e=this._model.children.find(e=>e.id===n);e&&(e.weight=r)}this._model=nb(this._model),this.requestUpdate(),this._applyingOwnMutation=!1,this._emitResize(),this._emitChange()}}collapse(e){this._setCollapsedState(e,!0)}expand(e){this._setCollapsedState(e,!1)}toggle(e){let n=this._findPanel(e);n&&this._setCollapsedState(n.id,!n.collapsed)}closePanel(e){let n=this._findPanel(e);if(!n)return!1;let r=new CustomEvent(`ixfx-split-close`,{detail:{id:n.id,index:n.index},bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(r),!r.defaultPrevented&&(this._applyingOwnMutation=!0,n.el.remove(),this._rebuildModel(),this._observer?.takeRecords(),this._applyingOwnMutation=!1,this._emitResize(),this._emitChange(),!0)}getGutterRects(){let e=this.shadowRoot?.querySelectorAll(`.gutter`);return e==null?[]:Array.from(e,e=>e.getBoundingClientRect())}beginGutterDrag(e,n,r,i){if(!this._groupEl||!this._model||e<0||e>=this._model.children.length-1)return!1;let{rect:a,trackSizes:o,constraints:s}=this._snapshotTracks();return this._dragMachine.startGutterDrag(this._model.id,e,n,r,i,a,o,s),window.addEventListener(`pointermove`,this._onPointerMove),window.addEventListener(`pointerup`,this._onPointerUp),!0}_setCollapsedState(e,n,r){let i=this._findPanel(e);if(!(!i||i.collapsed===n)){if(this._applyingOwnMutation=!0,n?(this._model&&=ub(this._model,i.id,i.weight),i.el.setAttribute(`collapsed`,``),i.el.setAttribute(`data-collapsed`,``)):(i.el.removeAttribute(`collapsed`),i.el.removeAttribute(`data-collapsed`)),this._rebuildModel(),!n){let e=r??(this._model?fb(this._model,i.id)?.restoreWeight:void 0);e!==void 0&&this._setFlexibleWeight(i.id,e)}this.requestUpdate(),this._observer?.takeRecords(),this._applyingOwnMutation=!1,n?this.dispatchEvent(new CustomEvent(`ixfx-split-collapse`,{detail:{id:i.id,index:i.index},bubbles:!0,composed:!0})):this.dispatchEvent(new CustomEvent(`ixfx-split-expand`,{detail:{id:i.id,index:i.index},bubbles:!0,composed:!0})),this._emitResize(),this._emitChange()}}_reindexSlots(){Array.from(this.children).forEach((e,n)=>{let r=`panel-${n}`;e.getAttribute(`slot`)!==r&&e.setAttribute(`slot`,r)})}_findPanel(e){let n=typeof e==`string`?e:e.id;return this.panels.find(e=>e.id===n)}_setFlexibleWeight(e,n){if(!this._model)return;let r=this._model.children.filter(e=>e.kind===`group`||e.fixedPx===null&&!e.collapsed),i=r.find(n=>n.id===e);if(!i)return;let a=Math.min(Math.max(n,0),.9),o=r.filter(e=>e!==i),s=o.reduce((e,n)=>e+n.weight,0)||1,c=(1-a)/s;for(let e of o)e.weight*=c;i.weight=a,this._model=nb(this._model)}_snapPx(){let e=Number.parseFloat(this.snap);if(!Number.isNaN(e))return e;let n=Number.parseFloat(getComputedStyle(this).getPropertyValue(`--split-snap`));return Number.isNaN(n)?24:n}_collapsedPx(){let e=Number.parseFloat(getComputedStyle(this).getPropertyValue(`--split-collapsed-size`));return Number.isNaN(e)?0:e}_handleDragStart(e){this._resizing=!0,this._dragStructurallyChanged=!1,this.setAttribute(`data-dragging`,``)}_handleDragMove(e,n,r){if(!this._model||this._dragStructurallyChanged)return;let i=this.direction,a=i===`row`?n:r,o=e.gutterIndex,s=a>0?o:o+1,c=this._model.children[s];if(c?.kind===`panel`&&c.collapsed){let o=c.minPx>0?c.minPx:this._snapPx();if(Math.abs(a)>=o){let a=i===`row`?e.containerRect.width:e.containerRect.height;this._setCollapsedState(c.id,!1,a>0?o/a:void 0),this._reseedDragState(e,e.startPointerX+n,e.startPointerY+r)}return}let l=e.minConstraints.map((n,r)=>({minPx:n,maxPx:e.maxConstraints[r],fixedPx:e.fixedConstraints[r],whenSmall:e.whenSmallConstraints[r]})),u=rb(e.trackSizes,o,a,l),d=e.trackSizes.reduce((e,n)=>e+n,0);if(u.sizesPx.forEach((e,n)=>{let r=this._model.children[n];r&&r.kind===`panel`&&(r.weight=e/d)}),u.belowMin.length>0){let e=!1;for(let n of u.belowMin){if(e)break;let r=this._model.children[n];if(r&&r.kind===`panel`){let n=r.whenSmall;n===`collapse`&&!r.collapsed?(this._setCollapsedState(r.id,!0),e=!0,this._dragStructurallyChanged=!0):n===`close`&&(this.closePanel(r.id),e=!0,this._dragStructurallyChanged=!0)}}}this._model=nb(this._model),this.requestUpdate()}_handleDragEnd(e){this._resizing=!1,this.removeAttribute(`data-dragging`),this._emitResize(),this._emitChange()}_snapshotTracks(){let e=this._groupEl.getBoundingClientRect(),n=this.direction===`row`?e.width:e.height,r=this._collapsedPx(),i=this._model.children;return{rect:e,trackSizes:i.map(e=>e.kind===`panel`&&e.collapsed?r:e.kind===`panel`&&e.fixedPx!==null?e.fixedPx:e.weight*n),constraints:i.map(e=>e.kind===`panel`?{minPx:e.minPx,maxPx:e.maxPx,fixedPx:e.fixedPx,whenSmall:e.whenSmall}:{minPx:0,maxPx:null,fixedPx:null,whenSmall:`prevent`})}}_reseedDragState(e,n,r){if(!this._groupEl||!this._model)return;let{rect:i,trackSizes:a,constraints:o}=this._snapshotTracks();e.startPointerX=n,e.startPointerY=r,e.containerRect=i,e.trackSizes=a,e.minConstraints=o.map(e=>e.minPx),e.maxConstraints=o.map(e=>e.maxPx),e.fixedConstraints=o.map(e=>e.fixedPx),e.whenSmallConstraints=o.map(e=>e.whenSmall)}_emitResize(){if(!this._model)return;let e={sizes:this.getSizes(),groupId:this._model.id};this.dispatchEvent(new CustomEvent(`ixfx-split-resize`,{detail:e,bubbles:!0,composed:!0}))}_emitChange(){if(!this._model)return;this.#e.notify();let e={layout:ab(this._model)};this.dispatchEvent(new CustomEvent(`ixfx-split-change`,{detail:e,bubbles:!0,composed:!0}))}render(){if(!this._model)return a;let e=this._model.axis===`row`,n=this._resolveTracks(this._model),r=this._model.children.map((e,n)=>`--s${n}: ${e.weight*100}%`).join(`; `),o=e?`grid-template-columns: ${n}; grid-template-rows: 1fr; ${r}`:`grid-template-rows: ${n}; grid-template-columns: 1fr; ${r}`;return i`
|
|
5875
5875
|
<div class="grid" style="${o}">
|
|
5876
5876
|
${this._model.children.map((n,r)=>i`
|
|
5877
5877
|
<div part="panel" style="grid-column: ${e?r*2+1:1}; grid-row: ${e?1:r*2+1}; display: flex; flex-direction: ${e?`row`:`column`}; overflow: hidden;">
|
|
@@ -6006,8 +6006,8 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6006
6006
|
:host(:not([data-dragging])) .gutter:hover .ixfx-handle {
|
|
6007
6007
|
display: none;
|
|
6008
6008
|
}
|
|
6009
|
-
`]}};E([d({type:String,reflect:!0})],
|
|
6010
|
-
`))}function
|
|
6009
|
+
`]}};E([d({type:String,reflect:!0})],Db.prototype,`direction`,void 0),E([d({type:String})],Db.prototype,`sizes`,void 0),E([d({type:String,attribute:`gutter-size`})],Db.prototype,`gutterSize`,void 0),E([d({type:String})],Db.prototype,`snap`,void 0),E([d({type:Boolean,attribute:`forget-absent`})],Db.prototype,`forgetAbsent`,void 0),E([m()],Db.prototype,`_model`,void 0),E([m()],Db.prototype,`_resizing`,void 0),E([f(`.grid`)],Db.prototype,`_groupEl`,void 0),Db=E([T(`ixfx-split-layout`)],Db);const Ob=new Set([`size`,`weight`,`sizes`,`fixed`,`collapsed`]);function kb(e,n){if(n.type!==`attributes`||n.attributeName===null||!Ob.has(n.attributeName))return!1;let r=n.target;return r!==e&&r.parentElement!==e?!1:r.getAttribute(n.attributeName)!==n.oldValue}let Ab=0;function jb(){return Ab+=1,`ixfx-tab-indicator-${Ab}`}function Mb(e){if(!(`startViewTransition`in document)||globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches)return;let n=getComputedStyle(e),r=n.getPropertyValue(`--ixfx-tab-transition-duration`).trim();if(Number.parseFloat(r)>0)return{duration:r,easing:n.getPropertyValue(`--ixfx-tab-transition-easing`).trim()||`cubic-bezier(0.3333, 0, 0.6667, 1)`}}const Nb=new Map;let Pb;function Fb(){Pb===void 0&&(Pb=new CSSStyleSheet,document.adoptedStyleSheets=[...document.adoptedStyleSheets,Pb]),Pb.replaceSync([`ixfx-tab-list-item[selected]::after { view-transition-name: var(--ixfx-tab-indicator-name, none); }`,...Nb.values()].join(`
|
|
6010
|
+
`))}function Ib(){Pb===void 0&&Fb()}function Lb(e,n){Nb.set(e,`::view-transition-group(${e}) { animation-duration: ${n.duration}; animation-timing-function: ${n.easing}; }`),Fb()}function Rb(e,n,r){return Lb(e,n),document.startViewTransition(r)}let zb=class extends n{constructor(...e){super(...e),this.orientation=`horizontal`,this.flip=!1,this.scrollable=!1,this.hideLabels=!1,this.labelNogrow=!1,this.shrink=!1,this.dragMode=`off`,this.#e=[],this.#t=jb(),this.#n=null,this.#r=!1,this.#o=()=>{this.updateComplete.then(()=>{this.#s(),this.#p(),this.#u(),this.#d()})},this.#c=()=>{let e=(this.shadowRoot?.querySelector(`slot[name="toolbar"]`))?.assignedElements()??[],n=e.length>0;this.toggleAttribute(`has-toolbar`,n);let r=this.shadowRoot?.querySelector(`.list-toolbar`);if(r&&(r.hidden=!n),n){let n=e[0];n?.tagName===`IXFX-TOOLBAR`&&requestAnimationFrame(()=>{n?._scheduleMeasure?.()})}},this.#m=e=>{let n=e.key;this.#i?n===`ArrowUp`?this.#y():n===`ArrowDown`&&this.#v():n===`ArrowRight`?this.#v():n===`ArrowLeft`&&this.#y()},this.#h=e=>{let n=this.#n;if(e.key!==`Escape`||!n?.active)return;e.preventDefault();let r=n.pointerId;this.#j(),this.#M(r)},this.#g=e=>{if(!this.scrollable)return;let n=this.#L;if(n){if(this.#i){if(e.deltaX===0||n.scrollHeight<=n.clientHeight)return;n.scrollTop+=e.deltaX,e.preventDefault()}else{if(e.deltaY===0||n.scrollWidth<=n.clientWidth)return;n.scrollLeft+=e.deltaY,e.preventDefault()}}},this.#b=e=>{if(this.#r){this.#r=!1,e.preventDefault(),e.stopPropagation();return}this.focus();let n=e.target.closest(`ixfx-tab-list-item`);if(!n)return;let r=this.getSelectedElement(),i=n.getAttribute(`for`),a=r?.id,o=()=>{this.selectElement(n),this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,detail:{previous:a,selected:n.id,for:i??``}}))};r===n?o():this.#l(o)},this.#S=e=>{if(this.dragMode!==`reorder`||e.button!==0)return;let n=this.#x(e);if(!n)return;let r=this.#e.indexOf(n);r<0||(this.#n={pointerId:e.pointerId,source:n,fromIndex:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,gapIndex:void 0},window.addEventListener(`pointermove`,this.#T),window.addEventListener(`pointerup`,this.#O),window.addEventListener(`pointercancel`,this.#k))},this.#C=null,this.#w=null,this.#T=e=>{let n=this.#n;!n||e.pointerId!==n.pointerId||(this.#C=e,this.#w??=requestAnimationFrame(this.#D))},this.#D=()=>{let e=this.#C;this.#C=null,this.#w=null;let n=this.#n;if(!n||!e)return;let r=e.clientX-n.startX,i=e.clientY-n.startY,a=Math.hypot(r,i);if(!n.active){if(a<5)return;this.#A(e)}n.ghost?.move(e.clientX,e.clientY);let o=this.#F(e.clientX,e.clientY);o!==n.gapIndex&&(n.gapIndex=o,this.requestUpdate())},this.#O=e=>{let n=this.#n;if(!(!n||e.pointerId!==n.pointerId)){if(n.active){let r=this.#F(e.clientX,e.clientY);this.#N(n.source,n.fromIndex,r)}this.#M(e.pointerId)}},this.#k=e=>{let n=this.#n;!n||e.pointerId!==n.pointerId||(this.#j(),this.#M(e.pointerId))}}#e;#t;#n;#r;get#i(){return this.orientation===`vertical-stack`||this.orientation===`vertical-side`}get#a(){return[this.scrollable?`${this.orientation} scrollable`:this.orientation,this.scrollable?this.#i?`scroll-fade-y`:`scroll-fade-x`:``,this.dragMode===`reorder`?`reorder`:``].filter(Boolean).join(` `)}render(){let e=this.#I();return i`
|
|
6011
6011
|
<div class="outer ${this.orientation}">
|
|
6012
6012
|
<div
|
|
6013
6013
|
tabindex=0
|
|
@@ -6025,7 +6025,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6025
6025
|
<div class="list-toolbar ${this.orientation}" part="list-toolbar">
|
|
6026
6026
|
<slot name="toolbar" @slotchange=${this.#c}></slot>
|
|
6027
6027
|
</div>
|
|
6028
|
-
</div>`}#o;#s(){this.#e=(this.shadowRoot?.querySelector(`slot:not([name])`))?.assignedElements({flatten:!0})??[]}#c;firstUpdated(){this.updateComplete.then(()=>{this.#s(),this.#p(),this.#u(),this.#d(),this.#c()})}updated(e){if(super.updated(e),this.classList.toggle(`scrollable`,this.scrollable),e.has(`dragMode`)&&this.toggleAttribute(`drag-mode`,this.dragMode!==`off`),e.has(`hideLabels`)&&this.#u(),e.has(`labelNogrow`)&&this.#d(),e.has(`orientation`)||e.has(`flip`))for(let e of this.#e)e.setAttribute(`indicator-edge`,this.#f)}connectedCallback(){super.connectedCallback(),
|
|
6028
|
+
</div>`}#o;#s(){this.#e=(this.shadowRoot?.querySelector(`slot:not([name])`))?.assignedElements({flatten:!0})??[]}#c;firstUpdated(){this.updateComplete.then(()=>{this.#s(),this.#p(),this.#u(),this.#d(),this.#c()})}updated(e){if(super.updated(e),this.classList.toggle(`scrollable`,this.scrollable),e.has(`dragMode`)&&this.toggleAttribute(`drag-mode`,this.dragMode!==`off`),e.has(`hideLabels`)&&this.#u(),e.has(`labelNogrow`)&&this.#d(),e.has(`orientation`)||e.has(`flip`))for(let e of this.#e)e.setAttribute(`indicator-edge`,this.#f)}connectedCallback(){super.connectedCallback(),Ib()}#l(e){let n=Mb(this);if(n===void 0){e();return}this.style.setProperty(`--ixfx-tab-indicator-name`,this.#t);let r=Rb(this.#t,n,e),i=()=>this.style.removeProperty(`--ixfx-tab-indicator-name`);r.finished.then(i,i)}#u(){for(let e of this.#e)this.hideLabels?e.setAttribute(`hide-labels`,``):e.removeAttribute(`hide-labels`)}#d(){for(let e of this.#e)this.labelNogrow?e.setAttribute(`label-nogrow`,``):e.removeAttribute(`label-nogrow`)}get#f(){return this.#i?this.flip?`left`:`right`:this.flip?`top`:`bottom`}#p(){for(let e of this.#e)e.setAttribute(`indicator-edge`,this.#f),e.style.setProperty(`--indicator-color-bottom`,`transparent`),e.style.setProperty(`--indicator-color-top`,`transparent`),e.style.setProperty(`--indicator-color-left`,`transparent`),e.style.setProperty(`--indicator-color-right`,`transparent`),e.hasAttribute(`selected`)&&(this.orientation===`horizontal`&&!this.flip?e.style.setProperty(`--indicator-color-bottom`,`var(--accent)`):this.orientation===`horizontal`&&this.flip?e.style.setProperty(`--indicator-color-top`,`var(--accent)`):this.#i&&!this.flip?e.style.setProperty(`--indicator-color-right`,`var(--accent)`):this.#i&&this.flip&&e.style.setProperty(`--indicator-color-left`,`var(--accent)`))}#m;#h;#g;getSelectedElement(){for(let e of this.#e)if(this.#_(e))return e;let e=this.shadowRoot?.querySelector(`slot`);if(e){let n=e.assignedElements({flatten:!0});for(let e of n)if(this.#_(e))return e}}#_(e){return e.getAttribute(`selected`)!==null&&e.hasAttribute(`selected`)}selectElement(e){let n=this.getSelectedElement();n&&(n.removeAttribute(`selected`),n.style.setProperty(`--indicator-color-bottom`,`transparent`),n.style.setProperty(`--indicator-color-top`,`transparent`),n.style.setProperty(`--indicator-color-left`,`transparent`),n.style.setProperty(`--indicator-color-right`,`transparent`)),e.setAttribute(`selected`,``),this.orientation===`horizontal`&&!this.flip?e.style.setProperty(`--indicator-color-bottom`,`var(--accent)`):this.orientation===`horizontal`&&this.flip?e.style.setProperty(`--indicator-color-top`,`var(--accent)`):this.#i&&!this.flip?e.style.setProperty(`--indicator-color-right`,`var(--accent)`):this.#i&&this.flip&&e.style.setProperty(`--indicator-color-left`,`var(--accent)`)}#v(){let e=!1;for(let n of this.#e)if(this.#_(n)&&!e)e=!0;else if(e){this.#l(()=>this.selectElement(n));break}}#y(){let e;for(let n of this.#e)if(this.#_(n)&&e){let n=e;this.#l(()=>this.selectElement(n))}else e=n}#b;#x(e){if(this.dragMode===`off`)return null;let n=e.composedPath(),r=null;for(let e of n)if(e instanceof HTMLElement){if(e.classList.contains(`close-btn`)||e.classList.contains(`toolbar`))return null;!r&&e.tagName===`IXFX-TAB-LIST-ITEM`&&(r=e)}return r}#S;#C;#w;#T;#E(){this.#w!==null&&(cancelAnimationFrame(this.#w),this.#w=null),this.#C=null}#D;#O;#k;#A(e){let n=this.#n;if(!(!n||n.active)){try{this.#L?.setPointerCapture(e.pointerId)}catch{}n.active=!0,n.source.setAttribute(`drag-source`,``),n.ghost=this.#P(n.source),n.ghost&&n.ghost.move(e.clientX,e.clientY)}}#j(){let e=this.#n;e&&(e.source.removeAttribute(`drag-source`),e.gapIndex!==void 0&&(e.gapIndex=void 0,this.requestUpdate()))}#M(e){let n=this.#n;if(n){this.#E(),n.ghost?.destroy(),n.ghost=null,this.#n=null,window.removeEventListener(`pointermove`,this.#T),window.removeEventListener(`pointerup`,this.#O),window.removeEventListener(`pointercancel`,this.#k);try{this.#L?.releasePointerCapture(e)}catch{}this.requestUpdate()}}#N(e,n,r){e.removeAttribute(`drag-source`);let i=this.#e.filter(n=>n!==e),a=r===void 0?i.length:Math.max(0,Math.min(r,i.length)),o=e.parentNode;if(!o)return;let s=i[a]??null;o.insertBefore(e,s);let c=Array.prototype.indexOf.call(o.children,e);c!==n&&(this.#e=(this.shadowRoot?.querySelector(`slot`))?.assignedElements({flatten:!0})??[],this.#p(),this.#r=!0,this.dispatchEvent(new CustomEvent(`reorder`,{bubbles:!0,detail:{id:e.id,fromIndex:n,toIndex:c}})))}#P(e){let n=document.createElement(`span`);n.style.display=`inline-flex`,n.style.alignItems=`center`,n.style.gap=`var(--space-xs, 4px)`,n.style.minWidth=`0`;let r=e.iconName;if(r){let e=document.createElement(`ixfx-icon`);e.name=r,n.appendChild(e)}let i=document.createElement(`span`);i.textContent=(e.textContent??``).trim(),i.style.overflow=`hidden`,i.style.textOverflow=`ellipsis`,i.style.whiteSpace=`nowrap`,n.appendChild(i);try{return E_({anchor:e,content:n})}catch{return null}}#F(e,n){let r=this.#n;if(!r)return;let i=this.#e.filter(e=>e!==r.source);if(i.length===0)return 0;let a=!this.#i,o=0,s=1/0;for(let r=0;r<i.length;r++){let c=i[r].getBoundingClientRect(),l=a?c.left:c.top,u=a?c.right:c.bottom,d=(l+u)/2,f=a?e:n,p=Math.abs(f-l);Math.abs(f-d);let m=Math.abs(f-u);f<d?p<s&&(s=p,o=r):m<s&&(s=m,o=r+1)}return o}#I(){let e=this.#n;if(!e?.active||e.gapIndex===void 0)return;let n=this.#e.filter(n=>n!==e.source);if(n.length===0)return;let r=!this.#i,i=this.#L?.getBoundingClientRect();if(!i)return;let a=Math.max(0,Math.min(e.gapIndex,n.length)),o=null;if(o=a<n.length?n[a].getBoundingClientRect():n[n.length-1].getBoundingClientRect(),r){let e=(a<n.length?o.left:o.right)-i.left,r=i.height;return`transform: translate(${e-1}px, 0px); width: 2px; height: ${r}px;`}{let e=(a<n.length?o.top:o.bottom)-i.top,r=i.width;return`transform: translate(0px, ${e-1}px); width: ${r}px; height: 2px;`}}get#L(){return this.shadowRoot?.getElementById(`container`)??null}static{this.styles=[w,wr(`x`),wr(`y`),r`
|
|
6029
6029
|
:host {
|
|
6030
6030
|
display: inline-block;
|
|
6031
6031
|
--activated-colour: var(--accent);
|
|
@@ -6191,7 +6191,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6191
6191
|
::slotted(.activated) {
|
|
6192
6192
|
--colour: var(--activated-colour);
|
|
6193
6193
|
}
|
|
6194
|
-
`]}};E([d({type:String})],
|
|
6194
|
+
`]}};E([d({type:String})],zb.prototype,`orientation`,void 0),E([d({type:Boolean})],zb.prototype,`flip`,void 0),E([d({type:Boolean})],zb.prototype,`scrollable`,void 0),E([d({type:Boolean,attribute:`hide-labels`})],zb.prototype,`hideLabels`,void 0),E([d({type:Boolean,attribute:`label-nogrow`})],zb.prototype,`labelNogrow`,void 0),E([d({type:Boolean,reflect:!0})],zb.prototype,`shrink`,void 0),E([d({type:String,attribute:`drag-mode`})],zb.prototype,`dragMode`,void 0),zb=E([T(`ixfx-tab-list`)],zb);const Bb=new WeakMap;let Vb;function Hb(){return Vb??=new ResizeObserver(e=>{for(let n of e)Bb.get(n.target)?.(n.contentRect.width)}),Vb}const Ub=new Map;let Wb;function Gb(){return Wb??=new MutationObserver(e=>{let n=new Set;for(let r of e)for(let e=r.target;e;e=e.parentNode){let r=Ub.get(e);if(r){n.add(r);break}}for(let e of n)e()}),Wb}let Kb=class extends n{constructor(...e){super(...e),this.closeable=!1,this.hideLabels=!1,this.labelNogrow=!1,this.iconName=void 0,this.description=void 0,this.commandActive=void 0,this.registry=void 0,this._compact=!1,this._hasToolbarContent=!1,this._hasStatusContent=!1,this._onLabelMutation=()=>{this._syncLabelSizer(),this._updateToolbarContent(),this._updateStatusContent()},this._onToolbarSlotChange=()=>{this._updateToolbarContent()},this._onStatusSlotChange=()=>{this._updateStatusContent()},this._onLabelSlotChange=()=>{this._syncLabelSizer()}}connectedCallback(){super.connectedCallback(),Bb.set(this,e=>{this._compact=e<64}),Hb().observe(this),this._wireSlotListeners(),Ub.set(this,this._onLabelMutation),Gb().observe(this,{childList:!0,characterData:!0,subtree:!0,attributes:!0,attributeFilter:[`slot`]})}disconnectedCallback(){super.disconnectedCallback(),Hb().unobserve(this),Bb.delete(this),this._commandCleanup?.(),this._commandCleanup=void 0,Ub.delete(this),this._unwireSlotListeners()}updated(e){super.updated(e),this._syncTooltipAttrs(),(e.has(`registry`)||e.has(`commandActive`))&&this._syncCommandListener()}_syncTooltipAttrs(){this.description?(this.setAttribute(`data-tooltip`,this.description),this.setAttribute(`data-tooltip-anchor`,`top`)):(this.removeAttribute(`data-tooltip`),this.removeAttribute(`data-tooltip-anchor`))}_syncCommandListener(){this._commandCleanup?.(),this._commandCleanup=void 0,this.registry&&this.commandActive&&(this._commandCleanup=this.registry.addOnInvokeHandler(e=>{e===this.commandActive&&this.click()}))}_wireSlotListeners(){(this.shadowRoot?.querySelector(`slot[name="toolbar"]`))?.addEventListener(`slotchange`,this._onToolbarSlotChange),(this.shadowRoot?.querySelector(`slot[name="status"]`))?.addEventListener(`slotchange`,this._onStatusSlotChange),(this.shadowRoot?.querySelector(`slot:not([name])`))?.addEventListener(`slotchange`,this._onLabelSlotChange)}_unwireSlotListeners(){(this.shadowRoot?.querySelector(`slot[name="toolbar"]`))?.removeEventListener(`slotchange`,this._onToolbarSlotChange),(this.shadowRoot?.querySelector(`slot[name="status"]`))?.removeEventListener(`slotchange`,this._onStatusSlotChange),(this.shadowRoot?.querySelector(`slot:not([name])`))?.removeEventListener(`slotchange`,this._onLabelSlotChange)}_syncLabelSizer(){let e=this.shadowRoot?.querySelector(`slot:not([name])`),n=this.shadowRoot?.querySelector(`.label`);if(e==null||n==null)return;let r=e.assignedNodes().filter(e=>!(e instanceof HTMLElement&&e.hasAttribute(`slot`))).map(e=>e.textContent??``).join(``);r?n.setAttribute(`data-label`,r):n.removeAttribute(`data-label`)}_updateToolbarContent(){this._hasToolbarContent=Array.from(this.children).some(e=>e.getAttribute(`slot`)===`toolbar`)}_updateStatusContent(){this._hasStatusContent=Array.from(this.children).some(e=>e.getAttribute(`slot`)===`status`)}firstUpdated(){this._wireSlotListeners(),this._updateToolbarContent(),this._updateStatusContent(),this._syncLabelSizer()}render(){let e=!this.hideLabels||!this.iconName,n=this.closeable||this._hasToolbarContent;return i`
|
|
6195
6195
|
<div>
|
|
6196
6196
|
${this.iconName?i`<ixfx-icon name="${this.iconName}"></ixfx-icon>`:a}
|
|
6197
6197
|
${e?i`<span class="label"><slot></slot></span>`:a}
|
|
@@ -6432,7 +6432,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6432
6432
|
:host(:hover) .close-btn {
|
|
6433
6433
|
opacity: var(--prominence-tickled-opacity);
|
|
6434
6434
|
}
|
|
6435
|
-
`]}};E([d({type:Boolean})],
|
|
6435
|
+
`]}};E([d({type:Boolean})],Kb.prototype,`closeable`,void 0),E([d({type:Boolean,attribute:`hide-labels`})],Kb.prototype,`hideLabels`,void 0),E([d({type:Boolean,attribute:`label-nogrow`})],Kb.prototype,`labelNogrow`,void 0),E([d({type:String,attribute:`icon-name`})],Kb.prototype,`iconName`,void 0),E([d({type:String})],Kb.prototype,`description`,void 0),E([d({type:String,attribute:`command-active`})],Kb.prototype,`commandActive`,void 0),E([d({attribute:!1})],Kb.prototype,`registry`,void 0),E([m()],Kb.prototype,`_compact`,void 0),E([m()],Kb.prototype,`_hasToolbarContent`,void 0),E([m()],Kb.prototype,`_hasStatusContent`,void 0),Kb=E([T(`ixfx-tab-list-item`)],Kb);let qb=class extends n{constructor(...e){super(...e),this.panelId=``,this.title=``,this.iconName=``,this.closable=!1,this.collapsible=!1,this.kind=`any`,this.accepts=``,this.presentation=`solo`,this._collapsed=!1,this._dragPointerId=null,this._dragStartX=0,this._dragStartY=0,this._dragStarted=!1,this._onPointerDown=e=>{e.button===0&&this.presentation!==`tabbed`&&this._isDragHandle(e)&&(this._dragPointerId=e.pointerId,this._dragStartX=e.clientX,this._dragStartY=e.clientY,this._dragStarted=!1,window.addEventListener(`pointermove`,this._onPointerMove),window.addEventListener(`pointerup`,this._onPointerUp),window.addEventListener(`pointercancel`,this._onPointerUp))},this._onPointerMove=e=>{if(this._dragPointerId!==null&&e.pointerId===this._dragPointerId&&!this._dragStarted){if(Math.hypot(e.clientX-this._dragStartX,e.clientY-this._dragStartY)<5)return;this._dragStarted=!0;let n=this._dragPointerId;this._teardownDragListeners(),this._dispatchDragStart(n,e.clientX,e.clientY)}},this._onPointerUp=e=>{this._dragPointerId!==null&&e.pointerId===this._dragPointerId&&this._teardownDragListeners()},this._onTitlebarToggle=e=>{e.stopPropagation(),this._collapsed=e.detail.collapsed,this.dispatchEvent(new CustomEvent(`toggle`,{detail:e.detail,bubbles:!0,composed:!0}))},this._onTitlebarClose=e=>{e.stopPropagation(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})),this.remove()}}connectedCallback(){super.connectedCallback(),this.hasAttribute(`title`)&&(this.hasAttribute(`label`)||(this.title=this.getAttribute(`title`)??``),this.removeAttribute(`title`)),this.addEventListener(`pointerdown`,this._onPointerDown)}disconnectedCallback(){super.disconnectedCallback(),this._teardownDragListeners(),this.removeEventListener(`pointerdown`,this._onPointerDown)}_teardownDragListeners(){this._dragPointerId=null,this._dragStarted=!1,window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp),window.removeEventListener(`pointercancel`,this._onPointerUp)}_isDragHandle(e){for(let n of e.composedPath())if(n instanceof HTMLElement&&(n.classList.contains(`close-btn`)||n.classList.contains(`caret-btn`)||n.classList.contains(`toolbar`)))return!1;return!0}_dispatchDragStart(e,n,r){this.panelId&&this.dispatchEvent(new CustomEvent(`dock-panel-drag-start`,{detail:{panelId:this.panelId,pointerId:e,clientX:n,clientY:r},bubbles:!0,composed:!0}))}render(){let e=this.presentation===`tabbed`,n=!e&&this._collapsed;return i`
|
|
6436
6436
|
${e?a:i`
|
|
6437
6437
|
<ixfx-titlebar
|
|
6438
6438
|
.title=${this.title}
|
|
@@ -6474,14 +6474,14 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6474
6474
|
.content[collapsed] {
|
|
6475
6475
|
display: none;
|
|
6476
6476
|
}
|
|
6477
|
-
`]}};E([d({type:String,attribute:`panel-id`,reflect:!0})],Kb.prototype,`panelId`,void 0),E([d({type:String,attribute:`label`})],Kb.prototype,`title`,void 0),E([d({type:String,attribute:`icon-name`})],Kb.prototype,`iconName`,void 0),E([d({type:Boolean})],Kb.prototype,`closable`,void 0),E([d({type:Boolean})],Kb.prototype,`collapsible`,void 0),E([d({type:String,reflect:!0})],Kb.prototype,`kind`,void 0),E([d({type:String,attribute:`accepts`})],Kb.prototype,`accepts`,void 0),E([d({type:String,reflect:!0})],Kb.prototype,`presentation`,void 0),E([m()],Kb.prototype,`_collapsed`,void 0),Kb=E([T(`ixfx-dock-panel`)],Kb);const qb=.25,Jb=`ixfx-tab-list-item, .ghost-tab`;let Yb=class extends n{constructor(...e){super(...e),this.layout=null,this.accepts=`tabs horizontal vertical`,this.isolated=!1,this.hideSingleTabStrip=!1,this.family=``,this.acceptsKinds=null,this._model=iy([]),this._pool=[],this._dropZone=null,this._dragActive=!1,this._dragPanel=null,this._liveStacks=new Map,this._junctions=[],this._toolbarsOut=new Map,this._leafContentRules=new Map,this._tabDragPending=null,this._junctionsKey=``,this._junctionsRaf=null,this._hostResizeObserver=null,this._loadGeneration=0,this._toolbarSlots=new Set,this._toolbarObserver=null,this._panelObservers=new Map,this.#e=new d_(this,{kind:`dock-host`,capture:()=>this.getViewState()}),this.#t=!1,this._onDragStart=e=>{if(e.composedPath().find(e=>e instanceof HTMLElement&&e.tagName===`IXFX-DOCK-HOST`)!==this)return;let{panelId:n,pointerId:r,clientX:i,clientY:a}=e.detail;Vv(n,this,r,i,a,this._findPanelEl(n)?.kind)},this._onPoolSlotChange=()=>{this._syncPool()},this._onJunctionPointerDown=(e,n)=>{if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let r=!1;for(let i of n.targets)i.split.isConnected&&i.split.beginGutterDrag(i.gutterIndex,e.pointerId,e.clientX,e.clientY)&&(r=!0);if(!r)return;this._suppressNextClick();let i=()=>this._scheduleJunctions(),a=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a),window.addEventListener(`pointercancel`,a)},this._onSplitWeightsChanged=()=>{this._foldLiveWeights(),this._scheduleJunctions(),this.#e.notify()},this._onInnerViewState=e=>{e.target===e.currentTarget&&e.stopPropagation()},this._onSplitCollapsed=(e,n)=>{let r=e.detail;if(!r?.id)return;let i=this.shadowRoot?.getElementById(r.id)?.getAttribute(`data-dock-path`);if(i==null)return;let a=G(this._model,ax(i));a===null||!W(a)||(n?a.collapsed=!0:delete a.collapsed,this.#e.notify())},this._onSplitClose=e=>{e.preventDefault();let n=e.detail;if(!n?.id)return;let r=this.shadowRoot?.getElementById(n.id)?.getAttribute(`data-dock-path`);if(r==null)return;let i=ax(r),a=G(this._model,i);if(a===null||!W(a))return;let o=[...a.panels];this._returnAllToolbars(),wy(this._model,i);for(let e of o)vy(this._firstStackAllowing(this._panelKind(e)),e);this._commit()},this._onTabChange=(e,n)=>{let r=e.detail.selected,i=G(this._model,n);i===null||!W(i)||by(i,r)&&(this.requestUpdate(),this.#e.notify(),this.dispatchEvent(new CustomEvent(`dock-panel-activated`,{detail:{panelId:r},bubbles:!0,composed:!0})))},this._onStripPointerDown=e=>{if(e.button!==0)return;let n=e.composedPath();for(let e of n)if(e instanceof HTMLElement&&(e.classList.contains(`list-toolbar`)||e.classList.contains(`close-btn`)))return;let r=ox(n);r!==null&&this._armPanelDrag(r.id,e)},this._onStripContextMenu=e=>{let n=ox(e.composedPath());n!==null&&(this._emit(`dock-tab-contextmenu`,{panelId:n.id,clientX:e.clientX,clientY:e.clientY},!0)||e.preventDefault())},this._onTabDragMove=e=>{let n=this._tabDragPending;n!==null&&e.pointerId===n.pointerId&&(Math.hypot(e.clientX-n.startX,e.clientY-n.startY)<5||(this._tabDragPending=null,this._teardownTabDragListeners(),this._suppressNextClick(),this.dispatchEvent(new CustomEvent(`dock-panel-drag-start`,{detail:{panelId:n.panelId,pointerId:n.pointerId,clientX:e.clientX,clientY:e.clientY},bubbles:!0,composed:!0}))))},this._onTabDragUp=e=>{this._tabDragPending!==null&&e.pointerId===this._tabDragPending.pointerId&&(this._tabDragPending=null,this._teardownTabDragListeners())}}#e;#t;connectedCallback(){super.connectedCallback(),this._buildInitialModel(),this._liveStacks=Ly(this._model),zv(this),this.addEventListener(`dock-panel-drag-start`,this._onDragStart),this._hostResizeObserver=new ResizeObserver(()=>this._scheduleJunctions()),this._hostResizeObserver.observe(this),this._scanToolbarSlots(),this._toolbarObserver=new MutationObserver(()=>this._scanToolbarSlots()),this._toolbarObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`slot`]})}disconnectedCallback(){super.disconnectedCallback(),Bv(this),this.removeEventListener(`dock-panel-drag-start`,this._onDragStart),this._toolbarObserver?.disconnect(),this._toolbarObserver=null,this._hostResizeObserver?.disconnect(),this._hostResizeObserver=null;for(let e of this._panelObservers.values())e.disconnect();this._panelObservers.clear(),this._junctionsRaf!==null&&(cancelAnimationFrame(this._junctionsRaf),this._junctionsRaf=null),this._junctions=[],this._junctionsKey=``,this._returnAllToolbars()}willUpdate(e){super.willUpdate(e);let n=!this.hasUpdated&&this.#t;if(e.has(`layout`)&&this.layout!==null&&!n){let e=Iy(this.layout);e&&(this._model=e.root,this._mergePoolIntoModel(),this._liveStacks=Ly(this._model))}this._returnToolbarsOfHiddenStrips()}_returnToolbarsOfHiddenStrips(){for(let[e,n]of[...this._toolbarsOut]){let r=uy(this._model,e),i=r===null?null:G(this._model,r);(i===null||!W(i)||this._stripHidden(i))&&this._returnToolbar(e,n)}}_stripHidden(e){return e.panels.length===1&&(e.hideSingleTabStrip??this.hideSingleTabStrip)}updated(e){super.updated(e),this._syncSlots(),this._syncToolbars(),this._scheduleJunctions()}_buildInitialModel(){if(this.#t){this._mergePoolIntoModel();return}if(this.layout!==null){let e=Iy(this.layout);if(e){this._model=e.root,this._mergePoolIntoModel();return}}this._model=iy([]),this._mergePoolIntoModel()}_mergePoolIntoModel(){let e=new Set(fy(this._model)),n=!1;for(let r of this._scanPanels())e.has(r.panelId)||(this._appendPanelToFirstStack(r.panelId),e.add(r.panelId),n=!0);n&&oy(this._model)}_scanPanels(){return Array.from(this.children).filter(e=>e instanceof HTMLElement&&e.tagName===`IXFX-DOCK-PANEL`&&!!e.panelId)}_scanToolbarSlots(){let e=new Set;for(let n of this.children){if(!(n instanceof HTMLElement))continue;let r=n.getAttribute(`slot`)??``;r.startsWith(`toolbar-`)&&r.length>8&&e.add(r)}(e.size!==this._toolbarSlots.size||[...e].some(e=>!this._toolbarSlots.has(e)))&&(this._toolbarSlots=e,this.requestUpdate())}_findPanelEl(e){return this._pool.find(n=>n.panelId===e)??this._scanPanels().find(n=>n.panelId===e)}_firstStack(){let e=gy(this._model),n=e.length>0?G(this._model,e[0]):null;if(n!==null&&W(n))return n;let r=iy([]);return Sy(this._model,`row`,r,`after`),oy(this._model),r}_appendPanelToFirstStack(e){let n=this._panelKind(e);if(this._model.kind===`stack`&&this._stackAllowsKind(this._model,n)){vy(this._model,e);return}vy(this._firstStackAllowing(n),e)}_panelKind(e){return ix(this._findPanelEl(e)?.kind)}_stackAllowsKind(e,n){if(e.name===void 0)return!0;let r=this._leafContentRules.get(e.name);return r===void 0?!0:r.deny.has(n)?!1:r.allow===null||r.allow.has(n)}_leafAllowsEdgeSplit(e){return e.name===void 0?!0:this._leafContentRules.get(e.name)?.allowEdgeSplit??!0}_firstStackAllowing(e){for(let n of gy(this._model)){let r=G(this._model,n);if(r!==null&&W(r)&&this._stackAllowsKind(r,e))return r}return console.warn(`[ixfx-dock-host] no leaf admits kind "${e}", using first stack`),this._firstStack()}_observePanel(e){if(this._panelObservers.has(e.panelId))return;let n=new MutationObserver(()=>this.requestUpdate());n.observe(e,{attributes:!0,attributeFilter:[`label`,`icon-name`,`closable`,`collapsible`,`kind`,`accepts`]}),this._panelObservers.set(e.panelId,n)}_unobservePanel(e){let n=this._panelObservers.get(e.panelId);n&&(n.disconnect(),this._panelObservers.delete(e.panelId))}_syncPool(){let e=this._scanPanels(),n=new Set(e.map(e=>e.panelId)),r=!1;for(let e of[...this._pool])n.has(e.panelId)||(this._unobservePanel(e),this._toolbarsOut.delete(e.panelId),this._removeFromModel(e.panelId),this._emitRemoved(e.panelId),r=!0);for(let n of e)this._observePanel(n),fy(this._model).includes(n.panelId)||(this._appendPanelToFirstStack(n.panelId),oy(this._model),this._emitAdded(n.panelId),r=!0);this._pool=e,this.requestUpdate(),r&&this._emitChange(`data`)}getViewState(e){let n=this._captureLayout(),r=e?.includePending??!0;return this.#e.shape({layout:r?n:Vy(n,e=>this._findPanelEl(e)!==void 0)},e)}setViewState(e){if(!this.#e.accepts(e)||e.layout===void 0)return;if(!zy(e.layout)){console.warn(`[dock-host] ignoring view state with a malformed layout`);return}let n=e.layout;this.#e.restoring(()=>{this.#t=!0,this._returnAllToolbars(),this._loadGeneration++,this._model=oy(rx(n.root)),this._mergePoolIntoModel(),this._liveStacks=Ly(this._model),this.requestUpdate(),this._emitChange()})}clearPendingViewState(){let e=fy(this._model).filter(e=>this._isPlaceholder(e));if(e.length!==0){for(let n of e)this._removeFromModel(n);this._commit()}}saveLayout(){return this._captureLayout()}loadLayout(e){this.setViewState({layout:e})}_captureLayout(){return this._foldLiveWeights(),Py(this._model)}_isPlaceholder(e){return!this._pool.some(n=>n.panelId===e)&&fy(this._model).includes(e)}addPanel(e,n){let r=(e instanceof HTMLElement,ix(e.kind)),i=n?.op??`tabs`,a=null,o=null;if(n?.container!==void 0){let e=py(this._model,n.container);if(e===null)console.warn(`[ixfx-dock-host] addPanel: unknown container "${n.container}", appending to first admitting stack`);else if(i===`tabs`&&!this._stackAllowsKindAt(e,r))return console.warn(`[ixfx-dock-host] addPanel: container "${n.container}" does not admit kind "${r}"`),!1;else if(i!==`tabs`&&!this._stackAllowsEdgeSplitAt(e))return console.warn(`[ixfx-dock-host] addPanel: container "${n.container}" forbids edge splits (allowEdgeSplit: false)`),!1;else a=e}else if(n?.stack){let e=uy(this._model,n.stack);if(e===null)console.warn(`[ixfx-dock-host] addPanel: unknown stack panel "${n.stack}", appending to first admitting stack`);else if(i===`tabs`&&!this._stackAllowsKindAt(e,r))return console.warn(`[ixfx-dock-host] addPanel: target stack does not admit kind "${r}"`),!1;else if(i!==`tabs`&&!this._stackAllowsEdgeSplitAt(e))return console.warn(`[ixfx-dock-host] addPanel: target stack forbids edge splits (allowEdgeSplit: false)`),!1;else a=e}a!==null&&i!==`tabs`&&(o=a,a=null);let s;e instanceof HTMLElement?s=e:(s=document.createElement(`ixfx-dock-panel`),s.panelId=e.panelId,e.title!==void 0&&(s.title=e.title),e.iconName!==void 0&&(s.iconName=e.iconName),e.closable!==void 0&&(s.closable=e.closable),e.collapsible!==void 0&&(s.collapsible=e.collapsible),e.kind!==void 0&&(s.kind=e.kind));let c=n===void 0&&this._isPlaceholder(s.panelId);if(s.parentElement!==this&&this.appendChild(s),this._pool.some(e=>e.panelId===s.panelId)||(this._pool=[...this._pool,s]),this._returnAllToolbars(),!c&&fy(this._model).includes(s.panelId)&&this._removeFromModel(s.panelId),!c){if(o!==null)xy(this._model,o,Xb(i),iy([s.panelId]),`after`);else if(a!==null){let e=G(this._model,a);e!==null&&W(e)&&vy(e,s.panelId,n?.index)}else this._appendPanelToFirstStack(s.panelId)}return oy(this._model),this.requestUpdate(),this._emitAdded(s.panelId),this._emitChange(),!0}_stackAllowsKindAt(e,n){let r=G(this._model,e);return r!==null&&W(r)&&this._stackAllowsKind(r,n)}_stackAllowsEdgeSplitAt(e){let n=G(this._model,e);return n===null||!W(n)||this._leafAllowsEdgeSplit(n)}removePanel(e){return fy(this._model).includes(e)?(this._returnAllToolbars(),this._removeFromModel(e),this._pool=this._pool.filter(n=>n.panelId!==e),this._toolbarsOut.delete(e),this._scanPanels().find(n=>n.panelId===e)?.remove(),oy(this._model),this.requestUpdate(),this._emitRemoved(e),this._emitChange(),!0):!1}activatePanel(e){let n=uy(this._model,e);if(n===null)return!1;let r=G(this._model,n);return r===null||!W(r)||!by(r,e)?!1:(this.requestUpdate(),this.#e.notify(),this.dispatchEvent(new CustomEvent(`dock-panel-activated`,{detail:{panelId:e},bubbles:!0,composed:!0})),!0)}getPanelIds(){return fy(this._model)}getContainerNames(){return hy(this._model)}getContainer(e){let n=py(this._model,e);if(n===null)return null;let r=G(this._model,n);return r===null||!W(r)||r.name===void 0?null:{name:r.name,panels:[...r.panels],active:r.active}}getContainerPanels(e){return this.getContainer(e)?.panels??[]}getContainerElements(e){return this.getContainerPanels(e).map(e=>this._findPanelEl(e)).filter(e=>e!==void 0)}_defaultLeafRule(){return{allow:null,deny:new Set,allowEdgeSplit:!0}}_isEmptyLeafRule(e){return e.allow===null&&e.deny.size===0&&e.allowEdgeSplit}_warnUnknownContainer(e,n){py(this._model,n)===null&&console.warn(`[ixfx-dock-host] ${e}: no container named "${n}" yet; rule stored`)}setLeafExclusiveContents(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafExclusiveContents: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();i.allow=new Set(n.map(e=>e.trim()).filter(e=>e.length>0)),this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafExclusiveContents`,r)}setLeafDenyContents(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafDenyContents: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();i.deny=new Set(n.map(e=>e.trim()).filter(e=>e.length>0)),this._isEmptyLeafRule(i)?this._leafContentRules.delete(r):this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafDenyContents`,r)}setLeafPlacementPolicy(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafPlacementPolicy: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();n.allowKinds!==void 0&&(i.allow=new Set(n.allowKinds.map(e=>e.trim()).filter(e=>e.length>0))),n.denyKinds!==void 0&&(i.deny=new Set(n.denyKinds.map(e=>e.trim()).filter(e=>e.length>0))),n.allowEdgeSplit!==void 0&&(i.allowEdgeSplit=n.allowEdgeSplit),this._isEmptyLeafRule(i)?this._leafContentRules.delete(r):this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafPlacementPolicy`,r)}clearLeafContentRestrictions(e){this._leafContentRules.delete(e.trim())}clearLeafPlacementPolicy(e){this._leafContentRules.delete(e.trim())}getLeafContentRestrictions(e){let n=this._leafContentRules.get(e.trim());return n===void 0?null:{allow:n.allow===null?null:[...n.allow],deny:[...n.deny]}}getLeafPlacementPolicy(e){let n=this._leafContentRules.get(e.trim());return n===void 0?null:{allowKinds:n.allow===null?null:[...n.allow],denyKinds:[...n.deny],allowEdgeSplit:n.allowEdgeSplit}}getNeighbours(e){return Ay(this._model,e)}moveLeaf(e,n){return My(this._model,e,n)?(this._commit(),!0):!1}moveLeafToEdge(e,n){return Ny(this._model,e,n)?(this._commit(),!0):!1}getPanelSnapshot(e){let n=this._findPanelEl(e);return n===void 0?null:{panelId:n.panelId,title:n.title,iconName:n.iconName,closable:n.closable,collapsible:n.collapsible,kind:ix(n.kind),accepts:n.accepts,contentHTML:n.innerHTML}}detachPanel(e){let n=this.getPanelSnapshot(e);return n===null?null:(this.removePanel(e),n)}queryDropTarget(e,n,r=`__external__`,i){let a=this.computeDropZone(e,n,r,i);return a===null?null:nx(a)}previewExternalDrop(e,n,r=`__external__`,i){this.setDragActive(!0,{panelId:r,kind:i});let a=this.computeDropZone(e,n,r,i);return this.setDropZone(a),a===null?null:nx(a)}endExternalDrop(){this.setDropZone(null),this.setDragActive(!1)}acceptExternalPanel(e,n){let r=this._isPlaceholder(e.panelId);if(!r&&fy(this._model).includes(e.panelId)||this.acceptsKinds!==null&&!this.acceptsKinds.includes(ix(e.kind)))return null;let i=document.createElement(`ixfx-dock-panel`);i.panelId=e.panelId,e.title!==void 0&&(i.title=e.title),e.iconName!==void 0&&(i.iconName=e.iconName),e.closable!==void 0&&(i.closable=e.closable),e.collapsible!==void 0&&(i.collapsible=e.collapsible),`kind`in e&&e.kind!==void 0&&(i.kind=e.kind),`accepts`in e&&e.accepts&&i.setAttribute(`accepts`,e.accepts),`contentHTML`in e&&e.contentHTML&&(i.innerHTML=e.contentHTML),this._returnAllToolbars(),this._pool=[...this._pool,i],r||this._appendPanelToFirstStack(i.panelId),this.appendChild(i),oy(this._model),this.endExternalDrop();let a=n?this.computeDropZone(n.clientX,n.clientY,i.panelId):null;return a!==null&&this._applyZone(i.panelId,a),oy(this._model),this.requestUpdate(),this._emitAdded(i.panelId),this._emitChange(),i}computeDropZone(e,n,r,i){let a=this.getBoundingClientRect();if(e<a.left||e>a.right||n<a.top||n>a.bottom)return null;let o=i?.trim()?i.trim():this._panelKind(r),s=e=>({x:e.left-a.left,y:e.top-a.top,w:e.width,h:e.height}),c=Qb(this.accepts,`horizontal`)||Qb(this.accepts,`vertical`);for(let i of gy(this._model)){let l=this.shadowRoot?.querySelector(`[data-dock-path="${i.join(`-`)}"]`);if(!l)continue;let u=l.getBoundingClientRect();if(e<u.left||e>u.right||n<u.top||n>u.bottom)continue;let d=G(this._model,i);if(d===null||!W(d))continue;let f=l.querySelector(`ixfx-tab-list`)??l.querySelector(`.ghost-strip`);if(f!==null){let c=f.getBoundingClientRect();if(e>=c.left&&e<=c.right&&n>=c.top&&n<=c.bottom){let c=cx(f,e,n),l={host:this,operation:`tabs`,targetPath:i,side:`after`,gapIndex:c,rect:s(u),caretRect:this._stripCaretRect(f,c,a)};return this._zoneAllowed(r,l,o)?l:null}}let p=(e-u.left)/Math.max(u.width,1),m=(n-u.top)/Math.max(u.height,1);if(!c||p>=qb&&p<=.75&&m>=qb&&m<=.75){let e={host:this,operation:`tabs`,targetPath:i,side:`after`,gapIndex:d.panels.length,rect:s(u)};return this._zoneAllowed(r,e,o)?e:null}let h=s(u),g,_,v;p<qb?(g=`split-vertical`,_=`before`,v={...h,w:h.w/2}):p>.75?(g=`split-vertical`,_=`after`,v={x:h.x+h.w/2,y:h.y,w:h.w/2,h:h.h}):m<qb?(g=`split-horizontal`,_=`before`,v={...h,h:h.h/2}):(g=`split-horizontal`,_=`after`,v={x:h.x,y:h.y+h.h/2,w:h.w,h:h.h/2});let y={host:this,operation:g,targetPath:i,side:_,rect:v};return this._zoneAllowed(r,y,o)?y:null}let l=e-a.left,u=a.right-e,d=n-a.top,f=a.bottom-n,p=Math.min(l,u,d,f),m={x:0,y:0,w:a.width,h:a.height},h,g,_;p===l?(h=`split-vertical`,g=`before`,_={...m,w:m.w/2}):p===u?(h=`split-vertical`,g=`after`,_={x:m.x+m.w/2,y:m.y,w:m.w/2,h:m.h}):p===d?(h=`split-horizontal`,g=`before`,_={...m,h:m.h/2}):(h=`split-horizontal`,g=`after`,_={x:m.x,y:m.y+m.h/2,w:m.w,h:m.h/2});let v={host:this,operation:h,targetPath:[],side:g,rect:_};return this._zoneAllowed(r,v,o)?v:null}_zoneAllowed(e,n,r){if(this.acceptsKinds!==null&&!fy(this._model).includes(e)&&!this.acceptsKinds.includes(ix(r))||!Qb(this.accepts,Zb(n.operation)))return!1;let i=G(this._model,n.targetPath);if(i!==null&&W(i)&&i.panels.length===1){let e=this._findPanelEl(i.panels[0]);if(e&&!$b(e.accepts,Zb(n.operation)))return!1}return!(n.operation===`tabs`&&i!==null&&W(i)&&!this._stackAllowsKind(i,r?.trim()?r.trim():this._panelKind(e))||n.operation!==`tabs`&&i!==null&&W(i)&&!this._leafAllowsEdgeSplit(i)||this.canAccept&&!this.canAccept(e,n.operation))}handleDrop(e,n,r){if(r!==void 0&&r!==this&&r.releasePanel(e,this),!fy(this._model).includes(e)){if(!this._findPanelEl(e))return;this._appendPanelToFirstStack(e),oy(this._model)}this._applyZone(e,n,r===void 0||r===this),this._commit(),r!==void 0&&r!==this&&this._emit(`dock-panel-moved`,{panelId:e,sourceHost:r,targetHost:this})}_applyZone(e,n,r=!1){let i=uy(this._model,e),a=null;if(i!==null){let n=G(this._model,i);n!==null&&W(n)&&(yy(n,e),n.panels.length===0&&(a=n))}if(n.operation===`tabs`){let i=G(this._model,n.targetPath);i!==null&&W(i)&&(vy(i,e,n.gapIndex),r&&a!==null&&a!==i&&a.name!==void 0&&i.name===void 0&&(i.name=a.name,delete a.name))}else xy(this._model,n.targetPath,Xb(n.operation),iy([e]),n.side)}releasePanel(e,n){this._returnAllToolbars();let r=this._pool.find(n=>n.panelId===e),i=uy(this._model,e);if(i!==null){let n=G(this._model,i);n!==null&&W(n)&&yy(n,e)}oy(this._model),this._pool=this._pool.filter(e=>e!==r),this._toolbarsOut.delete(e),this._emitRemoved(e,n),r!==void 0&&n.adoptPanelElement(r,this),this.requestUpdate(),this._emitChange()}adoptPanelElement(e,n=null){this._pool.some(n=>n.panelId===e.panelId)||(this._pool=[...this._pool,e]),fy(this._model).includes(e.panelId)||this._appendPanelToFirstStack(e.panelId),this.appendChild(e),oy(this._model),this._emitAdded(e.panelId,n)}setDragActive(e,n){let r=e&&n!==void 0?n:null;this._dragActive!==e&&(this._dragActive=e,this.requestUpdate()),(this._dragPanel?.panelId!==r?.panelId||this._dragPanel?.kind!==r?.kind)&&(this._dragPanel=r)}setDropZone(e){this._dropZone!==e&&(this._dropZone=e,this.requestUpdate())}_scheduleJunctions(){this._junctionsRaf===null&&(this._junctionsRaf=requestAnimationFrame(()=>{this._junctionsRaf=null,this._computeJunctions()}))}_computeJunctions(){let e=this.shadowRoot;if(e===null)return;let n=this.getBoundingClientRect(),r=[];for(let i of e.querySelectorAll(`ixfx-split-layout`)){let e=i.parentElement?.closest(`ixfx-split-layout`)??null;if(e===null||typeof i.getGutterRects!=`function`||typeof e.getGutterRects!=`function`)continue;let a=i.getBoundingClientRect();for(let[o,s]of e.getGutterRects().entries())for(let[c,l]of i.getGutterRects().entries()){let u=s.width<=s.height;if(u===l.width<=l.height)continue;let d,f;if(u){if(d=s.left+s.width/2,f=l.top+l.height/2,Math.abs(d-a.left)>6&&Math.abs(d-a.right)>6||f<s.top||f>s.bottom)continue}else if(f=s.top+s.height/2,d=l.left+l.width/2,Math.abs(f-a.top)>6&&Math.abs(f-a.bottom)>6||d<s.left||d>s.right)continue;r.push({x:d-n.left,y:f-n.top,targets:[{split:e,gutterIndex:o},{split:i,gutterIndex:c}]})}}let i=[];for(let e of r){let n=i.find(n=>Math.abs(n.x-e.x)<=8&&Math.abs(n.y-e.y)<=8);if(n===void 0){i.push(e);continue}for(let r of e.targets)n.targets.some(e=>e.split===r.split&&e.gutterIndex===r.gutterIndex)||n.targets.push(r)}let a=i.map(e=>`${Math.round(e.x)},${Math.round(e.y)}:${e.targets.map(e=>`${e.split.getAttribute(`data-dock-path`)??``}#${e.gutterIndex}`).join(`|`)}`).join(`;`);a!==this._junctionsKey&&(this._junctionsKey=a,this._junctions=i)}_foldLiveWeights(){let e=this.shadowRoot?.querySelectorAll(`ixfx-split-layout[data-dock-path]`);if(e!==void 0)for(let n of e){if(n.getAttribute(`data-dock-gen`)!==String(this._loadGeneration))continue;let e=n.getAttribute(`data-dock-path`);if(e===null)continue;let r=G(this._model,ax(e));if(r===null||!ty(r))continue;let i=Object.values(n.getSizes());i.length===r.children.length&&!ex(i,r.sizes)&&(r.sizes=i,Array.from(n.children).forEach((e,n)=>{e instanceof HTMLElement&&r.sizes[n]!==void 0&&e.setAttribute(`size`,String(r.sizes[n]))}))}}beginPanelDrag(e,n){return n.button!==0||!fy(this._model).includes(e)?!1:(this._armPanelDrag(e,n),!0)}_armPanelDrag(e,n){this._tabDragPending={panelId:e,pointerId:n.pointerId,startX:n.clientX,startY:n.clientY},window.addEventListener(`pointermove`,this._onTabDragMove),window.addEventListener(`pointerup`,this._onTabDragUp),window.addEventListener(`pointercancel`,this._onTabDragUp)}_teardownTabDragListeners(){window.removeEventListener(`pointermove`,this._onTabDragMove),window.removeEventListener(`pointerup`,this._onTabDragUp),window.removeEventListener(`pointercancel`,this._onTabDragUp)}_suppressNextClick(){let e=n=>{n.preventDefault(),n.stopPropagation(),window.removeEventListener(`click`,e,!0)};window.addEventListener(`click`,e,!0)}_removeFromModel(e){let n=uy(this._model,e);if(n===null)return;let r=G(this._model,n);r!==null&&W(r)&&yy(r,e),oy(this._model)}_commit(){oy(this._model),this.requestUpdate(),this._emitChange()}_syncSlots(){let e=new Set,n=r=>{if(W(r))for(let n of r.panels){e.add(n);let r=this._findPanelEl(n);r!==void 0&&(r.setAttribute(`slot`,`dock-panel-${n}`),r.presentation=`tabbed`)}else r.children.forEach(n)};n(this._model);for(let n of this._pool)e.has(n.panelId)||(n.setAttribute(`slot`,``),n.presentation=`solo`)}_syncToolbars(){let e=new Map,n=r=>{if(W(r)){if(r.panels.length>0&&r.active){let n=this._findPanelEl(r.active);n!==void 0&&e.set(r.active,sx(n))}}else r.children.forEach(n)};n(this._model);for(let[n,r]of this._toolbarsOut)e.has(n)||this._returnToolbar(n,r);for(let[n,r]of e){if(this._toolbarsOut.has(n)||r.length===0)continue;let e=this.shadowRoot?.getElementById(n);if(e!=null){for(let n of r)e.appendChild(n);this._toolbarsOut.set(n,r)}}}_returnToolbar(e,n){let r=this._findPanelEl(e);if(r!==void 0)for(let e of n)e.isConnected&&r.appendChild(e);this._toolbarsOut.delete(e)}_returnAllToolbars(){for(let[e,n]of[...this._toolbarsOut])this._returnToolbar(e,n)}_emit(e,n,r=!1){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:r}))}_emitAdded(e,n=null){this._emit(`dock-panel-added`,{panelId:e,sourceHost:n,targetHost:this})}_emitRemoved(e,n=null){this._emit(`dock-panel-removed`,{panelId:e,sourceHost:this,targetHost:n})}_announceEmptiedStacks(){let e=Ly(this._model),n=Ry(this._liveStacks,e);this._liveStacks=e;for(let r of n)this._emit(`dock-stack-empty`,{name:r.name??null,hostEmpty:e.size===0})}_emitChange(e=`user`){let n=this._captureLayout();this._announceEmptiedStacks(),this._emit(`dock-change`,{layout:n}),this.#e.notify(e)}render(){return i`
|
|
6477
|
+
`]}};E([d({type:String,attribute:`panel-id`,reflect:!0})],qb.prototype,`panelId`,void 0),E([d({type:String,attribute:`label`})],qb.prototype,`title`,void 0),E([d({type:String,attribute:`icon-name`})],qb.prototype,`iconName`,void 0),E([d({type:Boolean})],qb.prototype,`closable`,void 0),E([d({type:Boolean})],qb.prototype,`collapsible`,void 0),E([d({type:String,reflect:!0})],qb.prototype,`kind`,void 0),E([d({type:String,attribute:`accepts`})],qb.prototype,`accepts`,void 0),E([d({type:String,reflect:!0})],qb.prototype,`presentation`,void 0),E([m()],qb.prototype,`_collapsed`,void 0),qb=E([T(`ixfx-dock-panel`)],qb);const Jb=.25,Yb=`ixfx-tab-list-item, .ghost-tab`;let Xb=class extends n{constructor(...e){super(...e),this.layout=null,this.accepts=`tabs horizontal vertical`,this.isolated=!1,this.hideSingleTabStrip=!1,this.family=``,this.acceptsKinds=null,this._model=ay([]),this._pool=[],this._dropZone=null,this._dragActive=!1,this._dragPanel=null,this._liveStacks=new Map,this._junctions=[],this._toolbarsOut=new Map,this._leafContentRules=new Map,this._tabDragPending=null,this._junctionsKey=``,this._junctionsRaf=null,this._hostResizeObserver=null,this._loadGeneration=0,this._toolbarSlots=new Set,this._toolbarObserver=null,this._panelObservers=new Map,this.#e=new f_(this,{kind:`dock-host`,capture:()=>this.getViewState()}),this.#t=!1,this._onDragStart=e=>{if(e.composedPath().find(e=>e instanceof HTMLElement&&e.tagName===`IXFX-DOCK-HOST`)!==this)return;let{panelId:n,pointerId:r,clientX:i,clientY:a}=e.detail;Hv(n,this,r,i,a,this._findPanelEl(n)?.kind)},this._onPoolSlotChange=()=>{this._syncPool()},this._onJunctionPointerDown=(e,n)=>{if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let r=!1;for(let i of n.targets)i.split.isConnected&&i.split.beginGutterDrag(i.gutterIndex,e.pointerId,e.clientX,e.clientY)&&(r=!0);if(!r)return;this._suppressNextClick();let i=()=>this._scheduleJunctions(),a=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a),window.addEventListener(`pointercancel`,a)},this._onSplitWeightsChanged=()=>{this._foldLiveWeights(),this._scheduleJunctions(),this.#e.notify()},this._onInnerViewState=e=>{e.target===e.currentTarget&&e.stopPropagation()},this._onSplitCollapsed=(e,n)=>{let r=e.detail;if(!r?.id)return;let i=this.shadowRoot?.getElementById(r.id)?.getAttribute(`data-dock-path`);if(i==null)return;let a=W(this._model,ox(i));a===null||!U(a)||(n?a.collapsed=!0:delete a.collapsed,this.#e.notify())},this._onSplitClose=e=>{e.preventDefault();let n=e.detail;if(!n?.id)return;let r=this.shadowRoot?.getElementById(n.id)?.getAttribute(`data-dock-path`);if(r==null)return;let i=ox(r),a=W(this._model,i);if(a===null||!U(a))return;let o=[...a.panels];this._returnAllToolbars(),Ty(this._model,i);for(let e of o)yy(this._firstStackAllowing(this._panelKind(e)),e);this._commit()},this._onTabChange=(e,n)=>{let r=e.detail.selected,i=W(this._model,n);i===null||!U(i)||xy(i,r)&&(this.requestUpdate(),this.#e.notify(),this.dispatchEvent(new CustomEvent(`dock-panel-activated`,{detail:{panelId:r},bubbles:!0,composed:!0})))},this._onStripPointerDown=e=>{if(e.button!==0)return;let n=e.composedPath();for(let e of n)if(e instanceof HTMLElement&&(e.classList.contains(`list-toolbar`)||e.classList.contains(`close-btn`)))return;let r=sx(n);r!==null&&this._armPanelDrag(r.id,e)},this._onStripContextMenu=e=>{let n=sx(e.composedPath());n!==null&&(this._emit(`dock-tab-contextmenu`,{panelId:n.id,clientX:e.clientX,clientY:e.clientY},!0)||e.preventDefault())},this._onTabDragMove=e=>{let n=this._tabDragPending;n!==null&&e.pointerId===n.pointerId&&(Math.hypot(e.clientX-n.startX,e.clientY-n.startY)<5||(this._tabDragPending=null,this._teardownTabDragListeners(),this._suppressNextClick(),this.dispatchEvent(new CustomEvent(`dock-panel-drag-start`,{detail:{panelId:n.panelId,pointerId:n.pointerId,clientX:e.clientX,clientY:e.clientY},bubbles:!0,composed:!0}))))},this._onTabDragUp=e=>{this._tabDragPending!==null&&e.pointerId===this._tabDragPending.pointerId&&(this._tabDragPending=null,this._teardownTabDragListeners())}}#e;#t;connectedCallback(){super.connectedCallback(),this._buildInitialModel(),this._liveStacks=Ry(this._model),Bv(this),this.addEventListener(`dock-panel-drag-start`,this._onDragStart),this._hostResizeObserver=new ResizeObserver(()=>this._scheduleJunctions()),this._hostResizeObserver.observe(this),this._scanToolbarSlots(),this._toolbarObserver=new MutationObserver(()=>this._scanToolbarSlots()),this._toolbarObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`slot`]})}disconnectedCallback(){super.disconnectedCallback(),Vv(this),this.removeEventListener(`dock-panel-drag-start`,this._onDragStart),this._toolbarObserver?.disconnect(),this._toolbarObserver=null,this._hostResizeObserver?.disconnect(),this._hostResizeObserver=null;for(let e of this._panelObservers.values())e.disconnect();this._panelObservers.clear(),this._junctionsRaf!==null&&(cancelAnimationFrame(this._junctionsRaf),this._junctionsRaf=null),this._junctions=[],this._junctionsKey=``,this._returnAllToolbars()}willUpdate(e){super.willUpdate(e);let n=!this.hasUpdated&&this.#t;if(e.has(`layout`)&&this.layout!==null&&!n){let e=Ly(this.layout);e&&(this._model=e.root,this._mergePoolIntoModel(),this._liveStacks=Ry(this._model))}this._returnToolbarsOfHiddenStrips()}_returnToolbarsOfHiddenStrips(){for(let[e,n]of[...this._toolbarsOut]){let r=dy(this._model,e),i=r===null?null:W(this._model,r);(i===null||!U(i)||this._stripHidden(i))&&this._returnToolbar(e,n)}}_stripHidden(e){return e.panels.length===1&&(e.hideSingleTabStrip??this.hideSingleTabStrip)}updated(e){super.updated(e),this._syncSlots(),this._syncToolbars(),this._scheduleJunctions()}_buildInitialModel(){if(this.#t){this._mergePoolIntoModel();return}if(this.layout!==null){let e=Ly(this.layout);if(e){this._model=e.root,this._mergePoolIntoModel();return}}this._model=ay([]),this._mergePoolIntoModel()}_mergePoolIntoModel(){let e=new Set(py(this._model)),n=!1;for(let r of this._scanPanels())e.has(r.panelId)||(this._appendPanelToFirstStack(r.panelId),e.add(r.panelId),n=!0);n&&sy(this._model)}_scanPanels(){return Array.from(this.children).filter(e=>e instanceof HTMLElement&&e.tagName===`IXFX-DOCK-PANEL`&&!!e.panelId)}_scanToolbarSlots(){let e=new Set;for(let n of this.children){if(!(n instanceof HTMLElement))continue;let r=n.getAttribute(`slot`)??``;r.startsWith(`toolbar-`)&&r.length>8&&e.add(r)}(e.size!==this._toolbarSlots.size||[...e].some(e=>!this._toolbarSlots.has(e)))&&(this._toolbarSlots=e,this.requestUpdate())}_findPanelEl(e){return this._pool.find(n=>n.panelId===e)??this._scanPanels().find(n=>n.panelId===e)}_firstStack(){let e=_y(this._model),n=e.length>0?W(this._model,e[0]):null;if(n!==null&&U(n))return n;let r=ay([]);return Cy(this._model,`row`,r,`after`),sy(this._model),r}_appendPanelToFirstStack(e){let n=this._panelKind(e);if(this._model.kind===`stack`&&this._stackAllowsKind(this._model,n)){yy(this._model,e);return}yy(this._firstStackAllowing(n),e)}_panelKind(e){return ax(this._findPanelEl(e)?.kind)}_stackAllowsKind(e,n){if(e.name===void 0)return!0;let r=this._leafContentRules.get(e.name);return r===void 0?!0:r.deny.has(n)?!1:r.allow===null||r.allow.has(n)}_leafAllowsEdgeSplit(e){return e.name===void 0?!0:this._leafContentRules.get(e.name)?.allowEdgeSplit??!0}_firstStackAllowing(e){for(let n of _y(this._model)){let r=W(this._model,n);if(r!==null&&U(r)&&this._stackAllowsKind(r,e))return r}return console.warn(`[ixfx-dock-host] no leaf admits kind "${e}", using first stack`),this._firstStack()}_observePanel(e){if(this._panelObservers.has(e.panelId))return;let n=new MutationObserver(()=>this.requestUpdate());n.observe(e,{attributes:!0,attributeFilter:[`label`,`icon-name`,`closable`,`collapsible`,`kind`,`accepts`]}),this._panelObservers.set(e.panelId,n)}_unobservePanel(e){let n=this._panelObservers.get(e.panelId);n&&(n.disconnect(),this._panelObservers.delete(e.panelId))}_syncPool(){let e=this._scanPanels(),n=new Set(e.map(e=>e.panelId)),r=!1;for(let e of[...this._pool])n.has(e.panelId)||(this._unobservePanel(e),this._toolbarsOut.delete(e.panelId),this._removeFromModel(e.panelId),this._emitRemoved(e.panelId),r=!0);for(let n of e)this._observePanel(n),py(this._model).includes(n.panelId)||(this._appendPanelToFirstStack(n.panelId),sy(this._model),this._emitAdded(n.panelId),r=!0);this._pool=e,this.requestUpdate(),r&&this._emitChange(`data`)}getViewState(e){let n=this._captureLayout(),r=e?.includePending??!0;return this.#e.shape({layout:r?n:Hy(n,e=>this._findPanelEl(e)!==void 0)},e)}setViewState(e){if(!this.#e.accepts(e)||e.layout===void 0)return;if(!By(e.layout)){console.warn(`[dock-host] ignoring view state with a malformed layout`);return}let n=e.layout;this.#e.restoring(()=>{this.#t=!0,this._returnAllToolbars(),this._loadGeneration++,this._model=sy(ix(n.root)),this._mergePoolIntoModel(),this._liveStacks=Ry(this._model),this.requestUpdate(),this._emitChange()})}clearPendingViewState(){let e=py(this._model).filter(e=>this._isPlaceholder(e));if(e.length!==0){for(let n of e)this._removeFromModel(n);this._commit()}}saveLayout(){return this._captureLayout()}loadLayout(e){this.setViewState({layout:e})}_captureLayout(){return this._foldLiveWeights(),Fy(this._model)}_isPlaceholder(e){return!this._pool.some(n=>n.panelId===e)&&py(this._model).includes(e)}addPanel(e,n){let r=(e instanceof HTMLElement,ax(e.kind)),i=n?.op??`tabs`,a=null,o=null;if(n?.container!==void 0){let e=my(this._model,n.container);if(e===null)console.warn(`[ixfx-dock-host] addPanel: unknown container "${n.container}", appending to first admitting stack`);else if(i===`tabs`&&!this._stackAllowsKindAt(e,r))return console.warn(`[ixfx-dock-host] addPanel: container "${n.container}" does not admit kind "${r}"`),!1;else if(i!==`tabs`&&!this._stackAllowsEdgeSplitAt(e))return console.warn(`[ixfx-dock-host] addPanel: container "${n.container}" forbids edge splits (allowEdgeSplit: false)`),!1;else a=e}else if(n?.stack){let e=dy(this._model,n.stack);if(e===null)console.warn(`[ixfx-dock-host] addPanel: unknown stack panel "${n.stack}", appending to first admitting stack`);else if(i===`tabs`&&!this._stackAllowsKindAt(e,r))return console.warn(`[ixfx-dock-host] addPanel: target stack does not admit kind "${r}"`),!1;else if(i!==`tabs`&&!this._stackAllowsEdgeSplitAt(e))return console.warn(`[ixfx-dock-host] addPanel: target stack forbids edge splits (allowEdgeSplit: false)`),!1;else a=e}a!==null&&i!==`tabs`&&(o=a,a=null);let s;e instanceof HTMLElement?s=e:(s=document.createElement(`ixfx-dock-panel`),s.panelId=e.panelId,e.title!==void 0&&(s.title=e.title),e.iconName!==void 0&&(s.iconName=e.iconName),e.closable!==void 0&&(s.closable=e.closable),e.collapsible!==void 0&&(s.collapsible=e.collapsible),e.kind!==void 0&&(s.kind=e.kind));let c=n===void 0&&this._isPlaceholder(s.panelId);if(s.parentElement!==this&&this.appendChild(s),this._pool.some(e=>e.panelId===s.panelId)||(this._pool=[...this._pool,s]),this._returnAllToolbars(),!c&&py(this._model).includes(s.panelId)&&this._removeFromModel(s.panelId),!c){if(o!==null)Sy(this._model,o,Zb(i),ay([s.panelId]),`after`);else if(a!==null){let e=W(this._model,a);e!==null&&U(e)&&yy(e,s.panelId,n?.index)}else this._appendPanelToFirstStack(s.panelId)}return sy(this._model),this.requestUpdate(),this._emitAdded(s.panelId),this._emitChange(),!0}_stackAllowsKindAt(e,n){let r=W(this._model,e);return r!==null&&U(r)&&this._stackAllowsKind(r,n)}_stackAllowsEdgeSplitAt(e){let n=W(this._model,e);return n===null||!U(n)||this._leafAllowsEdgeSplit(n)}removePanel(e){return py(this._model).includes(e)?(this._returnAllToolbars(),this._removeFromModel(e),this._pool=this._pool.filter(n=>n.panelId!==e),this._toolbarsOut.delete(e),this._scanPanels().find(n=>n.panelId===e)?.remove(),sy(this._model),this.requestUpdate(),this._emitRemoved(e),this._emitChange(),!0):!1}activatePanel(e){let n=dy(this._model,e);if(n===null)return!1;let r=W(this._model,n);return r===null||!U(r)||!xy(r,e)?!1:(this.requestUpdate(),this.#e.notify(),this.dispatchEvent(new CustomEvent(`dock-panel-activated`,{detail:{panelId:e},bubbles:!0,composed:!0})),!0)}getPanelIds(){return py(this._model)}getContainerNames(){return gy(this._model)}getContainer(e){let n=my(this._model,e);if(n===null)return null;let r=W(this._model,n);return r===null||!U(r)||r.name===void 0?null:{name:r.name,panels:[...r.panels],active:r.active}}getContainerPanels(e){return this.getContainer(e)?.panels??[]}getContainerElements(e){return this.getContainerPanels(e).map(e=>this._findPanelEl(e)).filter(e=>e!==void 0)}_defaultLeafRule(){return{allow:null,deny:new Set,allowEdgeSplit:!0}}_isEmptyLeafRule(e){return e.allow===null&&e.deny.size===0&&e.allowEdgeSplit}_warnUnknownContainer(e,n){my(this._model,n)===null&&console.warn(`[ixfx-dock-host] ${e}: no container named "${n}" yet; rule stored`)}setLeafExclusiveContents(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafExclusiveContents: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();i.allow=new Set(n.map(e=>e.trim()).filter(e=>e.length>0)),this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafExclusiveContents`,r)}setLeafDenyContents(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafDenyContents: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();i.deny=new Set(n.map(e=>e.trim()).filter(e=>e.length>0)),this._isEmptyLeafRule(i)?this._leafContentRules.delete(r):this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafDenyContents`,r)}setLeafPlacementPolicy(e,n){let r=e.trim();if(!r){console.warn(`[ixfx-dock-host] setLeafPlacementPolicy: empty container name`);return}let i=this._leafContentRules.get(r)??this._defaultLeafRule();n.allowKinds!==void 0&&(i.allow=new Set(n.allowKinds.map(e=>e.trim()).filter(e=>e.length>0))),n.denyKinds!==void 0&&(i.deny=new Set(n.denyKinds.map(e=>e.trim()).filter(e=>e.length>0))),n.allowEdgeSplit!==void 0&&(i.allowEdgeSplit=n.allowEdgeSplit),this._isEmptyLeafRule(i)?this._leafContentRules.delete(r):this._leafContentRules.set(r,i),this._warnUnknownContainer(`setLeafPlacementPolicy`,r)}clearLeafContentRestrictions(e){this._leafContentRules.delete(e.trim())}clearLeafPlacementPolicy(e){this._leafContentRules.delete(e.trim())}getLeafContentRestrictions(e){let n=this._leafContentRules.get(e.trim());return n===void 0?null:{allow:n.allow===null?null:[...n.allow],deny:[...n.deny]}}getLeafPlacementPolicy(e){let n=this._leafContentRules.get(e.trim());return n===void 0?null:{allowKinds:n.allow===null?null:[...n.allow],denyKinds:[...n.deny],allowEdgeSplit:n.allowEdgeSplit}}getNeighbours(e){return jy(this._model,e)}moveLeaf(e,n){return Ny(this._model,e,n)?(this._commit(),!0):!1}moveLeafToEdge(e,n){return Py(this._model,e,n)?(this._commit(),!0):!1}getPanelSnapshot(e){let n=this._findPanelEl(e);return n===void 0?null:{panelId:n.panelId,title:n.title,iconName:n.iconName,closable:n.closable,collapsible:n.collapsible,kind:ax(n.kind),accepts:n.accepts,contentHTML:n.innerHTML}}detachPanel(e){let n=this.getPanelSnapshot(e);return n===null?null:(this.removePanel(e),n)}queryDropTarget(e,n,r=`__external__`,i){let a=this.computeDropZone(e,n,r,i);return a===null?null:rx(a)}previewExternalDrop(e,n,r=`__external__`,i){this.setDragActive(!0,{panelId:r,kind:i});let a=this.computeDropZone(e,n,r,i);return this.setDropZone(a),a===null?null:rx(a)}endExternalDrop(){this.setDropZone(null),this.setDragActive(!1)}acceptExternalPanel(e,n){let r=this._isPlaceholder(e.panelId);if(!r&&py(this._model).includes(e.panelId)||this.acceptsKinds!==null&&!this.acceptsKinds.includes(ax(e.kind)))return null;let i=document.createElement(`ixfx-dock-panel`);i.panelId=e.panelId,e.title!==void 0&&(i.title=e.title),e.iconName!==void 0&&(i.iconName=e.iconName),e.closable!==void 0&&(i.closable=e.closable),e.collapsible!==void 0&&(i.collapsible=e.collapsible),`kind`in e&&e.kind!==void 0&&(i.kind=e.kind),`accepts`in e&&e.accepts&&i.setAttribute(`accepts`,e.accepts),`contentHTML`in e&&e.contentHTML&&(i.innerHTML=e.contentHTML),this._returnAllToolbars(),this._pool=[...this._pool,i],r||this._appendPanelToFirstStack(i.panelId),this.appendChild(i),sy(this._model),this.endExternalDrop();let a=n?this.computeDropZone(n.clientX,n.clientY,i.panelId):null;return a!==null&&this._applyZone(i.panelId,a),sy(this._model),this.requestUpdate(),this._emitAdded(i.panelId),this._emitChange(),i}computeDropZone(e,n,r,i){let a=this.getBoundingClientRect();if(e<a.left||e>a.right||n<a.top||n>a.bottom)return null;let o=i?.trim()?i.trim():this._panelKind(r),s=e=>({x:e.left-a.left,y:e.top-a.top,w:e.width,h:e.height}),c=$b(this.accepts,`horizontal`)||$b(this.accepts,`vertical`);for(let i of _y(this._model)){let l=this.shadowRoot?.querySelector(`[data-dock-path="${i.join(`-`)}"]`);if(!l)continue;let u=l.getBoundingClientRect();if(e<u.left||e>u.right||n<u.top||n>u.bottom)continue;let d=W(this._model,i);if(d===null||!U(d))continue;let f=l.querySelector(`ixfx-tab-list`)??l.querySelector(`.ghost-strip`);if(f!==null){let c=f.getBoundingClientRect();if(e>=c.left&&e<=c.right&&n>=c.top&&n<=c.bottom){let c=lx(f,e,n),l={host:this,operation:`tabs`,targetPath:i,side:`after`,gapIndex:c,rect:s(u),caretRect:this._stripCaretRect(f,c,a)};return this._zoneAllowed(r,l,o)?l:null}}let p=(e-u.left)/Math.max(u.width,1),m=(n-u.top)/Math.max(u.height,1);if(!c||p>=Jb&&p<=.75&&m>=Jb&&m<=.75){let e={host:this,operation:`tabs`,targetPath:i,side:`after`,gapIndex:d.panels.length,rect:s(u)};return this._zoneAllowed(r,e,o)?e:null}let h=s(u),g,_,v;p<Jb?(g=`split-vertical`,_=`before`,v={...h,w:h.w/2}):p>.75?(g=`split-vertical`,_=`after`,v={x:h.x+h.w/2,y:h.y,w:h.w/2,h:h.h}):m<Jb?(g=`split-horizontal`,_=`before`,v={...h,h:h.h/2}):(g=`split-horizontal`,_=`after`,v={x:h.x,y:h.y+h.h/2,w:h.w,h:h.h/2});let y={host:this,operation:g,targetPath:i,side:_,rect:v};return this._zoneAllowed(r,y,o)?y:null}let l=e-a.left,u=a.right-e,d=n-a.top,f=a.bottom-n,p=Math.min(l,u,d,f),m={x:0,y:0,w:a.width,h:a.height},h,g,_;p===l?(h=`split-vertical`,g=`before`,_={...m,w:m.w/2}):p===u?(h=`split-vertical`,g=`after`,_={x:m.x+m.w/2,y:m.y,w:m.w/2,h:m.h}):p===d?(h=`split-horizontal`,g=`before`,_={...m,h:m.h/2}):(h=`split-horizontal`,g=`after`,_={x:m.x,y:m.y+m.h/2,w:m.w,h:m.h/2});let v={host:this,operation:h,targetPath:[],side:g,rect:_};return this._zoneAllowed(r,v,o)?v:null}_zoneAllowed(e,n,r){if(this.acceptsKinds!==null&&!py(this._model).includes(e)&&!this.acceptsKinds.includes(ax(r))||!$b(this.accepts,Qb(n.operation)))return!1;let i=W(this._model,n.targetPath);if(i!==null&&U(i)&&i.panels.length===1){let e=this._findPanelEl(i.panels[0]);if(e&&!ex(e.accepts,Qb(n.operation)))return!1}return!(n.operation===`tabs`&&i!==null&&U(i)&&!this._stackAllowsKind(i,r?.trim()?r.trim():this._panelKind(e))||n.operation!==`tabs`&&i!==null&&U(i)&&!this._leafAllowsEdgeSplit(i)||this.canAccept&&!this.canAccept(e,n.operation))}handleDrop(e,n,r){if(r!==void 0&&r!==this&&r.releasePanel(e,this),!py(this._model).includes(e)){if(!this._findPanelEl(e))return;this._appendPanelToFirstStack(e),sy(this._model)}this._applyZone(e,n,r===void 0||r===this),this._commit(),r!==void 0&&r!==this&&this._emit(`dock-panel-moved`,{panelId:e,sourceHost:r,targetHost:this})}_applyZone(e,n,r=!1){let i=dy(this._model,e),a=null;if(i!==null){let n=W(this._model,i);n!==null&&U(n)&&(by(n,e),n.panels.length===0&&(a=n))}if(n.operation===`tabs`){let i=W(this._model,n.targetPath);i!==null&&U(i)&&(yy(i,e,n.gapIndex),r&&a!==null&&a!==i&&a.name!==void 0&&i.name===void 0&&(i.name=a.name,delete a.name))}else Sy(this._model,n.targetPath,Zb(n.operation),ay([e]),n.side)}releasePanel(e,n){this._returnAllToolbars();let r=this._pool.find(n=>n.panelId===e),i=dy(this._model,e);if(i!==null){let n=W(this._model,i);n!==null&&U(n)&&by(n,e)}sy(this._model),this._pool=this._pool.filter(e=>e!==r),this._toolbarsOut.delete(e),this._emitRemoved(e,n),r!==void 0&&n.adoptPanelElement(r,this),this.requestUpdate(),this._emitChange()}adoptPanelElement(e,n=null){this._pool.some(n=>n.panelId===e.panelId)||(this._pool=[...this._pool,e]),py(this._model).includes(e.panelId)||this._appendPanelToFirstStack(e.panelId),this.appendChild(e),sy(this._model),this._emitAdded(e.panelId,n)}setDragActive(e,n){let r=e&&n!==void 0?n:null;this._dragActive!==e&&(this._dragActive=e,this.requestUpdate()),(this._dragPanel?.panelId!==r?.panelId||this._dragPanel?.kind!==r?.kind)&&(this._dragPanel=r)}setDropZone(e){this._dropZone!==e&&(this._dropZone=e,this.requestUpdate())}_scheduleJunctions(){this._junctionsRaf===null&&(this._junctionsRaf=requestAnimationFrame(()=>{this._junctionsRaf=null,this._computeJunctions()}))}_computeJunctions(){let e=this.shadowRoot;if(e===null)return;let n=this.getBoundingClientRect(),r=[];for(let i of e.querySelectorAll(`ixfx-split-layout`)){let e=i.parentElement?.closest(`ixfx-split-layout`)??null;if(e===null||typeof i.getGutterRects!=`function`||typeof e.getGutterRects!=`function`)continue;let a=i.getBoundingClientRect();for(let[o,s]of e.getGutterRects().entries())for(let[c,l]of i.getGutterRects().entries()){let u=s.width<=s.height;if(u===l.width<=l.height)continue;let d,f;if(u){if(d=s.left+s.width/2,f=l.top+l.height/2,Math.abs(d-a.left)>6&&Math.abs(d-a.right)>6||f<s.top||f>s.bottom)continue}else if(f=s.top+s.height/2,d=l.left+l.width/2,Math.abs(f-a.top)>6&&Math.abs(f-a.bottom)>6||d<s.left||d>s.right)continue;r.push({x:d-n.left,y:f-n.top,targets:[{split:e,gutterIndex:o},{split:i,gutterIndex:c}]})}}let i=[];for(let e of r){let n=i.find(n=>Math.abs(n.x-e.x)<=8&&Math.abs(n.y-e.y)<=8);if(n===void 0){i.push(e);continue}for(let r of e.targets)n.targets.some(e=>e.split===r.split&&e.gutterIndex===r.gutterIndex)||n.targets.push(r)}let a=i.map(e=>`${Math.round(e.x)},${Math.round(e.y)}:${e.targets.map(e=>`${e.split.getAttribute(`data-dock-path`)??``}#${e.gutterIndex}`).join(`|`)}`).join(`;`);a!==this._junctionsKey&&(this._junctionsKey=a,this._junctions=i)}_foldLiveWeights(){let e=this.shadowRoot?.querySelectorAll(`ixfx-split-layout[data-dock-path]`);if(e!==void 0)for(let n of e){if(n.getAttribute(`data-dock-gen`)!==String(this._loadGeneration))continue;let e=n.getAttribute(`data-dock-path`);if(e===null)continue;let r=W(this._model,ox(e));if(r===null||!ny(r))continue;let i=Object.values(n.getSizes());i.length===r.children.length&&!tx(i,r.sizes)&&(r.sizes=i,Array.from(n.children).forEach((e,n)=>{e instanceof HTMLElement&&r.sizes[n]!==void 0&&e.setAttribute(`size`,String(r.sizes[n]))}))}}beginPanelDrag(e,n){return n.button!==0||!py(this._model).includes(e)?!1:(this._armPanelDrag(e,n),!0)}_armPanelDrag(e,n){this._tabDragPending={panelId:e,pointerId:n.pointerId,startX:n.clientX,startY:n.clientY},window.addEventListener(`pointermove`,this._onTabDragMove),window.addEventListener(`pointerup`,this._onTabDragUp),window.addEventListener(`pointercancel`,this._onTabDragUp)}_teardownTabDragListeners(){window.removeEventListener(`pointermove`,this._onTabDragMove),window.removeEventListener(`pointerup`,this._onTabDragUp),window.removeEventListener(`pointercancel`,this._onTabDragUp)}_suppressNextClick(){let e=n=>{n.preventDefault(),n.stopPropagation(),window.removeEventListener(`click`,e,!0)};window.addEventListener(`click`,e,!0)}_removeFromModel(e){let n=dy(this._model,e);if(n===null)return;let r=W(this._model,n);r!==null&&U(r)&&by(r,e),sy(this._model)}_commit(){sy(this._model),this.requestUpdate(),this._emitChange()}_syncSlots(){let e=new Set,n=r=>{if(U(r))for(let n of r.panels){e.add(n);let r=this._findPanelEl(n);r!==void 0&&(r.setAttribute(`slot`,`dock-panel-${n}`),r.presentation=`tabbed`)}else r.children.forEach(n)};n(this._model);for(let n of this._pool)e.has(n.panelId)||(n.setAttribute(`slot`,``),n.presentation=`solo`)}_syncToolbars(){let e=new Map,n=r=>{if(U(r)){if(r.panels.length>0&&r.active){let n=this._findPanelEl(r.active);n!==void 0&&e.set(r.active,cx(n))}}else r.children.forEach(n)};n(this._model);for(let[n,r]of this._toolbarsOut)e.has(n)||this._returnToolbar(n,r);for(let[n,r]of e){if(this._toolbarsOut.has(n)||r.length===0)continue;let e=this.shadowRoot?.getElementById(n);if(e!=null){for(let n of r)e.appendChild(n);this._toolbarsOut.set(n,r)}}}_returnToolbar(e,n){let r=this._findPanelEl(e);if(r!==void 0)for(let e of n)e.isConnected&&r.appendChild(e);this._toolbarsOut.delete(e)}_returnAllToolbars(){for(let[e,n]of[...this._toolbarsOut])this._returnToolbar(e,n)}_emit(e,n,r=!1){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:r}))}_emitAdded(e,n=null){this._emit(`dock-panel-added`,{panelId:e,sourceHost:n,targetHost:this})}_emitRemoved(e,n=null){this._emit(`dock-panel-removed`,{panelId:e,sourceHost:this,targetHost:n})}_announceEmptiedStacks(){let e=Ry(this._model),n=zy(this._liveStacks,e);this._liveStacks=e;for(let r of n)this._emit(`dock-stack-empty`,{name:r.name??null,hostEmpty:e.size===0})}_emitChange(e=`user`){let n=this._captureLayout();this._announceEmptiedStacks(),this._emit(`dock-change`,{layout:n}),this.#e.notify(e)}render(){return i`
|
|
6478
6478
|
<div class="root">
|
|
6479
6479
|
${this._renderNode(this._model,[])}
|
|
6480
6480
|
</div>
|
|
6481
6481
|
<div class="overlay" ?hidden=${!this._dragActive}>
|
|
6482
6482
|
${this._dropZone===null?a:i`
|
|
6483
|
-
<div class="zone-rect" style=${
|
|
6484
|
-
${this._dropZone.caretRect===void 0?a:i`<div class="zone-caret" style=${
|
|
6483
|
+
<div class="zone-rect" style=${nx(this._dropZone.rect)}></div>
|
|
6484
|
+
${this._dropZone.caretRect===void 0?a:i`<div class="zone-caret" style=${nx(this._dropZone.caretRect)}></div>`}
|
|
6485
6485
|
`}
|
|
6486
6486
|
</div>
|
|
6487
6487
|
<div class="junctions" ?hidden=${this._dragActive}>
|
|
@@ -6496,7 +6496,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6496
6496
|
`)}
|
|
6497
6497
|
</div>
|
|
6498
6498
|
<slot @slotchange=${this._onPoolSlotChange}></slot>
|
|
6499
|
-
`}_renderNode(e,n,r){return
|
|
6499
|
+
`}_renderNode(e,n,r){return U(e)?this._renderLeaf(e,n,r):this._renderSplit(e,n,r)}_renderSplit(e,n,r){let o=n.join(`-`);return i`
|
|
6500
6500
|
<ixfx-split-layout
|
|
6501
6501
|
class="split"
|
|
6502
6502
|
forget-absent
|
|
@@ -6563,7 +6563,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6563
6563
|
.closeable=${r?.closable??!1}
|
|
6564
6564
|
@close=${()=>this.removePanel(n)}
|
|
6565
6565
|
>${r?.title??this.placeholderLabel?.(n)??n}</ixfx-tab-list-item>
|
|
6566
|
-
`}_stripCaretRect(e,n,r){let i=Array.from(e.querySelectorAll(
|
|
6566
|
+
`}_stripCaretRect(e,n,r){let i=Array.from(e.querySelectorAll(Yb));if(i.length===0)return;let a=Math.max(0,Math.min(n??i.length,i.length)),o=a<i.length?i[a].getBoundingClientRect().left:i[i.length-1].getBoundingClientRect().right,s=e.getBoundingClientRect();return{x:o-r.left-1,y:s.top-r.top,w:2,h:s.height}}static{this.styles=[w,Qt,r`
|
|
6567
6567
|
:host {
|
|
6568
6568
|
display: block;
|
|
6569
6569
|
width: 100%;
|
|
@@ -6733,7 +6733,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6733
6733
|
slot:not([name]) {
|
|
6734
6734
|
display: none;
|
|
6735
6735
|
}
|
|
6736
|
-
`]}};E([d({type:String,attribute:`layout`})],
|
|
6736
|
+
`]}};E([d({type:String,attribute:`layout`})],Xb.prototype,`layout`,void 0),E([d({type:String,attribute:`accepts`})],Xb.prototype,`accepts`,void 0),E([d({type:Boolean,attribute:`isolated`})],Xb.prototype,`isolated`,void 0),E([d({type:Boolean,attribute:`hide-single-tab-strip`})],Xb.prototype,`hideSingleTabStrip`,void 0),E([d({type:String,attribute:`family`})],Xb.prototype,`family`,void 0),E([d({attribute:`accepts-kinds`,converter:{fromAttribute:e=>e===null?null:e.split(/\s+/).filter(e=>e.length>0)}})],Xb.prototype,`acceptsKinds`,void 0),E([d({attribute:!1})],Xb.prototype,`canAccept`,void 0),E([d({attribute:!1})],Xb.prototype,`placeholderLabel`,void 0),E([m()],Xb.prototype,`_model`,void 0),E([m()],Xb.prototype,`_pool`,void 0),E([m()],Xb.prototype,`_dropZone`,void 0),E([m()],Xb.prototype,`_dragActive`,void 0),E([m()],Xb.prototype,`_dragPanel`,void 0),E([m()],Xb.prototype,`_junctions`,void 0),Xb=E([T(`ixfx-dock-host`)],Xb);function Zb(e){return e===`split-horizontal`?`column`:`row`}function Qb(e){return e===`tabs`?`tabs`:e===`split-horizontal`?`horizontal`:`vertical`}function $b(e,n){let r=e.trim().split(/\s+/).filter(e=>e.length>0);return r.length===0||r.length===1&&r[0]===`none`?!1:r.includes(`all`)||r.includes(n)}function ex(e,n){let r=e.trim().split(/\s+/).filter(e=>e.length>0);return r.length===0?!0:r.length===1&&r[0]===`none`?!1:r.includes(`all`)||r.includes(n)}function tx(e,n){return e.length===n.length&&e.every((e,r)=>Math.abs(e-n[r])<1e-4)}function nx(e){return`left:${e.x}px; top:${e.y}px; width:${e.w}px; height:${e.h}px;`}function rx(e){return{operation:e.operation,targetPath:[...e.targetPath],side:e.side,...e.gapIndex===void 0?{}:{gapIndex:e.gapIndex}}}function ix(e){return JSON.parse(JSON.stringify(e))}function ax(e){return(e?.trim()??``)||`any`}function ox(e){return e.length===0?[]:e.split(`-`).filter(e=>e.length>0).map(Number)}function sx(e){let n=e.find(e=>e instanceof HTMLElement&&e.tagName===`IXFX-TAB-LIST-ITEM`);return n!==void 0&&n.id?n:null}function cx(e){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.getAttribute(`slot`)===`toolbar`)}function lx(e,n,r){let i=Array.from(e.querySelectorAll(Yb));if(i.length===0)return 0;for(let e=0;e<i.length;e++){let r=i[e].getBoundingClientRect();if(n<(r.left+r.right)/2)return e}return i.length}let ux=class extends n{constructor(...e){super(...e),this.mode=`label`,this.entryMode=`free`,this.value=``,this.disabled=!1,this.placeholder=``,this.displayTextLogic=`hidden`,this.appearDelay=50,this.disappearDelay=1e3,this._editing=!1,this._prevValue=``,this._hovering=!1,this._transientShowingValue=!1,this._transientTimer=void 0,this._showModeWaitingToHide=!1,this._onMouseEnter=()=>{this.displayTextLogic===`transient`&&(this._hovering=!0,this._clearTransientTimer(),this._transientTimer=window.setTimeout(()=>{this._transientShowingValue=!0,this._requestDisplayUpdate()},this.appearDelay))},this._onMouseLeave=()=>{this.displayTextLogic===`transient`&&(this._hovering=!1,this._startTransientRevertTimer())},this._handleClick=()=>{this.mode===`label`&&!this.disabled&&!this._editing&&this._beginEdit()},this._handleFocus=()=>{this.mode===`editor`&&!this.disabled&&!this._editing&&this._beginEdit()},this._handleBlur=()=>{this._editing&&this._tryCommit()},this._handleKeydown=e=>{this._editing&&(e.key===`Enter`?(e.preventDefault(),this._tryCommit(),this.mode===`editor`&&this._contentEl?.blur()):e.key===`Escape`&&(e.preventDefault(),this._cancelEdit(),this.mode===`editor`&&this._contentEl?.blur()))},this._handleBeforeInput=e=>{e.inputType!==`insertText`||!e.data||this._isAllowedInput(e.data)||e.preventDefault()},this._handleInput=()=>{if(!this._editing)return;let e=this._contentEl?.textContent?.trim()??``;this.dispatchEvent(new CustomEvent(`input`,{detail:{value:e},bubbles:!0,composed:!0}))}}get _contentEl(){return this.renderRoot?.querySelector(`.content`)??void 0}connectedCallback(){super.connectedCallback(),this.addEventListener(`mouseenter`,this._onMouseEnter),this.addEventListener(`mouseleave`,this._onMouseLeave)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`mouseenter`,this._onMouseEnter),this.removeEventListener(`mouseleave`,this._onMouseLeave),this._clearTransientTimer()}_clearTransientTimer(){this._transientTimer!==void 0&&(clearTimeout(this._transientTimer),this._transientTimer=void 0)}_startTransientRevertTimer(){this._clearTransientTimer(),this._transientTimer=window.setTimeout(()=>{!this._hovering&&this.displayTextLogic===`transient`&&(this._transientShowingValue=!1,this._requestDisplayUpdate())},this.disappearDelay)}_requestDisplayUpdate(){if(!this._editing){let e=this._contentEl;e&&(e.textContent=this._getDisplayText())}}_onUserInteraction(){this.displayTextLogic===`transient`&&(this._clearTransientTimer(),this._transientTimer=window.setTimeout(()=>{this._transientShowingValue=!0,this._startTransientRevertTimer(),this._requestDisplayUpdate()},this.appearDelay))}_beginEdit(){this._prevValue=this.value,this._editing=!0,this.removeAttribute(`invalid`)}_tryCommit(){let e=this._contentEl?.textContent?.trim()??``;if(this.entryMode===`percent`&&(e=e.replaceAll(`%`,``).trim()),(this.validator??this._defaultValidator.bind(this))(e)){this.removeAttribute(`invalid`);let n=this.value;this.value=e,this._editing=!1,e!==n&&this.dispatchEvent(new CustomEvent(`change`,{detail:{value:e},bubbles:!0,composed:!0}))}else this._cancelEdit()}_cancelEdit(){this.value=this._prevValue,this._editing=!1,this.removeAttribute(`invalid`)}_getDisplayText(){return this._shouldUseDisplayText()&&this.displayText!==void 0&&this.displayText!==``?this.displayText:this.value?this.formatter?this.formatter(this.value):this.entryMode===`percent`?`${this.value}%`:this.value:``}_shouldUseDisplayText(){return this.displayTextLogic===`hidden`?!1:this.displayTextLogic===`override`?!0:this.displayTextLogic===`show`?!this._editing&&this._showModeWaitingToHide:this.displayTextLogic===`transient`&&!(this._editing||this._transientShowingValue)}_isAllowedInput(e){switch(this.entryMode){case`text`:return/^[a-z\s]$/i.test(e);case`number`:return/^[\d.\-]$/.test(e);case`percent`:return/^[\d.%]$/.test(e);default:return!0}}_defaultValidator(e){switch(this.entryMode){case`text`:return/^[a-z\s]*$/i.test(e);case`number`:return e===``||/^-?\d*(?:\.\d*)?$/.test(e);case`percent`:return e===``||/^\d*(?:\.\d*)?$/.test(e);default:return!0}}render(){let e=this.mode===`editor`;return i`<div
|
|
6737
6737
|
class="content"
|
|
6738
6738
|
contenteditable=${this._editing?`plaintext-only`:`false`}
|
|
6739
6739
|
data-placeholder=${this.placeholder}
|
|
@@ -6744,7 +6744,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6744
6744
|
@keydown=${this._handleKeydown}
|
|
6745
6745
|
@beforeinput=${this._handleBeforeInput}
|
|
6746
6746
|
@input=${this._handleInput}
|
|
6747
|
-
></div>`}updated(e){if(super.updated(e),e.has(`_editing`)&&this._editing){let e=this._contentEl;e&&(e.textContent=this.value,e.focus(),
|
|
6747
|
+
></div>`}updated(e){if(super.updated(e),e.has(`_editing`)&&this._editing){let e=this._contentEl;e&&(e.textContent=this.value,e.focus(),dx(e))}(e.has(`_editing`)&&!this._editing||e.has(`displayTextLogic`)||e.has(`displayText`)||e.has(`formatter`)||e.has(`value`))&&this._requestDisplayUpdate()}static{this.styles=[w,r`
|
|
6748
6748
|
:host {
|
|
6749
6749
|
display: inline-flex;
|
|
6750
6750
|
align-items: center;
|
|
@@ -6827,7 +6827,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6827
6827
|
cursor: not-allowed;
|
|
6828
6828
|
pointer-events: none;
|
|
6829
6829
|
}
|
|
6830
|
-
`]}};E([d({reflect:!0})],
|
|
6830
|
+
`]}};E([d({reflect:!0})],ux.prototype,`mode`,void 0),E([d({attribute:`entry-mode`,reflect:!0})],ux.prototype,`entryMode`,void 0),E([d({reflect:!0})],ux.prototype,`value`,void 0),E([d({type:Boolean,reflect:!0})],ux.prototype,`disabled`,void 0),E([d()],ux.prototype,`placeholder`,void 0),E([d({attribute:`display-text`})],ux.prototype,`displayText`,void 0),E([d({attribute:`display-text-logic`})],ux.prototype,`displayTextLogic`,void 0),E([d({type:Number,attribute:`appear-delay`})],ux.prototype,`appearDelay`,void 0),E([d({type:Number,attribute:`disappear-delay`})],ux.prototype,`disappearDelay`,void 0),E([d({attribute:!1})],ux.prototype,`validator`,void 0),E([d({attribute:!1})],ux.prototype,`formatter`,void 0),E([m()],ux.prototype,`_editing`,void 0),ux=E([T(`ixfx-editable-label`)],ux);function dx(e){let n=document.createRange();n.selectNodeContents(e);let r=window.getSelection();r?.removeAllRanges(),r?.addRange(n)}function fx(e,n,r,i=.1){return n!==void 0&&n>1?e/n:r===void 0?e*i:r}function px(e,n,r,i,a=.1){let o=i?10:1;return fx(e,n,r,a)/o}function mx(e){class n extends e{constructor(...e){super(...e),this.lighttouch=!1,this._isHovering=!1,this._onPointerEnter=()=>{this._isHovering=!0},this._onPointerLeave=()=>{this._isHovering=!1},this._onWheel=e=>{if(!this._shouldHandleWheel())return;e.preventDefault();let n=(e.deltaY===0?e.deltaX:e.deltaY)<0?1:-1;this._applyWheelDelta(n,e)}}connectedCallback(){super.connectedCallback(),this.addEventListener(`pointerenter`,this._onPointerEnter),this.addEventListener(`pointerleave`,this._onPointerLeave),this.addEventListener(`wheel`,this._onWheel,{passive:!1})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerenter`,this._onPointerEnter),this.removeEventListener(`pointerleave`,this._onPointerLeave),this.removeEventListener(`wheel`,this._onWheel),this._isHovering=!1}_shouldHandleWheel(){if(this.disabled)return!1;if(this.lighttouch&&this._isHovering||this.matches?.(`:focus, :focus-within`))return!0;let e=this.renderRoot;return!!(e&&e.activeElement!==null)}_applyWheelDelta(e,n){}}return E([d({type:Boolean,reflect:!0})],n.prototype,`lighttouch`,void 0),n}let hx=class extends mx(ux){#e;#t;#n;#r;#i;#a;#o;constructor(){super(),this.dragSensitivity=1,this.noDrag=!1,this.precision=0,this.#e=0,this.#t=0,this.#n=!1,this.#r=!1,this.#i=0,this.#a=``,this.#o=!1,this._stopNativeInput=e=>{e.stopPropagation()},this._handleMouseEnter=()=>{this.displayTextLogic!==`transient`||this._editing||(this._hovering=!0,this._clearTransientTimer(),this._transientTimer=window.setTimeout(()=>{this._transientShowingValue=!0,this._requestDisplayUpdate()},this.appearDelay))},this._handleMouseLeave=()=>{this.displayTextLogic!==`transient`||this._editing||(this._hovering=!1,this._clearTransientTimer(),this._transientShowingValue&&(this._transientTimer=window.setTimeout(()=>{this._hovering||(this._transientShowingValue=!1,this._requestDisplayUpdate())},this.disappearDelay)))},this._handleClick=()=>{this.disabled||this.renderRoot?.querySelector(`.number`)?.focus()},this._handleFocus=()=>{},this._handleBeforeInput=e=>{if(e.inputType!==`insertText`||!e.data)return;if(!this._isAllowedInput(e.data)){e.preventDefault();return}let n=this._contentEl;if(!n)return;let r=n.textContent??``,i=n.selectionStart??r.length,a=r.slice(0,i)+e.data+r.slice(i);a!==this.#a&&(this.#a=a,this.dispatchEvent(new CustomEvent(`input`,{detail:{value:a},bubbles:!0,composed:!0})))},this._handleKeydown=e=>{this._editing&&(e.key===`Enter`?(e.preventDefault(),this._tryCommit(),this.mode===`editor`&&this._contentEl?.blur()):e.key===`Escape`&&(e.preventDefault(),this.dispatchEvent(new CustomEvent(`cancelled`,{detail:{value:this._prevValue},bubbles:!0,composed:!0})),this._cancelEdit(),this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this._prevValue},bubbles:!0,composed:!0})),this.mode===`editor`&&this._contentEl?.blur()))},this._onKeyDown=e=>{this._editing||this.disabled||this._handleArrowKey(e)||e.key.length===1&&(this._onUserInteraction(),this._beginEdit())},this._onPointerDown=e=>{e.button===0&&(this._editing||this.disabled||this.noDrag||(e.preventDefault(),this.renderRoot?.querySelector(`.number`)?.focus(),this.#e=e.clientY,this.#t=this._parseValue(),this.#i=this.#t,this.#n=!1,this.#r=!1,this.setPointerCapture(e.pointerId)))},this._onPointerMove=e=>{if(!(e.buttons&1)||this._editing||this.disabled||this.noDrag)return;let n=this.#e-e.clientY;if(!this.#n&&Math.abs(n)<3)return;this.#n=!0,this.#r=!0,this.toggleAttribute(`dragging`,!0),this._onUserInteraction();let r=this.#t+n*this.dragSensitivity*(this.step||1),i=this._clamp(this._snap(r));this.#i=this.step===void 0?Number.parseFloat(i.toFixed(this.precision)):i;let a=this.step===void 0?this.#i.toFixed(this.precision):this._formatNumber(this.#i);a!==this.#a&&(this.#a=a,this.dispatchEvent(new CustomEvent(`input`,{detail:{value:a},bubbles:!0,composed:!0}))),this._requestDisplayUpdate(),this._updateValueCss(this._normalizedValue(this.#i))},this._onPointerUp=e=>{if(this.hasPointerCapture(e.pointerId)&&this.releasePointerCapture(e.pointerId),!this.#n||this.disabled||this.noDrag)return;this.#n=!1,this.toggleAttribute(`dragging`,!1);let n=this.step===void 0?this.#i.toFixed(this.precision):this._formatNumber(this.#i),r=this.value;this.value=n,n!==r&&this.dispatchEvent(new CustomEvent(`change`,{detail:{value:n},bubbles:!0,composed:!0}))},this._interceptClick=e=>{this.#r&&=(e.stopImmediatePropagation(),!1)},this.mode=`editor`,this.entryMode=`number`,this.value=`0`}render(){return i`
|
|
6831
6831
|
${this.fillStyle?i`<div class="track"></div>`:``}
|
|
6832
6832
|
${this.fillStyle?i`<div class="value"><div class="bar"></div></div>`:``}
|
|
6833
6833
|
<div
|
|
@@ -6843,7 +6843,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6843
6843
|
@beforeinput=${this._handleBeforeInput}
|
|
6844
6844
|
@input=${this._stopNativeInput}
|
|
6845
6845
|
></div>
|
|
6846
|
-
`}connectedCallback(){super.connectedCallback(),this.addEventListener(`pointerdown`,this._onPointerDown),this.addEventListener(`pointermove`,this._onPointerMove),this.addEventListener(`pointerup`,this._onPointerUp),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._interceptClick,{capture:!0}),this.addEventListener(`mouseenter`,this._handleMouseEnter),this.addEventListener(`mouseleave`,this._handleMouseLeave)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerdown`,this._onPointerDown),this.removeEventListener(`pointermove`,this._onPointerMove),this.removeEventListener(`pointerup`,this._onPointerUp),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._interceptClick),this.removeEventListener(`mouseenter`,this._handleMouseEnter),this.removeEventListener(`mouseleave`,this._handleMouseLeave)}get _contentEl(){return this.renderRoot?.querySelector(`.number`)??void 0}firstUpdated(e){super.firstUpdated(e),this.displayTextLogic===`show`&&(this._showModeWaitingToHide=!0),this._updateValueCss(this._normalizedValue()),this._requestDisplayUpdate()}_onUserInteraction(){if(this.displayTextLogic===`show`&&!this._editing){this._clearTransientTimer(),this._showModeWaitingToHide=!1,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._showModeWaitingToHide=!0,this._requestDisplayUpdate()},this.disappearDelay);return}if(this.displayTextLogic===`transient`&&!this._editing){this._clearTransientTimer(),this._transientShowingValue=!0,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._hovering||(this._transientShowingValue=!1,this._requestDisplayUpdate())},this.disappearDelay);return}super._onUserInteraction()}_onValueChange(){this.displayTextLogic!==`show`||this._editing||(this._clearTransientTimer(),this._showModeWaitingToHide=!1,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._showModeWaitingToHide=!0,this._requestDisplayUpdate()},this.disappearDelay))}updated(e){super.updated(e),this._editing||this._updateValueCss(this._normalizedValue())}_updateValueCss(e){this.style.setProperty(`--value`,String(e));let n=0,r=e;if(this.linearStyle===`bipolar`?e<=.5?(n=e,r=.5):(n=.5,r=e):this.linearStyle===`unipolar`&&(n=.5-e*.5,r=.5+e*.5),this.style.setProperty(`--value-start`,String(n)),this.style.setProperty(`--value-end`,String(r)),this.fillStyle===`circular`&&this.circularStyle===`offset`){let n=this.offsetHeight,r=this.offsetWidth,i=n/2-2,a=r-2,o=2+i+e*(a-2-2*i);this.style.setProperty(`--radius`,`${i}px`),this.style.setProperty(`--value-center-px`,`${o}px`),this.style.setProperty(`--component-width-px`,`${r}px`),this.style.setProperty(`--component-height-px`,`${n}px`)}}_getDisplayText(){if(this._shouldUseDisplayText())return this.displayText??``;if(this.#n){let e=this.step===void 0?this.#i.toFixed(this.precision):this._formatNumber(this.#i);return this.formatter?this.formatter(e):e}if(this.formatter){let e=Number.parseFloat(this.value);return this.formatter(Number.isNaN(e)?this.value:String(e))}return this._formatDisplay()}_tryCommit(){let e=this.renderRoot?.querySelector(`.number`);if(e){let n=Number.parseFloat(e.textContent?.trim()??``);Number.isNaN(n)||(e.textContent=this._formatNumber(this._clamp(this._snap(n))))}super._tryCommit()}_handleArrowKey(e){let n=(this.max??100)-(this.min??0);if(n===0)return!1;let r=
|
|
6846
|
+
`}connectedCallback(){super.connectedCallback(),this.addEventListener(`pointerdown`,this._onPointerDown),this.addEventListener(`pointermove`,this._onPointerMove),this.addEventListener(`pointerup`,this._onPointerUp),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._interceptClick,{capture:!0}),this.addEventListener(`mouseenter`,this._handleMouseEnter),this.addEventListener(`mouseleave`,this._handleMouseLeave)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerdown`,this._onPointerDown),this.removeEventListener(`pointermove`,this._onPointerMove),this.removeEventListener(`pointerup`,this._onPointerUp),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._interceptClick),this.removeEventListener(`mouseenter`,this._handleMouseEnter),this.removeEventListener(`mouseleave`,this._handleMouseLeave)}get _contentEl(){return this.renderRoot?.querySelector(`.number`)??void 0}firstUpdated(e){super.firstUpdated(e),this.displayTextLogic===`show`&&(this._showModeWaitingToHide=!0),this._updateValueCss(this._normalizedValue()),this._requestDisplayUpdate()}_onUserInteraction(){if(this.displayTextLogic===`show`&&!this._editing){this._clearTransientTimer(),this._showModeWaitingToHide=!1,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._showModeWaitingToHide=!0,this._requestDisplayUpdate()},this.disappearDelay);return}if(this.displayTextLogic===`transient`&&!this._editing){this._clearTransientTimer(),this._transientShowingValue=!0,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._hovering||(this._transientShowingValue=!1,this._requestDisplayUpdate())},this.disappearDelay);return}super._onUserInteraction()}_onValueChange(){this.displayTextLogic!==`show`||this._editing||(this._clearTransientTimer(),this._showModeWaitingToHide=!1,this._requestDisplayUpdate(),this._transientTimer=window.setTimeout(()=>{this._showModeWaitingToHide=!0,this._requestDisplayUpdate()},this.disappearDelay))}updated(e){super.updated(e),this._editing||this._updateValueCss(this._normalizedValue())}_updateValueCss(e){this.style.setProperty(`--value`,String(e));let n=0,r=e;if(this.linearStyle===`bipolar`?e<=.5?(n=e,r=.5):(n=.5,r=e):this.linearStyle===`unipolar`&&(n=.5-e*.5,r=.5+e*.5),this.style.setProperty(`--value-start`,String(n)),this.style.setProperty(`--value-end`,String(r)),this.fillStyle===`circular`&&this.circularStyle===`offset`){let n=this.offsetHeight,r=this.offsetWidth,i=n/2-2,a=r-2,o=2+i+e*(a-2-2*i);this.style.setProperty(`--radius`,`${i}px`),this.style.setProperty(`--value-center-px`,`${o}px`),this.style.setProperty(`--component-width-px`,`${r}px`),this.style.setProperty(`--component-height-px`,`${n}px`)}}_getDisplayText(){if(this._shouldUseDisplayText())return this.displayText??``;if(this.#n){let e=this.step===void 0?this.#i.toFixed(this.precision):this._formatNumber(this.#i);return this.formatter?this.formatter(e):e}if(this.formatter){let e=Number.parseFloat(this.value);return this.formatter(Number.isNaN(e)?this.value:String(e))}return this._formatDisplay()}_tryCommit(){let e=this.renderRoot?.querySelector(`.number`);if(e){let n=Number.parseFloat(e.textContent?.trim()??``);Number.isNaN(n)||(e.textContent=this._formatNumber(this._clamp(this._snap(n))))}super._tryCommit()}_handleArrowKey(e){let n=(this.max??100)-(this.min??0);if(n===0)return!1;let r=px(n,this.stops,this.step,e.shiftKey),i=0,a=!1;switch(e.key){case`ArrowUp`:case`ArrowRight`:i=r,a=!0;break;case`ArrowDown`:case`ArrowLeft`:i=-r,a=!0;break;case`Home`:i=-(this._parseValue()-(this.min??0)),a=!0;break;case`End`:i=(this.max??0)-this._parseValue(),a=!0}return a?(e.preventDefault(),this._applyDelta(i),!0):!1}_applyDelta(e){let n=this.value,r=this._parseValue(),i=this._clamp(this._snap(r+e)),a=this.step===void 0?i.toFixed(this.precision):this._formatNumber(i);this.value=a,this._requestDisplayUpdate(),this._updateValueCss(this._normalizedValue(i)),a!==n&&this.dispatchEvent(new CustomEvent(`input`,{detail:{value:a},bubbles:!0,composed:!0})),requestAnimationFrame(()=>{this.value!==n&&this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value},bubbles:!0,composed:!0}))})}_shouldHandleWheel(){return!this._editing&&super._shouldHandleWheel()}_applyWheelDelta(e,n){let r=(this.max??100)-(this.min??0);if(r===0)return;let i=px(r,this.stops,this.step,n.shiftKey);this._applyDelta(e*i)}_parseValue(){return Number.parseFloat(this.value)||0}_formatDisplay(){let e=Number.parseFloat(this.value);if(Number.isNaN(e))return this.value;if(this.precision!==void 0)return e.toFixed(this.precision);let n=this.value.indexOf(`.`),r=n>=0?this.value.length-n-1:0;return e.toFixed(r)}_clamp(e){return this.min!==void 0&&(e=Math.max(this.min,e)),this.max!==void 0&&(e=Math.min(this.max,e)),e}_snap(e){if(this.stops&&this.stops>1){let n=this.min??0,r=((this.max??100)-n)/this.stops;return Math.round((e-n)/r)*r+n}return this.step?Math.round(e/this.step)*this.step:e}_inferDecimals(e){if(this.step!==void 0){let e=String(this.step),n=e.indexOf(`.`);return n>=0?e.length-n-1:0}let n=String(e??this._parseValue()),r=n.indexOf(`.`);return r>=0?n.length-r-1:0}_formatNumber(e){return e.toFixed(this._inferDecimals(e))}_normalizedValue(e=this._parseValue()){return this.min===void 0||this.max===void 0||this.max===this.min?0:Math.max(0,Math.min(1,(e-this.min)/(this.max-this.min)))}static{this.styles=[w,un,...ux.styles,r`
|
|
6847
6847
|
:host {
|
|
6848
6848
|
font-size: var(--text-s,11px);
|
|
6849
6849
|
--value: 0;
|
|
@@ -6999,7 +6999,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
6999
6999
|
:host([fill-style="circular"]:not([circular-style])) {
|
|
7000
7000
|
aspect-ratio: 1;
|
|
7001
7001
|
}
|
|
7002
|
-
`]}};E([d({type:Number})],mx.prototype,`min`,void 0),E([d({type:Number})],mx.prototype,`max`,void 0),E([d({type:Number})],mx.prototype,`step`,void 0),E([d({type:Number})],mx.prototype,`stops`,void 0),E([d({type:Number,attribute:`drag-sensitivity`})],mx.prototype,`dragSensitivity`,void 0),E([d({attribute:`fill-style`})],mx.prototype,`fillStyle`,void 0),E([d({attribute:`linear-style`})],mx.prototype,`linearStyle`,void 0),E([d({attribute:`circular-style`})],mx.prototype,`circularStyle`,void 0),E([d({type:Boolean,attribute:`no-drag`})],mx.prototype,`noDrag`,void 0),E([d({type:Number})],mx.prototype,`precision`,void 0),mx=E([T(`ixfx-editable-number`)],mx);function hx(e,n){let r=new Map;for(let i of e){let e=n(i);e!==void 0&&!r.has(e)&&r.set(e,i)}return r}function gx(e,n){let r=[];for(let i of e)n(i)||r.push(i);return r}function _x(e,n,r,i){let a=new Map,o=[];for(let n of e){let e=i(n);e===void 0?o.push(n):a.set(e,n)}let s=[],c=new Set,l;for(let e of r){let r=i(e);r!==void 0&&(a.has(r)&&!c.has(r)&&(s.push(e),c.add(r)),r===n&&(l??=e))}for(let[e,n]of a)c.has(e)||o.push(n);return{live:s,gone:o,anchor:l}}function vx(e,n,r){let i=e??n;return i!==void 0&&r(i)?{pending:void 0,apply:i}:{pending:i,apply:void 0}}function yx(e,n,r,i){if(n<=0||r===0)return s_(e,void 0,0);let a=Math.min(r-1,Math.max(0,Math.floor(e/n)));return s_(e,i(a),a*n)}function bx(e,n,r){if(!e.anchor)return e.top;let i=r(e.anchor.key);return i<0?void 0:i*n+e.anchor.offset}const xx=`li:not([data-virtual-spacer]), [data-list-item]:not([data-virtual-spacer])`;function Sx(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}let K=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.itemWrap=`stop`,this.itemsDraggable=!1,this.keyProperty=``,this.virtualize=!1,this.itemHeight=0,this.itemsDroppable=!1,this.#e=new Map,this.#t=new Set,this.#n=new WeakMap,this.#i=new WeakSet,this.#a=[],this.#o=document.createDocumentFragment(),this.#s=0,this.#c=0,this.#l=[],this.#u=!1,this.#d=0,this.#_=0,this.#v=!1,this.#y=new d_(this,{kind:`vertical-list`,capture:()=>this.getViewState()}),this.#x=!1,this.selection=new gr({getOrderedItems:()=>this.#ae(),isSelectable:e=>this._isCheckable(e),getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:D,onIntent:e=>this._dispatchCancelable(`list-select-intent`,e)===!1,onChange:(e,n)=>{this._syncItemStates(),this.#y.notify(),this._dispatch(`list-select`,{selected:e,previous:n,selectedKeys:this.selection.selectedKeys,previousKeys:At(n)})}}),this.tickled=(e=>new oe(e,{getItems:()=>e.#ae().map(e=>({id:e,enabled:!e.hasAttribute(`not-checked`)})),onTickle:n=>{e.tickled.inputMode===`keyboard`&&(e.#y.isRestoring||(e.#b=void 0),e.#y.notify()),n!==void 0&&this._dispatch(`list-tickle`,{item:n})},onStateChange:()=>this._syncItemStates(),get itemWrap(){return e.itemWrap},hoverDisabled:()=>this.#O.isDragging||this.#w.isDragging}))(this),this.#S=!1,this.#C=0,this.#w=new nr(this,{source:`vertical-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this._getVisibleItems().length>0,resolveEventToKey:e=>{if(!(e instanceof Element))return;let n=e.closest?.(xx);if(!(!n||!this.contains(n)||this.#t.has(n)))return D(n)},prepareSelection:e=>this.#T(e),getMetrics:()=>({}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatchCancelable(`list-native-drag-start`,e),onActiveChange:(e,n)=>{this.#S=e,this.toggleAttribute(`data-native-dragging`,e);for(let r of this._getVisibleItems())r.toggleAttribute(`data-drag-origin`,e&&n!==void 0&&D(r)===n);if(e){let e=this.selection.selected.size;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#S=!1,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`);for(let e of this._getVisibleItems())e.removeAttribute(`data-drag-origin`);if(this.#ie())for(let e of this.#a)e.removeAttribute(`data-drag-origin`);this.#E()},syncLightDomDraggable:()=>this._syncNativeDraggable()}),this.#O=new Wn(this,{getSurface:()=>this.renderRoot.querySelector(`.container`),isEnabled:()=>!this.#ie()&&this.selection.canDragSelect()&&this._getVisibleItems().length>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#k(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#D=n;for(let n of this._getVisibleItems())n.toggleAttribute(`data-marquee`,e.has(n));this.requestUpdate()},onCommit:e=>{this.selection.applyDragSelection(e);for(let e of this._getVisibleItems())e.removeAttribute(`data-marquee`);this.#D=void 0,this.requestUpdate()},autoScroll:(e,n)=>{let r=this.renderRoot.querySelector(`ul`);r&&(r.scrollTop+=n)}}),this.search=new Vt(this,{adapter:Nt(this,{itemSelector:xx,getLabel:e=>e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`vertical-list-search`,getAllItems:()=>this.#ae(),observeContainer:!1})}),this.#L=new Set,this.#ge=()=>{this.#y.pendingScroll||this.#y.notify(),this.#d===0&&(this.#d=requestAnimationFrame(()=>{this.#d=0,this.#_e(),this.#xe()}))},this._onPointerOver=e=>{let n=this._findListItem(e.composedPath());n&&this.tickled.handlePointerEnter(n)},this._onPointerLeave=e=>{this.tickled.handlePointerLeave(e)},this._onKeyDown=e=>{if(!(this.search.isOpen||this.#Oe(e))){if(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`){let n=this.tickled.tickledId;if(n){e.preventDefault();let r=n.getBoundingClientRect();this.#Ee(n,r.left,r.bottom)}return}if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}switch(e.key){case`ArrowDown`:if(e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`),this.#R(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowUp`:if(e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`),this.#R(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`Home`:e.preventDefault(),this.tickled.handleKeyboardNavigation(`first`),this.#R();break;case`End`:e.preventDefault(),this.tickled.handleKeyboardNavigation(`last`),this.#R();break;case`PageDown`:e.preventDefault(),this.#B(1);break;case`PageUp`:e.preventDefault(),this.#B(-1);break;case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this._dispatch(`list-item-click`,{item:n}),this._activateItem(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.selection.handleClear(`keyboard`)}}},this._onClick=e=>{if(this.#Oe(e)||this.#O.isDragging||this.#w.isDragging||this.#C!==0)return;let n=this._findListItem(e.composedPath());n&&(this._dispatch(`list-item-click`,{item:n}),this.selection.handleClick(n,mr(e)))},this._onDblClick=e=>{if(this.#Oe(e))return;let n=this._findListItem(e.composedPath());n&&this._activateItem(n)},this._onDragOver=e=>{let n=e.dataTransfer;if(!this.itemsDroppable||!n||this.#Oe(e))return;let r=this._findListItem(e.composedPath());if(this.canDrop&&!this.canDrop(r,n)){this.#Ce();return}if(this.#Se&&this.#Se.item!==r&&this.#Ce(),this.#Se={item:r},this._dispatchCancelable(`list-drag-over`,{key:r?D(r):void 0,item:r,dataTransfer:n})){this.#Te(void 0,!1);return}e.preventDefault(),n.dropEffect===`none`&&(n.dropEffect=`copy`),this.#Te(r,!0)},this._onDragLeave=e=>{let n=e.relatedTarget;n instanceof Node&&this.contains(n)||this.#Ce()},this._onDrop=e=>{let n=e.dataTransfer;if(!this.itemsDroppable||!n||this.#Oe(e))return;let r=this._findListItem(e.composedPath());if(this.canDrop&&!this.canDrop(r,n)){this.#Ce();return}e.preventDefault(),this.#Se=void 0,this.#Te(void 0,!1),this._dispatch(`list-drop`,{key:r?D(r):void 0,item:r,dataTransfer:n})},this._onContextMenu=e=>{if(this.#Oe(e))return;let n=this._findListItem(e.composedPath());n&&(this.#Ee(n,e.clientX,e.clientY)||e.preventDefault())}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T(e){let n=this.#V(e);if(!n||!this._isCheckable(n))return;this.selection.selected.has(n)||this.selection.replace(n);let r=this.#ae(),i=[];r.forEach(n=>{if(!this.selection.selected.has(n))return;let r=this.#oe(n);i.push({key:D(n)??e,index:r,item:n,element:n})});let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}_syncNativeDraggable(){if(this.isConnected)for(let e of this.querySelectorAll(xx))this.#t.has(e)||e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e))}#E(){this.#C&&clearTimeout(this.#C),this.#C=window.setTimeout(()=>{this.#C=0},0)}#D;#O;#k(e){let n=this.renderRoot.querySelector(`.container`);if(!n)return[];let r=n.getBoundingClientRect(),i=e.x,a=e.y,o=e.x+e.width,s=e.y+e.height,c=[];for(let e of this._getVisibleItems()){let n=e.getBoundingClientRect(),l=n.left-r.left,u=n.top-r.top;l<=o&&l+n.width>=i&&u<=s&&u+n.height>=a&&c.push(e)}return c}#A(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}#j;#M;get registry(){return this.#j}#N(){let e=this.searchModes?.trim(),n;if(e===void 0)n=[...O];else{let r=new Set(e.split(/\s+/));n=O.filter(e=>r.has(e))}return this.#ie()?n.filter(e=>e!==`filter`):n}#P(){this.#j&&(this.search.setModes(this.#N()),this.#M?.(),this.#M=zt(this.#j,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`pointerover`,this._onPointerOver),this.addEventListener(`pointerleave`,this._onPointerLeave),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._onClick),this.addEventListener(`dblclick`,this._onDblClick),this.addEventListener(`dragover`,this._onDragOver),this.addEventListener(`dragleave`,this._onDragLeave),this.addEventListener(`drop`,this._onDrop),this.addEventListener(`contextmenu`,this._onContextMenu);for(let e of this.querySelectorAll(xx))this.#i.add(e);this.#r??=new MutationObserver(e=>this.#F(e)),this.#r.observe(this,{childList:!0}),this.#j??=Yt(),this.#P(),this.#he()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerover`,this._onPointerOver),this.removeEventListener(`pointerleave`,this._onPointerLeave),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`dblclick`,this._onDblClick),this.removeEventListener(`dragover`,this._onDragOver),this.removeEventListener(`dragleave`,this._onDragLeave),this.removeEventListener(`drop`,this._onDrop),this.removeEventListener(`contextmenu`,this._onContextMenu),this.#Ce(),this.#De=void 0,this.#r?.disconnect(),this.#f?.disconnect(),this.#f=void 0,this.#d!==0&&(cancelAnimationFrame(this.#d),this.#d=0),this.#M?.(),this.#M=void 0,this.#j=void 0,this.#C&&=(clearTimeout(this.#C),0)}firstUpdated(){this.#he(),this.#y.observeScrollTarget(this),this.#G()}#F(e){if(!this.isConnected)return;if(this.#ie()){this.#_e(this.#ue(e)),this.#be();return}let n=[];for(let r of e)for(let e of r.addedNodes)!(e instanceof HTMLElement)||e.parentElement!==this||e.matches(xx)&&(this.#i.has(e)||this.#e.has(e)||this.#t.has(e)||(this.#i.add(e),n.push(e)));if(this.#be(),e.some(e=>e.removedNodes.length>0)&&this.#W(gx(this.selection.selected,e=>e.parentNode===this||this.#t.has(e))),this.#G(),n.length!==0&&!this.#I(n.length))for(let e of n)Qn(e)}#I(e){return e>=this.querySelectorAll(xx).length}updated(e){if(super.updated(e),e.has(`searchModes`)&&this.#P(),e.has(`virtualize`)||e.has(`itemHeight`)){let n=(e.has(`virtualize`)?e.get(`virtualize`):this.virtualize)===!0&&((e.has(`itemHeight`)?e.get(`itemHeight`):this.itemHeight)??0)>0;if(this.#ie()){if(!n){this.#o=document.createDocumentFragment(),this.#a=[...this.querySelectorAll(xx)];for(let e of this.#a)this.#i.add(e);this.#l=[]}this.#_e(!0)}else n?this.#ye():this.virtualize&&!this.#v&&(this.#v=!0,console.warn(`ixfx-vertical-list: virtualize needs item-height > 0 — running non-virtualized.`));this.#P()}if((e.has(`items`)||e.has(`formatter`)||e.has(`keyProperty`)||e.has(`icon`)||e.has(`iconColor`)||e.has(`textColor`)||e.has(`badge`))&&this.items!==void 0&&(this.#u?this.#u=!1:this.#ie()?this.#re():this.#J()),e.has(`interactionMode`)){this.selection.clearAnchor();let n=this.selection.selected,r=e.get(`interactionMode`)===`checked`?new Map(this.#e):null;if(this._syncCheckboxes(),n.size>0){if(r&&r.size>0)this.selection.remap(e=>r.get(e)??e);else if(this.#e.size>0){let e=new Map([...this.#e].map(([e,n])=>[n,e]));this.selection.remap(n=>e.get(n)??n)}}this._syncItemStates()}else e.has(`checkboxRenderer`)&&this.interactionMode===`checked`&&this._syncCheckboxes();(e.has(`itemsDraggable`)||e.has(`interactionMode`))&&(this._syncNativeDraggable(),this.#w.refreshDraggable())}get selectedItem(){return[...this.selection.selected].at(-1)}get selectedItems(){return this.selection.selected}addItem(e,n){let r;if(typeof e==`string`){let n=document.createElement(`li`);n.textContent=e,r=n}else r=e;if(n?.notChecked&&r.setAttribute(`not-checked`,``),this.appendChild(r),this.#ie()){this.#_e(!0);return}this.interactionMode===`checked`&&this._syncCheckboxes(),this.search.refresh(),this.#G()}removeItem(e){return this.#W([e]),this.#ie()?(e.parentNode===this?tr(e):Object.assign(Promise.resolve(),{animation:void 0})).then(()=>{let n=this.#oe(e);n>=0&&this.#a.splice(n,1),this.#ce(e),e.remove(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#_e(!0)}):tr(e).then(()=>{e.remove(),this.interactionMode===`checked`&&this._syncCheckboxes()})}removeItems(e){return Promise.all([...e].map(e=>this.removeItem(e))).then(()=>void 0)}clearItems(){this.#e.clear(),this.#ie()&&(this.#a=[],this.#o=document.createDocumentFragment(),this.#l=[]),this.replaceChildren(),this.selection.reset(),this._syncItemStates(),this.search.refresh(),this.#ie()?this.#_e(!0):this.#G()}setItems(e){if(this.#ie()){this.#e.clear(),this.#o=document.createDocumentFragment(),this.#l=[],this.#a=[...e];for(let e of this.#a)this.#i.add(e);this.selection.reset(),this.search.refresh(),this.#_e(!0);return}for(let n of e)this.appendChild(n);this.interactionMode===`checked`&&this._syncCheckboxes(),this.search.refresh(),this.#G()}dispatch(e,n){this.#j?.invoke(e,n)}select(e){this.selection.replace(e)}selectMany(e){this.selection.selectMany(e)}deselect(e){this.selection.deselect(e)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}get selectedKeys(){return this.selection.selectedKeys}#L;get partialKeys(){return this.#L}set partialKeys(e){let n=new Set(e);yr(n,this.#L)||(this.#L=n,this._syncItemStates())}get tickledKey(){let e=this.tickled.tickledId;return e?D(e):void 0}selectKeys(e){this.selection.selectKeys(e,e=>this.#V(e))}addSelectedKeys(e){this.selection.addKeys(e,e=>this.#V(e))}removeSelectedKeys(e){this.selection.removeKeys(e,e=>this.#V(e))}focusKey(e){if(this.#ie()){let n=this.#a.findIndex(n=>D(n)===e);if(n<0)return;let r=this.renderRoot.querySelector(`ul`);if(r){let e=this.itemHeight,i=r.clientHeight,a=n*e,o=(n+1)*e,s=r.scrollTop,c=i,l=s;a<s?l=a:o>s+c&&(l=o-c),l!==s&&(r.scrollTop=l),this.#_e(!0)}}let n=this.#V(e);!n||n.parentNode!==this||(this.#b=void 0,this.tickled.focus(n),n.scrollIntoView({block:`nearest`,inline:`nearest`}))}#R(){let e=this.tickled.tickledId,n=e?D(e):void 0;n!==void 0&&this.focusKey(n)}#z(){let e=this.#fe();if(!e)return 1;let n=e.clientHeight;if(this.#ie())return Math.max(1,Math.floor(n/this.itemHeight));let r=this.querySelector(`li[data-key]`);if(!r)return 1;let i=r.offsetHeight||this.itemHeight;return Math.max(1,Math.floor(n/i))}#B(e){let n=this.#z(),r=this.#ae().filter(e=>!e.hasAttribute(`not-checked`));if(r.length===0)return;let i=this.tickled.tickledId?D(this.tickled.tickledId):void 0,a=i===void 0?-1:r.findIndex(e=>D(e)===i),o=e===1?n-1:0,s=a<0?o:a+e*n;this.tickled.handleKeyboardNavigation(r[Math.min(r.length-1,Math.max(0,s))]),this.#R()}#V(e){if(this.#ie())return this.#a.find(n=>D(n)===e);for(let n of this.querySelectorAll(xx))if(!this.#t.has(n)&&D(n)===e)return n}getItemByKey(e){return this.#V(e)}getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickledKey:void 0;return this.#y.shape({selected:fr(this.selection.selectedKeys,n?this.selection.pendingKeys:[]),focus:r??(n?this.#b:void 0),scroll:(n?this.#y.pendingScroll:void 0)??this.#K()},e)}setViewState(e){this.#y.accepts(e)&&(this.#y.restoring(()=>{if(e.selected){let n=this.#H();this.selection.restoreKeys(e.selected,e=>n.get(e))}e.focus!==void 0&&(this.#b=e.focus),e.scroll&&(this.#y.pendingScroll=e.scroll),this.#y.notify()}),this.#G())}clearPendingViewState(){this.selection.clearPending(),this.#b=void 0,this.#y.pendingScroll=void 0}#H(){return this.#ie()?hx(this.#a,D):hx([...this.querySelectorAll(xx)].filter(e=>!this.#t.has(e)),D)}#U(e){return this.#ie()?this.#oe(e)>=0:e.parentNode===this||this.#t.has(e)}#W(e){e.length===0||!this.selection.demote(e)||(this._syncItemStates(),this.#y.notify(`data`))}#G(){if(!this.#x){this.#x=!0;try{this.#y.restoring(()=>{let e,n=n=>(e??=this.#H()).get(n);this.selection.resolvePending(n);let r=this.tickled.tickledId,i=r!==void 0&&!this.#U(r);if(this.#b===void 0&&!i)return;let a=i&&this.tickled.inputMode===`keyboard`?D(r):void 0;i&&this.tickled.clearTickled();let o=vx(this.#b,a,e=>n(e)!==void 0);this.#b=o.pending,o.apply!==void 0&&(this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(n(o.apply)),this.#y.notify())}),this.#y.applyPendingScroll(e=>this.#q(e))}finally{this.#x=!1}}}#K(){let e=this.#fe();if(e)return this.#ie()?yx(e.scrollTop,this.itemHeight,this.#a.length,e=>D(this.#a[e])):i_(e,this._getVisibleItems(),D)}#q(e){let n=this.#fe();if(!n||n.clientHeight===0)return!1;if(this.#ie()){let r=bx(e,this.itemHeight,e=>this.#a.findIndex(n=>D(n)===e));if(r===void 0)return!1;let i=Math.max(0,this.#a.length*this.itemHeight-this.#pe(n));return n.scrollTop=Math.max(0,Math.min(r,i)),this.#_e(),r<=i+1}if(!e.anchor)return o_(n,e.top);let r=this.#H().get(e.anchor.key);return!r||r.hidden?!1:a_(n,r,e.anchor.offset)}visibleKeys(){let e=this.renderRoot.querySelector(`ul`);if(!e)return[];let n=e.getBoundingClientRect(),r=[];for(let e of this._getVisibleItems()){let i=D(e);if(i===void 0)continue;let a=e.getBoundingClientRect();a.bottom>n.top&&a.top<n.bottom&&r.push(i)}return r}renderedKeys(){if(!this.#ie()){let e=[];for(let n of this._getVisibleItems()){let r=D(n);r!==void 0&&e.push(r)}return e}let e=[];for(let n=this.#s;n<this.#c;n++){let r=this.#a[n];if(!r)continue;let i=D(r);i!==void 0&&e.push(i)}return e}*selectedFilter(e){let n=this.#ie()?this.#a:this.querySelectorAll(xx),r=e=>this.interactionMode===`checked`&&!(this.#e.get(e)??e).hasAttribute(`not-checked`)&&this.selection.selected.has(e);for(let i of n)if(!(!this.#ie()&&this.#t.has(i))&&!i.hidden)switch(e){case`selected`:this.selection.selected.has(i)&&(yield i);break;case`checked`:r(i)&&(yield i);break;case`either`:(this.selection.selected.has(i)||r(i))&&(yield i)}}getItemData(e){return this.#n.get(e)}updateItem(e,n){if(this.items===void 0)return;let r=this.getItemByKey(e);if(!r||!this.#n.has(r))return;let i=this.#ne(r),a=this.formatter?this.formatter(n,i):n;if(r instanceof HTMLLIElement){for(let e of[...r.childNodes])e.remove();this.#Z(r,a,n,i),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates()}else a instanceof Element&&this.#$(a)&&(a.tagName!==`LI`&&!a.hasAttribute(`data-list-item`)&&a.setAttribute(`data-list-item`,``),this.#ee(a,n),this.#n.set(a,n),this.#n.delete(r),this.selection.remap(e=>e===r?a:e),this.#ie()&&this.#se(r,a),r.replaceWith(a),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates());if(this.keyProperty){let r=this.items.findIndex(n=>this.#te(n,this.keyProperty)!==void 0&&String(this.#te(n,this.keyProperty))===e);if(r>=0){let e=[...this.items];e[r]=n,this.#u=!0,this.items=e}}}#J(){let e=this.items??[],n=[...this.selection.selected],r=this.selection.anchor?D(this.selection.anchor):void 0;this.#e.clear(),this.replaceChildren(...e.map((e,n)=>this.#X(e,n))),this.#Y(n,r,this.querySelectorAll(xx)),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this._syncNativeDraggable(),this.#w.refreshDraggable(),this.#G()}#Y(e,n,r){if(e.length===0&&n===void 0)return;let{live:i,gone:a,anchor:o}=_x(e,n,r,D);this.selection.demote(a),this.selection.seed(i,o)}#X(e,n){let r=this.formatter?this.formatter(e,n):e;if(r instanceof Element&&this.#$(r))return r.tagName!==`LI`&&!r.hasAttribute(`data-list-item`)&&r.setAttribute(`data-list-item`,``),this.#ee(r,e),this.#n.set(r,e),r;let i=document.createElement(`li`);return this.#Z(i,r,e,n),i}#Z(e,n,r,i){typeof n==`string`?e.textContent=n:n instanceof Node?e.appendChild(n):this.formatter&&n!=null&&o(n,e),this.#Q(e,r,i),this.#ee(e,r),this.#n.set(e,r)}#Q(e,n,r){let i=S_(this.textColor?.(n,r));i===void 0?e.style.removeProperty(`color`):e.style.color=i;let a=this.icon?.(n,r);if(!x_(a)){let i=document.createElement(`span`);i.className=`item-icon`,i.style.cssText=`flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;margin-inline-end:var(--list-item-icon-gap,6px);width:var(--list-item-icon-size,1em);height:var(--list-item-icon-size,1em)`;let s=S_(this.iconColor?.(n,r));s!==void 0&&(i.style.color=s),a instanceof Node?i.appendChild(a):o(a,i),e.prepend(i)}let s=this.badge?.(n,r);if(!x_(s)){let n=document.createElement(`span`);n.className=`item-badge`,n.style.cssText=`flex:none;display:inline-flex;align-items:center;margin-inline-start:auto;padding-inline-start:var(--list-item-badge-gap,8px)`,s instanceof Node?n.appendChild(s):o(s,n),e.appendChild(n)}}#$(e){return e.tagName===`LI`||e.hasAttribute(`data-list-item`)||e.tagName.includes(`-`)}#ee(e,n){if(!this.keyProperty)return;let r=this.#te(n,this.keyProperty);r!=null&&e.setAttribute(`data-key`,String(r))}#te(e,n){if(!(typeof e!=`object`||!e||!(n in e)))return e[n]}#ne(e){if(this.#ie())return this.#oe(e);let n=0;for(let r of this.querySelectorAll(xx)){if(r===e)return n;this.#n.has(r)&&n++}return n}#re(){let e=this.items??[],n=[...this.selection.selected],r=this.selection.anchor?D(this.selection.anchor):void 0;this.#e.clear(),this.#o=document.createDocumentFragment(),this.#l=[],this.#a=e.map((e,n)=>this.#X(e,n));for(let e of this.#a)this.#i.add(e);this.#Y(n,r,this.#a),this.#_e(!0)}#ie(){return this.virtualize&&this.itemHeight>0}#ae(){return this.#ie()?this.#a.filter(e=>!(e.hidden||this.filterPredicate&&!this.filterPredicate(e))):this._getVisibleItems()}#oe(e){let n=this.#a.indexOf(e);if(n>=0)return n;if(this.#t.has(e)){for(let[n,r]of this.#e)if(r===e)return this.#a.indexOf(n)}return-1}#se(e,n){let r=this.#a.indexOf(e);r>=0&&(this.#a[r]=n)}#ce(e){if(this.#e.has(e)){let n=this.#e.get(e);this.#e.delete(e),n&&this.#t.delete(n)}if(this.#t.has(e)){for(let[n,r]of this.#e)if(r===e){this.#e.delete(n);break}this.#t.delete(e)}}#le(e){let n=0,r=e.previousElementSibling;for(;r;){if(r===this.#h)return this.#s+n;if(r===this.#g)return this.#a.length;r.matches(xx)&&n++,r=r.previousElementSibling}return n}#ue(e){let n=!1,r=[],i=[];for(let a of e){for(let e of a.addedNodes){if(!(e instanceof Element)||e.parentNode!==this||e.hasAttribute(`data-virtual-spacer`)||!e.matches(xx))continue;let i=this.#oe(e);if(i<0){let i=Math.min(this.#le(e),this.#a.length);this.#a.splice(i,0,e),r.push(e),n=!0}else if(this.#le(e)!==i){let r=Math.min(this.#le(e),this.#a.length-1);this.#a.splice(i,1),this.#a.splice(r,0,e),n=!0}}for(let e of a.removedNodes){if(!(e instanceof Element)||e.hasAttribute(`data-virtual-spacer`))continue;let r=this.#oe(e);r<0||e.parentNode!==this.#o&&e.parentNode!==this&&(this.#a.splice(r,1),i.push(e),n=!0)}}if(this.#W(i),r.length>0){if(this.#I(r.length))for(let e of r)this.#i.add(e);else this.#l.push(...r)}return n&&this.interactionMode===`checked`&&this._syncCheckboxes(),n&&this.search.refresh(),n}#de(){let e=this.#r?.takeRecords()??[];return e.length>0&&this.#ue(e)}#fe(){return this.renderRoot.querySelector(`ul`)}#pe(e){if(!e)return this.#_;let n=e.clientHeight||e.getBoundingClientRect().height||0;return n>0&&(this.#_=n),this.#_}#me(){if(this.#h&&this.#g)return;let e=()=>{let e=document.createElement(`li`);return e.setAttribute(`data-virtual-spacer`,``),e.setAttribute(`aria-hidden`,`true`),e};this.#h=e(),this.#g=e()}#he(){let e=this.#fe();e&&(this.#f??=new ResizeObserver(()=>{this.#_e(),this.#be(),this.#G()}),this.#f.observe(e))}#ge;#_e(e=!1){if(!this.#ie()||!this.isConnected)return;let n=this.#de()||e;this.#he();let r=this.#a.length,i=this.#fe(),a=this.itemHeight,o=this.#pe(i),s=Math.max(0,r*a-o),c=Math.min(Math.max(0,i?i.scrollTop:0),s);i&&Math.abs(i.scrollTop-c)>.5&&(i.scrollTop=c);let l=Math.floor(c/a),u=Math.ceil((c+o)/a),d=r===0?0:Math.max(0,l-3),f=Math.min(r,u+3);if(!n&&d===this.#s&&f===this.#c)return;if(r===0)this.#a.length>0&&this.#o.append(...this.#a),this.replaceChildren();else{this.#me();let e=this.#h,n=this.#g;if(!e||!n)return;e.style.height=`${d*a}px`,n.style.height=`${Math.max(0,(r-f)*a)}px`;let i=this.#a.slice(d,f),o=[...this.#a.slice(0,d),...this.#a.slice(f)];o.length>0&&this.#o.append(...o),this.replaceChildren(e,...i,n)}this.#s=d,this.#c=f,this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates();let p=this.#ae().length;for(let e=d;e<f;e++){let n=this.#a[e];n&&this.#ve(n,e+1,p)}let m=this.#l;this.#l=[];for(let e of m)this.#i.add(e),e.parentNode===this&&Qn(e);this.search.repaintHighlights(),n&&this.#G()}#ve(e,n,r){e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e)&&!e.hasAttribute(`data-editing`),n!==void 0&&r!==void 0&&(e.setAttribute(`aria-setsize`,String(r)),e.setAttribute(`aria-posinset`,String(n)),(!e.hasAttribute(`role`)||e.hasAttribute(`data-aria-role`))&&(e.setAttribute(`role`,`option`),e.setAttribute(`data-aria-role`,``),e.setAttribute(`aria-selected`,String(this.selection.selected.has(e)))))),e.removeAttribute(`data-marquee`),e.removeAttribute(`data-drag-origin`),e.removeAttribute(`data-drop-target`)}#ye(){for(let e of this.#a)this.#i.add(e);this.#a.length>0?this.replaceChildren(...this.#a):this.replaceChildren(),this.#o=document.createDocumentFragment(),this.#h=void 0,this.#g=void 0,this.#s=0,this.#c=0,this.#l=[],this._syncCheckboxes(),this._syncItemStates(),this._syncNativeDraggable(),this.#w.refreshDraggable(),this.#be()}#be(){this.#d===0&&(this.#d=requestAnimationFrame(()=>{this.#d=0,this.#_e(),this.#xe()}))}#xe(){let e=this.renderedKeys(),n=this.visibleKeys();Sx(this.#p,e)&&Sx(this.#m,n)||(this.#p=e,this.#m=n,this._dispatch(`vertical-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}_getVisibleItems(){return Array.from(this.querySelectorAll(xx)).filter(e=>!(this.#t.has(e)||e.hidden||this.filterPredicate&&!this.filterPredicate(e)))}_isCheckable(e){return this.interactionMode!==`checked`||!(this.#e.get(e)??e).hasAttribute(`not-checked`)}_syncItemStates(){for(let e of this.querySelectorAll(xx)){if(this.#t.has(e))continue;let n=this.#e.get(e)??e;e.toggleAttribute(`data-tickled`,this.tickled.isTickled(e)),e.toggleAttribute(`data-selected`,this.selection.selected.has(e)),br(e,vr(D(e),this.#L,this.selection.selected.has(e))),e.hasAttribute(`data-aria-role`)&&e.setAttribute(`aria-selected`,String(this.selection.selected.has(e))),this.interactionMode===`checked`?e.toggleAttribute(`data-checked`,!n.hasAttribute(`not-checked`)&&this.selection.selected.has(e)):e.removeAttribute(`data-checked`)}this.dataset.inputMode=this.tickled.inputMode,this._syncCheckboxes()}_syncCheckboxes(){let e=this.interactionMode===`checked`,n=typeof this.checkboxRenderer==`function`,r=this.#ie()?[this,this.#o]:[this];if(e)for(let e of r)for(let n of Array.from(e.children)){if(!n.hasAttribute(`data-list-item`)||n.parentNode!==e)continue;let r=document.createElement(`li`);r.className=`ixfx-custom-row`;let i=n.getAttribute(`data-key`),a=n.getAttribute(`data-search-label`);i!==null&&r.setAttribute(`data-key`,i),a!==null&&r.setAttribute(`data-search-label`,a),n.removeAttribute(`data-list-item`),e.insertBefore(r,n),r.appendChild(n),this.#e.set(r,n),this.#t.add(n),this.#n.has(n)&&this.#n.set(r,this.#n.get(n)),this.#ie()&&this.#se(n,r)}else{for(let[e,n]of this.#e){if(e.parentNode!==this&&e.parentNode!==this.#o)continue;n.setAttribute(`data-list-item`,``);let r=e.parentNode;r&&r.insertBefore(n,e),e.remove(),this.#n.delete(e),this.#ie()&&this.#se(e,n)}this.#e.clear(),this.#t.clear()}for(let r of this.querySelectorAll(`li`)){let i=r.querySelector(`.ixfx-list-checkbox`);if(!e){i&&i.remove();continue}if((this.#e.get(r)??r).hasAttribute(`not-checked`)){i&&i.remove();continue}let a=i?.classList.contains(`ixfx-list-checkbox-custom`)??!1;i&&a!==n&&i.remove();let s=r.querySelector(`.ixfx-list-checkbox`);if(!s){if(n){let e=this.checkboxRenderer,n=e.margin??`0`,i=e.width??`24px`;s=this._createCustomCheckbox(r,n,i)}else s=this._createNativeCheckboxCell(r);r.prepend(s)}let c=this.selection.selected.has(r),l=vr(D(r),this.#L,c);if(n){if(s.setAttribute(`aria-checked`,l?`mixed`:String(c)),s.toggleAttribute(`data-checked`,c),s.toggleAttribute(`data-partial`,l),this.checkboxRenderer){let e=typeof this.checkboxRenderer==`function`?this.checkboxRenderer:this.checkboxRenderer.renderer;o(e(c),s)}}else{let e=s.querySelector(`input.ixfx-list-checkbox`);e&&(e.checked=c,e.indeterminate=l),s.setAttribute(`aria-checked`,l?`mixed`:String(c))}}}_createNativeCheckboxCell(e){let n=document.createElement(`span`);n.className=`ixfx-list-checkbox ixfx-list-checkbox-native`,n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:18px;margin:0 6px 0 0;cursor:pointer;pointer-events:auto`,n.tabIndex=-1,n.setAttribute(`role`,`checkbox`),n.setAttribute(`part`,`checkbox`),n.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)});let r=document.createElement(`input`);return r.type=`checkbox`,r.className=`ixfx-list-checkbox`,r.style.cssText=`pointer-events:none;cursor:pointer;margin:0`,n.appendChild(r),n}_createCustomCheckbox(e,n,r){let i=document.createElement(`span`);return i.className=`ixfx-list-checkbox ixfx-list-checkbox-custom`,i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:${r};margin:${n};cursor:pointer;pointer-events:auto`,i.tabIndex=-1,i.setAttribute(`role`,`checkbox`),i.setAttribute(`part`,`checkbox`),i.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)}),i}_findListItem(e){for(let n of e)if(n instanceof Element){if(n===this)break;if(n.parentElement===this&&n.matches(xx))return n}}_dispatch(e,n){this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0}))}_dispatchCancelable(e,n){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}_activateItem(e,n=`pointer`){this.selection.handleReplace(e,n),this._dispatch(`list-activate`,{item:e})}activateKey(e){let n=this.#V(e);n&&this._activateItem(n,`api`)}#Se;#Ce(){let e=this.#Se;this.#Se=void 0,this.#Te(void 0,!1),e&&this._dispatch(`list-drag-leave`,{key:e.item?D(e.item):void 0})}#we;#Te(e,n){this.#we?.removeAttribute(`data-drop-target`),this.#we=n?e:void 0,this.toggleAttribute(`data-drop-target`,n&&e===void 0),n&&e&&e.setAttribute(`data-drop-target`,``)}#Ee(e,n,r){return!this.selection.selected.has(e)&&this.interactionMode!==`manual`&&this._isCheckable(e)&&this.selection.replace(e),this._dispatchCancelable(`list-context-menu`,{key:D(e),item:e,x:n,y:r,selectedKeys:this.selection.selectedKeys})}#De;get editingKey(){return this.#De?.key}#Oe(e){return this.#De!==void 0&&e.composedPath().includes(this.#De.label)}beginEdit(e){this.#ke();let n=this.editValidator;if(!n)return!1;let r=this.#V(e);if(!(r instanceof HTMLElement)||r.parentNode!==this)return!1;let i=r.querySelector(`[data-edit-label]`)??r,a=i.getAttribute(`data-edit-value`)??i.textContent?.trim()??``,o=document.createElement(`ixfx-editable-label`);o.mode=`label`,o.value=a,o.validator=r=>n(r,e),o.style.cssText=`flex:1;min-width:0;--label-align:left;--label-padding:0 var(--space-xs,3px)`;let s={key:e,row:r,container:i,saved:[...i.childNodes],label:o,committed:void 0,refocus:!1};this.#De=s,o.addEventListener(`change`,e=>{e.stopPropagation(),s.committed=e.detail.value}),o.addEventListener(`input`,e=>e.stopPropagation()),o.addEventListener(`keydown`,e=>{s.refocus=e.key===`Enter`||e.key===`Escape`});for(let e of[`pointerdown`,`dragstart`])o.addEventListener(e,e=>e.stopPropagation());return o.addEventListener(`focusout`,()=>this.#ke()),i.replaceChildren(o),r.setAttribute(`data-editing`,``),r.draggable=!1,r.scrollIntoView({block:`nearest`,inline:`nearest`}),o.updateComplete.then(()=>{this.#De===s&&o.shadowRoot?.querySelector(`.content`)?.click()}),!0}#ke(){let e=this.#De;e&&(this.#De=void 0,e.container.isConnected&&e.container.replaceChildren(...e.saved),e.row.removeAttribute(`data-editing`),this.#ve(e.row),e.refocus&&this.focus(),e.committed===void 0?this._dispatch(`list-edit-cancel`,{key:e.key}):this._dispatch(`list-edit-commit`,{key:e.key,value:e.committed}))}static{this.styles=[w,wr(`y`),Ht,r`
|
|
7002
|
+
`]}};E([d({type:Number})],hx.prototype,`min`,void 0),E([d({type:Number})],hx.prototype,`max`,void 0),E([d({type:Number})],hx.prototype,`step`,void 0),E([d({type:Number})],hx.prototype,`stops`,void 0),E([d({type:Number,attribute:`drag-sensitivity`})],hx.prototype,`dragSensitivity`,void 0),E([d({attribute:`fill-style`})],hx.prototype,`fillStyle`,void 0),E([d({attribute:`linear-style`})],hx.prototype,`linearStyle`,void 0),E([d({attribute:`circular-style`})],hx.prototype,`circularStyle`,void 0),E([d({type:Boolean,attribute:`no-drag`})],hx.prototype,`noDrag`,void 0),E([d({type:Number})],hx.prototype,`precision`,void 0),hx=E([T(`ixfx-editable-number`)],hx);function gx(e,n){let r=new Map;for(let i of e){let e=n(i);e!==void 0&&!r.has(e)&&r.set(e,i)}return r}function _x(e,n){let r=[];for(let i of e)n(i)||r.push(i);return r}function vx(e,n,r,i){let a=new Map,o=[];for(let n of e){let e=i(n);e===void 0?o.push(n):a.set(e,n)}let s=[],c=new Set,l;for(let e of r){let r=i(e);r!==void 0&&(a.has(r)&&!c.has(r)&&(s.push(e),c.add(r)),r===n&&(l??=e))}for(let[e,n]of a)c.has(e)||o.push(n);return{live:s,gone:o,anchor:l}}function yx(e,n,r){let i=e??n;return i!==void 0&&r(i)?{pending:void 0,apply:i}:{pending:i,apply:void 0}}function bx(e,n,r,i){if(n<=0||r===0)return c_(e,void 0,0);let a=Math.min(r-1,Math.max(0,Math.floor(e/n)));return c_(e,i(a),a*n)}function xx(e,n,r){if(!e.anchor)return e.top;let i=r(e.anchor.key);return i<0?void 0:i*n+e.anchor.offset}const Sx=`li:not([data-virtual-spacer]), [data-list-item]:not([data-virtual-spacer])`;function Cx(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}let G=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.itemWrap=`stop`,this.itemsDraggable=!1,this.keyProperty=``,this.virtualize=!1,this.itemHeight=0,this.itemsDroppable=!1,this.#e=new Map,this.#t=new Set,this.#n=new WeakMap,this.#i=new WeakSet,this.#a=[],this.#o=document.createDocumentFragment(),this.#s=0,this.#c=0,this.#l=[],this.#u=!1,this.#d=0,this.#_=0,this.#v=!1,this.#y=new f_(this,{kind:`vertical-list`,capture:()=>this.getViewState()}),this.#x=!1,this.selection=new gr({getOrderedItems:()=>this.#ae(),isSelectable:e=>this._isCheckable(e),getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:D,onIntent:e=>this._dispatchCancelable(`list-select-intent`,e)===!1,onChange:(e,n)=>{this._syncItemStates(),this.#y.notify(),this._dispatch(`list-select`,{selected:e,previous:n,selectedKeys:this.selection.selectedKeys,previousKeys:At(n)})}}),this.tickled=(e=>new oe(e,{getItems:()=>e.#ae().map(e=>({id:e,enabled:!e.hasAttribute(`not-checked`)})),onTickle:n=>{e.tickled.inputMode===`keyboard`&&(e.#y.isRestoring||(e.#b=void 0),e.#y.notify()),n!==void 0&&this._dispatch(`list-tickle`,{item:n})},onStateChange:()=>this._syncItemStates(),get itemWrap(){return e.itemWrap},hoverDisabled:()=>this.#O.isDragging||this.#w.isDragging}))(this),this.#S=!1,this.#C=0,this.#w=new nr(this,{source:`vertical-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this._getVisibleItems().length>0,resolveEventToKey:e=>{if(!(e instanceof Element))return;let n=e.closest?.(Sx);if(!(!n||!this.contains(n)||this.#t.has(n)))return D(n)},prepareSelection:e=>this.#T(e),getMetrics:()=>({}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatchCancelable(`list-native-drag-start`,e),onActiveChange:(e,n)=>{this.#S=e,this.toggleAttribute(`data-native-dragging`,e);for(let r of this._getVisibleItems())r.toggleAttribute(`data-drag-origin`,e&&n!==void 0&&D(r)===n);if(e){let e=this.selection.selected.size;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#S=!1,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`);for(let e of this._getVisibleItems())e.removeAttribute(`data-drag-origin`);if(this.#ie())for(let e of this.#a)e.removeAttribute(`data-drag-origin`);this.#E()},syncLightDomDraggable:()=>this._syncNativeDraggable()}),this.#O=new Wn(this,{getSurface:()=>this.renderRoot.querySelector(`.container`),isEnabled:()=>!this.#ie()&&this.selection.canDragSelect()&&this._getVisibleItems().length>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#k(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#D=n;for(let n of this._getVisibleItems())n.toggleAttribute(`data-marquee`,e.has(n));this.requestUpdate()},onCommit:e=>{this.selection.applyDragSelection(e);for(let e of this._getVisibleItems())e.removeAttribute(`data-marquee`);this.#D=void 0,this.requestUpdate()},autoScroll:(e,n)=>{let r=this.renderRoot.querySelector(`ul`);r&&(r.scrollTop+=n)}}),this.search=new Vt(this,{adapter:Nt(this,{itemSelector:Sx,getLabel:e=>e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`vertical-list-search`,getAllItems:()=>this.#ae(),observeContainer:!1})}),this.#L=new Set,this.#ge=()=>{this.#y.pendingScroll||this.#y.notify(),this.#d===0&&(this.#d=requestAnimationFrame(()=>{this.#d=0,this.#_e(),this.#xe()}))},this._onPointerOver=e=>{let n=this._findListItem(e.composedPath());n&&this.tickled.handlePointerEnter(n)},this._onPointerLeave=e=>{this.tickled.handlePointerLeave(e)},this._onKeyDown=e=>{if(!(this.search.isOpen||this.#Oe(e))){if(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`){let n=this.tickled.tickledId;if(n){e.preventDefault();let r=n.getBoundingClientRect();this.#Ee(n,r.left,r.bottom)}return}if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}switch(e.key){case`ArrowDown`:if(e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`),this.#R(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`ArrowUp`:if(e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`),this.#R(),e.shiftKey&&(this.interactionMode===`vscode`||this.interactionMode===`manual`)){let e=this.tickled.tickledId;e&&this.selection.handleExtend(e)}break;case`Home`:e.preventDefault(),this.tickled.handleKeyboardNavigation(`first`),this.#R();break;case`End`:e.preventDefault(),this.tickled.handleKeyboardNavigation(`last`),this.#R();break;case`PageDown`:e.preventDefault(),this.#B(1);break;case`PageUp`:e.preventDefault(),this.#B(-1);break;case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this._dispatch(`list-item-click`,{item:n}),this._activateItem(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.selection.handleClear(`keyboard`)}}},this._onClick=e=>{if(this.#Oe(e)||this.#O.isDragging||this.#w.isDragging||this.#C!==0)return;let n=this._findListItem(e.composedPath());n&&(this._dispatch(`list-item-click`,{item:n}),this.selection.handleClick(n,mr(e)))},this._onDblClick=e=>{if(this.#Oe(e))return;let n=this._findListItem(e.composedPath());n&&this._activateItem(n)},this._onDragOver=e=>{let n=e.dataTransfer;if(!this.itemsDroppable||!n||this.#Oe(e))return;let r=this._findListItem(e.composedPath());if(this.canDrop&&!this.canDrop(r,n)){this.#Ce();return}if(this.#Se&&this.#Se.item!==r&&this.#Ce(),this.#Se={item:r},this._dispatchCancelable(`list-drag-over`,{key:r?D(r):void 0,item:r,dataTransfer:n})){this.#Te(void 0,!1);return}e.preventDefault(),n.dropEffect===`none`&&(n.dropEffect=`copy`),this.#Te(r,!0)},this._onDragLeave=e=>{let n=e.relatedTarget;n instanceof Node&&this.contains(n)||this.#Ce()},this._onDrop=e=>{let n=e.dataTransfer;if(!this.itemsDroppable||!n||this.#Oe(e))return;let r=this._findListItem(e.composedPath());if(this.canDrop&&!this.canDrop(r,n)){this.#Ce();return}e.preventDefault(),this.#Se=void 0,this.#Te(void 0,!1),this._dispatch(`list-drop`,{key:r?D(r):void 0,item:r,dataTransfer:n})},this._onContextMenu=e=>{if(this.#Oe(e))return;let n=this._findListItem(e.composedPath());n&&(this.#Ee(n,e.clientX,e.clientY)||e.preventDefault())}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T(e){let n=this.#V(e);if(!n||!this._isCheckable(n))return;this.selection.selected.has(n)||this.selection.replace(n);let r=this.#ae(),i=[];r.forEach(n=>{if(!this.selection.selected.has(n))return;let r=this.#oe(n);i.push({key:D(n)??e,index:r,item:n,element:n})});let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}_syncNativeDraggable(){if(this.isConnected)for(let e of this.querySelectorAll(Sx))this.#t.has(e)||e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e))}#E(){this.#C&&clearTimeout(this.#C),this.#C=window.setTimeout(()=>{this.#C=0},0)}#D;#O;#k(e){let n=this.renderRoot.querySelector(`.container`);if(!n)return[];let r=n.getBoundingClientRect(),i=e.x,a=e.y,o=e.x+e.width,s=e.y+e.height,c=[];for(let e of this._getVisibleItems()){let n=e.getBoundingClientRect(),l=n.left-r.left,u=n.top-r.top;l<=o&&l+n.width>=i&&u<=s&&u+n.height>=a&&c.push(e)}return c}#A(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}#j;#M;get registry(){return this.#j}#N(){let e=this.searchModes?.trim(),n;if(e===void 0)n=[...O];else{let r=new Set(e.split(/\s+/));n=O.filter(e=>r.has(e))}return this.#ie()?n.filter(e=>e!==`filter`):n}#P(){this.#j&&(this.search.setModes(this.#N()),this.#M?.(),this.#M=zt(this.#j,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.addEventListener(`pointerover`,this._onPointerOver),this.addEventListener(`pointerleave`,this._onPointerLeave),this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`click`,this._onClick),this.addEventListener(`dblclick`,this._onDblClick),this.addEventListener(`dragover`,this._onDragOver),this.addEventListener(`dragleave`,this._onDragLeave),this.addEventListener(`drop`,this._onDrop),this.addEventListener(`contextmenu`,this._onContextMenu);for(let e of this.querySelectorAll(Sx))this.#i.add(e);this.#r??=new MutationObserver(e=>this.#F(e)),this.#r.observe(this,{childList:!0}),this.#j??=Yt(),this.#P(),this.#he()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerover`,this._onPointerOver),this.removeEventListener(`pointerleave`,this._onPointerLeave),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`click`,this._onClick),this.removeEventListener(`dblclick`,this._onDblClick),this.removeEventListener(`dragover`,this._onDragOver),this.removeEventListener(`dragleave`,this._onDragLeave),this.removeEventListener(`drop`,this._onDrop),this.removeEventListener(`contextmenu`,this._onContextMenu),this.#Ce(),this.#De=void 0,this.#r?.disconnect(),this.#f?.disconnect(),this.#f=void 0,this.#d!==0&&(cancelAnimationFrame(this.#d),this.#d=0),this.#M?.(),this.#M=void 0,this.#j=void 0,this.#C&&=(clearTimeout(this.#C),0)}firstUpdated(){this.#he(),this.#y.observeScrollTarget(this),this.#G()}#F(e){if(!this.isConnected)return;if(this.#ie()){this.#_e(this.#ue(e)),this.#be();return}let n=[];for(let r of e)for(let e of r.addedNodes)!(e instanceof HTMLElement)||e.parentElement!==this||e.matches(Sx)&&(this.#i.has(e)||this.#e.has(e)||this.#t.has(e)||(this.#i.add(e),n.push(e)));if(this.#be(),e.some(e=>e.removedNodes.length>0)&&this.#W(_x(this.selection.selected,e=>e.parentNode===this||this.#t.has(e))),this.#G(),n.length!==0&&!this.#I(n.length))for(let e of n)Qn(e)}#I(e){return e>=this.querySelectorAll(Sx).length}updated(e){if(super.updated(e),e.has(`searchModes`)&&this.#P(),e.has(`virtualize`)||e.has(`itemHeight`)){let n=(e.has(`virtualize`)?e.get(`virtualize`):this.virtualize)===!0&&((e.has(`itemHeight`)?e.get(`itemHeight`):this.itemHeight)??0)>0;if(this.#ie()){if(!n){this.#o=document.createDocumentFragment(),this.#a=[...this.querySelectorAll(Sx)];for(let e of this.#a)this.#i.add(e);this.#l=[]}this.#_e(!0)}else n?this.#ye():this.virtualize&&!this.#v&&(this.#v=!0,console.warn(`ixfx-vertical-list: virtualize needs item-height > 0 — running non-virtualized.`));this.#P()}if((e.has(`items`)||e.has(`formatter`)||e.has(`keyProperty`)||e.has(`icon`)||e.has(`iconColor`)||e.has(`textColor`)||e.has(`badge`))&&this.items!==void 0&&(this.#u?this.#u=!1:this.#ie()?this.#re():this.#J()),e.has(`interactionMode`)){this.selection.clearAnchor();let n=this.selection.selected,r=e.get(`interactionMode`)===`checked`?new Map(this.#e):null;if(this._syncCheckboxes(),n.size>0){if(r&&r.size>0)this.selection.remap(e=>r.get(e)??e);else if(this.#e.size>0){let e=new Map([...this.#e].map(([e,n])=>[n,e]));this.selection.remap(n=>e.get(n)??n)}}this._syncItemStates()}else e.has(`checkboxRenderer`)&&this.interactionMode===`checked`&&this._syncCheckboxes();(e.has(`itemsDraggable`)||e.has(`interactionMode`))&&(this._syncNativeDraggable(),this.#w.refreshDraggable())}get selectedItem(){return[...this.selection.selected].at(-1)}get selectedItems(){return this.selection.selected}addItem(e,n){let r;if(typeof e==`string`){let n=document.createElement(`li`);n.textContent=e,r=n}else r=e;if(n?.notChecked&&r.setAttribute(`not-checked`,``),this.appendChild(r),this.#ie()){this.#_e(!0);return}this.interactionMode===`checked`&&this._syncCheckboxes(),this.search.refresh(),this.#G()}removeItem(e){return this.#W([e]),this.#ie()?(e.parentNode===this?tr(e):Object.assign(Promise.resolve(),{animation:void 0})).then(()=>{let n=this.#oe(e);n>=0&&this.#a.splice(n,1),this.#ce(e),e.remove(),this.interactionMode===`checked`&&this._syncCheckboxes(),this.#_e(!0)}):tr(e).then(()=>{e.remove(),this.interactionMode===`checked`&&this._syncCheckboxes()})}removeItems(e){return Promise.all([...e].map(e=>this.removeItem(e))).then(()=>void 0)}clearItems(){this.#e.clear(),this.#ie()&&(this.#a=[],this.#o=document.createDocumentFragment(),this.#l=[]),this.replaceChildren(),this.selection.reset(),this._syncItemStates(),this.search.refresh(),this.#ie()?this.#_e(!0):this.#G()}setItems(e){if(this.#ie()){this.#e.clear(),this.#o=document.createDocumentFragment(),this.#l=[],this.#a=[...e];for(let e of this.#a)this.#i.add(e);this.selection.reset(),this.search.refresh(),this.#_e(!0);return}for(let n of e)this.appendChild(n);this.interactionMode===`checked`&&this._syncCheckboxes(),this.search.refresh(),this.#G()}dispatch(e,n){this.#j?.invoke(e,n)}select(e){this.selection.replace(e)}selectMany(e){this.selection.selectMany(e)}deselect(e){this.selection.deselect(e)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}get selectedKeys(){return this.selection.selectedKeys}#L;get partialKeys(){return this.#L}set partialKeys(e){let n=new Set(e);yr(n,this.#L)||(this.#L=n,this._syncItemStates())}get tickledKey(){let e=this.tickled.tickledId;return e?D(e):void 0}selectKeys(e){this.selection.selectKeys(e,e=>this.#V(e))}addSelectedKeys(e){this.selection.addKeys(e,e=>this.#V(e))}removeSelectedKeys(e){this.selection.removeKeys(e,e=>this.#V(e))}focusKey(e){if(this.#ie()){let n=this.#a.findIndex(n=>D(n)===e);if(n<0)return;let r=this.renderRoot.querySelector(`ul`);if(r){let e=this.itemHeight,i=r.clientHeight,a=n*e,o=(n+1)*e,s=r.scrollTop,c=i,l=s;a<s?l=a:o>s+c&&(l=o-c),l!==s&&(r.scrollTop=l),this.#_e(!0)}}let n=this.#V(e);!n||n.parentNode!==this||(this.#b=void 0,this.tickled.focus(n),n.scrollIntoView({block:`nearest`,inline:`nearest`}))}#R(){let e=this.tickled.tickledId,n=e?D(e):void 0;n!==void 0&&this.focusKey(n)}#z(){let e=this.#fe();if(!e)return 1;let n=e.clientHeight;if(this.#ie())return Math.max(1,Math.floor(n/this.itemHeight));let r=this.querySelector(`li[data-key]`);if(!r)return 1;let i=r.offsetHeight||this.itemHeight;return Math.max(1,Math.floor(n/i))}#B(e){let n=this.#z(),r=this.#ae().filter(e=>!e.hasAttribute(`not-checked`));if(r.length===0)return;let i=this.tickled.tickledId?D(this.tickled.tickledId):void 0,a=i===void 0?-1:r.findIndex(e=>D(e)===i),o=e===1?n-1:0,s=a<0?o:a+e*n;this.tickled.handleKeyboardNavigation(r[Math.min(r.length-1,Math.max(0,s))]),this.#R()}#V(e){if(this.#ie())return this.#a.find(n=>D(n)===e);for(let n of this.querySelectorAll(Sx))if(!this.#t.has(n)&&D(n)===e)return n}getItemByKey(e){return this.#V(e)}getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickledKey:void 0;return this.#y.shape({selected:fr(this.selection.selectedKeys,n?this.selection.pendingKeys:[]),focus:r??(n?this.#b:void 0),scroll:(n?this.#y.pendingScroll:void 0)??this.#K()},e)}setViewState(e){this.#y.accepts(e)&&(this.#y.restoring(()=>{if(e.selected){let n=this.#H();this.selection.restoreKeys(e.selected,e=>n.get(e))}e.focus!==void 0&&(this.#b=e.focus),e.scroll&&(this.#y.pendingScroll=e.scroll),this.#y.notify()}),this.#G())}clearPendingViewState(){this.selection.clearPending(),this.#b=void 0,this.#y.pendingScroll=void 0}#H(){return this.#ie()?gx(this.#a,D):gx([...this.querySelectorAll(Sx)].filter(e=>!this.#t.has(e)),D)}#U(e){return this.#ie()?this.#oe(e)>=0:e.parentNode===this||this.#t.has(e)}#W(e){e.length===0||!this.selection.demote(e)||(this._syncItemStates(),this.#y.notify(`data`))}#G(){if(!this.#x){this.#x=!0;try{this.#y.restoring(()=>{let e,n=n=>(e??=this.#H()).get(n);this.selection.resolvePending(n);let r=this.tickled.tickledId,i=r!==void 0&&!this.#U(r);if(this.#b===void 0&&!i)return;let a=i&&this.tickled.inputMode===`keyboard`?D(r):void 0;i&&this.tickled.clearTickled();let o=yx(this.#b,a,e=>n(e)!==void 0);this.#b=o.pending,o.apply!==void 0&&(this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(n(o.apply)),this.#y.notify())}),this.#y.applyPendingScroll(e=>this.#q(e))}finally{this.#x=!1}}}#K(){let e=this.#fe();if(e)return this.#ie()?bx(e.scrollTop,this.itemHeight,this.#a.length,e=>D(this.#a[e])):a_(e,this._getVisibleItems(),D)}#q(e){let n=this.#fe();if(!n||n.clientHeight===0)return!1;if(this.#ie()){let r=xx(e,this.itemHeight,e=>this.#a.findIndex(n=>D(n)===e));if(r===void 0)return!1;let i=Math.max(0,this.#a.length*this.itemHeight-this.#pe(n));return n.scrollTop=Math.max(0,Math.min(r,i)),this.#_e(),r<=i+1}if(!e.anchor)return s_(n,e.top);let r=this.#H().get(e.anchor.key);return!r||r.hidden?!1:o_(n,r,e.anchor.offset)}visibleKeys(){let e=this.renderRoot.querySelector(`ul`);if(!e)return[];let n=e.getBoundingClientRect(),r=[];for(let e of this._getVisibleItems()){let i=D(e);if(i===void 0)continue;let a=e.getBoundingClientRect();a.bottom>n.top&&a.top<n.bottom&&r.push(i)}return r}renderedKeys(){if(!this.#ie()){let e=[];for(let n of this._getVisibleItems()){let r=D(n);r!==void 0&&e.push(r)}return e}let e=[];for(let n=this.#s;n<this.#c;n++){let r=this.#a[n];if(!r)continue;let i=D(r);i!==void 0&&e.push(i)}return e}*selectedFilter(e){let n=this.#ie()?this.#a:this.querySelectorAll(Sx),r=e=>this.interactionMode===`checked`&&!(this.#e.get(e)??e).hasAttribute(`not-checked`)&&this.selection.selected.has(e);for(let i of n)if(!(!this.#ie()&&this.#t.has(i))&&!i.hidden)switch(e){case`selected`:this.selection.selected.has(i)&&(yield i);break;case`checked`:r(i)&&(yield i);break;case`either`:(this.selection.selected.has(i)||r(i))&&(yield i)}}getItemData(e){return this.#n.get(e)}updateItem(e,n){if(this.items===void 0)return;let r=this.getItemByKey(e);if(!r||!this.#n.has(r))return;let i=this.#ne(r),a=this.formatter?this.formatter(n,i):n;if(r instanceof HTMLLIElement){for(let e of[...r.childNodes])e.remove();this.#Z(r,a,n,i),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates()}else a instanceof Element&&this.#$(a)&&(a.tagName!==`LI`&&!a.hasAttribute(`data-list-item`)&&a.setAttribute(`data-list-item`,``),this.#ee(a,n),this.#n.set(a,n),this.#n.delete(r),this.selection.remap(e=>e===r?a:e),this.#ie()&&this.#se(r,a),r.replaceWith(a),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates());if(this.keyProperty){let r=this.items.findIndex(n=>this.#te(n,this.keyProperty)!==void 0&&String(this.#te(n,this.keyProperty))===e);if(r>=0){let e=[...this.items];e[r]=n,this.#u=!0,this.items=e}}}#J(){let e=this.items??[],n=[...this.selection.selected],r=this.selection.anchor?D(this.selection.anchor):void 0;this.#e.clear(),this.replaceChildren(...e.map((e,n)=>this.#X(e,n))),this.#Y(n,r,this.querySelectorAll(Sx)),this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates(),this._syncNativeDraggable(),this.#w.refreshDraggable(),this.#G()}#Y(e,n,r){if(e.length===0&&n===void 0)return;let{live:i,gone:a,anchor:o}=vx(e,n,r,D);this.selection.demote(a),this.selection.seed(i,o)}#X(e,n){let r=this.formatter?this.formatter(e,n):e;if(r instanceof Element&&this.#$(r))return r.tagName!==`LI`&&!r.hasAttribute(`data-list-item`)&&r.setAttribute(`data-list-item`,``),this.#ee(r,e),this.#n.set(r,e),r;let i=document.createElement(`li`);return this.#Z(i,r,e,n),i}#Z(e,n,r,i){typeof n==`string`?e.textContent=n:n instanceof Node?e.appendChild(n):this.formatter&&n!=null&&o(n,e),this.#Q(e,r,i),this.#ee(e,r),this.#n.set(e,r)}#Q(e,n,r){let i=C_(this.textColor?.(n,r));i===void 0?e.style.removeProperty(`color`):e.style.color=i;let a=this.icon?.(n,r);if(!S_(a)){let i=document.createElement(`span`);i.className=`item-icon`,i.style.cssText=`flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;margin-inline-end:var(--list-item-icon-gap,6px);width:var(--list-item-icon-size,1em);height:var(--list-item-icon-size,1em)`;let s=C_(this.iconColor?.(n,r));s!==void 0&&(i.style.color=s),a instanceof Node?i.appendChild(a):o(a,i),e.prepend(i)}let s=this.badge?.(n,r);if(!S_(s)){let n=document.createElement(`span`);n.className=`item-badge`,n.style.cssText=`flex:none;display:inline-flex;align-items:center;margin-inline-start:auto;padding-inline-start:var(--list-item-badge-gap,8px)`,s instanceof Node?n.appendChild(s):o(s,n),e.appendChild(n)}}#$(e){return e.tagName===`LI`||e.hasAttribute(`data-list-item`)||e.tagName.includes(`-`)}#ee(e,n){if(!this.keyProperty)return;let r=this.#te(n,this.keyProperty);r!=null&&e.setAttribute(`data-key`,String(r))}#te(e,n){if(!(typeof e!=`object`||!e||!(n in e)))return e[n]}#ne(e){if(this.#ie())return this.#oe(e);let n=0;for(let r of this.querySelectorAll(Sx)){if(r===e)return n;this.#n.has(r)&&n++}return n}#re(){let e=this.items??[],n=[...this.selection.selected],r=this.selection.anchor?D(this.selection.anchor):void 0;this.#e.clear(),this.#o=document.createDocumentFragment(),this.#l=[],this.#a=e.map((e,n)=>this.#X(e,n));for(let e of this.#a)this.#i.add(e);this.#Y(n,r,this.#a),this.#_e(!0)}#ie(){return this.virtualize&&this.itemHeight>0}#ae(){return this.#ie()?this.#a.filter(e=>!(e.hidden||this.filterPredicate&&!this.filterPredicate(e))):this._getVisibleItems()}#oe(e){let n=this.#a.indexOf(e);if(n>=0)return n;if(this.#t.has(e)){for(let[n,r]of this.#e)if(r===e)return this.#a.indexOf(n)}return-1}#se(e,n){let r=this.#a.indexOf(e);r>=0&&(this.#a[r]=n)}#ce(e){if(this.#e.has(e)){let n=this.#e.get(e);this.#e.delete(e),n&&this.#t.delete(n)}if(this.#t.has(e)){for(let[n,r]of this.#e)if(r===e){this.#e.delete(n);break}this.#t.delete(e)}}#le(e){let n=0,r=e.previousElementSibling;for(;r;){if(r===this.#h)return this.#s+n;if(r===this.#g)return this.#a.length;r.matches(Sx)&&n++,r=r.previousElementSibling}return n}#ue(e){let n=!1,r=[],i=[];for(let a of e){for(let e of a.addedNodes){if(!(e instanceof Element)||e.parentNode!==this||e.hasAttribute(`data-virtual-spacer`)||!e.matches(Sx))continue;let i=this.#oe(e);if(i<0){let i=Math.min(this.#le(e),this.#a.length);this.#a.splice(i,0,e),r.push(e),n=!0}else if(this.#le(e)!==i){let r=Math.min(this.#le(e),this.#a.length-1);this.#a.splice(i,1),this.#a.splice(r,0,e),n=!0}}for(let e of a.removedNodes){if(!(e instanceof Element)||e.hasAttribute(`data-virtual-spacer`))continue;let r=this.#oe(e);r<0||e.parentNode!==this.#o&&e.parentNode!==this&&(this.#a.splice(r,1),i.push(e),n=!0)}}if(this.#W(i),r.length>0){if(this.#I(r.length))for(let e of r)this.#i.add(e);else this.#l.push(...r)}return n&&this.interactionMode===`checked`&&this._syncCheckboxes(),n&&this.search.refresh(),n}#de(){let e=this.#r?.takeRecords()??[];return e.length>0&&this.#ue(e)}#fe(){return this.renderRoot.querySelector(`ul`)}#pe(e){if(!e)return this.#_;let n=e.clientHeight||e.getBoundingClientRect().height||0;return n>0&&(this.#_=n),this.#_}#me(){if(this.#h&&this.#g)return;let e=()=>{let e=document.createElement(`li`);return e.setAttribute(`data-virtual-spacer`,``),e.setAttribute(`aria-hidden`,`true`),e};this.#h=e(),this.#g=e()}#he(){let e=this.#fe();e&&(this.#f??=new ResizeObserver(()=>{this.#_e(),this.#be(),this.#G()}),this.#f.observe(e))}#ge;#_e(e=!1){if(!this.#ie()||!this.isConnected)return;let n=this.#de()||e;this.#he();let r=this.#a.length,i=this.#fe(),a=this.itemHeight,o=this.#pe(i),s=Math.max(0,r*a-o),c=Math.min(Math.max(0,i?i.scrollTop:0),s);i&&Math.abs(i.scrollTop-c)>.5&&(i.scrollTop=c);let l=Math.floor(c/a),u=Math.ceil((c+o)/a),d=r===0?0:Math.max(0,l-3),f=Math.min(r,u+3);if(!n&&d===this.#s&&f===this.#c)return;if(r===0)this.#a.length>0&&this.#o.append(...this.#a),this.replaceChildren();else{this.#me();let e=this.#h,n=this.#g;if(!e||!n)return;e.style.height=`${d*a}px`,n.style.height=`${Math.max(0,(r-f)*a)}px`;let i=this.#a.slice(d,f),o=[...this.#a.slice(0,d),...this.#a.slice(f)];o.length>0&&this.#o.append(...o),this.replaceChildren(e,...i,n)}this.#s=d,this.#c=f,this.interactionMode===`checked`&&this._syncCheckboxes(),this._syncItemStates();let p=this.#ae().length;for(let e=d;e<f;e++){let n=this.#a[e];n&&this.#ve(n,e+1,p)}let m=this.#l;this.#l=[];for(let e of m)this.#i.add(e),e.parentNode===this&&Qn(e);this.search.repaintHighlights(),n&&this.#G()}#ve(e,n,r){e instanceof HTMLElement&&(e.draggable=this.itemsDraggable&&this._isCheckable(e)&&!e.hasAttribute(`data-editing`),n!==void 0&&r!==void 0&&(e.setAttribute(`aria-setsize`,String(r)),e.setAttribute(`aria-posinset`,String(n)),(!e.hasAttribute(`role`)||e.hasAttribute(`data-aria-role`))&&(e.setAttribute(`role`,`option`),e.setAttribute(`data-aria-role`,``),e.setAttribute(`aria-selected`,String(this.selection.selected.has(e)))))),e.removeAttribute(`data-marquee`),e.removeAttribute(`data-drag-origin`),e.removeAttribute(`data-drop-target`)}#ye(){for(let e of this.#a)this.#i.add(e);this.#a.length>0?this.replaceChildren(...this.#a):this.replaceChildren(),this.#o=document.createDocumentFragment(),this.#h=void 0,this.#g=void 0,this.#s=0,this.#c=0,this.#l=[],this._syncCheckboxes(),this._syncItemStates(),this._syncNativeDraggable(),this.#w.refreshDraggable(),this.#be()}#be(){this.#d===0&&(this.#d=requestAnimationFrame(()=>{this.#d=0,this.#_e(),this.#xe()}))}#xe(){let e=this.renderedKeys(),n=this.visibleKeys();Cx(this.#p,e)&&Cx(this.#m,n)||(this.#p=e,this.#m=n,this._dispatch(`vertical-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}_getVisibleItems(){return Array.from(this.querySelectorAll(Sx)).filter(e=>!(this.#t.has(e)||e.hidden||this.filterPredicate&&!this.filterPredicate(e)))}_isCheckable(e){return this.interactionMode!==`checked`||!(this.#e.get(e)??e).hasAttribute(`not-checked`)}_syncItemStates(){for(let e of this.querySelectorAll(Sx)){if(this.#t.has(e))continue;let n=this.#e.get(e)??e;e.toggleAttribute(`data-tickled`,this.tickled.isTickled(e)),e.toggleAttribute(`data-selected`,this.selection.selected.has(e)),br(e,vr(D(e),this.#L,this.selection.selected.has(e))),e.hasAttribute(`data-aria-role`)&&e.setAttribute(`aria-selected`,String(this.selection.selected.has(e))),this.interactionMode===`checked`?e.toggleAttribute(`data-checked`,!n.hasAttribute(`not-checked`)&&this.selection.selected.has(e)):e.removeAttribute(`data-checked`)}this.dataset.inputMode=this.tickled.inputMode,this._syncCheckboxes()}_syncCheckboxes(){let e=this.interactionMode===`checked`,n=typeof this.checkboxRenderer==`function`,r=this.#ie()?[this,this.#o]:[this];if(e)for(let e of r)for(let n of Array.from(e.children)){if(!n.hasAttribute(`data-list-item`)||n.parentNode!==e)continue;let r=document.createElement(`li`);r.className=`ixfx-custom-row`;let i=n.getAttribute(`data-key`),a=n.getAttribute(`data-search-label`);i!==null&&r.setAttribute(`data-key`,i),a!==null&&r.setAttribute(`data-search-label`,a),n.removeAttribute(`data-list-item`),e.insertBefore(r,n),r.appendChild(n),this.#e.set(r,n),this.#t.add(n),this.#n.has(n)&&this.#n.set(r,this.#n.get(n)),this.#ie()&&this.#se(n,r)}else{for(let[e,n]of this.#e){if(e.parentNode!==this&&e.parentNode!==this.#o)continue;n.setAttribute(`data-list-item`,``);let r=e.parentNode;r&&r.insertBefore(n,e),e.remove(),this.#n.delete(e),this.#ie()&&this.#se(e,n)}this.#e.clear(),this.#t.clear()}for(let r of this.querySelectorAll(`li`)){let i=r.querySelector(`.ixfx-list-checkbox`);if(!e){i&&i.remove();continue}if((this.#e.get(r)??r).hasAttribute(`not-checked`)){i&&i.remove();continue}let a=i?.classList.contains(`ixfx-list-checkbox-custom`)??!1;i&&a!==n&&i.remove();let s=r.querySelector(`.ixfx-list-checkbox`);if(!s){if(n){let e=this.checkboxRenderer,n=e.margin??`0`,i=e.width??`24px`;s=this._createCustomCheckbox(r,n,i)}else s=this._createNativeCheckboxCell(r);r.prepend(s)}let c=this.selection.selected.has(r),l=vr(D(r),this.#L,c);if(n){if(s.setAttribute(`aria-checked`,l?`mixed`:String(c)),s.toggleAttribute(`data-checked`,c),s.toggleAttribute(`data-partial`,l),this.checkboxRenderer){let e=typeof this.checkboxRenderer==`function`?this.checkboxRenderer:this.checkboxRenderer.renderer;o(e(c),s)}}else{let e=s.querySelector(`input.ixfx-list-checkbox`);e&&(e.checked=c,e.indeterminate=l),s.setAttribute(`aria-checked`,l?`mixed`:String(c))}}}_createNativeCheckboxCell(e){let n=document.createElement(`span`);n.className=`ixfx-list-checkbox ixfx-list-checkbox-native`,n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:18px;margin:0 6px 0 0;cursor:pointer;pointer-events:auto`,n.tabIndex=-1,n.setAttribute(`role`,`checkbox`),n.setAttribute(`part`,`checkbox`),n.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)});let r=document.createElement(`input`);return r.type=`checkbox`,r.className=`ixfx-list-checkbox`,r.style.cssText=`pointer-events:none;cursor:pointer;margin:0`,n.appendChild(r),n}_createCustomCheckbox(e,n,r){let i=document.createElement(`span`);return i.className=`ixfx-list-checkbox ixfx-list-checkbox-custom`,i.style.cssText=`display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:stretch;width:${r};margin:${n};cursor:pointer;pointer-events:auto`,i.tabIndex=-1,i.setAttribute(`role`,`checkbox`),i.setAttribute(`part`,`checkbox`),i.addEventListener(`click`,n=>{n.stopPropagation(),this.selection.handleCheckbox(e)}),i}_findListItem(e){for(let n of e)if(n instanceof Element){if(n===this)break;if(n.parentElement===this&&n.matches(Sx))return n}}_dispatch(e,n){this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0}))}_dispatchCancelable(e,n){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:!0}))}_activateItem(e,n=`pointer`){this.selection.handleReplace(e,n),this._dispatch(`list-activate`,{item:e})}activateKey(e){let n=this.#V(e);n&&this._activateItem(n,`api`)}#Se;#Ce(){let e=this.#Se;this.#Se=void 0,this.#Te(void 0,!1),e&&this._dispatch(`list-drag-leave`,{key:e.item?D(e.item):void 0})}#we;#Te(e,n){this.#we?.removeAttribute(`data-drop-target`),this.#we=n?e:void 0,this.toggleAttribute(`data-drop-target`,n&&e===void 0),n&&e&&e.setAttribute(`data-drop-target`,``)}#Ee(e,n,r){return!this.selection.selected.has(e)&&this.interactionMode!==`manual`&&this._isCheckable(e)&&this.selection.replace(e),this._dispatchCancelable(`list-context-menu`,{key:D(e),item:e,x:n,y:r,selectedKeys:this.selection.selectedKeys})}#De;get editingKey(){return this.#De?.key}#Oe(e){return this.#De!==void 0&&e.composedPath().includes(this.#De.label)}beginEdit(e){this.#ke();let n=this.editValidator;if(!n)return!1;let r=this.#V(e);if(!(r instanceof HTMLElement)||r.parentNode!==this)return!1;let i=r.querySelector(`[data-edit-label]`)??r,a=i.getAttribute(`data-edit-value`)??i.textContent?.trim()??``,o=document.createElement(`ixfx-editable-label`);o.mode=`label`,o.value=a,o.validator=r=>n(r,e),o.style.cssText=`flex:1;min-width:0;--label-align:left;--label-padding:0 var(--space-xs,3px)`;let s={key:e,row:r,container:i,saved:[...i.childNodes],label:o,committed:void 0,refocus:!1};this.#De=s,o.addEventListener(`change`,e=>{e.stopPropagation(),s.committed=e.detail.value}),o.addEventListener(`input`,e=>e.stopPropagation()),o.addEventListener(`keydown`,e=>{s.refocus=e.key===`Enter`||e.key===`Escape`});for(let e of[`pointerdown`,`dragstart`])o.addEventListener(e,e=>e.stopPropagation());return o.addEventListener(`focusout`,()=>this.#ke()),i.replaceChildren(o),r.setAttribute(`data-editing`,``),r.draggable=!1,r.scrollIntoView({block:`nearest`,inline:`nearest`}),o.updateComplete.then(()=>{this.#De===s&&o.shadowRoot?.querySelector(`.content`)?.click()}),!0}#ke(){let e=this.#De;e&&(this.#De=void 0,e.container.isConnected&&e.container.replaceChildren(...e.saved),e.row.removeAttribute(`data-editing`),this.#ve(e.row),e.refocus&&this.focus(),e.committed===void 0?this._dispatch(`list-edit-cancel`,{key:e.key}):this._dispatch(`list-edit-commit`,{key:e.key,value:e.committed}))}static{this.styles=[w,wr(`y`),Ht,r`
|
|
7003
7003
|
:host {
|
|
7004
7004
|
display: block;
|
|
7005
7005
|
position: relative;
|
|
@@ -7202,13 +7202,13 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
7202
7202
|
${this.#D?i`<div class="marquee" part="marquee" style=${this.#A(this.#D)}></div>`:``}
|
|
7203
7203
|
${this.search.renderField()}
|
|
7204
7204
|
</div>
|
|
7205
|
-
`}};E([d({type:String,attribute:`selection-mode`})],
|
|
7205
|
+
`}};E([d({type:String,attribute:`selection-mode`})],G.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],G.prototype,`interactionMode`,void 0),E([d({attribute:!1})],G.prototype,`filterPredicate`,void 0),E([d({type:String,attribute:`item-wrap`})],G.prototype,`itemWrap`,void 0),E([d({attribute:!1})],G.prototype,`checkboxRenderer`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],G.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],G.prototype,`itemsDraggable`,void 0),E([d({attribute:!1})],G.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],G.prototype,`dragPreviewSource`,void 0),E([d({attribute:!1})],G.prototype,`items`,void 0),E([d({type:String,attribute:`key-property`})],G.prototype,`keyProperty`,void 0),E([d({attribute:!1})],G.prototype,`formatter`,void 0),E([d({attribute:!1})],G.prototype,`icon`,void 0),E([d({attribute:!1})],G.prototype,`iconColor`,void 0),E([d({attribute:!1})],G.prototype,`textColor`,void 0),E([d({attribute:!1})],G.prototype,`badge`,void 0),E([d({type:Boolean,attribute:`virtualize`,reflect:!0})],G.prototype,`virtualize`,void 0),E([d({type:Number,attribute:`item-height`})],G.prototype,`itemHeight`,void 0),E([d({type:Boolean,attribute:`items-droppable`,reflect:!0})],G.prototype,`itemsDroppable`,void 0),E([d({attribute:!1})],G.prototype,`editValidator`,void 0),E([d({attribute:!1})],G.prototype,`canDrop`,void 0),G=E([T(`ixfx-vertical-list`)],G);function wx(e){return e.item.isLeaf===!1||e.item.isLeaf!==!0&&e.children?.length!==0}function Tx(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function Ex(e,n){return e.length===n.length&&e.every((e,r)=>e.node===n[r].node&&e.branch===n[r].branch)}function Dx(e,n){if(!e)return[];let r=[e];for(let e of n){let n=r.at(-1).children?.find(n=>n.item.key===e);if(!n)break;r.push(n)}return r}function Ox(e,n){if(e===n)return[];for(let r of e.children??[]){let e=Ox(r,n);if(e)return[r.item.key,...e]}}function kx(e){let{selected:n,focus:r,scroll:i}=e;if(n!==void 0||r!==void 0||i!==void 0)return{selected:n,focus:r,scroll:i}}function Ax(e,n,r){let i=e.map(e=>({key:e.item.key,node:e,branch:wx(e)})),a=r?[...i].sort((e,n)=>r(e.node,n.node)):i;return n===`mixed`?a:[...a.filter(e=>e.branch),...a.filter(e=>!e.branch)]}let K=class extends n{constructor(...e){super(...e),this.path=[],this.branchOrder=`first`,this.selectionMode=`single`,this.interactionMode=`standard`,this.partialKeys=new Set,this.itemWrap=`stop`,this.itemsDraggable=!1,this.itemsDroppable=!1,this.virtualize=!1,this.itemHeight=0,this.withUp=!0,this.hideRoot=!1,this.emptyText=`Empty`,this._focusVisible=!1,this._hasToolbar=!1,this._rows=[],this._loading=!1,this.#r=[],this.#a=new Set,this.#o=`jump`,this.#c=new f_(this,{kind:`flat-list`,capture:()=>this.getViewState()}),this.#d=!1,this.#f=this.path,this.#v=e=>{e.stopPropagation();let n=e.detail.reason;e.target===this.list&&n!==`restore`&&this.#c.notify(n)},this.#T=(e,n)=>{let r=this.#w(e);return!!r&&(this.canDrop?.(r,n)??!0)},this.#E=e=>{this.itemsDroppable&&e.preventDefault()},this.#D=e=>{let n=this.#S(e.detail.key)??this.currentNode;n&&this.dispatchEvent(new CustomEvent(`flat-list-drop`,{detail:{node:n,dataTransfer:e.detail.dataTransfer},bubbles:!0,composed:!0}))},this.#O=e=>{let n=this.#S(e.detail.key);if(!n)return;let r=[...e.detail.selectedKeys].map(e=>this.#S(e)).filter(e=>e!==void 0);this.dispatchEvent(new CustomEvent(`flat-list-context-menu`,{detail:{node:n,nodes:r,x:e.detail.x,y:e.detail.y},bubbles:!0,composed:!0,cancelable:!0}))||e.preventDefault()},this.#k=(e,n)=>{let r=this.#S(n);return!!r&&(this.validateEdit?.(e,r)??!1)},this.#A=e=>{let n=this.#S(e.detail.key);n&&this.dispatchEvent(new CustomEvent(`flat-list-edit-commit`,{detail:{node:n,value:e.detail.value},bubbles:!0,composed:!0}))},this.#j=e=>{let n=this.#S(e.detail.key);n&&this.dispatchEvent(new CustomEvent(`flat-list-edit-cancel`,{detail:{node:n},bubbles:!0,composed:!0}))},this.#M=e=>{!this.#c.isRestoring&&this.#u?.selected&&(this.#u={...this.#u,selected:void 0}),this.#c.notify();let n=this.#a,r=[...e.detail.selectedKeys].map(e=>this.#S(e)).filter(e=>e!==void 0);this.#a=new Set(r),this.dispatchEvent(new CustomEvent(`flat-list-select`,{detail:{selected:this.#a,selectedKeys:e.detail.selectedKeys,previous:n},bubbles:!0,composed:!0}))},this.#N=e=>{let n=e.detail.item.getAttribute(`data-key`)??void 0,r=this.#S(n);if(r){if(wx(r)){this.navigateInto(r.item.key);return}this.dispatchEvent(new CustomEvent(`flat-list-activate`,{detail:{node:r},bubbles:!0,composed:!0}))}},this.#P=e=>{this._hasToolbar=e.target.assignedNodes({flatten:!0}).some(e=>e.nodeType===Node.ELEMENT_NODE||!!e.textContent?.trim())},this.#F=()=>{this._focusVisible=this.list?.matches(`:focus-visible`)??!1},this.#I=e=>{if(e.defaultPrevented||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)return;let n=e.composedPath()[0];if(!(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement)){if(this.#d=!1,(e.key===`ArrowRight`||e.key===`ArrowLeft`||e.key===`Backspace`)&&oe.ignoreHoverUntilPointerMoves(),e.key===`ArrowRight`){let n=this.#S(this.list?.tickledKey);n&&wx(n)&&(e.preventDefault(),this.navigateInto(n.item.key))}else(e.key===`ArrowLeft`||e.key===`Backspace`)&&this.navigateUp()&&e.preventDefault()}},this.#L=e=>{e.stopPropagation();let n=[...e.detail.selected].at(-1),r=this.#p;if(!n||!r)return;let i=Ox(r,n);if(i){if(wx(n)){let e=i.length<this.path.length&&i.every((e,n)=>e===this.path[n])?`up`:`jump`;this.#m(i,e)}else{let e=i.slice(0,-1),r=Tx(e,this.path);this.#m(e,`jump`),this.#s=n.item.key,r&&this.#B()}}},this.#V=e=>this.#U(e,!1),this.#H=e=>this.#U(e,!0),this.#W=e=>{let{node:n}=e;return n.item.icon?i`<ixfx-icon name=${n.item.icon}></ixfx-icon>`:void 0},this.#G=e=>{let{node:n,branch:r}=e,o=S_(n.item.badge)?a:n.item.badge,s=C_(n.item.textColor);return i`${o}${r?i`<span
|
|
7206
7206
|
class="chevron"
|
|
7207
7207
|
aria-hidden="true"
|
|
7208
7208
|
style=${s?`color:${s}`:a}
|
|
7209
7209
|
@pointerdown=${e=>e.stopPropagation()}
|
|
7210
7210
|
@click=${e=>this.#C(e,n)}
|
|
7211
|
-
>›</span>`:a}`}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;get list(){return this.renderRoot.querySelector(`ixfx-vertical-list`)??void 0}get registry(){return this.list?.registry}dispatch(e,n){this.list?.dispatch(e,n)}beginEdit(e){let n=this.#S(e);return!this.validateEdit||!n?.item.editable?!1:this.list?.beginEdit(e)??!1}get currentNode(){return
|
|
7211
|
+
>›</span>`:a}`}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;get list(){return this.renderRoot.querySelector(`ixfx-vertical-list`)??void 0}get registry(){return this.list?.registry}dispatch(e,n){this.list?.dispatch(e,n)}beginEdit(e){let n=this.#S(e);return!this.validateEdit||!n?.item.editable?!1:this.list?.beginEdit(e)??!1}get currentNode(){return Dx(this.#p,this.path).at(-1)}get selectedNodes(){return this.#a}get#p(){return this.model?.root??this.root}navigateTo(e){return Dx(this.#p,e).length===e.length+1&&(this.#m(e,`jump`),!0)}navigateInto(e){let n=this.currentNode?.children?.find(n=>n.item.key===e);return!n||!wx(n)?!1:(this.#m([...this.path,e],`into`),!0)}navigateUp(){return this.path.length!==0&&(this.#i=this.path.at(-1),this.#m(this.path.slice(0,-1),`up`),!0)}#m(e,n){Tx(e,this.path)||(this.#c.isRestoring||(this.#l=void 0,this.#u=void 0,this.#d=!1),this.#c.notify(),this.#f=e,this.#r=this.path,this.#o=n,this.list?.search.close(),this.list?.clearSelection(),this.path=e)}getViewState(e){let n=e?.includePending??!0,r=(n?this.#u:void 0)??this.#g(n);return this.#c.shape({path:[...(n?this.#l:void 0)??this.path],...r},e)}setViewState(e){if(!this.#c.accepts(e))return;let n=kx(e);e.path&&(this.#l=[...e.path]),n&&(this.#u={...this.#u,...n}),this.#h(),this.requestUpdate()}clearPendingViewState(){this.#l=void 0,this.#u=void 0,this.list?.clearPendingViewState()}#h(){let e=this.#l,n=this.#p;if(!e||!n)return;let r=p_(n,e);r.done&&(this.#l=void 0);let i=e.slice(0,r.nodes.length-1);Tx(i,this.path)||this.#c.restoring(()=>this.#m(i,`jump`))}#g(e){let n=this.list?.getViewState({includePending:e});return n&&{selected:n.selected,focus:n.focus,scroll:n.scroll}}#_(){let e=this.list,n=this.#u;!e||!n||(this.#u=void 0,n.focus!==void 0&&(this.#d=!0),this.#c.restoring(()=>e.setViewState(n)))}#v;disconnectedCallback(){super.disconnectedCallback(),this.#e?.(),this.#e=void 0,this.#t?.abort(),this.#n=void 0}willUpdate(e){e.has(`model`)&&(this.#e?.(),this.#e=this.model?._subscribe(e=>{if(e.type===`invalidate`&&e.key===this.currentNode?.item.key){let e=this.currentNode;e&&(e.children=void 0)}this.requestUpdate(),this.#y(!0)})),e.has(`path`)&&this.path!==this.#f&&(this.#f=this.path,this.#l=void 0,this.#c.notify());let n=Dx(this.#p,this.path).length-1;this.#p&&n<this.path.length&&(this.#l??=this.path,this.#u??=this.#g(!0),this.path=this.#f=this.path.slice(0,n)),this.#h(),[`root`,`model`,`path`,`branchOrder`,`sort`,`filterPredicate`,`loadChildren`].some(n=>e.has(n))&&this.#y(e.has(`root`)||e.has(`model`)||e.has(`loadChildren`))}updated(e){if(this.#u&&!this.#l&&this.#_(),e.has(`path`)&&!Tx(this.path,this.#r)&&this.#p){let e=this.currentNode;if(e){let n=this.#r;this.#r=this.path,this.dispatchEvent(new CustomEvent(`flat-list-navigate`,{detail:{path:this.path,previousPath:n,node:e,direction:this.#o},bubbles:!0,composed:!0})),this.#o=`jump`}}e.has(`_rows`)&&this.#B(),(e.has(`_rows`)||e.has(`markedKey`))&&this.#z()}#y(e){let n=this.currentNode;if(!n){this._rows=[];return}if(n.children===void 0&&(this.model||this.loadChildren)&&(e||this.#n!==n)){this.#x(n);return}this.#b(n)}#b(e){let n=this.filterPredicate,r=this.path.length,i=Ax((e.children??[]).filter(e=>!n||n(e,r)),this.branchOrder,this.sort);Ex(i,this._rows)||(this._rows=i)}async#x(e){this.#t?.abort();let n=new AbortController;this.#t=n,this.#n=e,this._loading=!0,this._rows=[];try{let r=this.path.length,i=this.model?await this.model.getChildren(e,r,n.signal):[...await Rg(this.loadChildren({node:e,depth:r},n.signal),n.signal)];if(n.signal.aborted)return;e.children=[...i]}catch{if(n.signal.aborted)return;e.children=[]}this.#n=void 0,this._loading=!1,e===this.currentNode&&this.#b(e)}#S(e){return e===void 0?void 0:this._rows.find(n=>n.key===e)?.node}#C(e,n){e.stopPropagation(),this.navigateInto(n.item.key)}#w(e){return e?this.#S(e.getAttribute(`data-key`)??void 0):this.currentNode}#T;#E;#D;#O;#k;#A;#j;#M;#N;#P;#F;#I;#L;#R;async#z(){let e=this.list;if(!e)return;await e.updateComplete,this.#R?.removeAttribute(`data-marked`);let n=this.markedKey;this.#R=n===void 0?void 0:e.getItemByKey(n),this.#R?.setAttribute(`data-marked`,``)}async#B(){let e=this.list;if(!e)return;let n=this.matches(`:focus-within`);await e.updateComplete;let r=this.#s,i=this.#i??r??this._rows[0]?.key;this.#s=void 0,this.#i=void 0,r&&e.selectKeys([r]),i!==void 0&&!this.#d&&e.focusKey(i),n&&e.focus()}#V;#H;#U(e,n){let{node:r}=e,o=C_(r.item.textColor),s=n&&r.item.editable===!0;return i`<span class="label" data-edit-label=${s?``:a} data-edit-value=${s?r.item.label:a} style=${o?`color:${o}`:a}>${r.item.label}</span>`}#W;#G;render(){let e=this.#p;return i`
|
|
7212
7212
|
<div class="crumbs" part="crumbs">
|
|
7213
7213
|
<ixfx-crumb-navigation
|
|
7214
7214
|
.root=${e}
|
|
@@ -7231,7 +7231,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
7231
7231
|
.items=${this._rows}
|
|
7232
7232
|
.formatter=${this.validateEdit?this.#H:this.#V}
|
|
7233
7233
|
.icon=${this.#W}
|
|
7234
|
-
.iconColor=${e=>
|
|
7234
|
+
.iconColor=${e=>C_(e.node.item.iconColor)}
|
|
7235
7235
|
.badge=${this.#G}
|
|
7236
7236
|
key-property="key"
|
|
7237
7237
|
.selectionMode=${this.selectionMode}
|
|
@@ -7357,7 +7357,7 @@ const Me={216:`O`,223:`s`,248:`o`,273:`d`,295:`h`,305:`i`,320:`l`,322:`l`,359:`t
|
|
|
7357
7357
|
/* Inherit the row's text colour, so it follows selected / tickled states. */
|
|
7358
7358
|
color: inherit;
|
|
7359
7359
|
}
|
|
7360
|
-
`]}};E([d({attribute:!1})],
|
|
7360
|
+
`]}};E([d({attribute:!1})],K.prototype,`root`,void 0),E([d({attribute:!1})],K.prototype,`model`,void 0),E([d({attribute:!1})],K.prototype,`path`,void 0),E([d({attribute:!1})],K.prototype,`loadChildren`,void 0),E([d({attribute:!1})],K.prototype,`filterPredicate`,void 0),E([d({attribute:!1})],K.prototype,`sort`,void 0),E([d({type:String,attribute:`branch-order`,reflect:!0})],K.prototype,`branchOrder`,void 0),E([d({type:String,attribute:`selection-mode`})],K.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],K.prototype,`interactionMode`,void 0),E([d({attribute:!1})],K.prototype,`partialKeys`,void 0),E([d({type:String,attribute:`item-wrap`})],K.prototype,`itemWrap`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],K.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],K.prototype,`itemsDraggable`,void 0),E([d({type:Boolean,attribute:`items-droppable`,reflect:!0})],K.prototype,`itemsDroppable`,void 0),E([d({attribute:!1})],K.prototype,`canDrop`,void 0),E([d({attribute:!1})],K.prototype,`validateEdit`,void 0),E([d({type:String,attribute:`marked-key`,reflect:!0})],K.prototype,`markedKey`,void 0),E([d({type:Boolean,reflect:!0})],K.prototype,`virtualize`,void 0),E([d({type:Number,attribute:`item-height`})],K.prototype,`itemHeight`,void 0),E([d({type:Boolean,attribute:`with-up`,reflect:!0})],K.prototype,`withUp`,void 0),E([d({type:Boolean,attribute:`hide-root`,reflect:!0})],K.prototype,`hideRoot`,void 0),E([d({type:String,attribute:`empty-text`})],K.prototype,`emptyText`,void 0),E([d({type:Boolean,reflect:!0,attribute:`data-focus-visible`})],K.prototype,`_focusVisible`,void 0),E([m()],K.prototype,`_hasToolbar`,void 0),E([m()],K.prototype,`_rows`,void 0),E([m()],K.prototype,`_loading`,void 0),K=E([T(`ixfx-flat-list`)],K);const jx=new WeakMap;function Mx(e,n){let r=e.getRootNode();if(!(r instanceof ShadowRoot)&&!(r instanceof Document))return;let i=jx.get(r)??new Set;if(i.has(n))return;if(i.add(n),jx.set(r,i),r instanceof Document){let e=document.createElement(`style`);e.textContent=n.cssText,document.head.prepend(e);return}let a=n.styleSheet;if(a&&`adoptedStyleSheets`in r)r.adoptedStyleSheets=[a,...r.adoptedStyleSheets];else{let e=document.createElement(`style`);e.textContent=n.cssText,r.prepend(e)}}const Nx=r`
|
|
7361
7361
|
ixfx-form > form {
|
|
7362
7362
|
display: block;
|
|
7363
7363
|
margin: 0;
|
|
@@ -7587,7 +7587,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
7587
7587
|
grid-column: 2 / -1;
|
|
7588
7588
|
}
|
|
7589
7589
|
}
|
|
7590
|
-
`;let Nx=class extends n{constructor(...e){super(...e),this.label=``}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),jx(this,Mx),this._observer=new MutationObserver(()=>this._sync())}firstUpdated(){this._fieldset=this.querySelector(`fieldset`)??void 0,this._fieldset&&(this._observer?.observe(this,{childList:!0,subtree:!0}),this._sync())}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_sync(){this._moveChildren(),this._updatePairs()}_updatePairs(){if(!this._fieldset)return;let e=Array.from(this._fieldset.querySelectorAll(`:scope > ixfx-form-row`)).map(e=>e.querySelectorAll(`:scope > ixfx-form-part`).length),n=Math.max(1,...e);this._fieldset.style.setProperty(`--ixfx-form-pairs`,String(n))}_moveChildren(){this._fieldset&&Array.from(this.children).filter(e=>e.tagName!==`FIELDSET`).forEach(e=>{this._fieldset.appendChild(e)})}render(){return i`<fieldset><legend>${this.label}</legend></fieldset>`}};E([d({type:String})],Nx.prototype,`label`,void 0),E([d({type:String,attribute:`label-align`,reflect:!0})],Nx.prototype,`labelAlign`,void 0),Nx=E([T(`ixfx-form-group`)],Nx);let Px=0,Fx=class extends n{constructor(...e){super(...e),this.label=``,this.orientation=`horizontal`,this._labelId=`ixfx-form-options-${++Px}`}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),jx(this,Mx),this.setAttribute(`role`,`group`),this.setAttribute(`aria-labelledby`,this._labelId),this._observer=new MutationObserver(()=>this._moveChildren())}firstUpdated(){this._observer?.observe(this,{childList:!0}),this._moveChildren()}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_moveChildren(){let e=this.querySelector(`:scope > .ixfx-form-options-items`);e&&Array.from(this.children).filter(e=>!e.classList.contains(`ixfx-form-options-items`)&&!e.classList.contains(`ixfx-form-options-label`)).forEach(n=>e.appendChild(n))}render(){return i`<span class="ixfx-form-options-label" id=${this._labelId}>${this.label}</span><div class="ixfx-form-options-items"></div>`}};E([d({type:String})],Fx.prototype,`label`,void 0),E([d({type:String,reflect:!0})],Fx.prototype,`orientation`,void 0),Fx=E([T(`ixfx-form-options`)],Fx);let Ix=0,Lx=class extends n{constructor(...e){super(...e),this.label=``}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),jx(this,Mx),this._ensureId()}_ensureId(){let e=this.querySelector(`input, select, textarea, [name]`);e&&(e.id?this._id=e.id:(this._id=`ixfx-form-part-${++Ix}`,e.id=this._id))}render(){return this._id||this._ensureId(),i`<label for=${this._id??``}>${this.label}</label>`}};E([d({type:String})],Lx.prototype,`label`,void 0),Lx=E([T(`ixfx-form-part`)],Lx);let Rx=class extends n{createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),jx(this,Mx),this._observer=new MutationObserver(()=>this._indexParts()),this._observer.observe(this,{childList:!0}),this._indexParts()}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_indexParts(){Array.from(this.children).filter(e=>e.tagName===`IXFX-FORM-PART`).forEach((e,n)=>{e.style.setProperty(`--ixfx-form-part-index`,String(n+1))})}};Rx=E([T(`ixfx-form-row`)],Rx);function zx(e,n={}){let r={};return e.querySelectorAll(`[name]`).forEach(e=>{let i=e.getAttribute(`name`);i&&(e instanceof HTMLInputElement?e.type===`radio`?e.checked&&(r[i]=e.value):e.type===`checkbox`?r[i]=e.checked:n.typed&&(e.type===`number`||e.type===`range`)?r[i]=Number.isNaN(e.valueAsNumber)?null:e.valueAsNumber:r[i]=e.value:e instanceof HTMLSelectElement?e.multiple?r[i]=Array.from(e.selectedOptions).map(e=>e.value):r[i]=e.value:(e instanceof HTMLTextAreaElement||`value`in e)&&(r[i]=e.value))}),r}function Bx(e,n){e.querySelectorAll(`[name]`).forEach(e=>{let r=e.getAttribute(`name`);if(!r||!(r in n))return;let i=n[r];e instanceof HTMLInputElement?(e.type===`radio`?e.checked=e.value===i:e.type===`checkbox`?e.checked=!!i:e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):e instanceof HTMLSelectElement?(e.multiple&&Array.isArray(i)?Array.from(e.options).forEach(e=>{e.selected=i.includes(e.value)}):e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):e instanceof HTMLTextAreaElement?(e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):`value`in e&&(e.value=i)})}const Vx=new Set([`button`,`submit`,`reset`,`image`,`file`,`color`]);let Hx=class extends n{constructor(...e){super(...e),this.labelAlign=`right`,this.noValidate=!1,this._onKeydown=e=>{if(e.key!==`Enter`||e.defaultPrevented||e.isComposing||e.shiftKey||e.ctrlKey||e.altKey||e.metaKey)return;let n=e.target;!(n instanceof HTMLInputElement)||Vx.has(n.type)||this.form.querySelector(`button:not([type]), button[type=submit], input[type=submit], input[type=image]`)||(e.preventDefault(),this.requestSubmit())}}createRenderRoot(){return this}get form(){return this._form||(this._form=document.createElement(`form`),this._form.addEventListener(`submit`,e=>e.preventDefault()),this._form.addEventListener(`keydown`,this._onKeydown)),this._form}get elements(){return this.form.elements}connectedCallback(){super.connectedCallback(),jx(this,Mx),this._adoptChildren(),this._observer=new MutationObserver(()=>this._adoptChildren()),this._observer.observe(this,{childList:!0})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}updated(){this.form.noValidate=this.noValidate}_adoptChildren(){let e=this.form;e.parentNode!==this&&this.append(e);let n=Array.from(this.childNodes).filter(n=>n!==e);n.length>0&&e.append(...n)}requestSubmit(){this.form.requestSubmit()}reset(){this.form.reset()}checkValidity(){return this.form.checkValidity()}reportValidity(){return this.form.reportValidity()}getValues(e){return zx(this,e)}setValues(e){Bx(this,e)}};E([d({type:String,attribute:`label-align`,reflect:!0})],Hx.prototype,`labelAlign`,void 0),E([d({type:Boolean,attribute:`novalidate`,reflect:!0})],Hx.prototype,`noValidate`,void 0),Hx=E([T(`ixfx-form`)],Hx);function Ux(e,n,r,i,a,o,s,c,l=2){let u=Math.max(1,n),d=Math.max(1,r),f=Math.max(0,i),p=u+f,m=d+f,h=Math.max(0,s);if(c===`row`){let n=e===0?0:1,r=e===0?0:(e-1)*p+u;if(e===0||a<=0)return{cols:e,rows:n,totalHeight:0,totalWidth:r,startIndex:0,endIndex:0,colStride:p,rowStride:m,horizontal:!0};let i=Math.max(0,Math.floor(h/p)),o=Math.ceil((h+a)/p);return{cols:e,rows:n,totalHeight:0,totalWidth:r,startIndex:Math.max(0,i-l),endIndex:Math.min(e,o+l),colStride:p,rowStride:m,horizontal:!0}}let g=c===`column`?1:Math.max(1,Math.floor((Math.max(0,a)+f)/p)),_=e===0?0:Math.ceil(e/g),v=_===0?0:(_-1)*m+d;if(e===0||o<=0)return{cols:g,rows:_,totalHeight:v,totalWidth:0,startIndex:0,endIndex:0,colStride:p,rowStride:m,horizontal:!1};let y=Math.max(0,Math.floor(h/m)),b=Math.ceil((h+o)/m),x=Math.max(0,y-l),S=Math.min(_,b+l);return{cols:g,rows:_,totalHeight:v,totalWidth:0,startIndex:x*g,endIndex:Math.min(e,S*g),colStride:p,rowStride:m,horizontal:!1}}function Wx(e,n,r,i){let a=Math.max(0,e.gap),o=e.orientation===`row`,s=e=>o?e:Math.ceil(e/n),c=e=>e===0?0:(s(e)-1)*r+i;if(!e.groups){let n=c(e.count);return{sections:[{group:void 0,first:0,count:e.count,headerOffset:0,itemsOffset:0,end:n}],total:n,count:e.count}}let l=o?e.headerWidth:e.headerHeight,u=[],d=0,f=0;for(let n of e.groups){let e=n.collapsed?0:n.count,r=d+l+a,i=e===0?d+l:r+c(e);u.push({group:n,first:f,count:e,headerOffset:d,itemsOffset:r,end:i}),f+=e,d=i+a}return{sections:u,total:u.length===0?0:u[u.length-1].end,count:f}}function Gx(e,n){let r=0,i=e.length-1;for(;r<i;){let a=r+i+1>>1;e[a].headerOffset<=n?r=a:i=a-1}return r}function Kx(e,n){let r=0,i=e.length-1;for(;r<i;){let a=r+i+1>>1;e[a].first<=n?r=a:i=a-1}let a=r;for(;a<e.length-1&&e[a].count===0;)a++;return a}function qx(e){let n=e.orientation===`row`,r=Math.max(1,e.itemWidth),i=Math.max(1,e.rowHeight),a=Math.max(0,e.gap),o=r+a,s=i+a,c=n||e.orientation===`column`?1:Math.max(1,Math.floor((Math.max(0,e.viewportWidth)+a)/o)),l=n?o:s,u=n?r:i,{sections:d,total:f,count:p}=Wx(e,c,l,u),m=e.groups!==void 0,h=n?e.headerWidth:e.headerHeight,g=n?e.viewportWidth:e.viewportHeight,_=s-a,v=Math.max(0,(e.viewportHeight-_)/2),y=e=>{let r=Kx(d,e),i=d[r],a=Math.max(0,e-i.first);if(n)return{x:i.itemsOffset+a*o,y:v,col:0,line:a,section:r};let l=c<=1?0:a%c,u=c<=1?a:Math.floor(a/c);return{x:l*o,y:i.itemsOffset+u*s,col:l,line:u,section:r}};return{horizontal:n,cols:c,colStride:o,rowStride:s,grouped:m,count:p,totalExtent:f,window:(u,m=2)=>{let _=Math.max(0,u),v=[],y=[],b=_-m*l,x=_+g+m*l,S=0;if(d.length>1){let e=0,n=d.length-1;for(;e<n;){let r=e+n>>1;d[r].end>=b?n=r:e=r+1}S=e}if(g>0)for(let o=S;o<d.length;o++){let s=d[o];if(s.headerOffset>x)break;if(s.group&&s.headerOffset+h>=b&&v.push({key:s.group.key,label:s.group.label,count:s.group.count,collapsed:s.group.collapsed,offset:s.headerOffset,size:h}),s.count===0)continue;let c=_-s.itemsOffset,l=c<0?g+c:g;if(l<=0)continue;let u=Ux(s.count,r,i,a,n?l:e.viewportWidth,n?e.viewportHeight:l,Math.max(0,c),e.orientation,m);u.endIndex>u.startIndex&&y.push([s.first+u.startIndex,s.first+u.endIndex])}return{cols:n?p:c,rows:0,totalHeight:n?0:f,totalWidth:n?f:0,startIndex:y.length>0?y[0][0]:0,endIndex:y.length>0?y[y.length-1][1]:0,colStride:o,rowStride:s,horizontal:n,headers:v,ranges:y}},positionOf:y,extentOf:e=>{let{line:n,section:r}=y(e),i=d[r],a=i.itemsOffset+n*l;return[n===0&&i.group?i.headerOffset:a,a+u]},neighbour:(e,n)=>{if(p===0)return e;let r=Kx(d,e),i=d[r],a=e-i.first,o=a%c;if(n>0){let e=a+c;if(e<=i.count-1)return i.first+e;let n=Math.floor((i.count-1)/c);if(Math.floor(a/c)<n)return i.first+i.count-1;for(let e=r+1;e<d.length;e++)if(d[e].count>0)return d[e].first+Math.min(o,d[e].count-1);return i.first+i.count-1}let s=a-c;if(s>=0)return i.first+s;for(let e=r-1;e>=0;e--){let n=d[e];if(n.count>0){let e=Math.floor((n.count-1)/c);return n.first+Math.min(e*c+o,n.count-1)}}return i.first},hitTest:(e,r,i,a)=>{let u=[];if(p===0)return u;let f=n?e:i,m=n?r:a,h=Gx(d,f-l);for(let l=Math.max(0,h);l<d.length;l++){let p=d[l];if(p.itemsOffset>m)break;if(!(p.count===0||p.end<f)){if(n){let n=Math.max(0,Math.floor((e-p.itemsOffset)/o)),i=Math.min(p.count-1,Math.floor((r-p.itemsOffset)/o));for(let e=n;e<=i;e++)u.push(p.first+e)}else{let n=Math.max(0,Math.floor(e/o)),l=Math.min(c-1,Math.floor(r/o)),d=Math.max(0,Math.floor((i-p.itemsOffset)/s)),f=Math.floor((a-p.itemsOffset)/s);for(let e=d;e<=f;e++)for(let r=n;r<=l;r++){let n=e*c+r;n>=0&&n<p.count&&u.push(p.first+n)}}}}return u},anchorAt:e=>{if(p===0)return{index:0,lineFrac:0};let r=Gx(d,e);for(;r<d.length-1&&d[r].count===0;)r++;let i=d[r];if(i.count===0)return{index:0,lineFrac:0};let a=Math.max(0,e-i.itemsOffset)/l,o=Math.max(0,Math.floor(a)),s=n?Math.min(i.count-1,o):Math.min(i.count-1,o*c+Math.max(0,Math.floor((c-1)/2)));return{index:i.first+s,lineFrac:a-o}},offsetOfAnchor:(e,n)=>{let{line:r,section:i}=y(e);return d[i].itemsOffset+(r+n)*l},snapTarget:e=>{let r=Gx(d,e),i=d[r],a=Math.round((e-i.itemsOffset)/l);if(m){let e=i.count===0?0:n?i.count:Math.ceil(i.count/c);a=Math.max(0,Math.min(Math.max(0,e-1),a))}let o=[i.itemsOffset+a*l];return m&&(o.push(i.headerOffset),r+1<d.length&&o.push(d[r+1].headerOffset)),o.reduce((n,r)=>Math.abs(r-e)<Math.abs(n-e)?r:n)}}}function Jx(e,n,r){let i=vn(e,e=>n.groupKeyOf(e),n.labelOf?(e,r)=>n.labelOf(e,r.map(e=>n.itemAt(e))):void 0),a=[],o=[],s=new Map;for(let e of i){let i=n.collapsed.has(e.key);o.push({key:e.key,label:e.label,count:e.items.length,collapsed:i});for(let n of e.items)s.set(r(n),e.key),i||a.push(n)}return{order:a,groups:o,groupByKey:s}}const Yx=`gl-auto-`;function Xx(e){return e.startsWith(Yx)}function Zx(e){let n=new Set,r=new Set;for(let i of e)Xx(i)||(n.has(i)?r.add(i):n.add(i));r.size>0&&console.warn(`ixfx-grid-list: duplicate item key(s) ${[...r].map(e=>`"${e}"`).join(`, `)} — the first occurrence wins for key-based operations.`)}function Qx(e){let n=new Map;return e.forEach((e,r)=>{n.has(e)||n.set(e,r)}),n}var $x=class{#e;#t=[];#n=new WeakMap;#r=0;#i;#a;#o=[];#s;#c;#l;#u=[];#d=new Map;constructor(e){this.#e=e,this.refresh()}get count(){return this.#o.length}get rawCount(){return this.#t.length}keyAt(e){let n=this.#o[e];return n===void 0?``:this.#m(this.#t[n])}indexOfKey(e){return this.#c??=Qx(this.keys()),this.#c.get(e)??-1}keys(){return this.#s??=this.#o.map(e=>this.#m(this.#t[e])),this.#s}labelAt(e){let n=this.#o[e];return n===void 0?``:this.#h(this.#t[n])}rawKeyAt(e){let n=this.#t[e];return n===void 0?``:this.#m(n)}rawSearchTextAt(e){let n=this.#t[e];return n===void 0?``:n.getAttribute(`data-search-label`)??n.getAttribute(`data-label`)??n.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??n.textContent?.trim()??``}isSelectable(e){let n=this.#o[e];return n!==void 0&&!this.#t[n].hasAttribute(`not-checked`)}renderCellContent(e){}iconAt(e){}iconColorAt(e){}textColorAt(e){}badgeAt(e){}setFilters(e){`predicate`in e&&(this.#i=e.predicate),`searchKeys`in e&&(this.#a=e.searchKeys),this.#f()}setGrouping(e){this.#l=e,this.#f()}groups(){return this.#u}groupKeyOfKey(e){return this.#d.get(e)??null}refresh(){this.#t=Array.from(this.#e.querySelectorAll(`:scope > *`)).filter(e=>!e.hidden),Zx(this.#t.map(e=>this.#m(e))),this.#f()}effectiveElements(){return this.#o.map(e=>this.#t[e])}rawElementAt(e){return this.#t[e]}resolveKeyToElement(e){return Xx(e)?this.#t.find(n=>this.#n.get(n)===e):this.#t.find(n=>D(n)===e)}resolveKeyToData(e){}#f(){let e=[];for(let n=0;n<this.#t.length;n++)if(!(this.#i!==void 0&&!this.#i(n))){if(this.#a!==void 0){let e=this.#m(this.#t[n]);if(!Xx(e)&&!this.#a.has(e))continue}e.push(n)}this.#p(e),this.#s=void 0,this.#c=void 0}#p(e){if(this.#l===void 0){this.#o=e,this.#u=[],this.#d=new Map;return}let n=Jx(e,this.#l,e=>this.#m(this.#t[e]));this.#o=n.order,this.#u=n.groups,this.#d=n.groupByKey}#m(e){let n=D(e);if(n!==void 0)return n;let r=this.#n.get(e);return r===void 0&&(this.#r+=1,r=`${Yx}${this.#r}`,this.#n.set(e,r)),r}#h(e){return e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??``}},eS=class{#e;#t;#n;#r;#i=[];#a;#o;#s;#c=[];#l=new Map;constructor(e,n){this.#e=e,this.#t=n,Zx(e.map((e,r)=>n.key(e,r))),this.#u()}get count(){return this.#i.length}get rawCount(){return this.#e.length}keyAt(e){let n=this.#i[e];return n===void 0?``:this.#t.key(this.#e[n],n)}indexOfKey(e){return this.#o??=Qx(this.keys()),this.#o.get(e)??-1}keys(){return this.#a??=this.#i.map(e=>this.#t.key(this.#e[e],e)),this.#a}labelAt(e){let n=this.#i[e];return n===void 0?``:this.#t.label?.(this.#e[n],n)??this.#t.key(this.#e[n],n)}rawKeyAt(e){return e<0||e>=this.#e.length?``:this.#t.key(this.#e[e],e)}rawSearchTextAt(e){if(e<0||e>=this.#e.length)return``;let n=this.#e[e];return this.#t.searchableText?.(n,e)??this.#t.label?.(n,e)??``}isSelectable(e){let n=this.#i[e];return n!==void 0&&!this.#t.disabled?.(this.#e[n],n)}renderCellContent(e){let n=this.#i[e];return n===void 0?void 0:this.#t.render(this.#e[n],n)}iconAt(e){let n=this.#i[e];return n===void 0||this.#t.icon===void 0?void 0:this.#t.icon(this.#e[n],n)}iconColorAt(e){let n=this.#i[e];return n===void 0?void 0:this.#t.iconColor?.(this.#e[n],n)}textColorAt(e){let n=this.#i[e];return n===void 0?void 0:this.#t.textColor?.(this.#e[n],n)}badgeAt(e){let n=this.#i[e];return n===void 0||this.#t.badge===void 0?void 0:this.#t.badge(this.#e[n],n)}setFilters(e){`predicate`in e&&(this.#n=e.predicate),`searchKeys`in e&&(this.#r=e.searchKeys),this.#u()}setGrouping(e){this.#s=e,this.#u()}groups(){return this.#c}groupKeyOfKey(e){return this.#l.get(e)??null}refresh(){this.#u()}rawItemAt(e){return this.#e[e]}getItemAt(e){let n=this.#i[e];return n===void 0?void 0:this.#e[n]}resolveKeyToElement(e){}resolveKeyToData(e){let n=this.#e.findIndex((n,r)=>this.#t.key(n,r)===e);return n>=0?this.#e[n]:void 0}#u(){let e=[];for(let n=0;n<this.#e.length;n++)this.#n!==void 0&&!this.#n(n)||this.#r!==void 0&&!this.#r.has(this.#t.key(this.#e[n],n))||e.push(n);if(this.#s===void 0)this.#i=e,this.#c=[],this.#l=new Map;else{let n=Jx(e,this.#s,e=>this.#t.key(this.#e[e],e));this.#i=n.order,this.#c=n.groups,this.#l=n.groupByKey}this.#a=void 0,this.#o=void 0}};function tS(e,n,r){let i,a;for(let o of e)r(o)||(i??=new Set(e),i.delete(o),a??=new Map(n),a.set(o,!1));for(let[o,s]of n)r(o)&&(a??=new Map(n),a.delete(o),s===(i??e).has(o)&&(i??=new Set(e),s?i.delete(o):i.add(o)));return{collapsed:i??e,pending:a?cr(a):n,changed:i!==void 0||a!==void 0}}function nS(e,n,r){return dr(r?n:[],pr(e,!1))}function rS(e,n,r,i){let a=e.horizontal?{top:r,left:n}:r===0?{top:n}:{top:n,left:r},o=e.window(n,0);if(o.ranges.length===0)return a;let s=o.startIndex,c=i(s);if(c===void 0)return a;let l=e.offsetOfAnchor(s,0);return{...a,anchor:{key:c,offset:Math.round(n-l)}}}function iS(e,n,r,i){let a=n.horizontal?e.left??0:e.top;if(e.anchor){let i=r(e.anchor.key);if(i<0)return;a=n.offsetOfAnchor(i,0)+e.anchor.offset}let o=Math.max(0,n.totalExtent-i);return{offset:Math.max(0,Math.min(a,o)),reached:a<=o+1}}function aS(e,n){return typeof e==`object`&&e?e[n]:void 0}function oS(e,n){return e.getAttribute(`data-${n}`)}function sS(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}function cS(e,n,r){for(let i of n)r.has(i)||i.removeAttribute(e);for(let n of r)n.hasAttribute(e)||n.setAttribute(e,``);return r}let J=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.disableHoverTickle=!1,this.scrollHoverTickle=!1,this.itemSize=160,this.gap=8,this.orientation=`grid`,this.captionStyle=`under`,this.captionAlign=`middle`,this.captionPosition=`bottom`,this.captionBackdrop=`scrim`,this.captionHeight=24,this.itemWrap=`stop`,this.itemsDraggable=!1,this.marqueeFromCellBlank=!1,this.snapToItem=!1,this.items=[],this.groupBy=null,this.crossGroupSelection=!1,this.groupHeaderHeight=28,this.groupHeaderWidth=120,this._collapsedGroups=new Set,this._scrollTop=0,this._scrollLeft=0,this._viewportHeight=0,this._viewportWidth=0,this.#e=new d_(this,{kind:`grid-list`,capture:()=>this.getViewState()}),this.#t=ir,this.#i=x(),this.#c=0,this.#l=0,this.#u=[],this.#d=`stop`,this.#f=new Map,this.#p=0,this.#m=new Set,this.#h=[],this.#g=new Map,this.#_=new Set,this.#v=0,this.#b=new $x(this),this.#x=this.#b,this.selection=new gr({getOrderedItems:()=>this.#x.keys(),isSelectable:e=>{let n=this.#x.indexOfKey(e);return n>=0&&this.#x.isSelectable(n)},getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:e=>e,onIntent:e=>this._dispatch(`list-select-intent`,e,!0)===!1,getGroupKey:e=>this.groupBy===null?null:this.#x.groupKeyOfKey(e),crossGroupSelection:()=>this.crossGroupSelection,getFallbackGroupKey:()=>{let e=this.tickled.tickledId;return e!==void 0&&this.groupBy!==null?this.#x.groupKeyOfKey(e):null},onChange:(e,n)=>{this._syncItemStates(),this.requestUpdate(),this.#De(e,n)}}),this.tickled=new oe(this,{getItems:()=>this.#x.keys().map((e,n)=>({id:e,enabled:this.#x.isSelectable(n)})),onTickle:e=>{this.#ze(),e!==void 0&&this.#Oe(`list-tickle`,e),this.tickled.inputMode===`keyboard`&&(e!==void 0&&!this.#e.isRestoring&&(this.#n=void 0),this.#e.notify())},onStateChange:()=>this._syncItemStates(),itemWrap:this.#d,hoverDisabled:()=>this.disableHoverTickle||this.#M.isDragging||this.#O.isDragging}),this.#S=Sr({host:this,enabled:()=>!this.scrollHoverTickle,onResume:(e,n)=>{if(this.disableHoverTickle)return;let r=this.shadowRoot?.elementFromPoint?.(e,n)?.closest(`.cell`)?.getAttribute(`data-key`);r&&this.tickled.handlePointerEnter(r)}}),this.#C=new Set,this.#T=!1,this.#E=void 0,this.#D=0,this.#O=new nr(this,{source:`grid-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this.#x.count>0,resolveEventToKey:e=>{if(e instanceof Element){let n=(e.closest?.(`.cell`))?.dataset.key;if(n)return n;let r=(e.closest?.(`[data-key]`))?.dataset.key??e.dataset?.key??D(e);if(r)return r}},prepareSelection:e=>this.#A(e),getMetrics:()=>({itemSize:this.itemSize,captionStyle:this.captionStyle,captionHeight:this.captionHeight,rowHeight:this.#ne()}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatch(`list-native-drag-start`,e,!0),onActiveChange:(e,n)=>{if(this.#T=e,this.#E=e?n:void 0,this.toggleAttribute(`data-native-dragging`,e),e){let e=[...this.selection.selectedKeys].filter(e=>!Xx(e)).length;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#et(),this.#$e()},syncLightDomDraggable:()=>{for(let e of this.children)e instanceof HTMLElement&&(e.draggable=this.itemsDraggable)},shouldStart:e=>!(this.marqueeFromCellBlank&&this.#N(e))}),this.#j=null,this.#M=new Wn(this,{getSurface:()=>this.#i.value,isEnabled:()=>this.selection.canDragSelect()&&this.#x.count>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#P(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#C=e,this.#w=n,this.requestUpdate()},onCommit:(e,n)=>{this.selection.applyDragSelection(e,n),this.#C=new Set,this.#w=void 0,this.requestUpdate()},autoScroll:(e,n)=>{let r=this.#i.value;r&&(e!==0&&(r.scrollLeft+=e,this._scrollLeft=r.scrollLeft),n!==0&&(r.scrollTop+=n,this._scrollTop=r.scrollTop))},shouldStart:e=>{if(this.marqueeFromCellBlank&&this.#N(e))return!0;for(let n of e.composedPath())if(n instanceof Element&&(n.classList.contains(`cell`)||n.classList.contains(`group-header`)))return!1;return!0}}),this.#Z=!1,this.#le=e=>this.#x.indexOfKey(e)>=0?e:void 0,this.#Ce=new Set,this.#we=new Set,this.#Te=new Set,this.#Ee=new Set,this.#ke=new Set,this.#We=e=>{let n=e.target;this.#S.onScroll(),this.#qe(),this.#c=requestAnimationFrame(()=>{this.#c=0,this._scrollTop=n.scrollTop,this._scrollLeft=n.scrollLeft,this.#J()}),this.#Ye();let r=this.orientation===`row`?n.scrollLeft:n.scrollTop,i=this.#r!==void 0&&Math.abs(r-this.#r)<=1;this.#r=void 0,!i&&!this.#e.pendingScroll&&this.#e.notify()},this.#Ge=e=>{if(this.orientation!==`row`||e.ctrlKey||e.metaKey||e.deltaY===0)return;let n=this.#i.value??e.currentTarget;n&&(n.scrollWidth<=n.clientWidth+1||(this.#S.onScroll(),n.scrollLeft+=e.deltaX+e.deltaY,e.preventDefault()))},this._onKeyDown=e=>{if((e.ctrlKey||e.metaKey)&&e.key===`f`)return;if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}let n=this.#x.count;if(n===0)return;let r=this.#xe(),i=this.#be(),a=()=>this.tickled.tickledId?this.#x.indexOfKey(this.tickled.tickledId):-1,o=e=>{let n=this.#x.keyAt(e);n&&(this.tickled.handleKeyboardNavigation(n),this.#Se(n))},s=e=>o(Math.max(0,Math.min(n-1,a()+e))),c=(e,n=1)=>{let c=a();if(c<0){s(e*n*r.cols);return}for(let r=0;r<n;r++)c=i.neighbour(c,e);o(c)},l=this.orientation===`grid`?r.cols:1;switch(e.key){case`ArrowLeft`:s(-1);break;case`ArrowRight`:s(1);break;case`ArrowUp`:this.orientation===`grid`?c(-1):s(-l);break;case`ArrowDown`:this.orientation===`grid`?c(1):s(l);break;case`Home`:this.tickled.handleKeyboardNavigation(`first`),this.tickled.tickledId&&this.#Se(this.tickled.tickledId);break;case`End`:this.tickled.handleKeyboardNavigation(`last`),this.tickled.tickledId&&this.#Se(this.tickled.tickledId);break;case`PageUp`:case`PageDown`:{let n=r.horizontal?this._viewportWidth:this._viewportHeight,i=r.horizontal?r.colStride:r.rowStride,a=Math.max(1,Math.floor(n/i));this.orientation===`grid`?c(e.key===`PageDown`?1:-1,a):s((e.key===`PageDown`?1:-1)*a*l);break}case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.#Oe(`list-item-click`,n),this.#tt(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.#T&&this.#et(),this.selection.handleClear(`keyboard`);break;default:return}e.preventDefault()}}static{this.styles=[w,se,C,wr(`x`),wr(`y`),qn,Ht,r`
|
|
7590
|
+
`;let Px=class extends n{constructor(...e){super(...e),this.label=``}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Mx(this,Nx),this._observer=new MutationObserver(()=>this._sync())}firstUpdated(){this._fieldset=this.querySelector(`fieldset`)??void 0,this._fieldset&&(this._observer?.observe(this,{childList:!0,subtree:!0}),this._sync())}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_sync(){this._moveChildren(),this._updatePairs()}_updatePairs(){if(!this._fieldset)return;let e=Array.from(this._fieldset.querySelectorAll(`:scope > ixfx-form-row`)).map(e=>e.querySelectorAll(`:scope > ixfx-form-part`).length),n=Math.max(1,...e);this._fieldset.style.setProperty(`--ixfx-form-pairs`,String(n))}_moveChildren(){this._fieldset&&Array.from(this.children).filter(e=>e.tagName!==`FIELDSET`).forEach(e=>{this._fieldset.appendChild(e)})}render(){return i`<fieldset><legend>${this.label}</legend></fieldset>`}};E([d({type:String})],Px.prototype,`label`,void 0),E([d({type:String,attribute:`label-align`,reflect:!0})],Px.prototype,`labelAlign`,void 0),Px=E([T(`ixfx-form-group`)],Px);let Fx=0,Ix=class extends n{constructor(...e){super(...e),this.label=``,this.orientation=`horizontal`,this._labelId=`ixfx-form-options-${++Fx}`}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Mx(this,Nx),this.setAttribute(`role`,`group`),this.setAttribute(`aria-labelledby`,this._labelId),this._observer=new MutationObserver(()=>this._moveChildren())}firstUpdated(){this._observer?.observe(this,{childList:!0}),this._moveChildren()}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_moveChildren(){let e=this.querySelector(`:scope > .ixfx-form-options-items`);e&&Array.from(this.children).filter(e=>!e.classList.contains(`ixfx-form-options-items`)&&!e.classList.contains(`ixfx-form-options-label`)).forEach(n=>e.appendChild(n))}render(){return i`<span class="ixfx-form-options-label" id=${this._labelId}>${this.label}</span><div class="ixfx-form-options-items"></div>`}};E([d({type:String})],Ix.prototype,`label`,void 0),E([d({type:String,reflect:!0})],Ix.prototype,`orientation`,void 0),Ix=E([T(`ixfx-form-options`)],Ix);let Lx=0,Rx=class extends n{constructor(...e){super(...e),this.label=``}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Mx(this,Nx),this._ensureId()}_ensureId(){let e=this.querySelector(`input, select, textarea, [name]`);e&&(e.id?this._id=e.id:(this._id=`ixfx-form-part-${++Lx}`,e.id=this._id))}render(){return this._id||this._ensureId(),i`<label for=${this._id??``}>${this.label}</label>`}};E([d({type:String})],Rx.prototype,`label`,void 0),Rx=E([T(`ixfx-form-part`)],Rx);let zx=class extends n{createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),Mx(this,Nx),this._observer=new MutationObserver(()=>this._indexParts()),this._observer.observe(this,{childList:!0}),this._indexParts()}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}_indexParts(){Array.from(this.children).filter(e=>e.tagName===`IXFX-FORM-PART`).forEach((e,n)=>{e.style.setProperty(`--ixfx-form-part-index`,String(n+1))})}};zx=E([T(`ixfx-form-row`)],zx);function Bx(e,n={}){let r={};return e.querySelectorAll(`[name]`).forEach(e=>{let i=e.getAttribute(`name`);i&&(e instanceof HTMLInputElement?e.type===`radio`?e.checked&&(r[i]=e.value):e.type===`checkbox`?r[i]=e.checked:n.typed&&(e.type===`number`||e.type===`range`)?r[i]=Number.isNaN(e.valueAsNumber)?null:e.valueAsNumber:r[i]=e.value:e instanceof HTMLSelectElement?e.multiple?r[i]=Array.from(e.selectedOptions).map(e=>e.value):r[i]=e.value:(e instanceof HTMLTextAreaElement||`value`in e)&&(r[i]=e.value))}),r}function Vx(e,n){e.querySelectorAll(`[name]`).forEach(e=>{let r=e.getAttribute(`name`);if(!r||!(r in n))return;let i=n[r];e instanceof HTMLInputElement?(e.type===`radio`?e.checked=e.value===i:e.type===`checkbox`?e.checked=!!i:e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):e instanceof HTMLSelectElement?(e.multiple&&Array.isArray(i)?Array.from(e.options).forEach(e=>{e.selected=i.includes(e.value)}):e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):e instanceof HTMLTextAreaElement?(e.value=String(i??``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))):`value`in e&&(e.value=i)})}const Hx=new Set([`button`,`submit`,`reset`,`image`,`file`,`color`]);let Ux=class extends n{constructor(...e){super(...e),this.labelAlign=`right`,this.noValidate=!1,this._onKeydown=e=>{if(e.key!==`Enter`||e.defaultPrevented||e.isComposing||e.shiftKey||e.ctrlKey||e.altKey||e.metaKey)return;let n=e.target;!(n instanceof HTMLInputElement)||Hx.has(n.type)||this.form.querySelector(`button:not([type]), button[type=submit], input[type=submit], input[type=image]`)||(e.preventDefault(),this.requestSubmit())}}createRenderRoot(){return this}get form(){return this._form||(this._form=document.createElement(`form`),this._form.addEventListener(`submit`,e=>e.preventDefault()),this._form.addEventListener(`keydown`,this._onKeydown)),this._form}get elements(){return this.form.elements}connectedCallback(){super.connectedCallback(),Mx(this,Nx),this._adoptChildren(),this._observer=new MutationObserver(()=>this._adoptChildren()),this._observer.observe(this,{childList:!0})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}updated(){this.form.noValidate=this.noValidate}_adoptChildren(){let e=this.form;e.parentNode!==this&&this.append(e);let n=Array.from(this.childNodes).filter(n=>n!==e);n.length>0&&e.append(...n)}requestSubmit(){this.form.requestSubmit()}reset(){this.form.reset()}checkValidity(){return this.form.checkValidity()}reportValidity(){return this.form.reportValidity()}getValues(e){return Bx(this,e)}setValues(e){Vx(this,e)}};E([d({type:String,attribute:`label-align`,reflect:!0})],Ux.prototype,`labelAlign`,void 0),E([d({type:Boolean,attribute:`novalidate`,reflect:!0})],Ux.prototype,`noValidate`,void 0),Ux=E([T(`ixfx-form`)],Ux);function Wx(e,n,r,i,a,o,s,c,l=2){let u=Math.max(1,n),d=Math.max(1,r),f=Math.max(0,i),p=u+f,m=d+f,h=Math.max(0,s);if(c===`row`){let n=e===0?0:1,r=e===0?0:(e-1)*p+u;if(e===0||a<=0)return{cols:e,rows:n,totalHeight:0,totalWidth:r,startIndex:0,endIndex:0,colStride:p,rowStride:m,horizontal:!0};let i=Math.max(0,Math.floor(h/p)),o=Math.ceil((h+a)/p);return{cols:e,rows:n,totalHeight:0,totalWidth:r,startIndex:Math.max(0,i-l),endIndex:Math.min(e,o+l),colStride:p,rowStride:m,horizontal:!0}}let g=c===`column`?1:Math.max(1,Math.floor((Math.max(0,a)+f)/p)),_=e===0?0:Math.ceil(e/g),v=_===0?0:(_-1)*m+d;if(e===0||o<=0)return{cols:g,rows:_,totalHeight:v,totalWidth:0,startIndex:0,endIndex:0,colStride:p,rowStride:m,horizontal:!1};let y=Math.max(0,Math.floor(h/m)),b=Math.ceil((h+o)/m),x=Math.max(0,y-l),S=Math.min(_,b+l);return{cols:g,rows:_,totalHeight:v,totalWidth:0,startIndex:x*g,endIndex:Math.min(e,S*g),colStride:p,rowStride:m,horizontal:!1}}function Gx(e,n,r,i){let a=Math.max(0,e.gap),o=e.orientation===`row`,s=e=>o?e:Math.ceil(e/n),c=e=>e===0?0:(s(e)-1)*r+i;if(!e.groups){let n=c(e.count);return{sections:[{group:void 0,first:0,count:e.count,headerOffset:0,itemsOffset:0,end:n}],total:n,count:e.count}}let l=o?e.headerWidth:e.headerHeight,u=[],d=0,f=0;for(let n of e.groups){let e=n.collapsed?0:n.count,r=d+l+a,i=e===0?d+l:r+c(e);u.push({group:n,first:f,count:e,headerOffset:d,itemsOffset:r,end:i}),f+=e,d=i+a}return{sections:u,total:u.length===0?0:u[u.length-1].end,count:f}}function Kx(e,n){let r=0,i=e.length-1;for(;r<i;){let a=r+i+1>>1;e[a].headerOffset<=n?r=a:i=a-1}return r}function qx(e,n){let r=0,i=e.length-1;for(;r<i;){let a=r+i+1>>1;e[a].first<=n?r=a:i=a-1}let a=r;for(;a<e.length-1&&e[a].count===0;)a++;return a}function Jx(e){let n=e.orientation===`row`,r=Math.max(1,e.itemWidth),i=Math.max(1,e.rowHeight),a=Math.max(0,e.gap),o=r+a,s=i+a,c=n||e.orientation===`column`?1:Math.max(1,Math.floor((Math.max(0,e.viewportWidth)+a)/o)),l=n?o:s,u=n?r:i,{sections:d,total:f,count:p}=Gx(e,c,l,u),m=e.groups!==void 0,h=n?e.headerWidth:e.headerHeight,g=n?e.viewportWidth:e.viewportHeight,_=s-a,v=Math.max(0,(e.viewportHeight-_)/2),y=e=>{let r=qx(d,e),i=d[r],a=Math.max(0,e-i.first);if(n)return{x:i.itemsOffset+a*o,y:v,col:0,line:a,section:r};let l=c<=1?0:a%c,u=c<=1?a:Math.floor(a/c);return{x:l*o,y:i.itemsOffset+u*s,col:l,line:u,section:r}};return{horizontal:n,cols:c,colStride:o,rowStride:s,grouped:m,count:p,totalExtent:f,window:(u,m=2)=>{let _=Math.max(0,u),v=[],y=[],b=_-m*l,x=_+g+m*l,S=0;if(d.length>1){let e=0,n=d.length-1;for(;e<n;){let r=e+n>>1;d[r].end>=b?n=r:e=r+1}S=e}if(g>0)for(let o=S;o<d.length;o++){let s=d[o];if(s.headerOffset>x)break;if(s.group&&s.headerOffset+h>=b&&v.push({key:s.group.key,label:s.group.label,count:s.group.count,collapsed:s.group.collapsed,offset:s.headerOffset,size:h}),s.count===0)continue;let c=_-s.itemsOffset,l=c<0?g+c:g;if(l<=0)continue;let u=Wx(s.count,r,i,a,n?l:e.viewportWidth,n?e.viewportHeight:l,Math.max(0,c),e.orientation,m);u.endIndex>u.startIndex&&y.push([s.first+u.startIndex,s.first+u.endIndex])}return{cols:n?p:c,rows:0,totalHeight:n?0:f,totalWidth:n?f:0,startIndex:y.length>0?y[0][0]:0,endIndex:y.length>0?y[y.length-1][1]:0,colStride:o,rowStride:s,horizontal:n,headers:v,ranges:y}},positionOf:y,extentOf:e=>{let{line:n,section:r}=y(e),i=d[r],a=i.itemsOffset+n*l;return[n===0&&i.group?i.headerOffset:a,a+u]},neighbour:(e,n)=>{if(p===0)return e;let r=qx(d,e),i=d[r],a=e-i.first,o=a%c;if(n>0){let e=a+c;if(e<=i.count-1)return i.first+e;let n=Math.floor((i.count-1)/c);if(Math.floor(a/c)<n)return i.first+i.count-1;for(let e=r+1;e<d.length;e++)if(d[e].count>0)return d[e].first+Math.min(o,d[e].count-1);return i.first+i.count-1}let s=a-c;if(s>=0)return i.first+s;for(let e=r-1;e>=0;e--){let n=d[e];if(n.count>0){let e=Math.floor((n.count-1)/c);return n.first+Math.min(e*c+o,n.count-1)}}return i.first},hitTest:(e,r,i,a)=>{let u=[];if(p===0)return u;let f=n?e:i,m=n?r:a,h=Kx(d,f-l);for(let l=Math.max(0,h);l<d.length;l++){let p=d[l];if(p.itemsOffset>m)break;if(!(p.count===0||p.end<f)){if(n){let n=Math.max(0,Math.floor((e-p.itemsOffset)/o)),i=Math.min(p.count-1,Math.floor((r-p.itemsOffset)/o));for(let e=n;e<=i;e++)u.push(p.first+e)}else{let n=Math.max(0,Math.floor(e/o)),l=Math.min(c-1,Math.floor(r/o)),d=Math.max(0,Math.floor((i-p.itemsOffset)/s)),f=Math.floor((a-p.itemsOffset)/s);for(let e=d;e<=f;e++)for(let r=n;r<=l;r++){let n=e*c+r;n>=0&&n<p.count&&u.push(p.first+n)}}}}return u},anchorAt:e=>{if(p===0)return{index:0,lineFrac:0};let r=Kx(d,e);for(;r<d.length-1&&d[r].count===0;)r++;let i=d[r];if(i.count===0)return{index:0,lineFrac:0};let a=Math.max(0,e-i.itemsOffset)/l,o=Math.max(0,Math.floor(a)),s=n?Math.min(i.count-1,o):Math.min(i.count-1,o*c+Math.max(0,Math.floor((c-1)/2)));return{index:i.first+s,lineFrac:a-o}},offsetOfAnchor:(e,n)=>{let{line:r,section:i}=y(e);return d[i].itemsOffset+(r+n)*l},snapTarget:e=>{let r=Kx(d,e),i=d[r],a=Math.round((e-i.itemsOffset)/l);if(m){let e=i.count===0?0:n?i.count:Math.ceil(i.count/c);a=Math.max(0,Math.min(Math.max(0,e-1),a))}let o=[i.itemsOffset+a*l];return m&&(o.push(i.headerOffset),r+1<d.length&&o.push(d[r+1].headerOffset)),o.reduce((n,r)=>Math.abs(r-e)<Math.abs(n-e)?r:n)}}}function Yx(e,n,r){let i=vn(e,e=>n.groupKeyOf(e),n.labelOf?(e,r)=>n.labelOf(e,r.map(e=>n.itemAt(e))):void 0),a=[],o=[],s=new Map;for(let e of i){let i=n.collapsed.has(e.key);o.push({key:e.key,label:e.label,count:e.items.length,collapsed:i});for(let n of e.items)s.set(r(n),e.key),i||a.push(n)}return{order:a,groups:o,groupByKey:s}}const Xx=`gl-auto-`;function Zx(e){return e.startsWith(Xx)}function Qx(e){let n=new Set,r=new Set;for(let i of e)Zx(i)||(n.has(i)?r.add(i):n.add(i));r.size>0&&console.warn(`ixfx-grid-list: duplicate item key(s) ${[...r].map(e=>`"${e}"`).join(`, `)} — the first occurrence wins for key-based operations.`)}function $x(e){let n=new Map;return e.forEach((e,r)=>{n.has(e)||n.set(e,r)}),n}var eS=class{#e;#t=[];#n=new WeakMap;#r=0;#i;#a;#o=[];#s;#c;#l;#u=[];#d=new Map;constructor(e){this.#e=e,this.refresh()}get count(){return this.#o.length}get rawCount(){return this.#t.length}keyAt(e){let n=this.#o[e];return n===void 0?``:this.#m(this.#t[n])}indexOfKey(e){return this.#c??=$x(this.keys()),this.#c.get(e)??-1}keys(){return this.#s??=this.#o.map(e=>this.#m(this.#t[e])),this.#s}labelAt(e){let n=this.#o[e];return n===void 0?``:this.#h(this.#t[n])}rawKeyAt(e){let n=this.#t[e];return n===void 0?``:this.#m(n)}rawSearchTextAt(e){let n=this.#t[e];return n===void 0?``:n.getAttribute(`data-search-label`)??n.getAttribute(`data-label`)??n.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??n.textContent?.trim()??``}isSelectable(e){let n=this.#o[e];return n!==void 0&&!this.#t[n].hasAttribute(`not-checked`)}renderCellContent(e){}iconAt(e){}iconColorAt(e){}textColorAt(e){}badgeAt(e){}setFilters(e){`predicate`in e&&(this.#i=e.predicate),`searchKeys`in e&&(this.#a=e.searchKeys),this.#f()}setGrouping(e){this.#l=e,this.#f()}groups(){return this.#u}groupKeyOfKey(e){return this.#d.get(e)??null}refresh(){this.#t=Array.from(this.#e.querySelectorAll(`:scope > *`)).filter(e=>!e.hidden),Qx(this.#t.map(e=>this.#m(e))),this.#f()}effectiveElements(){return this.#o.map(e=>this.#t[e])}rawElementAt(e){return this.#t[e]}resolveKeyToElement(e){return Zx(e)?this.#t.find(n=>this.#n.get(n)===e):this.#t.find(n=>D(n)===e)}resolveKeyToData(e){}#f(){let e=[];for(let n=0;n<this.#t.length;n++)if(!(this.#i!==void 0&&!this.#i(n))){if(this.#a!==void 0){let e=this.#m(this.#t[n]);if(!Zx(e)&&!this.#a.has(e))continue}e.push(n)}this.#p(e),this.#s=void 0,this.#c=void 0}#p(e){if(this.#l===void 0){this.#o=e,this.#u=[],this.#d=new Map;return}let n=Yx(e,this.#l,e=>this.#m(this.#t[e]));this.#o=n.order,this.#u=n.groups,this.#d=n.groupByKey}#m(e){let n=D(e);if(n!==void 0)return n;let r=this.#n.get(e);return r===void 0&&(this.#r+=1,r=`${Xx}${this.#r}`,this.#n.set(e,r)),r}#h(e){return e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??``}},tS=class{#e;#t;#n;#r;#i=[];#a;#o;#s;#c=[];#l=new Map;constructor(e,n){this.#e=e,this.#t=n,Qx(e.map((e,r)=>n.key(e,r))),this.#u()}get count(){return this.#i.length}get rawCount(){return this.#e.length}keyAt(e){let n=this.#i[e];return n===void 0?``:this.#t.key(this.#e[n],n)}indexOfKey(e){return this.#o??=$x(this.keys()),this.#o.get(e)??-1}keys(){return this.#a??=this.#i.map(e=>this.#t.key(this.#e[e],e)),this.#a}labelAt(e){let n=this.#i[e];return n===void 0?``:this.#t.label?.(this.#e[n],n)??this.#t.key(this.#e[n],n)}rawKeyAt(e){return e<0||e>=this.#e.length?``:this.#t.key(this.#e[e],e)}rawSearchTextAt(e){if(e<0||e>=this.#e.length)return``;let n=this.#e[e];return this.#t.searchableText?.(n,e)??this.#t.label?.(n,e)??``}isSelectable(e){let n=this.#i[e];return n!==void 0&&!this.#t.disabled?.(this.#e[n],n)}renderCellContent(e){let n=this.#i[e];return n===void 0?void 0:this.#t.render(this.#e[n],n)}iconAt(e){let n=this.#i[e];return n===void 0||this.#t.icon===void 0?void 0:this.#t.icon(this.#e[n],n)}iconColorAt(e){let n=this.#i[e];return n===void 0?void 0:this.#t.iconColor?.(this.#e[n],n)}textColorAt(e){let n=this.#i[e];return n===void 0?void 0:this.#t.textColor?.(this.#e[n],n)}badgeAt(e){let n=this.#i[e];return n===void 0||this.#t.badge===void 0?void 0:this.#t.badge(this.#e[n],n)}setFilters(e){`predicate`in e&&(this.#n=e.predicate),`searchKeys`in e&&(this.#r=e.searchKeys),this.#u()}setGrouping(e){this.#s=e,this.#u()}groups(){return this.#c}groupKeyOfKey(e){return this.#l.get(e)??null}refresh(){this.#u()}rawItemAt(e){return this.#e[e]}getItemAt(e){let n=this.#i[e];return n===void 0?void 0:this.#e[n]}resolveKeyToElement(e){}resolveKeyToData(e){let n=this.#e.findIndex((n,r)=>this.#t.key(n,r)===e);return n>=0?this.#e[n]:void 0}#u(){let e=[];for(let n=0;n<this.#e.length;n++)this.#n!==void 0&&!this.#n(n)||this.#r!==void 0&&!this.#r.has(this.#t.key(this.#e[n],n))||e.push(n);if(this.#s===void 0)this.#i=e,this.#c=[],this.#l=new Map;else{let n=Yx(e,this.#s,e=>this.#t.key(this.#e[e],e));this.#i=n.order,this.#c=n.groups,this.#l=n.groupByKey}this.#a=void 0,this.#o=void 0}};function nS(e,n,r){let i,a;for(let o of e)r(o)||(i??=new Set(e),i.delete(o),a??=new Map(n),a.set(o,!1));for(let[o,s]of n)r(o)&&(a??=new Map(n),a.delete(o),s===(i??e).has(o)&&(i??=new Set(e),s?i.delete(o):i.add(o)));return{collapsed:i??e,pending:a?cr(a):n,changed:i!==void 0||a!==void 0}}function rS(e,n,r){return dr(r?n:[],pr(e,!1))}function iS(e,n,r,i){let a=e.horizontal?{top:r,left:n}:r===0?{top:n}:{top:n,left:r},o=e.window(n,0);if(o.ranges.length===0)return a;let s=o.startIndex,c=i(s);if(c===void 0)return a;let l=e.offsetOfAnchor(s,0);return{...a,anchor:{key:c,offset:Math.round(n-l)}}}function aS(e,n,r,i){let a=n.horizontal?e.left??0:e.top;if(e.anchor){let i=r(e.anchor.key);if(i<0)return;a=n.offsetOfAnchor(i,0)+e.anchor.offset}let o=Math.max(0,n.totalExtent-i);return{offset:Math.max(0,Math.min(a,o)),reached:a<=o+1}}function oS(e,n){return typeof e==`object`&&e?e[n]:void 0}function sS(e,n){return e.getAttribute(`data-${n}`)}function cS(e,n){if(e===void 0||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}function lS(e,n,r){for(let i of n)r.has(i)||i.removeAttribute(e);for(let n of r)n.hasAttribute(e)||n.setAttribute(e,``);return r}let q=class extends n{constructor(...e){super(...e),this.selectionMode=`single`,this.interactionMode=`standard`,this.disableHoverTickle=!1,this.scrollHoverTickle=!1,this.itemSize=160,this.gap=8,this.orientation=`grid`,this.captionStyle=`under`,this.captionAlign=`middle`,this.captionPosition=`bottom`,this.captionBackdrop=`scrim`,this.captionHeight=24,this.itemWrap=`stop`,this.itemsDraggable=!1,this.marqueeFromCellBlank=!1,this.snapToItem=!1,this.items=[],this.groupBy=null,this.crossGroupSelection=!1,this.groupHeaderHeight=28,this.groupHeaderWidth=120,this._collapsedGroups=new Set,this._scrollTop=0,this._scrollLeft=0,this._viewportHeight=0,this._viewportWidth=0,this.#e=new f_(this,{kind:`grid-list`,capture:()=>this.getViewState()}),this.#t=ir,this.#i=x(),this.#c=0,this.#l=0,this.#u=[],this.#d=`stop`,this.#f=new Map,this.#p=0,this.#m=new Set,this.#h=[],this.#g=new Map,this.#_=new Set,this.#v=0,this.#b=new eS(this),this.#x=this.#b,this.selection=new gr({getOrderedItems:()=>this.#x.keys(),isSelectable:e=>{let n=this.#x.indexOfKey(e);return n>=0&&this.#x.isSelectable(n)},getModes:()=>({selectionMode:this.selectionMode,interactionMode:this.interactionMode}),getKey:e=>e,onIntent:e=>this._dispatch(`list-select-intent`,e,!0)===!1,getGroupKey:e=>this.groupBy===null?null:this.#x.groupKeyOfKey(e),crossGroupSelection:()=>this.crossGroupSelection,getFallbackGroupKey:()=>{let e=this.tickled.tickledId;return e!==void 0&&this.groupBy!==null?this.#x.groupKeyOfKey(e):null},onChange:(e,n)=>{this._syncItemStates(),this.requestUpdate(),this.#De(e,n)}}),this.tickled=new oe(this,{getItems:()=>this.#x.keys().map((e,n)=>({id:e,enabled:this.#x.isSelectable(n)})),onTickle:e=>{this.#ze(),e!==void 0&&this.#Oe(`list-tickle`,e),this.tickled.inputMode===`keyboard`&&(e!==void 0&&!this.#e.isRestoring&&(this.#n=void 0),this.#e.notify())},onStateChange:()=>this._syncItemStates(),itemWrap:this.#d,hoverDisabled:()=>this.disableHoverTickle||this.#M.isDragging||this.#O.isDragging}),this.#S=Sr({host:this,enabled:()=>!this.scrollHoverTickle,onResume:(e,n)=>{if(this.disableHoverTickle)return;let r=this.shadowRoot?.elementFromPoint?.(e,n)?.closest(`.cell`)?.getAttribute(`data-key`);r&&this.tickled.handlePointerEnter(r)}}),this.#C=new Set,this.#T=!1,this.#E=void 0,this.#D=0,this.#O=new nr(this,{source:`grid-list`,isEnabled:()=>this.itemsDraggable&&this.selectionMode!==`none`&&this.#x.count>0,resolveEventToKey:e=>{if(e instanceof Element){let n=(e.closest?.(`.cell`))?.dataset.key;if(n)return n;let r=(e.closest?.(`[data-key]`))?.dataset.key??e.dataset?.key??D(e);if(r)return r}},prepareSelection:e=>this.#A(e),getMetrics:()=>({itemSize:this.itemSize,captionStyle:this.captionStyle,captionHeight:this.captionHeight,rowHeight:this.#ne()}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>this._dispatch(`list-native-drag-start`,e,!0),onActiveChange:(e,n)=>{if(this.#T=e,this.#E=e?n:void 0,this.toggleAttribute(`data-native-dragging`,e),e){let e=[...this.selection.selectedKeys].filter(e=>!Zx(e)).length;this.setAttribute(`aria-label`,e<=1?`Dragging 1 item`:`Dragging ${e} items`)}else this.removeAttribute(`aria-label`);this.requestUpdate()},onEnd:()=>{this.#et(),this.#$e()},syncLightDomDraggable:()=>{for(let e of this.children)e instanceof HTMLElement&&(e.draggable=this.itemsDraggable)},shouldStart:e=>!(this.marqueeFromCellBlank&&this.#N(e))}),this.#j=null,this.#M=new Wn(this,{getSurface:()=>this.#i.value,isEnabled:()=>this.selection.canDragSelect()&&this.#x.count>0&&!this.hasAttribute(`disable-drag-select`),hitTest:e=>this.#P(e),getBaseSelection:()=>this.selection.selected,onPreview:(e,n)=>{this.#C=e,this.#w=n,this.requestUpdate()},onCommit:(e,n)=>{this.selection.applyDragSelection(e,n),this.#C=new Set,this.#w=void 0,this.requestUpdate()},autoScroll:(e,n)=>{let r=this.#i.value;r&&(e!==0&&(r.scrollLeft+=e,this._scrollLeft=r.scrollLeft),n!==0&&(r.scrollTop+=n,this._scrollTop=r.scrollTop))},shouldStart:e=>{if(this.marqueeFromCellBlank&&this.#N(e))return!0;for(let n of e.composedPath())if(n instanceof Element&&(n.classList.contains(`cell`)||n.classList.contains(`group-header`)))return!1;return!0}}),this.#Z=!1,this.#le=e=>this.#x.indexOfKey(e)>=0?e:void 0,this.#Ce=new Set,this.#we=new Set,this.#Te=new Set,this.#Ee=new Set,this.#ke=new Set,this.#We=e=>{let n=e.target;this.#S.onScroll(),this.#qe(),this.#c=requestAnimationFrame(()=>{this.#c=0,this._scrollTop=n.scrollTop,this._scrollLeft=n.scrollLeft,this.#J()}),this.#Ye();let r=this.orientation===`row`?n.scrollLeft:n.scrollTop,i=this.#r!==void 0&&Math.abs(r-this.#r)<=1;this.#r=void 0,!i&&!this.#e.pendingScroll&&this.#e.notify()},this.#Ge=e=>{if(this.orientation!==`row`||e.ctrlKey||e.metaKey||e.deltaY===0)return;let n=this.#i.value??e.currentTarget;n&&(n.scrollWidth<=n.clientWidth+1||(this.#S.onScroll(),n.scrollLeft+=e.deltaX+e.deltaY,e.preventDefault()))},this._onKeyDown=e=>{if((e.ctrlKey||e.metaKey)&&e.key===`f`)return;if((e.ctrlKey||e.metaKey)&&e.key===`a`){this.selection.canSelectAll()&&(e.preventDefault(),this.selection.selectAll(`keyboard`));return}let n=this.#x.count;if(n===0)return;let r=this.#xe(),i=this.#be(),a=()=>this.tickled.tickledId?this.#x.indexOfKey(this.tickled.tickledId):-1,o=e=>{let n=this.#x.keyAt(e);n&&(this.tickled.handleKeyboardNavigation(n),this.#Se(n))},s=e=>o(Math.max(0,Math.min(n-1,a()+e))),c=(e,n=1)=>{let c=a();if(c<0){s(e*n*r.cols);return}for(let r=0;r<n;r++)c=i.neighbour(c,e);o(c)},l=this.orientation===`grid`?r.cols:1;switch(e.key){case`ArrowLeft`:s(-1);break;case`ArrowRight`:s(1);break;case`ArrowUp`:this.orientation===`grid`?c(-1):s(-l);break;case`ArrowDown`:this.orientation===`grid`?c(1):s(l);break;case`Home`:this.tickled.handleKeyboardNavigation(`first`),this.tickled.tickledId&&this.#Se(this.tickled.tickledId);break;case`End`:this.tickled.handleKeyboardNavigation(`last`),this.tickled.tickledId&&this.#Se(this.tickled.tickledId);break;case`PageUp`:case`PageDown`:{let n=r.horizontal?this._viewportWidth:this._viewportHeight,i=r.horizontal?r.colStride:r.rowStride,a=Math.max(1,Math.floor(n/i));this.orientation===`grid`?c(e.key===`PageDown`?1:-1,a):s((e.key===`PageDown`?1:-1)*a*l);break}case`Enter`:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.#Oe(`list-item-click`,n),this.#tt(n,`keyboard`));break}case` `:{let n=this.tickled.tickledId;n&&(e.preventDefault(),this.selection.handleSpace(n));break}case`Escape`:this.#T&&this.#et(),this.selection.handleClear(`keyboard`);break;default:return}e.preventDefault()}}static{this.styles=[w,se,C,wr(`x`),wr(`y`),qn,Ht,r`
|
|
7591
7591
|
:host {
|
|
7592
7592
|
--grid-list-item-bg: var(--item-bg);
|
|
7593
7593
|
--grid-list-radius: var(--radius-m);
|
|
@@ -7978,7 +7978,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
7978
7978
|
.cell.dragging-origin {
|
|
7979
7979
|
opacity: 0.6;
|
|
7980
7980
|
}
|
|
7981
|
-
`]}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k(e){let n=`.cell[data-key="${CSS.escape(e)}"]`;return this.renderRoot.querySelector(n)??void 0}#A(e){let n=this.#x.indexOfKey(e);if(n<0||!this.#x.isSelectable(n))return;this.selection.selectedKeys.has(e)||this.selection.replace(e);let r=this.#x.keys().filter(e=>!Xx(e)&&this.selection.selectedKeys.has(e)),i=[];for(let e of r){let n=this.#x.indexOfKey(e);if(n<0)continue;let r=this.#x.resolveKeyToData(e),a=this.#x.resolveKeyToElement(e),o=a??(this.#x instanceof eS?this.#k(e):void 0),s=r??a;s!==void 0&&i.push({key:e,index:n,item:s,...o?{element:o}:{}})}let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}#j;#M;#N(e){for(let n of e.composedPath())if(n instanceof Element)return n.classList.contains(`caption`)||n.matches?.(`input,button,a,select,textarea,[contenteditable]`)?!1:n.classList.contains(`content`)||n.classList.contains(`thumb`)?!0:(n.classList.contains(`cell`),!1);return!1}#P(e){if(this.#x.count===0)return[];let n=this.orientation===`row`,r=e.x+this._scrollLeft,i=r+e.width,a=n?0:e.y+this._scrollTop,o=n?0:a+e.height,s=this.#be().hitTest(r,i,a,o),c=[];for(let e of s){let n=this.#x.keyAt(e);!n||Xx(n)||this.#x.isSelectable(e)&&c.push(n)}return c}#F;#I;#L(){let e=this.itemAdapter===void 0?`element`:`data`;if(this.#F===e&&this.search!==void 0)return;let n=this.search;n&&(n.hostDisconnected(),this.removeController(n)),this.search=e===`data`?new Vt(this,{adapter:kt(this,{rawCount:()=>this.#x?.rawCount??0,rawKeyAt:e=>this.#x?.rawKeyAt(e)??``,rawSearchTextAt:e=>this.#x?.rawSearchTextAt(e)??``,onFilterChange:e=>{this.#I=e,this.#x?.setFilters({searchKeys:e}),this.requestUpdate(),this.updateComplete.then(()=>this.#J())},onActivate:e=>this.#tt(e),getHighlightRoot:()=>this.renderRoot})}):new Vt(this,{adapter:Nt(this,{itemSelector:`:scope > *`,getLabel:e=>e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`grid-list-search`})}),this.#F=e}#R;#z;get registry(){return this.#R}#B(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#V(){!this.#R||!this.search||(this.search.setModes(this.#B()),this.#z?.(),this.#z=zt(this.#R,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.hasAttribute(`role`)||this.setAttribute(`role`,`listbox`),this.#te();for(let[e,n]of[[`caption-style`,this.captionStyle],[`caption-align`,this.captionAlign],[`caption-position`,this.captionPosition],[`caption-backdrop`,this.captionBackdrop]])this.hasAttribute(e)||this.setAttribute(e,n);this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`pointermove`,this.#S.onPointerMove,{passive:!0}),this.addEventListener(`pointerleave`,this.#S.onPointerLeave),this.#e.observeScrollTarget(this),this.#o??=new MutationObserver(e=>this.#U(e)),this.#o.observe(this,{childList:!0}),this.#s??=new MutationObserver(e=>this.#H(e)),this.#s.observe(this,{subtree:!0,attributeFilter:[`hidden`,`data-key`,`data-value`]}),this.#R??=Yt(),this.#L(),this.#V()}disconnectedCallback(){super.disconnectedCallback(),this.#ze(),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`pointermove`,this.#S.onPointerMove),this.removeEventListener(`pointerleave`,this.#S.onPointerLeave),this.#S.end(),this.#a?.disconnect(),this.#a=void 0,this.#o?.disconnect(),this.#s?.disconnect(),this.#qe(),this.#Je(),this.#z?.(),this.#z=void 0,this.#R=void 0,this.#v&&=(clearTimeout(this.#v),0),(this.#T||this.#O.isDragging)&&this.#et()}#H(e){e.some(e=>e.target.parentNode===this)&&this.#U([])}#U(e){let n=this.#u.length;this.#se();let r=[];for(let n of e??[])for(let e of n.removedNodes){if(e.nodeType!==Node.ELEMENT_NODE)continue;let n=D(e);n!==void 0&&r.push(n)}if(r.length>0){let e=new Set(this.#x.keys()),n=r.filter(n=>!e.has(n));n.length>0&&this.#fe(n);let i=this.tickled.tickledId;i&&n.includes(i)&&this.#pe(i)}this.#ue(),this._syncItemStates(!0),this.#W(n,e),this.requestUpdate(),this.updateComplete.then(()=>this.#J())}#W(e,n){if(!this.hasUpdated||!n||n.length===0)return;let r=new Set(this.#u),i=[],a=0;for(let e of n){for(let n of e.addedNodes)n.nodeType===Node.ELEMENT_NODE&&r.has(n)&&i.push(n);for(let n of e.removedNodes)n.nodeType===Node.ELEMENT_NODE&&a++}if((i.length!==0||a!==0)&&(e!==0||a!==0)&&!(i.length>0&&i.length===this.#u.length)){for(let e of i)this.#_.add(e);this.#G()}}#G(){this.toggleAttribute(`reflowing`,!0),this.#v&&clearTimeout(this.#v),this.#v=window.setTimeout(()=>{this.#v=0,this.#_.clear(),this.toggleAttribute(`reflowing`,!1),this.requestUpdate()},320)}#K;#q;#J(){let e=this.renderedKeys(),n=this.visibleKeys();sS(this.#K,e)&&sS(this.#q,n)||(this.#K=e,this.#q=n,this._dispatch(`grid-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}firstUpdated(){this.#x||this.#Y();let e=this.#i.value;e&&(this.#a=new ResizeObserver(e=>{for(let n of e){let e=n.contentRect.width,r=n.contentRect.height;if(e<=0||r<=0)return;if(e===this._viewportWidth&&r===this._viewportHeight)continue;let i=this.orientation===`row`,a=i?this._scrollLeft:this._scrollTop,o=i?this._viewportWidth:this._viewportHeight;o>0&&a>1&&this.#ae(a,o,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this._viewportWidth=e,this._viewportHeight=r}}),this.#a.observe(e),this.#oe(!1),this.#se(),this.#ue(),this.requestUpdate(),this.#O.refreshDraggable())}#Y(){this.itemAdapter===void 0?(this.#b=new $x(this),this.#x=this.#b):(this.#x=new eS(this.items,this.itemAdapter),this.#b=void 0),this.#x.setGrouping(this.#Q()),this.#X(),this.#I&&this.#x.setFilters({searchKeys:this.#I})}#X(){if(this.#x instanceof $x){let e=this.filterPredicate,n=this.#x;n.setFilters({predicate:e?r=>e(n.rawElementAt(r)):void 0}),this.#u=n.effectiveElements()}else if(this.#x instanceof eS){let e=this.itemFilterPredicate,n=this.#x;n.setFilters({predicate:e?r=>e(n.rawItemAt(r),r):void 0})}}willUpdate(e){e.has(`searchModes`)&&this.#V(),(e.has(`filterPredicate`)||e.has(`itemFilterPredicate`))&&(this.#X(),this.updateComplete.then(()=>this.#J()));let n=e.has(`items`)||e.has(`itemAdapter`);if(n){this.#y=void 0;let e=this.#x?.keys()??[],n=this.itemAdapter!==void 0!=this.#x instanceof eS;this.#Y();let r=this.#x.keys(),i=new Set(r),a=e.filter(e=>!i.has(e));a.length>0&&this.#fe(a);let o=this.tickled.tickledId;o&&!i.has(o)&&this.#pe(o),this._syncItemStates(),this.updateComplete.then(()=>this.#J()),n&&(this.#L(),this.#V()),this.search?.refresh()}let r=e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`_collapsedGroups`);if(r&&this.hasUpdated?(e.has(`groupBy`)&&(this._collapsedGroups.size>0&&(this._collapsedGroups=new Set),this.#Z=!0),this.#$(),this.#ee(),this.#G(),this.updateComplete.then(()=>this.#J())):r&&this.#$(),(e.has(`itemSize`)||e.has(`gap`))&&(this.itemSize=Math.max(16,Math.round(this.itemSize)),this.gap=Math.max(0,Math.round(this.gap))),e.has(`captionHeight`)&&(this.captionHeight=Math.max(0,Math.round(this.captionHeight))),e.has(`itemWrap`)&&(this.#d=this.itemWrap),(e.has(`itemSize`)||e.has(`gap`)||e.has(`captionStyle`)||e.has(`captionHeight`)||e.has(`orientation`))&&this.hasUpdated&&this.#x.count>0){let n=e.get(`orientation`)??this.orientation,r=n===`row`,i=r?this._scrollLeft:this._scrollTop,a=r?this._viewportWidth:this._viewportHeight;if(a>0&&i>1){let r=e.get(`itemSize`)??this.itemSize,o=e.get(`gap`)??this.gap,s=e.get(`captionStyle`)??this.captionStyle,c=e.get(`captionHeight`)??this.captionHeight;this.#ae(i,a,r,o,s,c,n)}}(n||r||e.has(`filterPredicate`)||e.has(`itemFilterPredicate`))&&this.#ue()}#Z;#Q(){let e=this.groupBy;if(e==null||e===``)return;let n=this._collapsedGroups,r=this.#x;if(r instanceof eS)return{groupKeyOf:n=>_n(e,r.rawItemAt(n),n,aS),itemAt:e=>r.rawItemAt(e),labelOf:this.groupLabel,collapsed:n};let i=r;return{groupKeyOf:n=>_n(e,i.rawElementAt(n),n,oS),itemAt:e=>i.rawElementAt(e),labelOf:this.groupLabel,collapsed:n}}#$(){this.#x.setGrouping(this.#Q()),this.#x instanceof $x&&(this.#u=this.#x.effectiveElements())}#ee(){let e=this.tickled.tickledId;e!==void 0&&this.#x.indexOfKey(e)<0&&this.tickled.focus(void 0)}get groups(){return this.groupBy===null?[]:this.#x.groups()}setGroupCollapsed(e,n){if(this._collapsedGroups.has(e)===n)return;let r=new Set(this._collapsedGroups);n?r.add(e):r.delete(e),this._collapsedGroups=r,this.#t=lr(this.#t,e),this.#e.notify(),this._dispatch(`list-group-toggle`,{groupKey:e,collapsed:n})}toggleGroup(e){this.setGroupCollapsed(e,!this._collapsedGroups.has(e))}collapseAllGroups(){for(let e of this.groups)this.setGroupCollapsed(e.key,!0)}expandAllGroups(){for(let e of[...this._collapsedGroups])this.setGroupCollapsed(e,!1)}#te(){this.setAttribute(`aria-multiselectable`,this.selection.canSelectMultiple()?`true`:`false`)}#ne(){let e=this.captionStyle===`separate`||this.captionStyle===`under`;return this.itemSize+(e?this.captionHeight:0)}#re(e){return e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??``}updated(e){super.updated(e),this.search?.isOpen&&this.search.repaintHighlights();let n=this.#o?.takeRecords(),r=this.#s?.takeRecords();if(n!==void 0&&n.length>0?this.#U(n):r!==void 0&&r.length>0&&this.#H(r),this.#x instanceof $x&&this.#Ne(),(e.has(`selectionMode`)||e.has(`interactionMode`))&&(this.selection.clearAnchor(),this.#te()),e.has(`scrollHoverTickle`)&&this.scrollHoverTickle&&this.#S.end(),e.has(`itemsDraggable`)&&this.#O.refreshDraggable(),e.has(`orientation`)){let e=this.#i.value;e&&(this.orientation===`row`?(e.scrollTop=0,this._scrollTop=0):(e.scrollLeft=0,this._scrollLeft=0))}let i=this.#i.value;i&&(Math.abs(i.scrollTop-this._scrollTop)>.5&&(i.scrollTop=this._scrollTop),Math.abs(i.scrollLeft-this._scrollLeft)>.5&&(i.scrollLeft=this._scrollLeft)),this.#ie(),this.#e.applyPendingScroll(e=>this.#he(e)),this.#Be(),this.#Z&&(this.#Z=!1,this._dispatch(`list-group-change`,{groupBy:this.groupBy}))}#ie(){if(!this.#y)return;let{index:e,lineFrac:n}=this.#y;this.#y=void 0;let r=this.#i.value;if(!r)return;let i=this.#be(),a=i.horizontal,o=a?this._viewportWidth:this._viewportHeight;if(o<=0)return;let s=i.offsetOfAnchor(e,n),c=Math.max(0,i.totalExtent-o),l=Math.min(c,Math.max(0,s-o/2));a?Math.abs(r.scrollLeft-l)>.5&&(r.scrollLeft=l,this._scrollLeft=l):Math.abs(r.scrollTop-l)>.5&&(r.scrollTop=l,this._scrollTop=l)}#ae(e,n,r,i,a,o,s){if((this.#x?.count??0)===0)return;let c=r+(a===`separate`||a===`under`?o:0),l=this.#ve({itemWidth:r,rowHeight:c,gap:i,orientation:s});this.#y=l.anchorAt(e+n/2)}refreshLayout(){this.#oe(!0)}remeasure(){this.#oe(!0)}#oe(e=!1){let n=this.#i.value;if(!n)return;let r=n.clientWidth,i=n.clientHeight;if(r<=0||i<=0)return;let a=this.orientation===`row`,o=r!==this._viewportWidth||i!==this._viewportHeight;if(o){let e=a?this._scrollLeft:this._scrollTop,n=a?r:i;this.#ae(e,n,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this._viewportWidth=r,this._viewportHeight=i}e&&!o&&(this.#ae(a?this._scrollLeft:this._scrollTop,a?r:i,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this.requestUpdate()),(o||e)&&this.updateComplete.then(()=>this.#J())}#se(){this.#x instanceof $x&&(this.#x.refresh(),this.#X())}get count(){return this.#x.count}get renderedCount(){return this.renderRoot.querySelectorAll(`.cell`).length}get selectedItems(){let e=new Set;for(let n of this.selection.selectedKeys){let r=this.#x.resolveKeyToElement(n);r&&e.add(r)}return e}get selectedKeys(){let e=new Set;for(let n of this.selection.selectedKeys)Xx(n)||e.add(n);return e}select(e){let n=D(e);n&&this.selection.replace(n)}selectMany(e){let n=[];for(let r of e){let e=D(r);e&&n.push(e)}this.selection.selectMany(n)}deselect(e){let n=D(e);n&&this.selection.deselect(n)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}selectKeys(e){this.selection.selectKeys(e,e=>e)}addSelectedKeys(e){this.selection.addKeys(e,e=>e)}removeSelectedKeys(e){this.selection.removeKeys(e,e=>e)}#ce(e){let n=this.itemAdapter;return n?this.items.findIndex((r,i)=>n.key(r,i)===e):-1}setItems(e){this.itemAdapter&&(this.items=e)}appendItems(e){this.itemAdapter&&e.length>0&&(this.items=[...this.items,...e])}updateItem(e,n){if(!this.itemAdapter)return;let r=this.#ce(e);if(r<0)return;let i=[...this.items];i[r]=n,this.items=i}removeItems(e){if(!this.itemAdapter)return;let n=this.itemAdapter,r=new Set(e);this.items=this.items.filter((e,i)=>!r.has(n.key(e,i)))}clearItems(){if(!this.itemAdapter)return;this.selection.reset();let e=this.tickled.tickledId;e!==void 0&&this.#pe(e),this.items=[],this.#De(new Set,new Set)}focusKey(e){this.#x.indexOfKey(e)<0||(this.#n=void 0,this.tickled.focus(e),this.#Se(e))}get tickledKey(){return this.tickled.tickledId}getViewState(e){let n=e?.includePending??!0,r=this.tickled.tickledId,i=this.tickled.inputMode===`keyboard`&&r!==void 0&&!Xx(r)?r:void 0;return this.#e.shape({selected:fr(this.selectedKeys,n?[...this.selection.pendingKeys].filter(e=>!Xx(e)):[]),expanded:nS(this._collapsedGroups,this.#t,n),focus:i??(n?this.#n:void 0),scroll:(n?this.#e.pendingScroll:void 0)??this.#me()},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{e.expanded&&(this.#t=cr(ur(e.expanded)),this._collapsedGroups.size>0&&(this._collapsedGroups=new Set)),e.focus!==void 0&&(this.#n=e.focus),e.scroll&&(this.#e.pendingScroll=e.scroll),this.#de(),e.selected&&this.selection.restoreKeys(e.selected,this.#le),this.#ue()}),this.requestUpdate())}clearPendingViewState(){this.selection.clearPending(),this.#t=ir,this.#n=void 0,this.#e.pendingScroll=void 0}#le;#ue(){this.#e.restoring(()=>{this.#de(),this.selection.resolvePending(this.#le);let e=this.#n;e!==void 0&&this.#x.indexOfKey(e)>=0&&(this.tickled.setInputMode(`keyboard`),this.tickled.focus(e),this.#n=void 0)})}#de(){if(this._collapsedGroups.size===0&&this.#t.size===0)return;let e=this.groupBy===null?new Set:new Set(this.#x.groups().map(e=>e.key)),n=tS(this._collapsedGroups,this.#t,n=>e.has(n));n.changed&&(this.#t=n.pending,n.collapsed!==this._collapsedGroups&&(this._collapsedGroups=n.collapsed,this.#$(),this.#ee(),this.#e.notify(`data`)))}#fe(e){let n=e.filter(Xx);this.selection.demote(e.filter(e=>!Xx(e)))&&(this._syncItemStates(),this.#e.notify(`data`)),n.length>0&&this.selection.removeKeys(n,e=>e)}#pe(e){this.tickled.inputMode===`keyboard`&&!Xx(e)&&(this.#n??=e),this.tickled.focus(void 0)}#me(){let e=this.#i.value;if(!e)return;let n=this.orientation===`row`,r=n?e.scrollLeft:e.scrollTop,i=n?e.scrollTop:e.scrollLeft,a=this.#x.keys();return rS(this.#be(),r,i,e=>{let n=a[e];return n===void 0||Xx(n)?void 0:n})}#he(e){let n=this.#i.value,r=this.orientation===`row`,i=r?this._viewportWidth:this._viewportHeight;if(!n||i<=0)return!1;let a=iS(e,this.#be(),e=>this.#x.indexOfKey(e),i);return a?(r?(Math.abs(n.scrollLeft-a.offset)>.5&&(this.#r=a.offset),n.scrollLeft=a.offset,this._scrollLeft=a.offset):(Math.abs(n.scrollTop-a.offset)>.5&&(this.#r=a.offset),n.scrollTop=a.offset,this._scrollTop=a.offset),a.reached):!1}getItem(e){return this.#x.resolveKeyToElement(e)}getItemByIndex(e){return this.#u[e]}getData(e){return this.#x.resolveKeyToData(e)}getKey(e){return D(e)}renderedKeys(){return this.#ge(this.#xe())}visibleKeys(){return this.#ge(this.#xe(!0))}#ge(e){let n=this.#x.keys(),r=[];for(let[i,a]of e.ranges)for(let e=i;e<a;e++)Xx(n[e])||r.push(n[e]);return r}#_e(e={}){return{count:this.#x.count,groups:this.groupBy===null?void 0:this.#x.groups(),itemWidth:this.itemSize,rowHeight:this.#ne(),gap:this.gap,viewportWidth:this._viewportWidth,viewportHeight:this._viewportHeight,orientation:this.orientation,headerHeight:this.groupHeaderHeight,headerWidth:this.groupHeaderWidth,...e}}#ve(e={}){return qx(this.#_e(e))}#ye;#be(){let e=this.#_e(),n=this.#ye;if(n){let r=n.params,i=r.groups===e.groups;for(let n of Object.keys(e)){if(!i)break;i=r[n]===e[n]}if(i)return n.layout}let r=qx(e);return this.#ye={params:e,layout:r},r}#xe(e=!1){return this.#be().window(this.orientation===`row`?this._scrollLeft:this._scrollTop,e?0:2)}#Se(e){let n=this.#x.indexOfKey(e),r=this.#i.value;if(n<0||!r)return;let[i,a]=this.#be().extentOf(n);if(this.orientation===`row`){let e=r.scrollLeft,n=e;i<e?n=i:a>e+this._viewportWidth&&(n=a-this._viewportWidth),n!==e&&(r.scrollLeft=n,this._scrollLeft=n);return}let o=r.scrollTop,s=o;i<o?s=i:a>o+this._viewportHeight&&(s=a-this._viewportHeight),s!==o&&(r.scrollTop=s,this._scrollTop=s)}#Ce;#we;#Te;#Ee;get partialKeys(){return this.#Ee}set partialKeys(e){let n=new Set(e);yr(n,this.#Ee)||(this.#Ee=n,this._syncItemStates(),this.requestUpdate())}_syncItemStates(e=!1){let n=this.selection.selectedKeys,r=this.tickled.tickledId,i=e=>{if(Xx(e))return;let n=this.#x.indexOfKey(e);return n<0?void 0:this.#u[n]},a=r===void 0?void 0:i(r),o=new Set;for(let e of n){let n=i(e);n&&o.add(n)}if(e)for(let e of this.#u)this.#Ce.add(e),this.#we.add(e);this.#Ce=cS(`data-tickled`,this.#Ce,a?new Set([a]):new Set),this.#we=cS(`data-selected`,this.#we,o);let s=new Set;for(let e of this.#Ee){let r=n.has(e)?void 0:i(e);r&&s.add(r)}this.#Te=cS(`data-partial`,this.#Te,s),this.setAttribute(`data-input-mode`,this.tickled.inputMode)}#De(e,n){this.#e.notify();let r=new Set,i=new Set;for(let n of e){let e=this.#x.resolveKeyToElement(n);e&&r.add(e)}for(let e of n){let n=this.#x.resolveKeyToElement(e);n&&i.add(n)}this._dispatch(`list-select`,{selected:r,previous:i,selectedKeys:this.selectedKeys,previousKeys:new Set([...n].filter(e=>!Xx(e)))})}#Oe(e,n){let r=this.#x.indexOfKey(n),i=this.#x.resolveKeyToElement(n),a=i??this.#x.resolveKeyToData(n);this._dispatch(e,{item:a,key:n,index:r,element:i})}_dispatch(e,n,r=!1){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:r}))}#ke;#Ae(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}render(){let e=this.#xe();this.#ke=this.selection.selectedKeys;let n=e.horizontal?`width:${e.totalWidth}px;height:100%`:`height:${e.totalHeight}px`,r=e.horizontal?`scroll-fade-x`:`scroll-fade-y`;return i`
|
|
7981
|
+
`]}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;#D;#O;#k(e){let n=`.cell[data-key="${CSS.escape(e)}"]`;return this.renderRoot.querySelector(n)??void 0}#A(e){let n=this.#x.indexOfKey(e);if(n<0||!this.#x.isSelectable(n))return;this.selection.selectedKeys.has(e)||this.selection.replace(e);let r=this.#x.keys().filter(e=>!Zx(e)&&this.selection.selectedKeys.has(e)),i=[];for(let e of r){let n=this.#x.indexOfKey(e);if(n<0)continue;let r=this.#x.resolveKeyToData(e),a=this.#x.resolveKeyToElement(e),o=a??(this.#x instanceof tS?this.#k(e):void 0),s=r??a;s!==void 0&&i.push({key:e,index:n,item:s,...o?{element:o}:{}})}let a=i.find(n=>n.key===e);if(a)return{origin:a,selected:i}}#j;#M;#N(e){for(let n of e.composedPath())if(n instanceof Element)return n.classList.contains(`caption`)||n.matches?.(`input,button,a,select,textarea,[contenteditable]`)?!1:n.classList.contains(`content`)||n.classList.contains(`thumb`)?!0:(n.classList.contains(`cell`),!1);return!1}#P(e){if(this.#x.count===0)return[];let n=this.orientation===`row`,r=e.x+this._scrollLeft,i=r+e.width,a=n?0:e.y+this._scrollTop,o=n?0:a+e.height,s=this.#be().hitTest(r,i,a,o),c=[];for(let e of s){let n=this.#x.keyAt(e);!n||Zx(n)||this.#x.isSelectable(e)&&c.push(n)}return c}#F;#I;#L(){let e=this.itemAdapter===void 0?`element`:`data`;if(this.#F===e&&this.search!==void 0)return;let n=this.search;n&&(n.hostDisconnected(),this.removeController(n)),this.search=e===`data`?new Vt(this,{adapter:kt(this,{rawCount:()=>this.#x?.rawCount??0,rawKeyAt:e=>this.#x?.rawKeyAt(e)??``,rawSearchTextAt:e=>this.#x?.rawSearchTextAt(e)??``,onFilterChange:e=>{this.#I=e,this.#x?.setFilters({searchKeys:e}),this.requestUpdate(),this.updateComplete.then(()=>this.#J())},onActivate:e=>this.#tt(e),getHighlightRoot:()=>this.renderRoot})}):new Vt(this,{adapter:Nt(this,{itemSelector:`:scope > *`,getLabel:e=>e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??e.getAttribute(`data-search-label`)??e.textContent?.trim()??``,highlightKey:`grid-list-search`})}),this.#F=e}#R;#z;get registry(){return this.#R}#B(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#V(){!this.#R||!this.search||(this.search.setModes(this.#B()),this.#z?.(),this.#z=zt(this.#R,this.search))}connectedCallback(){super.connectedCallback(),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.hasAttribute(`role`)||this.setAttribute(`role`,`listbox`),this.#te();for(let[e,n]of[[`caption-style`,this.captionStyle],[`caption-align`,this.captionAlign],[`caption-position`,this.captionPosition],[`caption-backdrop`,this.captionBackdrop]])this.hasAttribute(e)||this.setAttribute(e,n);this.addEventListener(`keydown`,this._onKeyDown),this.addEventListener(`pointermove`,this.#S.onPointerMove,{passive:!0}),this.addEventListener(`pointerleave`,this.#S.onPointerLeave),this.#e.observeScrollTarget(this),this.#o??=new MutationObserver(e=>this.#U(e)),this.#o.observe(this,{childList:!0}),this.#s??=new MutationObserver(e=>this.#H(e)),this.#s.observe(this,{subtree:!0,attributeFilter:[`hidden`,`data-key`,`data-value`]}),this.#R??=Yt(),this.#L(),this.#V()}disconnectedCallback(){super.disconnectedCallback(),this.#ze(),this.removeEventListener(`keydown`,this._onKeyDown),this.removeEventListener(`pointermove`,this.#S.onPointerMove),this.removeEventListener(`pointerleave`,this.#S.onPointerLeave),this.#S.end(),this.#a?.disconnect(),this.#a=void 0,this.#o?.disconnect(),this.#s?.disconnect(),this.#qe(),this.#Je(),this.#z?.(),this.#z=void 0,this.#R=void 0,this.#v&&=(clearTimeout(this.#v),0),(this.#T||this.#O.isDragging)&&this.#et()}#H(e){e.some(e=>e.target.parentNode===this)&&this.#U([])}#U(e){let n=this.#u.length;this.#se();let r=[];for(let n of e??[])for(let e of n.removedNodes){if(e.nodeType!==Node.ELEMENT_NODE)continue;let n=D(e);n!==void 0&&r.push(n)}if(r.length>0){let e=new Set(this.#x.keys()),n=r.filter(n=>!e.has(n));n.length>0&&this.#fe(n);let i=this.tickled.tickledId;i&&n.includes(i)&&this.#pe(i)}this.#ue(),this._syncItemStates(!0),this.#W(n,e),this.requestUpdate(),this.updateComplete.then(()=>this.#J())}#W(e,n){if(!this.hasUpdated||!n||n.length===0)return;let r=new Set(this.#u),i=[],a=0;for(let e of n){for(let n of e.addedNodes)n.nodeType===Node.ELEMENT_NODE&&r.has(n)&&i.push(n);for(let n of e.removedNodes)n.nodeType===Node.ELEMENT_NODE&&a++}if((i.length!==0||a!==0)&&(e!==0||a!==0)&&!(i.length>0&&i.length===this.#u.length)){for(let e of i)this.#_.add(e);this.#G()}}#G(){this.toggleAttribute(`reflowing`,!0),this.#v&&clearTimeout(this.#v),this.#v=window.setTimeout(()=>{this.#v=0,this.#_.clear(),this.toggleAttribute(`reflowing`,!1),this.requestUpdate()},320)}#K;#q;#J(){let e=this.renderedKeys(),n=this.visibleKeys();cS(this.#K,e)&&cS(this.#q,n)||(this.#K=e,this.#q=n,this._dispatch(`grid-list-viewport-change`,{renderedKeys:e,visibleKeys:n}))}firstUpdated(){this.#x||this.#Y();let e=this.#i.value;e&&(this.#a=new ResizeObserver(e=>{for(let n of e){let e=n.contentRect.width,r=n.contentRect.height;if(e<=0||r<=0)return;if(e===this._viewportWidth&&r===this._viewportHeight)continue;let i=this.orientation===`row`,a=i?this._scrollLeft:this._scrollTop,o=i?this._viewportWidth:this._viewportHeight;o>0&&a>1&&this.#ae(a,o,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this._viewportWidth=e,this._viewportHeight=r}}),this.#a.observe(e),this.#oe(!1),this.#se(),this.#ue(),this.requestUpdate(),this.#O.refreshDraggable())}#Y(){this.itemAdapter===void 0?(this.#b=new eS(this),this.#x=this.#b):(this.#x=new tS(this.items,this.itemAdapter),this.#b=void 0),this.#x.setGrouping(this.#Q()),this.#X(),this.#I&&this.#x.setFilters({searchKeys:this.#I})}#X(){if(this.#x instanceof eS){let e=this.filterPredicate,n=this.#x;n.setFilters({predicate:e?r=>e(n.rawElementAt(r)):void 0}),this.#u=n.effectiveElements()}else if(this.#x instanceof tS){let e=this.itemFilterPredicate,n=this.#x;n.setFilters({predicate:e?r=>e(n.rawItemAt(r),r):void 0})}}willUpdate(e){e.has(`searchModes`)&&this.#V(),(e.has(`filterPredicate`)||e.has(`itemFilterPredicate`))&&(this.#X(),this.updateComplete.then(()=>this.#J()));let n=e.has(`items`)||e.has(`itemAdapter`);if(n){this.#y=void 0;let e=this.#x?.keys()??[],n=this.itemAdapter!==void 0!=this.#x instanceof tS;this.#Y();let r=this.#x.keys(),i=new Set(r),a=e.filter(e=>!i.has(e));a.length>0&&this.#fe(a);let o=this.tickled.tickledId;o&&!i.has(o)&&this.#pe(o),this._syncItemStates(),this.updateComplete.then(()=>this.#J()),n&&(this.#L(),this.#V()),this.search?.refresh()}let r=e.has(`groupBy`)||e.has(`groupLabel`)||e.has(`_collapsedGroups`);if(r&&this.hasUpdated?(e.has(`groupBy`)&&(this._collapsedGroups.size>0&&(this._collapsedGroups=new Set),this.#Z=!0),this.#$(),this.#ee(),this.#G(),this.updateComplete.then(()=>this.#J())):r&&this.#$(),(e.has(`itemSize`)||e.has(`gap`))&&(this.itemSize=Math.max(16,Math.round(this.itemSize)),this.gap=Math.max(0,Math.round(this.gap))),e.has(`captionHeight`)&&(this.captionHeight=Math.max(0,Math.round(this.captionHeight))),e.has(`itemWrap`)&&(this.#d=this.itemWrap),(e.has(`itemSize`)||e.has(`gap`)||e.has(`captionStyle`)||e.has(`captionHeight`)||e.has(`orientation`))&&this.hasUpdated&&this.#x.count>0){let n=e.get(`orientation`)??this.orientation,r=n===`row`,i=r?this._scrollLeft:this._scrollTop,a=r?this._viewportWidth:this._viewportHeight;if(a>0&&i>1){let r=e.get(`itemSize`)??this.itemSize,o=e.get(`gap`)??this.gap,s=e.get(`captionStyle`)??this.captionStyle,c=e.get(`captionHeight`)??this.captionHeight;this.#ae(i,a,r,o,s,c,n)}}(n||r||e.has(`filterPredicate`)||e.has(`itemFilterPredicate`))&&this.#ue()}#Z;#Q(){let e=this.groupBy;if(e==null||e===``)return;let n=this._collapsedGroups,r=this.#x;if(r instanceof tS)return{groupKeyOf:n=>_n(e,r.rawItemAt(n),n,oS),itemAt:e=>r.rawItemAt(e),labelOf:this.groupLabel,collapsed:n};let i=r;return{groupKeyOf:n=>_n(e,i.rawElementAt(n),n,sS),itemAt:e=>i.rawElementAt(e),labelOf:this.groupLabel,collapsed:n}}#$(){this.#x.setGrouping(this.#Q()),this.#x instanceof eS&&(this.#u=this.#x.effectiveElements())}#ee(){let e=this.tickled.tickledId;e!==void 0&&this.#x.indexOfKey(e)<0&&this.tickled.focus(void 0)}get groups(){return this.groupBy===null?[]:this.#x.groups()}setGroupCollapsed(e,n){if(this._collapsedGroups.has(e)===n)return;let r=new Set(this._collapsedGroups);n?r.add(e):r.delete(e),this._collapsedGroups=r,this.#t=lr(this.#t,e),this.#e.notify(),this._dispatch(`list-group-toggle`,{groupKey:e,collapsed:n})}toggleGroup(e){this.setGroupCollapsed(e,!this._collapsedGroups.has(e))}collapseAllGroups(){for(let e of this.groups)this.setGroupCollapsed(e.key,!0)}expandAllGroups(){for(let e of[...this._collapsedGroups])this.setGroupCollapsed(e,!1)}#te(){this.setAttribute(`aria-multiselectable`,this.selection.canSelectMultiple()?`true`:`false`)}#ne(){let e=this.captionStyle===`separate`||this.captionStyle===`under`;return this.itemSize+(e?this.captionHeight:0)}#re(e){return e.getAttribute(`data-label`)??e.querySelector(`[data-grid-list-caption]`)?.textContent?.trim()??``}updated(e){super.updated(e),this.search?.isOpen&&this.search.repaintHighlights();let n=this.#o?.takeRecords(),r=this.#s?.takeRecords();if(n!==void 0&&n.length>0?this.#U(n):r!==void 0&&r.length>0&&this.#H(r),this.#x instanceof eS&&this.#Ne(),(e.has(`selectionMode`)||e.has(`interactionMode`))&&(this.selection.clearAnchor(),this.#te()),e.has(`scrollHoverTickle`)&&this.scrollHoverTickle&&this.#S.end(),e.has(`itemsDraggable`)&&this.#O.refreshDraggable(),e.has(`orientation`)){let e=this.#i.value;e&&(this.orientation===`row`?(e.scrollTop=0,this._scrollTop=0):(e.scrollLeft=0,this._scrollLeft=0))}let i=this.#i.value;i&&(Math.abs(i.scrollTop-this._scrollTop)>.5&&(i.scrollTop=this._scrollTop),Math.abs(i.scrollLeft-this._scrollLeft)>.5&&(i.scrollLeft=this._scrollLeft)),this.#ie(),this.#e.applyPendingScroll(e=>this.#he(e)),this.#Be(),this.#Z&&(this.#Z=!1,this._dispatch(`list-group-change`,{groupBy:this.groupBy}))}#ie(){if(!this.#y)return;let{index:e,lineFrac:n}=this.#y;this.#y=void 0;let r=this.#i.value;if(!r)return;let i=this.#be(),a=i.horizontal,o=a?this._viewportWidth:this._viewportHeight;if(o<=0)return;let s=i.offsetOfAnchor(e,n),c=Math.max(0,i.totalExtent-o),l=Math.min(c,Math.max(0,s-o/2));a?Math.abs(r.scrollLeft-l)>.5&&(r.scrollLeft=l,this._scrollLeft=l):Math.abs(r.scrollTop-l)>.5&&(r.scrollTop=l,this._scrollTop=l)}#ae(e,n,r,i,a,o,s){if((this.#x?.count??0)===0)return;let c=r+(a===`separate`||a===`under`?o:0),l=this.#ve({itemWidth:r,rowHeight:c,gap:i,orientation:s});this.#y=l.anchorAt(e+n/2)}refreshLayout(){this.#oe(!0)}remeasure(){this.#oe(!0)}#oe(e=!1){let n=this.#i.value;if(!n)return;let r=n.clientWidth,i=n.clientHeight;if(r<=0||i<=0)return;let a=this.orientation===`row`,o=r!==this._viewportWidth||i!==this._viewportHeight;if(o){let e=a?this._scrollLeft:this._scrollTop,n=a?r:i;this.#ae(e,n,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this._viewportWidth=r,this._viewportHeight=i}e&&!o&&(this.#ae(a?this._scrollLeft:this._scrollTop,a?r:i,this.itemSize,this.gap,this.captionStyle,this.captionHeight,this.orientation),this.requestUpdate()),(o||e)&&this.updateComplete.then(()=>this.#J())}#se(){this.#x instanceof eS&&(this.#x.refresh(),this.#X())}get count(){return this.#x.count}get renderedCount(){return this.renderRoot.querySelectorAll(`.cell`).length}get selectedItems(){let e=new Set;for(let n of this.selection.selectedKeys){let r=this.#x.resolveKeyToElement(n);r&&e.add(r)}return e}get selectedKeys(){let e=new Set;for(let n of this.selection.selectedKeys)Zx(n)||e.add(n);return e}select(e){let n=D(e);n&&this.selection.replace(n)}selectMany(e){let n=[];for(let r of e){let e=D(r);e&&n.push(e)}this.selection.selectMany(n)}deselect(e){let n=D(e);n&&this.selection.deselect(n)}clearSelection(){this.selection.clear()}selectAll(){this.selection.canSelectAll()&&this.selection.selectAll()}selectKeys(e){this.selection.selectKeys(e,e=>e)}addSelectedKeys(e){this.selection.addKeys(e,e=>e)}removeSelectedKeys(e){this.selection.removeKeys(e,e=>e)}#ce(e){let n=this.itemAdapter;return n?this.items.findIndex((r,i)=>n.key(r,i)===e):-1}setItems(e){this.itemAdapter&&(this.items=e)}appendItems(e){this.itemAdapter&&e.length>0&&(this.items=[...this.items,...e])}updateItem(e,n){if(!this.itemAdapter)return;let r=this.#ce(e);if(r<0)return;let i=[...this.items];i[r]=n,this.items=i}removeItems(e){if(!this.itemAdapter)return;let n=this.itemAdapter,r=new Set(e);this.items=this.items.filter((e,i)=>!r.has(n.key(e,i)))}clearItems(){if(!this.itemAdapter)return;this.selection.reset();let e=this.tickled.tickledId;e!==void 0&&this.#pe(e),this.items=[],this.#De(new Set,new Set)}focusKey(e){this.#x.indexOfKey(e)<0||(this.#n=void 0,this.tickled.focus(e),this.#Se(e))}get tickledKey(){return this.tickled.tickledId}getViewState(e){let n=e?.includePending??!0,r=this.tickled.tickledId,i=this.tickled.inputMode===`keyboard`&&r!==void 0&&!Zx(r)?r:void 0;return this.#e.shape({selected:fr(this.selectedKeys,n?[...this.selection.pendingKeys].filter(e=>!Zx(e)):[]),expanded:rS(this._collapsedGroups,this.#t,n),focus:i??(n?this.#n:void 0),scroll:(n?this.#e.pendingScroll:void 0)??this.#me()},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{e.expanded&&(this.#t=cr(ur(e.expanded)),this._collapsedGroups.size>0&&(this._collapsedGroups=new Set)),e.focus!==void 0&&(this.#n=e.focus),e.scroll&&(this.#e.pendingScroll=e.scroll),this.#de(),e.selected&&this.selection.restoreKeys(e.selected,this.#le),this.#ue()}),this.requestUpdate())}clearPendingViewState(){this.selection.clearPending(),this.#t=ir,this.#n=void 0,this.#e.pendingScroll=void 0}#le;#ue(){this.#e.restoring(()=>{this.#de(),this.selection.resolvePending(this.#le);let e=this.#n;e!==void 0&&this.#x.indexOfKey(e)>=0&&(this.tickled.setInputMode(`keyboard`),this.tickled.focus(e),this.#n=void 0)})}#de(){if(this._collapsedGroups.size===0&&this.#t.size===0)return;let e=this.groupBy===null?new Set:new Set(this.#x.groups().map(e=>e.key)),n=nS(this._collapsedGroups,this.#t,n=>e.has(n));n.changed&&(this.#t=n.pending,n.collapsed!==this._collapsedGroups&&(this._collapsedGroups=n.collapsed,this.#$(),this.#ee(),this.#e.notify(`data`)))}#fe(e){let n=e.filter(Zx);this.selection.demote(e.filter(e=>!Zx(e)))&&(this._syncItemStates(),this.#e.notify(`data`)),n.length>0&&this.selection.removeKeys(n,e=>e)}#pe(e){this.tickled.inputMode===`keyboard`&&!Zx(e)&&(this.#n??=e),this.tickled.focus(void 0)}#me(){let e=this.#i.value;if(!e)return;let n=this.orientation===`row`,r=n?e.scrollLeft:e.scrollTop,i=n?e.scrollTop:e.scrollLeft,a=this.#x.keys();return iS(this.#be(),r,i,e=>{let n=a[e];return n===void 0||Zx(n)?void 0:n})}#he(e){let n=this.#i.value,r=this.orientation===`row`,i=r?this._viewportWidth:this._viewportHeight;if(!n||i<=0)return!1;let a=aS(e,this.#be(),e=>this.#x.indexOfKey(e),i);return a?(r?(Math.abs(n.scrollLeft-a.offset)>.5&&(this.#r=a.offset),n.scrollLeft=a.offset,this._scrollLeft=a.offset):(Math.abs(n.scrollTop-a.offset)>.5&&(this.#r=a.offset),n.scrollTop=a.offset,this._scrollTop=a.offset),a.reached):!1}getItem(e){return this.#x.resolveKeyToElement(e)}getItemByIndex(e){return this.#u[e]}getData(e){return this.#x.resolveKeyToData(e)}getKey(e){return D(e)}renderedKeys(){return this.#ge(this.#xe())}visibleKeys(){return this.#ge(this.#xe(!0))}#ge(e){let n=this.#x.keys(),r=[];for(let[i,a]of e.ranges)for(let e=i;e<a;e++)Zx(n[e])||r.push(n[e]);return r}#_e(e={}){return{count:this.#x.count,groups:this.groupBy===null?void 0:this.#x.groups(),itemWidth:this.itemSize,rowHeight:this.#ne(),gap:this.gap,viewportWidth:this._viewportWidth,viewportHeight:this._viewportHeight,orientation:this.orientation,headerHeight:this.groupHeaderHeight,headerWidth:this.groupHeaderWidth,...e}}#ve(e={}){return Jx(this.#_e(e))}#ye;#be(){let e=this.#_e(),n=this.#ye;if(n){let r=n.params,i=r.groups===e.groups;for(let n of Object.keys(e)){if(!i)break;i=r[n]===e[n]}if(i)return n.layout}let r=Jx(e);return this.#ye={params:e,layout:r},r}#xe(e=!1){return this.#be().window(this.orientation===`row`?this._scrollLeft:this._scrollTop,e?0:2)}#Se(e){let n=this.#x.indexOfKey(e),r=this.#i.value;if(n<0||!r)return;let[i,a]=this.#be().extentOf(n);if(this.orientation===`row`){let e=r.scrollLeft,n=e;i<e?n=i:a>e+this._viewportWidth&&(n=a-this._viewportWidth),n!==e&&(r.scrollLeft=n,this._scrollLeft=n);return}let o=r.scrollTop,s=o;i<o?s=i:a>o+this._viewportHeight&&(s=a-this._viewportHeight),s!==o&&(r.scrollTop=s,this._scrollTop=s)}#Ce;#we;#Te;#Ee;get partialKeys(){return this.#Ee}set partialKeys(e){let n=new Set(e);yr(n,this.#Ee)||(this.#Ee=n,this._syncItemStates(),this.requestUpdate())}_syncItemStates(e=!1){let n=this.selection.selectedKeys,r=this.tickled.tickledId,i=e=>{if(Zx(e))return;let n=this.#x.indexOfKey(e);return n<0?void 0:this.#u[n]},a=r===void 0?void 0:i(r),o=new Set;for(let e of n){let n=i(e);n&&o.add(n)}if(e)for(let e of this.#u)this.#Ce.add(e),this.#we.add(e);this.#Ce=lS(`data-tickled`,this.#Ce,a?new Set([a]):new Set),this.#we=lS(`data-selected`,this.#we,o);let s=new Set;for(let e of this.#Ee){let r=n.has(e)?void 0:i(e);r&&s.add(r)}this.#Te=lS(`data-partial`,this.#Te,s),this.setAttribute(`data-input-mode`,this.tickled.inputMode)}#De(e,n){this.#e.notify();let r=new Set,i=new Set;for(let n of e){let e=this.#x.resolveKeyToElement(n);e&&r.add(e)}for(let e of n){let n=this.#x.resolveKeyToElement(e);n&&i.add(n)}this._dispatch(`list-select`,{selected:r,previous:i,selectedKeys:this.selectedKeys,previousKeys:new Set([...n].filter(e=>!Zx(e)))})}#Oe(e,n){let r=this.#x.indexOfKey(n),i=this.#x.resolveKeyToElement(n),a=i??this.#x.resolveKeyToData(n);this._dispatch(e,{item:a,key:n,index:r,element:i})}_dispatch(e,n,r=!1){return this.dispatchEvent(new CustomEvent(e,{detail:n,bubbles:!0,composed:!0,cancelable:r}))}#ke;#Ae(e){return`left:${e.x}px;top:${e.y}px;width:${Math.max(0,e.width)}px;height:${Math.max(0,e.height)}px`}render(){let e=this.#xe();this.#ke=this.selection.selectedKeys;let n=e.horizontal?`width:${e.totalWidth}px;height:100%`:`height:${e.totalHeight}px`,r=e.horizontal?`scroll-fade-x`:`scroll-fade-y`;return i`
|
|
7982
7982
|
<div
|
|
7983
7983
|
class="viewport ${r}"
|
|
7984
7984
|
part="viewport"
|
|
@@ -7989,13 +7989,13 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
7989
7989
|
@click=${this.#Qe}
|
|
7990
7990
|
>
|
|
7991
7991
|
<div class="spacer" style=${n}>
|
|
7992
|
-
${this.#x instanceof
|
|
7992
|
+
${this.#x instanceof tS?this.#je(e):this.#Ve(e)}
|
|
7993
7993
|
${this.#He(e)}
|
|
7994
7994
|
</div>
|
|
7995
7995
|
${this.#w?i`<div class="marquee" part="marquee" style=${this.#Ae(this.#w)}></div>`:``}
|
|
7996
7996
|
</div>
|
|
7997
7997
|
${this.search?.renderField()}
|
|
7998
|
-
`}#je(e){let n=this.#Pe(e);return _(n,e=>this.#f.get(this.#x.keyAt(e)),n=>this.#Ie(n,e))}#Me(e){return`gl-cell-${this.#f.get(e)}`}#Ne(){let e=new Map;for(let[n,r]of this.#h)e.set(n,r),n.getAttribute(`slot`)!==r&&n.setAttribute(`slot`,r);for(let n of this.#g.keys())e.has(n)||n.removeAttribute(`slot`);this.#g=e}#Pe(e){let n=e.ranges.flatMap(([e,n])=>Array.from({length:n-e},(n,r)=>e+r));return this.#Fe(n.map(e=>this.#x.keyAt(e))),n}#Fe(e){let n=new Set(e),r=[];for(let[e,i]of this.#f)n.has(e)||r.push(i);let i=new Map;for(let n of e){let e=this.#f.get(n);e!==void 0&&i.set(n,e)}let a=new Set;for(let n of e){if(i.has(n))continue;let e=r.pop();e===void 0?i.set(n,this.#p++):(i.set(n,e),a.add(n))}this.#f=i,this.#m=a}#Ie(e,n){let r=this.#x.keyAt(e),o=this.#ke.has(r),s=vr(r,this.#Ee,o),c=this.#C.has(r),l=this.tickled.isTickled(r),u=this.#x.isSelectable(e),d=this.itemsDraggable&&u,f=this.captionStyle,p=f===`separate`,m=f===`hidden`?``:this.#x.labelAt(e),h=m!==``,g=n.rowStride-this.gap,{x:_,y:v}=this.#be().positionOf(e),y=p?`height:${Math.max(0,this.captionHeight-4)}px`:f===`under`?`height:${this.captionHeight}px`:``,b=this.#x.iconAt(e),x=
|
|
7998
|
+
`}#je(e){let n=this.#Pe(e);return _(n,e=>this.#f.get(this.#x.keyAt(e)),n=>this.#Ie(n,e))}#Me(e){return`gl-cell-${this.#f.get(e)}`}#Ne(){let e=new Map;for(let[n,r]of this.#h)e.set(n,r),n.getAttribute(`slot`)!==r&&n.setAttribute(`slot`,r);for(let n of this.#g.keys())e.has(n)||n.removeAttribute(`slot`);this.#g=e}#Pe(e){let n=e.ranges.flatMap(([e,n])=>Array.from({length:n-e},(n,r)=>e+r));return this.#Fe(n.map(e=>this.#x.keyAt(e))),n}#Fe(e){let n=new Set(e),r=[];for(let[e,i]of this.#f)n.has(e)||r.push(i);let i=new Map;for(let n of e){let e=this.#f.get(n);e!==void 0&&i.set(n,e)}let a=new Set;for(let n of e){if(i.has(n))continue;let e=r.pop();e===void 0?i.set(n,this.#p++):(i.set(n,e),a.add(n))}this.#f=i,this.#m=a}#Ie(e,n){let r=this.#x.keyAt(e),o=this.#ke.has(r),s=vr(r,this.#Ee,o),c=this.#C.has(r),l=this.tickled.isTickled(r),u=this.#x.isSelectable(e),d=this.itemsDraggable&&u,f=this.captionStyle,p=f===`separate`,m=f===`hidden`?``:this.#x.labelAt(e),h=m!==``,g=n.rowStride-this.gap,{x:_,y:v}=this.#be().positionOf(e),y=p?`height:${Math.max(0,this.captionHeight-4)}px`:f===`under`?`height:${this.captionHeight}px`:``,b=this.#x.iconAt(e),x=S_(b)?void 0:b;return i`
|
|
7999
7999
|
<div
|
|
8000
8000
|
class="cell${o?` selected`:``}${s?` partial`:``}${l?` tickled`:``}${c?` marquee`:``}${this.#m.has(r)?` recycled`:``}${this.#T&&r===this.#E?` dragging-origin`:``}"
|
|
8001
8001
|
part="item${o?` selected`:``}${s?` partial`:``}${l?` tickled`:``}"
|
|
@@ -8022,7 +8022,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8022
8022
|
</div>
|
|
8023
8023
|
${h?this.#Le(m,y,l,this.#x.badgeAt(e),this.#x.textColorAt(e)):``}
|
|
8024
8024
|
</div>
|
|
8025
|
-
`}#Le(e,n,r,a,o){let s=
|
|
8025
|
+
`}#Le(e,n,r,a,o){let s=C_(o),c=s===void 0?n:`${n}${n.length>0?`;`:``}color:${s};`;if(S_(a))return r?i`<div class="caption" part="caption" style=${c} title=${e}><ixfx-pan-text mode="loop">${e}</ixfx-pan-text></div>`:i`<div class="caption" part="caption" style=${c} title=${e}>${e}</div>`;let l=r?i`<ixfx-pan-text mode="loop">${e}</ixfx-pan-text>`:i`<span class="caption-text">${e}</span>`;return i`<div class="caption has-badge" part="caption" style=${c} title=${e}><span class="badge" part="badge">${a}</span>${l}</div>`}#Re(e){let n=C_(e);return n===void 0?a:`color:${n};`}#ze(){let e=this.#j;this.#j=null;try{e?.stopLoop?.()}catch{}}#Be(){let e=this.renderRoot.querySelector(`.cell[data-tickled]`),n=[...this.renderRoot.querySelectorAll(`ixfx-pan-text[mode="loop"]`)],r=e?.querySelector(`ixfx-pan-text[mode="loop"]`)??null;for(let e of n)if(e!==r)try{e.stopLoop?.()}catch{}let i=this.#j;if(i&&i!==r)try{i.stopLoop?.()}catch{}if(!r){this.#j=null;return}this.#j=r,r.startLoop?.()}#Ve(e){let n=this.#Pe(e);return this.#h=n.map(e=>[this.#u[e],this.#Me(this.#x.keyAt(e))]),_(n,e=>this.#f.get(this.#x.keyAt(e)),n=>this.#Ue(this.#u[n],n,e))}#He(e){if(e.headers.length===0)return a;let n=e.horizontal;return _(e.headers,e=>`__group__${e.key}`,e=>i`
|
|
8026
8026
|
<ixfx-list-group-header
|
|
8027
8027
|
class="group-header"
|
|
8028
8028
|
part="group-header"
|
|
@@ -8061,7 +8061,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8061
8061
|
</div>
|
|
8062
8062
|
${_?this.#Le(g,S,u):``}
|
|
8063
8063
|
</div>
|
|
8064
|
-
`}#We;#Ge;#Ke(e){this.#S.suppressed()||this.tickled.handlePointerEnter(e)}#qe(){this.#c!==0&&(cancelAnimationFrame(this.#c),this.#c=0)}#Je(){this.#l!==0&&(clearTimeout(this.#l),this.#l=0)}#Ye(){!this.snapToItem||this.orientation!==`row`&&this.orientation!==`column`||(this.#Je(),this.#l=window.setTimeout(()=>{this.#l=0,this.#Xe()},120))}#Xe(){let e=this.#i.value;if(!e)return;let n=this.#be(),r=n.horizontal,i=r?e.scrollLeft:e.scrollTop,a=r?this._viewportWidth:this._viewportHeight,o=Math.max(0,n.totalExtent-a),s=Math.min(o,Math.max(0,n.snapTarget(i)));Math.abs(s-i)<.5||e.scrollTo(r?{left:s,behavior:`smooth`}:{top:s,behavior:`smooth`})}#Ze(e,n){this.#M.isDragging||this.#T||this.#O.isDragging||this.#D!==0||(this.selection.handleClick(n,mr(e)),this.#Oe(`list-item-click`,n))}#Qe(e){let n=this.interactionMode;if((this.selectionMode!==`none`||n===`checked`||n===`sticky`)&&!(this.#M.isDragging||this.#T||this.#O.isDragging||this.#D!==0)){for(let n of e.composedPath())if(n instanceof Element&&(n.classList.contains(`cell`)||n.classList.contains(`group-header`)))return;this.selection.handleClear(`pointer`,!0)}}#$e(){this.#D&&clearTimeout(this.#D),this.#D=window.setTimeout(()=>{this.#D=0},0)}#et(){this.#T=!1,this.#E=void 0,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`)}#tt(e,n=`pointer`){this.selection.handleReplace(e,n),this.#Oe(`list-activate`,e)}};E([d({type:String,attribute:`selection-mode`})],
|
|
8064
|
+
`}#We;#Ge;#Ke(e){this.#S.suppressed()||this.tickled.handlePointerEnter(e)}#qe(){this.#c!==0&&(cancelAnimationFrame(this.#c),this.#c=0)}#Je(){this.#l!==0&&(clearTimeout(this.#l),this.#l=0)}#Ye(){!this.snapToItem||this.orientation!==`row`&&this.orientation!==`column`||(this.#Je(),this.#l=window.setTimeout(()=>{this.#l=0,this.#Xe()},120))}#Xe(){let e=this.#i.value;if(!e)return;let n=this.#be(),r=n.horizontal,i=r?e.scrollLeft:e.scrollTop,a=r?this._viewportWidth:this._viewportHeight,o=Math.max(0,n.totalExtent-a),s=Math.min(o,Math.max(0,n.snapTarget(i)));Math.abs(s-i)<.5||e.scrollTo(r?{left:s,behavior:`smooth`}:{top:s,behavior:`smooth`})}#Ze(e,n){this.#M.isDragging||this.#T||this.#O.isDragging||this.#D!==0||(this.selection.handleClick(n,mr(e)),this.#Oe(`list-item-click`,n))}#Qe(e){let n=this.interactionMode;if((this.selectionMode!==`none`||n===`checked`||n===`sticky`)&&!(this.#M.isDragging||this.#T||this.#O.isDragging||this.#D!==0)){for(let n of e.composedPath())if(n instanceof Element&&(n.classList.contains(`cell`)||n.classList.contains(`group-header`)))return;this.selection.handleClear(`pointer`,!0)}}#$e(){this.#D&&clearTimeout(this.#D),this.#D=window.setTimeout(()=>{this.#D=0},0)}#et(){this.#T=!1,this.#E=void 0,this.toggleAttribute(`data-native-dragging`,!1),this.removeAttribute(`aria-label`)}#tt(e,n=`pointer`){this.selection.handleReplace(e,n),this.#Oe(`list-activate`,e)}};E([d({type:String,attribute:`selection-mode`})],q.prototype,`selectionMode`,void 0),E([d({type:String,attribute:`interaction-mode`})],q.prototype,`interactionMode`,void 0),E([d({type:Boolean,attribute:`disable-hover-tickle`,reflect:!0})],q.prototype,`disableHoverTickle`,void 0),E([d({type:Boolean,attribute:`scroll-hover-tickle`,reflect:!0})],q.prototype,`scrollHoverTickle`,void 0),E([d({type:Number,attribute:`item-size`})],q.prototype,`itemSize`,void 0),E([d({type:Number})],q.prototype,`gap`,void 0),E([d({type:String,reflect:!0})],q.prototype,`orientation`,void 0),E([d({type:String,attribute:`caption-style`,reflect:!0})],q.prototype,`captionStyle`,void 0),E([d({type:String,attribute:`caption-align`,reflect:!0})],q.prototype,`captionAlign`,void 0),E([d({type:String,attribute:`caption-position`,reflect:!0})],q.prototype,`captionPosition`,void 0),E([d({type:String,attribute:`caption-backdrop`,reflect:!0})],q.prototype,`captionBackdrop`,void 0),E([d({type:Number,attribute:`caption-height`})],q.prototype,`captionHeight`,void 0),E([d({type:String,attribute:`item-wrap`})],q.prototype,`itemWrap`,void 0),E([d({attribute:!1})],q.prototype,`filterPredicate`,void 0),E([d({attribute:!1})],q.prototype,`itemFilterPredicate`,void 0),E([d({type:Boolean,attribute:`items-draggable`,reflect:!0})],q.prototype,`itemsDraggable`,void 0),E([d({type:Boolean,attribute:`marquee-from-cell-blank`,reflect:!0})],q.prototype,`marqueeFromCellBlank`,void 0),E([d({attribute:!1})],q.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],q.prototype,`dragPreviewSource`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],q.prototype,`searchModes`,void 0),E([d({type:Boolean,attribute:`snap-to-item`,reflect:!0})],q.prototype,`snapToItem`,void 0),E([d({attribute:!1})],q.prototype,`items`,void 0),E([d({attribute:!1})],q.prototype,`itemAdapter`,void 0),E([d({attribute:`group-by`})],q.prototype,`groupBy`,void 0),E([d({attribute:!1})],q.prototype,`groupLabel`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],q.prototype,`crossGroupSelection`,void 0),E([d({type:Number,attribute:`group-header-height`})],q.prototype,`groupHeaderHeight`,void 0),E([d({type:Number,attribute:`group-header-width`})],q.prototype,`groupHeaderWidth`,void 0),E([m()],q.prototype,`_collapsedGroups`,void 0),E([m()],q.prototype,`_scrollTop`,void 0),E([m()],q.prototype,`_scrollLeft`,void 0),E([m()],q.prototype,`_viewportHeight`,void 0),E([m()],q.prototype,`_viewportWidth`,void 0),q=E([T(`ixfx-grid-list`)],q);let uS=class extends n{constructor(...e){super(...e),this.collapsed=!1,this.orientation=`horizontal`,this.closable=!1,this.collapsible=!0,this.title=``,this.iconName=``,this.toggleInteraction=`implicit`,this.variant=`titlebar`,this.hideTitlebar=!1,this.keepToolbar=!1,this.stickyHeader=!1}_onTitlebarToggle(e){e.stopPropagation(),this.collapsed=e.detail.collapsed,this.dispatchEvent(new CustomEvent(`toggle`,{detail:{collapsed:this.collapsed},bubbles:!0,composed:!0}))}_onCloseClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})),this.remove()}render(){let e=this.keepToolbar||!this.collapsed;return i`
|
|
8065
8065
|
${this.hideTitlebar?a:i`
|
|
8066
8066
|
<ixfx-titlebar
|
|
8067
8067
|
.title=${this.title}
|
|
@@ -8214,7 +8214,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8214
8214
|
height: 100%;
|
|
8215
8215
|
transform: none;
|
|
8216
8216
|
}
|
|
8217
|
-
`]}};E([d({type:Boolean,reflect:!0})],lS.prototype,`collapsed`,void 0),E([d({type:String,attribute:`orientation`,reflect:!0})],lS.prototype,`orientation`,void 0),E([d({type:Boolean})],lS.prototype,`closable`,void 0),E([d({type:Boolean,reflect:!0})],lS.prototype,`collapsible`,void 0),E([d({type:String})],lS.prototype,`title`,void 0),E([d({type:String,attribute:`icon-name`})],lS.prototype,`iconName`,void 0),E([d({type:String,attribute:`toggle-interaction`})],lS.prototype,`toggleInteraction`,void 0),E([d({type:String,attribute:`variant`,reflect:!0})],lS.prototype,`variant`,void 0),E([d({type:Boolean,attribute:`hide-titlebar`})],lS.prototype,`hideTitlebar`,void 0),E([d({type:Boolean,attribute:`keep-toolbar`})],lS.prototype,`keepToolbar`,void 0),E([d({type:Boolean,attribute:`sticky-header`,reflect:!0})],lS.prototype,`stickyHeader`,void 0),lS=E([T(`ixfx-panel`)],lS);const uS=`__ungrouped__`;let dS=class extends n{constructor(...e){super(...e),this.grouped=!1,this.crossGroupSelection=!1,this.#n=new Map,this.#i=!1,this.#a=new je(this),this.#d=e=>{if(this.#i)return;let n=e.target,r;for(let[e,i]of this.#n)if(i===n){r=e;break}if(r!==void 0){if(this.grouped&&!this.crossGroupSelection){this.#i=!0;for(let[e,n]of this.#n)e!==r&&n.clearSelection();this.#i=!1}this.dispatchEvent(new CustomEvent(`grouped-select`,{detail:{selected:this.selectedItems,groupKey:r===uS?void 0:r},bubbles:!0,composed:!0}))}}}#e;#t;#n;#r;#i;#a;get groupBy(){return this.#e}set groupBy(e){this.#e=e,this.requestUpdate()}get factory(){return this.#t}set factory(e){e!==this.#t&&(this.#s(),this.#t=e,this.requestUpdate())}get provider(){return this.#a.provider}set provider(e){this.#a.provider=e,e&&this.#a.request(void 0)}get selectedItems(){let e=new Set;for(let n of this.#n.values())for(let r of n.selectedItems)e.add(r);return e}dispatch(e,n){for(let r of this.#n.values())r.dispatch(e,n)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener(`select`,this.#d)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`select`,this.#d)}updated(e){super.updated(e),e.has(`grouped`)&&this.#s(),this.#c()}render(){return this.#t?this.grouped?this.#e?(this.#r=this.#o(),i`${_(this.#r.keys(),e=>e,e=>i`<ixfx-panel data-group-key=${e} .title=${e}></ixfx-panel>`)}`):a:i`<div class="ungrouped-host"></div>`:a}#o(){let e=new Map;if(!this.#e)return e;for(let n of this.#a.items){let r=this.#e(n),i=e.get(r);i||(i=[],e.set(r,i)),i.push(n)}return e}#s(){for(let e of this.#n.values())e.remove();this.#n.clear()}#c(){if(this.#t){if(!this.grouped){this.#l();return}this.#e&&this.#u()}}#l(){let e=this.querySelector(`.ungrouped-host`);if(!e)return;let n=this.#n.get(uS);n||(n=this.#t(void 0),e.appendChild(n),this.#n.set(uS,n)),n.setItems(this.#a.items)}#u(){let e=this.#r??this.#o();for(let n of[...this.#n.keys()])e.has(n)||(this.#n.get(n)?.remove(),this.#n.delete(n));for(let[n,r]of e){let e=[...this.children].find(e=>e instanceof HTMLElement&&e.dataset.groupKey===n);if(!e)continue;let i=this.#n.get(n);i||(i=this.#t(n),e.appendChild(i),this.#n.set(n,i)),i.setItems(r)}}#d};E([d({type:Boolean,reflect:!0})],dS.prototype,`grouped`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],dS.prototype,`crossGroupSelection`,void 0),dS=E([T(`ixfx-grouped-item-lister`)],dS);const fS=`application/x-ixfx-tree`,pS=new Map,mS=new Map;let hS,gS=0;function _S(){return`tree-drag-${++gS}-${Date.now()}`}function vS(e,n,r,i){pS.set(e,{sourceId:e,nodes:r,keys:i}),mS.set(e,new WeakRef(n)),hS=e}function yS(e){pS.delete(e),mS.delete(e),hS===e&&(hS=void 0)}function bS(){if(hS===void 0)return;let e=pS.get(hS);if(e)return{sourceId:hS,keys:e.keys,nodes:e.nodes,element:mS.get(hS)?.deref()}}const xS={direction:0,depth:0};function SS(e){return Math.min(e/2,Math.max(24,Math.min(64,e*.2)))}function CS(e,n){if(n<=0)return xS;let r=SS(n);return e<r?{direction:-1,depth:Math.min(1,(r-e)/r)}:e>n-r?{direction:1,depth:Math.min(1,(e-(n-r))/r)}:xS}function wS(e,n){let r=Math.min(1,Math.max(0,n)/2500);return(120+3080*r*r)*(.35+.65*Math.min(1,Math.max(0,e)))}function TS(e,n,r){return Math.max(n,Math.min(r,e))}var ES=class{#e;#t;#n=!1;#r;#i=`internal`;#a=[];#o=[];#s;#c;#l=0;#u=0;#d=0;#f=0;#p=0;#m=0;#h=0;#g;#_=!1;#v;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#n}get isRejected(){return this.#n&&this.#r===void 0}get dropState(){return this.#r}hostConnected(){this.#y()}hostUpdated(){this.#y()}#y(){let e=this.#t.getScrollContainer();!e||e===this.#v||(this.#b(),this.#v=e,e.addEventListener(`dragenter`,this.#x),e.addEventListener(`dragover`,this.#S),e.addEventListener(`dragleave`,this.#w),e.addEventListener(`drop`,this.#T))}#b(){let e=this.#v;e&&(e.removeEventListener(`dragenter`,this.#x),e.removeEventListener(`dragover`,this.#S),e.removeEventListener(`dragleave`,this.#w),e.removeEventListener(`drop`,this.#T),this.#v=void 0)}hostDisconnected(){this.#b(),this.#A(),this.#N(),this.#n=!1,this.#r=void 0}#x=e=>{this.#t.getDndMode()===`none`||!e.dataTransfer||this.#t.resolveDrag(e.dataTransfer,`hover`)!==void 0&&(e.preventDefault(),this.#n||(this.#n=!0,this.#t.onActiveChange(!0)))};#S=e=>{if(this.#t.getDndMode()===`none`||!e.dataTransfer)return;this.#u=e.clientX,this.#d=e.clientY,this.#g=e;let n=this.#t.resolveDrag(e.dataTransfer,`hover`);if(!n){this.#C(e);return}this.#n||(this.#n=!0,this.#t.onActiveChange(!0)),this.#i=n.source,this.#a=n.keys,this.#o=n.nodes;let r=this.#t.getVisibleRows();this.#k(this.#D(r,e.clientY)),this.#j();let i=this.#O(e,r,n.source);if(!i){this.#C(e,!1);return}let a={source:n.source,dragged:n.nodes.length>0?n.nodes:void 0,draggedKeys:n.keys,target:i,dataTransfer:e.dataTransfer};if(!this.#t.vet(a)){this.#C(e,!1);return}e.preventDefault(),e.dataTransfer.dropEffect=n.source===`internal`?`move`:`copy`,this.#P(i)};#C(e,n=!0){e.dataTransfer&&(e.dataTransfer.dropEffect=`none`),this.#P(void 0),n&&this.#A()}#w=e=>{let n=this.#t.getScrollContainer(),r=e.relatedTarget;n&&r&&n.contains(r)||this.#E()};#T=e=>{if(!e.dataTransfer){this.#E();return}e.preventDefault(),this.#N(),this.#A();let n=e=>{this.#r=void 0,this.#n=!1,this.#t.onDropStateChange(void 0),this.#t.onActiveChange(!1),this.#t.onDragEnd(e)};if(this.#t.getDndMode()===`none`){n(!1);return}let r=this.#t.resolveDrag(e.dataTransfer,`drop`);if(!r){n(!1);return}this.#a=r.keys,this.#o=r.nodes;let i=this.#O(e,this.#t.getVisibleRows(),r.source);if(!i){n(!1);return}let a={source:r.source,dragged:r.nodes.length>0?r.nodes:void 0,draggedKeys:r.keys,target:i,dataTransfer:e.dataTransfer};if(!this.#t.vet(a)){n(!1);return}let o={...a,external:r.source===`external`?r.nodes:void 0};n(this.#t.commitDrop(o))};#E(){this.#A(),this.#N(),this.#r!==void 0&&(this.#r=void 0,this.#t.onDropStateChange(void 0)),this.#n&&(this.#n=!1,this.#t.onActiveChange(!1))}#D(e,n){if(e.length!==0)return n<e[0].rect.top?e[0]:n>e[e.length-1].rect.bottom?e[e.length-1]:e.find(e=>n>=e.rect.top&&n<=e.rect.bottom)??e[e.length-1]}#O(e,n,r){if(n.length===0)return;let i=this.#D(n,e.clientY);if(!i)return;let a=TS((e.clientY-i.rect.top)/i.rect.height,0,1),o=a<.25?`before`:a>.75?`after`:`inside`,s=i.node.item.isLeaf===!0;o===`inside`&&s&&(o=`after`);let c=!1;o===`after`&&!s&&this.#t.isExpanded(i.key)&&(o=`inside`,c=!0);let l,u,d,f;if(o===`inside`)l=i.key,u=i.key,d=i.depth+1,f=c?0:i.node.children?.length??0;else{let r=this.#t.getIndentPx()||1,a=n[0].rect.left,s=TS(Math.round((e.clientX-a)/r),0,i.depth),c={node:i.node,depth:i.depth,parentKey:this.#t.getRowInfo(i.key)?.parentKey};u=i.key;for(let e=i.depth-s;e>0&&c.parentKey!==void 0;e--){let e=this.#t.getRowInfo(c.parentKey);if(!e)break;u=c.parentKey,c=e}d=c.depth,l=c.parentKey;let p=this.#t.getChildren(l).findIndex(e=>e.item.key===u);f=(p<0?0:p)+ +(o===`after`)}if(r===`internal`){for(let e of this.#a)if(e===l||e===u||l!==void 0&&this.#t.isSelfOrDescendant(e,l)||o!==`inside`&&this.#t.isSelfOrDescendant(e,u))return;if(this.#a.length>0&&!this.#t.isReorderAllowed()&&!this.#a.some(e=>this.#t.getParentKey(e)!==l))return}return{parentKey:l,index:f,referenceKey:u,position:o,depth:d}}#k(e){if(!e||e.node.item.isLeaf===!0||this.#t.isExpanded(e.key)){this.#A();return}if(e.key===this.#c)return;this.#A();let n=this.#c=e.key;this.#s=setTimeout(()=>{this.#s=void 0,this.#c===n&&(this.#c=void 0,this.#t.expandKey(n))},Math.max(0,this.#t.getExpandHoverMs()))}#A(){this.#s!==void 0&&(clearTimeout(this.#s),this.#s=void 0),this.#c=void 0}#j(){this.#l===0&&(this.#l=requestAnimationFrame(this.#M))}#M=e=>{if(this.#l=0,!this.#n)return;let n=this.#t.getScrollContainer();if(!n||this.#_&&this.#g&&(this.#_=!1,this.#S(this.#g),!this.#n))return;let r=n.getBoundingClientRect(),i=this.#u>=r.left&&this.#u<=r.right?CS(this.#d-r.top,r.height):{direction:0,depth:0};if(i.direction!==this.#f&&(this.#f=i.direction,this.#p=e,this.#m=e,this.#h=0),i.direction===0)return;let a=Math.min(50,Math.max(0,e-this.#m));this.#m=e;let o=wS(i.depth,e-this.#p),s=i.direction*o*a/1e3+this.#h,c=Math.trunc(s);if(this.#h=s-c,c!==0){let e=n.scrollTop;n.scrollTop=e+c,n.scrollTop!==e&&(this.#_=!0)}this.#j()};#N(){this.#l!==0&&(cancelAnimationFrame(this.#l),this.#l=0),this.#f=0,this.#h=0,this.#_=!1,this.#g=void 0}#P(e){let n=e===void 0?this.#r===void 0:e.referenceKey===this.#r?.referenceKey&&e.position===this.#r?.position&&e.depth===this.#r?.depth&&e.index===this.#r?.index;this.#r=e,(!n||this.#n)&&this.#t.onDropStateChange(e)}};function DS(e,n){let r=[],i=new Map,a=[],o=(e,r,i)=>{if(!e||e.length===0)return;let o=e.filter(e=>n.isShown(e,r));for(let e=o.length-1;e>=0;e--)a.push({node:o[e],depth:r,parentKey:i,posInSet:e+1,setSize:o.length})};for(o(e.children,0,void 0);a.length>0;){let{node:e,depth:s,parentKey:c,posInSet:l,setSize:u}=a.pop();i.set(e.item.key,r.length),r.push({node:e,depth:s,parentKey:c,posInSet:l,setSize:u}),e.children&&e.children.length>0&&n.isExpanded(e,s)&&o(e.children,s+1,e.item.key)}return{rows:r,indexByKey:i}}function OS(e){let n=new Map,r=new Set,i=new Set([e.item.key]),a=new Set,o=[];if(e.children)for(let r of e.children)n.set(r.item.key,e.item.key),o.push({node:r,depth:0,parentKey:e.item.key});for(;o.length>0;){let{node:e,depth:s,parentKey:c}=o.pop();if(i.has(e.item.key)&&a.add(e.item.key),i.add(e.item.key),n.set(e.item.key,c),e.item.icon&&r.add(s),e.children)for(let n=e.children.length-1;n>=0;n--){let r=e.children[n];o.push({node:r,depth:s+1,parentKey:e.item.key})}}if(a.size>0){let e=[...a].slice(0,5).map(e=>`"${e}"`).join(`, `);console.warn(`[ixfx-tree] ${a.size} duplicate item key(s) in tree (e.g. ${e}). Keys must be unique across the whole tree; duplicates break checkbox state, expansion and selection.`)}return{parentByKey:n,depthsWithIcons:r}}function kS(e,n){let r=new Set;if(!e.children)return r;let i=[],a=(e,r)=>{i.push({node:e,depth:r,next:0,matched:n(e,r)})};for(let n of e.children)for(a(n,0);i.length>0;){let e=i[i.length-1],n=e.node.children;if(n&&e.next<n.length){a(n[e.next++],e.depth+1);continue}i.pop(),e.matched&&(r.add(e.node.item.key),i.length>0&&(i[i.length-1].matched=!0))}return r}function AS(e,n,r){if(r.size===0)return[...e];let i=new Set;for(let n of e)i.add(n.node.item.key);let a=Symbol(`end`),o=new Map,s=a;for(let e=n.length-1;e>=0;e--){let a=n[e];if(i.has(a)){s=a;continue}let c=r.get(a);if(!c)continue;let l=o.get(s);l?l.push(c):o.set(s,[c])}let c=[];for(let n of e){let e=o.get(n.node.item.key);if(e)for(let n=e.length-1;n>=0;n--)c.push(e[n]);c.push(n)}let l=o.get(a);if(l)for(let e=l.length-1;e>=0;e--)c.push(l[e]);return c}function jS(e,n){let r=new Map;if(!e.children)return r;let i=[];for(let a of e.children)for(i.push({node:a,next:0,checked:0,unchecked:0,counted:0});i.length>0;){let e=i[i.length-1],{node:a}=e,o=a.children,s=a.item.isLeaf||!o?.length;if(!s&&e.next<o.length){i.push({node:o[e.next++],next:0,checked:0,unchecked:0,counted:0});continue}i.pop();let c;c=s?n.has(a)?`checked`:`unchecked`:e.counted===0?`unchecked`:e.checked===e.counted?`checked`:e.unchecked===e.counted?`unchecked`:`indeterminate`,r.set(a.item.key,c);let l=s&&a.item.selectable===!1;if(i.length>0&&!l){let e=i[i.length-1];e.counted++,c===`checked`?e.checked++:c===`unchecked`&&e.unchecked++}}return r}function MS(e,n){if(e.has(n))return e;let r=new Set(e);return r.add(n),r}function NS(e,n){if(!e.has(n))return e;let r=new Set(e);return r.delete(n),r}function PS(e,n){let r;for(let i of e)n(i)&&(r??=new Set(e),r.delete(i));return r??e}function FS(e){return Math.max(1,e.rowHeight+e.gap)}function IS(e,n){return e.listOffset+n*FS(e)+e.gap}function LS(e,n){return IS(e,n)+e.rowHeight}function RS(e,n,r=5){let{count:i}=e;if(i<=0)return{start:0,end:0};let a=FS(e),o=Math.max(0,n-e.listOffset),s=Math.floor(o/a),c=Math.ceil((o+e.viewportHeight)/a),l=Math.min(i,Math.max(0,s-r));return{start:l,end:Math.min(i,Math.max(l,c+r))}}function zS(e,n){if(e.count<=0)return-1;let r=Math.floor((n-e.listOffset)/FS(e));return Math.min(e.count-1,Math.max(0,r))}function BS(e,n,r,i=0){if(n<0||n>=e.count)return r;let a=IS(e,n),o=a+e.rowHeight;return a<r+i?n===0?0:Math.max(0,a-i):o>r+e.viewportHeight?Math.max(0,o-e.viewportHeight):r}function VS(e,n,r,i=0){if(n<0||n>=e.count)return r;let a=IS(e,n),o=a+e.rowHeight;if(a>=r+i&&o<=r+e.viewportHeight)return r;let s=a+e.rowHeight/2-(e.viewportHeight+i)/2;return Math.max(0,s)}function HS(e){return Math.max(1,Math.floor(e.viewportHeight/FS(e))-1)}function US(e){return{count:e.count,topOf:n=>IS(e,n),bottomOf:n=>LS(e,n)}}function WS(e,n){let r=0,i=e.count;for(;r<i;){let a=r+i>>>1;e.bottomOf(a)>n?i=a:r=a+1}return r}function GS(e,n,r,i=0){if(e.count===0)return;let a=Math.min(WS(e,n),e.count-1),o=a,s=e.count;for(;o<s;){let n=o+s>>>1;e.topOf(n)>=r?s=n:o=n+1}let c=Math.max(a,o-1);return{first:Math.max(0,a-i),last:Math.min(e.count-1,c+i)}}function KS(e,n,r,i){let a,o,s=[];for(let i of e)r(i)||(a??=new Set(e),a.delete(i),o??=new Map(n),o.set(i,!0));for(let[c,l]of n)if(r(c)){if(l&&!i(c)){s.push(c);continue}o??=new Map(n),o.delete(c),l!==(a??e).has(c)&&(a??=new Set(e),l?a.add(c):a.delete(c))}return{live:a??e,pending:o?cr(o):n,needsLoad:s,changed:a!==void 0||o!==void 0}}function qS(e,n,r,i,a){if(e.size===0&&n.size===0)return{selected:e,pending:n,restored:!1,changed:!1};let o=new Set,s=new Set,c=!1;for(let n of e){let e=r(n.item.key);e?(o.add(e),e!==n&&(c=!0)):(s.add(n.item.key),c=!0)}let l;for(let e of n){let n=r(e);n&&i(n)?(o.add(n),l=n,c=!0):s.add(e)}if(!c)return{selected:e,pending:n,restored:!1,changed:!1};let u=o,d=s;return a&&o.size>0&&(u=new Set([l??[...o].at(-1)]),d=k),{selected:u,pending:sr(d),restored:l!==void 0,changed:!0}}function JS(e,n,r,i){let a=n,o=!1;return e!==void 0&&!r(e)&&(a??=e,o=!0),a!==void 0&&i(a)?{clear:o,apply:a,pending:void 0}:{clear:o,apply:void 0,pending:a}}function YS(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):void 0}function XS(e,n,r){if(!e)return{status:`missing`};let i=[],a=e;for(let e of n){if(a.children===void 0)return r(a)?{status:`load`,node:a,depth:i.length-1}:{status:`missing`};let n=a.children.find(n=>n.item.key===e);if(!n)return{status:`missing`};i.push(n),a=n}return{status:`found`,nodes:i}}const ZS={rows:[],indexByKey:new Map};let Y=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.scrollHoverTickle=!1,this.registry=void 0,this.itemDnd=`none`,this.dndExpandHoverMs=500,this.reorderable=!0,this.stickyHeaders=!0,this.virtualize=`auto`,this.virtualizeThreshold=200,this.animation=`auto`,this.applyInternalDrop=!0,this._expandedKeys=new Set,this.restoreLoads=!0,this.#t=new d_(this,{kind:`tree-list`,capture:()=>this.getViewState()}),this.#n=ir,this.#r=k,this.#o=-1,this.#d=0,this._selectionVersion=0,this._scrollTop=0,this.#g={rowHeight:30,gap:1,listOffset:0},this.#_=0,this.#v=0,this.#x=0,this.#S=0,this.#C=!1,this.#k=()=>{this.#v===0&&(this.#v=requestAnimationFrame(()=>{this.#v=0,this.#A()}))},this.tickled=new oe(this,{getItems:()=>this.#m().rows.map(({node:e})=>({id:e.item.key,enabled:!0})),hoverDisabled:()=>this.#re?.isDragging===!0||this.#ie?.isDragging===!0,onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)}}),this.#F=Sr({host:this,enabled:()=>!this.scrollHoverTickle,onResume:(e,n)=>{let r=(this.shadowRoot?.elementFromPoint?.(e,n)?.closest(`li.item`))?.dataset.key,i=this.#m(),a=r===void 0?void 0:i.indexByKey.get(r),o=a===void 0?void 0:i.rows[a];o&&this._handleRowPointerEnter(o.node,o.depth)}}),this._focusedDepth=0,this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.tree-label`,highlightKey:`incr-search-highlight`})}),this.#W={indent:20},this.#G=[],this.#K=[],this.#q=new Map,this.#J=new Map,this.#Y=new Set,this.#X=new Map,this.#Z=new Map,this.#Q=!1,this.#ee=``,this.#ae=new Set,this.#oe=!1,this.#ce=()=>{this.#se=void 0},this.#ue=()=>{this.#be===0&&(this.#be=requestAnimationFrame(()=>{this.#be=0,this.#fe()}))},this._stickyKeys=[],this.#ve=new Map,this.#ye=!0,this.#be=0,this.#Se=!1,this.#We=()=>{this.#t.notifyScroll()},this.#$e=`user`,this.#et=!1,this.#vt=0,this.#At=e=>{if(this.search.isOpen)return;let n=this.#m().rows;if(n.length===0)return;if((e.ctrlKey||e.metaKey)&&e.key===`a`){e.preventDefault(),this.selectAll({visibleOnly:!0});return}[`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`,`PageUp`,`PageDown`,`Enter`,` `].includes(e.key)&&this.tickled.setInputMode(`keyboard`);let r=this.#Tt();switch(e.key){case`ArrowDown`:e.preventDefault(),this.#kt(n,r,Math.min(r+1,n.length-1),e.shiftKey);break;case`ArrowUp`:e.preventDefault(),this.#kt(n,r,Math.max(r-1,0),e.shiftKey);break;case`Home`:e.preventDefault(),this.#kt(n,r,0,e.shiftKey);break;case`End`:e.preventDefault(),this.#kt(n,r,n.length-1,e.shiftKey);break;case`PageDown`:{e.preventDefault();let i=this.#Ot();this.#kt(n,r,Math.min(r+i,n.length-1),e.shiftKey);break}case`PageUp`:{e.preventDefault();let i=this.#Ot();this.#kt(n,r,Math.max(r-i,0),e.shiftKey);break}case`ArrowRight`:{e.preventDefault();let i=n[r];i&&i.node.item.isLeaf!==!0&&(this._expandedKeys.has(i.node.item.key)?r+1<n.length&&this.#Et(r+1):this.#lt(i.node,i.depth)),this.requestUpdate();break}case`ArrowLeft`:{e.preventDefault();let i=n[r];if(i&&this._expandedKeys.has(i.node.item.key))this.#e(NS(this._expandedKeys,i.node.item.key)),this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:i.node,depth:i.depth},bubbles:!0,composed:!0}));else if(i.depth>0){let e=i.depth-1;for(let i=r-1;i>=0;i--)if(n[i].depth===e){this.#Et(i);break}}this.requestUpdate();break}case`Enter`:{e.preventDefault();let i=n[r];i&&(this.interactionMode!==`manual`&&this.interactionMode!==`checked`&&this.select(i.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:i.node,depth:i.depth},bubbles:!0,composed:!0})),this.requestUpdate());break}case` `:{e.preventDefault();let i=n[r];if(!i)break;this.interactionMode===`checked`?this._handleCheckboxClick(new MouseEvent(`click`),i.node,i.depth):(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this.#ct(i.node,i.depth);break}case`Escape`:e.preventDefault(),this.#bt()}},this.#jt=e=>{let n=e.target.closest(`ul.tree-list li`);if(!n)return;let r=n.dataset.key;if(!r)return;let i=this.#m(),a=i.indexByKey.get(r),o=a===void 0?void 0:i.rows[a];if(!o)return;let s={node:o.node,depth:o.depth};this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:s,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:s,bubbles:!0,composed:!0}))}}get selectedNodes(){return this._selectedNodes}#e(e){e!==this._expandedKeys&&(this._expandedKeys=e,this.#c=void 0,this.#ye=!0,this.#t.notify())}#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;invalidateStructure(){this.#d++,this.#c=void 0,this.requestUpdate()}#m(){if(!this.root)return ZS;if(this.#c&&this.#l===this.root&&this.#u===this.filterPredicate)return this.#c;let e=this.#P();return this.#c=DS(this.root,{isExpanded:(e,n)=>this._isExpanded(e,n),isShown:e?n=>e.matches.has(n.item.key):()=>!0}),this.#l=this.root,this.#u=this.filterPredicate,this.#c}#h(){let e=this.root;if(!e)return{parentByKey:new Map,depthsWithIcons:new Set};let n=this.#f;if(n&&n.root===e&&n.version===this.#d)return n.index;let r=OS(e);return this.#f={root:e,version:this.#d,index:r},r}#g;#_;#v;#y;#b;#x;#S;#C;#w(){return this.virtualize===`off`?!1:this.virtualize===`on`||this.#m().rows.length>this.virtualizeThreshold}#T(e){return{count:e,rowHeight:this.#g.rowHeight,gap:this.#g.gap,listOffset:this.#g.listOffset,viewportHeight:this.#_>0?this.#_:600}}#E(){let e=this.renderRoot.querySelector(`ul.tree-list`),n=e?.querySelector(`li.item:not(.leaving)`),r=n?.getBoundingClientRect().height??0,i=r>0?r:this.#Me(),a=n?Number.parseFloat(getComputedStyle(n).marginTop):NaN,o=Number.isNaN(a)?Number.parseFloat(getComputedStyle(this).getPropertyValue(`--tree-item-gap`)):a,s=Number.isNaN(o)?1:o,c=this.#g.listOffset;if(e){let n=Number.parseFloat(getComputedStyle(e).paddingTop);c=e.offsetTop+(Number.isNaN(n)?0:n)}let l=this.#Ae()?.clientHeight??0,u=l>0&&l!==this.#_;l>0&&(this.#_=l);let d=this.#g,f=d.rowHeight!==i||d.gap!==s||d.listOffset!==c;return this.#g={rowHeight:i,gap:s,listOffset:c},f||u}#D(e){return RS(this.#T(e),this._scrollTop)}#O(){let e=this.#Ae()?.scrollTop;e!==void 0&&e!==this._scrollTop&&(this._scrollTop=e)}#k;#A(){let e=this.#Ae();if(!e||!this.root||!this.#w())return;let n=e.scrollTop;if(n===this._scrollTop)return;let r=RS(this.#T(this.#m().rows.length),n);(r.start!==this.#x||r.end!==this.#S)&&(this._scrollTop=n)}#j(){let e=this.#Ae();e!==this.#y&&(this.#y?.removeEventListener(`scroll`,this.#k),this.#b?.disconnect(),this.#b=void 0,this.#y=e,e&&(e.addEventListener(`scroll`,this.#k,{passive:!0}),typeof ResizeObserver<`u`&&(this.#b=new ResizeObserver(e=>{let n=e.at(-1)?.contentRect.height??0;n>0&&n!==this.#_&&this.#w()&&this.requestUpdate()}),this.#b.observe(e))))}#M(){this.#y?.removeEventListener(`scroll`,this.#k),this.#y=void 0,this.#b?.disconnect(),this.#b=void 0,this.#v!==0&&(cancelAnimationFrame(this.#v),this.#v=0)}#N(e,n=`edge`){let r=this.#Ae();if(!r)return;let i=this.#T(this.#m().rows.length),a=this.renderRoot.querySelector(`.sticky-headers`)?.getBoundingClientRect().height??0,o=(n===`center-if-hidden`?VS:BS)(i,e,r.scrollTop,a);(o!==r.scrollTop||o!==this._scrollTop)&&(r.scrollTop=o,this._scrollTop=o)}#P(){let e=this.filterPredicate,n=this.root;if(!e||!n)return;let r=this.#p;if(r&&r.predicate===e&&r.root===n&&r.version===this.#d)return r;let i=kS(n,e),{parentByKey:a}=this.#h(),o=new Set;for(let e of i){let n=a.get(e);n!==void 0&&o.add(n)}let s={predicate:e,root:n,version:this.#d,matches:i,autoExpanded:o};return this.#p=s,s}get _structureVersion(){return this.#d}get _depthsWithIcons(){return this.#h().depthsWithIcons}#F;_handleRowPointerEnter(e,n){this.#F.suppressed()||(this.tickled.handlePointerEnter(e.item.key),this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})))}#I;#L(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#R(){this.#U&&(this.search.setModes(this.#L()),this.#I?.(),this.#I=zt(this.#U,this.search))}#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;#X;#Z;#Q;#$;#ee;#te;#ne;#re;#ie;#ae;#oe;#se;#ce;#le(){let e=this.#Ae();this.stickyHeaders&&e?(!this.#Se||this.#xe!==e)&&(this.#xe?.removeEventListener(`scroll`,this.#ue),e.addEventListener(`scroll`,this.#ue,{passive:!0}),this.#xe=e,this.#Se=!0):this.#Se&&=(this.#xe?.removeEventListener(`scroll`,this.#ue),this.#xe=void 0,!1)}#ue;#de(e){return{count:e.length,topOf:n=>e[n].offsetTop,bottomOf:n=>e[n].offsetTop+e[n].offsetHeight}}#fe(){this.#ye=!1;let e=new Map,n=()=>this.#pe([],e);if(!this.stickyHeaders||!this.root)return n();let r=this.#Ae(),i=this.renderRoot.querySelector(`ul.tree-list`);if(!r||!i)return n();let a=this.#m(),o=this.#w(),s=i.children,c=this.#K;if(a.rows.length===0||!o&&(s.length===0||s.length!==c.length))return n();let l=o?US(this.#T(a.rows.length)):this.#de(s),u=r.scrollTop,d=u+(this.renderRoot.querySelector(`.sticky-headers`)?.getBoundingClientRect().height??0),f=WS(l,u);if(!o)for(;f<s.length&&s[f].classList.contains(`leaving`);)f++;if(f>=l.count)return n();let p=o?f:a.indexByKey.get(c[f]);if(p===void 0)return n();let m=[],h=a.rows[p].parentKey;for(;h!==void 0;){let e=a.indexByKey.get(h);if(e===void 0)break;m.unshift(a.rows[e]),h=a.rows[e].parentKey}let g=new Map,_=[];for(let e of m){let n=e.node.item.key,r=o?a.indexByKey.get(n):this.#q.get(n);r===void 0||l.bottomOf(r)>d||(_.push(n),g.set(n,{node:e.node,depth:e.depth}))}this.#pe(_,g)}#pe(e,n){let r=this._stickyKeys;r.length===e.length&&r.every((n,r)=>n===e[r])||(this.#ve=n,this._stickyKeys=e)}#me(){return!this.stickyHeaders||this._stickyKeys.length===0?a:i`
|
|
8217
|
+
`]}};E([d({type:Boolean,reflect:!0})],uS.prototype,`collapsed`,void 0),E([d({type:String,attribute:`orientation`,reflect:!0})],uS.prototype,`orientation`,void 0),E([d({type:Boolean})],uS.prototype,`closable`,void 0),E([d({type:Boolean,reflect:!0})],uS.prototype,`collapsible`,void 0),E([d({type:String})],uS.prototype,`title`,void 0),E([d({type:String,attribute:`icon-name`})],uS.prototype,`iconName`,void 0),E([d({type:String,attribute:`toggle-interaction`})],uS.prototype,`toggleInteraction`,void 0),E([d({type:String,attribute:`variant`,reflect:!0})],uS.prototype,`variant`,void 0),E([d({type:Boolean,attribute:`hide-titlebar`})],uS.prototype,`hideTitlebar`,void 0),E([d({type:Boolean,attribute:`keep-toolbar`})],uS.prototype,`keepToolbar`,void 0),E([d({type:Boolean,attribute:`sticky-header`,reflect:!0})],uS.prototype,`stickyHeader`,void 0),uS=E([T(`ixfx-panel`)],uS);const dS=`__ungrouped__`;let fS=class extends n{constructor(...e){super(...e),this.grouped=!1,this.crossGroupSelection=!1,this.#n=new Map,this.#i=!1,this.#a=new je(this),this.#d=e=>{if(this.#i)return;let n=e.target,r;for(let[e,i]of this.#n)if(i===n){r=e;break}if(r!==void 0){if(this.grouped&&!this.crossGroupSelection){this.#i=!0;for(let[e,n]of this.#n)e!==r&&n.clearSelection();this.#i=!1}this.dispatchEvent(new CustomEvent(`grouped-select`,{detail:{selected:this.selectedItems,groupKey:r===dS?void 0:r},bubbles:!0,composed:!0}))}}}#e;#t;#n;#r;#i;#a;get groupBy(){return this.#e}set groupBy(e){this.#e=e,this.requestUpdate()}get factory(){return this.#t}set factory(e){e!==this.#t&&(this.#s(),this.#t=e,this.requestUpdate())}get provider(){return this.#a.provider}set provider(e){this.#a.provider=e,e&&this.#a.request(void 0)}get selectedItems(){let e=new Set;for(let n of this.#n.values())for(let r of n.selectedItems)e.add(r);return e}dispatch(e,n){for(let r of this.#n.values())r.dispatch(e,n)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener(`select`,this.#d)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`select`,this.#d)}updated(e){super.updated(e),e.has(`grouped`)&&this.#s(),this.#c()}render(){return this.#t?this.grouped?this.#e?(this.#r=this.#o(),i`${_(this.#r.keys(),e=>e,e=>i`<ixfx-panel data-group-key=${e} .title=${e}></ixfx-panel>`)}`):a:i`<div class="ungrouped-host"></div>`:a}#o(){let e=new Map;if(!this.#e)return e;for(let n of this.#a.items){let r=this.#e(n),i=e.get(r);i||(i=[],e.set(r,i)),i.push(n)}return e}#s(){for(let e of this.#n.values())e.remove();this.#n.clear()}#c(){if(this.#t){if(!this.grouped){this.#l();return}this.#e&&this.#u()}}#l(){let e=this.querySelector(`.ungrouped-host`);if(!e)return;let n=this.#n.get(dS);n||(n=this.#t(void 0),e.appendChild(n),this.#n.set(dS,n)),n.setItems(this.#a.items)}#u(){let e=this.#r??this.#o();for(let n of[...this.#n.keys()])e.has(n)||(this.#n.get(n)?.remove(),this.#n.delete(n));for(let[n,r]of e){let e=[...this.children].find(e=>e instanceof HTMLElement&&e.dataset.groupKey===n);if(!e)continue;let i=this.#n.get(n);i||(i=this.#t(n),e.appendChild(i),this.#n.set(n,i)),i.setItems(r)}}#d};E([d({type:Boolean,reflect:!0})],fS.prototype,`grouped`,void 0),E([d({type:Boolean,attribute:`cross-group-selection`,reflect:!0})],fS.prototype,`crossGroupSelection`,void 0),fS=E([T(`ixfx-grouped-item-lister`)],fS);const pS=`application/x-ixfx-tree`,mS=new Map,hS=new Map;let gS,_S=0;function vS(){return`tree-drag-${++_S}-${Date.now()}`}function yS(e,n,r,i){mS.set(e,{sourceId:e,nodes:r,keys:i}),hS.set(e,new WeakRef(n)),gS=e}function bS(e){mS.delete(e),hS.delete(e),gS===e&&(gS=void 0)}function xS(){if(gS===void 0)return;let e=mS.get(gS);if(e)return{sourceId:gS,keys:e.keys,nodes:e.nodes,element:hS.get(gS)?.deref()}}const SS={direction:0,depth:0};function CS(e){return Math.min(e/2,Math.max(24,Math.min(64,e*.2)))}function wS(e,n){if(n<=0)return SS;let r=CS(n);return e<r?{direction:-1,depth:Math.min(1,(r-e)/r)}:e>n-r?{direction:1,depth:Math.min(1,(e-(n-r))/r)}:SS}function TS(e,n){let r=Math.min(1,Math.max(0,n)/2500);return(120+3080*r*r)*(.35+.65*Math.min(1,Math.max(0,e)))}function ES(e,n,r){return Math.max(n,Math.min(r,e))}var DS=class{#e;#t;#n=!1;#r;#i=`internal`;#a=[];#o=[];#s;#c;#l=0;#u=0;#d=0;#f=0;#p=0;#m=0;#h=0;#g;#_=!1;#v;constructor(e,n){this.#e=e,this.#t=n,e.addController(this)}get isDragging(){return this.#n}get isRejected(){return this.#n&&this.#r===void 0}get dropState(){return this.#r}hostConnected(){this.#y()}hostUpdated(){this.#y()}#y(){let e=this.#t.getScrollContainer();!e||e===this.#v||(this.#b(),this.#v=e,e.addEventListener(`dragenter`,this.#x),e.addEventListener(`dragover`,this.#S),e.addEventListener(`dragleave`,this.#w),e.addEventListener(`drop`,this.#T))}#b(){let e=this.#v;e&&(e.removeEventListener(`dragenter`,this.#x),e.removeEventListener(`dragover`,this.#S),e.removeEventListener(`dragleave`,this.#w),e.removeEventListener(`drop`,this.#T),this.#v=void 0)}hostDisconnected(){this.#b(),this.#A(),this.#N(),this.#n=!1,this.#r=void 0}#x=e=>{this.#t.getDndMode()===`none`||!e.dataTransfer||this.#t.resolveDrag(e.dataTransfer,`hover`)!==void 0&&(e.preventDefault(),this.#n||(this.#n=!0,this.#t.onActiveChange(!0)))};#S=e=>{if(this.#t.getDndMode()===`none`||!e.dataTransfer)return;this.#u=e.clientX,this.#d=e.clientY,this.#g=e;let n=this.#t.resolveDrag(e.dataTransfer,`hover`);if(!n){this.#C(e);return}this.#n||(this.#n=!0,this.#t.onActiveChange(!0)),this.#i=n.source,this.#a=n.keys,this.#o=n.nodes;let r=this.#t.getVisibleRows();this.#k(this.#D(r,e.clientY)),this.#j();let i=this.#O(e,r,n.source);if(!i){this.#C(e,!1);return}let a={source:n.source,dragged:n.nodes.length>0?n.nodes:void 0,draggedKeys:n.keys,target:i,dataTransfer:e.dataTransfer};if(!this.#t.vet(a)){this.#C(e,!1);return}e.preventDefault(),e.dataTransfer.dropEffect=n.source===`internal`?`move`:`copy`,this.#P(i)};#C(e,n=!0){e.dataTransfer&&(e.dataTransfer.dropEffect=`none`),this.#P(void 0),n&&this.#A()}#w=e=>{let n=this.#t.getScrollContainer(),r=e.relatedTarget;n&&r&&n.contains(r)||this.#E()};#T=e=>{if(!e.dataTransfer){this.#E();return}e.preventDefault(),this.#N(),this.#A();let n=e=>{this.#r=void 0,this.#n=!1,this.#t.onDropStateChange(void 0),this.#t.onActiveChange(!1),this.#t.onDragEnd(e)};if(this.#t.getDndMode()===`none`){n(!1);return}let r=this.#t.resolveDrag(e.dataTransfer,`drop`);if(!r){n(!1);return}this.#a=r.keys,this.#o=r.nodes;let i=this.#O(e,this.#t.getVisibleRows(),r.source);if(!i){n(!1);return}let a={source:r.source,dragged:r.nodes.length>0?r.nodes:void 0,draggedKeys:r.keys,target:i,dataTransfer:e.dataTransfer};if(!this.#t.vet(a)){n(!1);return}let o={...a,external:r.source===`external`?r.nodes:void 0};n(this.#t.commitDrop(o))};#E(){this.#A(),this.#N(),this.#r!==void 0&&(this.#r=void 0,this.#t.onDropStateChange(void 0)),this.#n&&(this.#n=!1,this.#t.onActiveChange(!1))}#D(e,n){if(e.length!==0)return n<e[0].rect.top?e[0]:n>e[e.length-1].rect.bottom?e[e.length-1]:e.find(e=>n>=e.rect.top&&n<=e.rect.bottom)??e[e.length-1]}#O(e,n,r){if(n.length===0)return;let i=this.#D(n,e.clientY);if(!i)return;let a=ES((e.clientY-i.rect.top)/i.rect.height,0,1),o=a<.25?`before`:a>.75?`after`:`inside`,s=i.node.item.isLeaf===!0;o===`inside`&&s&&(o=`after`);let c=!1;o===`after`&&!s&&this.#t.isExpanded(i.key)&&(o=`inside`,c=!0);let l,u,d,f;if(o===`inside`)l=i.key,u=i.key,d=i.depth+1,f=c?0:i.node.children?.length??0;else{let r=this.#t.getIndentPx()||1,a=n[0].rect.left,s=ES(Math.round((e.clientX-a)/r),0,i.depth),c={node:i.node,depth:i.depth,parentKey:this.#t.getRowInfo(i.key)?.parentKey};u=i.key;for(let e=i.depth-s;e>0&&c.parentKey!==void 0;e--){let e=this.#t.getRowInfo(c.parentKey);if(!e)break;u=c.parentKey,c=e}d=c.depth,l=c.parentKey;let p=this.#t.getChildren(l).findIndex(e=>e.item.key===u);f=(p<0?0:p)+ +(o===`after`)}if(r===`internal`){for(let e of this.#a)if(e===l||e===u||l!==void 0&&this.#t.isSelfOrDescendant(e,l)||o!==`inside`&&this.#t.isSelfOrDescendant(e,u))return;if(this.#a.length>0&&!this.#t.isReorderAllowed()&&!this.#a.some(e=>this.#t.getParentKey(e)!==l))return}return{parentKey:l,index:f,referenceKey:u,position:o,depth:d}}#k(e){if(!e||e.node.item.isLeaf===!0||this.#t.isExpanded(e.key)){this.#A();return}if(e.key===this.#c)return;this.#A();let n=this.#c=e.key;this.#s=setTimeout(()=>{this.#s=void 0,this.#c===n&&(this.#c=void 0,this.#t.expandKey(n))},Math.max(0,this.#t.getExpandHoverMs()))}#A(){this.#s!==void 0&&(clearTimeout(this.#s),this.#s=void 0),this.#c=void 0}#j(){this.#l===0&&(this.#l=requestAnimationFrame(this.#M))}#M=e=>{if(this.#l=0,!this.#n)return;let n=this.#t.getScrollContainer();if(!n||this.#_&&this.#g&&(this.#_=!1,this.#S(this.#g),!this.#n))return;let r=n.getBoundingClientRect(),i=this.#u>=r.left&&this.#u<=r.right?wS(this.#d-r.top,r.height):{direction:0,depth:0};if(i.direction!==this.#f&&(this.#f=i.direction,this.#p=e,this.#m=e,this.#h=0),i.direction===0)return;let a=Math.min(50,Math.max(0,e-this.#m));this.#m=e;let o=TS(i.depth,e-this.#p),s=i.direction*o*a/1e3+this.#h,c=Math.trunc(s);if(this.#h=s-c,c!==0){let e=n.scrollTop;n.scrollTop=e+c,n.scrollTop!==e&&(this.#_=!0)}this.#j()};#N(){this.#l!==0&&(cancelAnimationFrame(this.#l),this.#l=0),this.#f=0,this.#h=0,this.#_=!1,this.#g=void 0}#P(e){let n=e===void 0?this.#r===void 0:e.referenceKey===this.#r?.referenceKey&&e.position===this.#r?.position&&e.depth===this.#r?.depth&&e.index===this.#r?.index;this.#r=e,(!n||this.#n)&&this.#t.onDropStateChange(e)}};function OS(e,n){let r=[],i=new Map,a=[],o=(e,r,i)=>{if(!e||e.length===0)return;let o=e.filter(e=>n.isShown(e,r));for(let e=o.length-1;e>=0;e--)a.push({node:o[e],depth:r,parentKey:i,posInSet:e+1,setSize:o.length})};for(o(e.children,0,void 0);a.length>0;){let{node:e,depth:s,parentKey:c,posInSet:l,setSize:u}=a.pop();i.set(e.item.key,r.length),r.push({node:e,depth:s,parentKey:c,posInSet:l,setSize:u}),e.children&&e.children.length>0&&n.isExpanded(e,s)&&o(e.children,s+1,e.item.key)}return{rows:r,indexByKey:i}}function kS(e){let n=new Map,r=new Set,i=new Set([e.item.key]),a=new Set,o=[];if(e.children)for(let r of e.children)n.set(r.item.key,e.item.key),o.push({node:r,depth:0,parentKey:e.item.key});for(;o.length>0;){let{node:e,depth:s,parentKey:c}=o.pop();if(i.has(e.item.key)&&a.add(e.item.key),i.add(e.item.key),n.set(e.item.key,c),e.item.icon&&r.add(s),e.children)for(let n=e.children.length-1;n>=0;n--){let r=e.children[n];o.push({node:r,depth:s+1,parentKey:e.item.key})}}if(a.size>0){let e=[...a].slice(0,5).map(e=>`"${e}"`).join(`, `);console.warn(`[ixfx-tree] ${a.size} duplicate item key(s) in tree (e.g. ${e}). Keys must be unique across the whole tree; duplicates break checkbox state, expansion and selection.`)}return{parentByKey:n,depthsWithIcons:r}}function AS(e,n){let r=new Set;if(!e.children)return r;let i=[],a=(e,r)=>{i.push({node:e,depth:r,next:0,matched:n(e,r)})};for(let n of e.children)for(a(n,0);i.length>0;){let e=i[i.length-1],n=e.node.children;if(n&&e.next<n.length){a(n[e.next++],e.depth+1);continue}i.pop(),e.matched&&(r.add(e.node.item.key),i.length>0&&(i[i.length-1].matched=!0))}return r}function jS(e,n,r){if(r.size===0)return[...e];let i=new Set;for(let n of e)i.add(n.node.item.key);let a=Symbol(`end`),o=new Map,s=a;for(let e=n.length-1;e>=0;e--){let a=n[e];if(i.has(a)){s=a;continue}let c=r.get(a);if(!c)continue;let l=o.get(s);l?l.push(c):o.set(s,[c])}let c=[];for(let n of e){let e=o.get(n.node.item.key);if(e)for(let n=e.length-1;n>=0;n--)c.push(e[n]);c.push(n)}let l=o.get(a);if(l)for(let e=l.length-1;e>=0;e--)c.push(l[e]);return c}function MS(e,n){let r=new Map;if(!e.children)return r;let i=[];for(let a of e.children)for(i.push({node:a,next:0,checked:0,unchecked:0,counted:0});i.length>0;){let e=i[i.length-1],{node:a}=e,o=a.children,s=a.item.isLeaf||!o?.length;if(!s&&e.next<o.length){i.push({node:o[e.next++],next:0,checked:0,unchecked:0,counted:0});continue}i.pop();let c;c=s?n.has(a)?`checked`:`unchecked`:e.counted===0?`unchecked`:e.checked===e.counted?`checked`:e.unchecked===e.counted?`unchecked`:`indeterminate`,r.set(a.item.key,c);let l=s&&a.item.selectable===!1;if(i.length>0&&!l){let e=i[i.length-1];e.counted++,c===`checked`?e.checked++:c===`unchecked`&&e.unchecked++}}return r}function NS(e,n){if(e.has(n))return e;let r=new Set(e);return r.add(n),r}function PS(e,n){if(!e.has(n))return e;let r=new Set(e);return r.delete(n),r}function FS(e,n){let r;for(let i of e)n(i)&&(r??=new Set(e),r.delete(i));return r??e}function IS(e){return Math.max(1,e.rowHeight+e.gap)}function LS(e,n){return e.listOffset+n*IS(e)+e.gap}function RS(e,n){return LS(e,n)+e.rowHeight}function zS(e,n,r=5){let{count:i}=e;if(i<=0)return{start:0,end:0};let a=IS(e),o=Math.max(0,n-e.listOffset),s=Math.floor(o/a),c=Math.ceil((o+e.viewportHeight)/a),l=Math.min(i,Math.max(0,s-r));return{start:l,end:Math.min(i,Math.max(l,c+r))}}function BS(e,n){if(e.count<=0)return-1;let r=Math.floor((n-e.listOffset)/IS(e));return Math.min(e.count-1,Math.max(0,r))}function VS(e,n,r,i=0){if(n<0||n>=e.count)return r;let a=LS(e,n),o=a+e.rowHeight;return a<r+i?n===0?0:Math.max(0,a-i):o>r+e.viewportHeight?Math.max(0,o-e.viewportHeight):r}function HS(e,n,r,i=0){if(n<0||n>=e.count)return r;let a=LS(e,n),o=a+e.rowHeight;if(a>=r+i&&o<=r+e.viewportHeight)return r;let s=a+e.rowHeight/2-(e.viewportHeight+i)/2;return Math.max(0,s)}function US(e){return Math.max(1,Math.floor(e.viewportHeight/IS(e))-1)}function WS(e){return{count:e.count,topOf:n=>LS(e,n),bottomOf:n=>RS(e,n)}}function GS(e,n){let r=0,i=e.count;for(;r<i;){let a=r+i>>>1;e.bottomOf(a)>n?i=a:r=a+1}return r}function KS(e,n,r,i=0){if(e.count===0)return;let a=Math.min(GS(e,n),e.count-1),o=a,s=e.count;for(;o<s;){let n=o+s>>>1;e.topOf(n)>=r?s=n:o=n+1}let c=Math.max(a,o-1);return{first:Math.max(0,a-i),last:Math.min(e.count-1,c+i)}}function qS(e,n,r,i){let a,o,s=[];for(let i of e)r(i)||(a??=new Set(e),a.delete(i),o??=new Map(n),o.set(i,!0));for(let[c,l]of n)if(r(c)){if(l&&!i(c)){s.push(c);continue}o??=new Map(n),o.delete(c),l!==(a??e).has(c)&&(a??=new Set(e),l?a.add(c):a.delete(c))}return{live:a??e,pending:o?cr(o):n,needsLoad:s,changed:a!==void 0||o!==void 0}}function JS(e,n,r,i,a){if(e.size===0&&n.size===0)return{selected:e,pending:n,restored:!1,changed:!1};let o=new Set,s=new Set,c=!1;for(let n of e){let e=r(n.item.key);e?(o.add(e),e!==n&&(c=!0)):(s.add(n.item.key),c=!0)}let l;for(let e of n){let n=r(e);n&&i(n)?(o.add(n),l=n,c=!0):s.add(e)}if(!c)return{selected:e,pending:n,restored:!1,changed:!1};let u=o,d=s;return a&&o.size>0&&(u=new Set([l??[...o].at(-1)]),d=k),{selected:u,pending:sr(d),restored:l!==void 0,changed:!0}}function YS(e,n,r,i){let a=n,o=!1;return e!==void 0&&!r(e)&&(a??=e,o=!0),a!==void 0&&i(a)?{clear:o,apply:a,pending:void 0}:{clear:o,apply:void 0,pending:a}}function XS(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):void 0}function ZS(e,n,r){if(!e)return{status:`missing`};let i=[],a=e;for(let e of n){if(a.children===void 0)return r(a)?{status:`load`,node:a,depth:i.length-1}:{status:`missing`};let n=a.children.find(n=>n.item.key===e);if(!n)return{status:`missing`};i.push(n),a=n}return{status:`found`,nodes:i}}const QS={rows:[],indexByKey:new Map};let J=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.scrollHoverTickle=!1,this.registry=void 0,this.itemDnd=`none`,this.dndExpandHoverMs=500,this.reorderable=!0,this.stickyHeaders=!0,this.virtualize=`auto`,this.virtualizeThreshold=200,this.animation=`auto`,this.applyInternalDrop=!0,this._expandedKeys=new Set,this.restoreLoads=!0,this.#t=new f_(this,{kind:`tree-list`,capture:()=>this.getViewState()}),this.#n=ir,this.#r=k,this.#o=-1,this.#d=0,this._selectionVersion=0,this._scrollTop=0,this.#g={rowHeight:30,gap:1,listOffset:0},this.#_=0,this.#v=0,this.#x=0,this.#S=0,this.#C=!1,this.#k=()=>{this.#v===0&&(this.#v=requestAnimationFrame(()=>{this.#v=0,this.#A()}))},this.tickled=new oe(this,{getItems:()=>this.#m().rows.map(({node:e})=>({id:e.item.key,enabled:!0})),hoverDisabled:()=>this.#re?.isDragging===!0||this.#ie?.isDragging===!0,onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)}}),this.#F=Sr({host:this,enabled:()=>!this.scrollHoverTickle,onResume:(e,n)=>{let r=(this.shadowRoot?.elementFromPoint?.(e,n)?.closest(`li.item`))?.dataset.key,i=this.#m(),a=r===void 0?void 0:i.indexByKey.get(r),o=a===void 0?void 0:i.rows[a];o&&this._handleRowPointerEnter(o.node,o.depth)}}),this._focusedDepth=0,this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.tree-label`,highlightKey:`incr-search-highlight`})}),this.#W={indent:20},this.#G=[],this.#K=[],this.#q=new Map,this.#J=new Map,this.#Y=new Set,this.#X=new Map,this.#Z=new Map,this.#Q=!1,this.#ee=``,this.#ae=new Set,this.#oe=!1,this.#ce=()=>{this.#se=void 0},this.#ue=()=>{this.#be===0&&(this.#be=requestAnimationFrame(()=>{this.#be=0,this.#fe()}))},this._stickyKeys=[],this.#ve=new Map,this.#ye=!0,this.#be=0,this.#Se=!1,this.#We=()=>{this.#t.notifyScroll()},this.#et=`user`,this.#tt=!1,this.#wt=0,this.#It=e=>{if(this.search.isOpen)return;let n=this.#m().rows;if(n.length===0)return;if((e.ctrlKey||e.metaKey)&&e.key===`a`){if(e.preventDefault(),this.#at({kind:`all`,keys:[],source:`keyboard`}))return;this.#Je({visibleOnly:!0});return}[`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`,`PageUp`,`PageDown`,`Enter`,` `].includes(e.key)&&this.tickled.setInputMode(`keyboard`);let r=this.#jt();switch(e.key){case`ArrowDown`:e.preventDefault(),this.#Ft(n,r,Math.min(r+1,n.length-1),e.shiftKey);break;case`ArrowUp`:e.preventDefault(),this.#Ft(n,r,Math.max(r-1,0),e.shiftKey);break;case`Home`:e.preventDefault(),this.#Ft(n,r,0,e.shiftKey);break;case`End`:e.preventDefault(),this.#Ft(n,r,n.length-1,e.shiftKey);break;case`PageDown`:{e.preventDefault();let i=this.#Pt();this.#Ft(n,r,Math.min(r+i,n.length-1),e.shiftKey);break}case`PageUp`:{e.preventDefault();let i=this.#Pt();this.#Ft(n,r,Math.max(r-i,0),e.shiftKey);break}case`ArrowRight`:{e.preventDefault();let i=n[r];i&&i.node.item.isLeaf!==!0&&(this._expandedKeys.has(i.node.item.key)?r+1<n.length&&this.#Mt(r+1):this.#ht(i.node,i.depth)),this.requestUpdate();break}case`ArrowLeft`:{e.preventDefault();let i=n[r];if(i&&this._expandedKeys.has(i.node.item.key))this.#e(PS(this._expandedKeys,i.node.item.key)),this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:i.node,depth:i.depth},bubbles:!0,composed:!0}));else if(i.depth>0){let e=i.depth-1;for(let i=r-1;i>=0;i--)if(n[i].depth===e){this.#Mt(i);break}}this.requestUpdate();break}case`Enter`:{e.preventDefault();let i=n[r];i&&(this.interactionMode!==`manual`&&this.interactionMode!==`checked`&&(this.#st(i.node,`keyboard`,!1),this.requestUpdate()),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:i.node,depth:i.depth},bubbles:!0,composed:!0})),this.requestUpdate());break}case` `:{e.preventDefault();let i=n[r];if(!i)break;this.interactionMode===`checked`?this._handleCheckboxClick(new MouseEvent(`click`),i.node,i.depth,`keyboard`):(this.interactionMode===`standard`||this.interactionMode===`vscode`||this.interactionMode===`manual`)&&this.#mt(i.node,i.depth);break}case`Escape`:e.preventDefault(),this.#Et()}},this.#Lt=e=>{let n=e.target.closest(`ul.tree-list li`);if(!n)return;let r=n.dataset.key;if(!r)return;let i=this.#m(),a=i.indexByKey.get(r),o=a===void 0?void 0:i.rows[a];if(!o)return;let s={node:o.node,depth:o.depth};this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:s,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:s,bubbles:!0,composed:!0}))}}get selectedNodes(){return this._selectedNodes}#e(e){e!==this._expandedKeys&&(this._expandedKeys=e,this.#c=void 0,this.#ye=!0,this.#t.notify())}#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;invalidateStructure(){this.#d++,this.#c=void 0,this.requestUpdate()}#m(){if(!this.root)return QS;if(this.#c&&this.#l===this.root&&this.#u===this.filterPredicate)return this.#c;let e=this.#P();return this.#c=OS(this.root,{isExpanded:(e,n)=>this._isExpanded(e,n),isShown:e?n=>e.matches.has(n.item.key):()=>!0}),this.#l=this.root,this.#u=this.filterPredicate,this.#c}#h(){let e=this.root;if(!e)return{parentByKey:new Map,depthsWithIcons:new Set};let n=this.#f;if(n&&n.root===e&&n.version===this.#d)return n.index;let r=kS(e);return this.#f={root:e,version:this.#d,index:r},r}#g;#_;#v;#y;#b;#x;#S;#C;#w(){return this.virtualize===`off`?!1:this.virtualize===`on`||this.#m().rows.length>this.virtualizeThreshold}#T(e){return{count:e,rowHeight:this.#g.rowHeight,gap:this.#g.gap,listOffset:this.#g.listOffset,viewportHeight:this.#_>0?this.#_:600}}#E(){let e=this.renderRoot.querySelector(`ul.tree-list`),n=e?.querySelector(`li.item:not(.leaving)`),r=n?.getBoundingClientRect().height??0,i=r>0?r:this.#Me(),a=n?Number.parseFloat(getComputedStyle(n).marginTop):NaN,o=Number.isNaN(a)?Number.parseFloat(getComputedStyle(this).getPropertyValue(`--tree-item-gap`)):a,s=Number.isNaN(o)?1:o,c=this.#g.listOffset;if(e){let n=Number.parseFloat(getComputedStyle(e).paddingTop);c=e.offsetTop+(Number.isNaN(n)?0:n)}let l=this.#Ae()?.clientHeight??0,u=l>0&&l!==this.#_;l>0&&(this.#_=l);let d=this.#g,f=d.rowHeight!==i||d.gap!==s||d.listOffset!==c;return this.#g={rowHeight:i,gap:s,listOffset:c},f||u}#D(e){return zS(this.#T(e),this._scrollTop)}#O(){let e=this.#Ae()?.scrollTop;e!==void 0&&e!==this._scrollTop&&(this._scrollTop=e)}#k;#A(){let e=this.#Ae();if(!e||!this.root||!this.#w())return;let n=e.scrollTop;if(n===this._scrollTop)return;let r=zS(this.#T(this.#m().rows.length),n);(r.start!==this.#x||r.end!==this.#S)&&(this._scrollTop=n)}#j(){let e=this.#Ae();e!==this.#y&&(this.#y?.removeEventListener(`scroll`,this.#k),this.#b?.disconnect(),this.#b=void 0,this.#y=e,e&&(e.addEventListener(`scroll`,this.#k,{passive:!0}),typeof ResizeObserver<`u`&&(this.#b=new ResizeObserver(e=>{let n=e.at(-1)?.contentRect.height??0;n>0&&n!==this.#_&&this.#w()&&this.requestUpdate()}),this.#b.observe(e))))}#M(){this.#y?.removeEventListener(`scroll`,this.#k),this.#y=void 0,this.#b?.disconnect(),this.#b=void 0,this.#v!==0&&(cancelAnimationFrame(this.#v),this.#v=0)}#N(e,n=`edge`){let r=this.#Ae();if(!r)return;let i=this.#T(this.#m().rows.length),a=this.renderRoot.querySelector(`.sticky-headers`)?.getBoundingClientRect().height??0,o=(n===`center-if-hidden`?HS:VS)(i,e,r.scrollTop,a);(o!==r.scrollTop||o!==this._scrollTop)&&(r.scrollTop=o,this._scrollTop=o)}#P(){let e=this.filterPredicate,n=this.root;if(!e||!n)return;let r=this.#p;if(r&&r.predicate===e&&r.root===n&&r.version===this.#d)return r;let i=AS(n,e),{parentByKey:a}=this.#h(),o=new Set;for(let e of i){let n=a.get(e);n!==void 0&&o.add(n)}let s={predicate:e,root:n,version:this.#d,matches:i,autoExpanded:o};return this.#p=s,s}get _structureVersion(){return this.#d}get _depthsWithIcons(){return this.#h().depthsWithIcons}#F;_handleRowPointerEnter(e,n){this.#F.suppressed()||(this.tickled.handlePointerEnter(e.item.key),this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})))}#I;#L(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#R(){this.#U&&(this.search.setModes(this.#L()),this.#I?.(),this.#I=zt(this.#U,this.search))}#z;#B;#V;#H;#U;#W;#G;#K;#q;#J;#Y;#X;#Z;#Q;#$;#ee;#te;#ne;#re;#ie;#ae;#oe;#se;#ce;#le(){let e=this.#Ae();this.stickyHeaders&&e?(!this.#Se||this.#xe!==e)&&(this.#xe?.removeEventListener(`scroll`,this.#ue),e.addEventListener(`scroll`,this.#ue,{passive:!0}),this.#xe=e,this.#Se=!0):this.#Se&&=(this.#xe?.removeEventListener(`scroll`,this.#ue),this.#xe=void 0,!1)}#ue;#de(e){return{count:e.length,topOf:n=>e[n].offsetTop,bottomOf:n=>e[n].offsetTop+e[n].offsetHeight}}#fe(){this.#ye=!1;let e=new Map,n=()=>this.#pe([],e);if(!this.stickyHeaders||!this.root)return n();let r=this.#Ae(),i=this.renderRoot.querySelector(`ul.tree-list`);if(!r||!i)return n();let a=this.#m(),o=this.#w(),s=i.children,c=this.#K;if(a.rows.length===0||!o&&(s.length===0||s.length!==c.length))return n();let l=o?WS(this.#T(a.rows.length)):this.#de(s),u=r.scrollTop,d=u+(this.renderRoot.querySelector(`.sticky-headers`)?.getBoundingClientRect().height??0),f=GS(l,u);if(!o)for(;f<s.length&&s[f].classList.contains(`leaving`);)f++;if(f>=l.count)return n();let p=o?f:a.indexByKey.get(c[f]);if(p===void 0)return n();let m=[],h=a.rows[p].parentKey;for(;h!==void 0;){let e=a.indexByKey.get(h);if(e===void 0)break;m.unshift(a.rows[e]),h=a.rows[e].parentKey}let g=new Map,_=[];for(let e of m){let n=e.node.item.key,r=o?a.indexByKey.get(n):this.#q.get(n);r===void 0||l.bottomOf(r)>d||(_.push(n),g.set(n,{node:e.node,depth:e.depth}))}this.#pe(_,g)}#pe(e,n){let r=this._stickyKeys;r.length===e.length&&r.every((n,r)=>n===e[r])||(this.#ve=n,this._stickyKeys=e)}#me(){return!this.stickyHeaders||this._stickyKeys.length===0?a:i`
|
|
8218
8218
|
<div class="sticky-anchor">
|
|
8219
8219
|
<div class="sticky-headers" part="sticky-headers">
|
|
8220
8220
|
${this._stickyKeys.map(e=>{let n=this.#ve.get(e);return n?this.#he(n.node,n.depth):a})}
|
|
@@ -8232,36 +8232,36 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8232
8232
|
@click=${n=>this.#ge(n,e)}
|
|
8233
8233
|
@keydown=${n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),this.#_e(e))}}
|
|
8234
8234
|
>${this.renderNodeContent(e,n)}</div>
|
|
8235
|
-
`}#ge(e,n){if(!(this.#re?.isDragging||this.#ie?.isDragging)){if(n.item.isLeaf!==!0&&e.target instanceof Element&&e.target.closest(`.tree-caret`)){let e=this.#ve.get(n.item.key)?.depth??0;this.#
|
|
8236
|
-
`))}catch{}},onActiveChange:e=>{this.toggleAttribute(`data-native-dragging`,e),e||(this.#ae=new Set),this.requestUpdate()},onEnd:()=>{yS(this.#ee),this.#ae=new Set,this.#te=setTimeout(()=>{this.#te=void 0},150),this.#oe||this.dispatchEvent(new CustomEvent(`tree-drag-end`,{detail:{dropped:!1},bubbles:!0,composed:!0})),this.#oe=!1}}),this.#re=new ES(this,{getDndMode:()=>this.itemDnd,getExpandHoverMs:()=>this.dndExpandHoverMs,getVisibleRows:()=>this.#Fe(),getRowInfo:e=>{let n=this.#m(),r=n.indexByKey.get(e);if(r===void 0)return;let{node:i,depth:a,parentKey:o}=n.rows[r];return{node:i,depth:a,parentKey:o}},getChildren:e=>this.#Ne(e),getIndentPx:()=>this.#je(),getScrollContainer:()=>this.#Ae(),isSelfOrDescendant:(e,n)=>this.#Le(e,n),isExpanded:e=>this._expandedKeys.has(e),isReorderAllowed:()=>this.reorderable,getParentKey:e=>this.#Re(e)?.item.key,resolveDrag:(e,n)=>this.#Be(e,n),vet:e=>{if(this.canDrop&&!this.canDrop(e))return!1;let n=new CustomEvent(`tree-drag-over`,{detail:e,bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(n)},expandKey:e=>this.#Ie(e),onDropStateChange:e=>{this.#ne=e,this.toggleAttribute(`data-drop-rejected`,this.#re.isDragging&&e===void 0),this.requestUpdate()},onActiveChange:e=>{e?(this.#se=void 0,this.#Ae()?.addEventListener(`scroll`,this.#ce,{passive:!0})):(this.#Ae()?.removeEventListener(`scroll`,this.#ce),this.#se=void 0,this.toggleAttribute(`data-drop-rejected`,!1)),this.requestUpdate()},commitDrop:e=>this.dispatchEvent(new CustomEvent(`tree-drop`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))?(this.applyInternalDrop&&e.source===`internal`&&this.model&&this.model.applyDrop({source:`internal`,draggedKeys:e.draggedKeys,target:e.target}),this.#oe=!0,!0):!1,onDragEnd:e=>{this.#ne=void 0,this.toggleAttribute(`data-drop-rejected`,!1),this.requestUpdate(),this.dispatchEvent(new CustomEvent(`tree-drag-end`,{detail:{dropped:e},bubbles:!0,composed:!0}))}})}#Ae(){return this.shadowRoot?.querySelector(`#container`)??void 0}#je(){let e=Number.parseInt(getComputedStyle(this).getPropertyValue(`--tree-indent`),10);return Number.isNaN(e)?20:e}#Me(){let e=Number.parseInt(getComputedStyle(this).getPropertyValue(`--tree-item-height`),10);return Number.isNaN(e)?30:e}#Ne(e){if(e===void 0)return this.root?.children??[];let n=this.#m(),r=n.indexByKey.get(e);return r===void 0?[]:n.rows[r].node.children??[]}#Pe(e,n,r){let i=this.#m(),a=this.#T(i.rows.length),o=GS(US(a),e.scrollTop,e.scrollTop+e.clientHeight,1);if(!o)return;let s=e.getBoundingClientRect(),c=n.querySelector(`li.item`)?.getBoundingClientRect()??s;for(let n=o.first;n<=o.last;n++){let{node:o,depth:l}=i.rows[n],u=s.top-e.scrollTop+IS(a,n),d={x:c.left,y:u,left:c.left,right:c.left+c.width,top:u,bottom:u+a.rowHeight,width:c.width,height:a.rowHeight,toJSON:()=>({})};r.push({key:o.item.key,node:o,depth:l,index:n,rect:d})}}#Fe(){if(this.#se)return this.#se;let e=[],n=this.#Ae(),r=this.renderRoot.querySelector(`ul.tree-list`),i=this.#K;if(n&&r&&this.#w())this.#Pe(n,r,e);else if(n&&r&&r.children.length===i.length){let a=this.#m(),o=r.children,s=GS(this.#de(o),n.scrollTop,n.scrollTop+n.clientHeight,1);if(s)for(let n=s.first;n<=s.last;n++){let r=o[n];if(r.classList.contains(`leaving`))continue;let s=a.indexByKey.get(i[n]);if(s===void 0)continue;let{node:c,depth:l}=a.rows[s];e.push({key:c.item.key,node:c,depth:l,index:s,rect:r.getBoundingClientRect()})}}return this.#se=e,e}#Ie(e){if(this._expandedKeys.has(e))return;let n=this.#m(),r=n.indexByKey.get(e),i=r===void 0?void 0:n.rows[r];!i||i.node.item.isLeaf===!0||(this.#lt(i.node,i.depth),this.#se=void 0,this.requestUpdate())}#Le(e,n){if(e===n)return!0;let{parentByKey:r}=this.#h(),i=r.get(n);for(;i!==void 0;){if(i===e)return!0;i=r.get(i)}return!1}#Re(e){let n=this.#h().parentByKey.get(e);if(n!==void 0&&n!==this.root?.item.key)return this.#ze(n)}#ze(e){let n=this.#m(),r=n.indexByKey.get(e);if(r!==void 0)return n.rows[r].node;let{parentByKey:i}=this.#h(),a=[];for(let n=e;n!==void 0&&n!==this.root?.item.key;n=i.get(n))a.unshift(n);let o=this.root;for(let e of a)o=o?.children?.find(n=>n.item.key===e);return o}#Be(e,n){let r=this.itemDnd;if(r===`none`)return;let i=r===`internal`||r===`both`,a=r===`external`||r===`both`,o=[];try{o=Array.from(e.types)}catch{}let s=bS(),c=o.includes(fS)||s!==void 0;if(i&&c){if(s&&s.keys.length>0){let e=this.root?Gg(this.root,s.keys):s.keys;return{source:`internal`,keys:e,nodes:e.map(e=>this.#ze(e)).filter(e=>e!==void 0)}}if(n===`drop`)try{let n=e.getData(fS);if(n){let e=JSON.parse(n);return{source:`internal`,keys:e.keys??[],nodes:e.nodes??[]}}}catch{}return{source:`internal`,keys:[],nodes:[]}}if(a&&!c){if(this.acceptDropTypes!==void 0){let n=this.acceptDropTypes.trim().split(/\s+/).filter(Boolean),r=Array.from(e.types);if(n.length>0&&!n.some(e=>r.includes(e)))return}if(n===`drop`){let n=this.parseExternalDrop?.(e);return!n||n.length===0?void 0:{source:`external`,keys:n.map(e=>e.item.key),nodes:n}}return this.parseExternalDrop?{source:`external`,keys:[],nodes:[]}:void 0}}#Ve(){if(this.itemDnd===`none`)return!1;let e=this.#m().rows;return e.length===0?!1:!this.canDrag||e.some(({node:e})=>this.canDrag({nodes:[e],keys:[e.item.key]}))}disconnectedCallback(){super.disconnectedCallback(),this.#we(),this.#X.clear(),this.#Y.clear(),this.#V?.(),this.#V=void 0,this.#I?.(),this.#I=void 0,this.#te!==void 0&&(clearTimeout(this.#te),this.#te=void 0),this.#Ae()?.removeEventListener(`scroll`,this.#ce),this.#F.end(),this.#M(),this.#Se&&=(this.#xe?.removeEventListener(`scroll`,this.#ue),this.#xe=void 0,!1),this.#be!==0&&(cancelAnimationFrame(this.#be),this.#be=0),yS(this.#ee),this.#U&&(this.#U.unregister(`select-all`),this.#U.unregister(`deselect-all`),this.#U=void 0,this.registry=void 0)}getConfig(){return{...this.#W}}setConfig(e){this.#W={...this.#W,...e},this.requestUpdate()}getViewState(e){let n=e?.includePending??!0,r=this.tickled.tickledId,i=this.tickled.inputMode===`keyboard`||r!==void 0&&r===this.#a?r:void 0;return this.#t.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#r:[]),expanded:dr(n?this.#n:[],pr(this._expandedKeys)),focus:i??(n?this.#i:void 0),scroll:(n?this.#t.pendingScroll:void 0)??this.#Ge()},e)}setViewState(e){this.#t.accepts(e)&&(this.#t.restoring(()=>{if(e.expanded&&(this.#n=cr(ur(e.expanded)),this.#e(new Set)),e.selected&&(this.#r=sr(new Set(e.selected)),this._selectedNodes.size>0)){let e=new Set(this._selectedNodes);this.#Qe(),this.#tt(e)}e.focus!==void 0&&(this.#i=e.focus),e.scroll&&(this.#t.pendingScroll=e.scroll),this.#He()}),this.requestUpdate())}clearPendingViewState(){this.#n=ir,this.#r=k,this.#i=void 0,this.#t.pendingScroll=void 0}#He(){if(this.#o=this.#d,!this.root)return;let{parentByKey:e}=this.#h(),n=n=>e.has(n);this.#t.restoring(()=>{let e=KS(this._expandedKeys,this.#n,n,e=>this.#ze(e)?.children!==void 0);if(e.changed){let n=e.pending;for(let r of e.needsLoad)this.#ze(r)?.item.isLeaf!==!1&&(n=lr(n,r));this.#n=n,e.live!==this._expandedKeys&&(this.#$??=!1,this.#e(e.live))}let r=qS(this._selectedNodes,this.#r,e=>n(e)?this.#ze(e):void 0,e=>this.#Ze(e),this.interactionMode===`implicit`);if(r.changed){let e=this._selectedNodes;this._selectedNodes=new Set(r.selected),this.#r=r.pending;let n=this.selectedNode?.item.key;this.selectedNode=(n===void 0?void 0:[...r.selected].find(e=>e.item.key===n))??[...r.selected].at(-1),r.restored?this.#tt(e):this._selectionVersion++}let i=this.tickled.tickledId;i!==void 0&&!n(i)&&(this.#i??=i,this.tickled.clearTickled()),this.#i!==void 0&&this.#m().indexByKey.has(this.#i)&&(this.tickled.setTickled(this.#i),this.#a=this.#i,this.#i=void 0)})}#Ue(){let e=this.#Ae();e&&e!==this.#s&&(this.#s?.removeEventListener(`scroll`,this.#We),this.#s=e,e.addEventListener(`scroll`,this.#We,{passive:!0}),this.#t.observeScrollTarget(e)),this.#t.applyPendingScroll(e=>this.#Ke(e)),this.#qe()}#We;#Ge(){let e=this.#Ae();if(!e)return;let n=this.#m().rows;this.#w()||this.#E();let r=this.#T(n.length),i=e.scrollTop,a=zS(r,i);return s_(i,a>=0?n[a]?.node.item.key:void 0,a>=0?IS(r,a):0)}#Ke(e){let n=this.#Ae();if(!n)return!1;let r=e.top;if(e.anchor){let n=this.#m(),i=n.indexByKey.get(e.anchor.key);if(i===void 0)return!1;this.#w()||this.#E(),r=IS(this.#T(n.rows.length),i)+e.anchor.offset}return o_(n,r)}#qe(){if(!this.restoreLoads||this.#z||this.#n.size===0||!this.root||!this.#mt())return;let{parentByKey:e}=this.#h();for(let[n,r]of this.#n){if(!r||!e.has(n))continue;let i=this.#ze(n);if(i&&i.children===void 0&&i.item.isLeaf===!1){let r=0;for(let i=e.get(n);i!==void 0&&i!==this.root.item.key;i=e.get(i))r++;this.#ht(i,r);return}}}select(e){if(!this.#Ze(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#tt(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#tt(n),this.requestUpdate()}clearSelection(){if(this.#r=k,this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#Qe(),this.#tt(e),this.requestUpdate()}selectAll(e={}){let n=new Set(this._selectedNodes);for(let n of this.#Je(e))this.#Ze(n)&&this._selectedNodes.add(n);(this.selectedNode===void 0||!this._selectedNodes.has(this.selectedNode))&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#tt(n),this.requestUpdate()}deselectAll(e={}){let n=new Set(this._selectedNodes);for(let n of this.#Je(e))this._selectedNodes.delete(n);this.selectedNode!==void 0&&!this._selectedNodes.has(this.selectedNode)&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#tt(n),this.requestUpdate()}#Je(e){if(e.visibleOnly===!0&&this.interactionMode!==`checked`)return this.#m().rows.map(e=>e.node);let n=this.#P()?.matches,r=[],i=e=>{n&&!n.has(e.item.key)||(r.push(e),e.children?.forEach(i))};return this.root?.children?.forEach(i),r}expandAll(e,n){this.#$=n,this.#Ye(!0,e)}collapseAll(e,n){this.#$=n,this.#Ye(!1,e)}#Ye(e,n){let r=this.root;if(!r)return;let i=r=>e?r<(n??1/0):r>=(n??0),a=[],o=this._expandedKeys,s=(n,r)=>{let c=n.children;if(n.item.isLeaf!==!0&&c!==void 0&&c.length>0&&i(r)){let i=o.has(n.item.key);e&&!i?(o=MS(o,n.item.key),this._isExpanded(n,r)||a.push({node:n,depth:r})):!e&&i&&(o=NS(o,n.item.key),a.push({node:n,depth:r}))}for(let e of c??[])s(e,r+1)};for(let e of r.children??[])s(e,0);if(o===this._expandedKeys)return;this.#e(o);let c=e?`expand`:`collapse`;for(let{node:e,depth:n}of a)this.dispatchEvent(new CustomEvent(c,{detail:{node:e,depth:n},bubbles:!0,composed:!0}));this.requestUpdate()}navigateTo(e,n={}){if(!this.root?.children)return!1;let r=this.#$e,i=this.#et;this.#$e=`programmatic`,this.#et=n.silent===!0,n.animate!==void 0&&(this.#$=n.animate);try{return this.#Xe(e,n.reveal??`edge`)}finally{this.#$e=r,this.#et=i}}#Xe(e,n){this.#bt(),this.#Qe(),this.tickled.clearTickled(),this._focusedDepth=0;let r=this.root;for(let n of e){let i=r?.children;if(!i)return!1;let a=i.find(e=>e.item.key===n);if(!a)return!1;this.#xt(a.item.key),this.#e(MS(this._expandedKeys,a.item.key)),n===e.at(-1)&&(this.select(a),this.tickled.setTickled(a.item.key)),r=a}return this.#ye=!0,this.requestUpdate(),this.#_t(e.at(-1),n),!0}navigateToNode(e,n){if(!this.root?.children)return!1;n!==void 0&&(this.#$=n);let r=this.#nt(this.root.children,e);return r?this.navigateTo(r):!1}revealKey(e,n){if(!this.root?.children)return!1;n!==void 0&&(this.#$=n);let r=this.#nt(this.root.children,n=>n.item.key===e);if(!r)return!1;for(let e=0;e<r.length-1;e++)this.#xt(r[e]),this.#e(MS(this._expandedKeys,r[e]));return this.tickled.setTickled(e),this.#ye=!0,this.requestUpdate(),this.updateComplete.then(()=>this.#_t(e)),!0}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#Ze(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#tt(n),this.requestUpdate()}getNodes(){if(!this.root?.children)return[];let e=[],n=(r,i)=>{if(e.push({node:r,depth:i}),r.children)for(let e of r.children)n(e,i+1)};for(let e of this.root.children)n(e,0);return e}#Ze(e){return e.item.selectable===!1||this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0||e.item.isLeaf!==!1&&e.children?.length===0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#Qe(){this._selectionVersion++,this._selectedNodes.clear(),this.selectedNode=void 0}#$e;#et;#tt(e){if(this._selectionVersion++,this.#t.isRestoring||(this.#r=k),this.#t.notify(),this.#et)return;let n={selected:new Set(this._selectedNodes),previous:e,origin:this.#$e};this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}#nt(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#nt(i.children,n,e);if(r)return r}}}renderNodeContent(e,n){let r=e.item.isLeaf!==!0,o=this._isExpanded(e,n);return i`
|
|
8235
|
+
`}#ge(e,n){if(!(this.#re?.isDragging||this.#ie?.isDragging)){if(n.item.isLeaf!==!0&&e.target instanceof Element&&e.target.closest(`.tree-caret`)){let e=this.#ve.get(n.item.key)?.depth??0;this.#ht(n,e),this.#ye=!0,this.requestUpdate();return}this.#_e(n)}}#_e(e){this.#Qe(e)&&this.select(e),this.#Ct(e.item.key),this.#ye=!0,this.requestUpdate()}#ve;#ye;#be;#xe;#Se;get nativeDrag(){return this.#ie}get dropState(){return this.#ne}get nativeDragKeys(){return this.#ae}#Ce(e){this.#Z.get(e)?.cancel(),this.#Z.delete(e)}#we(){for(let e of this.#Z.values())try{e.cancel()}catch{}this.#Z.clear()}willUpdate(e){super.willUpdate(e);let n=this.#c!==void 0&&e.size===1&&e.has(`_scrollTop`)&&this.#w();if(this.#C=n,n){this.#O();return}this.#c=void 0,(e.has(`root`)||e.has(`model`))&&this.#d++,this.#o!==this.#d&&this.#He(),this.#Te(e.has(`filterPredicate`));let r=this.#w();this.toggleAttribute(`data-virtual`,r),r&&(this.#E(),this.#O()),(e.has(`root`)||e.has(`model`)||e.has(`filterPredicate`)||e.has(`stickyHeaders`))&&(this.#ye=!0),this.#ye&&this.#fe()}#Te(e){let n=this.#m().rows;if(this.#w()){this.#Y.clear(),this.#we(),this.#X.clear(),this.#G=[];return}let r=new Set(n.map(e=>e.node.item.key));if(this.#Y.clear(),e)this.#we(),this.#X.clear();else if(this.#Q&&this.#G.length>0){let e=new Set(this.#G);for(let{node:r}of n)e.has(r.item.key)||this.#Y.add(r.item.key);this.#Y.size>50&&this.#Y.clear();for(let e of this.#G)if(!r.has(e)&&!this.#X.has(e)){let n=this.#J.get(e);n&&this.#X.set(e,n)}}for(let e of[...this.#X.keys()])r.has(e)&&(this.#Ce(e),this.#X.delete(e));this.#X.size>50&&(this.#we(),this.#X.clear())}_isLeaving(e){return this.#X.has(e.item.key)}_isFilteredOut(e,n){return!1}#Ee(){if(this.#De()||(this.#Y.clear(),this.#we(),this.#X.clear()),this.#Y.size>0){for(let e of this.renderRoot.querySelectorAll(`.item`)){let n=e.dataset.key;if(!(n===void 0||!this.#Y.has(n))){if(this.#Z.has(n))this.#Ce(n);else for(let n of e.getAnimations())n.cancel();Qn(e)}}this.#Y.clear()}if(this.#X.size>0)for(let e of this.renderRoot.querySelectorAll(`.item.leaving`)){let n=e.dataset.key;if(n===void 0||this.#Z.has(n))continue;let r=tr(e),i=r.animation;if(!i){r.then(()=>{this.#X.has(n)&&(this.#X.delete(n),this.requestUpdate())});continue}this.#Ce(n),this.#Z.set(n,i),r.then(()=>{this.#Z.get(n)===i&&(this.#Z.delete(n),this.#X.delete(n),this.requestUpdate(),this.updateComplete.then(()=>{try{i.cancel()}catch{}}))})}let e=this.#m().rows;this.#G=e.map(e=>e.node.item.key),this.#J.clear();for(let n of e)this.#J.set(n.node.item.key,n);this.#Q=!0}#De(){return this.#$===void 0?this.animation===`never`?!1:this.animation===`always`||!Kn():this.#$}updated(e){if(this.#se=void 0,this.#j(),e.has(`scrollHoverTickle`)&&this.scrollHoverTickle&&this.#F.end(),this.#C){this.#C=!1,this.#Oe();return}if(this.#le(),e.has(`root`)&&this.root&&(this.#Et(),this._focusedDepth=0,this.#we(),this.#X.clear(),this.#Y.clear()),e.has(`model`)){this.#V?.(),this.#V=void 0;let e=this.model;e&&(this.root=e.root,this.#V=e._subscribe(e=>{e.type===`root`?(this.root=e.root,this.requestUpdate()):e.type===`invalidate`&&this._expandedKeys.has(e.key)&&(this.#e(PS(this._expandedKeys,e.key)),this.requestUpdate())}))}e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#H=void 0,this.clearSelection()),e.has(`selectedNode`)&&this.selectedNode&&e.get(`selectedNode`)!==this.selectedNode&&this.tickled.setTickled(this.selectedNode.item.key),this.#w()?(this.#G=[],this.#J.clear(),this.#E()&&queueMicrotask(()=>this.requestUpdate()),this.#Oe()):this.#Ee(),this.#$=void 0,this.#Ue()}#Oe(){this.search.isOpen&&this.search.repaintHighlights()}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#U=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll({visibleOnly:!0})}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#R(),this.#ke()}#ke(){this.#ee=vS(),this.#ie=new nr(this,{source:`tree-list`,isEnabled:()=>this.itemDnd!==`none`&&this.#Ve(),resolveEventToKey:e=>{if(e instanceof Element)return e.closest(`ul.tree-list li[data-key]`)?.getAttribute(`data-key`)??void 0},prepareSelection:e=>{let n=this.#m(),r=n.rows,i=n.indexByKey.get(e),a=i===void 0?void 0:r[i];if(!a)return;let o=new Set(this._selectedNodes);o.has(a.node)||o.clear(),o.add(a.node);let s=r.filter(e=>o.has(e.node)).map(e=>e.node.item.key),c=new Set(this.root?Kg(this.root,s):s),l=r.filter(e=>c.has(e.node.item.key)).map((e,n)=>({key:e.node.item.key,index:n,item:e.node,element:this.shadowRoot?.querySelector(`ul.tree-list li[data-key="${CSS.escape(e.node.item.key)}"]`)??void 0})),u=l.find(n=>n.key===e)??{key:e,index:0,item:a.node,element:void 0};return l.some(e=>e.key===u.key)||l.unshift(u),{origin:u,selected:l}},getMetrics:()=>({rowHeight:this.#Me()}),getRenderer:()=>this.dragPreviewRenderer,getDragPreviewSourceResolver:()=>this.dragPreviewSource,dispatch:e=>{let n=e.selected.map(e=>e.key),r=e.selected.map(e=>e.item),i=new CustomEvent(`list-native-drag-start`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}),a=this.dispatchEvent(i);return a&&(this.#ae=new Set(n),this.#oe=!1,(this.itemDnd===`internal`||this.itemDnd===`both`)&&yS(this.#ee,this,r,n),this.dispatchEvent(new CustomEvent(`tree-drag-start`,{detail:{nodes:r,keys:n},bubbles:!0,composed:!0}))),a},writeDataTransfer:(e,n)=>{if(this.itemDnd!==`internal`&&this.itemDnd!==`both`)return;let r=n.selected.map(e=>e.key),i=n.selected.map(e=>e.item);try{e.setData(pS,JSON.stringify({sourceId:this.#ee,keys:r,nodes:i})),e.setData(`text/plain`,i.map(e=>e.item.label).join(`
|
|
8236
|
+
`))}catch{}},onActiveChange:e=>{this.toggleAttribute(`data-native-dragging`,e),e||(this.#ae=new Set),this.requestUpdate()},onEnd:()=>{bS(this.#ee),this.#ae=new Set,this.#te=setTimeout(()=>{this.#te=void 0},150),this.#oe||this.dispatchEvent(new CustomEvent(`tree-drag-end`,{detail:{dropped:!1},bubbles:!0,composed:!0})),this.#oe=!1}}),this.#re=new DS(this,{getDndMode:()=>this.itemDnd,getExpandHoverMs:()=>this.dndExpandHoverMs,getVisibleRows:()=>this.#Fe(),getRowInfo:e=>{let n=this.#m(),r=n.indexByKey.get(e);if(r===void 0)return;let{node:i,depth:a,parentKey:o}=n.rows[r];return{node:i,depth:a,parentKey:o}},getChildren:e=>this.#Ne(e),getIndentPx:()=>this.#je(),getScrollContainer:()=>this.#Ae(),isSelfOrDescendant:(e,n)=>this.#Le(e,n),isExpanded:e=>this._expandedKeys.has(e),isReorderAllowed:()=>this.reorderable,getParentKey:e=>this.#Re(e)?.item.key,resolveDrag:(e,n)=>this.#Be(e,n),vet:e=>{if(this.canDrop&&!this.canDrop(e))return!1;let n=new CustomEvent(`tree-drag-over`,{detail:e,bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(n)},expandKey:e=>this.#Ie(e),onDropStateChange:e=>{this.#ne=e,this.toggleAttribute(`data-drop-rejected`,this.#re.isDragging&&e===void 0),this.requestUpdate()},onActiveChange:e=>{e?(this.#se=void 0,this.#Ae()?.addEventListener(`scroll`,this.#ce,{passive:!0})):(this.#Ae()?.removeEventListener(`scroll`,this.#ce),this.#se=void 0,this.toggleAttribute(`data-drop-rejected`,!1)),this.requestUpdate()},commitDrop:e=>this.dispatchEvent(new CustomEvent(`tree-drop`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))?(this.applyInternalDrop&&e.source===`internal`&&this.model&&this.model.applyDrop({source:`internal`,draggedKeys:e.draggedKeys,target:e.target}),this.#oe=!0,!0):!1,onDragEnd:e=>{this.#ne=void 0,this.toggleAttribute(`data-drop-rejected`,!1),this.requestUpdate(),this.dispatchEvent(new CustomEvent(`tree-drag-end`,{detail:{dropped:e},bubbles:!0,composed:!0}))}})}#Ae(){return this.shadowRoot?.querySelector(`#container`)??void 0}#je(){let e=Number.parseInt(getComputedStyle(this).getPropertyValue(`--tree-indent`),10);return Number.isNaN(e)?20:e}#Me(){let e=Number.parseInt(getComputedStyle(this).getPropertyValue(`--tree-item-height`),10);return Number.isNaN(e)?30:e}#Ne(e){if(e===void 0)return this.root?.children??[];let n=this.#m(),r=n.indexByKey.get(e);return r===void 0?[]:n.rows[r].node.children??[]}#Pe(e,n,r){let i=this.#m(),a=this.#T(i.rows.length),o=KS(WS(a),e.scrollTop,e.scrollTop+e.clientHeight,1);if(!o)return;let s=e.getBoundingClientRect(),c=n.querySelector(`li.item`)?.getBoundingClientRect()??s;for(let n=o.first;n<=o.last;n++){let{node:o,depth:l}=i.rows[n],u=s.top-e.scrollTop+LS(a,n),d={x:c.left,y:u,left:c.left,right:c.left+c.width,top:u,bottom:u+a.rowHeight,width:c.width,height:a.rowHeight,toJSON:()=>({})};r.push({key:o.item.key,node:o,depth:l,index:n,rect:d})}}#Fe(){if(this.#se)return this.#se;let e=[],n=this.#Ae(),r=this.renderRoot.querySelector(`ul.tree-list`),i=this.#K;if(n&&r&&this.#w())this.#Pe(n,r,e);else if(n&&r&&r.children.length===i.length){let a=this.#m(),o=r.children,s=KS(this.#de(o),n.scrollTop,n.scrollTop+n.clientHeight,1);if(s)for(let n=s.first;n<=s.last;n++){let r=o[n];if(r.classList.contains(`leaving`))continue;let s=a.indexByKey.get(i[n]);if(s===void 0)continue;let{node:c,depth:l}=a.rows[s];e.push({key:c.item.key,node:c,depth:l,index:s,rect:r.getBoundingClientRect()})}}return this.#se=e,e}#Ie(e){if(this._expandedKeys.has(e))return;let n=this.#m(),r=n.indexByKey.get(e),i=r===void 0?void 0:n.rows[r];!i||i.node.item.isLeaf===!0||(this.#ht(i.node,i.depth),this.#se=void 0,this.requestUpdate())}#Le(e,n){if(e===n)return!0;let{parentByKey:r}=this.#h(),i=r.get(n);for(;i!==void 0;){if(i===e)return!0;i=r.get(i)}return!1}#Re(e){let n=this.#h().parentByKey.get(e);if(n!==void 0&&n!==this.root?.item.key)return this.#ze(n)}#ze(e){let n=this.#m(),r=n.indexByKey.get(e);if(r!==void 0)return n.rows[r].node;let{parentByKey:i}=this.#h(),a=[];for(let n=e;n!==void 0&&n!==this.root?.item.key;n=i.get(n))a.unshift(n);let o=this.root;for(let e of a)o=o?.children?.find(n=>n.item.key===e);return o}#Be(e,n){let r=this.itemDnd;if(r===`none`)return;let i=r===`internal`||r===`both`,a=r===`external`||r===`both`,o=[];try{o=Array.from(e.types)}catch{}let s=xS(),c=o.includes(pS)||s!==void 0;if(i&&c){if(s&&s.keys.length>0){let e=this.root?Kg(this.root,s.keys):s.keys;return{source:`internal`,keys:e,nodes:e.map(e=>this.#ze(e)).filter(e=>e!==void 0)}}if(n===`drop`)try{let n=e.getData(pS);if(n){let e=JSON.parse(n);return{source:`internal`,keys:e.keys??[],nodes:e.nodes??[]}}}catch{}return{source:`internal`,keys:[],nodes:[]}}if(a&&!c){if(this.acceptDropTypes!==void 0){let n=this.acceptDropTypes.trim().split(/\s+/).filter(Boolean),r=Array.from(e.types);if(n.length>0&&!n.some(e=>r.includes(e)))return}if(n===`drop`){let n=this.parseExternalDrop?.(e);return!n||n.length===0?void 0:{source:`external`,keys:n.map(e=>e.item.key),nodes:n}}return this.parseExternalDrop?{source:`external`,keys:[],nodes:[]}:void 0}}#Ve(){if(this.itemDnd===`none`)return!1;let e=this.#m().rows;return e.length===0?!1:!this.canDrag||e.some(({node:e})=>this.canDrag({nodes:[e],keys:[e.item.key]}))}disconnectedCallback(){super.disconnectedCallback(),this.#we(),this.#X.clear(),this.#Y.clear(),this.#V?.(),this.#V=void 0,this.#I?.(),this.#I=void 0,this.#te!==void 0&&(clearTimeout(this.#te),this.#te=void 0),this.#Ae()?.removeEventListener(`scroll`,this.#ce),this.#F.end(),this.#M(),this.#Se&&=(this.#xe?.removeEventListener(`scroll`,this.#ue),this.#xe=void 0,!1),this.#be!==0&&(cancelAnimationFrame(this.#be),this.#be=0),bS(this.#ee),this.#U&&(this.#U.unregister(`select-all`),this.#U.unregister(`deselect-all`),this.#U=void 0,this.registry=void 0)}getConfig(){return{...this.#W}}setConfig(e){this.#W={...this.#W,...e},this.requestUpdate()}getViewState(e){let n=e?.includePending??!0,r=this.tickled.tickledId,i=this.tickled.inputMode===`keyboard`||r!==void 0&&r===this.#a?r:void 0;return this.#t.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#r:[]),expanded:dr(n?this.#n:[],pr(this._expandedKeys)),focus:i??(n?this.#i:void 0),scroll:(n?this.#t.pendingScroll:void 0)??this.#Ge()},e)}setViewState(e){this.#t.accepts(e)&&(this.#t.restoring(()=>{if(e.expanded&&(this.#n=cr(ur(e.expanded)),this.#e(new Set)),e.selected&&(this.#r=sr(new Set(e.selected)),this._selectedNodes.size>0)){let e=new Set(this._selectedNodes);this.#$e(),this.#nt(e)}e.focus!==void 0&&(this.#i=e.focus),e.scroll&&(this.#t.pendingScroll=e.scroll),this.#He()}),this.requestUpdate())}clearPendingViewState(){this.#n=ir,this.#r=k,this.#i=void 0,this.#t.pendingScroll=void 0}#He(){if(this.#o=this.#d,!this.root)return;let{parentByKey:e}=this.#h(),n=n=>e.has(n);this.#t.restoring(()=>{let e=qS(this._expandedKeys,this.#n,n,e=>this.#ze(e)?.children!==void 0);if(e.changed){let n=e.pending;for(let r of e.needsLoad)this.#ze(r)?.item.isLeaf!==!1&&(n=lr(n,r));this.#n=n,e.live!==this._expandedKeys&&(this.#$??=!1,this.#e(e.live))}let r=JS(this._selectedNodes,this.#r,e=>n(e)?this.#ze(e):void 0,e=>this.#Qe(e),this.interactionMode===`implicit`);if(r.changed){let e=this._selectedNodes;this._selectedNodes=new Set(r.selected),this.#r=r.pending;let n=this.selectedNode?.item.key;this.selectedNode=(n===void 0?void 0:[...r.selected].find(e=>e.item.key===n))??[...r.selected].at(-1),r.restored?this.#nt(e):this._selectionVersion++}let i=this.tickled.tickledId;i!==void 0&&!n(i)&&(this.#i??=i,this.tickled.clearTickled()),this.#i!==void 0&&this.#m().indexByKey.has(this.#i)&&(this.tickled.setTickled(this.#i),this.#a=this.#i,this.#i=void 0)})}#Ue(){let e=this.#Ae();e&&e!==this.#s&&(this.#s?.removeEventListener(`scroll`,this.#We),this.#s=e,e.addEventListener(`scroll`,this.#We,{passive:!0}),this.#t.observeScrollTarget(e)),this.#t.applyPendingScroll(e=>this.#Ke(e)),this.#qe()}#We;#Ge(){let e=this.#Ae();if(!e)return;let n=this.#m().rows;this.#w()||this.#E();let r=this.#T(n.length),i=e.scrollTop,a=BS(r,i);return c_(i,a>=0?n[a]?.node.item.key:void 0,a>=0?LS(r,a):0)}#Ke(e){let n=this.#Ae();if(!n)return!1;let r=e.top;if(e.anchor){let n=this.#m(),i=n.indexByKey.get(e.anchor.key);if(i===void 0)return!1;this.#w()||this.#E(),r=LS(this.#T(n.rows.length),i)+e.anchor.offset}return s_(n,r)}#qe(){if(!this.restoreLoads||this.#z||this.#n.size===0||!this.root||!this.#bt())return;let{parentByKey:e}=this.#h();for(let[n,r]of this.#n){if(!r||!e.has(n))continue;let i=this.#ze(n);if(i&&i.children===void 0&&i.item.isLeaf===!1){let r=0;for(let i=e.get(n);i!==void 0&&i!==this.root.item.key;i=e.get(i))r++;this.#xt(i,r);return}}}select(e){if(!this.#Qe(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#nt(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#nt(n),this.requestUpdate()}clearSelection(){if(this.#r=k,this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#$e(),this.#nt(e),this.requestUpdate()}selectAll(e={}){this.#at({kind:`all`,keys:[],source:`api`})||this.#Je(e)}#Je(e){let n=new Set(this._selectedNodes);for(let n of this.#Ye(e))this.#Qe(n)&&this._selectedNodes.add(n);(this.selectedNode===void 0||!this._selectedNodes.has(this.selectedNode))&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#nt(n),this.requestUpdate()}deselectAll(e={}){let n=new Set(this._selectedNodes);for(let n of this.#Ye(e))this._selectedNodes.delete(n);this.selectedNode!==void 0&&!this._selectedNodes.has(this.selectedNode)&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#nt(n),this.requestUpdate()}#Ye(e){if(e.visibleOnly===!0&&this.interactionMode!==`checked`)return this.#m().rows.map(e=>e.node);let n=this.#P()?.matches,r=[],i=e=>{n&&!n.has(e.item.key)||(r.push(e),e.children?.forEach(i))};return this.root?.children?.forEach(i),r}expandAll(e,n){this.#$=n,this.#Xe(!0,e)}collapseAll(e,n){this.#$=n,this.#Xe(!1,e)}#Xe(e,n){let r=this.root;if(!r)return;let i=r=>e?r<(n??1/0):r>=(n??0),a=[],o=this._expandedKeys,s=(n,r)=>{let c=n.children;if(n.item.isLeaf!==!0&&c!==void 0&&c.length>0&&i(r)){let i=o.has(n.item.key);e&&!i?(o=NS(o,n.item.key),this._isExpanded(n,r)||a.push({node:n,depth:r})):!e&&i&&(o=PS(o,n.item.key),a.push({node:n,depth:r}))}for(let e of c??[])s(e,r+1)};for(let e of r.children??[])s(e,0);if(o===this._expandedKeys)return;this.#e(o);let c=e?`expand`:`collapse`;for(let{node:e,depth:n}of a)this.dispatchEvent(new CustomEvent(c,{detail:{node:e,depth:n},bubbles:!0,composed:!0}));this.requestUpdate()}navigateTo(e,n={}){if(!this.root?.children)return!1;let r=this.#et,i=this.#tt;this.#et=`programmatic`,this.#tt=n.silent===!0,n.animate!==void 0&&(this.#$=n.animate);try{return this.#Ze(e,n.reveal??`edge`)}finally{this.#et=r,this.#tt=i}}#Ze(e,n){this.#Et(),this.#$e(),this.tickled.clearTickled(),this._focusedDepth=0;let r=this.root;for(let n of e){let i=r?.children;if(!i)return!1;let a=i.find(e=>e.item.key===n);if(!a)return!1;this.#Dt(a.item.key),this.#e(NS(this._expandedKeys,a.item.key)),n===e.at(-1)&&(this.select(a),this.tickled.setTickled(a.item.key)),r=a}return this.#ye=!0,this.requestUpdate(),this.#Ct(e.at(-1),n),!0}navigateToNode(e,n){if(!this.root?.children)return!1;n!==void 0&&(this.#$=n);let r=this.#rt(this.root.children,e);return r?this.navigateTo(r):!1}revealKey(e,n){if(!this.root?.children)return!1;n!==void 0&&(this.#$=n);let r=this.#rt(this.root.children,n=>n.item.key===e);if(!r)return!1;for(let e=0;e<r.length-1;e++)this.#Dt(r[e]),this.#e(NS(this._expandedKeys,r[e]));return this.tickled.setTickled(e),this.#ye=!0,this.requestUpdate(),this.updateComplete.then(()=>this.#Ct(e)),!0}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#Qe(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#nt(n),this.requestUpdate()}getNodes(){if(!this.root?.children)return[];let e=[],n=(r,i)=>{if(e.push({node:r,depth:i}),r.children)for(let e of r.children)n(e,i+1)};for(let e of this.root.children)n(e,0);return e}#Qe(e){return e.item.selectable===!1||this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0||e.item.isLeaf!==!1&&e.children?.length===0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#$e(){this._selectionVersion++,this._selectedNodes.clear(),this.selectedNode=void 0}#et;#tt;#nt(e){if(this._selectionVersion++,this.#t.isRestoring||(this.#r=k),this.#t.notify(),this.#tt)return;let n={selected:new Set(this._selectedNodes),previous:e,origin:this.#et};this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`list-select`,{detail:{selectedKeys:new Set([...this._selectedNodes].map(e=>e.item.key)),previousKeys:new Set([...e].map(e=>e.item.key)),previous:e},bubbles:!0,composed:!0}))}#rt(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#rt(i.children,n,e);if(r)return r}}}renderNodeContent(e,n){let r=e.item.isLeaf!==!0,o=this._isExpanded(e,n);return i`
|
|
8237
8237
|
<span class="tree-caret">
|
|
8238
8238
|
${r?i`<ixfx-icon class="caret-icon" name="chevron-down" .rotate=${o?a:`-90deg`}></ixfx-icon>`:``}
|
|
8239
8239
|
</span>
|
|
8240
8240
|
<span class="tree-label">${e.item.label}</span>
|
|
8241
|
-
`}_handleItemClick(e,n,r){if(!(this.#re?.isDragging||this.#ie?.isDragging||this.#te!==void 0)&&!(r&&r.detail>=2)){switch(this.#z&&this._expandedKeys.has(this.#z.item.key)&&this.#
|
|
8241
|
+
`}_handleItemClick(e,n,r){if(!(this.#re?.isDragging||this.#ie?.isDragging||this.#te!==void 0)&&!(r&&r.detail>=2)){switch(this.#z&&this._expandedKeys.has(this.#z.item.key)&&this.#Et(),this.tickled.handlePointerEnter(e.item.key),this._focusedDepth=n,this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.interactionMode){case`implicit`:this.#ct(e,n,r);break;case`standard`:this.#lt(e,n,r);break;case`vscode`:this.#lt(e,n,r);break;case`manual`:this.#pt(e,n,r);break;case`checked`:this.#ft(e,n)}this.requestUpdate()}}#it(e,n){if(e.item.isLeaf===!0)return!1;let r=n?.target;return r instanceof Element&&r.closest(`.tree-caret`)!==null}#at(e){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))}#ot(e){let n=this.#m(),r=this.#H?n.indexByKey.get(this.#H.node.item.key)??-1:-1,i=n.indexByKey.get(e.item.key)??-1,a=r>=0&&i>=0?n.rows.slice(Math.min(r,i),Math.max(r,i)+1).map(e=>e.node).filter(e=>this.#Qe(e)).map(e=>e.item.key):[e.item.key];return{...this.#H?{anchorKey:this.#H.node.item.key}:{},targetKey:e.item.key,keys:a}}#st(e,n,r=!0){if(!this.#Qe(e))return;let i=this.#at({kind:`replace`,keys:[e.item.key],source:n});if(r&&(this.#H={node:e,flatIndex:this.#vt(e)}),i)return;let a=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,(!a.has(e)||a.size!==1)&&this.#nt(a)}#ct(e,n,r){if(!this.#it(e,r)&&this.#Qe(e)){if(this.#at({kind:`replace`,keys:[e.item.key],source:`pointer`})){this.#ht(e,n);return}let r=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,(!r.has(e)||r.size!==1)&&this.#nt(r)}this.#ht(e,n)}#lt(e,n,r){let i=r?r.metaKey||r.ctrlKey:!1,a=r?r.shiftKey:!1;if(i){this.#ut(e);return}if(a&&this.#H){this.#dt(e);return}this.#it(e,r)||this.#st(e,`pointer`),this.#ht(e,n)}#ut(e){if(!this.#Qe(e))return;if(this.#at({kind:`toggle`,keys:[e.item.key],source:`pointer`})){this.#H={node:e,flatIndex:this.#vt(e)};return}let n=new Set(this._selectedNodes);this._selectedNodes.has(e)?(this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1))):(this._selectedNodes.add(e),this.selectedNode=e,this.#H={node:e,flatIndex:this.#vt(e)}),this.#nt(n)}#dt(e){let n=this.#m(),r=this.#H?n.indexByKey.get(this.#H.node.item.key)??-1:-1,i=n.indexByKey.get(e.item.key)??-1;if(r<0||i<0||this.#at({kind:`extend`,...this.#ot(e),source:`pointer`}))return;let a=new Set(this._selectedNodes),o=n.rows.slice(Math.min(r,i),Math.max(r,i)+1).map(e=>e.node).filter(e=>this.#Qe(e));this._selectedNodes=new Set(o),this.selectedNode=e,this.#nt(a)}#ft(e,n){this.#ht(e,n)}#pt(e,n,r){let i=r?r.metaKey||r.ctrlKey:!1,a=r?r.shiftKey:!1;if(i){this.#ut(e);return}if(a&&this.#H){this.#dt(e);return}!this.#it(e,r)&&this.#Qe(e)&&this.#at({kind:`replace`,keys:[e.item.key],source:`pointer`}),this.#ht(e,n)}#mt(e,n){if(!this.#Qe(e)||this.#at({kind:`toggle`,keys:[e.item.key],source:`keyboard`}))return;let r=new Set(this._selectedNodes);this._selectedNodes.has(e)?(this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1))):(this._selectedNodes.add(e),this.selectedNode=e,this.#H={node:e,flatIndex:this.#vt(e)}),this.#nt(r)}_handleCheckboxClick(e,n,r,i=`pointer`){e.stopPropagation();let a=new Set(this._selectedNodes),o=this.#gt(n),s=[],c=e=>{this.#Qe(e)&&s.push(e.item.key),e.children?.forEach(c)};c(n),!this.#at({kind:`toggle`,keys:s,descendants:!0,checked:!o,source:i})&&(this.#_t(n,!o),(this.selectedNode===void 0||!this._selectedNodes.has(this.selectedNode))&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#nt(a),this.requestUpdate())}#ht(e,n){let r=this._expandedKeys.has(e.item.key);if(this.#ye=!0,r)this.#e(PS(this._expandedKeys,e.item.key)),this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}));else if(e.children===void 0){if(e.item.isLeaf!==!1)return;this.#bt()&&this.#xt(e,n)}else this.#Dt(e.item.key),this.#e(NS(this._expandedKeys,e.item.key)),this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}#gt(e){let n=[],r=e=>{this.#Qe(e)&&n.push(e),e.children?.forEach(r)};return r(e),n.length>0&&n.every(e=>this._selectedNodes.has(e))}#_t(e,n){if(this.#Qe(e)&&(n?this._selectedNodes.add(e):this._selectedNodes.delete(e)),e.children)for(let r of e.children)this.#_t(r,n)}#vt(e){return this.#m().indexByKey.get(e.item.key)??-1}#yt(e,n,r){if(!this.#H){let r=e[n]?.node;r&&(this.#H={node:r,flatIndex:n})}if(!this.#H)return;let i=this.#m().indexByKey.get(this.#H.node.item.key)??-1;if(i<0)return;let a=Math.min(i,r),o=Math.max(i,r),s=e[r]?.node;if(!(s&&this.#at({kind:`extend`,...this.#ot(s),source:`keyboard`}))){if(this.interactionMode===`vscode`){this.#H.selectionSnapshot||(this.#H={...this.#H,selectionSnapshot:new Set(this._selectedNodes)});let n=this.#H.selectionSnapshot,i=e.slice(a,o+1).map(e=>e.node).filter(e=>this.#Qe(e)),s=new Set(n);for(let e of i)n.has(e)?s.delete(e):s.add(e);let c=new Set(this._selectedNodes);this._selectedNodes=s,this.selectedNode=e[r]?.node??this.selectedNode,this.#nt(c)}else{let n=new Set(this._selectedNodes),i=e.slice(a,o+1).map(e=>e.node).filter(e=>this.#Qe(e));this._selectedNodes=new Set(i),this.selectedNode=e[r]?.node??this.selectedNode,this.#nt(n)}}}#bt(){return this.model!==void 0||this.loadChildren!==void 0}#xt(e,n){this.#z=e;let r=new AbortController;this.#B=r,this.#St(e,n,r).catch(()=>{})}async#St(e,n,r){try{let i;if(i=this.model?await this.model.getChildren(e,n,r.signal):[...await Rg(this.loadChildren({node:e,depth:n},r.signal),r.signal)],r.signal.aborted)return;e.children=i,this.#d++,this.#Dt(e.item.key),this.#e(NS(this._expandedKeys,e.item.key)),this.#c=void 0,this.#ye=!0,this.#z=void 0,this.#B=void 0,this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.requestUpdate()}catch{if(r.signal.aborted)return;e.children=[],this.#d++,this.#c=void 0,this.#z=void 0,this.#B=void 0,this.requestUpdate()}}_isSelected(e){return this._selectedNodes.has(e)}_isFocused(e){return this.tickled.isTickled(e.item.key)}_isExpanded(e,n=0){return this._expandedKeys.has(e.item.key)?!0:this.#P()?.autoExpanded.has(e.item.key)??!1}get _pendingNode(){return this.#z}#Ct(e,n=`edge`){if(n===`center-if-hidden`){this.updateComplete.then(()=>{this.#E();let r=this.#m().indexByKey.get(e);r!==void 0&&this.#N(r,n)});return}if(this.#w()){this.updateComplete.then(()=>{let n=this.#m().indexByKey.get(e);n!==void 0&&this.#N(n)});return}let r=++this.#wt;requestAnimationFrame(()=>{this.#Tt(e);let n=this.#Ae()?.getAnimations?.({subtree:!0})??[];n.length>0&&Promise.allSettled(n.map(e=>e.finished)).then(()=>{r===this.#wt&&this.#Tt(e)})})}#wt;#Tt(e){let n=this.#Ae(),r=this.shadowRoot?.querySelector(`ul.tree-list [data-key="${CSS.escape(e)}"]`);if(!r||!n)return;let i=r.getBoundingClientRect(),a=n.getBoundingClientRect(),o=i.top-a.top,s=o+i.height,c=this.renderRoot.querySelector(`.sticky-headers`)?.getBoundingClientRect().height??0;o<c?n.scrollTop+=o-c:s>n.clientHeight&&(n.scrollTop+=s-n.clientHeight)}#Et(){this.#B&&(this.#B.abort(),this.#B=void 0,this.#z=void 0)}#Dt(e){if(this.exclusivity!==`none`){if(this.exclusivity===`depth`)this.#Ot(e);else if(this.exclusivity===`global`){let n=this.#kt(e);this.#e(FS(this._expandedKeys,r=>!n.has(r)&&r!==e))}}}#Ot(e){if(!this.root)return;let n=this.#At(this.root,e);if(!n?.children)return;let r=new Set(n.children.map(e=>e.item.key));this.#e(FS(this._expandedKeys,n=>n!==e&&r.has(n)))}#kt(e){let n=new Set,r=i=>{if(i.item.key===e)return!0;if(!i.children)return!1;for(let e of i.children)if(r(e))return n.add(i.item.key),!0;return!1};return this.root&&r(this.root),n}#At(e,n,r=void 0){if(e.children)for(let i of e.children){if(i.item.key===n)return r??e;let a=this.#At(i,n,i);if(a)return a}}#jt(){let e=this.tickled.tickledId;return e?this.#m().indexByKey.get(e)??0:0}#Mt(e){let n=this.#m().rows;if(e<0||e>=n.length)return;let{node:r,depth:i}=n[e];if(this.tickled.setTickled(r.item.key),this._focusedDepth=i,this.#i=void 0,this.#t.notify(),this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:r,depth:i},bubbles:!0,composed:!0})),this.requestUpdate(),this.#w()){this.#N(e);return}this.updateComplete.then(()=>this.#Nt())}#Nt(){let e=this.tickled.tickledId;e!==void 0&&(this.shadowRoot?.querySelector(`ul.tree-list [data-key="${CSS.escape(e)}"]`))?.scrollIntoView({block:`nearest`,behavior:`smooth`})}#Pt(){return this.#E(),US(this.#T(this.#m().rows.length))}#Ft(e,n,r,i){this.interactionMode===`implicit`&&this.#st(e[r].node,`keyboard`,!1),this.#Mt(r),i&&(this.interactionMode===`standard`||this.interactionMode===`vscode`)?this.#yt(e,n,r):this.interactionMode===`vscode`&&(this.#H=void 0),this.requestUpdate()}#It;renderLoadingIndicator(){return i`<span class="loading-spinner"></span>`}render(){let e=this.#m().rows;return i`
|
|
8242
8242
|
<div
|
|
8243
8243
|
id="container"
|
|
8244
8244
|
data-input-mode=${this.tickled.inputMode}
|
|
8245
|
-
@keydown=${this.#
|
|
8246
|
-
@dblclick=${this.#
|
|
8245
|
+
@keydown=${this.#It}
|
|
8246
|
+
@dblclick=${this.#Lt}
|
|
8247
8247
|
@scroll=${this.#F.onScroll}
|
|
8248
8248
|
@pointermove=${this.#F.onPointerMove}
|
|
8249
8249
|
@pointerleave=${e=>{this.#F.onPointerLeave(),this.tickled.handlePointerLeave(e)}}
|
|
8250
8250
|
tabindex="0"
|
|
8251
8251
|
>
|
|
8252
8252
|
${this.#me()}
|
|
8253
|
-
${this.root?this.#
|
|
8253
|
+
${this.root?this.#Rt(e):a}
|
|
8254
8254
|
</div>
|
|
8255
8255
|
${this.search.renderField()}
|
|
8256
|
-
`}#
|
|
8256
|
+
`}#Lt;#Rt(e){if(e.length===0&&this.#z&&this.#X.size===0)return i`
|
|
8257
8257
|
<div class="tree-loading">
|
|
8258
8258
|
${this.renderLoadingIndicator()}
|
|
8259
8259
|
</div>
|
|
8260
|
-
`;if(this.#w())return this.#
|
|
8260
|
+
`;if(this.#w())return this.#zt(e);let n=jS(e,this.#K,this.#X);return this.#K=n.map(e=>e.node.item.key),this.#q=new Map(this.#K.map((e,n)=>[e,n])),i`
|
|
8261
8261
|
<ul class="tree-list" role="tree">
|
|
8262
8262
|
${_(n,({node:e})=>e.item.key,({node:e,depth:n})=>this._renderNode(e,n))}
|
|
8263
8263
|
</ul>
|
|
8264
|
-
`}#
|
|
8264
|
+
`}#zt(e){let n=this.#T(e.length),{start:r,end:a}=this.#D(e.length);this.#x=r,this.#S=a,this.#K=[],this.#q=new Map;let o=IS(n);return i`
|
|
8265
8265
|
<ul class="tree-list virtual" role="tree" aria-rowcount=${e.length}>
|
|
8266
8266
|
<li class="virtual-spacer" role="presentation" aria-hidden="true" style=${`height: ${r*o}px`}></li>
|
|
8267
8267
|
${_(e.slice(r,a),({node:e})=>e.item.key,({node:e,depth:n})=>this._renderNode(e,n))}
|
|
@@ -8510,7 +8510,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8510
8510
|
:host([data-drop-rejected]) {
|
|
8511
8511
|
cursor: not-allowed;
|
|
8512
8512
|
}
|
|
8513
|
-
`]}};E([d({type:Object})],
|
|
8513
|
+
`]}};E([d({type:Object})],J.prototype,`root`,void 0),E([d({attribute:!1})],J.prototype,`model`,void 0),E([d({attribute:!1})],J.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],J.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],J.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],J.prototype,`interactionMode`,void 0),E([d({attribute:!1})],J.prototype,`selectedNode`,void 0),E([m()],J.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],J.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],J.prototype,`disableKeyboardNavigation`,void 0),E([d({type:Boolean,attribute:`scroll-hover-tickle`,reflect:!0})],J.prototype,`scrollHoverTickle`,void 0),E([d({attribute:!1})],J.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],J.prototype,`searchModes`,void 0),E([d({reflect:!0,attribute:`item-dnd`})],J.prototype,`itemDnd`,void 0),E([d({type:String,attribute:`accept-drop-types`})],J.prototype,`acceptDropTypes`,void 0),E([d({type:Number,attribute:`dnd-expand-hover-ms`})],J.prototype,`dndExpandHoverMs`,void 0),E([d({reflect:!0,attribute:`reorderable`,converter:{fromAttribute:e=>e!==`false`,toAttribute:e=>e?null:`false`}})],J.prototype,`reorderable`,void 0),E([d({reflect:!0,attribute:`sticky-headers`,converter:{fromAttribute:e=>e!==`false`,toAttribute:e=>e?null:`false`}})],J.prototype,`stickyHeaders`,void 0),E([d({reflect:!0,attribute:`virtualize`})],J.prototype,`virtualize`,void 0),E([d({type:Number,attribute:`virtualize-threshold`})],J.prototype,`virtualizeThreshold`,void 0),E([d({reflect:!0,attribute:`animation`})],J.prototype,`animation`,void 0),E([d({attribute:!1})],J.prototype,`dragPreviewRenderer`,void 0),E([d({attribute:!1})],J.prototype,`dragPreviewSource`,void 0),E([d({attribute:!1})],J.prototype,`canDrag`,void 0),E([d({attribute:!1})],J.prototype,`canDrop`,void 0),E([d({attribute:!1})],J.prototype,`parseExternalDrop`,void 0),E([d({attribute:!1})],J.prototype,`applyInternalDrop`,void 0),E([m()],J.prototype,`_expandedKeys`,void 0),E([d({attribute:!1})],J.prototype,`restoreLoads`,void 0),E([m()],J.prototype,`_scrollTop`,void 0),E([m()],J.prototype,`_focusedDepth`,void 0),E([m()],J.prototype,`_stickyKeys`,void 0),J=E([T(`ixfx-tree-base`)],J);let $S=class extends J{constructor(...e){super(...e),this.alignCheckboxes=!1,this._partialKeys=new Set}get partialKeys(){return this._partialKeys}set partialKeys(e){let n=new Set(e);yr(n,this._partialKeys)||(this._partialKeys=n)}#e;willUpdate(e){super.willUpdate(e),this.#t()}#t(){let e=this.root;if(this.interactionMode!==`checked`||!e){this.#e=void 0;return}let n=this.#e;n&&n.root===e&&n.structureVersion===this._structureVersion&&n.selectionVersion===this._selectionVersion||(this.#e={root:e,structureVersion:this._structureVersion,selectionVersion:this._selectionVersion,states:MS(e,this._selectedNodes)})}renderNodeContent(e,n){let r=e.item.isLeaf!==!0,o=this._isExpanded(e,n),s=e.item.icon,c=e.item.tooltip,l=i`
|
|
8514
8514
|
<span class="tree-caret">
|
|
8515
8515
|
${r?i`<ixfx-icon class="caret-icon" name="chevron-down" .rotate=${o?a:`-90deg`}></ixfx-icon>`:``}
|
|
8516
8516
|
</span>
|
|
@@ -8519,7 +8519,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8519
8519
|
${e.item.label}
|
|
8520
8520
|
${c?i`<ixfx-tooltip class="tree-tooltip" anchor="--tooltip-tree-${e.item.key}" .value=${c}></ixfx-tooltip>`:a}
|
|
8521
8521
|
</span>
|
|
8522
|
-
`;if(this.interactionMode===`checked`){if(e.item.selectable===!1)return this.alignCheckboxes?i`<span class="tree-checkbox-spacer" aria-hidden="true"></span>${l}`:l;let r=this.#e?.states.get(e.item.key)??`unchecked
|
|
8522
|
+
`;if(this.interactionMode===`checked`){if(e.item.selectable===!1)return this.alignCheckboxes?i`<span class="tree-checkbox-spacer" aria-hidden="true"></span>${l}`:l;let r=this.#e?.states.get(e.item.key)??`unchecked`,a=r===`unchecked`&&this.#n(e)?`indeterminate`:r;return i`${this.#r(e,n,a)}${l}`}return l}#n(e){return vr(e.item.key,this._partialKeys,this._isSelected(e))}#r(e,n,r){let a=r=>this._handleCheckboxClick(r,e,n);return this.checkboxRenderer?i`
|
|
8523
8523
|
<span
|
|
8524
8524
|
class="tree-checkbox tree-checkbox-custom"
|
|
8525
8525
|
part="checkbox"
|
|
@@ -8537,32 +8537,34 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8537
8537
|
.indeterminate=${r===`indeterminate`}
|
|
8538
8538
|
aria-label="Select ${e.item.label}"
|
|
8539
8539
|
@click=${a}
|
|
8540
|
-
/>`}_renderNode(e,n){let r=this._isSelected(e),o=this._isFocused(e),
|
|
8540
|
+
/>`}_renderNode(e,n){let r=this._isSelected(e),o=this.#n(e),s=this._isFocused(e),c=e.item.isLeaf!==!0,l=this._isExpanded(e,n),u=this._pendingNode===e,d=this._depthsWithIcons.has(n),f=this._isLeaving(e),p=this._dndRowState(e);return i`
|
|
8541
8541
|
<li
|
|
8542
|
-
class="item ${r?`selected`:``} ${o?`
|
|
8542
|
+
class="item ${r?`selected`:``} ${o?`partial`:``} ${s?`tickled`:``} ${c?`branch`:`leaf`} ${d?`has-icon-at-depth`:``} ${f?`leaving`:``} ${p.dragging?`dragging`:``} ${p.dropTarget&&p.dropPosition===`inside`?`drop-into`:``}"
|
|
8543
8543
|
data-key=${e.item.key}
|
|
8544
8544
|
role="treeitem"
|
|
8545
8545
|
aria-selected=${r}
|
|
8546
|
-
aria-
|
|
8547
|
-
|
|
8546
|
+
aria-description=${o&&this.interactionMode!==`checked`?_r:a}
|
|
8547
|
+
?data-partial=${o}
|
|
8548
|
+
aria-expanded=${c?l:a}
|
|
8549
|
+
aria-hidden=${f?`true`:a}
|
|
8548
8550
|
aria-level=${n+1}
|
|
8549
8551
|
aria-setsize=${this._ariaSetInfo(e)?.setSize??a}
|
|
8550
8552
|
aria-posinset=${this._ariaSetInfo(e)?.posInSet??a}
|
|
8551
8553
|
style=${`--depth: ${n}`}
|
|
8552
|
-
draggable=${
|
|
8553
|
-
part=${
|
|
8554
|
+
draggable=${p.draggable?`true`:a}
|
|
8555
|
+
part=${p.dropTarget?`drop-target`:a}
|
|
8554
8556
|
@click=${r=>this._handleItemClick(e,n,r)}
|
|
8555
8557
|
@pointerenter=${()=>this._handleRowPointerEnter(e,n)}
|
|
8556
8558
|
>
|
|
8557
|
-
${
|
|
8558
|
-
class="drop-line drop-line-${
|
|
8559
|
-
style="--drop-depth: ${
|
|
8559
|
+
${p.dropTarget&&(p.dropPosition===`before`||p.dropPosition===`after`)?i`<div
|
|
8560
|
+
class="drop-line drop-line-${p.dropPosition}"
|
|
8561
|
+
style="--drop-depth: ${p.dropDepth??n}"
|
|
8560
8562
|
part="drop-indicator"
|
|
8561
8563
|
></div>`:a}
|
|
8562
8564
|
${this.renderNodeContent(e,n)}
|
|
8563
|
-
${
|
|
8565
|
+
${u?this.renderLoadingIndicator():a}
|
|
8564
8566
|
</li>
|
|
8565
|
-
`}static{this.styles=[w,...
|
|
8567
|
+
`}static{this.styles=[w,...J.styles,r`
|
|
8566
8568
|
.tree-caret {
|
|
8567
8569
|
display: inline-flex;
|
|
8568
8570
|
align-items: center;
|
|
@@ -8584,6 +8586,12 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8584
8586
|
transition: transform var(--transition, 0.15s ease-out);
|
|
8585
8587
|
}
|
|
8586
8588
|
|
|
8589
|
+
.item.partial:not(.selected) {
|
|
8590
|
+
background: var(--item-bg-partial, color-mix(in srgb, var(--item-bg-selected, var(--accent)) 35%, transparent));
|
|
8591
|
+
outline: 1px dashed var(--item-border-partial, var(--border));
|
|
8592
|
+
outline-offset: -1px;
|
|
8593
|
+
}
|
|
8594
|
+
|
|
8587
8595
|
.item.selected .caret-icon {
|
|
8588
8596
|
color: var(--accent-text);
|
|
8589
8597
|
}
|
|
@@ -8651,7 +8659,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8651
8659
|
white-space: nowrap;
|
|
8652
8660
|
position: relative;
|
|
8653
8661
|
}
|
|
8654
|
-
`]}};E([d({attribute:!1})],QS.prototype,`checkboxRenderer`,void 0),E([d({type:Boolean,reflect:!0,attribute:`align-checkboxes`})],QS.prototype,`alignCheckboxes`,void 0),QS=E([T(`ixfx-tree-list`)],QS);function $S(e,n){let r=document.createElement(`div`);r.style.cssText=`display:contents;`;let i;function a(r){let i={...e(r),data:r},o=n?.getChildren?.(r);return{item:i,children:o?o.map(a):i.isLeaf?[]:void 0}}function o(){return i||(i=document.createElement(`ixfx-tree-list`),i.interactionMode=n?.interactionMode??`standard`,i.selectionFilter=n?.selectionFilter??`all`,i.exclusivity=n?.exclusivity??`none`,i.style.cssText=`display:block;width:100%;`,r.appendChild(i),c(),i)}function s(e){let n=new Set;for(let r of e)r.item.data!==void 0&&n.add(r.item.data);return n}function c(){i.addEventListener(`select`,e=>{e.stopPropagation();let n={selected:s(e.detail.selected),previous:s(e.detail.previous)};r.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}),i.addEventListener(`activate`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`activate`,{detail:i,bubbles:!0,composed:!0}))}),i.addEventListener(`item-click`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`item-click`,{detail:i,bubbles:!0,composed:!0}))}),i.addEventListener(`tickle`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`tickle`,{detail:i,bubbles:!0,composed:!0}))})}let l=`single`,u=Object.assign(r,{setItems(e){let n=o();n.root={item:{key:`__adapter_root__`,label:``,isLeaf:!1},children:e.map(a)}},clearSelection(){i?.clearSelection()},dispatch(e,r){n?.onDispatch?.(e,r,i)}});return Object.defineProperties(u,{selectedItems:{get(){return i?s(i.selectedNodes):new Set},enumerable:!0,configurable:!0},selectionMode:{get(){return l},set(e){l=e,i&&(e===`none`?i.selectionFilter=`none`:e===`single`?(i.selectionFilter=n?.selectionFilter??`all`,i.interactionMode=`implicit`):(i.selectionFilter=n?.selectionFilter??`all`,i.interactionMode=n?.interactionMode??`standard`))},enumerable:!0,configurable:!0}}),u}function eC(e,n){let r=document.createElement(`div`);r.style.cssText=`display:contents;`;let i,a=n?.selectionMode??`single`,o=new WeakMap;function s(){return i||(i=document.createElement(`ixfx-vertical-list`),i.style.cssText=`height:auto;width:100%;`,i.selectionMode=a,n?.interactionMode&&(i.interactionMode=n.interactionMode),r.appendChild(i),c(),i)}function c(){i.addEventListener(`list-select`,e=>{let n={selected:u(e.detail.selected),previous:u(e.detail.previous)};r.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}),i.addEventListener(`list-activate`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`activate`,{detail:{item:n},bubbles:!0,composed:!0}))}),i.addEventListener(`list-item-click`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`item-click`,{detail:{item:n},bubbles:!0,composed:!0}))}),i.addEventListener(`list-tickle`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`tickle`,{detail:{item:n},bubbles:!0,composed:!0}))})}function l(n){let r=s();r.clearItems(),o=new WeakMap;for(let i of n){let n=e(i);o.set(n,i),r.addItem(n)}}function u(e){let n=new Set;for(let r of e){let e=o.get(r);e!==void 0&&n.add(e)}return n}let d=Object.assign(r,{setItems(e){l(e)},clearSelection(){i?.clearSelection()},dispatch(e,r){n?.onDispatch?.(e,r,i)}});return Object.defineProperties(d,{selectedItems:{get(){return i?u(i.selectedItems):new Set},enumerable:!0,configurable:!0},selectionMode:{get(){return i?.selectionMode??a},set(e){a=e,i&&(i.selectionMode=e)},enumerable:!0,configurable:!0}}),d}const tC=new Set([9,10,11,12,13,32]);function nC(e){return e<32&&e!==9&&e!==10&&e!==11&&e!==12&&e!==13}function rC(e){return e>=32&&e<=126}function iC(e){return e===0?`byte-null`:tC.has(e)?`byte-whitespace`:nC(e)?`byte-control`:rC(e)?`byte-printable`:`byte-other`}function aC(e,n,r,i){let a=Eg.createSteps(r,i,{steps:16}).map(Eg.toCssColour);return{forByte:r=>r===0?e:r===255?n:a[r>>4]}}function oC(e){return{data:new Uint8Array(e),changeset:new Set}}function sC(e,n){return e.data[n]??0}function cC(e){return e.data.length}function lC(e){return Math.max(0,Math.min(255,e))}function uC(e,n,r){let i=lC(r),a=e.data[n],o=new Map([[n,{before:a,after:i}]]);return e.data[n]=i,e.changeset.add(n),o}function dC(e,n){let r=new Map;return n.forEach((n,i)=>{let a=lC(n),o=e.data[i];r.set(i,{before:o,after:a}),e.data[i]=a,e.changeset.add(i)}),r}function fC(e,n){let r=new Map;return n.forEach((n,i)=>{let a=e.data[i];r.set(i,{before:n.after,after:a}),e.data[i]=n.after,e.changeset.add(i)}),r}function pC(e){let n=new Map;return e.forEach((e,r)=>{n.set(r,{before:e.after,after:e.before})}),n}function mC(e){return e.changeset}function hC(){return{undos:[],redos:[]}}function gC(e,n){e.undos.push(n),e.redos=[]}function _C(e){let n=e.undos.pop();return n&&e.redos.push(n),n}function vC(e){let n=e.redos.pop();return n&&e.undos.push(n),n}const yC=e=>e*4,bC=(e,n)=>e<n?e:n,xC=(e,n)=>e>n?e:n;function SC(e,n){return Math.max(0,Math.min(e,n-1))}function CC(e,n){if(!e)return[];let r=yC(n);if(e.kind===`single`)return[e.pos];if(e.kind===`contiguous`){let n=bC(e.start,e.end),r=xC(e.start,e.end),i=[];for(let e=n;e<=r;e++)i.push(e);return i}if(e.kind===`rectangular`){let n=[];for(let i=0;i<e.height;i++)for(let a=0;a<e.width;a++){let o=e.y+i,s=e.x+a,c=o*r+s;n.push(c)}return n}return[]}function wC(e,n,r){if(!e)return!1;let i=yC(r);if(e.kind===`single`)return n===e.pos;if(e.kind===`contiguous`){let r=bC(e.start,e.end),i=xC(e.start,e.end);return n>=r&&n<=i}if(e.kind===`rectangular`){let r=Math.floor(n/i),a=n%i,o=e.x,s=e.y,c=e.width,l=e.height;return r>=s&&r<s+l&&a>=o&&a<o+c}return!1}function TC(e,n,r,i){let a;a=e?e.kind===`single`?e.pos:e.kind===`contiguous`?xC(e.start,e.end):e.kind===`rectangular`?e.y*yC(r)+e.x+e.width-1:0:0;let o=yC(r),s;switch(n){case`left`:s=a-1;break;case`right`:s=a+1;break;case`up`:s=a-o;break;case`down`:s=a+o;break;default:s=a}return SC(s,i)}function EC(e,n,r,i){return{kind:`single`,pos:TC(e,n,r,i)}}function DC(e,n,r,i,a=0,o=0){let s=yC(r),c,l,u,d;if(!e||e.kind===`single`){let n=e?.kind===`single`?e.pos:0;c=n%s,l=Math.floor(n/s),u=1,d=1}else if(e.kind===`contiguous`){let n=bC(e.start,e.end),r=xC(e.start,e.end);c=n%s,l=Math.floor(n/s),u=r-n+1,d=1}else e.kind===`rectangular`?(c=e.x,l=e.y,u=e.width,d=e.height):(c=0,l=0,u=1,d=1);let f=a>0||e?.kind===`rectangular`?a:c,p=o>0||e?.kind===`rectangular`?o:l;switch(n){case`left`:c>f?--u:(c===f&&u>1||c>0)&&(--c,u+=1);break;case`right`:c+u<s&&(u+=1);break;case`up`:l>p?--d:(l===p&&d>1||l>0)&&(--l,d+=1);break;case`down`:d+=1}return{kind:`rectangular`,x:c,y:l,width:u,height:d}}function OC(e,n,r,i){let a=yC(i);if(r===`contiguous`)return{kind:`contiguous`,start:bC(e,n),end:xC(e,n)};let o=e%a,s=Math.floor(e/a),c=n%a,l=Math.floor(n/a);return{kind:`rectangular`,x:bC(o,c),y:bC(s,l),width:Math.abs(c-o)+1,height:Math.abs(l-s)+1}}let kC=class extends n{constructor(...e){super(...e),this.columns=4,this.colourScheme=`ascii`,this.showChangeset=!0,this.hideOffsetCol=!1,this.hideHexCol=!1,this.hideTextCol=!1,this._selection=null,this._scrollTop=0,this._editState=null,this._containerH=0,this._shadeMap=null,this._focusSide=null,this._store=oC(new Uint8Array),this._undoStack=hC(),this._copyBuffer=null,this._rowHeight=24,this._dragStart=null,this._dragAnchor=null,this._rectAnchorX=0,this._rectAnchorY=0,this._rectAnchorXFromKeyboard=0,this._rectAnchorYFromKeyboard=0,this._initialSelectionPoint=0,this._currentCursorPoint=0,this._pointerMode=null,this._currentDragDiff=null,this._shiftClickTarget=null,this._onScroll=e=>{let n=e.target;this._scrollTop=n.scrollTop,this.requestUpdate()},this._onKeyDown=e=>{if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key)){e.preventDefault(),e.stopPropagation(),this._editState&&=null;let n=e.key.replace(`Arrow`,``).toLowerCase(),r=cC(this._store),i=yC(this.columns);if(e.metaKey||e.ctrlKey){if(!this._selection||this._selection.kind!==`rectangular`){let e=0;this._selection?.kind===`single`?e=this._selection.pos:this._selection?.kind===`contiguous`&&(e=Math.min(this._selection.start,this._selection.end)),this._rectAnchorXFromKeyboard=e%i,this._rectAnchorYFromKeyboard=Math.floor(e/i),this._selection={kind:`rectangular`,x:this._rectAnchorXFromKeyboard,y:this._rectAnchorYFromKeyboard,width:1,height:1}}this._selection=DC(this._selection,n,this.columns,r,this._rectAnchorXFromKeyboard,this._rectAnchorYFromKeyboard)}else if(e.shiftKey){if(!this._selection)this._initialSelectionPoint=0,this._currentCursorPoint=0;else if(this._selection.kind===`single`)this._initialSelectionPoint=this._selection.pos,this._currentCursorPoint=this._selection.pos;else if(this._selection.kind===`rectangular`){let e=this._selection.y*i+this._selection.x;this._initialSelectionPoint=e,this._currentCursorPoint=e}let e=TC(this._selection,n,this.columns,r),a=Math.min(this._initialSelectionPoint,e),o=Math.max(this._initialSelectionPoint,e);this._currentCursorPoint=e,this._selection={kind:`contiguous`,start:a,end:o}}else{this._selection=EC(this._selection,n,this.columns,r);let e=TC(this._selection,n,this.columns,r);this._initialSelectionPoint=e,this._currentCursorPoint=e}this._dispatchSelectEvent(),this.requestUpdate();return}if(e.key===`Tab`){if(e.preventDefault(),e.stopPropagation(),this._editState)this._advanceCursor();else{let e=cC(this._store);this._selection=EC(this._selection,`right`,this.columns,e),this._dispatchSelectEvent()}this.requestUpdate();return}if(e.key===`Escape`){if(e.preventDefault(),e.stopPropagation(),this._editState)this._editState=null;else if(this._selection&&this._selection.kind!==`single`){let e=this._selection,n=0;if(e.kind===`contiguous`){let r=e;n=Math.min(r.start,r.end)}if(e.kind===`rectangular`){let r=e;n=r.y*yC(this.columns)+r.x}this._selection={kind:`single`,pos:n},this._dispatchSelectEvent()}this.requestUpdate();return}if(this._editState){if(e.stopPropagation(),e.key===`Backspace`){this._handleBackspace();return}if(e.key===`Enter`){this._editState.side===`hex`&&this._editState.partial.startsWith(`.`)&&this._commitDecimalValue();return}e.key.length===1&&this._handleValueEntry(e.key);return}if(this._selection&&this._selection.kind===`single`&&e.key.length===1){e.preventDefault(),e.stopPropagation();let n=this._selection.pos,r=this._focusSide??`hex`;this._editState={pos:n,side:r,partial:``},this._handleValueEntry(e.key)}}}static{this.styles=r`
|
|
8662
|
+
`]}};E([d({attribute:!1})],$S.prototype,`checkboxRenderer`,void 0),E([d({type:Boolean,reflect:!0,attribute:`align-checkboxes`})],$S.prototype,`alignCheckboxes`,void 0),E([m()],$S.prototype,`_partialKeys`,void 0),$S=E([T(`ixfx-tree-list`)],$S);function eC(e,n){let r=document.createElement(`div`);r.style.cssText=`display:contents;`;let i;function a(r){let i={...e(r),data:r},o=n?.getChildren?.(r);return{item:i,children:o?o.map(a):i.isLeaf?[]:void 0}}function o(){return i||(i=document.createElement(`ixfx-tree-list`),i.interactionMode=n?.interactionMode??`standard`,i.selectionFilter=n?.selectionFilter??`all`,i.exclusivity=n?.exclusivity??`none`,i.style.cssText=`display:block;width:100%;`,r.appendChild(i),c(),i)}function s(e){let n=new Set;for(let r of e)r.item.data!==void 0&&n.add(r.item.data);return n}function c(){i.addEventListener(`select`,e=>{e.stopPropagation();let n={selected:s(e.detail.selected),previous:s(e.detail.previous)};r.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}),i.addEventListener(`activate`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`activate`,{detail:i,bubbles:!0,composed:!0}))}),i.addEventListener(`item-click`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`item-click`,{detail:i,bubbles:!0,composed:!0}))}),i.addEventListener(`tickle`,e=>{e.stopPropagation();let n=e.detail.node.item.data;if(n===void 0)return;let i={item:n};r.dispatchEvent(new CustomEvent(`tickle`,{detail:i,bubbles:!0,composed:!0}))})}let l=`single`,u=Object.assign(r,{setItems(e){let n=o();n.root={item:{key:`__adapter_root__`,label:``,isLeaf:!1},children:e.map(a)}},clearSelection(){i?.clearSelection()},dispatch(e,r){n?.onDispatch?.(e,r,i)}});return Object.defineProperties(u,{selectedItems:{get(){return i?s(i.selectedNodes):new Set},enumerable:!0,configurable:!0},selectionMode:{get(){return l},set(e){l=e,i&&(e===`none`?i.selectionFilter=`none`:e===`single`?(i.selectionFilter=n?.selectionFilter??`all`,i.interactionMode=`implicit`):(i.selectionFilter=n?.selectionFilter??`all`,i.interactionMode=n?.interactionMode??`standard`))},enumerable:!0,configurable:!0}}),u}function tC(e,n){let r=document.createElement(`div`);r.style.cssText=`display:contents;`;let i,a=n?.selectionMode??`single`,o=new WeakMap;function s(){return i||(i=document.createElement(`ixfx-vertical-list`),i.style.cssText=`height:auto;width:100%;`,i.selectionMode=a,n?.interactionMode&&(i.interactionMode=n.interactionMode),r.appendChild(i),c(),i)}function c(){i.addEventListener(`list-select`,e=>{let n={selected:u(e.detail.selected),previous:u(e.detail.previous)};r.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}),i.addEventListener(`list-activate`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`activate`,{detail:{item:n},bubbles:!0,composed:!0}))}),i.addEventListener(`list-item-click`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`item-click`,{detail:{item:n},bubbles:!0,composed:!0}))}),i.addEventListener(`list-tickle`,e=>{let n=o.get(e.detail.item);n!==void 0&&r.dispatchEvent(new CustomEvent(`tickle`,{detail:{item:n},bubbles:!0,composed:!0}))})}function l(n){let r=s();r.clearItems(),o=new WeakMap;for(let i of n){let n=e(i);o.set(n,i),r.addItem(n)}}function u(e){let n=new Set;for(let r of e){let e=o.get(r);e!==void 0&&n.add(e)}return n}let d=Object.assign(r,{setItems(e){l(e)},clearSelection(){i?.clearSelection()},dispatch(e,r){n?.onDispatch?.(e,r,i)}});return Object.defineProperties(d,{selectedItems:{get(){return i?u(i.selectedItems):new Set},enumerable:!0,configurable:!0},selectionMode:{get(){return i?.selectionMode??a},set(e){a=e,i&&(i.selectionMode=e)},enumerable:!0,configurable:!0}}),d}const nC=new Set([9,10,11,12,13,32]);function rC(e){return e<32&&e!==9&&e!==10&&e!==11&&e!==12&&e!==13}function iC(e){return e>=32&&e<=126}function aC(e){return e===0?`byte-null`:nC.has(e)?`byte-whitespace`:rC(e)?`byte-control`:iC(e)?`byte-printable`:`byte-other`}function oC(e,n,r,i){let a=Dg.createSteps(r,i,{steps:16}).map(Dg.toCssColour);return{forByte:r=>r===0?e:r===255?n:a[r>>4]}}function sC(e){return{data:new Uint8Array(e),changeset:new Set}}function cC(e,n){return e.data[n]??0}function lC(e){return e.data.length}function uC(e){return Math.max(0,Math.min(255,e))}function dC(e,n,r){let i=uC(r),a=e.data[n],o=new Map([[n,{before:a,after:i}]]);return e.data[n]=i,e.changeset.add(n),o}function fC(e,n){let r=new Map;return n.forEach((n,i)=>{let a=uC(n),o=e.data[i];r.set(i,{before:o,after:a}),e.data[i]=a,e.changeset.add(i)}),r}function pC(e,n){let r=new Map;return n.forEach((n,i)=>{let a=e.data[i];r.set(i,{before:n.after,after:a}),e.data[i]=n.after,e.changeset.add(i)}),r}function mC(e){let n=new Map;return e.forEach((e,r)=>{n.set(r,{before:e.after,after:e.before})}),n}function hC(e){return e.changeset}function gC(){return{undos:[],redos:[]}}function _C(e,n){e.undos.push(n),e.redos=[]}function vC(e){let n=e.undos.pop();return n&&e.redos.push(n),n}function yC(e){let n=e.redos.pop();return n&&e.undos.push(n),n}const bC=e=>e*4,xC=(e,n)=>e<n?e:n,SC=(e,n)=>e>n?e:n;function CC(e,n){return Math.max(0,Math.min(e,n-1))}function wC(e,n){if(!e)return[];let r=bC(n);if(e.kind===`single`)return[e.pos];if(e.kind===`contiguous`){let n=xC(e.start,e.end),r=SC(e.start,e.end),i=[];for(let e=n;e<=r;e++)i.push(e);return i}if(e.kind===`rectangular`){let n=[];for(let i=0;i<e.height;i++)for(let a=0;a<e.width;a++){let o=e.y+i,s=e.x+a,c=o*r+s;n.push(c)}return n}return[]}function TC(e,n,r){if(!e)return!1;let i=bC(r);if(e.kind===`single`)return n===e.pos;if(e.kind===`contiguous`){let r=xC(e.start,e.end),i=SC(e.start,e.end);return n>=r&&n<=i}if(e.kind===`rectangular`){let r=Math.floor(n/i),a=n%i,o=e.x,s=e.y,c=e.width,l=e.height;return r>=s&&r<s+l&&a>=o&&a<o+c}return!1}function EC(e,n,r,i){let a;a=e?e.kind===`single`?e.pos:e.kind===`contiguous`?SC(e.start,e.end):e.kind===`rectangular`?e.y*bC(r)+e.x+e.width-1:0:0;let o=bC(r),s;switch(n){case`left`:s=a-1;break;case`right`:s=a+1;break;case`up`:s=a-o;break;case`down`:s=a+o;break;default:s=a}return CC(s,i)}function DC(e,n,r,i){return{kind:`single`,pos:EC(e,n,r,i)}}function OC(e,n,r,i,a=0,o=0){let s=bC(r),c,l,u,d;if(!e||e.kind===`single`){let n=e?.kind===`single`?e.pos:0;c=n%s,l=Math.floor(n/s),u=1,d=1}else if(e.kind===`contiguous`){let n=xC(e.start,e.end),r=SC(e.start,e.end);c=n%s,l=Math.floor(n/s),u=r-n+1,d=1}else e.kind===`rectangular`?(c=e.x,l=e.y,u=e.width,d=e.height):(c=0,l=0,u=1,d=1);let f=a>0||e?.kind===`rectangular`?a:c,p=o>0||e?.kind===`rectangular`?o:l;switch(n){case`left`:c>f?--u:(c===f&&u>1||c>0)&&(--c,u+=1);break;case`right`:c+u<s&&(u+=1);break;case`up`:l>p?--d:(l===p&&d>1||l>0)&&(--l,d+=1);break;case`down`:d+=1}return{kind:`rectangular`,x:c,y:l,width:u,height:d}}function kC(e,n,r,i){let a=bC(i);if(r===`contiguous`)return{kind:`contiguous`,start:xC(e,n),end:SC(e,n)};let o=e%a,s=Math.floor(e/a),c=n%a,l=Math.floor(n/a);return{kind:`rectangular`,x:xC(o,c),y:xC(s,l),width:Math.abs(c-o)+1,height:Math.abs(l-s)+1}}let AC=class extends n{constructor(...e){super(...e),this.columns=4,this.colourScheme=`ascii`,this.showChangeset=!0,this.hideOffsetCol=!1,this.hideHexCol=!1,this.hideTextCol=!1,this._selection=null,this._scrollTop=0,this._editState=null,this._containerH=0,this._shadeMap=null,this._focusSide=null,this._store=sC(new Uint8Array),this._undoStack=gC(),this._copyBuffer=null,this._rowHeight=24,this._dragStart=null,this._dragAnchor=null,this._rectAnchorX=0,this._rectAnchorY=0,this._rectAnchorXFromKeyboard=0,this._rectAnchorYFromKeyboard=0,this._initialSelectionPoint=0,this._currentCursorPoint=0,this._pointerMode=null,this._currentDragDiff=null,this._shiftClickTarget=null,this._onScroll=e=>{let n=e.target;this._scrollTop=n.scrollTop,this.requestUpdate()},this._onKeyDown=e=>{if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key)){e.preventDefault(),e.stopPropagation(),this._editState&&=null;let n=e.key.replace(`Arrow`,``).toLowerCase(),r=lC(this._store),i=bC(this.columns);if(e.metaKey||e.ctrlKey){if(!this._selection||this._selection.kind!==`rectangular`){let e=0;this._selection?.kind===`single`?e=this._selection.pos:this._selection?.kind===`contiguous`&&(e=Math.min(this._selection.start,this._selection.end)),this._rectAnchorXFromKeyboard=e%i,this._rectAnchorYFromKeyboard=Math.floor(e/i),this._selection={kind:`rectangular`,x:this._rectAnchorXFromKeyboard,y:this._rectAnchorYFromKeyboard,width:1,height:1}}this._selection=OC(this._selection,n,this.columns,r,this._rectAnchorXFromKeyboard,this._rectAnchorYFromKeyboard)}else if(e.shiftKey){if(!this._selection)this._initialSelectionPoint=0,this._currentCursorPoint=0;else if(this._selection.kind===`single`)this._initialSelectionPoint=this._selection.pos,this._currentCursorPoint=this._selection.pos;else if(this._selection.kind===`rectangular`){let e=this._selection.y*i+this._selection.x;this._initialSelectionPoint=e,this._currentCursorPoint=e}let e=EC(this._selection,n,this.columns,r),a=Math.min(this._initialSelectionPoint,e),o=Math.max(this._initialSelectionPoint,e);this._currentCursorPoint=e,this._selection={kind:`contiguous`,start:a,end:o}}else{this._selection=DC(this._selection,n,this.columns,r);let e=EC(this._selection,n,this.columns,r);this._initialSelectionPoint=e,this._currentCursorPoint=e}this._dispatchSelectEvent(),this.requestUpdate();return}if(e.key===`Tab`){if(e.preventDefault(),e.stopPropagation(),this._editState)this._advanceCursor();else{let e=lC(this._store);this._selection=DC(this._selection,`right`,this.columns,e),this._dispatchSelectEvent()}this.requestUpdate();return}if(e.key===`Escape`){if(e.preventDefault(),e.stopPropagation(),this._editState)this._editState=null;else if(this._selection&&this._selection.kind!==`single`){let e=this._selection,n=0;if(e.kind===`contiguous`){let r=e;n=Math.min(r.start,r.end)}if(e.kind===`rectangular`){let r=e;n=r.y*bC(this.columns)+r.x}this._selection={kind:`single`,pos:n},this._dispatchSelectEvent()}this.requestUpdate();return}if(this._editState){if(e.stopPropagation(),e.key===`Backspace`){this._handleBackspace();return}if(e.key===`Enter`){this._editState.side===`hex`&&this._editState.partial.startsWith(`.`)&&this._commitDecimalValue();return}e.key.length===1&&this._handleValueEntry(e.key);return}if(this._selection&&this._selection.kind===`single`&&e.key.length===1){e.preventDefault(),e.stopPropagation();let n=this._selection.pos,r=this._focusSide??`hex`;this._editState={pos:n,side:r,partial:``},this._handleValueEntry(e.key)}}}static{this.styles=r`
|
|
8655
8663
|
:host {
|
|
8656
8664
|
--hex-row-height: 24px;
|
|
8657
8665
|
--hex-offset-width: 8ch;
|
|
@@ -8789,7 +8797,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8789
8797
|
.byte-whitespace { color: var(--ascii-whitespace); }
|
|
8790
8798
|
.byte-control { color: var(--ascii-control); }
|
|
8791
8799
|
.byte-other { color: var(--ascii-other); }
|
|
8792
|
-
`}setData(e){this._store=
|
|
8800
|
+
`}setData(e){this._store=sC(e),this._undoStack=gC(),this._selection=null,this._editState=null,this._scrollTop=0,this.requestUpdate()}undo(){let e=vC(this._undoStack);if(!e)return;let n=mC(e);pC(this._store,n),this.requestUpdate()}redo(){let e=yC(this._undoStack);e&&(pC(this._store,e),this.requestUpdate())}recomputeColours(){let e=getComputedStyle(this),n=e.getPropertyValue(`--shade-null`).trim()||`#808080`,r=e.getPropertyValue(`--shade-max`).trim()||`#ffffff`,i=e.getPropertyValue(`--shade-step-start`).trim()||`#ff0000`,a=e.getPropertyValue(`--shade-step-end`).trim()||`#0000ff`;this._shadeMap=oC(n,r,i,a),this.requestUpdate()}*selectedBytes(){let e=wC(this._selection,this.columns);for(let n=0;n<e.length;n++){let r=e[n];yield{selection_index:n,array_index:r,value:cC(this._store,r)}}}containsPosition(e){return TC(this._selection,e,this.columns)}selectSingle(e){this._selection={kind:`single`,pos:e},this._dispatchSelectEvent(),this.requestUpdate()}selectContiguous(e,n){this._selection={kind:`contiguous`,start:e,end:n},this._dispatchSelectEvent(),this.requestUpdate()}selectRectangular(e,n,r,i){this._selection={kind:`rectangular`,x:e,y:n,width:r,height:i},this._dispatchSelectEvent(),this.requestUpdate()}clearSelection(){this._selection=null,this._dispatchSelectEvent(),this.requestUpdate()}getSelection(){return this._selection}firstUpdated(){let e=this.shadowRoot?.querySelector(`.scroll-container`);e&&(new ResizeObserver(e=>{this._containerH=e[0].contentRect.height,this.requestUpdate()}).observe(e),this._containerH=e.clientHeight),this.recomputeColours()}_onPointerDown(e,n,r){if(r.preventDefault(),r.button!==0)return;(this.shadowRoot?.querySelector(`.hex-editor`))?.focus(),this._focusSide=n,r.target.setPointerCapture(r.pointerId);let i=bC(this.columns),a=e%i,o=Math.floor(e/i);r.metaKey||r.ctrlKey?(this._pointerMode=`select-rect`,this._dragAnchor=e,this._rectAnchorX=a,this._rectAnchorY=o):r.shiftKey?(this._pointerMode=`select-cont`,!this._selection||this._selection.kind!==`single`?this._dragAnchor=e:(this._dragAnchor=this._selection.pos,this._shiftClickTarget=e)):(this._pointerMode=`pending`,this._dragStart={pos:e,startValue:cC(this._store,e),startY:r.clientY,startX:r.clientX},this._dragAnchor=e,this._currentDragDiff=null)}_onPointerMove(e,n,r){if(!this._dragStart)return;let i=Math.abs(r.clientY-this._dragStart.startY),a=Math.abs(r.clientX-this._dragStart.startX);if(this._pointerMode===`pending`&&i>4&&i>a&&(this._pointerMode=`drag-value`,this._editState=null),this._pointerMode===`drag-value`){let n=Math.round((r.clientY-this._dragStart.startY)/4),i=Math.max(0,Math.min(255,this._dragStart.startValue-n));this._currentDragDiff=dC(this._store,e,i),this.requestUpdate()}if(this._pointerMode===`select-cont`&&this._dragAnchor!==null&&(this._selection=kC(this._dragAnchor,e,`contiguous`,this.columns),this._dispatchSelectEvent()),this._pointerMode===`select-rect`){let n=bC(this.columns),r=e%n,i=Math.floor(e/n),a=Math.min(this._rectAnchorX,r),o=Math.min(this._rectAnchorY,i),s=Math.abs(r-this._rectAnchorX)+1,c=Math.abs(i-this._rectAnchorY)+1;this._selection={kind:`rectangular`,x:a,y:o,width:s,height:c},this._dispatchSelectEvent()}}_onPointerUp(e,n,r){if(r.target.releasePointerCapture(r.pointerId),this._pointerMode===`pending`&&(this._selection={kind:`single`,pos:e},this._initialSelectionPoint=e,this._currentCursorPoint=e,this._editState={pos:e,side:n,partial:``},this._dispatchSelectEvent()),this._pointerMode===`select-cont`&&(this._dragAnchor!==null&&this._shiftClickTarget!==null?(this._selection={kind:`contiguous`,start:this._dragAnchor,end:this._shiftClickTarget},this._initialSelectionPoint=Math.min(this._dragAnchor,this._shiftClickTarget),this._currentCursorPoint=Math.max(this._dragAnchor,this._shiftClickTarget),this._dispatchSelectEvent()):this._dragAnchor!==null&&(this._selection=kC(this._dragAnchor,e,`contiguous`,this.columns),this._initialSelectionPoint=this._dragAnchor,this._currentCursorPoint=e,this._dispatchSelectEvent())),this._pointerMode===`select-rect`){let n=bC(this.columns),r=e%n,i=Math.floor(e/n),a=Math.min(this._rectAnchorX,r),o=Math.min(this._rectAnchorY,i),s=Math.abs(r-this._rectAnchorX)+1,c=Math.abs(i-this._rectAnchorY)+1;this._selection={kind:`rectangular`,x:a,y:o,width:s,height:c},this._dispatchSelectEvent()}this._pointerMode===`drag-value`&&this._currentDragDiff&&(_C(this._undoStack,this._currentDragDiff),this._dispatchChangeEvent(this._currentDragDiff)),this._pointerMode=null,this._dragStart=null,this._dragAnchor=null,this._currentDragDiff=null,this._shiftClickTarget=null}_handleBackspace(){this._editState&&(this._editState={...this._editState,partial:``},this.requestUpdate())}_handleValueEntry(e){if(!this._editState)return;let{pos:n,side:r,partial:i}=this._editState;if(r===`text`){if(e.length===1&&e.charCodeAt(0)>=32&&e.charCodeAt(0)<=126){let r=e.charCodeAt(0),i=dC(this._store,n,r);_C(this._undoStack,i),this._dispatchChangeEvent(i),this._advanceCursor()}return}if(i===``&&e===`.`){this._editState={...this._editState,partial:`.`},this.requestUpdate();return}if(i.startsWith(`.`)){if(/\d/.test(e)){let n=i+e;Number(n.slice(1))>255&&(n=`.255`),this._editState={...this._editState,partial:n},this.requestUpdate()}return}if(`0123456789ABCDEFabcdef`.includes(e)){let r=(i+e.toUpperCase()).slice(-2);if(this._editState={...this._editState,partial:r},this.requestUpdate(),r.length===2){let e=Number.parseInt(r,16),i=dC(this._store,n,e);_C(this._undoStack,i),this._dispatchChangeEvent(i),this._advanceCursor()}}else i!==``&&(this._editState={...this._editState,partial:``},this.requestUpdate())}_commitDecimalValue(){if(!this._editState)return;let e=Number.parseInt(this._editState.partial.slice(1),10);if(!Number.isNaN(e)){let n=dC(this._store,this._editState.pos,e);_C(this._undoStack,n),this._dispatchChangeEvent(n),this._advanceCursor()}}_advanceCursor(){if(!this._editState)return;let e=lC(this._store),n=CC(this._editState.pos+1,e);this._editState={pos:n,side:this._editState.side,partial:``},this._selection={kind:`single`,pos:n},this.requestUpdate()}_dispatchChangeEvent(e){this.dispatchEvent(new CustomEvent(`hex-change`,{detail:{diff:e},bubbles:!0,composed:!0}))}_dispatchSelectEvent(){let e=this._selection,n;n=e?e.kind===`single`?{type:`single`,position:e.pos}:e.kind===`contiguous`?{type:`contiguous`,start:e.start,end:e.end}:e.kind===`rectangular`?{type:`rectangular`,x:e.x,y:e.y,width:e.width,height:e.height}:{type:`none`}:{type:`none`},this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0}))}_copy(){let e=wC(this._selection,this.columns);if(e.length===0)return;let n=e.map(e=>cC(this._store,e));this._copyBuffer=new Uint8Array(n);let r=n.map(e=>e.toString(16).padStart(2,`0`)).join(` `);navigator.clipboard?.writeText(r).catch(()=>{})}async _paste(){let e=null;try{let n=await navigator.clipboard?.readText();n&&(e=this._parseHexString(n))}catch{}if(!e&&this._copyBuffer&&(e=Array.from(this._copyBuffer)),!e||e.length===0||!this._selection)return;let n=new Map;if(this._selection.kind===`single`){let r=this._selection.pos,i=lC(this._store);for(let a=0;a<e.length&&r+a<i;a++)n.set(r+a,e[a])}else if(this._selection.kind===`contiguous`){let r=Math.min(this._selection.start,this._selection.end),i=Math.max(this._selection.start,this._selection.end)-r+1;for(let a=0;a<Math.min(e.length,i);a++)n.set(r+a,e[a])}else if(this._selection.kind===`rectangular`){let{x:r,y:i,width:a,height:o}=this._selection,s=bC(this.columns),c=0;for(let l=0;l<o&&c<e.length;l++)for(let o=0;o<a&&c<e.length;o++){let a=(i+l)*s+r+o;n.set(a,e[c++])}}if(n.size>0){let e=fC(this._store,n);_C(this._undoStack,e),this._dispatchChangeEvent(e),this.requestUpdate()}}_parseHexString(e){let n=[],r=e.replace(/[^0-9A-F]/gi,` `).trim();if(!r)return n;let i=r.split(/\s+/);for(let e of i)e.length===1?n.push(Number.parseInt(e+e,16)):e.length===2&&n.push(Number.parseInt(e,16));return n}_getColHeaders(){let e=[];for(let n=0;n<this.columns;n++){let r=n*4;e.push(`+${r.toString(16).toUpperCase()}`)}return e}_isRowShaded(e){let n=this._selection;if(!n||n.kind!==`single`)return!0;let r=bC(this.columns);return Math.floor(e/r)===Math.floor(n.pos/r)}_isHexShaded(e){return this._isRowShaded(e)}_isTextShaded(e){return this._isRowShaded(e)}render(){let e=lC(this._store),n=bC(this.columns),r=Math.ceil(e/n),a=this._containerH>0?this._containerH:280,o=Math.floor(this._scrollTop/this._rowHeight),s=Math.min(o+Math.ceil(a/this._rowHeight)+2,r),c=o*this._rowHeight,l=(r-s)*this._rowHeight,u=hC(this._store),d=this._getColHeaders(),f=this._focusSide===`hex`||this._focusSide===null,p=this._focusSide===`text`;return i`
|
|
8793
8801
|
<div class="hex-editor" tabindex="0" @keydown=${this._onKeyDown} @pointerleave=${()=>{}}>
|
|
8794
8802
|
<div class="header">
|
|
8795
8803
|
${this.hideOffsetCol?null:i`<span class="offset-cell">Offset</span>`}
|
|
@@ -8802,7 +8810,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8802
8810
|
<div style="height: ${l}px"></div>
|
|
8803
8811
|
</div>
|
|
8804
8812
|
</div>
|
|
8805
|
-
`}_renderRow(e,n){let r=
|
|
8813
|
+
`}_renderRow(e,n){let r=bC(this.columns),a=e*r;return i`
|
|
8806
8814
|
<div class="row" data-row=${e}>
|
|
8807
8815
|
${this.hideOffsetCol?null:i`<span class="offset-cell">${a.toString(16).toUpperCase().padStart(6,`0`)}</span>`}
|
|
8808
8816
|
${this.hideHexCol?null:_(Array.from({length:this.columns},(e,n)=>n),e=>e,r=>this._renderColumn(e,r,n))}
|
|
@@ -8812,11 +8820,11 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8812
8820
|
</span>
|
|
8813
8821
|
`}
|
|
8814
8822
|
</div>
|
|
8815
|
-
`}_renderColumn(e,n,r){let a=e*
|
|
8823
|
+
`}_renderColumn(e,n,r){let a=e*bC(this.columns)+n*4;return i`
|
|
8816
8824
|
<span class="col-group">
|
|
8817
8825
|
${[0,1,2,3].map(e=>this._renderHexCell(a+e,r))}
|
|
8818
8826
|
</span>
|
|
8819
|
-
`}_renderHexCell(e,n){if(e>=
|
|
8827
|
+
`}_renderHexCell(e,n){if(e>=lC(this._store))return i`<span class="hex-cell"></span>`;let r=cC(this._store,e),a=r.toString(16).toUpperCase().padStart(2,`0`),o=TC(this._selection,e,this.columns),s=this.showChangeset&&n.has(e),c=this._editState?.pos===e,l=[`hex-cell`];o&&l.push(`selected`),s&&l.push(`changed`),c&&l.push(`editing`),this._isHexShaded(e)&&l.push(`shaded`);let u=a,d;return c&&this._editState&&(u=this._editState.partial===``?a:`${this._editState.partial}_`),this.colourScheme===`shade`&&this._shadeMap?d={color:this._shadeMap.forByte(r)}:this.colourScheme===`ascii`&&l.push(aC(r)),i`
|
|
8820
8828
|
<span
|
|
8821
8829
|
class=${l.join(` `)}
|
|
8822
8830
|
style=${h(d||{})}
|
|
@@ -8824,7 +8832,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8824
8832
|
@pointerup=${n=>this._onPointerUp(e,`hex`,n)}
|
|
8825
8833
|
@pointermove=${n=>this._onPointerMove(e,`hex`,n)}
|
|
8826
8834
|
>${u}</span>
|
|
8827
|
-
`}_renderTextChar(e,n){if(e>=
|
|
8835
|
+
`}_renderTextChar(e,n){if(e>=lC(this._store))return i`<span class="text-char"></span>`;let r=cC(this._store,e),a=r>=32&&r<=126?String.fromCharCode(r):`.`,o=TC(this._selection,e,this.columns),s=this.showChangeset&&n.has(e),c=[`text-char`];o&&c.push(`selected`),s&&c.push(`changed`),this._isTextShaded(e)&&c.push(`shaded`);let l;return this.colourScheme===`shade`&&this._shadeMap?l={color:this._shadeMap.forByte(r)}:this.colourScheme===`ascii`&&c.push(aC(r)),i`
|
|
8828
8836
|
<span
|
|
8829
8837
|
class=${c.join(` `)}
|
|
8830
8838
|
style=${h(l||{})}
|
|
@@ -8832,7 +8840,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8832
8840
|
@pointerup=${n=>this._onPointerUp(e,`text`,n)}
|
|
8833
8841
|
@pointermove=${n=>this._onPointerMove(e,`text`,n)}
|
|
8834
8842
|
>${a}</span>
|
|
8835
|
-
`}};E([d({type:Number})],
|
|
8843
|
+
`}};E([d({type:Number})],AC.prototype,`columns`,void 0),E([d({type:String})],AC.prototype,`colourScheme`,void 0),E([d({type:Boolean})],AC.prototype,`showChangeset`,void 0),E([d({type:Boolean,attribute:`hide-offset-col`})],AC.prototype,`hideOffsetCol`,void 0),E([d({type:Boolean,attribute:`hide-hex-col`})],AC.prototype,`hideHexCol`,void 0),E([d({type:Boolean,attribute:`hide-text-col`})],AC.prototype,`hideTextCol`,void 0),E([m()],AC.prototype,`_selection`,void 0),E([m()],AC.prototype,`_scrollTop`,void 0),E([m()],AC.prototype,`_editState`,void 0),E([m()],AC.prototype,`_containerH`,void 0),E([m()],AC.prototype,`_shadeMap`,void 0),E([m()],AC.prototype,`_focusSide`,void 0),AC=E([T(`ixfx-hex-editor`)],AC);const jC=s`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 12 7-7 7 7"/><path d="M12 19V5"/></svg>`;function MC(e,n,r){return e.y<r*.25?`below`:e.y>r*.75?`above`:e.x>n/2?`left`:`right`}function NC(e,n,r){let i=e.node.children??[];if(i.length===0)return!1;let a=n.filter(n=>n.parentId===e.id);return a.length<i.length||a.some(e=>!r.has(e.id))}function PC(e,n,r,i){let a=Math.min(r,i)/2.1;return{x:r/2+(n.offset.x+n.zoom*e.x)*a,y:i/2+(n.offset.y+n.zoom*e.y)*a}}function FC(e,n){if(!e)return a;let r=e.node.children??[],o=r.slice(0,12),s=r.length-o.length;return i`
|
|
8836
8844
|
<div
|
|
8837
8845
|
class="child-preview ${e.side}"
|
|
8838
8846
|
part="child-preview"
|
|
@@ -8851,7 +8859,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8851
8859
|
title=${`Up to ${e.parent.item.label}`}
|
|
8852
8860
|
aria-label=${`Up to ${e.parent.item.label}`}
|
|
8853
8861
|
@click=${()=>n.onPick(e.parent)}
|
|
8854
|
-
>${
|
|
8862
|
+
>${jC}</button>`:a}
|
|
8855
8863
|
<span>${e.node.item.label}</span>
|
|
8856
8864
|
</div>
|
|
8857
8865
|
<ul>
|
|
@@ -8861,7 +8869,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
8861
8869
|
</ul>
|
|
8862
8870
|
${s>0?i`<div class="child-preview-more">+${s} more</div>`:a}
|
|
8863
8871
|
</div>
|
|
8864
|
-
`}function FC(e){let n=!1,r,i=i=>{clearTimeout(r);let a=e.candidate(i);if(a!==void 0){if(a===e.currentId())return;r=setTimeout(()=>{let n=e.candidate(i);n!==void 0&&e.setPreviewId(n)},600);return}r=setTimeout(()=>{n||e.setPreviewId(void 0)},250)};return{update:i,pointerEnter(){n=!0,clearTimeout(r)},pointerLeave(e){n=!1,i(e)},hide(){n=!1,clearTimeout(r),e.setPreviewId(void 0)},dispose(){clearTimeout(r)}}}const IC=1e-9;function LC(e,n){return{x:e.x*n.x-e.y*n.y,y:e.x*n.y+e.y*n.x}}function RC(e){return{x:e.x,y:-e.y}}function zC(e,n){return{x:e.x+n.x,y:e.y+n.y}}function BC(e,n){return{x:e.x-n.x,y:e.y-n.y}}function VC(e,n){return{x:e.x*n,y:e.y*n}}function HC(e,n){let r=n.x*n.x+n.y*n.y;return r<IC?{x:0,y:0}:VC(LC(e,RC(n)),1/r)}function UC(e){return Math.hypot(e.x,e.y)}function WC(e,n=.999999){let r=UC(e);return r<=n?e:VC(e,n/r)}function GC(e,n){return WC(HC(BC(e,n),BC({x:1,y:0},LC(RC(n),e))))}function KC(e,n){return WC(HC(zC(e,n),zC({x:1,y:0},LC(RC(n),e))))}function qC(e,n){return KC(n,e)}function JC(e){return Math.tanh(e/2)}function YC(e){return 2*Math.atanh(Math.min(Math.max(e,0),.999999))}function XC(e,n){return YC(UC(GC(n,e)))}function ZC(e,n,r){if(r<=0)return e;if(r>=1)return n;let i=GC(n,e),a=UC(i);return a<IC?e:KC(VC(VC(i,1/a),JC(YC(a)*r)),e)}const QC={a:{x:1,y:0},b:{x:0,y:0}};function $C(e,n){return WC(HC(zC(LC(e.a,n),e.b),zC(LC(RC(e.b),n),RC(e.a))))}function ew(e,n){let r=zC(LC(e.a,n.a),LC(e.b,RC(n.b))),i=zC(LC(e.a,n.b),LC(e.b,RC(n.a))),a=Math.sqrt(Math.max(IC,r.x*r.x+r.y*r.y-i.x*i.x-i.y*i.y));return{a:VC(r,1/a),b:VC(i,1/a)}}function tw(e){return{a:RC(e.a),b:VC(e.b,-1)}}function nw(e){let n=1/Math.sqrt(Math.max(IC,1-e.x*e.x-e.y*e.y));return{a:{x:n,y:0},b:VC(e,n)}}function rw(e){return{a:{x:Math.cos(e/2),y:Math.sin(e/2)},b:{x:0,y:0}}}function iw(e,n=0){return ew(rw(n),tw(nw(e)))}function aw(e){return{center:$C(tw(e),{x:0,y:0}),rotation:2*Math.atan2(e.a.y,e.a.x)}}function ow(e,n){let r=e.x*n.y-e.y*n.x,i=Math.hypot(n.x-e.x,n.y-e.y);if(Math.abs(r)<1e-6*Math.max(i,IC))return{kind:`line`};let a=(e.x*e.x+e.y*e.y+1)/2,o=(n.x*n.x+n.y*n.y+1)/2,s={x:(a*n.y-o*e.y)/r,y:(e.x*o-n.x*a)/r};return{kind:`arc`,center:s,radius:Math.sqrt(Math.max(0,s.x*s.x+s.y*s.y-1)),sweep:+((e.x-s.x)*(n.y-s.y)-(e.y-s.y)*(n.x-s.x)>0)}}function sw(e,n,r=1){let i=e=>(e*r).toFixed(2),a=ow(e,n),o=`M${i(e.x)},${i(e.y)}`;return a.kind===`line`||a.radius*r>1e6?`${o} L${i(n.x)},${i(n.y)}`:`${o} A${i(a.radius)},${i(a.radius)} 0 0 ${a.sweep} ${i(n.x)},${i(n.y)}`}function cw(e){return Math.atan2(Math.sin(e),Math.cos(e))}function lw(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function uw(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}function dw(e,n,r){let i=nw(n);return ew(ew(i,ew(nw(GC(r,n)),tw(i))),e)}function fw(e){let{center:n,rotation:r}=aw(e),i=cw(r),a={x:0,y:0};return{settledRotation:i,viewAt:e=>{let r=lw(Math.min(1,Math.max(0,e)));return iw(ZC(n,a,r),i)}}}const pw=.5;function mw(e){let n=Math.min(8,Math.max(pw,e.zoom));if(n<=1)return{zoom:n,offset:{x:0,y:0}};let r=n-1,i=Math.hypot(e.offset.x,e.offset.y);return{zoom:n,offset:i>r?{x:e.offset.x*r/i,y:e.offset.y*r/i}:e.offset}}function hw(e,n,r){let i=Math.min(8,Math.max(pw,e.zoom*r)),a=_w(n,e);return mw({zoom:i,offset:{x:n.x-i*a.x,y:n.y-i*a.y}})}function gw(e,n,r){let i=2.1/(Math.min(e.width,e.height)||1);return{x:(n-(e.left+e.width/2))*i,y:(r-(e.top+e.height/2))*i}}function _w(e,n){let r=n.zoom||1;return{x:(e.x-n.offset.x)/r,y:(e.y-n.offset.y)/r}}function vw(e){let n=e.target;return n===e.currentTarget||n?.classList.contains(`disk-boundary`)===!0}function yw(e){let n=new Map,r,i=!1,a,o=n=>{let r=e.svgRect();return r?gw(r,n.clientX,n.clientY):void 0},s=n=>WC(_w(n,e.zoomState()),.98),c=(e,n)=>({x:(e.x+n.x)/2,y:(e.y+n.y)/2}),l=(n,i,a,o)=>{r={pointerId:n,start:s(i),baseView:e.takeView(),downClient:a,armed:o}},u=()=>{let[[i,o],[s,l]]=[...n.entries()];r=void 0;let{zoom:u}=e.zoomState();a={ids:[i,s],startDistance:Math.max(1e-6,Math.hypot(o.x-l.x,o.y-l.y)),startZoom:u,anchor:_w(c(o,l),e.zoomState())}};return{onPointerDown(r){i=!1;let a=vw(r);e.focusTree();let s=o(r);s&&(a&&(r.currentTarget.setPointerCapture?.(r.pointerId),e.onDragStart?.()),n.set(r.pointerId,s),n.size===2&&e.zoomGesturesEnabled()?u():n.size===1&&l(r.pointerId,s,{x:r.clientX,y:r.clientY},a))},onPointerMove(l){if(!n.has(l.pointerId))return;let u=o(l);if(u){if(n.set(l.pointerId,u),a){let r=n.get(a.ids[0]),i=n.get(a.ids[1]);if(!r||!i)return;let o=a.startZoom*Math.hypot(r.x-i.x,r.y-i.y)/a.startDistance,s=c(r,i),l=Math.min(8,Math.max(pw,o));e.setZoomState(mw({zoom:l,offset:{x:s.x-l*a.anchor.x,y:s.y-l*a.anchor.y}}))}else if(r&&r.pointerId===l.pointerId){if(!r.armed){if(Math.hypot(l.clientX-r.downClient.x,l.clientY-r.downClient.y)<4)return;r.armed=!0,i=!0,l.currentTarget.setPointerCapture?.(l.pointerId),e.onDragStart?.()}e.setView(dw(r.baseView,r.start,s(u)))}}},onPointerUp(e){if(n.delete(e.pointerId)){if(a){a=void 0;let[e]=[...n.entries()];e&&l(e[0],e[1],{x:0,y:0},!0)}else r?.pointerId===e.pointerId&&(r=void 0)}},onWheel(n){let r=n.ctrlKey||n.metaKey;if(!e.zoomGesturesEnabled()||!r&&!e.hasFocus())return;let i=o(n);if(!i)return;n.preventDefault();let a=n.deltaMode===1?n.deltaY*16:n.deltaY,s=Math.exp(-a*(r?.01:.002));e.setZoomState(hw(e.zoomState(),i,s))},isDragging(){return r?.armed===!0},wasDragged(){return i},cancel(){r=void 0,a=void 0,n.clear()}}}function bw(e,n){let r=new Map;return n.map(n=>{let i=n.item.key,a=r.get(i)??0;return r.set(i,a+1),`${e}${a===0?i:`${i}#${a}`}`})}function xw(e){return e.split(``).length-1}function Sw(e){let n=e.split(``);return n.length<2?void 0:`${n[0]}${n[1]}`}function Cw(e,n){return e.startsWith(`${n}`)}function ww(e,n){if(!e)return;let r=(e,i)=>{if(i===n)return[e];if(!Cw(n,i))return;let a=e.children??[],o=bw(i,a);for(let n=0;n<a.length;n++){let i=r(a[n],o[n]);if(i)return[e,...i]}};return r(e,e.item.key)}function Tw(e,n){if(!e)return;let r=(e,i)=>{if(e===n)return i;let a=e.children??[],o=bw(i,a);for(let e=0;e<a.length;e++){let n=r(a[e],o[e]);if(n!==void 0)return n}};return r(e,e.item.key)}function Ew(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;let a=i.children?.length?Ew(i.children,n,e):void 0;if(a)return a}}function Dw(e,n){if(e){if(e.item.key===n)return e;for(let r of e.children??[]){let e=Dw(r,n);if(e)return e}}}function Ow(e,n){if(e){if(e.item.key===n)return[e];for(let r of e.children??[]){let i=Ow(r,n);if(i)return[e,...i]}}}function kw(e,n){if(n<=0)return 1;let r=e.children??[];if(r.length===0)return 1;let i=1;for(let e of r)i+=kw(e,n-1);return i}function Aw(e,n){let r=GC({x:Math.cos(e),y:Math.sin(e)},n);return Math.atan2(r.y,r.x)}function jw(e){let n=0;for(let r=0;r<e.length;r++)n=Math.imul(n,31)+e.charCodeAt(r)|0;return(n>>>0)%1e3/1e3*2-1}const Mw=.5;function Nw(e,n,r){if(n<=0)return r;let i=Math.min(e,Math.PI)/2,a=Math.asinh(Math.sinh(n/2)/Math.max(Math.sin(i),1e-6));return Math.min(Math.max(r,a),r+6)}function Pw(e,n=24,r=1,i=Mw){let a=new Map;if(!e)return a;let o={x:0,y:0};a.set(e.item.key,{node:e,id:e.item.key,depth:0,parentKey:void 0,parentId:void 0,position:o,toParent:QC,angularShare:2*Math.PI});let s=(e,c,l,u,d,f)=>{if(f>=n)return;let p=e.children??[],m=p.length;if(m===0)return;let h=d-u,g=p.map(e=>Math.sqrt(kw(e,n-f-1))),_=g.reduce((e,n)=>e+n,0),v=bw(c,p),y=u;p.forEach((n,u)=>{let d=m===1?h:h*g[u]/_,p=y+d/2;y+=d;let b=p+(m===1?jw(n.item.key)*Math.min(.22,d*.4):0),x=JC(m===1?r:Nw(d,i,r)),S={x:x*Math.cos(b),y:x*Math.sin(b)},ee=nw(S),te=ew(l,ee);a.set(v[u],{node:n,id:v[u],depth:f+1,parentKey:e.item.key,parentId:c,position:$C(te,o),toParent:ee,angularShare:d});let ne=Math.min(d,Math.PI)/2,re=Aw(p-ne,S),ie=Aw(p+ne,S)-re;ie<=0&&(ie+=2*Math.PI),s(n,v[u],te,re,re+ie,f+1)})};return s(e,e.item.key,QC,-Math.PI,Math.PI,0),a}function Fw(e,n,r){let i=new Map;if(!e.has(n))return i;i.set(n,{ring:0,frame:QC});let a=[n];for(let n=1;n<=r&&a.length>0;n++){let r=[];for(let o of a){let a=e.get(o),{frame:s}=i.get(o),c=(a,o)=>{i.has(a)||!e.has(a)||(i.set(a,{ring:n,frame:o()}),r.push(a))};for(let n of bw(o,a.node.children??[]))c(n,()=>ew(s,e.get(n).toParent));a.parentId!==void 0&&c(a.parentId,()=>ew(s,tw(a.toParent)))}a=r}return i}function Iw(e,n,r){let i=QC;for(let a=n;a!==void 0&&a!==r;a=e.get(a)?.parentId)i=ew(e.get(a).toParent,i);return i}function Lw(e,n,r){if(!e.has(n)||!e.has(r))return;let i=new Set;for(let r=n;r!==void 0;r=e.get(r)?.parentId)i.add(r);let a=r;for(;a!==void 0&&!i.has(a);)a=e.get(a)?.parentId;if(a!==void 0)return ew(tw(Iw(e,n,a)),Iw(e,r,a))}function Rw(e,n){if(n!==void 0){if(e.has(n))return n;for(let r of e.values())if(r.node.item.key===n)return r.id}}function zw(e,n={}){if(!e)return{nodes:[],edges:[]};let{maxRadius:r=1/0,maxDepth:i=24,curvature:a=1,siblingSpacing:o=Mw}=n,s=Pw(e,i,a,o),c=Rw(s,n.focusedKey)??e.item.key;if(!s.has(c))return{nodes:[],edges:[]};let l=n.view??iw(n.centerOverride??{x:0,y:0}),u=Fw(s,c,r),d=[...u.keys()].map(e=>s.get(e).node.item.weight).filter(e=>typeof e==`number`),f=d.length>0?Math.min(...d):void 0,p=d.length>0?Math.max(...d):void 0,m=e=>e===void 0||f===void 0||p===void 0||p===f?.5:(e-f)/(p-f),h=[...u.entries()].map(([e,{ring:n,frame:r}])=>{let i=s.get(e),a=i.node.item.weight;return{node:i.node,key:i.node.item.key,id:e,depth:i.depth,ring:n,parentKey:i.parentKey,parentId:i.parentId,position:$C(ew(l,r),{x:0,y:0}),angularShare:i.angularShare,weight:a,weightNormalized:m(a)}}).sort((e,n)=>e.ring-n.ring),g=new Map(h.map(e=>[e.id,e])),_=[];for(let e of h){if(e.parentId===void 0)continue;let n=g.get(e.parentId);n&&_.push({fromKey:n.key,toKey:e.key,fromId:n.id,toId:e.id,from:n.position,to:e.position,weightNormalized:(n.weightNormalized+e.weightNormalized)/2})}return{nodes:h,edges:_}}function Bw(e){let n=new Map,r=new Set,i=e=>{r.add(e),n.has(e.item.key)||n.set(e.item.key,e);for(let n of e.children??[])i(n)};return e&&i(e),{byKey:n,nodes:r}}function Vw(e,n){return n===void 0?[]:ww(e,n)?.slice(1).map(e=>e.item.key)??[]}function Hw(e,n){if(!e)return{kind:`missing`};let r=e,i=e.item.key;for(let[e,a]of n.entries()){let n=r.children;if(n===void 0)return r.item.isLeaf===!0?{kind:`missing`}:{kind:`load`,node:r,depth:e};let o=n.findIndex(e=>e.item.key===a);if(o<0)return{kind:`missing`};i=bw(i,n)[o],r=n[o]}return{kind:`found`,id:n.length===0?void 0:i}}function Uw(e,n,r,i,a){if(e.size===0&&n.size===0)return{selected:e,pending:n,restored:!1,changed:!1};let o=new Set,s=new Set,c=!1;for(let n of e){if(r.nodes.has(n)){o.add(n);continue}c=!0;let e=r.byKey.get(n.item.key);e?o.add(e):s.add(n.item.key)}let l;for(let e of n){let n=r.byKey.get(e);n&&i(n)?(o.add(n),l=n,c=!0):s.add(e)}return c?a&&o.size>0?{selected:new Set([l??[...o].at(-1)]),pending:k,restored:l!==void 0,changed:!0}:{selected:o,pending:sr(s),restored:l!==void 0,changed:!0}:{selected:e,pending:n,restored:!1,changed:!1}}function Ww(e){let{root:n}=e,r,i=e.pendingCenter;if(e.focusId!==void 0){let a=Hw(n,e.centerPath);a.kind!==`found`||a.id===void 0?(i??=e.centerPath,r={id:void 0,path:[],restored:!1}):a.id!==e.focusId&&(r={id:a.id,path:e.centerPath,restored:!1})}if(i){let e=Hw(n,i);e.kind===`found`&&(r={id:e.id,path:i,restored:!0},i=void 0)}let a=Uw(e.selected,e.pendingSelected,e.index,e.canSelect,e.singleSelect);return{center:r,pendingCenter:i,selection:a}}function Gw(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:void 0}function Kw(e){let{controller:n}=e,r=[],i,a=k,o,s,c=0,l=-1,u,d=()=>(u?.version!==c&&(u={version:c,index:Bw(e.root())}),u.index),f=()=>s&&s.id===e.tickled()?s.key:void 0,p=(i,a,o)=>{r=a,e.focusId()!==i&&(e.setCenter(i,o),n.notify())},m=r=>{let i=e.tickled(),a=i!==void 0&&ww(e.root(),i)!==void 0,c=JS(f(),o,e=>a&&r.byKey.has(e),n=>e.visibleIdOf(n)!==void 0);o=c.pending,(c.clear||i!==void 0&&!a)&&e.setTickled(void 0);let l=c.apply===void 0?void 0:e.visibleIdOf(c.apply);c.apply!==void 0&&l!==void 0&&(e.setTickled(l),s={id:l,key:c.apply},n.notify())},h=()=>{l=c;let o=e.root();if(!o)return;let s=d();n.restoring(()=>{let n=Ww({root:o,index:s,focusId:e.focusId(),centerPath:r,pendingCenter:i,selected:e.selected(),pendingSelected:a,canSelect:e.canSelect,singleSelect:e.singleSelect()});i=n.pendingCenter,n.center&&p(n.center.id,n.center.path,n.center.restored);let c=n.selection;if(c.changed){a=c.pending;let n=e.selectedNode();e.setSelection(c.selected,n&&c.selected.has(n)?n:[...c.selected].at(-1),c.restored)}m(s)})};return{invalidate(){c++},reconcileIfNeeded(e){e&&c++,l!==c&&h()},centred(a){i=void 0,r=Vw(e.root(),a),n.notify()},selectionChanged(){n.isRestoring||(a=k),n.notify()},clearPendingSelection(){a=k},keyboardCursorMoved(e,r){s={id:e,key:r},o=void 0,n.notify()},notify(){n.notify()},get(s){let c=s?.includePending??!0;return n.shape({selected:fr([...e.selected()].map(e=>e.item.key),c?a:[]),focus:f()??(c?o:void 0),center:[...(c?i:void 0)??r],zoom:e.zoom()},s)},set(r){n.accepts(r)&&n.restoring(()=>{r.selected&&(a=sr(new Set(r.selected)),e.selected().size>0&&e.setSelection(new Set,void 0,!0)),r.focus!==void 0&&(o=r.focus);let s=Gw(r.zoom);s!==void 0&&s!==e.zoom()&&(e.setZoom(s),n.notify());let c=YS(r.center);c&&(i=c),h(),c&&i&&p(void 0,[],!0)})},clearPending(){a=k,o=void 0,i=void 0},continueRestoreLoads(){if(!i||!e.restoreLoads())return;let n=Hw(e.root(),i);n.kind===`load`&&e.load(n.node,n.depth)}}}const qw=r`
|
|
8872
|
+
`}function IC(e){let n=!1,r,i=i=>{clearTimeout(r);let a=e.candidate(i);if(a!==void 0){if(a===e.currentId())return;r=setTimeout(()=>{let n=e.candidate(i);n!==void 0&&e.setPreviewId(n)},600);return}r=setTimeout(()=>{n||e.setPreviewId(void 0)},250)};return{update:i,pointerEnter(){n=!0,clearTimeout(r)},pointerLeave(e){n=!1,i(e)},hide(){n=!1,clearTimeout(r),e.setPreviewId(void 0)},dispose(){clearTimeout(r)}}}const LC=1e-9;function RC(e,n){return{x:e.x*n.x-e.y*n.y,y:e.x*n.y+e.y*n.x}}function zC(e){return{x:e.x,y:-e.y}}function BC(e,n){return{x:e.x+n.x,y:e.y+n.y}}function VC(e,n){return{x:e.x-n.x,y:e.y-n.y}}function HC(e,n){return{x:e.x*n,y:e.y*n}}function UC(e,n){let r=n.x*n.x+n.y*n.y;return r<LC?{x:0,y:0}:HC(RC(e,zC(n)),1/r)}function WC(e){return Math.hypot(e.x,e.y)}function GC(e,n=.999999){let r=WC(e);return r<=n?e:HC(e,n/r)}function KC(e,n){return GC(UC(VC(e,n),VC({x:1,y:0},RC(zC(n),e))))}function qC(e,n){return GC(UC(BC(e,n),BC({x:1,y:0},RC(zC(n),e))))}function JC(e,n){return qC(n,e)}function YC(e){return Math.tanh(e/2)}function XC(e){return 2*Math.atanh(Math.min(Math.max(e,0),.999999))}function ZC(e,n){return XC(WC(KC(n,e)))}function QC(e,n,r){if(r<=0)return e;if(r>=1)return n;let i=KC(n,e),a=WC(i);return a<LC?e:qC(HC(HC(i,1/a),YC(XC(a)*r)),e)}const $C={a:{x:1,y:0},b:{x:0,y:0}};function ew(e,n){return GC(UC(BC(RC(e.a,n),e.b),BC(RC(zC(e.b),n),zC(e.a))))}function tw(e,n){let r=BC(RC(e.a,n.a),RC(e.b,zC(n.b))),i=BC(RC(e.a,n.b),RC(e.b,zC(n.a))),a=Math.sqrt(Math.max(LC,r.x*r.x+r.y*r.y-i.x*i.x-i.y*i.y));return{a:HC(r,1/a),b:HC(i,1/a)}}function nw(e){return{a:zC(e.a),b:HC(e.b,-1)}}function rw(e){let n=1/Math.sqrt(Math.max(LC,1-e.x*e.x-e.y*e.y));return{a:{x:n,y:0},b:HC(e,n)}}function iw(e){return{a:{x:Math.cos(e/2),y:Math.sin(e/2)},b:{x:0,y:0}}}function aw(e,n=0){return tw(iw(n),nw(rw(e)))}function ow(e){return{center:ew(nw(e),{x:0,y:0}),rotation:2*Math.atan2(e.a.y,e.a.x)}}function sw(e,n){let r=e.x*n.y-e.y*n.x,i=Math.hypot(n.x-e.x,n.y-e.y);if(Math.abs(r)<1e-6*Math.max(i,LC))return{kind:`line`};let a=(e.x*e.x+e.y*e.y+1)/2,o=(n.x*n.x+n.y*n.y+1)/2,s={x:(a*n.y-o*e.y)/r,y:(e.x*o-n.x*a)/r};return{kind:`arc`,center:s,radius:Math.sqrt(Math.max(0,s.x*s.x+s.y*s.y-1)),sweep:+((e.x-s.x)*(n.y-s.y)-(e.y-s.y)*(n.x-s.x)>0)}}function cw(e,n,r=1){let i=e=>(e*r).toFixed(2),a=sw(e,n),o=`M${i(e.x)},${i(e.y)}`;return a.kind===`line`||a.radius*r>1e6?`${o} L${i(n.x)},${i(n.y)}`:`${o} A${i(a.radius)},${i(a.radius)} 0 0 ${a.sweep} ${i(n.x)},${i(n.y)}`}function lw(e){return Math.atan2(Math.sin(e),Math.cos(e))}function uw(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function dw(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}function fw(e,n,r){let i=rw(n);return tw(tw(i,tw(rw(KC(r,n)),nw(i))),e)}function pw(e){let{center:n,rotation:r}=ow(e),i=lw(r),a={x:0,y:0};return{settledRotation:i,viewAt:e=>{let r=uw(Math.min(1,Math.max(0,e)));return aw(QC(n,a,r),i)}}}const mw=.5;function hw(e){let n=Math.min(8,Math.max(mw,e.zoom));if(n<=1)return{zoom:n,offset:{x:0,y:0}};let r=n-1,i=Math.hypot(e.offset.x,e.offset.y);return{zoom:n,offset:i>r?{x:e.offset.x*r/i,y:e.offset.y*r/i}:e.offset}}function gw(e,n,r){let i=Math.min(8,Math.max(mw,e.zoom*r)),a=vw(n,e);return hw({zoom:i,offset:{x:n.x-i*a.x,y:n.y-i*a.y}})}function _w(e,n,r){let i=2.1/(Math.min(e.width,e.height)||1);return{x:(n-(e.left+e.width/2))*i,y:(r-(e.top+e.height/2))*i}}function vw(e,n){let r=n.zoom||1;return{x:(e.x-n.offset.x)/r,y:(e.y-n.offset.y)/r}}function yw(e){let n=e.target;return n===e.currentTarget||n?.classList.contains(`disk-boundary`)===!0}function bw(e){let n=new Map,r,i=!1,a,o=n=>{let r=e.svgRect();return r?_w(r,n.clientX,n.clientY):void 0},s=n=>GC(vw(n,e.zoomState()),.98),c=(e,n)=>({x:(e.x+n.x)/2,y:(e.y+n.y)/2}),l=(n,i,a,o)=>{r={pointerId:n,start:s(i),baseView:e.takeView(),downClient:a,armed:o}},u=()=>{let[[i,o],[s,l]]=[...n.entries()];r=void 0;let{zoom:u}=e.zoomState();a={ids:[i,s],startDistance:Math.max(1e-6,Math.hypot(o.x-l.x,o.y-l.y)),startZoom:u,anchor:vw(c(o,l),e.zoomState())}};return{onPointerDown(r){i=!1;let a=yw(r);e.focusTree();let s=o(r);s&&(a&&(r.currentTarget.setPointerCapture?.(r.pointerId),e.onDragStart?.()),n.set(r.pointerId,s),n.size===2&&e.zoomGesturesEnabled()?u():n.size===1&&l(r.pointerId,s,{x:r.clientX,y:r.clientY},a))},onPointerMove(l){if(!n.has(l.pointerId))return;let u=o(l);if(u){if(n.set(l.pointerId,u),a){let r=n.get(a.ids[0]),i=n.get(a.ids[1]);if(!r||!i)return;let o=a.startZoom*Math.hypot(r.x-i.x,r.y-i.y)/a.startDistance,s=c(r,i),l=Math.min(8,Math.max(mw,o));e.setZoomState(hw({zoom:l,offset:{x:s.x-l*a.anchor.x,y:s.y-l*a.anchor.y}}))}else if(r&&r.pointerId===l.pointerId){if(!r.armed){if(Math.hypot(l.clientX-r.downClient.x,l.clientY-r.downClient.y)<4)return;r.armed=!0,i=!0,l.currentTarget.setPointerCapture?.(l.pointerId),e.onDragStart?.()}e.setView(fw(r.baseView,r.start,s(u)))}}},onPointerUp(e){if(n.delete(e.pointerId)){if(a){a=void 0;let[e]=[...n.entries()];e&&l(e[0],e[1],{x:0,y:0},!0)}else r?.pointerId===e.pointerId&&(r=void 0)}},onWheel(n){let r=n.ctrlKey||n.metaKey;if(!e.zoomGesturesEnabled()||!r&&!e.hasFocus())return;let i=o(n);if(!i)return;n.preventDefault();let a=n.deltaMode===1?n.deltaY*16:n.deltaY,s=Math.exp(-a*(r?.01:.002));e.setZoomState(gw(e.zoomState(),i,s))},isDragging(){return r?.armed===!0},wasDragged(){return i},cancel(){r=void 0,a=void 0,n.clear()}}}function xw(e,n){let r=new Map;return n.map(n=>{let i=n.item.key,a=r.get(i)??0;return r.set(i,a+1),`${e}${a===0?i:`${i}#${a}`}`})}function Sw(e){return e.split(``).length-1}function Cw(e){let n=e.split(``);return n.length<2?void 0:`${n[0]}${n[1]}`}function ww(e,n){return e.startsWith(`${n}`)}function Tw(e,n){if(!e)return;let r=(e,i)=>{if(i===n)return[e];if(!ww(n,i))return;let a=e.children??[],o=xw(i,a);for(let n=0;n<a.length;n++){let i=r(a[n],o[n]);if(i)return[e,...i]}};return r(e,e.item.key)}function Ew(e,n){if(!e)return;let r=(e,i)=>{if(e===n)return i;let a=e.children??[],o=xw(i,a);for(let e=0;e<a.length;e++){let n=r(a[e],o[e]);if(n!==void 0)return n}};return r(e,e.item.key)}function Dw(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;let a=i.children?.length?Dw(i.children,n,e):void 0;if(a)return a}}function Ow(e,n){if(e){if(e.item.key===n)return e;for(let r of e.children??[]){let e=Ow(r,n);if(e)return e}}}function kw(e,n){if(e){if(e.item.key===n)return[e];for(let r of e.children??[]){let i=kw(r,n);if(i)return[e,...i]}}}function Aw(e,n){if(n<=0)return 1;let r=e.children??[];if(r.length===0)return 1;let i=1;for(let e of r)i+=Aw(e,n-1);return i}function jw(e,n){let r=KC({x:Math.cos(e),y:Math.sin(e)},n);return Math.atan2(r.y,r.x)}function Mw(e){let n=0;for(let r=0;r<e.length;r++)n=Math.imul(n,31)+e.charCodeAt(r)|0;return(n>>>0)%1e3/1e3*2-1}const Nw=.5;function Pw(e,n,r){if(n<=0)return r;let i=Math.min(e,Math.PI)/2,a=Math.asinh(Math.sinh(n/2)/Math.max(Math.sin(i),1e-6));return Math.min(Math.max(r,a),r+6)}function Fw(e,n=24,r=1,i=Nw){let a=new Map;if(!e)return a;let o={x:0,y:0};a.set(e.item.key,{node:e,id:e.item.key,depth:0,parentKey:void 0,parentId:void 0,position:o,toParent:$C,angularShare:2*Math.PI});let s=(e,c,l,u,d,f)=>{if(f>=n)return;let p=e.children??[],m=p.length;if(m===0)return;let h=d-u,g=p.map(e=>Math.sqrt(Aw(e,n-f-1))),_=g.reduce((e,n)=>e+n,0),v=xw(c,p),y=u;p.forEach((n,u)=>{let d=m===1?h:h*g[u]/_,p=y+d/2;y+=d;let b=p+(m===1?Mw(n.item.key)*Math.min(.22,d*.4):0),x=YC(m===1?r:Pw(d,i,r)),S={x:x*Math.cos(b),y:x*Math.sin(b)},ee=rw(S),te=tw(l,ee);a.set(v[u],{node:n,id:v[u],depth:f+1,parentKey:e.item.key,parentId:c,position:ew(te,o),toParent:ee,angularShare:d});let ne=Math.min(d,Math.PI)/2,re=jw(p-ne,S),ie=jw(p+ne,S)-re;ie<=0&&(ie+=2*Math.PI),s(n,v[u],te,re,re+ie,f+1)})};return s(e,e.item.key,$C,-Math.PI,Math.PI,0),a}function Iw(e,n,r){let i=new Map;if(!e.has(n))return i;i.set(n,{ring:0,frame:$C});let a=[n];for(let n=1;n<=r&&a.length>0;n++){let r=[];for(let o of a){let a=e.get(o),{frame:s}=i.get(o),c=(a,o)=>{i.has(a)||!e.has(a)||(i.set(a,{ring:n,frame:o()}),r.push(a))};for(let n of xw(o,a.node.children??[]))c(n,()=>tw(s,e.get(n).toParent));a.parentId!==void 0&&c(a.parentId,()=>tw(s,nw(a.toParent)))}a=r}return i}function Lw(e,n,r){let i=$C;for(let a=n;a!==void 0&&a!==r;a=e.get(a)?.parentId)i=tw(e.get(a).toParent,i);return i}function Rw(e,n,r){if(!e.has(n)||!e.has(r))return;let i=new Set;for(let r=n;r!==void 0;r=e.get(r)?.parentId)i.add(r);let a=r;for(;a!==void 0&&!i.has(a);)a=e.get(a)?.parentId;if(a!==void 0)return tw(nw(Lw(e,n,a)),Lw(e,r,a))}function zw(e,n){if(n!==void 0){if(e.has(n))return n;for(let r of e.values())if(r.node.item.key===n)return r.id}}function Bw(e,n={}){if(!e)return{nodes:[],edges:[]};let{maxRadius:r=1/0,maxDepth:i=24,curvature:a=1,siblingSpacing:o=Nw}=n,s=Fw(e,i,a,o),c=zw(s,n.focusedKey)??e.item.key;if(!s.has(c))return{nodes:[],edges:[]};let l=n.view??aw(n.centerOverride??{x:0,y:0}),u=Iw(s,c,r),d=[...u.keys()].map(e=>s.get(e).node.item.weight).filter(e=>typeof e==`number`),f=d.length>0?Math.min(...d):void 0,p=d.length>0?Math.max(...d):void 0,m=e=>e===void 0||f===void 0||p===void 0||p===f?.5:(e-f)/(p-f),h=[...u.entries()].map(([e,{ring:n,frame:r}])=>{let i=s.get(e),a=i.node.item.weight;return{node:i.node,key:i.node.item.key,id:e,depth:i.depth,ring:n,parentKey:i.parentKey,parentId:i.parentId,position:ew(tw(l,r),{x:0,y:0}),angularShare:i.angularShare,weight:a,weightNormalized:m(a)}}).sort((e,n)=>e.ring-n.ring),g=new Map(h.map(e=>[e.id,e])),_=[];for(let e of h){if(e.parentId===void 0)continue;let n=g.get(e.parentId);n&&_.push({fromKey:n.key,toKey:e.key,fromId:n.id,toId:e.id,from:n.position,to:e.position,weightNormalized:(n.weightNormalized+e.weightNormalized)/2})}return{nodes:h,edges:_}}function Vw(e){let n=new Map,r=new Set,i=e=>{r.add(e),n.has(e.item.key)||n.set(e.item.key,e);for(let n of e.children??[])i(n)};return e&&i(e),{byKey:n,nodes:r}}function Hw(e,n){return n===void 0?[]:Tw(e,n)?.slice(1).map(e=>e.item.key)??[]}function Uw(e,n){if(!e)return{kind:`missing`};let r=e,i=e.item.key;for(let[e,a]of n.entries()){let n=r.children;if(n===void 0)return r.item.isLeaf===!0?{kind:`missing`}:{kind:`load`,node:r,depth:e};let o=n.findIndex(e=>e.item.key===a);if(o<0)return{kind:`missing`};i=xw(i,n)[o],r=n[o]}return{kind:`found`,id:n.length===0?void 0:i}}function Ww(e,n,r,i,a){if(e.size===0&&n.size===0)return{selected:e,pending:n,restored:!1,changed:!1};let o=new Set,s=new Set,c=!1;for(let n of e){if(r.nodes.has(n)){o.add(n);continue}c=!0;let e=r.byKey.get(n.item.key);e?o.add(e):s.add(n.item.key)}let l;for(let e of n){let n=r.byKey.get(e);n&&i(n)?(o.add(n),l=n,c=!0):s.add(e)}return c?a&&o.size>0?{selected:new Set([l??[...o].at(-1)]),pending:k,restored:l!==void 0,changed:!0}:{selected:o,pending:sr(s),restored:l!==void 0,changed:!0}:{selected:e,pending:n,restored:!1,changed:!1}}function Gw(e){let{root:n}=e,r,i=e.pendingCenter;if(e.focusId!==void 0){let a=Uw(n,e.centerPath);a.kind!==`found`||a.id===void 0?(i??=e.centerPath,r={id:void 0,path:[],restored:!1}):a.id!==e.focusId&&(r={id:a.id,path:e.centerPath,restored:!1})}if(i){let e=Uw(n,i);e.kind===`found`&&(r={id:e.id,path:i,restored:!0},i=void 0)}let a=Ww(e.selected,e.pendingSelected,e.index,e.canSelect,e.singleSelect);return{center:r,pendingCenter:i,selection:a}}function Kw(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:void 0}function qw(e){let{controller:n}=e,r=[],i,a=k,o,s,c=0,l=-1,u,d=()=>(u?.version!==c&&(u={version:c,index:Vw(e.root())}),u.index),f=()=>s&&s.id===e.tickled()?s.key:void 0,p=(i,a,o)=>{r=a,e.focusId()!==i&&(e.setCenter(i,o),n.notify())},m=r=>{let i=e.tickled(),a=i!==void 0&&Tw(e.root(),i)!==void 0,c=YS(f(),o,e=>a&&r.byKey.has(e),n=>e.visibleIdOf(n)!==void 0);o=c.pending,(c.clear||i!==void 0&&!a)&&e.setTickled(void 0);let l=c.apply===void 0?void 0:e.visibleIdOf(c.apply);c.apply!==void 0&&l!==void 0&&(e.setTickled(l),s={id:l,key:c.apply},n.notify())},h=()=>{l=c;let o=e.root();if(!o)return;let s=d();n.restoring(()=>{let n=Gw({root:o,index:s,focusId:e.focusId(),centerPath:r,pendingCenter:i,selected:e.selected(),pendingSelected:a,canSelect:e.canSelect,singleSelect:e.singleSelect()});i=n.pendingCenter,n.center&&p(n.center.id,n.center.path,n.center.restored);let c=n.selection;if(c.changed){a=c.pending;let n=e.selectedNode();e.setSelection(c.selected,n&&c.selected.has(n)?n:[...c.selected].at(-1),c.restored)}m(s)})};return{invalidate(){c++},reconcileIfNeeded(e){e&&c++,l!==c&&h()},centred(a){i=void 0,r=Hw(e.root(),a),n.notify()},selectionChanged(){n.isRestoring||(a=k),n.notify()},clearPendingSelection(){a=k},keyboardCursorMoved(e,r){s={id:e,key:r},o=void 0,n.notify()},notify(){n.notify()},get(s){let c=s?.includePending??!0;return n.shape({selected:fr([...e.selected()].map(e=>e.item.key),c?a:[]),focus:f()??(c?o:void 0),center:[...(c?i:void 0)??r],zoom:e.zoom()},s)},set(r){n.accepts(r)&&n.restoring(()=>{r.selected&&(a=sr(new Set(r.selected)),e.selected().size>0&&e.setSelection(new Set,void 0,!0)),r.focus!==void 0&&(o=r.focus);let s=Kw(r.zoom);s!==void 0&&s!==e.zoom()&&(e.setZoom(s),n.notify());let c=XS(r.center);c&&(i=c),h(),c&&i&&p(void 0,[],!0)})},clearPending(){a=k,o=void 0,i=void 0},continueRestoreLoads(){if(!i||!e.restoreLoads())return;let n=Uw(e.root(),i);n.kind===`load`&&e.load(n.node,n.depth)}}}const Jw=r`
|
|
8865
8873
|
:host {
|
|
8866
8874
|
--hyperbolictree-node-color: var(--surface-4);
|
|
8867
8875
|
--hyperbolictree-node-text: var(--surface-3-text);
|
|
@@ -9120,7 +9128,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9120
9128
|
padding: 2px 6px;
|
|
9121
9129
|
color: var(--surface-muted-text);
|
|
9122
9130
|
}
|
|
9123
|
-
`,
|
|
9131
|
+
`,Yw={action:{kind:`none`},handled:!1};function Xw(e){let n=Math.atan2(e.position.y,e.position.x),r=Math.abs(n- -Math.PI/2);return r>Math.PI&&(r=2*Math.PI-r),r}function Zw(e,n,r,i){let a=Tw(n,r),o=a?.at(-1);if(!a||!o)return Yw;let s=a.length>=2?a[a.length-2]:void 0,c={action:{kind:`none`},handled:!0},l=e=>e?{action:{kind:`focus`,node:e},handled:!0}:c;switch(e){case`ArrowUp`:{let e=i.filter(e=>e.parentId===r);return e.length===0?c:l(e.reduce((e,n)=>Xw(e)<Xw(n)?e:n).node)}case`ArrowDown`:return l(s);case`ArrowLeft`:case`ArrowRight`:{let n=s?.children??[],r=n.indexOf(o);return r===-1||n.length<=1?c:l(n[(r+(e===`ArrowRight`?1:-1)+n.length)%n.length])}case`Enter`:return{action:{kind:`activate`,node:o,depth:a.length-1},handled:!0};case`Escape`:return o===n?Yw:l(n);default:return Yw}}function Qw(e,n){let r=new Set,i=new Map,a=async(n,r,i)=>{let{model:a,loadChildren:o}=e();return a?a.getChildren(n,r,i):[...await Rg(o({node:n,depth:r},i),i)]},o=async(e,o)=>{r.add(e);let s=new AbortController;i.set(e,s),n();try{let n=await a(e,o,s.signal);s.signal.aborted||(e.children=n)}catch{s.signal.aborted||(e.children=[])}finally{r.delete(e),i.delete(e),s.signal.aborted||n()}};return{ensure(n){let{model:i,loadChildren:a}=e();if(!(!i&&!a))for(let{node:e,depth:i}of n)e.children===void 0&&!r.has(e)&&o(e,i)},loadOne(n,i){let{model:a,loadChildren:s}=e();(a||s)&&n.children===void 0&&!r.has(n)&&o(n,i)},isPending:e=>r.has(e),abortAll(){for(let e of i.values())e.abort();i.clear(),r.clear()}}}function $w(e){return Math.max(0,1-(e.x*e.x+e.y*e.y))}function eT(e){let n=new Map;for(let r of e)n.set(r.id,1/0);for(let r=0;r<e.length;r++){let i=e[r].position;for(let a=r+1;a<e.length;a++){let o=e[a].position,s=Math.hypot(i.x-o.x,i.y-o.y);s<n.get(e[r].id)&&n.set(e[r].id,s),s<n.get(e[a].id)&&n.set(e[a].id,s)}}return n}function tT(e,n){return n.minWeightScale+(n.maxWeightScale-n.minWeightScale)*e.weightNormalized}function nT(e,n,r){let i=r.nodeRadius*$w(e.position)*tT(e,r);return Math.max(Math.min(i,n*.45),.003)}function rT(e,n,r,i,a=0){let o=Math.cos(a),s=Math.sin(a),c=(e,r)=>({x:n.x+e*o-r*s,y:n.y+e*s+r*o});return{id:e,corners:[c(-r,-i),c(r,-i),c(r,i),c(-r,i)]}}function iT(e){let n=0;for(let r=0;r<e.length;r++){let i=e[r],a=e[(r+1)%e.length];n+=i.x*a.y-a.x*i.y}return Math.abs(n)/2}function aT(e,n){let r=Math.sign((n[1].x-n[0].x)*(n[2].y-n[0].y)-(n[1].y-n[0].y)*(n[2].x-n[0].x))||1,i=[...e];for(let e=0;e<n.length&&i.length>0;e++){let a=n[e],o=n[(e+1)%n.length],s=e=>r*((o.x-a.x)*(e.y-a.y)-(o.y-a.y)*(e.x-a.x)),c=i;i=[];for(let e=0;e<c.length;e++){let n=c[e],r=c[(e+c.length-1)%c.length],a=s(n),o=s(r);if(a>=0!=o>=0){let e=o/(o-a);i.push({x:r.x+(n.x-r.x)*e,y:r.y+(n.y-r.y)*e})}a>=0&&i.push(n)}}return i}function oT(e){let n=e.map(e=>e.x),r=e.map(e=>e.y);return{x0:Math.min(...n),y0:Math.min(...r),x1:Math.max(...n),y1:Math.max(...r)}}function sT(e,n){let r=oT(e.corners),i=oT(n.corners);if(r.x1<=i.x0||i.x1<=r.x0||r.y1<=i.y0||i.y1<=r.y0)return 0;let a=iT(e.corners);return a<=0?1:iT(aT(e.corners,n.corners))/a}function cT(e,n=.03){let r=[];for(let i of e)r.every(e=>sT(i,e)<=n)&&r.push(i);return new Set(r.map(e=>e.id))}function lT(e,n){return n<=0||e.length<=n?e:`${e.slice(0,Math.max(1,n-1)).trimEnd()}…`}let uT;const dT=new Map;function fT(e,n,r){let i=`${r}\u0000${e}`,a=dT.get(i);if(a===void 0){if(uT===void 0)try{uT=typeof document>`u`?null:document.createElement(`canvas`).getContext(`2d`)}catch{uT=null}let n;if(uT){uT.font=`100px ${r||`sans-serif`}`;let i=uT.measureText(e).width;Number.isFinite(i)&&i>0&&(n=i/100)}a=n??e.length*.6,dT.set(i,a)}return a*n}function pT(e,n){let r=.45+.55*$w(e.position),i=Math.min(1,r*(n.zoom??1))*Math.sqrt(tT(e,n)),a=lT(e.node.item.label,n.maxChars),o=n.fontSize*.5,s=n.fontSize*1.55;return{scale:i,width:fT(a,n.fontSize,n.fontFamily)+o*2,height:s,markerSize:n.fontSize*.55,text:a}}function mT(e,n,r,i=0){return rT(e,n,r.width*r.scale/2,r.height*r.scale/2,i)}const hT={direction:0,textAngle:0,flipped:!1};function gT(e,n,r){let i=typeof getComputedStyle==`function`?getComputedStyle(e):void 0,a=Number.parseFloat(i?.getPropertyValue(`--hyperbolictree-font-size`)??``),o=Number.isFinite(a)&&a>0?a:13;return{px:o,units:o*(1050/(n>0?n:420)/(r||1)),family:i?.fontFamily??``}}function _T(e){return e?new Map(xw(e.item.key,e.children??[]).map((e,n)=>[e,n])):new Map}function vT(e,n){let r=Cw(e),i=r===void 0?void 0:n.get(r);return i===void 0?``:` --branch-index: ${i}; --branch-count: ${n.size};`}function yT(e){let n=new Map;for(let r of e){let e=n.get(r.parentId)??[];e.push(r),n.set(r.parentId,e)}return n}function bT(e,n,r){let i=e=>e.ring===0?0:r(e.node)?1:2;return[...e].sort((e,r)=>i(e)-i(r)||n(r)-n(e)||e.ring-r.ring)}function xT(e,n){let r=new Map;if(!n){for(let n of e)r.set(n.id,hT);return r}let i=new Map(e.map(e=>[e.id,e])),a=new Map;for(let n of e){let e=n.parentId===void 0?void 0:i.get(n.parentId);e&&(e.ring<n.ring?a.set(n.id,e):n.ring<e.ring&&a.set(e.id,n))}for(let n of e){let e=a.get(n.id);if(!e||n.ring===0){r.set(n.id,hT);continue}let i=Math.atan2(n.position.y-e.position.y,n.position.x-e.position.x),o=Math.cos(i)<0;r.set(n.id,{direction:i,textAngle:o?i+Math.PI:i,flipped:o})}return r}const ST=e=>({x:e.position.x*500,y:e.position.y*500});function CT(e,n,r){let{font:i}=n,a=new Map(e.map(e=>[e.id,pT(e,{fontSize:i.units,fontFamily:i.family,maxChars:n.boxMaxChars,minWeightScale:n.minWeightScale,maxWeightScale:n.maxWeightScale,zoom:n.zoom})]));return{boxes:a,labelIds:cT(bT(e.filter(e=>!n.isTickled(e.id)&&i.px*a.get(e.id).scale>=n.minLabelSize),e=>a.get(e.id).scale,n.isSelected).map(e=>mT(e.id,ST(e),a.get(e.id),r.get(e.id).textAngle)))}}function wT(e,n,r){let{font:i}=n,a=eT(e),o=new Map(e.map(e=>[e.id,nT(e,a.get(e.id),n)]));return{radii:o,labelIds:cT(bT(e.filter(e=>!n.isTickled(e.id)&&o.get(e.id)*n.zoom>=n.minNodeRadius),e=>o.get(e.id),n.isSelected).map(e=>{let{direction:n}=r.get(e.id),a=fT(e.node.item.label,i.units,i.family)/2,s=(o.get(e.id)+.01)*500+a,c=ST(e),l={x:c.x+Math.cos(n)*s,y:c.y+Math.sin(n)*s};return rT(e.id,l,a+i.units*.6,i.units*.6,n)}))}}function TT(e,n){let r=xT(e,n.radialLabels),i=n.nodeShape===`box`?{...CT(e,n,r),radii:new Map}:{...wT(e,n,r),boxes:new Map},a=new Set(i.labelIds);for(let r of e)n.isTickled(r.id)&&a.add(r.id);return{siblingGroups:yT(e),font:n.font,branches:n.branches,boxes:i.boxes,radii:i.radii,labelIds:a,orientations:r}}function ET(e,n,r){let i=e=>r(e.id)?2:+!!n.labelIds.has(e.id),a=e=>e.position.x**2+e.position.y**2;return[...e].sort((e,n)=>i(e)-i(n)||a(n)-a(e))}function DT(e){return e.replace(/[^\w-]/g,`-`)}const OT=e=>e.preventDefault();function kT(e,n,r,i){let{node:o,key:c,id:l}=e,{ctx:u,state:d,handlers:f}=n,p=d.isSelected(o),m=[`node`,p?`selected`:``,d.isTickled(l)?`tickled`:``,d.isFiltered(e)?`filtered`:``,d.isPending(o)?`loading`:``,e.ring===0?`focused`:``].filter(Boolean).join(` `),h=u.siblingGroups.get(e.parentId)??[e],g=`--node-weight: ${e.weightNormalized};${e.weight===void 0?``:` --node-weight-raw: ${e.weight};`}`;return s`
|
|
9124
9132
|
<g
|
|
9125
9133
|
class=${m}
|
|
9126
9134
|
data-key=${c}
|
|
@@ -9131,28 +9139,28 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9131
9139
|
aria-setsize=${h.length}
|
|
9132
9140
|
aria-posinset=${h.findIndex(e=>e.id===l)+1}
|
|
9133
9141
|
aria-label=${o.item.label}
|
|
9134
|
-
part="node node-${
|
|
9135
|
-
style=${g+
|
|
9142
|
+
part="node node-${DT(c)}"
|
|
9143
|
+
style=${g+vT(l,u.branches)}
|
|
9136
9144
|
transform=${r}
|
|
9137
|
-
@mousedown=${
|
|
9145
|
+
@mousedown=${OT}
|
|
9138
9146
|
@click=${n=>f.onClick(e,n)}
|
|
9139
9147
|
@dblclick=${n=>f.onDblClick(e,n)}
|
|
9140
9148
|
@pointerenter=${()=>f.onPointerEnter(l)}
|
|
9141
9149
|
>${d.showTitle(e)?s`<title>${o.item.label}</title>`:a}${i}</g>
|
|
9142
|
-
`}const
|
|
9150
|
+
`}const AT=e=>e*180/Math.PI;function jT(e,n,r){let{textAngle:i,flipped:o}=n.orientations.get(e.id),c=r+5;return s`<text
|
|
9143
9151
|
class="hyperbolictree-label"
|
|
9144
9152
|
part="label"
|
|
9145
9153
|
x=${o?-c:c}
|
|
9146
9154
|
y="0"
|
|
9147
|
-
transform=${i===0?a:`rotate(${
|
|
9155
|
+
transform=${i===0?a:`rotate(${AT(i)})`}
|
|
9148
9156
|
text-anchor=${o?`end`:`start`}
|
|
9149
9157
|
font-size=${n.font.units}
|
|
9150
9158
|
dominant-baseline="middle"
|
|
9151
|
-
>${e.node.item.label}</text>`}function
|
|
9159
|
+
>${e.node.item.label}</text>`}function MT(e,n){let{ctx:r}=n,i=r.radii.get(e.id)*500;return kT(e,n,`translate(${e.position.x*500} ${e.position.y*500})`,s`
|
|
9152
9160
|
<circle class="node-hit" r=${Math.max(i,17.5)} part="hit" />
|
|
9153
9161
|
<circle class="node-dot" r=${i} part="dot" />
|
|
9154
|
-
${r.labelIds.has(e.id)?
|
|
9155
|
-
`)}function
|
|
9162
|
+
${r.labelIds.has(e.id)?jT(e,r,i):a}
|
|
9163
|
+
`)}function NT(e,n){let{ctx:r}=n,i=r.boxes.get(e.id),o=r.labelIds.has(e.id),c=o?i.width:i.markerSize,l=o?i.height:i.markerSize,{textAngle:u}=r.orientations.get(e.id),d=o&&u!==0?` rotate(${AT(u)})`:``;return kT(e,n,`translate(${e.position.x*500} ${e.position.y*500})${d} scale(${i.scale})`,s`
|
|
9156
9164
|
<rect
|
|
9157
9165
|
class="node-box ${o?``:`marker`}"
|
|
9158
9166
|
part="box"
|
|
@@ -9163,14 +9171,14 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9163
9171
|
rx=${r.font.units*.2}
|
|
9164
9172
|
/>
|
|
9165
9173
|
${o?s`<text class="hyperbolictree-label box-label" part="label" x="0" y="0" font-size=${r.font.units} text-anchor="middle" dominant-baseline="central">${i.text}</text>`:a}
|
|
9166
|
-
`)}function
|
|
9174
|
+
`)}function PT(e,n,r){let i=ET(e,r.ctx,r.state.isTickled),a=n===`box`?NT:MT;return _(i,e=>e.id,e=>a(e,r))}function FT(e,n){return s`<path
|
|
9167
9175
|
class="edge"
|
|
9168
|
-
d=${
|
|
9169
|
-
part="edge edge-to-${
|
|
9176
|
+
d=${cw(e.from,e.to,500)}
|
|
9177
|
+
part="edge edge-to-${DT(e.toKey)} edge-from-${DT(e.fromKey)}"
|
|
9170
9178
|
data-from=${e.fromKey}
|
|
9171
9179
|
data-to=${e.toKey}
|
|
9172
|
-
style="--edge-weight: ${e.weightNormalized};${
|
|
9173
|
-
/>`}function FT(e,n,r,i){return _(e,e=>`${e.fromId}->${e.toId}`,e=>{let a=n.get(e.fromId)?.node,o=n.get(e.toId)?.node;return i&&a&&o?s`<g transform="scale(${500})">${i({edge:e,fromNode:a,toNode:o})}</g>`:PT(e,r)})}let X=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.maxRadius=4,this.nodeShape=`dot`,this.boxMaxChars=24,this.minLabelSize=9,this.colorByBranch=!1,this.nodeRadius=.05,this.minNodeRadius=.015,this.minWeightScale=.6,this.maxWeightScale=1.6,this.zoom=1,this.disableZoomGestures=!1,this.disableRadialLabels=!1,this.disableChildPreview=!1,this.curvature=1,this.siblingSpacing=Mw,this.focusAnimationDuration=400,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._focusId=void 0,this.restoreLoads=!0,this.#e=Kw({controller:new d_(this,{kind:`hyperbolictree-list`,capture:()=>this.getViewState()}),root:()=>this.#u,focusId:()=>this._focusId,setCenter:(e,n)=>this.#E(e,n),selected:()=>this._selectedNodes,selectedNode:()=>this.selectedNode,canSelect:e=>this.#y(e),singleSelect:()=>this.interactionMode===`implicit`,setSelection:(e,n,r)=>{let i=this._selectedNodes;this._selectedNodes=new Set(e),this.selectedNode=n,r&&this.#x(i)},tickled:()=>this.tickled.tickledId,setTickled:e=>e===void 0?this.tickled.clearTickled():this.tickled.setTickled(e),visibleIdOf:e=>this.#d().nodes.find(n=>n.key===e)?.id,zoom:()=>this.zoom,setZoom:e=>{this.zoom=e},restoreLoads:()=>this.restoreLoads,load:(e,n)=>this.#n.loadOne(e,n)}),this._viewOverride=void 0,this._focusRotation=0,this._zoomOffset={x:0,y:0},this._previewId=void 0,this.#t=FC({candidate:e=>{let n=this.#d().nodes,r=e===void 0||this.disableChildPreview?void 0:n.find(n=>n.id===e);return r&&!this.#l.isDragging()&&MC(r,n,this.#r)?r.id:void 0},currentId:()=>this._previewId,setPreviewId:e=>{this._previewId=e}}),this.#n=Zw(()=>({model:this.model,loadChildren:this.loadChildren}),()=>{this.#e.invalidate(),this.requestUpdate()}),this.#r=new Set,this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.hyperbolictree-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#d().nodes.map(e=>({id:e.id,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(this.#t.update(e),e===void 0)return;let n=this.#d().nodes.find(n=>n.id===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this._hostSize={width:0,height:0},this.#l=yw({svgRect:()=>this.renderRoot.querySelector(`svg.hyperbolictree`)?.getBoundingClientRect(),onDragStart:()=>this.#t.hide(),takeView:()=>{let e=this.#p();return this.#S(),this._viewOverride=e,e},setView:e=>{this._viewOverride=e},zoomState:()=>this.#j(),setZoomState:e=>{e.zoom!==this.zoom&&this.#e.notify(),this.zoom=e.zoom,this._zoomOffset=e.offset},zoomGesturesEnabled:()=>!this.disableZoomGestures,hasFocus:()=>this.renderRoot.activeElement!==null,focusTree:()=>this.#M()})}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){return this._focusId===void 0?this.#u:ww(this.#u,this._focusId)?.at(-1)??this.#u}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;get#u(){return this.model?.root??this.root}#d(){return zw(this.#u,{focusedKey:this._focusId,maxRadius:this.maxRadius,curvature:this.curvature,siblingSpacing:this.siblingSpacing,view:this.#p()})}get#f(){return this.#u?.item.key}#p(){return this._viewOverride??rw(this._focusRotation)}#m(e,n){let r=Pw(this.#u,24,this.curvature,this.siblingSpacing),i=n===void 0?void 0:Lw(r,n,e);return i?ew(this.#p(),i):rw(this._focusRotation)}#h(e){let n=this.#u,r=Tw(n,e);if(r!==void 0)return r;let i=Dw(n,e.item.key);return i?Tw(n,i):void 0}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#a=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#_(),typeof ResizeObserver==`function`&&(this.#c=new ResizeObserver(([e])=>{let{width:n,height:r}=e.contentRect;this._hostSize={width:n,height:r}}),this.#c.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#c?.disconnect(),this.#c=void 0,this.#i?.(),this.#i=void 0,this.#t.dispose(),this.#n.abortAll(),this.#s!==void 0&&(cancelAnimationFrame(this.#s),this.#s=void 0),this.#a&&(this.#a.unregister(`select-all`),this.#a.unregister(`deselect-all`),this.#a=void 0,this.registry=void 0)}#g(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#_(){this.#a&&(this.search.setModes(this.#g()),this.#o?.(),this.#o=zt(this.#a,this.search))}willUpdate(e){(e.has(`root`)&&this.root||e.has(`model`))&&this.#v(),this.#e.reconcileIfNeeded(this._focusId!==void 0&&!ww(this.#u,this._focusId))}updated(e){e.has(`model`)&&(this.#i?.(),this.#i=void 0,this.model&&(this.#i=this.model._subscribe(e=>{e.type===`root`?this.#v():e.type===`invalidate`&&this.#e.invalidate(),this.requestUpdate()}))),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&this.clearSelection(),e.has(`searchModes`)&&this.#_(),this.#n.ensure(this.#d().nodes),this.#e.continueRestoreLoads()}#v(){this._previewId=void 0,this.#l.cancel(),this.#e.invalidate()}#y(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#b(){this._selectedNodes.clear(),this.selectedNode=void 0}#x(e){this.#e.selectionChanged(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#y(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#x(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#x(n),this.requestUpdate()}clearSelection(){if(this.#e.clearPendingSelection(),this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#d().nodes)this.#y(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#x(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(n),this.requestUpdate()}focusOn(e){let n=this.#u,r=this.#h(e),i=this._focusId??this.#f;if(r===void 0||i===r)return;let a=ww(n,r)?.at(-1)??e,o=i===void 0?void 0:ww(n,i)?.at(-1),s=this.#m(r,i);this._focusId=r,this.#e.centred(r),this.#l.cancel(),this._previewId=void 0,this.#C(s),this.dispatchEvent(new CustomEvent(`focus`,{detail:{node:a,previous:o},bubbles:!0,composed:!0})),o&&i!==void 0&&(Cw(r,i)?this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:a,depth:xw(r)},bubbles:!0,composed:!0})):Cw(i,r)&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:o,depth:xw(i)},bubbles:!0,composed:!0}))),this.requestUpdate()}#S(){this.#s!==void 0&&(cancelAnimationFrame(this.#s),this.#s=void 0)}#C(e){this.#S();let{viewAt:n,settledRotation:r}=fw(e);this._focusRotation=r;let i=this._zoomOffset;if(this.focusAnimationDuration<=0||uw()||typeof requestAnimationFrame!=`function`){this._viewOverride=void 0,this._zoomOffset={x:0,y:0};return}let a=performance.now(),o=this.focusAnimationDuration,s=e=>{let r=Math.min(1,(e-a)/o),c=1-lw(r);this._zoomOffset={x:i.x*c,y:i.y*c},this._viewOverride=r>=1?void 0:n(r),this.#s=r<1?requestAnimationFrame(s):void 0};this.#s=requestAnimationFrame(s)}#w(e){this.focusOn(e);let n=this.#h(e);n!==void 0&&this.#T(n,e),this.interactionMode===`implicit`&&this.select(e)}navigateTo(e){let n=this.#u;if(!n?.children)return!1;let r=n;for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;r=e}this.focusOn(r),this.select(r);let i=this.#h(r);return i!==void 0&&this.tickled.setTickled(i),this.requestUpdate(),!0}navigateToNode(e){let n=this.#u;if(!n?.children)return!1;let r=Ew(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=Dw(this.#u,e),r=n?this.#h(n):void 0;return!n||r===void 0?!1:(this.#d().nodes.some(e=>e.id===r)||this.focusOn(n),this.#T(r,n),this.requestUpdate(),!0)}#T(e,n){this.tickled.setTickled(e),this.#e.keyboardCursorMoved(e,n.item.key)}getNodes(){return this.#d().nodes.map(e=>({node:e.node,depth:e.depth}))}getViewState(e){return this.#e.get(e)}setViewState(e){this.#e.set(e),this.requestUpdate()}clearPendingViewState(){this.#e.clearPending()}#E(e,n){let r=this.focusedNode;if(this.#S(),this._focusId=e,this._viewOverride=void 0,this._zoomOffset={x:0,y:0},!n){this._focusRotation=0;return}let i=this.focusedNode;i&&this.dispatchEvent(new CustomEvent(`focus`,{detail:{node:i,previous:r},bubbles:!0,composed:!0}))}#D(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#D(e,n+1))??!1}#O(e,n){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(n.ctrlKey||n.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#y(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#x(n),this.requestUpdate()}}else this.interactionMode!==`manual`&&this.select(e.node);this.tickled.setTickled(e.id),this.focusOn(e.node)}#k(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#A(e){let n=this.#u;if(this.disableKeyboardNavigation||!n)return;if(e.key===`Escape`&&this._previewId!==void 0){e.preventDefault(),this._previewId=void 0;return}let{action:r,handled:i}=Xw(e.key,n,this._focusId??n.item.key,this.#d().nodes);i&&e.preventDefault(),r.kind===`focus`?this.#w(r.node):r.kind===`activate`&&(this.interactionMode!==`manual`&&this.select(r.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:r.node,depth:r.depth},bubbles:!0,composed:!0})))}#j(){return mw({zoom:this.zoom,offset:this._zoomOffset})}#M(){this.renderRoot.querySelector(`svg.hyperbolictree`)?.focus({preventScroll:!0})}#N(e){this.#t.hide(),this.interactionMode!==`manual`&&this.select(e);let n=this.#h(e);n!==void 0&&this.tickled.setTickled(n),this.focusOn(e),this.#M()}#P(e){let n=this._previewId===void 0||this.disableChildPreview?void 0:e.find(e=>e.id===this._previewId);if(!n)return;let{width:r,height:i}=this._hostSize,a=NC(n.position,this.#j(),r||420,i||420),o=n.parentId===void 0?void 0:e.find(e=>e.id===n.parentId)?.node;return{node:n.node,anchor:a,side:jC(a,r||420,i||420),parent:o}}#F(e,n){return wT(e,{nodeShape:this.nodeShape,radialLabels:!this.disableRadialLabels,zoom:this.#j().zoom,font:hT(this,Math.min(this._hostSize.width,this._hostSize.height),this.zoom),branches:n,boxMaxChars:this.boxMaxChars,minLabelSize:this.minLabelSize,nodeRadius:this.nodeRadius,minNodeRadius:this.minNodeRadius,minWeightScale:this.minWeightScale,maxWeightScale:this.maxWeightScale,isSelected:e=>this._selectedNodes.has(e),isTickled:e=>this.tickled.isTickled(e)})}#I(e,n){return NT(e,this.nodeShape,{ctx:n,state:{isSelected:e=>this._selectedNodes.has(e),isTickled:e=>this.tickled.isTickled(e),showTitle:e=>this.disableChildPreview||!e.node.children?.length,isFiltered:e=>!this.#D(e.node,e.depth),isPending:e=>this.#n.isPending(e)},handlers:{onClick:(e,n)=>{n.stopPropagation(),this.#l.wasDragged()||this.#O(e,n)},onDblClick:(e,n)=>{n.stopPropagation(),this.#l.wasDragged()||this.#k(e)},onPointerEnter:e=>this.tickled.handlePointerEnter(e)}})}render(){let{nodes:e,edges:n}=this.#d(),r=new Map(e.map(e=>[e.id,e])),a=gT(this.#u),o=this.#F(e,a);this.#r=o.labelIds;let{zoom:s,offset:c}=this.#j(),l=c.x===0&&c.y===0?``:`translate(${c.x*500} ${c.y*500}) `;return i`
|
|
9180
|
+
style="--edge-weight: ${e.weightNormalized};${vT(e.toId,n)}"
|
|
9181
|
+
/>`}function IT(e,n,r,i){return _(e,e=>`${e.fromId}->${e.toId}`,e=>{let a=n.get(e.fromId)?.node,o=n.get(e.toId)?.node;return i&&a&&o?s`<g transform="scale(${500})">${i({edge:e,fromNode:a,toNode:o})}</g>`:FT(e,r)})}let Y=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.maxRadius=4,this.nodeShape=`dot`,this.boxMaxChars=24,this.minLabelSize=9,this.colorByBranch=!1,this.nodeRadius=.05,this.minNodeRadius=.015,this.minWeightScale=.6,this.maxWeightScale=1.6,this.zoom=1,this.disableZoomGestures=!1,this.disableRadialLabels=!1,this.disableChildPreview=!1,this.curvature=1,this.siblingSpacing=Nw,this.focusAnimationDuration=400,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._focusId=void 0,this.restoreLoads=!0,this.#e=qw({controller:new f_(this,{kind:`hyperbolictree-list`,capture:()=>this.getViewState()}),root:()=>this.#u,focusId:()=>this._focusId,setCenter:(e,n)=>this.#E(e,n),selected:()=>this._selectedNodes,selectedNode:()=>this.selectedNode,canSelect:e=>this.#y(e),singleSelect:()=>this.interactionMode===`implicit`,setSelection:(e,n,r)=>{let i=this._selectedNodes;this._selectedNodes=new Set(e),this.selectedNode=n,r&&this.#x(i)},tickled:()=>this.tickled.tickledId,setTickled:e=>e===void 0?this.tickled.clearTickled():this.tickled.setTickled(e),visibleIdOf:e=>this.#d().nodes.find(n=>n.key===e)?.id,zoom:()=>this.zoom,setZoom:e=>{this.zoom=e},restoreLoads:()=>this.restoreLoads,load:(e,n)=>this.#n.loadOne(e,n)}),this._viewOverride=void 0,this._focusRotation=0,this._zoomOffset={x:0,y:0},this._previewId=void 0,this.#t=IC({candidate:e=>{let n=this.#d().nodes,r=e===void 0||this.disableChildPreview?void 0:n.find(n=>n.id===e);return r&&!this.#l.isDragging()&&NC(r,n,this.#r)?r.id:void 0},currentId:()=>this._previewId,setPreviewId:e=>{this._previewId=e}}),this.#n=Qw(()=>({model:this.model,loadChildren:this.loadChildren}),()=>{this.#e.invalidate(),this.requestUpdate()}),this.#r=new Set,this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.hyperbolictree-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#d().nodes.map(e=>({id:e.id,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(this.#t.update(e),e===void 0)return;let n=this.#d().nodes.find(n=>n.id===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this._hostSize={width:0,height:0},this.#l=bw({svgRect:()=>this.renderRoot.querySelector(`svg.hyperbolictree`)?.getBoundingClientRect(),onDragStart:()=>this.#t.hide(),takeView:()=>{let e=this.#p();return this.#S(),this._viewOverride=e,e},setView:e=>{this._viewOverride=e},zoomState:()=>this.#j(),setZoomState:e=>{e.zoom!==this.zoom&&this.#e.notify(),this.zoom=e.zoom,this._zoomOffset=e.offset},zoomGesturesEnabled:()=>!this.disableZoomGestures,hasFocus:()=>this.renderRoot.activeElement!==null,focusTree:()=>this.#M()})}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){return this._focusId===void 0?this.#u:Tw(this.#u,this._focusId)?.at(-1)??this.#u}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;get#u(){return this.model?.root??this.root}#d(){return Bw(this.#u,{focusedKey:this._focusId,maxRadius:this.maxRadius,curvature:this.curvature,siblingSpacing:this.siblingSpacing,view:this.#p()})}get#f(){return this.#u?.item.key}#p(){return this._viewOverride??iw(this._focusRotation)}#m(e,n){let r=Fw(this.#u,24,this.curvature,this.siblingSpacing),i=n===void 0?void 0:Rw(r,n,e);return i?tw(this.#p(),i):iw(this._focusRotation)}#h(e){let n=this.#u,r=Ew(n,e);if(r!==void 0)return r;let i=Ow(n,e.item.key);return i?Ew(n,i):void 0}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#a=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#_(),typeof ResizeObserver==`function`&&(this.#c=new ResizeObserver(([e])=>{let{width:n,height:r}=e.contentRect;this._hostSize={width:n,height:r}}),this.#c.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#c?.disconnect(),this.#c=void 0,this.#i?.(),this.#i=void 0,this.#t.dispose(),this.#n.abortAll(),this.#s!==void 0&&(cancelAnimationFrame(this.#s),this.#s=void 0),this.#a&&(this.#a.unregister(`select-all`),this.#a.unregister(`deselect-all`),this.#a=void 0,this.registry=void 0)}#g(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#_(){this.#a&&(this.search.setModes(this.#g()),this.#o?.(),this.#o=zt(this.#a,this.search))}willUpdate(e){(e.has(`root`)&&this.root||e.has(`model`))&&this.#v(),this.#e.reconcileIfNeeded(this._focusId!==void 0&&!Tw(this.#u,this._focusId))}updated(e){e.has(`model`)&&(this.#i?.(),this.#i=void 0,this.model&&(this.#i=this.model._subscribe(e=>{e.type===`root`?this.#v():e.type===`invalidate`&&this.#e.invalidate(),this.requestUpdate()}))),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&this.clearSelection(),e.has(`searchModes`)&&this.#_(),this.#n.ensure(this.#d().nodes),this.#e.continueRestoreLoads()}#v(){this._previewId=void 0,this.#l.cancel(),this.#e.invalidate()}#y(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#b(){this._selectedNodes.clear(),this.selectedNode=void 0}#x(e){this.#e.selectionChanged(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#y(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#x(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#x(n),this.requestUpdate()}clearSelection(){if(this.#e.clearPendingSelection(),this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#d().nodes)this.#y(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#x(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(n),this.requestUpdate()}focusOn(e){let n=this.#u,r=this.#h(e),i=this._focusId??this.#f;if(r===void 0||i===r)return;let a=Tw(n,r)?.at(-1)??e,o=i===void 0?void 0:Tw(n,i)?.at(-1),s=this.#m(r,i);this._focusId=r,this.#e.centred(r),this.#l.cancel(),this._previewId=void 0,this.#C(s),this.dispatchEvent(new CustomEvent(`focus`,{detail:{node:a,previous:o},bubbles:!0,composed:!0})),o&&i!==void 0&&(ww(r,i)?this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:a,depth:Sw(r)},bubbles:!0,composed:!0})):ww(i,r)&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:o,depth:Sw(i)},bubbles:!0,composed:!0}))),this.requestUpdate()}#S(){this.#s!==void 0&&(cancelAnimationFrame(this.#s),this.#s=void 0)}#C(e){this.#S();let{viewAt:n,settledRotation:r}=pw(e);this._focusRotation=r;let i=this._zoomOffset;if(this.focusAnimationDuration<=0||dw()||typeof requestAnimationFrame!=`function`){this._viewOverride=void 0,this._zoomOffset={x:0,y:0};return}let a=performance.now(),o=this.focusAnimationDuration,s=e=>{let r=Math.min(1,(e-a)/o),c=1-uw(r);this._zoomOffset={x:i.x*c,y:i.y*c},this._viewOverride=r>=1?void 0:n(r),this.#s=r<1?requestAnimationFrame(s):void 0};this.#s=requestAnimationFrame(s)}#w(e){this.focusOn(e);let n=this.#h(e);n!==void 0&&this.#T(n,e),this.interactionMode===`implicit`&&this.select(e)}navigateTo(e){let n=this.#u;if(!n?.children)return!1;let r=n;for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;r=e}this.focusOn(r),this.select(r);let i=this.#h(r);return i!==void 0&&this.tickled.setTickled(i),this.requestUpdate(),!0}navigateToNode(e){let n=this.#u;if(!n?.children)return!1;let r=Dw(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=Ow(this.#u,e),r=n?this.#h(n):void 0;return!n||r===void 0?!1:(this.#d().nodes.some(e=>e.id===r)||this.focusOn(n),this.#T(r,n),this.requestUpdate(),!0)}#T(e,n){this.tickled.setTickled(e),this.#e.keyboardCursorMoved(e,n.item.key)}getNodes(){return this.#d().nodes.map(e=>({node:e.node,depth:e.depth}))}getViewState(e){return this.#e.get(e)}setViewState(e){this.#e.set(e),this.requestUpdate()}clearPendingViewState(){this.#e.clearPending()}#E(e,n){let r=this.focusedNode;if(this.#S(),this._focusId=e,this._viewOverride=void 0,this._zoomOffset={x:0,y:0},!n){this._focusRotation=0;return}let i=this.focusedNode;i&&this.dispatchEvent(new CustomEvent(`focus`,{detail:{node:i,previous:r},bubbles:!0,composed:!0}))}#D(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#D(e,n+1))??!1}#O(e,n){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(n.ctrlKey||n.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#y(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#x(n),this.requestUpdate()}}else this.interactionMode!==`manual`&&this.select(e.node);this.tickled.setTickled(e.id),this.focusOn(e.node)}#k(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#A(e){let n=this.#u;if(this.disableKeyboardNavigation||!n)return;if(e.key===`Escape`&&this._previewId!==void 0){e.preventDefault(),this._previewId=void 0;return}let{action:r,handled:i}=Zw(e.key,n,this._focusId??n.item.key,this.#d().nodes);i&&e.preventDefault(),r.kind===`focus`?this.#w(r.node):r.kind===`activate`&&(this.interactionMode!==`manual`&&this.select(r.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:r.node,depth:r.depth},bubbles:!0,composed:!0})))}#j(){return hw({zoom:this.zoom,offset:this._zoomOffset})}#M(){this.renderRoot.querySelector(`svg.hyperbolictree`)?.focus({preventScroll:!0})}#N(e){this.#t.hide(),this.interactionMode!==`manual`&&this.select(e);let n=this.#h(e);n!==void 0&&this.tickled.setTickled(n),this.focusOn(e),this.#M()}#P(e){let n=this._previewId===void 0||this.disableChildPreview?void 0:e.find(e=>e.id===this._previewId);if(!n)return;let{width:r,height:i}=this._hostSize,a=PC(n.position,this.#j(),r||420,i||420),o=n.parentId===void 0?void 0:e.find(e=>e.id===n.parentId)?.node;return{node:n.node,anchor:a,side:MC(a,r||420,i||420),parent:o}}#F(e,n){return TT(e,{nodeShape:this.nodeShape,radialLabels:!this.disableRadialLabels,zoom:this.#j().zoom,font:gT(this,Math.min(this._hostSize.width,this._hostSize.height),this.zoom),branches:n,boxMaxChars:this.boxMaxChars,minLabelSize:this.minLabelSize,nodeRadius:this.nodeRadius,minNodeRadius:this.minNodeRadius,minWeightScale:this.minWeightScale,maxWeightScale:this.maxWeightScale,isSelected:e=>this._selectedNodes.has(e),isTickled:e=>this.tickled.isTickled(e)})}#I(e,n){return PT(e,this.nodeShape,{ctx:n,state:{isSelected:e=>this._selectedNodes.has(e),isTickled:e=>this.tickled.isTickled(e),showTitle:e=>this.disableChildPreview||!e.node.children?.length,isFiltered:e=>!this.#D(e.node,e.depth),isPending:e=>this.#n.isPending(e)},handlers:{onClick:(e,n)=>{n.stopPropagation(),this.#l.wasDragged()||this.#O(e,n)},onDblClick:(e,n)=>{n.stopPropagation(),this.#l.wasDragged()||this.#k(e)},onPointerEnter:e=>this.tickled.handlePointerEnter(e)}})}render(){let{nodes:e,edges:n}=this.#d(),r=new Map(e.map(e=>[e.id,e])),a=_T(this.#u),o=this.#F(e,a);this.#r=o.labelIds;let{zoom:s,offset:c}=this.#j(),l=c.x===0&&c.y===0?``:`translate(${c.x*500} ${c.y*500}) `;return i`
|
|
9174
9182
|
<svg
|
|
9175
9183
|
class="hyperbolictree"
|
|
9176
9184
|
viewBox="${-525} ${-525} ${1050} ${1050}"
|
|
@@ -9190,16 +9198,16 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9190
9198
|
<g class="zoom" transform="${l}scale(${s})">
|
|
9191
9199
|
<circle class="disk-boundary" part="boundary" cx="0" cy="0" r=${500} />
|
|
9192
9200
|
<g class="edges" part="edges">
|
|
9193
|
-
${
|
|
9201
|
+
${IT(n,r,a,this.edgeRenderer)}
|
|
9194
9202
|
</g>
|
|
9195
9203
|
<g class="nodes" part="nodes">
|
|
9196
9204
|
${this.#I(e,o)}
|
|
9197
9205
|
</g>
|
|
9198
9206
|
</g>
|
|
9199
9207
|
</svg>
|
|
9200
|
-
${
|
|
9208
|
+
${FC(this.#P(e),{onPointerEnter:()=>this.#t.pointerEnter(),onPointerLeave:()=>this.#t.pointerLeave(this.tickled.tickledId),onPick:e=>this.#N(e)})}
|
|
9201
9209
|
${this.search.renderField()}
|
|
9202
|
-
`}static{this.styles=[w,Ht,
|
|
9210
|
+
`}static{this.styles=[w,Ht,Jw]}};E([d({type:Object})],Y.prototype,`root`,void 0),E([d({attribute:!1})],Y.prototype,`model`,void 0),E([d({attribute:!1})],Y.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],Y.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],Y.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],Y.prototype,`interactionMode`,void 0),E([d({type:Number,attribute:`max-radius`})],Y.prototype,`maxRadius`,void 0),E([d({type:String,attribute:`node-shape`,reflect:!0})],Y.prototype,`nodeShape`,void 0),E([d({type:Number,attribute:`box-max-chars`})],Y.prototype,`boxMaxChars`,void 0),E([d({type:Number,attribute:`min-label-size`})],Y.prototype,`minLabelSize`,void 0),E([d({type:Boolean,attribute:`color-by-branch`,reflect:!0})],Y.prototype,`colorByBranch`,void 0),E([d({type:Number,attribute:`node-radius`})],Y.prototype,`nodeRadius`,void 0),E([d({type:Number,attribute:`min-node-radius`})],Y.prototype,`minNodeRadius`,void 0),E([d({type:Number,attribute:`min-weight-scale`})],Y.prototype,`minWeightScale`,void 0),E([d({type:Number,attribute:`max-weight-scale`})],Y.prototype,`maxWeightScale`,void 0),E([d({type:Number})],Y.prototype,`zoom`,void 0),E([d({type:Boolean,attribute:`disable-zoom-gestures`})],Y.prototype,`disableZoomGestures`,void 0),E([d({type:Boolean,attribute:`disable-radial-labels`})],Y.prototype,`disableRadialLabels`,void 0),E([d({type:Boolean,attribute:`disable-child-preview`})],Y.prototype,`disableChildPreview`,void 0),E([d({type:Number})],Y.prototype,`curvature`,void 0),E([d({type:Number,attribute:`sibling-spacing`})],Y.prototype,`siblingSpacing`,void 0),E([d({type:Number,attribute:`focus-animation-duration`})],Y.prototype,`focusAnimationDuration`,void 0),E([d({attribute:!1})],Y.prototype,`edgeRenderer`,void 0),E([d({attribute:!1})],Y.prototype,`selectedNode`,void 0),E([m()],Y.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],Y.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],Y.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],Y.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],Y.prototype,`searchModes`,void 0),E([m()],Y.prototype,`_focusId`,void 0),E([d({attribute:!1})],Y.prototype,`restoreLoads`,void 0),E([m()],Y.prototype,`_viewOverride`,void 0),E([m()],Y.prototype,`_focusRotation`,void 0),E([m()],Y.prototype,`_zoomOffset`,void 0),E([m()],Y.prototype,`_previewId`,void 0),E([m()],Y.prototype,`_hostSize`,void 0),Y=E([T(`ixfx-hyperbolictree-list`)],Y);function LT(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}function RT(e,n){if(e){if(e.item.key===n)return e;for(let r of e.children??[]){let e=RT(r,n);if(e)return e}}}function zT(e,n){if(e){if(e.item.key===n)return[e];for(let r of e.children??[]){let i=zT(r,n);if(i)return[e,...i]}}}function BT(e,n){let r=e;for(let e of n){let n=e===r?.item.key?r:r?.children?.find(n=>n.item.key===e);if(!n)return;r=n}return r}function VT(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=VT(i.children,n,e);if(r)return r}}}function HT(e,n={}){if(!e?.children?.length)return[];let{maxDepth:r=1/0,valueAccessor:i=()=>1,zoomKey:a,hideLeaves:o=!1}=n;if(r<=0)return[];let s=a===void 0?e:RT(e,a)??e,c=zT(e,s.item.key),l=c?c.length-2:-1,u=s.children??[];if(u.length===0)return[];let d=e=>e.item.isLeaf===!0||e.children!==void 0&&e.children.length===0,f=[],p=(e,n,a,s,c,l)=>{let u=o?e.filter(e=>!d(e)):e;if(u.length===0||a>=r)return;let m=u.map(e=>LT(i(e.item))),h=m.reduce((e,n)=>e+n,0),g=u.length,_=s;u.forEach((e,r)=>{let i=c*(h>0?m[r]/h:1/g),o=e.children??[];f.push({node:e,depth:n,relativeDepth:a,x:_,width:i,parentKey:l,index:r,setSize:g,hasChildren:o.length>0||e.children===void 0&&e.item.isLeaf!==!0}),o.length>0&&p(o,n+1,a+1,_,i,e.item.key),_+=i})};return p(u,l+1,0,0,1,s.item.key),f}function UT(e){let n=new Map,r=e=>{n.has(e.item.key)||n.set(e.item.key,e);for(let n of e.children??[])r(n)};return e&&r(e),n}function WT(e,n,r){let i=ZS(e,n,()=>!1);if(i.status===`found`)return i.nodes;let a=n.at(-1);return a!==void 0&&r(a)?zT(e,a)?.slice(1):void 0}function GT(e){return e.scrollLeft===0?{top:e.scrollTop}:{top:e.scrollTop,left:e.scrollLeft}}function KT(e,n){let r=s_(e,n.top),i=n.left===void 0||s_(e,n.left,`horizontal`);return r&&i}function qT(e,n,r){if(e.length!==0){if(r===`Home`)return e[0];if(r===`End`)return e.at(-1);if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(r)){if(!n)return e[0];switch(r){case`ArrowLeft`:case`ArrowRight`:{let i=r===`ArrowRight`?1:-1,a=e.filter(e=>e.relativeDepth===n.relativeDepth&&e.parentKey===n.parentKey);return a[a.findIndex(e=>e.node.item.key===n.node.item.key)+i]??(i>0?a[0]:a.at(-1))}case`ArrowUp`:return(n.parentKey===void 0?void 0:e.find(e=>e.node.item.key===n.parentKey))??e[0];default:return e.find(e=>e.parentKey===n.node.item.key)}}}}const JT=r`
|
|
9203
9211
|
:host {
|
|
9204
9212
|
--icicletree-band-height: 44px;
|
|
9205
9213
|
--icicletree-band-gap: 2px;
|
|
@@ -9377,7 +9385,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9377
9385
|
color: var(--surface-muted-text);
|
|
9378
9386
|
font-size: var(--text-s);
|
|
9379
9387
|
}
|
|
9380
|
-
`;let JT=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.orientation=`horizontal`,this.maxDepth=4,this.minLabelWidth=40,this.minVerticalLabelWidth=16,this.hideLeaves=!1,this.valueAccessor=()=>1,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomKey=void 0,this.restoreLoads=!0,this.#e=new d_(this,{kind:`icicletree-list`,capture:()=>this.getViewState()}),this.#t=k,this.#i=!1,this.#a=[],this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.icicle-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#m().map(e=>({id:e.node.item.key,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(e===void 0)return;let n=this.#m().find(n=>n.node.item.key===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this.#s=new Set,this.#c=new Map,this.#w=()=>{this.#e.pendingScroll||this.#e.notify()}}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomKey!==void 0)return LT(this.#p,this._zoomKey)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;get#p(){return this.model?.root??this.root}#m(){return VT(this.#p,{valueAccessor:this.valueAccessor,maxDepth:this.maxDepth,zoomKey:this._zoomKey,hideLeaves:this.hideLeaves})}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#u=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#g(),this.#e.observeScrollTarget(this),this.addEventListener(`scroll`,this.#w,{passive:!0}),typeof ResizeObserver<`u`&&(this.#f=new ResizeObserver(()=>this.requestUpdate()),this.#f.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#o?.(),this.#o=void 0;for(let e of this.#c.values())e.abort();this.#c.clear(),this.#s.clear(),this.removeEventListener(`scroll`,this.#w),this.#f?.disconnect(),this.#f=void 0,this.#u&&(this.#u.unregister(`select-all`),this.#u.unregister(`deselect-all`),this.#u=void 0,this.registry=void 0)}#h(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#g(){this.#u&&(this.search.setModes(this.#h()),this.#d?.(),this.#d=zt(this.#u,this.search))}willUpdate(e){(e.has(`root`)||e.has(`model`))&&(this.#l=void 0),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#l=void 0,this.clearSelection()),this.#b()}updated(e){e.has(`model`)&&(this.#o?.(),this.#o=this.model?._subscribe(()=>this.requestUpdate())),e.has(`searchModes`)&&this.#g(),this.#T(),this.#C(),this.#e.applyPendingScroll(e=>GT(this,e)),this.#y()}#_(){return(this.orientation===`vertical`?this.clientHeight:this.clientWidth)||0}#v(e){let n=this.#_();if(n===0)return{hidden:!1,rotated:!1};let r=this.orientation===`vertical`,i=e.width*n;return r?{hidden:i<this.minLabelWidth,rotated:!1}:i<this.minVerticalLabelWidth?{hidden:!0,rotated:!1}:{hidden:!1,rotated:i<this.minLabelWidth}}#y(){let e=this._tooltipEl;if(!e?.popover)return;let n=this.tickled.tickledId,r=n===void 0?void 0:this.#m().find(e=>e.node.item.key===n),i=r?this.#v(r):void 0,a=e.matches(`:popover-open`);if(r&&i&&(i.hidden||i.rotated)){if(e.textContent=r.node.item.label,!a)try{e.showPopover()}catch{}}else if(a)try{e.hidePopover()}catch{}}getViewState(e){let n=e?.includePending??!0,r=this.#i?this.tickled.tickledId:void 0;return this.#e.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#t:[]),zoom:(n?this.#n:void 0)??(this._zoomKey===void 0?[]:[...this.#a]),focus:r??(n?this.#r:void 0),scroll:(n?this.#e.pendingScroll:void 0)??(this.isConnected?WT(this):void 0)},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{if(e.selected&&(this.#t=sr(new Set(e.selected)),this._selectedNodes.size>0)){let e=new Set(this._selectedNodes);this.#O(),this.#k(e)}e.zoom&&(this.#n=[...e.zoom]),e.focus!==void 0&&(this.#r=e.focus),e.scroll&&(this.#e.pendingScroll=e.scroll),this.#b(),this.#n!==void 0&&this.zoomOut()}),this.requestUpdate())}clearPendingViewState(){this.#t=k,this.#n=void 0,this.#r=void 0,this.#e.pendingScroll=void 0}#b(){if(this._selectedNodes.size===0&&this.#t.size===0&&this._zoomKey===void 0&&this.#n===void 0&&this.tickled.tickledId===void 0&&this.#r===void 0)return;let e=this.#p,n,r=r=>(n??=HT(e)).get(r);this.#e.restoring(()=>{this.#x(e,r);let n=qS(this._selectedNodes,this.#t,r,e=>this.#D(e),this.interactionMode===`implicit`);if(n.changed){let e=this._selectedNodes,r=this.selectedNode?.item.key;this._selectedNodes=new Set(n.selected),this.#t=n.pending,this.selectedNode=[...n.selected].find(e=>e.item.key===r)??[...n.selected].at(-1),n.restored?this.#k(e):this.#e.notify(`data`)}this.#S(r)})}#x(e,n){this._zoomKey!==void 0&&!n(this._zoomKey)&&(this.#n??=this.#a,this._zoomKey=void 0,this.#e.notify(`data`));let r=this.#n&&UT(e,this.#n,n);r&&(this.#n=void 0,r.length===0?this.zoomOut():this.zoomTo(r.at(-1)))}#S(e){let n=this.tickled.tickledId;n!==void 0&&!e(n)&&(this.#i&&(this.#r??=n),this.tickled.clearTickled());let r=this.#r;r!==void 0&&this.#m().some(e=>e.node.item.key===r)&&(this.#r=void 0,this.#i=!0,this.tickled.setTickled(r))}#C(){if(!this.restoreLoads||this.#n===void 0||!this.model&&!this.loadChildren)return;let e=XS(this.#p,this.#n,e=>e.item.isLeaf!==!0);e.status===`load`&&!this.#s.has(e.node.item.key)&&this.#E(e.node,e.depth)}#w;#T(){if(!(!this.model&&!this.loadChildren))for(let e of this.#m()){let{node:n}=e;n.children!==void 0||this.#s.has(n.item.key)||this.#E(n,e.depth)}}async#E(e,n){let r=e.item.key;this.#s.add(r);let i=new AbortController;this.#c.set(r,i),this.requestUpdate();try{let r;if(r=this.model?await this.model.getChildren(e,n,i.signal):[...await Lg(this.loadChildren({node:e,depth:n},i.signal),i.signal)],i.signal.aborted)return;e.children=r}catch{if(i.signal.aborted)return;e.children=[]}finally{this.#s.delete(r),this.#c.delete(r),i.signal.aborted||this.requestUpdate()}}#D(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#O(){this._selectedNodes.clear(),this.selectedNode=void 0}#k(e){this.#e.isRestoring||(this.#t=k),this.#e.notify(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#D(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#k(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#k(n),this.requestUpdate()}clearSelection(){if(this.#t=k,this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#O(),this.#k(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#m())this.#D(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#k(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#O(),this.#k(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#D(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#k(n),this.requestUpdate()}zoomTo(e){if(this.#A(),this._zoomKey===e.item.key)return;this._zoomKey=e.item.key,this.tickled.clearTickled();let n=RT(this.#p,e.item.key);this.#a=n?.slice(1).map(e=>e.item.key)??[e.item.key];let r=n===void 0?-1:n.length-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}zoomOut(){if(this.#A(),this._zoomKey===void 0)return;let e=this.focusedNode,n=this._zoomKey===void 0?void 0:RT(this.#p,this._zoomKey),r=n===void 0?-1:n.length-2;this._zoomKey=void 0,this.#a=[],this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:void 0,depth:-1},bubbles:!0,composed:!0})),e&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}#A(){this.#e.isRestoring||(this.#n=void 0),this.#e.notify()}#j(e){return e.item.isLeaf===!0?!1:e.children===void 0?this.model!==void 0||this.loadChildren!==void 0:e.children.length>0}navigateTo(e){let n=this.#p;if(!n?.children)return!1;let r=n,i=[];for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;i.push(e),r=e}let a=i.at(-1);return i.length>this.maxDepth?this.zoomTo(i[i.length-this.maxDepth-1]):this._zoomKey!==void 0&&this.zoomOut(),this.select(a),this.tickled.setTickled(a.item.key),this.requestUpdate(),!0}navigateToNode(e){let n=this.#p;if(!n?.children)return!1;let r=BT(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#p;if(!n?.children)return!1;let r=BT(n.children,n=>n.item.key===e);if(!r)return!1;if(r.length>this.maxDepth){let e=zT(this.#p,r.slice(0,r.length-this.maxDepth));e&&this.zoomTo(e)}return this.tickled.setTickled(e),this.requestUpdate(),!0}getNodes(){return this.#m().map(e=>({node:e.node,depth:e.depth}))}#M(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#M(e,n+1))??!1}#N(e,n,r){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(r.ctrlKey||r.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#D(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#k(n),this.requestUpdate()}this.#l=n}else if(this.interactionMode===`standard`&&r.shiftKey&&this.#l!==void 0){let e=this.#m(),r=Math.min(this.#l,n),i=Math.max(this.#l,n),a=new Set(this._selectedNodes);this._selectedNodes=new Set(e.slice(r,i+1).map(e=>e.node).filter(e=>this.#D(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#k(a),this.requestUpdate()}else this.interactionMode!==`manual`&&(this.select(e.node),this.#l=n);this.tickled.setTickled(e.node.item.key),this.#j(e.node)&&this.zoomTo(e.node)}#P(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#F(e){if(this.disableKeyboardNavigation)return;let n=this.#m();if(n.length===0)return;let r=this.tickled.tickledId,i=r===void 0?-1:n.findIndex(e=>e.node.item.key===r),a=i>=0?n[i]:void 0,o=n=>{e.preventDefault(),this.tickled.setTickled(n.node.item.key),this.#i=!0,this.#r=void 0,this.#e.notify(),this.interactionMode===`implicit`&&this.select(n.node)};(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&e.preventDefault();let s=KT(n,a,e.key);if(s){o(s);return}switch(e.key){case`Enter`:if(!a)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(a.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:a.node,depth:a.depth},bubbles:!0,composed:!0})),this.#j(a.node)&&this.zoomTo(a.node);return;case`Escape`:this._zoomKey!==void 0&&(e.preventDefault(),this.zoomOut())}}#I(){let e=this.focusedNode;return e===void 0?a:i`
|
|
9388
|
+
`;let X=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.orientation=`horizontal`,this.maxDepth=4,this.minLabelWidth=40,this.minVerticalLabelWidth=16,this.hideLeaves=!1,this.valueAccessor=()=>1,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomKey=void 0,this.restoreLoads=!0,this.#e=new f_(this,{kind:`icicletree-list`,capture:()=>this.getViewState()}),this.#t=k,this.#i=!1,this.#a=[],this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.icicle-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#m().map(e=>({id:e.node.item.key,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(e===void 0)return;let n=this.#m().find(n=>n.node.item.key===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this.#s=new Set,this.#c=new Map,this.#w=()=>{this.#e.pendingScroll||this.#e.notify()}}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomKey!==void 0)return RT(this.#p,this._zoomKey)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;get#p(){return this.model?.root??this.root}#m(){return HT(this.#p,{valueAccessor:this.valueAccessor,maxDepth:this.maxDepth,zoomKey:this._zoomKey,hideLeaves:this.hideLeaves})}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#u=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#g(),this.#e.observeScrollTarget(this),this.addEventListener(`scroll`,this.#w,{passive:!0}),typeof ResizeObserver<`u`&&(this.#f=new ResizeObserver(()=>this.requestUpdate()),this.#f.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#o?.(),this.#o=void 0;for(let e of this.#c.values())e.abort();this.#c.clear(),this.#s.clear(),this.removeEventListener(`scroll`,this.#w),this.#f?.disconnect(),this.#f=void 0,this.#u&&(this.#u.unregister(`select-all`),this.#u.unregister(`deselect-all`),this.#u=void 0,this.registry=void 0)}#h(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#g(){this.#u&&(this.search.setModes(this.#h()),this.#d?.(),this.#d=zt(this.#u,this.search))}willUpdate(e){(e.has(`root`)||e.has(`model`))&&(this.#l=void 0),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#l=void 0,this.clearSelection()),this.#b()}updated(e){e.has(`model`)&&(this.#o?.(),this.#o=this.model?._subscribe(()=>this.requestUpdate())),e.has(`searchModes`)&&this.#g(),this.#T(),this.#C(),this.#e.applyPendingScroll(e=>KT(this,e)),this.#y()}#_(){return(this.orientation===`vertical`?this.clientHeight:this.clientWidth)||0}#v(e){let n=this.#_();if(n===0)return{hidden:!1,rotated:!1};let r=this.orientation===`vertical`,i=e.width*n;return r?{hidden:i<this.minLabelWidth,rotated:!1}:i<this.minVerticalLabelWidth?{hidden:!0,rotated:!1}:{hidden:!1,rotated:i<this.minLabelWidth}}#y(){let e=this._tooltipEl;if(!e?.popover)return;let n=this.tickled.tickledId,r=n===void 0?void 0:this.#m().find(e=>e.node.item.key===n),i=r?this.#v(r):void 0,a=e.matches(`:popover-open`);if(r&&i&&(i.hidden||i.rotated)){if(e.textContent=r.node.item.label,!a)try{e.showPopover()}catch{}}else if(a)try{e.hidePopover()}catch{}}getViewState(e){let n=e?.includePending??!0,r=this.#i?this.tickled.tickledId:void 0;return this.#e.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#t:[]),zoom:(n?this.#n:void 0)??(this._zoomKey===void 0?[]:[...this.#a]),focus:r??(n?this.#r:void 0),scroll:(n?this.#e.pendingScroll:void 0)??(this.isConnected?GT(this):void 0)},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{if(e.selected&&(this.#t=sr(new Set(e.selected)),this._selectedNodes.size>0)){let e=new Set(this._selectedNodes);this.#O(),this.#k(e)}e.zoom&&(this.#n=[...e.zoom]),e.focus!==void 0&&(this.#r=e.focus),e.scroll&&(this.#e.pendingScroll=e.scroll),this.#b(),this.#n!==void 0&&this.zoomOut()}),this.requestUpdate())}clearPendingViewState(){this.#t=k,this.#n=void 0,this.#r=void 0,this.#e.pendingScroll=void 0}#b(){if(this._selectedNodes.size===0&&this.#t.size===0&&this._zoomKey===void 0&&this.#n===void 0&&this.tickled.tickledId===void 0&&this.#r===void 0)return;let e=this.#p,n,r=r=>(n??=UT(e)).get(r);this.#e.restoring(()=>{this.#x(e,r);let n=JS(this._selectedNodes,this.#t,r,e=>this.#D(e),this.interactionMode===`implicit`);if(n.changed){let e=this._selectedNodes,r=this.selectedNode?.item.key;this._selectedNodes=new Set(n.selected),this.#t=n.pending,this.selectedNode=[...n.selected].find(e=>e.item.key===r)??[...n.selected].at(-1),n.restored?this.#k(e):this.#e.notify(`data`)}this.#S(r)})}#x(e,n){this._zoomKey!==void 0&&!n(this._zoomKey)&&(this.#n??=this.#a,this._zoomKey=void 0,this.#e.notify(`data`));let r=this.#n&&WT(e,this.#n,n);r&&(this.#n=void 0,r.length===0?this.zoomOut():this.zoomTo(r.at(-1)))}#S(e){let n=this.tickled.tickledId;n!==void 0&&!e(n)&&(this.#i&&(this.#r??=n),this.tickled.clearTickled());let r=this.#r;r!==void 0&&this.#m().some(e=>e.node.item.key===r)&&(this.#r=void 0,this.#i=!0,this.tickled.setTickled(r))}#C(){if(!this.restoreLoads||this.#n===void 0||!this.model&&!this.loadChildren)return;let e=ZS(this.#p,this.#n,e=>e.item.isLeaf!==!0);e.status===`load`&&!this.#s.has(e.node.item.key)&&this.#E(e.node,e.depth)}#w;#T(){if(!(!this.model&&!this.loadChildren))for(let e of this.#m()){let{node:n}=e;n.children!==void 0||this.#s.has(n.item.key)||this.#E(n,e.depth)}}async#E(e,n){let r=e.item.key;this.#s.add(r);let i=new AbortController;this.#c.set(r,i),this.requestUpdate();try{let r;if(r=this.model?await this.model.getChildren(e,n,i.signal):[...await Rg(this.loadChildren({node:e,depth:n},i.signal),i.signal)],i.signal.aborted)return;e.children=r}catch{if(i.signal.aborted)return;e.children=[]}finally{this.#s.delete(r),this.#c.delete(r),i.signal.aborted||this.requestUpdate()}}#D(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#O(){this._selectedNodes.clear(),this.selectedNode=void 0}#k(e){this.#e.isRestoring||(this.#t=k),this.#e.notify(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#D(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#k(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#k(n),this.requestUpdate()}clearSelection(){if(this.#t=k,this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#O(),this.#k(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#m())this.#D(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#k(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#O(),this.#k(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#D(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#k(n),this.requestUpdate()}zoomTo(e){if(this.#A(),this._zoomKey===e.item.key)return;this._zoomKey=e.item.key,this.tickled.clearTickled();let n=zT(this.#p,e.item.key);this.#a=n?.slice(1).map(e=>e.item.key)??[e.item.key];let r=n===void 0?-1:n.length-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}zoomOut(){if(this.#A(),this._zoomKey===void 0)return;let e=this.focusedNode,n=this._zoomKey===void 0?void 0:zT(this.#p,this._zoomKey),r=n===void 0?-1:n.length-2;this._zoomKey=void 0,this.#a=[],this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:void 0,depth:-1},bubbles:!0,composed:!0})),e&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}#A(){this.#e.isRestoring||(this.#n=void 0),this.#e.notify()}#j(e){return e.item.isLeaf===!0?!1:e.children===void 0?this.model!==void 0||this.loadChildren!==void 0:e.children.length>0}navigateTo(e){let n=this.#p;if(!n?.children)return!1;let r=n,i=[];for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;i.push(e),r=e}let a=i.at(-1);return i.length>this.maxDepth?this.zoomTo(i[i.length-this.maxDepth-1]):this._zoomKey!==void 0&&this.zoomOut(),this.select(a),this.tickled.setTickled(a.item.key),this.requestUpdate(),!0}navigateToNode(e){let n=this.#p;if(!n?.children)return!1;let r=VT(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#p;if(!n?.children)return!1;let r=VT(n.children,n=>n.item.key===e);if(!r)return!1;if(r.length>this.maxDepth){let e=BT(this.#p,r.slice(0,r.length-this.maxDepth));e&&this.zoomTo(e)}return this.tickled.setTickled(e),this.requestUpdate(),!0}getNodes(){return this.#m().map(e=>({node:e.node,depth:e.depth}))}#M(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#M(e,n+1))??!1}#N(e,n,r){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(r.ctrlKey||r.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#D(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#k(n),this.requestUpdate()}this.#l=n}else if(this.interactionMode===`standard`&&r.shiftKey&&this.#l!==void 0){let e=this.#m(),r=Math.min(this.#l,n),i=Math.max(this.#l,n),a=new Set(this._selectedNodes);this._selectedNodes=new Set(e.slice(r,i+1).map(e=>e.node).filter(e=>this.#D(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#k(a),this.requestUpdate()}else this.interactionMode!==`manual`&&(this.select(e.node),this.#l=n);this.tickled.setTickled(e.node.item.key),this.#j(e.node)&&this.zoomTo(e.node)}#P(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#F(e){if(this.disableKeyboardNavigation)return;let n=this.#m();if(n.length===0)return;let r=this.tickled.tickledId,i=r===void 0?-1:n.findIndex(e=>e.node.item.key===r),a=i>=0?n[i]:void 0,o=n=>{e.preventDefault(),this.tickled.setTickled(n.node.item.key),this.#i=!0,this.#r=void 0,this.#e.notify(),this.interactionMode===`implicit`&&this.select(n.node)};(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&e.preventDefault();let s=qT(n,a,e.key);if(s){o(s);return}switch(e.key){case`Enter`:if(!a)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(a.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:a.node,depth:a.depth},bubbles:!0,composed:!0})),this.#j(a.node)&&this.zoomTo(a.node);return;case`Escape`:this._zoomKey!==void 0&&(e.preventDefault(),this.zoomOut())}}#I(){let e=this.focusedNode;return e===void 0?a:i`
|
|
9381
9389
|
<nav class="breadcrumb" part="breadcrumb" aria-label="Icicle zoom path">
|
|
9382
9390
|
<ixfx-crumb-navigation
|
|
9383
9391
|
with-up
|
|
@@ -9430,7 +9438,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9430
9438
|
</div>
|
|
9431
9439
|
<div id="icicle-tooltip" popover="manual" part="tooltip" class="icicle-tooltip"></div>
|
|
9432
9440
|
${this.search.renderField()}
|
|
9433
|
-
`}static{this.styles=[w,se,C,Ht,
|
|
9441
|
+
`}static{this.styles=[w,se,C,Ht,JT]}};E([d({type:Object})],X.prototype,`root`,void 0),E([d({attribute:!1})],X.prototype,`model`,void 0),E([d({attribute:!1})],X.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],X.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],X.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],X.prototype,`interactionMode`,void 0),E([d({type:String,reflect:!0})],X.prototype,`orientation`,void 0),E([d({type:Number,attribute:`max-depth`})],X.prototype,`maxDepth`,void 0),E([d({type:Number,attribute:`min-label-width`})],X.prototype,`minLabelWidth`,void 0),E([d({type:Number,attribute:`min-vertical-label-width`})],X.prototype,`minVerticalLabelWidth`,void 0),E([d({type:Boolean,attribute:`hide-leaves`,reflect:!0})],X.prototype,`hideLeaves`,void 0),E([d({attribute:!1})],X.prototype,`valueAccessor`,void 0),E([d({attribute:!1})],X.prototype,`selectedNode`,void 0),E([m()],X.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],X.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],X.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],X.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],X.prototype,`searchModes`,void 0),E([m()],X.prototype,`_zoomKey`,void 0),E([d({attribute:!1})],X.prototype,`restoreLoads`,void 0),E([f(`#icicle-tooltip`)],X.prototype,`_tooltipEl`,void 0),X=E([T(`ixfx-icicletree-list`)],X);const YT=Math.PI*2,XT=-Math.PI/2;function ZT(e,n,r={x:50,y:50}){return{x:r.x+Math.cos(e)*n,y:r.y+Math.sin(e)*n}}function QT(e){let n=YT*(1-e)/2,r=-Math.PI/2,i=r-n,a=r+n;return{startAngle:i,endAngle:a,totalArc:a-i}}function $T(e,n,r){let{startAngle:i,endAngle:a,totalArc:o}=QT(r);switch(n){case`range`:return i+e*o;case`bipolar`:if(e<=.5)return i+e/.5*(XT-i);{let n=(e-.5)/.5;return XT+n*(a-XT)}case`unipolar`:return XT;default:return i}}function eE(e,n,r){let{startAngle:i,endAngle:a,totalArc:o}=QT(r);switch(n){case`range`:return{startAngle:i,endAngle:i+e*o};case`bipolar`:if(e<.5)return{startAngle:i+e/.5*(XT-i),endAngle:XT};if(e>.5){let n=(e-.5)/.5,r=XT+n*(a-XT);return{startAngle:XT,endAngle:r}}return{startAngle:XT,endAngle:XT};case`unipolar`:{let n=e*o/2;return{startAngle:XT-n,endAngle:XT+n}}default:return{startAngle:i,endAngle:i}}}function tE(e,n,r,i){let{startAngle:a,endAngle:o,totalArc:s}=QT(i),c=$T(e,r,i),l=n*s/2,u=c-l,d=c+l;return u<a&&(u=a),d>o&&(d=o),u>=d?{startAngle:c,endAngle:c}:{startAngle:u,endAngle:d}}function nE(e,n,r,i={x:50,y:50}){if(e===n)return``;let a=n-e;if(a<0&&(a+=YT),a>=YT-.001){let n=e+YT-.001,a=ZT(e,r,i),o=ZT(n,r,i);return`M ${a.x},${a.y} A ${r},${r} 0 1 1 ${o.x},${o.y}`}let o=ZT(e,r,i),s=ZT(n,r,i),c=+(a>Math.PI);return`M ${o.x},${o.y} A ${r},${r} 0 ${c} 1 ${s.x},${s.y}`}function rE(e,n,r={x:50,y:50}){let{startAngle:i,endAngle:a}=QT(n);return nE(i,a,e,r)}function iE(e,n,r,i={x:50,y:50},a=!0){if(e===n)return``;let o=n-e;if(o<0&&(o+=YT),o>=YT-.001){let n=ZT(e,r,i),o=ZT(e+YT-.001,r,i),s=+!!a;return`M ${i.x},${i.y} L ${n.x},${n.y} A ${r},${r} 0 1 ${s} ${o.x},${o.y} Z`}let s=e,c=n,l=a;!a&&o>Math.PI&&(s=n,c=e,l=!0,o=YT-o);let u=ZT(s,r,i),d=ZT(c,r,i),f=+(o>Math.PI),p=+!!l;return`M ${i.x},${i.y} L ${u.x},${u.y} A ${r},${r} 0 ${f} ${p} ${d.x},${d.y} Z`}function aE(e,n,r){let{startAngle:i,totalArc:a}=QT(r),o=$T(e,n,r);switch(n){case`range`:return{startAngle:i,endAngle:o,clockwise:!0};case`bipolar`:return e<.5?{startAngle:XT,endAngle:o,clockwise:!1}:{startAngle:XT,endAngle:o,clockwise:!0};case`unipolar`:{let n=e*a/2;return{startAngle:XT-n,endAngle:XT+n,clockwise:!0}}default:return{startAngle:i,endAngle:i,clockwise:!0}}}function oE(e,n,r,i,a={x:50,y:50}){let o=$T(e,n,r);return{angle:o,position:ZT(o,i,a)}}function sE(e,n={x:50,y:50}){let r=ZT(XT,e,n);return{angle:XT,position:r}}function cE(e,n,r){return Math.min(Math.max(e,n),r)}function lE(e,n,r,i,a){return i+(e-n)/(r-n)*(a-i)}const uE={x:50,y:50};let dE=class extends mx(n){#e;get radius(){return this.#e}set radius(e){this.#e=cE(e,10,50)}#t;#n;#r;#i;#a;#o;constructor(){super(),this.#e=45,this.value=0,this.min=0,this.max=100,this.step=void 0,this.valueMode=`range`,this.flatten=.3,this.markerStyle=`needle`,this.wedge=!1,this.disabled=!1,this.#t=new Map,this.#n=!1,this.#r=0,this.#i=0,this.#o=!1,this.#p=e=>{if(this.disabled)return;e.preventDefault();let n=this.renderRoot.querySelector(`svg`);n?.focus(),this.#n=!0,this.#r=e.clientY,this.#i=this.value,this.toggleAttribute(`dragging`,!0),n&&n.setPointerCapture(e.pointerId),window.addEventListener(`pointermove`,this.#m),window.addEventListener(`pointerup`,this.#h),window.addEventListener(`pointercancel`,this.#h)},this.#m=e=>{if(!this.#n)return;e.preventDefault();let n=this.clientHeight*2*(e.shiftKey?10:1),r=(this.#r-e.clientY)/n*(this.max-this.min),i=lE(this.#i+r,this.min,this.max,0,1);this.#u(cE(i,0,1),!0)},this.#h=()=>{this.#n=!1,this.toggleAttribute(`dragging`,!1);let e=this.renderRoot.querySelector(`svg`);e&&`hasPointerCapture`in e&&typeof e.hasPointerCapture==`function`&&e.hasPointerCapture(1)&&e.releasePointerCapture(1),window.removeEventListener(`pointermove`,this.#m),window.removeEventListener(`pointerup`,this.#h),window.removeEventListener(`pointercancel`,this.#h)},this.#g=e=>{if(this.disabled)return;let n=this.max-this.min,r=px(n,this.stops,this.step,e.shiftKey),i=!1;switch(e.key){case`ArrowUp`:case`ArrowRight`:this.#_(r/n,!0),i=!0;break;case`ArrowDown`:case`ArrowLeft`:this.#_(-r/n,!0),i=!0;break;case`Home`:this.#u(0,!0),i=!0;break;case`End`:this.#u(1,!0),i=!0}i&&e.preventDefault()},this.#t.set(`track`,{key:`track`,value:1,type:`fixed`,offset:0,width:.16}),this.#t.set(`value`,{key:`value`,value:0,type:`value`,offset:0,width:.24})}addLane(e,n){let r=this.#s();this.#t.set(e,{key:e,value:n?.value??r,type:n?.type??`value`,offset:n?.offset??0,width:n?.width??.1}),this.requestUpdate()}setLaneValue(e,n){let r=this.#t.get(e);r&&(r.value=cE(n,0,1),this.requestUpdate())}removeLane(e){this.#t.delete(e),this.requestUpdate()}getLanes(){return new Map(this.#t)}getLane(e){return this.#t.get(e)}#s(){return lE(this.value,this.min,this.max,0,1)}#c(){return this.valueMode===`unipolar`&&this.markerStyle===`needle`?`none`:this.markerStyle}#l(e){if(this.stops&&this.stops>1){let n=(this.max-this.min)/this.stops;return Math.round((e-this.min)/n)*n+this.min}return e}#u(e,n=!1){let r=lE(e,0,1,this.min,this.max),i=this.#l(cE(r,this.min,this.max));if(i===this.value)return;let a=this.value;this.value=i,this.#o=n;let o=this.#t.get(`value`);if(o&&o.type===`value`&&(o.value=this.#s()),this.hasAttribute(`data-tooltip-live`)){let e=Math.round(this.#s()*100);this.setAttribute(`data-tooltip`,`${e}%`)}n?(this.dispatchEvent(new CustomEvent(`input`,{detail:{value:this.value,valueRelative:this.#s()},bubbles:!0,composed:!0})),this.#d(a)):this.#f(a)}#d(e){this.#a!==void 0&&clearTimeout(this.#a),this.#a=window.setTimeout(()=>{this.#f(e),this.#a=void 0},150)}#f(e){this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value,valueRelative:this.#s(),previousValue:e},bubbles:!0,composed:!0}))}#p;#m;#h;#g;#_(e,n){this.#u(cE(this.#s()+e,0,1),n)}_applyWheelDelta(e,n){let r=this.max-this.min,i=px(r,this.stops,this.step,n.shiftKey);this.#_(-e*i/r,!0)}#v(){let e=rE(this.radius,this.flatten,uE),n=this.#T(`--dial-border-width`,2),r=getComputedStyle(this).getPropertyValue(`--dial-border-color`).trim()||`var(--surface-4)`;return s`<path class="dial-border" d="${e}" fill="none" stroke="${r}" stroke-width="${n}" stroke-linecap="round" vector-effect="non-scaling-stroke" />`}#y(){let e=rE(this.radius,this.flatten,uE),n=getComputedStyle(this).getPropertyValue(`--dial-fill`).trim()||`transparent`;return s`<path class="dial-fill" d="${e}" fill="${n}" />`}#b(){let{startAngle:e,endAngle:n,clockwise:r}=aE(this.#s(),this.valueMode,this.flatten),i=iE(e,n,this.radius,uE,r);return i?s`<path class="wedge" d="${i}" />`:s``}#x(e){let n=``;if(e.type===`fixed`)n=rE(this.radius-e.offset*this.radius,this.flatten,uE);else if(e.type===`anchored`){let{startAngle:r,endAngle:i}=tE(this.#s(),e.value,this.valueMode,this.flatten);n=nE(r,i,this.radius-e.offset*this.radius,uE)}else{let{startAngle:r,endAngle:i}=eE(e.value,this.valueMode,this.flatten);n=nE(r,i,this.radius-e.offset*this.radius,uE)}return n?s`
|
|
9434
9442
|
<path
|
|
9435
9443
|
class="lane"
|
|
9436
9444
|
data-lane-key="${e.key}"
|
|
@@ -9610,7 +9618,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9610
9618
|
stroke-width: var(--midpoint-border-width, 0);
|
|
9611
9619
|
vector-effect: non-scaling-stroke;
|
|
9612
9620
|
}
|
|
9613
|
-
`]}};E([d({type:Number})],dE.prototype,`radius`,null),E([d({type:Number})],dE.prototype,`value`,void 0),E([d({type:Number})],dE.prototype,`min`,void 0),E([d({type:Number})],dE.prototype,`max`,void 0),E([d({type:Number})],dE.prototype,`step`,void 0),E([d({type:Number})],dE.prototype,`stops`,void 0),E([d({type:String,attribute:`value-mode`})],dE.prototype,`valueMode`,void 0),E([d({type:Number})],dE.prototype,`flatten`,void 0),E([d({type:String,attribute:`marker-style`})],dE.prototype,`markerStyle`,void 0),E([d({type:Boolean})],dE.prototype,`wedge`,void 0),E([d({type:Boolean,reflect:!0})],dE.prototype,`disabled`,void 0),dE=E([T(`ixfx-radial-input`)],dE);let fE=class extends
|
|
9621
|
+
`]}};E([d({type:Number})],dE.prototype,`radius`,null),E([d({type:Number})],dE.prototype,`value`,void 0),E([d({type:Number})],dE.prototype,`min`,void 0),E([d({type:Number})],dE.prototype,`max`,void 0),E([d({type:Number})],dE.prototype,`step`,void 0),E([d({type:Number})],dE.prototype,`stops`,void 0),E([d({type:String,attribute:`value-mode`})],dE.prototype,`valueMode`,void 0),E([d({type:Number})],dE.prototype,`flatten`,void 0),E([d({type:String,attribute:`marker-style`})],dE.prototype,`markerStyle`,void 0),E([d({type:Boolean})],dE.prototype,`wedge`,void 0),E([d({type:Boolean,reflect:!0})],dE.prototype,`disabled`,void 0),dE=E([T(`ixfx-radial-input`)],dE);let fE=class extends Mg{constructor(...e){super(...e),this.inputSelector=`ixfx-radial-input`,this.max=100,this.step=1,this.radius=45,this.flatten=.3,this.markerStyle=`needle`,this.wedge=!1,this.valueMode=`range`,this.tooltip=!1,this.flip=!1,this.aspectRatioThreshold=1.5,this.lighttouch=!1,this._isWide=!1}_getEffectivePrecision(){if(this.hasAttribute(`precision`))return this.precision;if(this.step!==void 0){let e=String(this.step).split(`.`)[1];return e?e.length:0}return this.max-this.min>10?0:2}_handleResize(e){super._handleResize(e);let{width:n,height:r}=e[0].contentRect;this._isWide=r>0&&n/r>=this.aspectRatioThreshold}_renderEditableNumber(){if(this._isMini)return a;let e=Math.max(this.label?.length??0,3)+1;return i`
|
|
9614
9622
|
<ixfx-editable-number
|
|
9615
9623
|
class="number"
|
|
9616
9624
|
mode="label"
|
|
@@ -9722,7 +9730,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9722
9730
|
height: 100%;
|
|
9723
9731
|
}
|
|
9724
9732
|
`]}};E([d({type:Number})],fE.prototype,`radius`,void 0),E([d({type:Number})],fE.prototype,`flatten`,void 0),E([d({type:String,attribute:`marker-style`})],fE.prototype,`markerStyle`,void 0),E([d({type:Boolean})],fE.prototype,`wedge`,void 0),E([d({type:String,attribute:`value-mode`})],fE.prototype,`valueMode`,void 0),E([d({type:Boolean})],fE.prototype,`tooltip`,void 0),E([d({type:Boolean})],fE.prototype,`flip`,void 0),E([d({type:Number,attribute:`aspect-ratio-threshold`})],fE.prototype,`aspectRatioThreshold`,void 0),E([d({type:Boolean})],fE.prototype,`lighttouch`,void 0),E([m()],fE.prototype,`_isWide`,void 0),fE=E([T(`ixfx-labelled-radial-input`)],fE);function pE(e,n=24,r=5,i=5){let a=r,o=100-i;return{trackStart:a,trackEnd:o,centre:(a+o)/2,cross:n,crossCentre:n/2}}function mE(e,n,r,i){let a=r.trackEnd-r.trackStart,o=r.centre,s=r.crossCentre,c;if(n===`range`)c=r.trackStart+e*a;else if(n===`bipolar`){if(e<=.5){let n=e/.5;c=r.trackStart+n*(o-r.trackStart)}else c=o+(e-.5)/.5*(r.trackEnd-o)}else c=o+e*a/2;return i===`horizontal`?{x:c,y:s}:{x:s,y:100-c}}function hE(e,n,r,i,a){if(r===`unipolar`){let e=i.trackEnd-i.trackStart,r=i.centre,o=i.crossCentre,s=n*e/2;return a===`horizontal`?{start:{x:r-s,y:o},end:{x:r+s,y:o}}:{start:{x:o,y:r-s},end:{x:o,y:r+s}}}return{start:mE(e,r,i,a),end:mE(n,r,i,a)}}function gE(e,n,r,i,a){let o=n*(i.trackEnd-i.trackStart)/2,s=r===`unipolar`?a===`horizontal`?{x:i.centre,y:i.crossCentre}:{x:i.crossCentre,y:i.centre}:mE(e,r,i,a),c,l;return a===`horizontal`?(c=s.x-o,l=s.x+o):(c=s.y-o,l=s.y+o),{start:a===`horizontal`?{x:c,y:s.y}:{x:s.x,y:c},end:a===`horizontal`?{x:l,y:s.y}:{x:s.x,y:l}}}function _E(e,n){return Math.abs(e.x-n.x)<.001&&Math.abs(e.y-n.y)<.001?``:`M ${e.x} ${e.y} L ${n.x} ${n.y}`}function vE(e,n,r){return Math.min(Math.max(e,n),r)}function yE(e,n,r,i,a){return r===n?i:i+(e-n)/(r-n)*(a-i)}function bE(e,n,r){return yE(e,n,r,0,1)}const xE=.06;function SE(e){let n=0,r=()=>{for(;n<e.length;){let r=e[n];if(r!==` `&&r!==` `&&r!==`
|
|
9725
|
-
`&&r!==`\r`)break;n++}};function i(){r();let i=/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i.exec(e.slice(n));if(i)return n+=i[0].length,Number.parseFloat(i[0])}function a(){r();let o=e[n];if(o===`+`||o===`-`){n++;let e=a();return e===void 0?void 0:o===`-`?-e:e}if(o===`(`){n++;let i=s();return i===void 0||(r(),e[n]!==`)`)?void 0:(n++,i)}return i()}function o(){let i=a();if(i!==void 0)for(;;){r();let o=e[n];if(o!==`*`&&o!==`/`)return i;n++;let s=a();if(s===void 0)return;i=o===`*`?i*s:i/s}}function s(){let i=o();if(i!==void 0)for(;;){r();let a=e[n];if(a!==`+`&&a!==`-`)return i;n++;let s=o();if(s===void 0)return;i=a===`+`?i+s:i-s}}let c=s();if(c!==void 0)return r(),n===e.length?c:void 0}let CE=class extends px(n){#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;constructor(){super(),this.valueA=50,this.valueB=0,this.valueC=void 0,this.min=0,this.max=100,this.step=void 0,this.stops=void 0,this.valueMode=`single`,this.singleStyle=`range`,this.orientation=`horizontal`,this.markerStyle=`needle`,this.markerStyleC=void 0,this.crossover=`allow`,this.valueDrag=`none`,this.valueCFollow=`none`,this.valueMin=1,this.disabled=!1,this.swipeable=!1,this.#e=new Map,this.#t=50,this.#n=0,this.#r=void 0,this.#i=!1,this.#a=void 0,this.#o=0,this.#s=0,this.#c=void 0,this.#l=void 0,this.#u=void 0,this.#d=void 0,this.#f=0,this.#p=0,this.#m=0,this.#h=`a`,this.#g={x:0,y:0},this.#_=void 0,this.#v=!1,this.#y=!1,this.#C=()=>{let e=this.getBoundingClientRect(),n=this.orientation===`vertical`?e.width:e.height,r=this.orientation===`vertical`?e.height:e.width;(n!==this.#$||r!==this.#ee)&&this.requestUpdate()},this.#w=e=>{this.#be(e)},this.#E=()=>{let e=this.querySelectorAll(`linearGradient, radialGradient`);if(e.length===0)return;let n=this.#T();for(let r of e)n.append(r)},this.#q=24,this.#J=5,this.#Y=5,this.#Q=0,this.#$=0,this.#ee=0,this.#pe=e=>{!this.swipeable||this.disabled||(e.preventDefault(),this.#fe(e))},this.#me=e=>{!this.swipeable||this.disabled||e.buttons===0||this.#fe(e)},this.#he=e=>{!this.swipeable||this.disabled||e.buttons===0||this.#fe(e)},this.#ge=e=>{if(this.disabled||this.swipeable)return;let n=this.renderRoot.querySelector(`svg.slider-svg`);if(!n)return;e.preventDefault(),this.focus(),n.style.cursor=`grabbing`;let r=this.orientation===`vertical`?e.clientY:e.clientX,i=this.#le(r);if(this.valueMode===`single`&&this.singleStyle===`unipolar`&&(i=Math.abs(2*i-1)),this.valueMode===`single`){this.#h=`a`,this.#c=`a`,this.#I(i,!0),this.#i=!0,this.toggleAttribute(`dragging`,!0),this.#a=e.pointerId;try{n.setPointerCapture(e.pointerId)}catch{}this.#o=r,this.#s=this.valueA,window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye);return}let a=this.#D(),o=this.#O(),s=Math.min(a,o),c=Math.max(a,o),l=this.#t<=this.#n?`a`:`b`,u=this.#t>this.#n?`a`:`b`,d=a,f=o,p=this.valueMode===`triple`,m=p?this.#k():0,h=Math.abs(i-d)<xE,g=Math.abs(i-f)<xE,_=p&&Math.abs(i-m)<xE,v,y=e=>e.find(e=>e!==this.#h)??e[0];v=h&&g&&_?y([l,u,`c`]):h&&g?y([l,u]):h&&_?y([l,`c`]):g&&_?y([u,`c`]):h?l:g?u:_?`c`:this.valueDrag!==`none`&&i>s&&i<c?`length`:this.valueDrag===`none`&&i<=s?this.#M():this.valueDrag===`none`&&i>=c?this.#N():void 0,this.#i=!0,this.toggleAttribute(`dragging`,!0),this.#a=e.pointerId;try{n.setPointerCapture(e.pointerId)}catch{}if(this.#o=r,v===void 0){window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye);return}this.#c=v,v===`length`?(this.#l={poleA:this.#t,poleB:this.#n},this.#u=this.#M(),this.#d=this.#N(),this.#f=this.#n-this.#t<0?this.#t-this.#n:this.#n-this.#t,this.#p=Math.min(this.#t,this.#n),this.#m=i):(this.#h=v,this.#s=v===`a`?this.#t:this.#n,this.#L(i,v,!0)),window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye)},this.#_e=e=>{if(!this.#i)return;e.preventDefault();let n=this.orientation===`vertical`?e.clientY:e.clientX,r=this.#le(n);if(this.valueMode===`single`&&this.singleStyle===`unipolar`&&(r=Math.abs(2*r-1)),this.valueMode===`single`){this.#I(r,!0);return}this.#c===`length`?this.#ve(r):this.#c&&this.#L(r,this.#c,!0)},this.#ye=()=>{this.#i=!1,this.#c=void 0,this.#l=void 0,this.#u=void 0,this.#d=void 0,this.toggleAttribute(`dragging`,!1),this.#Ne(new PointerEvent(`pointermove`,{clientX:this.#g.x,clientY:this.#g.y}));let e=this.renderRoot.querySelector(`svg.slider-svg`);if(e&&this.#a!==void 0&&`hasPointerCapture`in e&&typeof e.hasPointerCapture==`function`&&e.hasPointerCapture.call(e,this.#a))try{e.releasePointerCapture(this.#a)}catch{}this.#a=void 0,window.removeEventListener(`pointermove`,this.#_e),window.removeEventListener(`pointerup`,this.#ye),window.removeEventListener(`pointercancel`,this.#ye)},this.#be=e=>{if(this.disabled)return;let n=this.max-this.min,r=fx(n,this.stops,this.step,e.shiftKey),i=`a`,a=e.target;if(a&&typeof a.closest==`function`){let e=a.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(i=n)}}this.valueMode===`single`&&(i=`a`),this.#h=i;let o=!1;switch(e.key){case`ArrowUp`:case`ArrowRight`:if(this.valueMode===`single`){let e=this.#D()+r/n;this.#I(vE(e,0,1),!0)}else{let e=bE(i===`a`?this.#t:i===`b`?this.#n:this.#r??this.#A(),this.min,this.max)+r/n;this.#xe(i,e)}o=!0;break;case`ArrowDown`:case`ArrowLeft`:if(this.valueMode===`single`){let e=this.#D()-r/n;this.#I(vE(e,0,1),!0)}else{let e=bE(i===`a`?this.#t:i===`b`?this.#n:this.#r??this.#A(),this.min,this.max)-r/n;this.#xe(i,e)}o=!0;break;case`Home`:this.valueMode===`single`?this.#I(0,!0):this.#xe(i,0),o=!0;break;case`End`:this.valueMode===`single`?this.#I(1,!0):this.#xe(i,1),o=!0}o&&e.preventDefault()},this.#Se=e=>{let n=e.target;if(n&&typeof n.closest==`function`){let e=n.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(this.#h=n)}}},this.#Ne=e=>{let n=this.renderRoot.querySelector(`svg.slider-svg`);if(!n)return;this.#g={x:e.clientX,y:e.clientY};let r=this.orientation===`vertical`?e.clientY:e.clientX,i=this.#le(r),a=this.#Me(i);n.style.cursor!==a&&(n.style.cursor=a)},this.#Pe=()=>{let e=this.renderRoot.querySelector(`svg.slider-svg`);if(!e)return;let n=this.disabled?`not-allowed`:`default`;e.style.cursor!==n&&(e.style.cursor=n)},this.disabled||this.setAttribute(`tabindex`,`0`),this.#e.set(`track`,{key:`track`,value:1,type:`fixed`,offset:0,width:.16}),this.#e.set(`value`,{key:`value`,valueMin:0,valueMax:0,type:`value`,offset:0,width:.24})}connectedCallback(){super.connectedCallback(),this.setAttribute(`tabindex`,this.disabled?`-1`:`0`),this.addEventListener(`keydown`,this.#w),this.addEventListener(`pointerdown`,this.#pe),this.addEventListener(`pointermove`,this.#me),this.addEventListener(`pointerenter`,this.#he),this.#E(),this.#x=new MutationObserver(this.#E),this.#x.observe(this,{childList:!0,subtree:!0}),this.#S=new ResizeObserver(this.#C),this.#S.observe(this)}#C;#w;#T(){if(this.#b)return this.#b;let e=`http://www.w3.org/2000/svg`,n=document.createElementNS(e,`svg`);n.setAttribute(`width`,`0`),n.setAttribute(`height`,`0`),n.setAttribute(`aria-hidden`,`true`),n.style.cssText=`position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none;`;let r=document.createElementNS(e,`defs`);return n.append(r),this.renderRoot.append(n),this.#b=r,r}#E;addLane(e,n){let r=this.#D();this.#e.set(e,{key:e,value:n?.value??r,valueMin:n?.valueMin??0,valueMax:n?.valueMax??r,type:n?.type??`value`,offset:n?.offset??0,width:n?.width??.1}),this.requestUpdate()}setLaneValue(e,n){let r=this.#e.get(e);r&&(r.value=vE(n,0,1),this.requestUpdate())}setLaneRange(e,n,r){let i=this.#e.get(e);if(!i)return;let a=vE(Math.min(n,r),0,1),o=vE(Math.max(n,r),0,1);i.valueMin=a,i.valueMax=o,this.requestUpdate()}removeLane(e){this.#e.delete(e),this.requestUpdate()}getLanes(){return new Map(this.#e)}getLane(e){return this.#e.get(e)}#D(){return bE(this.valueA,this.min,this.max)}#O(){return bE(this.valueB,this.min,this.max)}#k(){return bE(this.valueC??(this.#t+this.#n)/2,this.min,this.max)}#A(){return Math.min(this.#t,this.#n)}#j(){return Math.max(this.#t,this.#n)}#M(){return this.#t<=this.#n?`a`:`b`}#N(){return this.#t>this.#n?`a`:`b`}#P(){let e=this.max-this.min;return this.valueMin&&this.valueMin>0?this.valueMin:e*.01}#F(e){if(this.stops&&this.stops>1){let n=(this.max-this.min)/this.stops;return vE(Math.round((e-this.min)/n)*n+this.min,this.min,this.max)}return this.step!==void 0&&this.step>0?vE(Math.round((e-this.min)/this.step)*this.step+this.min,this.min,this.max):e}#I(e,n=!1){let r=yE(e,0,1,this.min,this.max),i=this.#F(vE(r,this.min,this.max));if(i===this.valueA)return;let a=this.valueA;this.valueA=i,this.#t=i,this.#v=n;let o=this.#e.get(`value`);if(o&&o.type===`value`&&this.#je(o,this.#D()),this.hasAttribute(`data-tooltip-live`)){let e=Math.round(this.#D()*100);this.setAttribute(`data-tooltip`,`${e}%`)}this.#H({previousValue:a},n)}#L(e,n,r=!1){let i=vE(yE(e,0,1,this.min,this.max),this.min,this.max),a=this.#B(n,i,this.#h);if(!a)return;let o={...this.#R()};this.#t=a.poleA,this.#n=a.poleB,a.poleC!==void 0&&(this.#r=a.poleC),this.#z();let s=this.#V(o,this.#R());this.#v=r;let c=this.#e.get(`value`);if(c&&c.type===`value`&&(c.valueMin=bE(this.#A(),this.min,this.max),c.valueMax=bE(this.#j(),this.min,this.max)),this.hasAttribute(`data-tooltip-live`)){let e=Math.round(bE(this.#j(),this.min,this.max)*100);this.setAttribute(`data-tooltip`,`${e}%`)}this.#H({previousValue:Math.max(o.poleA,o.poleB),previousValueMin:Math.min(o.poleA,o.poleB),previousValueMax:Math.max(o.poleA,o.poleB),previousValueC:o.poleC},r,s)}#R(){return{poleA:this.#t,poleB:this.#n,poleC:this.#r}}#z(){this.valueA=this.#t,this.valueB=this.#n,this.valueMode===`triple`&&this.#r!==void 0&&(this.valueC=this.#r,this.#y=!0)}#B(e,n,r){let i=this.#t,a=this.#n,o=this.#r;if(this.valueMode===`triple`&&e===`c`){let e=vE(n,this.#A(),this.#j()),r=this.#F(e);return r===this.#r?null:{poleA:i,poleB:a,poleC:r}}let s=this.#P(),c=e===`a`?a:i,l=this.#F(vE(n,this.min,this.max));if(this.crossover===`none`?l=(e===`a`?i:a)<=c?Math.min(l,c-s):Math.max(l,c+s):l>c-s&&l<c+s&&(l=Math.abs(l-(c-s))<=Math.abs(l-(c+s))?c-s:c+s),l=vE(l,this.min,this.max),e===`a`){if(l===i)return null;i=l}else{if(l===a)return null;a=l}if(this.valueMode===`triple`&&o!==void 0){let e=Math.min(this.#t,this.#n),n=Math.max(this.#t,this.#n),r=Math.min(i,a),s=Math.max(i,a);this.valueCFollow===`proportional`&&n>e?o=r+vE((o-e)/(n-e),0,1)*(s-r):(o<r&&(o=r),o>s&&(o=s))}return{poleA:i,poleB:a,poleC:o}}#V(e,n){let r=e.poleA!==n.poleA,i=e.poleB!==n.poleB,a=e.poleC!==n.poleC;return this.valueMode===`triple`?r&&i&&!a||r&&i?`both`:r?`min`:i?`max`:a?`c`:`min`:r&&i?`both`:r?`min`:i?`max`:`min`}#H(e,n,r){let i=this.#U(r),a=this.#W(e,r);n?(this.dispatchEvent(new CustomEvent(`input`,{detail:i,bubbles:!0,composed:!0})),this.#G(a)):this.#K(a)}#U(e){if(this.valueMode===`single`)return{value:this.valueA,valueRelative:this.#D()};let n=this.#A(),r=this.#j(),i=bE(n,this.min,this.max),a=bE(r,this.min,this.max);return this.valueMode===`triple`&&this.#r!==void 0?{value:r,valueRelative:a,valueMin:n,valueMax:r,valueMinRelative:i,valueMaxRelative:a,valueC:this.#r,valueCRelative:bE(this.#r,this.min,this.max),changed:e}:{value:r,valueRelative:a,valueMin:n,valueMax:r,valueMinRelative:i,valueMaxRelative:a,changed:e}}#W(e,n){if(this.valueMode===`single`)return{value:this.valueA,valueRelative:this.#D(),previousValue:e.previousValue};let r=this.#A(),i=this.#j(),a=bE(i,this.min,this.max);return this.valueMode===`triple`&&this.#r!==void 0?{value:i,valueRelative:a,previousValue:e.previousValue,valueMin:r,valueMax:i,previousValueMin:e.previousValueMin??r,previousValueMax:e.previousValueMax??i,valueC:this.#r,previousValueC:e.previousValueC??this.#r,changed:n}:{value:i,valueRelative:a,previousValue:e.previousValue,valueMin:r,valueMax:i,previousValueMin:e.previousValueMin??r,previousValueMax:e.previousValueMax??i,changed:n}}#G(e){this.#_!==void 0&&clearTimeout(this.#_),this.#_=window.setTimeout(()=>{this.#K(e),this.#_=void 0},150)}#K(e){this.dispatchEvent(new CustomEvent(`change`,{detail:e,bubbles:!0,composed:!0}))}#q;#J;#Y;#X(e,n){let r=getComputedStyle(this),i=e=>{let n=e.trim();if(!n)return;let r=Number.parseFloat(n);return Number.isNaN(r)?void 0:r},a=i(r.getPropertyValue(`--lane-${e}-width`));if(a!==void 0)return a;if(e===`value`){let e=i(r.getPropertyValue(`--lane-track-width`));return e===void 0?n:e}if(e!==`track`){let e=i(r.getPropertyValue(`--lane-width`));if(e!==void 0)return e}return n}#Z(e){let n=e===`track`?.08:e===`value`?.12:.16;return this.#X(e,n)*this.#$}#Q;#$;#ee;#te(){let e=this.getBoundingClientRect(),n=this.orientation===`vertical`?e.width:e.height;if(this.#$=n,this.#ee=this.orientation===`vertical`?e.height:e.width,e.width<=0||e.height<=0){this.#Q=0;return}let r=0;for(let e of this.#e.values()){let i=e.key===`track`?.08:e.key===`value`?.12:.16;r=Math.max(r,Math.abs(this.#X(e.key,i))*n)}this.#Q=r}#ne(){return this.#$<=0?Math.abs(this.#ue(`--marker-thickness`,.15))/2:this.#re()/this.#$}#re(){let e=Math.abs(this.#ue(`--marker-thickness`,.15));return this.#$<=0?0:Math.max(e*this.#$/2,this.#Q/2+1)}#ie(e,n){let r=this.#ee,i=this.#$;if(r<=0||i<=0||n<=0)return{rx:e,ry:e};let a=r/100,o=i/n;return this.orientation===`vertical`?{rx:e/o,ry:e/a}:{rx:e/a,ry:e/o}}#ae(){return this.valueMode===`single`?[this.markerStyle]:this.valueMode===`triple`&&this.markerStyleC?[...new Set([this.markerStyle,this.markerStyleC])]:[this.markerStyle]}#oe(){let e=0;for(let n of this.#e.values()){let r=n.key===`track`?.08:n.key===`value`?.12:.16,i=this.#X(n.key,r);e=Math.max(e,Math.abs(i)/2+Math.abs(n.offset)/2)}let n=Math.abs(this.#ue(`--marker-offset`,0)),r=Math.abs(this.#ue(`--marker-length`,.8)),i=e=>e===`none`?0:e===`dot`?this.#ne()+n/2:r/4+n/2;for(let n of this.#ae())e=Math.max(e,i(n));if(this.valueMode===`single`&&(this.singleStyle===`bipolar`||this.singleStyle===`unipolar`)){let n=Math.abs(this.#ue(`--midpoint-length`,.15));e=Math.max(e,n/4)}let a=Math.abs(this.#ue(`--track-width`,2));return e=Math.max(e,a/2/24),Math.min(e,.45)}#se(){return vE(2/(.5-this.#oe()),4,40)}#ce(e){let n=Math.abs(this.#ue(`--marker-thickness`,.15)),r=this.#ee>0?this.#re()*100/this.#ee:this.#ne()*e,i=0;for(let a of this.#ae())a===`dot`?i=Math.max(i,r):a===`triangle`&&(i=Math.max(i,n*e/4));let a=vE(i+1.5,1,5),o=Math.max(0,this.#ue(`--track-margin`,0)),s=Math.max(0,this.#ue(`--track-margin-start`,o)),c=Math.max(0,this.#ue(`--track-margin-end`,o)),l=a+s,u=a+c;if(l+u>90&&l+u>0){let e=90/(l+u);l*=e,u*=e}return{start:l,end:u}}#le(e){let n=this.getBoundingClientRect(),r=this.orientation===`vertical`,i=r?n.top:n.left,a=r?n.height:n.width;if(a<=0)return 0;let o=i+a*this.#J/100,s=a*(100-this.#J-this.#Y)/100;if(s<=0)return 0;let c=vE((e-o)/s,0,1);return r?1-c:c}#ue(e,n){let r=getComputedStyle(this),i=r.getPropertyValue(e).trim();if(!i)return n;if(i.includes(`calc(`)){let e=r.getPropertyValue(`--value-relative`).trim();if(!e){let e=Number.parseFloat(i.replace(/[^0-9.-]/g,``));return Number.isNaN(e)?n:e}let a=SE(i.replace(/var\(--value-relative\)/g,e).replace(/calc\s*\(([^)]+)\)/g,`$1`));if(a!==void 0)return Number.isNaN(a)?n:a;let o=Number.parseFloat(i.replace(/[^0-9.-]/g,``));return Number.isNaN(o)?n:o}let a=Number.parseFloat(i);return Number.isNaN(a)?n:a}#de(e){let n=this.orientation===`vertical`?e.clientY:e.clientX,r=this.#le(n);return this.valueMode===`single`&&this.singleStyle===`unipolar`?Math.abs(2*r-1):r}#fe(e){this.focus();let n=this.#de(e);if(this.valueMode===`single`){this.#h=`a`,this.#I(n,!0);return}let r=this.#D(),i=this.#O(),a=Math.abs(n-r)<=Math.abs(n-i)?`a`:`b`;if(this.valueMode===`triple`){let e=this.#k(),o=Math.abs(n-r),s=Math.abs(n-i),c=Math.abs(n-e);a=o<=s&&o<=c?`a`:s<=c?`b`:`c`}this.#h=a===`a`||a===`b`?a:`c`,this.#L(n,a,!0)}#pe;#me;#he;#ge;#_e;#ve(e){if(!this.#l)return;let n=this.max-this.min,r=(e-this.#m)*n,i=this.#p+r,a=i+this.#f;if(this.valueDrag===`stop`){let e=this.#f,n=i,r=i+e;if(n<this.min){let i=this.min-this.#p;n=this.#p+i,r=n+e}if(r>this.max){let e=this.max-r;n+=e,r+=e}i=n,a=r}else this.valueDrag===`flex`&&(i=vE(i,this.min,this.max),a=vE(a,this.min,this.max));let o=this.#u??this.#M(),s=this.#d??this.#N(),c=this.#R(),l=o===`a`?i:a,u=s===`b`?a:i;if(this.#t=l,this.#n=u,this.valueMode===`triple`&&this.#r!==void 0){let e=Math.min(c.poleA,c.poleB),n=Math.max(c.poleA,c.poleB),r=Math.min(l,u),i=Math.max(l,u);if(this.valueCFollow===`proportional`&&n>e){let a=vE((this.#r-e)/(n-e),0,1);this.#r=r+a*(i-r)}else this.#r<r&&(this.#r=r),this.#r>i&&(this.#r=i)}this.#z(),this.#v=!0;let d=this.#e.get(`value`);d&&d.type===`value`&&(d.valueMin=bE(this.#A(),this.min,this.max),d.valueMax=bE(this.#j(),this.min,this.max)),this.#H({previousValue:c.poleA,previousValueMin:Math.min(c.poleA,c.poleB),previousValueMax:Math.max(c.poleA,c.poleB),previousValueC:c.poleC},!0,`both`)}#ye;#be;#xe(e,n){if(this.valueMode===`single`){this.#I(vE(n,0,1),!0);return}if(e===`c`){let e=this.#A(),r=this.#j(),i=vE(yE(vE(n,0,1),0,1,this.min,this.max),e,r),a=this.#F(i);if(a===this.#r)return;let o=this.#R();this.#r=a,this.#z(),this.#v=!0,this.#H({previousValue:o.poleA,previousValueMin:Math.min(o.poleA,o.poleB),previousValueMax:Math.max(o.poleA,o.poleB),previousValueC:o.poleC},!0,`c`);return}this.#L(vE(n,0,1),e,!0)}_applyWheelDelta(e,n){let r=this.#h,i=n.target;if(i&&typeof i.closest==`function`){let e=i.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(r=n)}}this.valueMode===`single`&&(r=`a`),this.#h=r;let a=this.max-this.min,o=fx(a,this.stops,this.step,n.shiftKey),s=vE(bE(r===`a`?this.#t:r===`b`?this.#n:this.#r??this.#A(),this.min,this.max)-e*o/a,0,1);this.#xe(r,s)}#Se;#Ce(){let e=this.#q;return this.orientation===`horizontal`?`0 0 100 ${e}`:`0 0 ${e} 100`}#we(){let e=this.orientation===`vertical`,n=this.#q,r=this.#J,i=this.#Y,a=this.#ue(`--track-width`,2),o=this.#Te(`--track-color`,`var(--surface-4)`),c=this.#Te(`--track-fill`,`transparent`);return e?s`
|
|
9733
|
+
`&&r!==`\r`)break;n++}};function i(){r();let i=/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i.exec(e.slice(n));if(i)return n+=i[0].length,Number.parseFloat(i[0])}function a(){r();let o=e[n];if(o===`+`||o===`-`){n++;let e=a();return e===void 0?void 0:o===`-`?-e:e}if(o===`(`){n++;let i=s();return i===void 0||(r(),e[n]!==`)`)?void 0:(n++,i)}return i()}function o(){let i=a();if(i!==void 0)for(;;){r();let o=e[n];if(o!==`*`&&o!==`/`)return i;n++;let s=a();if(s===void 0)return;i=o===`*`?i*s:i/s}}function s(){let i=o();if(i!==void 0)for(;;){r();let a=e[n];if(a!==`+`&&a!==`-`)return i;n++;let s=o();if(s===void 0)return;i=a===`+`?i+s:i-s}}let c=s();if(c!==void 0)return r(),n===e.length?c:void 0}let CE=class extends mx(n){#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;constructor(){super(),this.valueA=50,this.valueB=0,this.valueC=void 0,this.min=0,this.max=100,this.step=void 0,this.stops=void 0,this.valueMode=`single`,this.singleStyle=`range`,this.orientation=`horizontal`,this.markerStyle=`needle`,this.markerStyleC=void 0,this.crossover=`allow`,this.valueDrag=`none`,this.valueCFollow=`none`,this.valueMin=1,this.disabled=!1,this.swipeable=!1,this.#e=new Map,this.#t=50,this.#n=0,this.#r=void 0,this.#i=!1,this.#a=void 0,this.#o=0,this.#s=0,this.#c=void 0,this.#l=void 0,this.#u=void 0,this.#d=void 0,this.#f=0,this.#p=0,this.#m=0,this.#h=`a`,this.#g={x:0,y:0},this.#_=void 0,this.#v=!1,this.#y=!1,this.#C=()=>{let e=this.getBoundingClientRect(),n=this.orientation===`vertical`?e.width:e.height,r=this.orientation===`vertical`?e.height:e.width;(n!==this.#$||r!==this.#ee)&&this.requestUpdate()},this.#w=e=>{this.#be(e)},this.#E=()=>{let e=this.querySelectorAll(`linearGradient, radialGradient`);if(e.length===0)return;let n=this.#T();for(let r of e)n.append(r)},this.#q=24,this.#J=5,this.#Y=5,this.#Q=0,this.#$=0,this.#ee=0,this.#pe=e=>{!this.swipeable||this.disabled||(e.preventDefault(),this.#fe(e))},this.#me=e=>{!this.swipeable||this.disabled||e.buttons===0||this.#fe(e)},this.#he=e=>{!this.swipeable||this.disabled||e.buttons===0||this.#fe(e)},this.#ge=e=>{if(this.disabled||this.swipeable)return;let n=this.renderRoot.querySelector(`svg.slider-svg`);if(!n)return;e.preventDefault(),this.focus(),n.style.cursor=`grabbing`;let r=this.orientation===`vertical`?e.clientY:e.clientX,i=this.#le(r);if(this.valueMode===`single`&&this.singleStyle===`unipolar`&&(i=Math.abs(2*i-1)),this.valueMode===`single`){this.#h=`a`,this.#c=`a`,this.#I(i,!0),this.#i=!0,this.toggleAttribute(`dragging`,!0),this.#a=e.pointerId;try{n.setPointerCapture(e.pointerId)}catch{}this.#o=r,this.#s=this.valueA,window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye);return}let a=this.#D(),o=this.#O(),s=Math.min(a,o),c=Math.max(a,o),l=this.#t<=this.#n?`a`:`b`,u=this.#t>this.#n?`a`:`b`,d=a,f=o,p=this.valueMode===`triple`,m=p?this.#k():0,h=Math.abs(i-d)<xE,g=Math.abs(i-f)<xE,_=p&&Math.abs(i-m)<xE,v,y=e=>e.find(e=>e!==this.#h)??e[0];v=h&&g&&_?y([l,u,`c`]):h&&g?y([l,u]):h&&_?y([l,`c`]):g&&_?y([u,`c`]):h?l:g?u:_?`c`:this.valueDrag!==`none`&&i>s&&i<c?`length`:this.valueDrag===`none`&&i<=s?this.#M():this.valueDrag===`none`&&i>=c?this.#N():void 0,this.#i=!0,this.toggleAttribute(`dragging`,!0),this.#a=e.pointerId;try{n.setPointerCapture(e.pointerId)}catch{}if(this.#o=r,v===void 0){window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye);return}this.#c=v,v===`length`?(this.#l={poleA:this.#t,poleB:this.#n},this.#u=this.#M(),this.#d=this.#N(),this.#f=this.#n-this.#t<0?this.#t-this.#n:this.#n-this.#t,this.#p=Math.min(this.#t,this.#n),this.#m=i):(this.#h=v,this.#s=v===`a`?this.#t:this.#n,this.#L(i,v,!0)),window.addEventListener(`pointermove`,this.#_e),window.addEventListener(`pointerup`,this.#ye),window.addEventListener(`pointercancel`,this.#ye)},this.#_e=e=>{if(!this.#i)return;e.preventDefault();let n=this.orientation===`vertical`?e.clientY:e.clientX,r=this.#le(n);if(this.valueMode===`single`&&this.singleStyle===`unipolar`&&(r=Math.abs(2*r-1)),this.valueMode===`single`){this.#I(r,!0);return}this.#c===`length`?this.#ve(r):this.#c&&this.#L(r,this.#c,!0)},this.#ye=()=>{this.#i=!1,this.#c=void 0,this.#l=void 0,this.#u=void 0,this.#d=void 0,this.toggleAttribute(`dragging`,!1),this.#Ne(new PointerEvent(`pointermove`,{clientX:this.#g.x,clientY:this.#g.y}));let e=this.renderRoot.querySelector(`svg.slider-svg`);if(e&&this.#a!==void 0&&`hasPointerCapture`in e&&typeof e.hasPointerCapture==`function`&&e.hasPointerCapture.call(e,this.#a))try{e.releasePointerCapture(this.#a)}catch{}this.#a=void 0,window.removeEventListener(`pointermove`,this.#_e),window.removeEventListener(`pointerup`,this.#ye),window.removeEventListener(`pointercancel`,this.#ye)},this.#be=e=>{if(this.disabled)return;let n=this.max-this.min,r=px(n,this.stops,this.step,e.shiftKey),i=`a`,a=e.target;if(a&&typeof a.closest==`function`){let e=a.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(i=n)}}this.valueMode===`single`&&(i=`a`),this.#h=i;let o=!1;switch(e.key){case`ArrowUp`:case`ArrowRight`:if(this.valueMode===`single`){let e=this.#D()+r/n;this.#I(vE(e,0,1),!0)}else{let e=bE(i===`a`?this.#t:i===`b`?this.#n:this.#r??this.#A(),this.min,this.max)+r/n;this.#xe(i,e)}o=!0;break;case`ArrowDown`:case`ArrowLeft`:if(this.valueMode===`single`){let e=this.#D()-r/n;this.#I(vE(e,0,1),!0)}else{let e=bE(i===`a`?this.#t:i===`b`?this.#n:this.#r??this.#A(),this.min,this.max)-r/n;this.#xe(i,e)}o=!0;break;case`Home`:this.valueMode===`single`?this.#I(0,!0):this.#xe(i,0),o=!0;break;case`End`:this.valueMode===`single`?this.#I(1,!0):this.#xe(i,1),o=!0}o&&e.preventDefault()},this.#Se=e=>{let n=e.target;if(n&&typeof n.closest==`function`){let e=n.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(this.#h=n)}}},this.#Ne=e=>{let n=this.renderRoot.querySelector(`svg.slider-svg`);if(!n)return;this.#g={x:e.clientX,y:e.clientY};let r=this.orientation===`vertical`?e.clientY:e.clientX,i=this.#le(r),a=this.#Me(i);n.style.cursor!==a&&(n.style.cursor=a)},this.#Pe=()=>{let e=this.renderRoot.querySelector(`svg.slider-svg`);if(!e)return;let n=this.disabled?`not-allowed`:`default`;e.style.cursor!==n&&(e.style.cursor=n)},this.disabled||this.setAttribute(`tabindex`,`0`),this.#e.set(`track`,{key:`track`,value:1,type:`fixed`,offset:0,width:.16}),this.#e.set(`value`,{key:`value`,valueMin:0,valueMax:0,type:`value`,offset:0,width:.24})}connectedCallback(){super.connectedCallback(),this.setAttribute(`tabindex`,this.disabled?`-1`:`0`),this.addEventListener(`keydown`,this.#w),this.addEventListener(`pointerdown`,this.#pe),this.addEventListener(`pointermove`,this.#me),this.addEventListener(`pointerenter`,this.#he),this.#E(),this.#x=new MutationObserver(this.#E),this.#x.observe(this,{childList:!0,subtree:!0}),this.#S=new ResizeObserver(this.#C),this.#S.observe(this)}#C;#w;#T(){if(this.#b)return this.#b;let e=`http://www.w3.org/2000/svg`,n=document.createElementNS(e,`svg`);n.setAttribute(`width`,`0`),n.setAttribute(`height`,`0`),n.setAttribute(`aria-hidden`,`true`),n.style.cssText=`position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none;`;let r=document.createElementNS(e,`defs`);return n.append(r),this.renderRoot.append(n),this.#b=r,r}#E;addLane(e,n){let r=this.#D();this.#e.set(e,{key:e,value:n?.value??r,valueMin:n?.valueMin??0,valueMax:n?.valueMax??r,type:n?.type??`value`,offset:n?.offset??0,width:n?.width??.1}),this.requestUpdate()}setLaneValue(e,n){let r=this.#e.get(e);r&&(r.value=vE(n,0,1),this.requestUpdate())}setLaneRange(e,n,r){let i=this.#e.get(e);if(!i)return;let a=vE(Math.min(n,r),0,1),o=vE(Math.max(n,r),0,1);i.valueMin=a,i.valueMax=o,this.requestUpdate()}removeLane(e){this.#e.delete(e),this.requestUpdate()}getLanes(){return new Map(this.#e)}getLane(e){return this.#e.get(e)}#D(){return bE(this.valueA,this.min,this.max)}#O(){return bE(this.valueB,this.min,this.max)}#k(){return bE(this.valueC??(this.#t+this.#n)/2,this.min,this.max)}#A(){return Math.min(this.#t,this.#n)}#j(){return Math.max(this.#t,this.#n)}#M(){return this.#t<=this.#n?`a`:`b`}#N(){return this.#t>this.#n?`a`:`b`}#P(){let e=this.max-this.min;return this.valueMin&&this.valueMin>0?this.valueMin:e*.01}#F(e){if(this.stops&&this.stops>1){let n=(this.max-this.min)/this.stops;return vE(Math.round((e-this.min)/n)*n+this.min,this.min,this.max)}return this.step!==void 0&&this.step>0?vE(Math.round((e-this.min)/this.step)*this.step+this.min,this.min,this.max):e}#I(e,n=!1){let r=yE(e,0,1,this.min,this.max),i=this.#F(vE(r,this.min,this.max));if(i===this.valueA)return;let a=this.valueA;this.valueA=i,this.#t=i,this.#v=n;let o=this.#e.get(`value`);if(o&&o.type===`value`&&this.#je(o,this.#D()),this.hasAttribute(`data-tooltip-live`)){let e=Math.round(this.#D()*100);this.setAttribute(`data-tooltip`,`${e}%`)}this.#H({previousValue:a},n)}#L(e,n,r=!1){let i=vE(yE(e,0,1,this.min,this.max),this.min,this.max),a=this.#B(n,i,this.#h);if(!a)return;let o={...this.#R()};this.#t=a.poleA,this.#n=a.poleB,a.poleC!==void 0&&(this.#r=a.poleC),this.#z();let s=this.#V(o,this.#R());this.#v=r;let c=this.#e.get(`value`);if(c&&c.type===`value`&&(c.valueMin=bE(this.#A(),this.min,this.max),c.valueMax=bE(this.#j(),this.min,this.max)),this.hasAttribute(`data-tooltip-live`)){let e=Math.round(bE(this.#j(),this.min,this.max)*100);this.setAttribute(`data-tooltip`,`${e}%`)}this.#H({previousValue:Math.max(o.poleA,o.poleB),previousValueMin:Math.min(o.poleA,o.poleB),previousValueMax:Math.max(o.poleA,o.poleB),previousValueC:o.poleC},r,s)}#R(){return{poleA:this.#t,poleB:this.#n,poleC:this.#r}}#z(){this.valueA=this.#t,this.valueB=this.#n,this.valueMode===`triple`&&this.#r!==void 0&&(this.valueC=this.#r,this.#y=!0)}#B(e,n,r){let i=this.#t,a=this.#n,o=this.#r;if(this.valueMode===`triple`&&e===`c`){let e=vE(n,this.#A(),this.#j()),r=this.#F(e);return r===this.#r?null:{poleA:i,poleB:a,poleC:r}}let s=this.#P(),c=e===`a`?a:i,l=this.#F(vE(n,this.min,this.max));if(this.crossover===`none`?l=(e===`a`?i:a)<=c?Math.min(l,c-s):Math.max(l,c+s):l>c-s&&l<c+s&&(l=Math.abs(l-(c-s))<=Math.abs(l-(c+s))?c-s:c+s),l=vE(l,this.min,this.max),e===`a`){if(l===i)return null;i=l}else{if(l===a)return null;a=l}if(this.valueMode===`triple`&&o!==void 0){let e=Math.min(this.#t,this.#n),n=Math.max(this.#t,this.#n),r=Math.min(i,a),s=Math.max(i,a);this.valueCFollow===`proportional`&&n>e?o=r+vE((o-e)/(n-e),0,1)*(s-r):(o<r&&(o=r),o>s&&(o=s))}return{poleA:i,poleB:a,poleC:o}}#V(e,n){let r=e.poleA!==n.poleA,i=e.poleB!==n.poleB,a=e.poleC!==n.poleC;return this.valueMode===`triple`?r&&i&&!a||r&&i?`both`:r?`min`:i?`max`:a?`c`:`min`:r&&i?`both`:r?`min`:i?`max`:`min`}#H(e,n,r){let i=this.#U(r),a=this.#W(e,r);n?(this.dispatchEvent(new CustomEvent(`input`,{detail:i,bubbles:!0,composed:!0})),this.#G(a)):this.#K(a)}#U(e){if(this.valueMode===`single`)return{value:this.valueA,valueRelative:this.#D()};let n=this.#A(),r=this.#j(),i=bE(n,this.min,this.max),a=bE(r,this.min,this.max);return this.valueMode===`triple`&&this.#r!==void 0?{value:r,valueRelative:a,valueMin:n,valueMax:r,valueMinRelative:i,valueMaxRelative:a,valueC:this.#r,valueCRelative:bE(this.#r,this.min,this.max),changed:e}:{value:r,valueRelative:a,valueMin:n,valueMax:r,valueMinRelative:i,valueMaxRelative:a,changed:e}}#W(e,n){if(this.valueMode===`single`)return{value:this.valueA,valueRelative:this.#D(),previousValue:e.previousValue};let r=this.#A(),i=this.#j(),a=bE(i,this.min,this.max);return this.valueMode===`triple`&&this.#r!==void 0?{value:i,valueRelative:a,previousValue:e.previousValue,valueMin:r,valueMax:i,previousValueMin:e.previousValueMin??r,previousValueMax:e.previousValueMax??i,valueC:this.#r,previousValueC:e.previousValueC??this.#r,changed:n}:{value:i,valueRelative:a,previousValue:e.previousValue,valueMin:r,valueMax:i,previousValueMin:e.previousValueMin??r,previousValueMax:e.previousValueMax??i,changed:n}}#G(e){this.#_!==void 0&&clearTimeout(this.#_),this.#_=window.setTimeout(()=>{this.#K(e),this.#_=void 0},150)}#K(e){this.dispatchEvent(new CustomEvent(`change`,{detail:e,bubbles:!0,composed:!0}))}#q;#J;#Y;#X(e,n){let r=getComputedStyle(this),i=e=>{let n=e.trim();if(!n)return;let r=Number.parseFloat(n);return Number.isNaN(r)?void 0:r},a=i(r.getPropertyValue(`--lane-${e}-width`));if(a!==void 0)return a;if(e===`value`){let e=i(r.getPropertyValue(`--lane-track-width`));return e===void 0?n:e}if(e!==`track`){let e=i(r.getPropertyValue(`--lane-width`));if(e!==void 0)return e}return n}#Z(e){let n=e===`track`?.08:e===`value`?.12:.16;return this.#X(e,n)*this.#$}#Q;#$;#ee;#te(){let e=this.getBoundingClientRect(),n=this.orientation===`vertical`?e.width:e.height;if(this.#$=n,this.#ee=this.orientation===`vertical`?e.height:e.width,e.width<=0||e.height<=0){this.#Q=0;return}let r=0;for(let e of this.#e.values()){let i=e.key===`track`?.08:e.key===`value`?.12:.16;r=Math.max(r,Math.abs(this.#X(e.key,i))*n)}this.#Q=r}#ne(){return this.#$<=0?Math.abs(this.#ue(`--marker-thickness`,.15))/2:this.#re()/this.#$}#re(){let e=Math.abs(this.#ue(`--marker-thickness`,.15));return this.#$<=0?0:Math.max(e*this.#$/2,this.#Q/2+1)}#ie(e,n){let r=this.#ee,i=this.#$;if(r<=0||i<=0||n<=0)return{rx:e,ry:e};let a=r/100,o=i/n;return this.orientation===`vertical`?{rx:e/o,ry:e/a}:{rx:e/a,ry:e/o}}#ae(){return this.valueMode===`single`?[this.markerStyle]:this.valueMode===`triple`&&this.markerStyleC?[...new Set([this.markerStyle,this.markerStyleC])]:[this.markerStyle]}#oe(){let e=0;for(let n of this.#e.values()){let r=n.key===`track`?.08:n.key===`value`?.12:.16,i=this.#X(n.key,r);e=Math.max(e,Math.abs(i)/2+Math.abs(n.offset)/2)}let n=Math.abs(this.#ue(`--marker-offset`,0)),r=Math.abs(this.#ue(`--marker-length`,.8)),i=e=>e===`none`?0:e===`dot`?this.#ne()+n/2:r/4+n/2;for(let n of this.#ae())e=Math.max(e,i(n));if(this.valueMode===`single`&&(this.singleStyle===`bipolar`||this.singleStyle===`unipolar`)){let n=Math.abs(this.#ue(`--midpoint-length`,.15));e=Math.max(e,n/4)}let a=Math.abs(this.#ue(`--track-width`,2));return e=Math.max(e,a/2/24),Math.min(e,.45)}#se(){return vE(2/(.5-this.#oe()),4,40)}#ce(e){let n=Math.abs(this.#ue(`--marker-thickness`,.15)),r=this.#ee>0?this.#re()*100/this.#ee:this.#ne()*e,i=0;for(let a of this.#ae())a===`dot`?i=Math.max(i,r):a===`triangle`&&(i=Math.max(i,n*e/4));let a=vE(i+1.5,1,5),o=Math.max(0,this.#ue(`--track-margin`,0)),s=Math.max(0,this.#ue(`--track-margin-start`,o)),c=Math.max(0,this.#ue(`--track-margin-end`,o)),l=a+s,u=a+c;if(l+u>90&&l+u>0){let e=90/(l+u);l*=e,u*=e}return{start:l,end:u}}#le(e){let n=this.getBoundingClientRect(),r=this.orientation===`vertical`,i=r?n.top:n.left,a=r?n.height:n.width;if(a<=0)return 0;let o=i+a*this.#J/100,s=a*(100-this.#J-this.#Y)/100;if(s<=0)return 0;let c=vE((e-o)/s,0,1);return r?1-c:c}#ue(e,n){let r=getComputedStyle(this),i=r.getPropertyValue(e).trim();if(!i)return n;if(i.includes(`calc(`)){let e=r.getPropertyValue(`--value-relative`).trim();if(!e){let e=Number.parseFloat(i.replace(/[^0-9.-]/g,``));return Number.isNaN(e)?n:e}let a=SE(i.replace(/var\(--value-relative\)/g,e).replace(/calc\s*\(([^)]+)\)/g,`$1`));if(a!==void 0)return Number.isNaN(a)?n:a;let o=Number.parseFloat(i.replace(/[^0-9.-]/g,``));return Number.isNaN(o)?n:o}let a=Number.parseFloat(i);return Number.isNaN(a)?n:a}#de(e){let n=this.orientation===`vertical`?e.clientY:e.clientX,r=this.#le(n);return this.valueMode===`single`&&this.singleStyle===`unipolar`?Math.abs(2*r-1):r}#fe(e){this.focus();let n=this.#de(e);if(this.valueMode===`single`){this.#h=`a`,this.#I(n,!0);return}let r=this.#D(),i=this.#O(),a=Math.abs(n-r)<=Math.abs(n-i)?`a`:`b`;if(this.valueMode===`triple`){let e=this.#k(),o=Math.abs(n-r),s=Math.abs(n-i),c=Math.abs(n-e);a=o<=s&&o<=c?`a`:s<=c?`b`:`c`}this.#h=a===`a`||a===`b`?a:`c`,this.#L(n,a,!0)}#pe;#me;#he;#ge;#_e;#ve(e){if(!this.#l)return;let n=this.max-this.min,r=(e-this.#m)*n,i=this.#p+r,a=i+this.#f;if(this.valueDrag===`stop`){let e=this.#f,n=i,r=i+e;if(n<this.min){let i=this.min-this.#p;n=this.#p+i,r=n+e}if(r>this.max){let e=this.max-r;n+=e,r+=e}i=n,a=r}else this.valueDrag===`flex`&&(i=vE(i,this.min,this.max),a=vE(a,this.min,this.max));let o=this.#u??this.#M(),s=this.#d??this.#N(),c=this.#R(),l=o===`a`?i:a,u=s===`b`?a:i;if(this.#t=l,this.#n=u,this.valueMode===`triple`&&this.#r!==void 0){let e=Math.min(c.poleA,c.poleB),n=Math.max(c.poleA,c.poleB),r=Math.min(l,u),i=Math.max(l,u);if(this.valueCFollow===`proportional`&&n>e){let a=vE((this.#r-e)/(n-e),0,1);this.#r=r+a*(i-r)}else this.#r<r&&(this.#r=r),this.#r>i&&(this.#r=i)}this.#z(),this.#v=!0;let d=this.#e.get(`value`);d&&d.type===`value`&&(d.valueMin=bE(this.#A(),this.min,this.max),d.valueMax=bE(this.#j(),this.min,this.max)),this.#H({previousValue:c.poleA,previousValueMin:Math.min(c.poleA,c.poleB),previousValueMax:Math.max(c.poleA,c.poleB),previousValueC:c.poleC},!0,`both`)}#ye;#be;#xe(e,n){if(this.valueMode===`single`){this.#I(vE(n,0,1),!0);return}if(e===`c`){let e=this.#A(),r=this.#j(),i=vE(yE(vE(n,0,1),0,1,this.min,this.max),e,r),a=this.#F(i);if(a===this.#r)return;let o=this.#R();this.#r=a,this.#z(),this.#v=!0,this.#H({previousValue:o.poleA,previousValueMin:Math.min(o.poleA,o.poleB),previousValueMax:Math.max(o.poleA,o.poleB),previousValueC:o.poleC},!0,`c`);return}this.#L(vE(n,0,1),e,!0)}_applyWheelDelta(e,n){let r=this.#h,i=n.target;if(i&&typeof i.closest==`function`){let e=i.closest(`[data-handle]`);if(e){let n=e.dataset?.handle;(n===`a`||n===`b`||n===`c`)&&(r=n)}}this.valueMode===`single`&&(r=`a`),this.#h=r;let a=this.max-this.min,o=px(a,this.stops,this.step,n.shiftKey),s=vE(bE(r===`a`?this.#t:r===`b`?this.#n:this.#r??this.#A(),this.min,this.max)-e*o/a,0,1);this.#xe(r,s)}#Se;#Ce(){let e=this.#q;return this.orientation===`horizontal`?`0 0 100 ${e}`:`0 0 ${e} 100`}#we(){let e=this.orientation===`vertical`,n=this.#q,r=this.#J,i=this.#Y,a=this.#ue(`--track-width`,2),o=this.#Te(`--track-color`,`var(--surface-4)`),c=this.#Te(`--track-fill`,`transparent`);return e?s`
|
|
9726
9734
|
<rect
|
|
9727
9735
|
class="track"
|
|
9728
9736
|
x="${n/2-a/2}"
|
|
@@ -9949,7 +9957,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
9949
9957
|
stroke-width: var(--midpoint-border-width, 0);
|
|
9950
9958
|
vector-effect: non-scaling-stroke;
|
|
9951
9959
|
}
|
|
9952
|
-
`]}};E([d({type:Number,attribute:`value-a`})],CE.prototype,`valueA`,void 0),E([d({type:Number,attribute:`value-b`})],CE.prototype,`valueB`,void 0),E([d({type:Number,attribute:`value-c`})],CE.prototype,`valueC`,void 0),E([d({type:Number})],CE.prototype,`min`,void 0),E([d({type:Number})],CE.prototype,`max`,void 0),E([d({type:Number})],CE.prototype,`step`,void 0),E([d({type:Number})],CE.prototype,`stops`,void 0),E([d({type:String,attribute:`value-mode`})],CE.prototype,`valueMode`,void 0),E([d({type:String,attribute:`single-style`})],CE.prototype,`singleStyle`,void 0),E([d({type:String})],CE.prototype,`orientation`,void 0),E([d({type:String,attribute:`marker-style`})],CE.prototype,`markerStyle`,void 0),E([d({type:String,attribute:`marker-style-c`})],CE.prototype,`markerStyleC`,void 0),E([d({type:String})],CE.prototype,`crossover`,void 0),E([d({type:String,attribute:`value-drag`})],CE.prototype,`valueDrag`,void 0),E([d({type:String,attribute:`value-c-follow`})],CE.prototype,`valueCFollow`,void 0),E([d({type:Number,attribute:`value-min`})],CE.prototype,`valueMin`,void 0),E([d({type:Boolean,reflect:!0})],CE.prototype,`disabled`,void 0),E([d({type:Boolean,reflect:!0})],CE.prototype,`swipeable`,void 0),CE=E([T(`ixfx-slider-input`)],CE);let wE=class extends
|
|
9960
|
+
`]}};E([d({type:Number,attribute:`value-a`})],CE.prototype,`valueA`,void 0),E([d({type:Number,attribute:`value-b`})],CE.prototype,`valueB`,void 0),E([d({type:Number,attribute:`value-c`})],CE.prototype,`valueC`,void 0),E([d({type:Number})],CE.prototype,`min`,void 0),E([d({type:Number})],CE.prototype,`max`,void 0),E([d({type:Number})],CE.prototype,`step`,void 0),E([d({type:Number})],CE.prototype,`stops`,void 0),E([d({type:String,attribute:`value-mode`})],CE.prototype,`valueMode`,void 0),E([d({type:String,attribute:`single-style`})],CE.prototype,`singleStyle`,void 0),E([d({type:String})],CE.prototype,`orientation`,void 0),E([d({type:String,attribute:`marker-style`})],CE.prototype,`markerStyle`,void 0),E([d({type:String,attribute:`marker-style-c`})],CE.prototype,`markerStyleC`,void 0),E([d({type:String})],CE.prototype,`crossover`,void 0),E([d({type:String,attribute:`value-drag`})],CE.prototype,`valueDrag`,void 0),E([d({type:String,attribute:`value-c-follow`})],CE.prototype,`valueCFollow`,void 0),E([d({type:Number,attribute:`value-min`})],CE.prototype,`valueMin`,void 0),E([d({type:Boolean,reflect:!0})],CE.prototype,`disabled`,void 0),E([d({type:Boolean,reflect:!0})],CE.prototype,`swipeable`,void 0),CE=E([T(`ixfx-slider-input`)],CE);let wE=class extends Mg{constructor(...e){super(...e),this.inputSelector=`ixfx-slider-input`,this.orientation=`horizontal`,this.singleStyle=`range`,this.markerStyle=`needle`,this.stops=void 0,this.disabled=!1,this.swipeable=!1,this.lighttouch=!1,this.switchHeight=80}_renderEditableNumber(){return this._isMini?i``:i`
|
|
9953
9961
|
<ixfx-editable-number
|
|
9954
9962
|
class="number"
|
|
9955
9963
|
mode="label"
|
|
@@ -10157,7 +10165,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10157
10165
|
:host([mode="pulse"]) div {
|
|
10158
10166
|
transition: none;
|
|
10159
10167
|
}
|
|
10160
|
-
`}};E([d({type:Number})],TE.prototype,`value`,void 0),E([d({type:Boolean,attribute:`lit`,reflect:!0})],TE.prototype,`lit`,void 0),E([d({type:String})],TE.prototype,`color`,void 0),E([d({type:Boolean,attribute:`glow`,reflect:!0})],TE.prototype,`glow`,void 0),E([d({type:String,reflect:!0})],TE.prototype,`mode`,void 0),E([d({type:Boolean,attribute:`blinking`,reflect:!0})],TE.prototype,`blinking`,void 0),E([d({type:Number,attribute:`rate`})],TE.prototype,`rate`,void 0),E([d({type:Number,attribute:`attack-time`})],TE.prototype,`attackTime`,void 0),E([d({type:Number,attribute:`release-time`})],TE.prototype,`releaseTime`,void 0),E([d({type:Boolean,attribute:`pulse-retrigger`})],TE.prototype,`pulseRetrigger`,void 0),TE=E([T(`ixfx-led`)],TE);function EE(e){let n=[];for(let r=0;r<e.length-1;r++){let i=e[r+1],a=e[r].find(e=>e.children===i);if(!a)break;n.push(a.item.key)}return n}function DE(e,n){let r=[e],i=[],a=e;for(let e of n){let n=a.find(n=>n.item.key===e);if(!n)return{columns:r,nodes:i,blocked:void 0,done:!1};if(i.push(n),n.item.isLeaf===!0)return{columns:r,nodes:i,blocked:void 0,done:!0};if(n.children===void 0)return{columns:r,nodes:i,blocked:n,done:!1};r.push(n.children),a=n.children}return{columns:r,nodes:i,blocked:void 0,done:!0}}function OE(e){let n=new Map;for(let[r,i]of Object.entries(e)){let e=Number(r);Number.isInteger(e)&&e>=0&&typeof i==`number`&&Number.isFinite(i)&&i>0&&n.set(e,i)}return n}function kE(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function AE(e,n){return e.findIndex(e=>e.some(e=>e.item.key===n))}function jE(e){let n=new Map,r=[...e];for(;r.length>0;){let e=r.pop();n.set(e.item.key,e),e.children&&r.push(...e.children)}return n}function ME(e,n,r,i){let a=[...e].filter(e=>!r(e)),{present:o,missing:s}=ar(n,r);if(a.length===0&&o.length===0)return{live:e,pending:n,restored:[],changed:!1};if(i&&o.length>0){let e=o.at(-1);return{live:new Set([e]),pending:k,restored:[e],changed:!0}}return{live:new Set([...[...e].filter(r),...o]),pending:sr(a.length===0?s:new Set([...s,...a])),restored:o,changed:!0}}function NE(e,n,r,i,a){let o=DE(e,n),s=o.blocked!==void 0&&o.blocked===a,c=!s&&!kE(o.columns,r),l;if(c){l=new Map(o.nodes.map((e,n)=>[n,e]));let e=i.get(o.nodes.length);e&&o.columns[o.nodes.length]?.includes(e)&&l.set(o.nodes.length,e)}return{columns:c?o.columns:void 0,selectedByDepth:l,pending:o.done?void 0:n,load:o.blocked&&!s&&o.blocked.item.isLeaf!==!0?{node:o.blocked,depth:o.nodes.length-1}:void 0}}function PE(e,n,r,i,a,o,s){let c=ME(e,n,e=>a.has(e),s),l=[...c.live].map(e=>a.get(e));if(!c.changed&&l.length===r.size&&l.every(e=>r.has(e)))return;let u=c.restored.at(-1)??i?.item.key,d=[];for(let e of c.restored){let n=AE(o,e);n>=0&&d.push([n,a.get(e)])}return{keys:new Set(c.live),nodes:new Set(l),pending:c.pending,last:(u===void 0?void 0:a.get(u))??l.at(-1),placed:d,restored:c.restored.length>0}}function FE(e,n,r,i,a){let o=e!==void 0&&!i.has(e),s=r??(o&&n?e:void 0),c=s===void 0?-1:AE(a,s);return c<0?{clear:o,pending:s,tickle:void 0}:{clear:o,pending:void 0,tickle:{node:a[c].find(e=>e.item.key===s),depth:c}}}function IE(e,n,r,i){return{contents:[...e?.querySelectorAll(`.column:not(.loading-column) > .column-content`)??[]],parentKeys:r===void 0?[]:[r,...EE(n)],keysAt:e=>(n[e]??[]).filter(n=>!i||i(n,e)).map(e=>e.item.key)}}function LE(e,n,r){let i={};return e.forEach((e,a)=>{let o=n[a];if(o===void 0||e.scrollTop===0&&e.scrollLeft===0)return;let s=[...e.querySelectorAll(`.item`)],c=r(a);i[o]=i_(e,s,e=>c[s.indexOf(e)])}),i}function RE(e,n,r,i){let a;for(let[o,s]of e){let c=r.indexOf(o),l=n[c];if(c<0||!l)continue;let u;if(s.anchor){let e=i(c).indexOf(s.anchor.key),n=e<0?void 0:l.querySelectorAll(`.item`)[e];u=n?a_(l,n,s.anchor.offset):!1}else u=o_(l,s.top);u&&(a??=new Map(e),a.delete(o))}return a??e}let zE=class extends n{constructor(...e){super(...e),this.headers=!1,this.stretchLastColumn=!1,this.interactionMode=`standard`,this.selectionFilter=`leaf`,this.exclusivity=`none`,this._columns=[],this._selectedByDepth=new Map,this._selectedKeys=new Set,this._selectedNodes=new Set,this.#n=new Map,this.#o=-1,this.#s=0,this.#c=0,this.restoreLoads=!0,this.#u=new d_(this,{kind:`miller-list`,capture:()=>this.getViewState()}),this.#f=k,this.#m=new Map,this.#h=!1,this.#g=[],this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>{let e=[];for(let n=0;n<this._columns.length;n++){let r=this._columns[n];if(r)for(let i of r)e.push({id:this.#x(i,n)})}return e}}),this.#w=e=>{this.#m.size===0&&e.target.classList?.contains(`column-content`)&&this.#u.notify()},this._partialKeys=new Set,this._partialDescription=_r,this.#N=`user`,this.#P=!1,this.#me=e=>{if(this.search.isOpen)return;let n=this.#ce(),r=this._columns[n];if(!r||r.length===0){let e=this._columns[0];e&&e.length>0&&(this.tickled.setTickled(this.#x(e[0],0)),this.requestUpdate());return}switch(e.key){case`ArrowDown`:e.preventDefault(),this.#pe(r,n,e,e=>Math.min(e+1,r.length-1));break;case`ArrowUp`:e.preventDefault(),this.#pe(r,n,e,e=>Math.max(e-1,0));break;case`Home`:e.preventDefault(),this.#pe(r,n,e,()=>0,!0);break;case`End`:e.preventDefault(),this.#pe(r,n,e,()=>r.length-1,!0);break;case`PageUp`:e.preventDefault(),this.#pe(r,n,e,e=>Math.max(e-this.#fe(n),0),!0);break;case`PageDown`:e.preventDefault(),this.#pe(r,n,e,e=>Math.min(e+this.#fe(n),r.length-1),!0);break;case`ArrowRight`:{e.preventDefault();let i=this.#le();if(!i){r.length>0&&(this.#de(r[0],n),this.requestUpdate());return}let{node:a,depth:o}=i;if(this.interactionMode===`vscode`||this.interactionMode===`standard`?(this._selectedByDepth.set(o,a),this.#re(a,o)):this.#ee(a,o),this._columns.length>o+1){let e=this._columns[o+1];e&&e.length>0&&this.#de(e[0],o+1)}this.requestUpdate();break}case`ArrowLeft`:if(e.preventDefault(),n>0){this.#Z(),this.#d=void 0,this._columns=this._columns.slice(0,n);let e=this._columns[n-1];if(e&&e.length>0){let r=this._selectedByDepth.get(n-1),i=r&&e.includes(r)?r:e[0];this.#de(i,n-1)}this.requestUpdate()}break;case`Enter`:{e.preventDefault();let n=this.#le();if(!n)return;let{node:i,depth:a,index:o}=n;if(this.interactionMode===`standard`||this.interactionMode===`vscode`){if(e.shiftKey&&this.#t?.depth===a){let e=Math.min(this.#t.index,o),n=Math.max(this.#t.index,o);this._selectedKeys=new Set(r.slice(e,n+1).map(e=>e.item.key))}else this._selectedKeys.add(i.item.key),this.#t={key:i.item.key,depth:a,index:o};this.#T()}else this._selectedByDepth.set(a,i);this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:i,depth:a},bubbles:!0,composed:!0})),this.requestUpdate();break}case`Escape`:if(e.preventDefault(),this.#Z(),this._columns.length>1){this.#d=void 0,this._columns=this._columns.slice(0,-1);let e=Math.max(0,n-1),r=this._columns[e];if(r&&r.length>0){let n=this._selectedByDepth.get(e),i=n&&r.includes(n)?n:r[0];this.#de(i,e)}this.requestUpdate()}}},this.#he=(e,n)=>{e.preventDefault(),e.stopPropagation(),this.#o=n,this.#s=e.clientX;let r=this.shadowRoot?.querySelectorAll(`.column`)[n];this.#c=r?r.getBoundingClientRect().width:200,window.addEventListener(`pointermove`,this.#ve),window.addEventListener(`pointerup`,this.#be)},this.#ge=null,this.#_e=0,this.#ve=e=>{this.#o<0||(this.#_e=Math.max(32,this.#c+(e.clientX-this.#s)),this.#ge??=requestAnimationFrame(this.#ye))},this.#ye=()=>{this.#ge=null,!(this.#o<0)&&(this.shadowRoot?.querySelectorAll(`.column`)[this.#o])?.setAttribute(`style`,this.#Se(this.#_e))},this.#be=()=>{this.#ge!==null&&(cancelAnimationFrame(this.#ge),this.#ge=null),this.#o>=0&&this.#_e>0&&(this.#n.set(this.#o,this.#_e),this.#u.notify(),this.requestUpdate()),this.#_e=0,this.#o=-1,window.removeEventListener(`pointermove`,this.#ve),window.removeEventListener(`pointerup`,this.#be)}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;get registry(){return this.#_}#y(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#b(){this.#_&&(this.search.setModes(this.#y()),this.#v?.(),this.#v=zt(this.#_,this.search))}#x(e,n){return`${n}:${e.item.key}`}get#S(){return this.viewRoot??this.root}#C(){let e=this.tickled.tickledId;if(!e)return;let n=e.indexOf(`:`);if(!(n<0))return Number(e.substring(0,n))}willUpdate(e){kE(this._columns,this.#g)||(this.#g=this._columns,this.#u.notify())}updated(e){if(e.has(`searchModes`)&&this.#b(),e.has(`root`)&&this.root){let e=this.viewRoot!==void 0,n=e?[]:EE(this._columns),r=this.#O();this.#Z(),e&&(this.viewRoot=void 0,this._selectedKeys=new Set,this._selectedNodes=new Set),this._selectedByDepth.clear(),this.#e=void 0,this.#t=void 0,this.tickled.clearTickled();let i=this.#S;this._columns=i?.children?[i.children]:[],this.#g=this._columns,n.length>0&&(this.#d??=n),r!==void 0&&(this.#p??=r),this.#A()}if(e.has(`viewRoot`)&&this.#L(),e.has(`model`)){this.#l?.(),this.#l=void 0;let e=this.model;e&&(this.root=e.root,this.#l=e._subscribe(e=>{if(e.type===`root`)this.root=e.root,this.requestUpdate();else if(e.type===`invalidate`){for(let n=0;n<this._columns.length-1;n++)if(this._columns[n]?.some(n=>n.item.key===e.key)){this._columns=this._columns.slice(0,n+1),this.requestUpdate();break}}}))}if(this.#r?.children!==void 0&&this._loadingDepth!==void 0){let e=this._loadingDepth,n=this.#r.children;this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0;let r=this._columns.slice(0,e);n.length>0&&r.push(n),this._columns=r,this.#E()&&this.#A()}if(this.#m.size>0){let{contents:e,parentKeys:n,keysAt:r}=this.#k();this.#m=RE(this.#m,e,n,r)}let n=e.get(`_columns`),r=e.has(`_columns`)&&(n?.length??0)<this._columns.length,i=e.has(`_loadingDepth`)&&this._loadingDepth!==void 0;if(r||i){let e=this.shadowRoot?.querySelector(`#container`);e?.scrollTo({left:e.scrollWidth,behavior:`smooth`})}}firstUpdated(){let e=this.shadowRoot?.querySelector(`#container`);e&&l_(e,()=>{this.#m=new Map}),this.renderRoot.addEventListener(`scroll`,this.#w,{capture:!0,passive:!0})}#w;connectedCallback(){super.connectedCallback(),this.#_??=Yt(),this.#b()}disconnectedCallback(){super.disconnectedCallback(),this.#l?.(),this.#l=void 0,this.#v?.(),this.#v=void 0,this.#_=void 0}getViewState(e){let n=e?.includePending??!0,{contents:r,parentKeys:i,keysAt:a}=this.#k();return this.#u.shape({selected:fr(this._selectedKeys,n?this.#f:[]),path:(n?this.#d:void 0)??EE(this._columns),focus:this.#O()??(n?this.#p:void 0),columnWidths:Object.fromEntries(this.#n),columnScroll:{...LE(r,i,a),...n?Object.fromEntries(this.#m):{}}},e)}setViewState(e){this.#u.accepts(e)&&(this.#u.restoring(()=>{if(e.path&&(this.#d=[...e.path]),e.selected){this.#f=sr(new Set(e.selected));let n=new Set(this._selectedNodes);this._selectedKeys=new Set,this._selectedNodes=new Set,this.#e=void 0,this.#t=void 0,n.size>0&&this.#q(n)}e.focus!==void 0&&(this.#p=e.focus),e.columnWidths&&(this.#n=OE(e.columnWidths),this.#u.notify()),e.columnScroll&&(this.#m=new Map(Object.entries(e.columnScroll))),this.#A()}),this.requestUpdate())}clearPendingViewState(){this.#d=void 0,this.#f=k,this.#p=void 0,this.#m=new Map}#T(){this.#u.isRestoring||(this.#f=k),this.#u.notify()}#E(){return this.#d!==void 0||this.#f.size>0||this.#p!==void 0}#D(){let e=this.tickled.tickledId,n=e?.indexOf(`:`)??-1;return e===void 0||n<0?void 0:e.substring(n+1)}#O(){return this.#h?this.#D():void 0}#k(){return IE(this.shadowRoot,this._columns,this.#S?.item.key,this.filterPredicate)}#A(){let e=this.#S?.children;if(!e)return;let n=jE(e);this.#u.restoring(()=>{this.#d&&this.#j(NE(e,this.#d,this._columns,this._selectedByDepth,this.#r));let r=PE(this._selectedKeys,this.#f,this._selectedNodes,this.#e,n,this._columns,this.interactionMode===`implicit`);r&&this.#M(r);let i=FE(this.#D(),this.#h,this.#p,n,this._columns);i.clear&&this.tickled.clearTickled(),this.#p=i.pending,i.tickle&&(this.tickled.setTickled(this.#x(i.tickle.node,i.tickle.depth)),this.#h=!0,this.#u.notify())})}#j(e){e.columns&&(this.#r&&this.#Z(),this._columns=e.columns,this._selectedByDepth=e.selectedByDepth),this.#d=e.pending,e.load&&this.restoreLoads&&(this.model||this.loadChildren)&&this.#ie(e.load.node,e.load.depth,!0,!0),kE(this._columns,this.#g)||(this.#g=this._columns,this.#u.notify())}#M(e){let n=this._selectedNodes;if(this._selectedKeys=e.keys,this._selectedNodes=e.nodes,this.#f=e.pending,this.#e=e.last,this.interactionMode===`implicit`)for(let[n,r]of e.placed)this._selectedByDepth.set(n,r);if(!e.restored){this.#u.notify();return}let r=this.#N;this.#N=`programmatic`;try{this.#q(n)}finally{this.#N=r}}get selectedKeys(){return this._selectedKeys}set selectedKeys(e){this._selectedKeys=new Set(e),this.#T(),this.requestUpdate()}get selectedNode(){return this.#e}set selectedNode(e){this.#e=e,e&&(this.interactionMode===`implicit`||this.interactionMode===`standard`)&&(this._selectedKeys=new Set([e.item.key]),this.#T()),this.requestUpdate()}get selectedNodes(){return this._selectedNodes}select(e){if(!this.#K(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.add(e),this._selectedKeys.add(e.item.key),this.#e=e,this.#q(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this._selectedKeys.delete(e.item.key),this.#e===e&&(this.#e=[...this._selectedNodes].at(-1)),this.#q(n),this.requestUpdate()}clearSelection(){this.#T();let e=new Set(this._selectedNodes);this._selectedKeys=new Set,this._selectedNodes.clear(),this.#e=void 0,e.size>0&&this.#q(e),this.requestUpdate()}selectAll(){}get partialKeys(){return this._partialKeys}set partialKeys(e){let n=new Set(e);yr(n,this._partialKeys)||(this._partialKeys=n)}_isPartial(e,n){return vr(e.item.key,this._partialKeys,this._isSelected(e,n))}deselectAll(){}setSelected(e,n){this.interactionMode===`checked`?this.#se(e,n):n?(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)):(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)),this.#T(),this.requestUpdate()}getSelected(){let e=[];for(let n of this._columns)for(let r of n)this._selectedKeys.has(r.item.key)&&e.push(r);return e}navigateTo(e,n={}){let r=this.#S;if(!r?.children)return!1;let i=this.#N,a=this.#P;this.#N=`programmatic`,this.#P=n.silent===!0;try{return this.#F(r.children,e,n.reveal??`edge`)}finally{this.#N=i,this.#P=a}}invalidateStructure(){let e=EE(this._columns);e.length>0&&(this.#d??=e),this.#A(),this.requestUpdate()}#N;#P;#F(e,n,r){this.#Z(),this.#d=void 0,this._selectedByDepth.clear(),this.tickled.clearTickled();let i=[e],a=e,o=!0,s,c=0;for(let e=0;e<n.length;e++){let r=a.findIndex(r=>r.item.key===n[e]);if(r<0){o=!1;break}let l=a[r];if(this._selectedByDepth.set(e,l),s=l,c=e,l.item.isLeaf||!l.children||l.children.length===0){e<n.length-1&&(o=!1);break}i.push(l.children),a=l.children}if(this._columns=i,s&&this.tickled.setTickled(this.#x(s,c)),this.interactionMode!==`implicit`&&this.interactionMode!==`manual`){let e=n.at(-1);e&&(this._selectedKeys=new Set([e]),this.#T())}return this.requestUpdate(),this.#ue(r===`center-if-hidden`?`auto`:`smooth`,r),o}navigateToNode(e){let n=this.#S;if(!n?.children)return!1;let r=this.#I(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#S;if(!n?.children)return!1;let r=this.#I(n.children,n=>n.item.key===e);if(!r)return!1;this.#d=void 0;let i=[n.children],a=n.children,o,s=0;for(let e=0;e<r.length;e++){let n=a.find(n=>n.item.key===r[e]);if(!n)return!1;if(o=n,s=e,n.children&&n.children.length>0)i.push(n.children),a=n.children;else break}return this._columns=i,o&&this.tickled.setTickled(this.#x(o,s)),this.requestUpdate(),this.#ue(),!0}selectMany(e){let n=this.selectionFilter===`none`?[]:[...e],r=new Set(this._selectedNodes);this._selectedNodes=new Set(n),this._selectedKeys=new Set(n.map(e=>e.item.key)),this.#e=n.at(-1),this.#q(r),this.requestUpdate()}getNodes(){let e=this.#S;if(!e?.children)return[];let n=[],r=(e,i)=>{if(n.push({node:e,depth:i}),e.children)for(let n of e.children)r(n,i+1)};for(let n of e.children)r(n,0);return n}#I(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#I(i.children,n,e);if(r)return r}}}#L(){this.#Z();let e=new Set(this._selectedNodes);this._selectedByDepth.clear(),this._selectedKeys=new Set,this._selectedNodes.clear(),this.#e=void 0,this.#t=void 0,this.tickled.clearTickled();let n=this.#S;n?.children===void 0?n?(this._columns=[],this.#ie(n,-1,!1)):(this._columns=[],this._loadingDepth=void 0):(this._columns=n.children?[n.children]:[],this._loadingDepth=void 0),e.size>0&&this.#q(e),this.#E()&&this.#A()}rebaseTo(e){if(e===void 0)return this.#R();let n=typeof e==`string`?this.#B(e):e;return!n||n.item.isLeaf===!0||n===this.viewRoot||n.item.key===this.viewRoot?.item.key?!1:n===this.root||!this.viewRoot&&n.item.key===this.root?.item.key?this.#R():(this.viewRoot=n,this.#z(),!0)}rebaseUp(){if(!this.viewRoot)return!1;let e=this.#H(this.viewRoot);return e?e===this.root?this.#R():(this.viewRoot=e,this.#z(),!0):!1}#R(){return this.viewRoot!==void 0&&(this.viewRoot=void 0,this.#z(),!0)}#z(){this.#d=void 0;let e=this.viewRoot,n={viewRoot:e,path:e?this.#W(e):[]};this.dispatchEvent(new CustomEvent(`rebase`,{detail:n,bubbles:!0,composed:!0}))}#B(e){if(this.root)return this.root.item.key===e?this.root:this.#V(this.root.children??[],e)}#V(e,n){for(let r of e){if(r.item.key===n)return r;if(r.children){let e=this.#V(r.children,n);if(e)return e}}}#H(e){if(!(!this.root||e===this.root))return this.#U(this.root,e)}#U(e,n){if(e.children)for(let r of e.children){if(r===n||r.item.key===n.item.key)return e;let i=this.#U(r,n);if(i)return i}}#W(e){let n=[e],r=this.#H(e);for(;r&&(n.unshift(r),r!==this.root);)r=this.#H(r);return n}renderColumnContent(e,n){return console.warn(`ixfx-miller-base: renderColumnContent not overridden. depth=${n}, nodes=${e.length}`),a}_handleItemClick(e,n,r){this.#ee(e,n,r)}_handleCheckboxClick(e,n,r){e.stopPropagation(),this.#ae(n)}_handleItemDblClick(e,n,r){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}_handleItemRightClick(e,n,r){this.dispatchEvent(new CustomEvent(`item-rightclick`,{detail:{node:e,depth:n,mouseEvent:r},bubbles:!0,composed:!0}))}_handleHeaderRightClick(e,n){let r=this.#xe(n),i=this.#Q(n);this.dispatchEvent(new CustomEvent(`header-rightclick`,{detail:{depth:n,label:r,path:i,mouseEvent:e},bubbles:!0,composed:!0}))}_isSelected(e,n){return this.interactionMode===`implicit`?this._selectedByDepth.get(n)===e:this._selectedKeys.has(e.item.key)}#G(e,n){let r=this._columns[n+1];return r!==void 0&&e.children===r}_isOpen(e,n){return this.#G(e,n)}getItemState(e,n){let r=this._columns[n]?.find(n=>n.item.key===e);if(r)return{selected:this._isSelected(r,n),open:this.#G(r,n),focused:this._isFocused(r,n),isLeaf:r.item.isLeaf??!1}}#K(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf!==!1:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#q(e){if(this.#T(),this.#P)return;let n={selected:new Set(this._selectedNodes),previous:e,origin:this.#N};this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`list-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previousKeys:new Set([...e].map(e=>e.item.key)),previous:e},bubbles:!0,composed:!0}))}#J(e){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))}#Y(e,n,r){if(!(!this.#t||this.#t.depth!==n||!e||r<0))return e.slice(Math.min(this.#t.index,r),Math.max(this.#t.index,r)+1)}#X(e,n,r,i){let a=e.item.key;if(r&&(r.metaKey||r.ctrlKey)){this.#J({kind:`toggle`,keys:[a],source:i});return}let o=this._columns[n],s=r?.shiftKey?this.#Y(o,n,o?o.indexOf(e):-1):void 0;if(s&&this.#t){this.#J({kind:`extend`,keys:s.map(e=>e.item.key),anchorKey:this.#t.key,targetKey:a,source:i});return}this.#J({kind:`replace`,keys:[a],source:i})}#Z(){if(this.#a!==void 0&&(clearTimeout(this.#a),this.#a=void 0),this.#i){let e=this.#r,n=this._loadingDepth;this.#i.abort(),this.#i=void 0,this.#r=void 0,this._loadingDepth=void 0,e&&n!==void 0&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}}#Q(e){let n=[];this.#S&&n.push(this.#S);for(let r=0;r<e;r++){let e=this._selectedByDepth.get(r);e&&n.push(e)}return n}#$(e){let n={depth:e,label:this.#xe(e),path:this.#Q(e)};this.dispatchEvent(new CustomEvent(`header-click`,{detail:n,bubbles:!0,composed:!0}))}#ee(e,n,r){switch(this._loadingDepth!==void 0&&this._loadingDepth>n&&this.#Z(),this.tickled.setTickled(this.#x(e,n)),this.#h=!1,this.#p=void 0,this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.interactionMode){case`implicit`:this.#te(e,n);break;case`standard`:this.#ne(e,n,r);break;case`vscode`:this.#ne(e,n,r);break;case`manual`:this.#X(e,n,r,`pointer`);break;case`checked`:this.#re(e,n,!0)}}#te(e,n){if(this.#J({kind:`replace`,keys:[e.item.key],source:`pointer`})){this.#e=e,this.#re(e,n,!0);return}let r=new Set(this._selectedNodes);this._selectedByDepth.set(n,e),this.#e=e,this._selectedKeys=new Set([e.item.key]),this._selectedNodes.clear(),this._selectedNodes.add(e),this.#re(e,n,!0),r.has(e)||this.#q(r)}#ne(e,n,r){let i=this._columns[n],a=i?i.indexOf(e):-1,o=r?r.metaKey||r.ctrlKey:!1,s=r?r.shiftKey:!1;if(o){if(this.#J({kind:`toggle`,keys:[e.item.key],source:`pointer`})){this.#t=a>=0?{key:e.item.key,depth:n,index:a}:this.#t;return}this._selectedKeys.has(e.item.key)?(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)):(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)),this.#t=a>=0?{key:e.item.key,depth:n,index:a}:this.#t,this.#T(),this.requestUpdate();return}if(s&&this.#t&&this.#t.depth===n&&i){let r=this.#Y(i,n,a)??[];if(this.#J({kind:`extend`,keys:r.map(e=>e.item.key),anchorKey:this.#t.key,targetKey:e.item.key,source:`pointer`}))return;this._selectedKeys=new Set(r.map(e=>e.item.key)),this._selectedNodes=new Set(r),this.#T(),this.requestUpdate();return}let c=this.#J({kind:`replace`,keys:[e.item.key],source:`pointer`}),l=new Set(this._selectedNodes);if(this.#t=a>=0?{key:e.item.key,depth:n,index:a}:void 0,c){this.#e=e,this.#re(e,n,!0);return}this._selectedKeys=new Set([e.item.key]),this._selectedNodes=new Set([e]),this._selectedByDepth.set(n,e),this.#e=e,this.#re(e,n,!0),(!l.has(e)||l.size!==1)&&this.#q(l)}#re(e,n,r=!1){if(this.#d=void 0,e.item.isLeaf){this._columns=this._columns.slice(0,n+1),this.requestUpdate();return}if(e.children===void 0)this.#ie(e,n,!0,r);else{let r=this._columns.slice(0,n+1);r.push(e.children),this._columns=r,this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}}#ie(e,n,r,i=!1){let a=n+1;this._columns=this._columns.slice(0,a),this._loadingDepth=a,this.#i?.abort(),this.#r=e;let o=new AbortController;this.#i=o,r&&this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}));let s=n=>{if(o.signal.aborted)return;e.children=n,this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0;let r=this._columns.slice(0,a);n.length>0&&r.push(n),this._columns=r,this.#E()&&this.#A()},c=n=>{n.name!==`AbortError`&&console.error(n),e.children=[],this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0,this.#E()&&this.#A(),this.requestUpdate()};if(this.model||this.loadChildren){this.#a!==void 0&&(clearTimeout(this.#a),this.#a=void 0);let n=()=>{this.#a=void 0,this.#r===e&&(this.model?this.model.getChildren(e,a-1,o.signal):Lg(this.loadChildren({node:e,depth:a-1},o.signal),o.signal)).then(e=>s([...e])).catch(c)};i?n():this.#a=setTimeout(n,150)}else{this._loadingDepth=void 0,this.#r=void 0,this.#i=void 0;let e=this._columns.slice(0,a);e.push([]),this._columns=e}}#ae(e){if(this.#J({kind:`toggle`,keys:[e.item.key],source:`pointer`}))return;let n=new Set(this._selectedNodes),r=this._selectedKeys.has(e.item.key);(e.children?.length?this.#oe(e):r)?this.#se(e,!1):this.#se(e,!0),this.requestUpdate(),this.#q(n)}#oe(e){return this._selectedKeys.has(e.item.key)?!e.children?.length||e.children.every(e=>this.#oe(e)):!1}#se(e,n){if(n?(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)):(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)),e.children)for(let r of e.children)this.#se(r,n)}#ce(){return this.#C()??0}#le(){let e=this.tickled.tickledId;if(!e)return;let n=e.indexOf(`:`);if(n<0)return;let r=Number(e.substring(0,n)),i=e.substring(n+1),a=this._columns[r];if(!a)return;let o=a.findIndex(e=>e.item.key===i);if(!(o<0))return{node:a[o],depth:r,index:o}}#ue(e=`smooth`,n=`edge`){requestAnimationFrame(()=>{let r=this.#le();if(!r)return;let i=this.shadowRoot?.querySelectorAll(`.column`)[r.depth]?.querySelector(`.column-content`);if(!i)return;let a=i.querySelectorAll(`.item`)[r.index];if(a){if(n===`center-if-hidden`){let n=a.getBoundingClientRect(),r=i.getBoundingClientRect(),o=n.top<r.top||n.bottom>r.bottom;a.scrollIntoView({block:o?`center`:`nearest`,inline:`nearest`,behavior:e});return}a.scrollIntoView({block:`nearest`,behavior:e})}})}#de(e,n){this.tickled.setTickled(this.#x(e,n)),this.#h=!0,this.#p=void 0,this.#u.notify(),this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}#fe(e){let n=this.shadowRoot?.querySelectorAll(`.column`)[e]?.querySelector(`.column-content`),r=n?.querySelector(`.item`);return!n||!r||r.offsetHeight===0?10:Math.max(1,Math.floor(n.clientHeight/r.offsetHeight)-1)}#pe(e,n,r,i,a=!1){let o=this.#le(),s=i(o!==void 0&&o.depth===n?o.index:-1),c=e[s];if(c){if(this.#de(c,n),this.interactionMode===`standard`||this.interactionMode===`vscode`){let i=o?.index??0;if(r.shiftKey){if(!this.#t||this.#t.depth!==n){let r=e[i];r&&(this.#t={key:r.item.key,depth:n,index:i,selectionSnapshot:this.interactionMode===`vscode`?new Set(this._selectedKeys):void 0})}if(this.#t){let n=Math.min(this.#t.index,s),r=Math.max(this.#t.index,s),i=e.slice(n,r+1).map(e=>e.item.key);if(!this.#J({kind:`extend`,keys:i,anchorKey:this.#t.key,targetKey:c.item.key,source:`keyboard`})){if(this.interactionMode===`vscode`){let e=this.#t.selectionSnapshot;for(let n of i)e.has(n)?this._selectedKeys.delete(n):this._selectedKeys.add(n)}else this._selectedKeys=new Set(i)}this.#T()}}else this.#t=this.interactionMode===`standard`?{key:c.item.key,depth:n,index:s}:void 0}this.requestUpdate(),a&&this.#ue(`auto`)}}#me;#he;#ge;#_e;#ve;#ye;#be;#xe(e){if(e===0)return this.#S?.item.label??``;let n=this._selectedByDepth.get(e-1);if(n)return n.item.label;let r=this._columns[e-1],i=this._columns[e];if(r&&i){let e=r.find(e=>e.children===i);if(e)return e.item.label}return``}#Se(e){return`width:${e}px;flex-grow:0;flex-shrink:0;flex-basis:auto;max-width:none`}#Ce(e,n){let r=this.#n.get(e);return r===void 0?this.stretchLastColumn&&n?`width:max-content;flex-grow:1;flex-shrink:0;flex-basis:auto;min-width:0`:`width:max-content;flex-grow:0;flex-shrink:0;flex-basis:auto`:this.#Se(r)}#we(e,n){return this.tickled.isTickled(this.#x(e,n))}renderLoadingIndicator(){return i`<div class="loading-spinner"></div>`}#Te(){let e=this._loadingDepth,n=this.stretchLastColumn&&this.#n.get(e)===void 0;return i`
|
|
10168
|
+
`}};E([d({type:Number})],TE.prototype,`value`,void 0),E([d({type:Boolean,attribute:`lit`,reflect:!0})],TE.prototype,`lit`,void 0),E([d({type:String})],TE.prototype,`color`,void 0),E([d({type:Boolean,attribute:`glow`,reflect:!0})],TE.prototype,`glow`,void 0),E([d({type:String,reflect:!0})],TE.prototype,`mode`,void 0),E([d({type:Boolean,attribute:`blinking`,reflect:!0})],TE.prototype,`blinking`,void 0),E([d({type:Number,attribute:`rate`})],TE.prototype,`rate`,void 0),E([d({type:Number,attribute:`attack-time`})],TE.prototype,`attackTime`,void 0),E([d({type:Number,attribute:`release-time`})],TE.prototype,`releaseTime`,void 0),E([d({type:Boolean,attribute:`pulse-retrigger`})],TE.prototype,`pulseRetrigger`,void 0),TE=E([T(`ixfx-led`)],TE);function EE(e){let n=[];for(let r=0;r<e.length-1;r++){let i=e[r+1],a=e[r].find(e=>e.children===i);if(!a)break;n.push(a.item.key)}return n}function DE(e,n){let r=[e],i=[],a=e;for(let e of n){let n=a.find(n=>n.item.key===e);if(!n)return{columns:r,nodes:i,blocked:void 0,done:!1};if(i.push(n),n.item.isLeaf===!0)return{columns:r,nodes:i,blocked:void 0,done:!0};if(n.children===void 0)return{columns:r,nodes:i,blocked:n,done:!1};r.push(n.children),a=n.children}return{columns:r,nodes:i,blocked:void 0,done:!0}}function OE(e){let n=new Map;for(let[r,i]of Object.entries(e)){let e=Number(r);Number.isInteger(e)&&e>=0&&typeof i==`number`&&Number.isFinite(i)&&i>0&&n.set(e,i)}return n}function kE(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function AE(e,n){return e.findIndex(e=>e.some(e=>e.item.key===n))}function jE(e){let n=new Map,r=[...e];for(;r.length>0;){let e=r.pop();n.set(e.item.key,e),e.children&&r.push(...e.children)}return n}function ME(e,n,r,i){let a=[...e].filter(e=>!r(e)),{present:o,missing:s}=ar(n,r);if(a.length===0&&o.length===0)return{live:e,pending:n,restored:[],changed:!1};if(i&&o.length>0){let e=o.at(-1);return{live:new Set([e]),pending:k,restored:[e],changed:!0}}return{live:new Set([...[...e].filter(r),...o]),pending:sr(a.length===0?s:new Set([...s,...a])),restored:o,changed:!0}}function NE(e,n,r,i,a){let o=DE(e,n),s=o.blocked!==void 0&&o.blocked===a,c=!s&&!kE(o.columns,r),l;if(c){l=new Map(o.nodes.map((e,n)=>[n,e]));let e=i.get(o.nodes.length);e&&o.columns[o.nodes.length]?.includes(e)&&l.set(o.nodes.length,e)}return{columns:c?o.columns:void 0,selectedByDepth:l,pending:o.done?void 0:n,load:o.blocked&&!s&&o.blocked.item.isLeaf!==!0?{node:o.blocked,depth:o.nodes.length-1}:void 0}}function PE(e,n,r,i,a,o,s){let c=ME(e,n,e=>a.has(e),s),l=[...c.live].map(e=>a.get(e));if(!c.changed&&l.length===r.size&&l.every(e=>r.has(e)))return;let u=c.restored.at(-1)??i?.item.key,d=[];for(let e of c.restored){let n=AE(o,e);n>=0&&d.push([n,a.get(e)])}return{keys:new Set(c.live),nodes:new Set(l),pending:c.pending,last:(u===void 0?void 0:a.get(u))??l.at(-1),placed:d,restored:c.restored.length>0}}function FE(e,n,r,i,a){let o=e!==void 0&&!i.has(e),s=r??(o&&n?e:void 0),c=s===void 0?-1:AE(a,s);return c<0?{clear:o,pending:s,tickle:void 0}:{clear:o,pending:void 0,tickle:{node:a[c].find(e=>e.item.key===s),depth:c}}}function IE(e,n,r,i){return{contents:[...e?.querySelectorAll(`.column:not(.loading-column) > .column-content`)??[]],parentKeys:r===void 0?[]:[r,...EE(n)],keysAt:e=>(n[e]??[]).filter(n=>!i||i(n,e)).map(e=>e.item.key)}}function LE(e,n,r){let i={};return e.forEach((e,a)=>{let o=n[a];if(o===void 0||e.scrollTop===0&&e.scrollLeft===0)return;let s=[...e.querySelectorAll(`.item`)],c=r(a);i[o]=a_(e,s,e=>c[s.indexOf(e)])}),i}function RE(e,n,r,i){let a;for(let[o,s]of e){let c=r.indexOf(o),l=n[c];if(c<0||!l)continue;let u;if(s.anchor){let e=i(c).indexOf(s.anchor.key),n=e<0?void 0:l.querySelectorAll(`.item`)[e];u=n?o_(l,n,s.anchor.offset):!1}else u=s_(l,s.top);u&&(a??=new Map(e),a.delete(o))}return a??e}let zE=class extends n{constructor(...e){super(...e),this.headers=!1,this.stretchLastColumn=!1,this.interactionMode=`standard`,this.selectionFilter=`leaf`,this.exclusivity=`none`,this._columns=[],this._selectedByDepth=new Map,this._selectedKeys=new Set,this._selectedNodes=new Set,this.#n=new Map,this.#o=-1,this.#s=0,this.#c=0,this.restoreLoads=!0,this.#u=new f_(this,{kind:`miller-list`,capture:()=>this.getViewState()}),this.#f=k,this.#m=new Map,this.#h=!1,this.#g=[],this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>{let e=[];for(let n=0;n<this._columns.length;n++){let r=this._columns[n];if(r)for(let i of r)e.push({id:this.#x(i,n)})}return e}}),this.#w=e=>{this.#m.size===0&&e.target.classList?.contains(`column-content`)&&this.#u.notify()},this._partialKeys=new Set,this._partialDescription=_r,this.#N=`user`,this.#P=!1,this.#me=e=>{if(this.search.isOpen)return;let n=this.#ce(),r=this._columns[n];if(!r||r.length===0){let e=this._columns[0];e&&e.length>0&&(this.tickled.setTickled(this.#x(e[0],0)),this.requestUpdate());return}switch(e.key){case`ArrowDown`:e.preventDefault(),this.#pe(r,n,e,e=>Math.min(e+1,r.length-1));break;case`ArrowUp`:e.preventDefault(),this.#pe(r,n,e,e=>Math.max(e-1,0));break;case`Home`:e.preventDefault(),this.#pe(r,n,e,()=>0,!0);break;case`End`:e.preventDefault(),this.#pe(r,n,e,()=>r.length-1,!0);break;case`PageUp`:e.preventDefault(),this.#pe(r,n,e,e=>Math.max(e-this.#fe(n),0),!0);break;case`PageDown`:e.preventDefault(),this.#pe(r,n,e,e=>Math.min(e+this.#fe(n),r.length-1),!0);break;case`ArrowRight`:{e.preventDefault();let i=this.#le();if(!i){r.length>0&&(this.#de(r[0],n),this.requestUpdate());return}let{node:a,depth:o}=i;if(this.interactionMode===`vscode`||this.interactionMode===`standard`?(this._selectedByDepth.set(o,a),this.#re(a,o)):this.#ee(a,o),this._columns.length>o+1){let e=this._columns[o+1];e&&e.length>0&&this.#de(e[0],o+1)}this.requestUpdate();break}case`ArrowLeft`:if(e.preventDefault(),n>0){this.#Z(),this.#d=void 0,this._columns=this._columns.slice(0,n);let e=this._columns[n-1];if(e&&e.length>0){let r=this._selectedByDepth.get(n-1),i=r&&e.includes(r)?r:e[0];this.#de(i,n-1)}this.requestUpdate()}break;case`Enter`:{e.preventDefault();let n=this.#le();if(!n)return;let{node:i,depth:a,index:o}=n;if(this.interactionMode===`standard`||this.interactionMode===`vscode`){if(e.shiftKey&&this.#t?.depth===a){let e=Math.min(this.#t.index,o),n=Math.max(this.#t.index,o);this._selectedKeys=new Set(r.slice(e,n+1).map(e=>e.item.key))}else this._selectedKeys.add(i.item.key),this.#t={key:i.item.key,depth:a,index:o};this.#T()}else this._selectedByDepth.set(a,i);this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:i,depth:a},bubbles:!0,composed:!0})),this.requestUpdate();break}case`Escape`:if(e.preventDefault(),this.#Z(),this._columns.length>1){this.#d=void 0,this._columns=this._columns.slice(0,-1);let e=Math.max(0,n-1),r=this._columns[e];if(r&&r.length>0){let n=this._selectedByDepth.get(e),i=n&&r.includes(n)?n:r[0];this.#de(i,e)}this.requestUpdate()}}},this.#he=(e,n)=>{e.preventDefault(),e.stopPropagation(),this.#o=n,this.#s=e.clientX;let r=this.shadowRoot?.querySelectorAll(`.column`)[n];this.#c=r?r.getBoundingClientRect().width:200,window.addEventListener(`pointermove`,this.#ve),window.addEventListener(`pointerup`,this.#be)},this.#ge=null,this.#_e=0,this.#ve=e=>{this.#o<0||(this.#_e=Math.max(32,this.#c+(e.clientX-this.#s)),this.#ge??=requestAnimationFrame(this.#ye))},this.#ye=()=>{this.#ge=null,!(this.#o<0)&&(this.shadowRoot?.querySelectorAll(`.column`)[this.#o])?.setAttribute(`style`,this.#Se(this.#_e))},this.#be=()=>{this.#ge!==null&&(cancelAnimationFrame(this.#ge),this.#ge=null),this.#o>=0&&this.#_e>0&&(this.#n.set(this.#o,this.#_e),this.#u.notify(),this.requestUpdate()),this.#_e=0,this.#o=-1,window.removeEventListener(`pointermove`,this.#ve),window.removeEventListener(`pointerup`,this.#be)}}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;get registry(){return this.#_}#y(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#b(){this.#_&&(this.search.setModes(this.#y()),this.#v?.(),this.#v=zt(this.#_,this.search))}#x(e,n){return`${n}:${e.item.key}`}get#S(){return this.viewRoot??this.root}#C(){let e=this.tickled.tickledId;if(!e)return;let n=e.indexOf(`:`);if(!(n<0))return Number(e.substring(0,n))}willUpdate(e){kE(this._columns,this.#g)||(this.#g=this._columns,this.#u.notify())}updated(e){if(e.has(`searchModes`)&&this.#b(),e.has(`root`)&&this.root){let e=this.viewRoot!==void 0,n=e?[]:EE(this._columns),r=this.#O();this.#Z(),e&&(this.viewRoot=void 0,this._selectedKeys=new Set,this._selectedNodes=new Set),this._selectedByDepth.clear(),this.#e=void 0,this.#t=void 0,this.tickled.clearTickled();let i=this.#S;this._columns=i?.children?[i.children]:[],this.#g=this._columns,n.length>0&&(this.#d??=n),r!==void 0&&(this.#p??=r),this.#A()}if(e.has(`viewRoot`)&&this.#L(),e.has(`model`)){this.#l?.(),this.#l=void 0;let e=this.model;e&&(this.root=e.root,this.#l=e._subscribe(e=>{if(e.type===`root`)this.root=e.root,this.requestUpdate();else if(e.type===`invalidate`){for(let n=0;n<this._columns.length-1;n++)if(this._columns[n]?.some(n=>n.item.key===e.key)){this._columns=this._columns.slice(0,n+1),this.requestUpdate();break}}}))}if(this.#r?.children!==void 0&&this._loadingDepth!==void 0){let e=this._loadingDepth,n=this.#r.children;this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0;let r=this._columns.slice(0,e);n.length>0&&r.push(n),this._columns=r,this.#E()&&this.#A()}if(this.#m.size>0){let{contents:e,parentKeys:n,keysAt:r}=this.#k();this.#m=RE(this.#m,e,n,r)}let n=e.get(`_columns`),r=e.has(`_columns`)&&(n?.length??0)<this._columns.length,i=e.has(`_loadingDepth`)&&this._loadingDepth!==void 0;if(r||i){let e=this.shadowRoot?.querySelector(`#container`);e?.scrollTo({left:e.scrollWidth,behavior:`smooth`})}}firstUpdated(){let e=this.shadowRoot?.querySelector(`#container`);e&&u_(e,()=>{this.#m=new Map}),this.renderRoot.addEventListener(`scroll`,this.#w,{capture:!0,passive:!0})}#w;connectedCallback(){super.connectedCallback(),this.#_??=Yt(),this.#b()}disconnectedCallback(){super.disconnectedCallback(),this.#l?.(),this.#l=void 0,this.#v?.(),this.#v=void 0,this.#_=void 0}getViewState(e){let n=e?.includePending??!0,{contents:r,parentKeys:i,keysAt:a}=this.#k();return this.#u.shape({selected:fr(this._selectedKeys,n?this.#f:[]),path:(n?this.#d:void 0)??EE(this._columns),focus:this.#O()??(n?this.#p:void 0),columnWidths:Object.fromEntries(this.#n),columnScroll:{...LE(r,i,a),...n?Object.fromEntries(this.#m):{}}},e)}setViewState(e){this.#u.accepts(e)&&(this.#u.restoring(()=>{if(e.path&&(this.#d=[...e.path]),e.selected){this.#f=sr(new Set(e.selected));let n=new Set(this._selectedNodes);this._selectedKeys=new Set,this._selectedNodes=new Set,this.#e=void 0,this.#t=void 0,n.size>0&&this.#q(n)}e.focus!==void 0&&(this.#p=e.focus),e.columnWidths&&(this.#n=OE(e.columnWidths),this.#u.notify()),e.columnScroll&&(this.#m=new Map(Object.entries(e.columnScroll))),this.#A()}),this.requestUpdate())}clearPendingViewState(){this.#d=void 0,this.#f=k,this.#p=void 0,this.#m=new Map}#T(){this.#u.isRestoring||(this.#f=k),this.#u.notify()}#E(){return this.#d!==void 0||this.#f.size>0||this.#p!==void 0}#D(){let e=this.tickled.tickledId,n=e?.indexOf(`:`)??-1;return e===void 0||n<0?void 0:e.substring(n+1)}#O(){return this.#h?this.#D():void 0}#k(){return IE(this.shadowRoot,this._columns,this.#S?.item.key,this.filterPredicate)}#A(){let e=this.#S?.children;if(!e)return;let n=jE(e);this.#u.restoring(()=>{this.#d&&this.#j(NE(e,this.#d,this._columns,this._selectedByDepth,this.#r));let r=PE(this._selectedKeys,this.#f,this._selectedNodes,this.#e,n,this._columns,this.interactionMode===`implicit`);r&&this.#M(r);let i=FE(this.#D(),this.#h,this.#p,n,this._columns);i.clear&&this.tickled.clearTickled(),this.#p=i.pending,i.tickle&&(this.tickled.setTickled(this.#x(i.tickle.node,i.tickle.depth)),this.#h=!0,this.#u.notify())})}#j(e){e.columns&&(this.#r&&this.#Z(),this._columns=e.columns,this._selectedByDepth=e.selectedByDepth),this.#d=e.pending,e.load&&this.restoreLoads&&(this.model||this.loadChildren)&&this.#ie(e.load.node,e.load.depth,!0,!0),kE(this._columns,this.#g)||(this.#g=this._columns,this.#u.notify())}#M(e){let n=this._selectedNodes;if(this._selectedKeys=e.keys,this._selectedNodes=e.nodes,this.#f=e.pending,this.#e=e.last,this.interactionMode===`implicit`)for(let[n,r]of e.placed)this._selectedByDepth.set(n,r);if(!e.restored){this.#u.notify();return}let r=this.#N;this.#N=`programmatic`;try{this.#q(n)}finally{this.#N=r}}get selectedKeys(){return this._selectedKeys}set selectedKeys(e){this._selectedKeys=new Set(e),this.#T(),this.requestUpdate()}get selectedNode(){return this.#e}set selectedNode(e){this.#e=e,e&&(this.interactionMode===`implicit`||this.interactionMode===`standard`)&&(this._selectedKeys=new Set([e.item.key]),this.#T()),this.requestUpdate()}get selectedNodes(){return this._selectedNodes}select(e){if(!this.#K(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.add(e),this._selectedKeys.add(e.item.key),this.#e=e,this.#q(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this._selectedKeys.delete(e.item.key),this.#e===e&&(this.#e=[...this._selectedNodes].at(-1)),this.#q(n),this.requestUpdate()}clearSelection(){this.#T();let e=new Set(this._selectedNodes);this._selectedKeys=new Set,this._selectedNodes.clear(),this.#e=void 0,e.size>0&&this.#q(e),this.requestUpdate()}selectAll(){}get partialKeys(){return this._partialKeys}set partialKeys(e){let n=new Set(e);yr(n,this._partialKeys)||(this._partialKeys=n)}_isPartial(e,n){return vr(e.item.key,this._partialKeys,this._isSelected(e,n))}deselectAll(){}setSelected(e,n){this.interactionMode===`checked`?this.#se(e,n):n?(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)):(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)),this.#T(),this.requestUpdate()}getSelected(){let e=[];for(let n of this._columns)for(let r of n)this._selectedKeys.has(r.item.key)&&e.push(r);return e}navigateTo(e,n={}){let r=this.#S;if(!r?.children)return!1;let i=this.#N,a=this.#P;this.#N=`programmatic`,this.#P=n.silent===!0;try{return this.#F(r.children,e,n.reveal??`edge`)}finally{this.#N=i,this.#P=a}}invalidateStructure(){let e=EE(this._columns);e.length>0&&(this.#d??=e),this.#A(),this.requestUpdate()}#N;#P;#F(e,n,r){this.#Z(),this.#d=void 0,this._selectedByDepth.clear(),this.tickled.clearTickled();let i=[e],a=e,o=!0,s,c=0;for(let e=0;e<n.length;e++){let r=a.findIndex(r=>r.item.key===n[e]);if(r<0){o=!1;break}let l=a[r];if(this._selectedByDepth.set(e,l),s=l,c=e,l.item.isLeaf||!l.children||l.children.length===0){e<n.length-1&&(o=!1);break}i.push(l.children),a=l.children}if(this._columns=i,s&&this.tickled.setTickled(this.#x(s,c)),this.interactionMode!==`implicit`&&this.interactionMode!==`manual`){let e=n.at(-1);e&&(this._selectedKeys=new Set([e]),this.#T())}return this.requestUpdate(),this.#ue(r===`center-if-hidden`?`auto`:`smooth`,r),o}navigateToNode(e){let n=this.#S;if(!n?.children)return!1;let r=this.#I(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#S;if(!n?.children)return!1;let r=this.#I(n.children,n=>n.item.key===e);if(!r)return!1;this.#d=void 0;let i=[n.children],a=n.children,o,s=0;for(let e=0;e<r.length;e++){let n=a.find(n=>n.item.key===r[e]);if(!n)return!1;if(o=n,s=e,n.children&&n.children.length>0)i.push(n.children),a=n.children;else break}return this._columns=i,o&&this.tickled.setTickled(this.#x(o,s)),this.requestUpdate(),this.#ue(),!0}selectMany(e){let n=this.selectionFilter===`none`?[]:[...e],r=new Set(this._selectedNodes);this._selectedNodes=new Set(n),this._selectedKeys=new Set(n.map(e=>e.item.key)),this.#e=n.at(-1),this.#q(r),this.requestUpdate()}getNodes(){let e=this.#S;if(!e?.children)return[];let n=[],r=(e,i)=>{if(n.push({node:e,depth:i}),e.children)for(let n of e.children)r(n,i+1)};for(let n of e.children)r(n,0);return n}#I(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#I(i.children,n,e);if(r)return r}}}#L(){this.#Z();let e=new Set(this._selectedNodes);this._selectedByDepth.clear(),this._selectedKeys=new Set,this._selectedNodes.clear(),this.#e=void 0,this.#t=void 0,this.tickled.clearTickled();let n=this.#S;n?.children===void 0?n?(this._columns=[],this.#ie(n,-1,!1)):(this._columns=[],this._loadingDepth=void 0):(this._columns=n.children?[n.children]:[],this._loadingDepth=void 0),e.size>0&&this.#q(e),this.#E()&&this.#A()}rebaseTo(e){if(e===void 0)return this.#R();let n=typeof e==`string`?this.#B(e):e;return!n||n.item.isLeaf===!0||n===this.viewRoot||n.item.key===this.viewRoot?.item.key?!1:n===this.root||!this.viewRoot&&n.item.key===this.root?.item.key?this.#R():(this.viewRoot=n,this.#z(),!0)}rebaseUp(){if(!this.viewRoot)return!1;let e=this.#H(this.viewRoot);return e?e===this.root?this.#R():(this.viewRoot=e,this.#z(),!0):!1}#R(){return this.viewRoot!==void 0&&(this.viewRoot=void 0,this.#z(),!0)}#z(){this.#d=void 0;let e=this.viewRoot,n={viewRoot:e,path:e?this.#W(e):[]};this.dispatchEvent(new CustomEvent(`rebase`,{detail:n,bubbles:!0,composed:!0}))}#B(e){if(this.root)return this.root.item.key===e?this.root:this.#V(this.root.children??[],e)}#V(e,n){for(let r of e){if(r.item.key===n)return r;if(r.children){let e=this.#V(r.children,n);if(e)return e}}}#H(e){if(!(!this.root||e===this.root))return this.#U(this.root,e)}#U(e,n){if(e.children)for(let r of e.children){if(r===n||r.item.key===n.item.key)return e;let i=this.#U(r,n);if(i)return i}}#W(e){let n=[e],r=this.#H(e);for(;r&&(n.unshift(r),r!==this.root);)r=this.#H(r);return n}renderColumnContent(e,n){return console.warn(`ixfx-miller-base: renderColumnContent not overridden. depth=${n}, nodes=${e.length}`),a}_handleItemClick(e,n,r){this.#ee(e,n,r)}_handleCheckboxClick(e,n,r){e.stopPropagation(),this.#ae(n)}_handleItemDblClick(e,n,r){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}_handleItemRightClick(e,n,r){this.dispatchEvent(new CustomEvent(`item-rightclick`,{detail:{node:e,depth:n,mouseEvent:r},bubbles:!0,composed:!0}))}_handleHeaderRightClick(e,n){let r=this.#xe(n),i=this.#Q(n);this.dispatchEvent(new CustomEvent(`header-rightclick`,{detail:{depth:n,label:r,path:i,mouseEvent:e},bubbles:!0,composed:!0}))}_isSelected(e,n){return this.interactionMode===`implicit`?this._selectedByDepth.get(n)===e:this._selectedKeys.has(e.item.key)}#G(e,n){let r=this._columns[n+1];return r!==void 0&&e.children===r}_isOpen(e,n){return this.#G(e,n)}getItemState(e,n){let r=this._columns[n]?.find(n=>n.item.key===e);if(r)return{selected:this._isSelected(r,n),open:this.#G(r,n),focused:this._isFocused(r,n),isLeaf:r.item.isLeaf??!1}}#K(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf!==!1:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#q(e){if(this.#T(),this.#P)return;let n={selected:new Set(this._selectedNodes),previous:e,origin:this.#N};this.dispatchEvent(new CustomEvent(`select`,{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`list-select`,{detail:{selectedKeys:new Set(this._selectedKeys),previousKeys:new Set([...e].map(e=>e.item.key)),previous:e},bubbles:!0,composed:!0}))}#J(e){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:e,bubbles:!0,composed:!0,cancelable:!0}))}#Y(e,n,r){if(!(!this.#t||this.#t.depth!==n||!e||r<0))return e.slice(Math.min(this.#t.index,r),Math.max(this.#t.index,r)+1)}#X(e,n,r,i){let a=e.item.key;if(r&&(r.metaKey||r.ctrlKey)){this.#J({kind:`toggle`,keys:[a],source:i});return}let o=this._columns[n],s=r?.shiftKey?this.#Y(o,n,o?o.indexOf(e):-1):void 0;if(s&&this.#t){this.#J({kind:`extend`,keys:s.map(e=>e.item.key),anchorKey:this.#t.key,targetKey:a,source:i});return}this.#J({kind:`replace`,keys:[a],source:i})}#Z(){if(this.#a!==void 0&&(clearTimeout(this.#a),this.#a=void 0),this.#i){let e=this.#r,n=this._loadingDepth;this.#i.abort(),this.#i=void 0,this.#r=void 0,this._loadingDepth=void 0,e&&n!==void 0&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}}#Q(e){let n=[];this.#S&&n.push(this.#S);for(let r=0;r<e;r++){let e=this._selectedByDepth.get(r);e&&n.push(e)}return n}#$(e){let n={depth:e,label:this.#xe(e),path:this.#Q(e)};this.dispatchEvent(new CustomEvent(`header-click`,{detail:n,bubbles:!0,composed:!0}))}#ee(e,n,r){switch(this._loadingDepth!==void 0&&this._loadingDepth>n&&this.#Z(),this.tickled.setTickled(this.#x(e,n)),this.#h=!1,this.#p=void 0,this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e,depth:n},bubbles:!0,composed:!0})),this.interactionMode){case`implicit`:this.#te(e,n);break;case`standard`:this.#ne(e,n,r);break;case`vscode`:this.#ne(e,n,r);break;case`manual`:this.#X(e,n,r,`pointer`);break;case`checked`:this.#re(e,n,!0)}}#te(e,n){if(this.#J({kind:`replace`,keys:[e.item.key],source:`pointer`})){this.#e=e,this.#re(e,n,!0);return}let r=new Set(this._selectedNodes);this._selectedByDepth.set(n,e),this.#e=e,this._selectedKeys=new Set([e.item.key]),this._selectedNodes.clear(),this._selectedNodes.add(e),this.#re(e,n,!0),r.has(e)||this.#q(r)}#ne(e,n,r){let i=this._columns[n],a=i?i.indexOf(e):-1,o=r?r.metaKey||r.ctrlKey:!1,s=r?r.shiftKey:!1;if(o){if(this.#J({kind:`toggle`,keys:[e.item.key],source:`pointer`})){this.#t=a>=0?{key:e.item.key,depth:n,index:a}:this.#t;return}this._selectedKeys.has(e.item.key)?(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)):(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)),this.#t=a>=0?{key:e.item.key,depth:n,index:a}:this.#t,this.#T(),this.requestUpdate();return}if(s&&this.#t&&this.#t.depth===n&&i){let r=this.#Y(i,n,a)??[];if(this.#J({kind:`extend`,keys:r.map(e=>e.item.key),anchorKey:this.#t.key,targetKey:e.item.key,source:`pointer`}))return;this._selectedKeys=new Set(r.map(e=>e.item.key)),this._selectedNodes=new Set(r),this.#T(),this.requestUpdate();return}let c=this.#J({kind:`replace`,keys:[e.item.key],source:`pointer`}),l=new Set(this._selectedNodes);if(this.#t=a>=0?{key:e.item.key,depth:n,index:a}:void 0,c){this.#e=e,this.#re(e,n,!0);return}this._selectedKeys=new Set([e.item.key]),this._selectedNodes=new Set([e]),this._selectedByDepth.set(n,e),this.#e=e,this.#re(e,n,!0),(!l.has(e)||l.size!==1)&&this.#q(l)}#re(e,n,r=!1){if(this.#d=void 0,e.item.isLeaf){this._columns=this._columns.slice(0,n+1),this.requestUpdate();return}if(e.children===void 0)this.#ie(e,n,!0,r);else{let r=this._columns.slice(0,n+1);r.push(e.children),this._columns=r,this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}}#ie(e,n,r,i=!1){let a=n+1;this._columns=this._columns.slice(0,a),this._loadingDepth=a,this.#i?.abort(),this.#r=e;let o=new AbortController;this.#i=o,r&&this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}));let s=n=>{if(o.signal.aborted)return;e.children=n,this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0;let r=this._columns.slice(0,a);n.length>0&&r.push(n),this._columns=r,this.#E()&&this.#A()},c=n=>{n.name!==`AbortError`&&console.error(n),e.children=[],this.#r=void 0,this.#i=void 0,this._loadingDepth=void 0,this.#E()&&this.#A(),this.requestUpdate()};if(this.model||this.loadChildren){this.#a!==void 0&&(clearTimeout(this.#a),this.#a=void 0);let n=()=>{this.#a=void 0,this.#r===e&&(this.model?this.model.getChildren(e,a-1,o.signal):Rg(this.loadChildren({node:e,depth:a-1},o.signal),o.signal)).then(e=>s([...e])).catch(c)};i?n():this.#a=setTimeout(n,150)}else{this._loadingDepth=void 0,this.#r=void 0,this.#i=void 0;let e=this._columns.slice(0,a);e.push([]),this._columns=e}}#ae(e){if(this.#J({kind:`toggle`,keys:[e.item.key],source:`pointer`}))return;let n=new Set(this._selectedNodes),r=this._selectedKeys.has(e.item.key);(e.children?.length?this.#oe(e):r)?this.#se(e,!1):this.#se(e,!0),this.requestUpdate(),this.#q(n)}#oe(e){return this._selectedKeys.has(e.item.key)?!e.children?.length||e.children.every(e=>this.#oe(e)):!1}#se(e,n){if(n?(this._selectedKeys.add(e.item.key),this._selectedNodes.add(e)):(this._selectedKeys.delete(e.item.key),this._selectedNodes.delete(e)),e.children)for(let r of e.children)this.#se(r,n)}#ce(){return this.#C()??0}#le(){let e=this.tickled.tickledId;if(!e)return;let n=e.indexOf(`:`);if(n<0)return;let r=Number(e.substring(0,n)),i=e.substring(n+1),a=this._columns[r];if(!a)return;let o=a.findIndex(e=>e.item.key===i);if(!(o<0))return{node:a[o],depth:r,index:o}}#ue(e=`smooth`,n=`edge`){requestAnimationFrame(()=>{let r=this.#le();if(!r)return;let i=this.shadowRoot?.querySelectorAll(`.column`)[r.depth]?.querySelector(`.column-content`);if(!i)return;let a=i.querySelectorAll(`.item`)[r.index];if(a){if(n===`center-if-hidden`){let n=a.getBoundingClientRect(),r=i.getBoundingClientRect(),o=n.top<r.top||n.bottom>r.bottom;a.scrollIntoView({block:o?`center`:`nearest`,inline:`nearest`,behavior:e});return}a.scrollIntoView({block:`nearest`,behavior:e})}})}#de(e,n){this.tickled.setTickled(this.#x(e,n)),this.#h=!0,this.#p=void 0,this.#u.notify(),this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:e,depth:n},bubbles:!0,composed:!0}))}#fe(e){let n=this.shadowRoot?.querySelectorAll(`.column`)[e]?.querySelector(`.column-content`),r=n?.querySelector(`.item`);return!n||!r||r.offsetHeight===0?10:Math.max(1,Math.floor(n.clientHeight/r.offsetHeight)-1)}#pe(e,n,r,i,a=!1){let o=this.#le(),s=i(o!==void 0&&o.depth===n?o.index:-1),c=e[s];if(c){if(this.#de(c,n),this.interactionMode===`standard`||this.interactionMode===`vscode`){let i=o?.index??0;if(r.shiftKey){if(!this.#t||this.#t.depth!==n){let r=e[i];r&&(this.#t={key:r.item.key,depth:n,index:i,selectionSnapshot:this.interactionMode===`vscode`?new Set(this._selectedKeys):void 0})}if(this.#t){let n=Math.min(this.#t.index,s),r=Math.max(this.#t.index,s),i=e.slice(n,r+1).map(e=>e.item.key);if(!this.#J({kind:`extend`,keys:i,anchorKey:this.#t.key,targetKey:c.item.key,source:`keyboard`})){if(this.interactionMode===`vscode`){let e=this.#t.selectionSnapshot;for(let n of i)e.has(n)?this._selectedKeys.delete(n):this._selectedKeys.add(n)}else this._selectedKeys=new Set(i)}this.#T()}}else this.#t=this.interactionMode===`standard`?{key:c.item.key,depth:n,index:s}:void 0}this.requestUpdate(),a&&this.#ue(`auto`)}}#me;#he;#ge;#_e;#ve;#ye;#be;#xe(e){if(e===0)return this.#S?.item.label??``;let n=this._selectedByDepth.get(e-1);if(n)return n.item.label;let r=this._columns[e-1],i=this._columns[e];if(r&&i){let e=r.find(e=>e.children===i);if(e)return e.item.label}return``}#Se(e){return`width:${e}px;flex-grow:0;flex-shrink:0;flex-basis:auto;max-width:none`}#Ce(e,n){let r=this.#n.get(e);return r===void 0?this.stretchLastColumn&&n?`width:max-content;flex-grow:1;flex-shrink:0;flex-basis:auto;min-width:0`:`width:max-content;flex-grow:0;flex-shrink:0;flex-basis:auto`:this.#Se(r)}#we(e,n){return this.tickled.isTickled(this.#x(e,n))}renderLoadingIndicator(){return i`<div class="loading-spinner"></div>`}#Te(){let e=this._loadingDepth,n=this.stretchLastColumn&&this.#n.get(e)===void 0;return i`
|
|
10161
10169
|
<div class="column loading-column ${n?`stretch-last`:``}" style=${this.#Ce(e,!0)}>
|
|
10162
10170
|
${this.headers?i`
|
|
10163
10171
|
<div class="column-header">${this.#xe(e)}</div>
|
|
@@ -10314,7 +10322,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10314
10322
|
>
|
|
10315
10323
|
${e.map(e=>this.#e(e,n))}
|
|
10316
10324
|
</ul>
|
|
10317
|
-
`}#e(e,n){let r=this._isSelected(e,n),o=this._isPartial(e,n),s=this._isFocused(e,n),c=this._isOpen(e,n),l=e.item.isLeaf!==!0,u=e.item.icon,d=
|
|
10325
|
+
`}#e(e,n){let r=this._isSelected(e,n),o=this._isPartial(e,n),s=this._isFocused(e,n),c=this._isOpen(e,n),l=e.item.isLeaf!==!0,u=e.item.icon,d=C_(e.item.iconColor),f=C_(e.item.textColor),p=S_(e.item.badge)?void 0:e.item.badge,m=e.item.tooltip,h=this.interactionMode===`checked`,g=a;if(h){let r=o?`indeterminate`:VE(e,this._selectedKeys);g=i`
|
|
10318
10326
|
<input
|
|
10319
10327
|
type="checkbox"
|
|
10320
10328
|
class="item-checkbox"
|
|
@@ -10436,7 +10444,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10436
10444
|
}
|
|
10437
10445
|
|
|
10438
10446
|
|
|
10439
|
-
`]}};HE=E([T(`ixfx-miller-list`)],HE);var UE=class{#e;#t;#n;#r=new WeakMap;#i=new Map;#a=new Map;#o=new Map;#s=new WeakMap;#c;constructor(e,n,r){this.#e=e,this.#t=n,this.#n=r}connect(){this.disconnect(),this.#c=new AbortController,this.#s=new WeakMap,this.#i.clear(),this.#o.clear(),this.#a.clear();let e={item:this.#f(this.#e)};this.#r.set(e,this.#e),e.children=this.#p(this.#e),this.#t.root=e,this.#t.loadChildren=this.#n.loadChildren??(({node:e})=>{let n=this.#r.get(e);return n?this.#p(n):[]})}disconnect(){this.#c?.abort(),this.#c=void 0,this.#t.loadChildren=void 0}navigateToValue(e,n){let r=this.#_(this.#e,e);return r?this.#l(r,n):!1}navigateToKeyPath(e,n){let r=this.#t.viewRoot??this.#t.root;if(!r||e.length===0)return!1;this.#u(r);let i=r.children??[];for(let n=0;n<e.length-1;n++){let r=i.find(r=>r.item.key===e[n]);if(!r)return!1;this.#u(r),i=r.children??[]}return this.#t.navigateTo(e,n)}navigateToIdentity(e,n){let r=this.#d(e);if(!r)return!1;let i=[],a=this.#e.getIdentity();for(let e=r;e;e=e.getParent())if(i.unshift(e),e.getIdentity()===a)return this.#l(i,n);return!1}lookupByKey(e){return this.#a.get(e)}sync(){let e=this.#t.root;if(!e)return;this.#s=new WeakMap,this.#i.clear(),this.#o.clear(),this.#a.clear(),this.#r.set(e,this.#e),e.item=this.#f(this.#e);let n=new Set([e]);e.children&&this.#g(this.#e,e.children,n);let r=this.#t.viewRoot;r&&!n.has(r)&&(this.#t.viewRoot=void 0),this.#t.invalidateStructure()}#l(e,n){let r=this.#t.viewRoot??this.#t.root;if(!r)return!1;let i=1;if(this.#t.viewRoot){let n=this.#r.get(r);if(!n)return!1;let a=n.getIdentity(),o=e.findIndex(e=>e.getIdentity()===a);if(o<0)return!1;i=o+1}return i>=e.length?!1:this.navigateToKeyPath(e.slice(i).map(e=>this.#f(e).key),n)}#u(e){if(e.children!==void 0)return;let n=this.#r.get(e);n&&(e.children=this.#p(n))}#d(e){return this.#o.get(e)}#f(e){let n=e.getIdentity(),r=this.#s.get(n);return r||(r=this.#n.valueToItem(e.getValue(),e),this.#s.set(n,r)),r}#p(e){return Array.from(e.children(),e=>this.#m(e))}#m(e){let n=[...e.children()];for(let e of n)this.#o.set(e.getIdentity(),e);let r=this.#f(e),i=r.isLeaf??n.length===0,a={item:{...r,isLeaf:i},children:i?[]:void 0};return this.#h(a,e),a}#h(e,n){this.#r.set(e,n),this.#i.set(n.getIdentity(),e),this.#o.set(n.getIdentity(),n),this.#a.set(e.item.key,n)}#g(e,n,r){let i=new Map(n.map(e=>[e.item.key,e])),a=Array.from(e.children(),e=>{let n=this.#m(e),a=i.get(n.item.key);return a?(a.item=n.item,this.#h(a,e),r.add(a),n.item.isLeaf?a.children=[]:a.children===void 0?a.children=void 0:this.#g(e,a.children,r),a):(r.add(n),n)});n.splice(0,n.length,...a)}#_(e,n,r=[]){let i=[...r,e];if(n(e.getValue()))return i;for(let r of e.children()){let e=this.#_(r,n,i);if(e)return e}}};function WE(e){return e.children!==void 0&&e.children.length>0}function GE(e){return e.flatMap(e=>WE(e)?GE(e.children):[e])}function KE(e,n){for(let r of e){if(r.key===n)return r;let e=r.children?KE(r.children,n):void 0;if(e)return e}}function qE(e,n){return GE(e).find(e=>e.key===n)}const JE=e=>e===`asc`||e===`desc`;function YE(e){if(!Array.isArray(e))return[];let n=new Set,r=[];for(let i of e){if(typeof i!=`object`||!i)continue;let e=i;typeof e.id!=`string`||typeof e.categoryKey!=`string`||n.has(e.id)||(n.add(e.id),r.push({id:e.id,categoryKey:e.categoryKey,sort:JE(e.sort)?e.sort:`asc`,grouped:e.grouped===!0,...typeof e.menu==`boolean`?{menu:e.menu}:{},...typeof e.width==`number`&&Number.isFinite(e.width)?{width:e.width}:{}}))}return r}function XE(e,n){let r=[],i=[];return e.forEach((e,a)=>{n(e.categoryKey)?r.push(e):i.push({state:e,index:a})}),{ready:r,pending:i}}function ZE(e,n){if(e.length===0)return{ready:[],pending:e};let r=e.filter(e=>n(e.state.categoryKey));return r.length===0?{ready:r,pending:e}:{ready:r,pending:e.filter(e=>!n(e.state.categoryKey))}}function QE(e,n){let r=[...e];for(let e of[...n].sort((e,n)=>e.index-n.index))r.splice(Math.min(e.index,r.length),0,e.state);return r}function $E(e,n,r){let i=e.filter(r),a=i.length===e.length?[]:e.filter(e=>!r(e)),{present:o,missing:s}=ar(n,r);if(a.length===0&&o.length===0)return{selected:e,pending:n,restored:!1,changed:!1};let c=a.length===0?s:sr(new Set([...s,...a])),l=o.filter(e=>!i.includes(e));return{selected:[...i,...l],pending:c,restored:l.length>0,changed:a.length>0||l.length>0}}function eD(e){return Array.isArray(e)?sr(new Set(e.filter(e=>typeof e==`string`))):k}function tD(e){return typeof e==`object`&&!!e&&typeof e.top==`number`}function nD(e,n){let r=new Map;if(typeof e!=`object`||!e)return r;for(let[i,a]of Object.entries(e)){let e=n(a);e!==void 0&&r.set(i,e)}return r}const rD=e=>e.dataset.key;function iD(e){return[...e.querySelectorAll(`li[data-key]`)]}function aD(e){return i_(e,iD(e),rD)}function oD(e,n){let r=n.anchor;if(!r)return o_(e,n.top);let i=iD(e).find(e=>rD(e)===r.key);return i?a_(e,i,r.offset):!1}const sD=`__all__`;function cD(e,n){let r=n===`desc`?-1:1;return[...e].sort((e,n)=>r*e.label.localeCompare(n.label,void 0,{sensitivity:`base`,numeric:!0}))}function lD(e,n,r,i){if(r===0)return{insert:0,caretOffset:0};let a=2**53-1,o=i;for(let s=0;s<r;s++){if(s===i)continue;let r=e[s],c=e[s+1]??e[e.length-1],l=(r+c)/2,u=Math.abs(n-(n<l?r:c));u<a&&(a=u,o=n<l?s:s+1)}let s=o>i?o-1:o;return{insert:Math.max(0,Math.min(r-1,s)),caretOffset:e[o]??e[e.length-1]}}var uD=class{#e;#t;#n;#r;#i;#a;#o;#s=void 0;#c;#l;#u;#d=[];#f=!0;#p=[];#m=k;#h=k;#g;#_;#v=!1;#y=0;#b;constructor(e){this.id=e.id,this.#e=e.category,this.#t=e.categoryDefaults,this.#n=e.selectionMode,this.#r=e.dataProvider,this.#i=e.onSelectionChange,this.#a=e.onRequestData,this.#o=e.onScroll,this.#b={id:e.id,categoryKey:e.category.key,sort:e.categoryDefaults?.sort??`asc`,grouped:e.categoryDefaults?.grouped??!1,menu:e.categoryDefaults?.menu??!0,width:220}}get state(){return this.getState()}get categoryKey(){return this.#e.key}get menu(){return this.#b.menu}getState(){return{...this.#b}}updateState(e){let n=e;if(e.width!==void 0&&!Number.isFinite(e.width)){let{width:r,...i}=e;n=i}let r=n.sort!==void 0&&n.sort!==this.#b.sort,i=n.grouped!==void 0&&n.grouped!==this.#b.grouped;this.#b={...this.#b,...n},r&&this.#C(),i&&this.#w()}setWidth(e){Number.isFinite(e)&&(this.#b={...this.#b,width:Math.max(80,Math.min(480,Math.round(e)))})}setSort(e){e!==this.#b.sort&&(this.#b={...this.#b,sort:e},this.#C())}setGrouped(e){e!==this.#b.grouped&&(this.#b={...this.#b,grouped:e},this.#w())}setSelectionMode(e){if(e!==this.#n){this.#n=e;for(let n of this.#T())n.selectionMode=e}}setCategory(e){this.#e=e,this.#t=e.defaults,this.#b={...this.#b,categoryKey:e.key,sort:e.defaults?.sort??`asc`,grouped:e.defaults?.grouped??!1,menu:e.defaults?.menu??!0},this.#h=k,this.#g=void 0,this.#m=k,this.#D(`data`),this.#w()}get listerHost(){return this.#c}get isMounted(){return this.#c!==void 0}setDataProvider(e){this.#r=e}mount(e){if(this.#c)return;this.#c=e;let n=document.createElement(`div`);n.className=`all-row`,n.dataset.key=sD,n.setAttribute(`role`,`button`),n.setAttribute(`tabindex`,`0`);let r=document.createElement(`span`);r.className=`all-label`,n.appendChild(r);let i=()=>{this.#f||this.#D(`user`)};n.addEventListener(`click`,i),n.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())}),this.#l=n;let a=document.createElement(`ixfx-grouped-item-lister`);a.crossGroupSelection=!0,a.factory=()=>eC(dD,{selectionMode:this.#n,interactionMode:`standard`}),a.addEventListener(`select`,this.#E),this.#u=a,this.#w(),this.#j(),e.append(n,a),e.addEventListener(`scroll`,this.#k,{passive:!0}),this.#_=l_(e,()=>{this.#g=void 0}),this.#p.length>0&&(this.#S(),this.#A())}unmount(){this.#M(),this.#c?.removeEventListener(`scroll`,this.#k),this.#_?.(),this.#_=void 0,this.#l?.remove(),this.#u?.remove(),this.#l=void 0,this.#u=void 0,this.#c=void 0}requestData(e){if(!this.#r)return;this.#M();let n=new AbortController;this.#s=n;let{signal:r}=n;this.#a(this.id,e,r),Promise.resolve().then(async()=>{let n=await Lg(this.#r(e,r),r);r.aborted||this.#x(n)}).catch(()=>{})}#x(e){this.#p=e;let n=new Set(e.map(e=>e.key));this.#m=n;let r=$E(this.#d,this.#h,e=>n.has(e));this.#h=r.pending,this.#d=r.selected,this.#f=r.selected.length===0,this.#u&&(this.#S(),this.#A()),r.changed&&this.#i(this.id,r.selected,r.restored?`restore`:`data`)}#S(){if(!this.#u)return;let e=cD(this.#p,this.#b.sort);this.#u.provider=()=>e}#C(){!this.#u||this.#p.length===0||(this.#S(),this.#A())}#w(){if(!this.#u)return;let e=this.#t?.groupBy;this.#u.groupBy=e,this.#u.grouped=this.#b.grouped&&e!==void 0,this.#p.length>0&&this.#A()}#T(){return this.#u?this.#u.querySelectorAll(`:scope > .ungrouped-host > *, :scope > ixfx-panel > *`):[]}#E=()=>{if(this.#v||this.#y>0)return;let e=[...this.#u?.selectedItems??[]].map(e=>e.key).filter(e=>e!==sD);if(e.length===this.#d.length&&e.every(e=>this.#d.includes(e))){this.#j();return}this.#d=e,this.#f=e.length===0,this.#j(),this.#i(this.id,e,`user`)};#D(e){let n=this.#d;this.#v=!0;try{this.#d=[],this.#f=!0;for(let e of this.#T())e.clearSelection()}finally{this.#v=!1}this.#j(),n.length>0&&this.#i(this.id,[],e)}clearSelection(){this.#D(`user`)}get selectedValues(){return this.#d}get pendingSelection(){return this.#h}restoreSelection(e){let n=this.#d,r=$E([],sr(e),e=>this.#m.has(e));this.#h=r.pending,this.#d=r.selected,this.#f=r.selected.length===0,this.#A(),this.#j(),n.length===r.selected.length&&n.every(e=>r.selected.includes(e))||this.#i(this.id,r.selected,`restore`)}clearPendingSelection(){this.#h=k}get pendingScroll(){return this.#g}captureScroll(){return this.#c?aD(this.#c):void 0}restoreScroll(e){this.#g=e,this.#O()}clearPendingScroll(){this.#g=void 0}#O(){let e=this.#g;!e||!this.#c||oD(this.#c,e)&&(this.#g=void 0)}#k=()=>{this.#g||this.#o?.(this.id)};#A(){this.#u&&(this.#y++,this.#u.updateComplete.finally(()=>{this.#y--}).then(()=>{if(!(!this.#u||!this.#c)){this.#v=!0;try{let e=this.#d;for(let n of this.#u.querySelectorAll(`ixfx-vertical-list`))n.selectKeys(e);let n=[...this.#u.selectedItems].map(e=>e.key).filter(e=>e!==sD);this.#d=n,this.#f=n.length===0}finally{this.#v=!1}this.#j(),this.#O()}}))}#j(){if(!this.#l)return;let e=this.#t?.allLabel??`All`,n=this.#l.querySelector(`.all-label`);n&&(n.textContent=e),this.#l.toggleAttribute(`data-selected`,this.#f)}#M(){this.#s&&=(this.#s.abort(),void 0)}};function dD(e){let n=document.createElement(`li`);n.dataset.key=e.key;let r=document.createElement(`span`);if(r.className=`item-label`,r.textContent=e.label,n.appendChild(r),e.count!==void 0){let r=document.createElement(`span`);r.className=`count`,r.textContent=String(e.count),n.appendChild(r)}return n}const fD=r`
|
|
10447
|
+
`]}};HE=E([T(`ixfx-miller-list`)],HE);var UE=class{#e;#t;#n;#r=new WeakMap;#i=new Map;#a=new Map;#o=new Map;#s=new WeakMap;#c;constructor(e,n,r){this.#e=e,this.#t=n,this.#n=r}connect(){this.disconnect(),this.#c=new AbortController,this.#s=new WeakMap,this.#i.clear(),this.#o.clear(),this.#a.clear();let e={item:this.#f(this.#e)};this.#r.set(e,this.#e),e.children=this.#p(this.#e),this.#t.root=e,this.#t.loadChildren=this.#n.loadChildren??(({node:e})=>{let n=this.#r.get(e);return n?this.#p(n):[]})}disconnect(){this.#c?.abort(),this.#c=void 0,this.#t.loadChildren=void 0}navigateToValue(e,n){let r=this.#_(this.#e,e);return r?this.#l(r,n):!1}navigateToKeyPath(e,n){let r=this.#t.viewRoot??this.#t.root;if(!r||e.length===0)return!1;this.#u(r);let i=r.children??[];for(let n=0;n<e.length-1;n++){let r=i.find(r=>r.item.key===e[n]);if(!r)return!1;this.#u(r),i=r.children??[]}return this.#t.navigateTo(e,n)}navigateToIdentity(e,n){let r=this.#d(e);if(!r)return!1;let i=[],a=this.#e.getIdentity();for(let e=r;e;e=e.getParent())if(i.unshift(e),e.getIdentity()===a)return this.#l(i,n);return!1}lookupByKey(e){return this.#a.get(e)}sync(){let e=this.#t.root;if(!e)return;this.#s=new WeakMap,this.#i.clear(),this.#o.clear(),this.#a.clear(),this.#r.set(e,this.#e),e.item=this.#f(this.#e);let n=new Set([e]);e.children&&this.#g(this.#e,e.children,n);let r=this.#t.viewRoot;r&&!n.has(r)&&(this.#t.viewRoot=void 0),this.#t.invalidateStructure()}#l(e,n){let r=this.#t.viewRoot??this.#t.root;if(!r)return!1;let i=1;if(this.#t.viewRoot){let n=this.#r.get(r);if(!n)return!1;let a=n.getIdentity(),o=e.findIndex(e=>e.getIdentity()===a);if(o<0)return!1;i=o+1}return i>=e.length?!1:this.navigateToKeyPath(e.slice(i).map(e=>this.#f(e).key),n)}#u(e){if(e.children!==void 0)return;let n=this.#r.get(e);n&&(e.children=this.#p(n))}#d(e){return this.#o.get(e)}#f(e){let n=e.getIdentity(),r=this.#s.get(n);return r||(r=this.#n.valueToItem(e.getValue(),e),this.#s.set(n,r)),r}#p(e){return Array.from(e.children(),e=>this.#m(e))}#m(e){let n=[...e.children()];for(let e of n)this.#o.set(e.getIdentity(),e);let r=this.#f(e),i=r.isLeaf??n.length===0,a={item:{...r,isLeaf:i},children:i?[]:void 0};return this.#h(a,e),a}#h(e,n){this.#r.set(e,n),this.#i.set(n.getIdentity(),e),this.#o.set(n.getIdentity(),n),this.#a.set(e.item.key,n)}#g(e,n,r){let i=new Map(n.map(e=>[e.item.key,e])),a=Array.from(e.children(),e=>{let n=this.#m(e),a=i.get(n.item.key);return a?(a.item=n.item,this.#h(a,e),r.add(a),n.item.isLeaf?a.children=[]:a.children===void 0?a.children=void 0:this.#g(e,a.children,r),a):(r.add(n),n)});n.splice(0,n.length,...a)}#_(e,n,r=[]){let i=[...r,e];if(n(e.getValue()))return i;for(let r of e.children()){let e=this.#_(r,n,i);if(e)return e}}};function WE(e){return e.children!==void 0&&e.children.length>0}function GE(e){return e.flatMap(e=>WE(e)?GE(e.children):[e])}function KE(e,n){for(let r of e){if(r.key===n)return r;let e=r.children?KE(r.children,n):void 0;if(e)return e}}function qE(e,n){return GE(e).find(e=>e.key===n)}const JE=e=>e===`asc`||e===`desc`;function YE(e){if(!Array.isArray(e))return[];let n=new Set,r=[];for(let i of e){if(typeof i!=`object`||!i)continue;let e=i;typeof e.id!=`string`||typeof e.categoryKey!=`string`||n.has(e.id)||(n.add(e.id),r.push({id:e.id,categoryKey:e.categoryKey,sort:JE(e.sort)?e.sort:`asc`,grouped:e.grouped===!0,...typeof e.menu==`boolean`?{menu:e.menu}:{},...typeof e.width==`number`&&Number.isFinite(e.width)?{width:e.width}:{}}))}return r}function XE(e,n){let r=[],i=[];return e.forEach((e,a)=>{n(e.categoryKey)?r.push(e):i.push({state:e,index:a})}),{ready:r,pending:i}}function ZE(e,n){if(e.length===0)return{ready:[],pending:e};let r=e.filter(e=>n(e.state.categoryKey));return r.length===0?{ready:r,pending:e}:{ready:r,pending:e.filter(e=>!n(e.state.categoryKey))}}function QE(e,n){let r=[...e];for(let e of[...n].sort((e,n)=>e.index-n.index))r.splice(Math.min(e.index,r.length),0,e.state);return r}function $E(e,n,r){let i=e.filter(r),a=i.length===e.length?[]:e.filter(e=>!r(e)),{present:o,missing:s}=ar(n,r);if(a.length===0&&o.length===0)return{selected:e,pending:n,restored:!1,changed:!1};let c=a.length===0?s:sr(new Set([...s,...a])),l=o.filter(e=>!i.includes(e));return{selected:[...i,...l],pending:c,restored:l.length>0,changed:a.length>0||l.length>0}}function eD(e){return Array.isArray(e)?sr(new Set(e.filter(e=>typeof e==`string`))):k}function tD(e){return typeof e==`object`&&!!e&&typeof e.top==`number`}function nD(e,n){let r=new Map;if(typeof e!=`object`||!e)return r;for(let[i,a]of Object.entries(e)){let e=n(a);e!==void 0&&r.set(i,e)}return r}const rD=e=>e.dataset.key;function iD(e){return[...e.querySelectorAll(`li[data-key]`)]}function aD(e){return a_(e,iD(e),rD)}function oD(e,n){let r=n.anchor;if(!r)return s_(e,n.top);let i=iD(e).find(e=>rD(e)===r.key);return i?o_(e,i,r.offset):!1}const sD=`__all__`;function cD(e,n){let r=n===`desc`?-1:1;return[...e].sort((e,n)=>r*e.label.localeCompare(n.label,void 0,{sensitivity:`base`,numeric:!0}))}function lD(e,n,r,i){if(r===0)return{insert:0,caretOffset:0};let a=2**53-1,o=i;for(let s=0;s<r;s++){if(s===i)continue;let r=e[s],c=e[s+1]??e[e.length-1],l=(r+c)/2,u=Math.abs(n-(n<l?r:c));u<a&&(a=u,o=n<l?s:s+1)}let s=o>i?o-1:o;return{insert:Math.max(0,Math.min(r-1,s)),caretOffset:e[o]??e[e.length-1]}}var uD=class{#e;#t;#n;#r;#i;#a;#o;#s;#c=k;#l=void 0;#u;#d;#f;#p=[];#m=!0;#h=[];#g=k;#_=k;#v;#y;#b=!1;#x=0;#S;constructor(e){this.id=e.id,this.#e=e.category,this.#t=e.categoryDefaults,this.#n=e.selectionMode,this.#r=e.dataProvider,this.#i=e.onSelectionChange,this.#a=e.onRequestData,this.#o=e.onScroll,this.#s=e.onIntent,this.#S={id:e.id,categoryKey:e.category.key,sort:e.categoryDefaults?.sort??`asc`,grouped:e.categoryDefaults?.grouped??!1,menu:e.categoryDefaults?.menu??!0,width:220}}get state(){return this.getState()}get categoryKey(){return this.#e.key}get menu(){return this.#S.menu}getState(){return{...this.#S}}updateState(e){let n=e;if(e.width!==void 0&&!Number.isFinite(e.width)){let{width:r,...i}=e;n=i}let r=n.sort!==void 0&&n.sort!==this.#S.sort,i=n.grouped!==void 0&&n.grouped!==this.#S.grouped;this.#S={...this.#S,...n},r&&this.#T(),i&&this.#E()}setWidth(e){Number.isFinite(e)&&(this.#S={...this.#S,width:Math.max(80,Math.min(480,Math.round(e)))})}setSort(e){e!==this.#S.sort&&(this.#S={...this.#S,sort:e},this.#T())}setGrouped(e){e!==this.#S.grouped&&(this.#S={...this.#S,grouped:e},this.#E())}setSelectionMode(e){if(e!==this.#n){this.#n=e;for(let n of this.#D())n.selectionMode=e}}setCategory(e){this.#e=e,this.#t=e.defaults,this.#S={...this.#S,categoryKey:e.key,sort:e.defaults?.sort??`asc`,grouped:e.defaults?.grouped??!1,menu:e.defaults?.menu??!0},this.#_=k,this.#v=void 0,this.#g=k,this.#j(`data`),this.#E()}get listerHost(){return this.#u}get isMounted(){return this.#u!==void 0}setDataProvider(e){this.#r=e}mount(e){if(this.#u)return;this.#u=e;let n=document.createElement(`div`);n.className=`all-row`,n.dataset.key=sD,n.setAttribute(`role`,`button`),n.setAttribute(`tabindex`,`0`);let r=document.createElement(`span`);r.className=`all-label`,n.appendChild(r);let i=e=>{this.#m||this.#s?.(this.id,{kind:`clear`,keys:[],source:e})||this.#j(`user`)};n.addEventListener(`click`,()=>i(`pointer`)),n.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i(`keyboard`))}),this.#d=n;let a=document.createElement(`ixfx-grouped-item-lister`);a.crossGroupSelection=!0,a.factory=()=>tC(dD,{selectionMode:this.#n,interactionMode:`standard`}),a.addEventListener(`select`,this.#A),a.addEventListener(`list-select-intent`,this.#O),this.#f=a,this.#E(),this.#F(),e.append(n,a),e.addEventListener(`scroll`,this.#N,{passive:!0}),this.#y=u_(e,()=>{this.#v=void 0}),this.#h.length>0&&(this.#w(),this.#P())}unmount(){this.#I(),this.#u?.removeEventListener(`scroll`,this.#N),this.#y?.(),this.#y=void 0,this.#d?.remove(),this.#f?.remove(),this.#d=void 0,this.#f=void 0,this.#u=void 0}requestData(e){if(!this.#r)return;this.#I();let n=new AbortController;this.#l=n;let{signal:r}=n;this.#a(this.id,e,r),Promise.resolve().then(async()=>{let n=await Rg(this.#r(e,r),r);r.aborted||this.#C(n)}).catch(()=>{})}#C(e){this.#h=e;let n=new Set(e.map(e=>e.key));this.#g=n;let r=$E(this.#p,this.#_,e=>n.has(e));this.#_=r.pending,this.#p=r.selected,this.#m=r.selected.length===0,this.#f&&(this.#w(),this.#P()),r.changed&&this.#i(this.id,r.selected,r.restored?`restore`:`data`)}#w(){if(!this.#f)return;let e=cD(this.#h,this.#S.sort);this.#f.provider=()=>e}#T(){!this.#f||this.#h.length===0||(this.#w(),this.#P())}#E(){if(!this.#f)return;let e=this.#t?.groupBy;this.#f.groupBy=e,this.#f.grouped=this.#S.grouped&&e!==void 0,this.#h.length>0&&this.#P()}#D(){return this.#f?this.#f.querySelectorAll(`:scope > .ungrouped-host > *, :scope > ixfx-panel > *`):[]}#O=e=>{e.stopPropagation(),this.#s?.(this.id,e.detail)&&e.preventDefault()};setPartialKeys(e){this.#c=e,this.#k()}#k(){if(this.#f)for(let e of this.#f.querySelectorAll(`ixfx-vertical-list`))e.partialKeys=this.#c}#A=()=>{if(this.#b||this.#x>0)return;let e=[...this.#f?.selectedItems??[]].map(e=>e.key).filter(e=>e!==sD);if(e.length===this.#p.length&&e.every(e=>this.#p.includes(e))){this.#F();return}this.#p=e,this.#m=e.length===0,this.#F(),this.#i(this.id,e,`user`)};#j(e){let n=this.#p;this.#b=!0;try{this.#p=[],this.#m=!0;for(let e of this.#D())e.clearSelection()}finally{this.#b=!1}this.#F(),n.length>0&&this.#i(this.id,[],e)}clearSelection(){this.#j(`user`)}get selectedValues(){return this.#p}get pendingSelection(){return this.#_}restoreSelection(e){let n=this.#p,r=$E([],sr(e),e=>this.#g.has(e));this.#_=r.pending,this.#p=r.selected,this.#m=r.selected.length===0,this.#P(),this.#F(),n.length===r.selected.length&&n.every(e=>r.selected.includes(e))||this.#i(this.id,r.selected,`restore`)}clearPendingSelection(){this.#_=k}get pendingScroll(){return this.#v}captureScroll(){return this.#u?aD(this.#u):void 0}restoreScroll(e){this.#v=e,this.#M()}clearPendingScroll(){this.#v=void 0}#M(){let e=this.#v;!e||!this.#u||oD(this.#u,e)&&(this.#v=void 0)}#N=()=>{this.#v||this.#o?.(this.id)};#P(){this.#f&&(this.#x++,this.#f.updateComplete.finally(()=>{this.#x--}).then(()=>{if(!(!this.#f||!this.#u)){this.#b=!0;try{let e=this.#p;for(let n of this.#f.querySelectorAll(`ixfx-vertical-list`))n.selectKeys(e);this.#k();let n=[...this.#f.selectedItems].map(e=>e.key).filter(e=>e!==sD);this.#p=n,this.#m=n.length===0}finally{this.#b=!1}this.#F(),this.#M()}}))}#F(){if(!this.#d)return;let e=this.#t?.allLabel??`All`,n=this.#d.querySelector(`.all-label`);n&&(n.textContent=e),this.#d.toggleAttribute(`data-selected`,this.#m)}#I(){this.#l&&=(this.#l.abort(),void 0)}};function dD(e){let n=document.createElement(`li`);n.dataset.key=e.key;let r=document.createElement(`span`);if(r.className=`item-label`,r.textContent=e.label,n.appendChild(r),e.count!==void 0){let r=document.createElement(`span`);r.className=`count`,r.textContent=String(e.count),n.appendChild(r)}return n}const fD=r`
|
|
10440
10448
|
:host {
|
|
10441
10449
|
--multicol-list-bg: var(--surface-3);
|
|
10442
10450
|
--multicol-list-header-bg: var(--surface-2);
|
|
@@ -10626,12 +10634,12 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10626
10634
|
margin-left: var(--space-s);
|
|
10627
10635
|
font-size: var(--text-s);
|
|
10628
10636
|
}
|
|
10629
|
-
`;_e(`menu`,`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></svg>`);let pD=class extends n{constructor(...e){super(...e),this.categories=[],this.selectionMode=`multiple`,this.minColumns=1,this.maxColumns=5,this._columns=[],this._colOffsets=[0],this._resizingColumnId=void 0,this._draggingColumnId=void 0,this._dropCaretX=void 0,this._idCounter=0,this._autoSeeded=!1,this._drag={pointerId:-1,from:-1,startX:0,startY:0,active:!1,ghost:null,insert:-1},this.#e=new
|
|
10637
|
+
`;_e(`menu`,`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/></svg>`);let pD=class extends n{constructor(...e){super(...e),this.categories=[],this.selectionMode=`multiple`,this.minColumns=1,this.maxColumns=5,this._columns=[],this._colOffsets=[0],this._resizingColumnId=void 0,this._draggingColumnId=void 0,this._dropCaretX=void 0,this._idCounter=0,this._autoSeeded=!1,this._drag={pointerId:-1,from:-1,startX:0,startY:0,active:!1,ghost:null,insert:-1},this.#e=new f_(this,{kind:`multicol-list`,capture:()=>this.getViewState()}),this.#t=[],this.#n=new Map,this.#r=new Map,this.#c=new Set,this.#l=new Map}static{this.styles=[w,Qt,fD]}#e;#t;#n;#r;addColumn(e,n){if(this.maxColumns>0&&this._columns.length>=this.maxColumns)return;let r=qE(this.categories,e);if(!r)return;let i=`col-${++this._idCounter}`;for(;this._columns.some(e=>e.id===i)||this.#t.some(e=>e.state.id===i);)i=`col-${++this._idCounter}`;let a=this.#p(i,r);n!==void 0&&n>=0&&n<this._columns.length?this._columns.splice(n,0,a):this._columns.push(a),this._updateColOffsets(),this._emitColumnsChange(`add`),this._requeryAllColumns(),this.requestUpdate()}removeColumn(e){if(this._columns.length<=this.minColumns)return;let n=this._columns.findIndex(n=>n.id===e);n<0||(this._columns[n].unmount(),this._columns.splice(n,1),this._updateColOffsets(),this._emitColumnsChange(`remove`),this._requeryAllColumns(),this.requestUpdate())}getSelection(){return this._columns.map(e=>({columnId:e.id,categoryKey:e.categoryKey,values:e.selectedValues}))}clearSelection(){this.#s();for(let e of this._columns)e.clearSelection();this.requestUpdate()}createRenderRoot(){let e=super.createRenderRoot();return e.addEventListener(n_,e=>e.stopPropagation()),e}render(){return i`
|
|
10630
10638
|
<div id="container">
|
|
10631
10639
|
${_(this._columns,e=>e.id,(e,n)=>this._renderColumn(e,n))}
|
|
10632
10640
|
${this._dropCaretX===void 0?a:i`<div class="drop-caret" style="left: ${this._dropCaretX}px"></div>`}
|
|
10633
10641
|
</div>
|
|
10634
|
-
`}getViewState(e){let n=e?.includePending??!0,r={},i={};if(n){for(let[e,n]of this.#n)r[e]=[...n];for(let[e,n]of this.#r)i[e]=n}for(let e of this._columns){let a=fr(e.selectedValues,n?e.pendingSelection:[]);a.length>0&&(r[e.id]=a);let o=(n?e.pendingScroll:void 0)??e.captureScroll();o&&(i[e.id]=o)}return this.#e.shape({columns:QE(this._columns.map(e=>e.getState()),n?this.#t:[]),selectedByColumn:r,scrollByColumn:i},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{if(e.columns&&this.#i(YE(e.columns)),e.selectedByColumn){let n=nD(e.selectedByColumn,e=>Array.isArray(e)?eD(e):void 0);for(let e of this._columns)e.restoreSelection(n.get(e.id)??k),n.delete(e.id);this.#n=n}if(e.scrollByColumn){let n=nD(e.scrollByColumn,e=>tD(e)?e:void 0);for(let e of this._columns){let r=n.get(e.id);r?e.restoreScroll(r):e.clearPendingScroll(),n.delete(e.id)}this.#r=n}this.#e.notify()}),this.requestUpdate())}clearPendingViewState(){this.#t=[],this.#n=new Map,this.#r=new Map;for(let e of this._columns)e.clearPendingSelection(),e.clearPendingScroll()}#i(e){let{ready:n,pending:r}=XE(e,e=>qE(this.categories,e)!==void 0),i=new Map(this._columns.map(e=>[e.id,e])),a=n.map(e=>this.#a(e,i));for(let e of i.values())e.unmount();e.length>0&&(this._autoSeeded=!0),this.#t=r,this._columns=a,this._updateColOffsets(),this._emitColumnsChange(`add`),this._requeryAllColumns()}#a(e,n){let r=qE(this.categories,e.categoryKey),i=n.get(e.id);if(n.delete(e.id),i)return i.categoryKey!==e.categoryKey&&i.setCategory(r),i.updateState(e),i;let a=this.#
|
|
10642
|
+
`}getViewState(e){let n=e?.includePending??!0,r={},i={};if(n){for(let[e,n]of this.#n)r[e]=[...n];for(let[e,n]of this.#r)i[e]=n}for(let e of this._columns){let a=fr(e.selectedValues,n?e.pendingSelection:[]);a.length>0&&(r[e.id]=a);let o=(n?e.pendingScroll:void 0)??e.captureScroll();o&&(i[e.id]=o)}return this.#e.shape({columns:QE(this._columns.map(e=>e.getState()),n?this.#t:[]),selectedByColumn:r,scrollByColumn:i},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{if(e.columns&&this.#i(YE(e.columns)),e.selectedByColumn){let n=nD(e.selectedByColumn,e=>Array.isArray(e)?eD(e):void 0);for(let e of this._columns)e.restoreSelection(n.get(e.id)??k),n.delete(e.id);this.#n=n}if(e.scrollByColumn){let n=nD(e.scrollByColumn,e=>tD(e)?e:void 0);for(let e of this._columns){let r=n.get(e.id);r?e.restoreScroll(r):e.clearPendingScroll(),n.delete(e.id)}this.#r=n}this.#e.notify()}),this.requestUpdate())}clearPendingViewState(){this.#t=[],this.#n=new Map,this.#r=new Map;for(let e of this._columns)e.clearPendingSelection(),e.clearPendingScroll()}#i(e){let{ready:n,pending:r}=XE(e,e=>qE(this.categories,e)!==void 0),i=new Map(this._columns.map(e=>[e.id,e])),a=n.map(e=>this.#a(e,i));for(let e of i.values())e.unmount();e.length>0&&(this._autoSeeded=!0),this.#t=r,this._columns=a,this._updateColOffsets(),this._emitColumnsChange(`add`),this._requeryAllColumns()}#a(e,n){let r=qE(this.categories,e.categoryKey),i=n.get(e.id);if(n.delete(e.id),i)return i.categoryKey!==e.categoryKey&&i.setCategory(r),i.updateState(e),i;let a=this.#p(e.id,r);a.updateState(e);let o=this.#n.get(e.id);o&&(a.restoreSelection(o),this.#n=mD(this.#n,e.id));let s=this.#r.get(e.id);return s&&(a.restoreScroll(s),this.#r=mD(this.#r,e.id)),a}#o(){let{ready:e,pending:n}=ZE(this.#t,e=>qE(this.categories,e)!==void 0);e.length!==0&&this.#e.restoring(()=>{this.#t=n;let r=[...this._columns],i=new Map;for(let n of[...e].sort((e,n)=>e.index-n.index))r.some(e=>e.id===n.state.id)||r.splice(Math.min(n.index,r.length),0,this.#a(n.state,i));this._columns=r,this._updateColOffsets(),this._emitColumnsChange(`add`),this._requeryAllColumns()})}#s(){this.#n=new Map;for(let e of this._columns)e.clearPendingSelection()}updated(e){e.has(`categories`)&&this.#o();let n=GE(this.categories)[0];if(!this._autoSeeded&&this._columns.length===0&&n&&(this._autoSeeded=!0,this.addColumn(n.key)),e.has(`selectionMode`))for(let e of this._columns)e.setSelectionMode(this.selectionMode);if(e.has(`dataProvider`))for(let e of this._columns)e.setDataProvider(this.dataProvider);for(let e of this._columns)if(!e.isMounted){let n=this.shadowRoot?.querySelector(`[data-col-id="${e.id}"] .lister-host`);n&&e.mount(n)}e.has(`categories`)&&this._syncColumnsWithCategories(),(e.has(`categories`)||e.has(`dataProvider`))&&this._requeryAllColumns(),this._updateColOffsets()}_renderColumn(e,n){let r=e.getState().width??220,o=Number.isFinite(r)?r:220;return i`
|
|
10635
10643
|
<div
|
|
10636
10644
|
class="column"
|
|
10637
10645
|
data-col-id="${e.id}"
|
|
@@ -10669,7 +10677,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10669
10677
|
</div>
|
|
10670
10678
|
<div class="lister-host"></div>
|
|
10671
10679
|
</div>
|
|
10672
|
-
`}_getCategoryLabel(e){return KE(this.categories,e)?.label??e}_getCategoryTooltip(e){return KE(this.categories,e)?.description??`Change category`}#c(e,n){return new uD({id:e,category:n,categoryDefaults:n.defaults,selectionMode:this.selectionMode,dataProvider:this.dataProvider,onSelectionChange:this._onColumnSelectionChange.bind(this),onRequestData:this._onColumnRequestData.bind(this),onScroll:()=>this.#e.notify()})}_onHeaderPointerDown(e,n,r){e.stopPropagation(),this._drag={pointerId:e.pointerId,from:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,insert:r};let i=e=>{if(e.pointerId!==this._drag.pointerId)return;let r=e.clientX-this._drag.startX,i=e.clientY-this._drag.startY;if(!this._drag.active){if(Math.hypot(r,i)<5)return;this._drag.active=!0,this._draggingColumnId=n.id;let a=this.shadowRoot?.querySelector(`[data-col-id="${n.id}"] .column-header`),o=document.createElement(`span`);o.textContent=this._getCategoryLabel(n.categoryKey);try{a&&(this._drag.ghost=T_({anchor:a,content:o}),this._drag.ghost.move(e.clientX,e.clientY))}catch{}try{this._containerEl?.setPointerCapture(e.pointerId)}catch{}}this._drag.ghost?.move(e.clientX,e.clientY);let a=this._containerEl;if(!a)return;let o=a.getBoundingClientRect(),s=e.clientX-o.left+a.scrollLeft,c=lD(this._colOffsets,s,this._columns.length,this._drag.from);this._drag.insert=c.insert,this._dropCaretX=c.caretOffset,this.requestUpdate()},a=e=>{if(e.pointerId!==this._drag.pointerId)return;let n=this._drag.active,r=this._drag.from,o=this._drag.insert;this._drag.ghost?.destroy(),this._drag.ghost=null,this._draggingColumnId=void 0,this._dropCaretX=void 0;try{this._containerEl?.releasePointerCapture(e.pointerId)}catch{}if(window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a),n&&o!==r){let[e]=this._columns.splice(r,1);this._columns.splice(o,0,e),this._updateColOffsets(),this._emitColumnsChange(`reorder`),this.requestUpdate()}};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a),window.addEventListener(`pointercancel`,a)}_onResizePointerDown(e,n){e.preventDefault(),e.stopPropagation();let r=e.clientX,i=n.getState().width??220,a=Number.isFinite(i)?i:220;this._resizingColumnId=n.id;let o=e=>{let i=Math.max(80,Math.min(480,a+e-r));return n.setWidth(i),i},s=n=>{n.pointerId===e.pointerId&&(o(n.clientX),this._updateColOffsets(),this.requestUpdate())},c=e=>{window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),o(e.type===`pointercancel`?r:e.clientX),this._resizingColumnId=void 0,this._updateColOffsets(),this._emitColumnsChange(`resize`),this.requestUpdate()};window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c),window.addEventListener(`pointercancel`,c)}#l(e,n,r){let i=e.getBoundingClientRect(),a=document.createElement(`ixfx-menu-trigger`);a.mode=`dropdown`,a.tabStop=!1,a.placement=n,a.style.position=`fixed`,a.style.left=`${i.left}px`,a.style.top=`${i.bottom}px`;let o=document.createElement(`ixfx-menu-container`);o.setAttribute(`slot`,`menu`),r(o),a.appendChild(o),a.addEventListener(`menu-trigger-close`,()=>a.remove(),{once:!0}),document.body.appendChild(a),a.updateComplete.then(()=>a.openMenu())}#u(e){return{item:{key:e.key,label:e.label},children:e.children&&e.children.length>0?e.children.map(e=>this.#u(e)):void 0}}_openCategoryPicker(e,n){this.#l(n,`bottom-start`,n=>{let r=ev(this.categories.map(e=>this.#u(e)),{onCommand:n=>{n.command!==void 0&&this._changeColumnCategory(e,n.command)}});for(let e of r)n.appendChild(e);for(let r of n.querySelectorAll(`ixfx-menu-item`))r.getAttribute(`command`)===e.categoryKey&&r.setAttribute(`disabled`,``)})}#d(e,n,r,i){let a=document.createElement(`ixfx-menu-item`);return a.setAttribute(`command`,n),a.setAttribute(`label`,e),i&&a.setAttribute(`icon-name`,i),r&&a.addEventListener(`command`,()=>r()),a}_openBurgerMenu(e,n){this.#l(n,`bottom-end`,n=>{let r=this.#d(`Remove this column`,`remove`,()=>this.removeColumn(e.id));r.toggleAttribute(`disabled`,this._columns.length<=this.minColumns),n.appendChild(r);let i=document.createElement(`ixfx-menu-separator`);n.appendChild(i);let a=this.maxColumns>0&&this._columns.length>=this.maxColumns,o=new Set(this._columns.map(e=>e.categoryKey)),s=GE(this.categories).filter(e=>!o.has(e.key)),c=!a&&s.length>0,l=document.createElement(`ixfx-menu-sub-trigger`);l.setAttribute(`label`,`Add column`);let u=document.createElement(`ixfx-menu-container`);u.setAttribute(`slot`,`submenu`);let d=this._columns.findIndex(n=>n.id===e.id);for(let[e,n]of[[`Left`,-1],[`Right`,1]]){let r=this.#d(e,`add-${e.toLowerCase()}`,()=>{this.#f(s[0].key,Math.max(0,d+Math.max(0,n)))});r.toggleAttribute(`disabled`,!c),u.appendChild(r)}l.appendChild(u),n.appendChild(l);let f=document.createElement(`ixfx-menu-sub-trigger`);f.setAttribute(`label`,`Sort`);let p=document.createElement(`ixfx-menu-container`);p.setAttribute(`slot`,`submenu`),p.appendChild(this.#d(`Ascending`,`sort-asc`,()=>{e.setSort(`asc`),this._emitColumnsChange(`sort`),this.requestUpdate()},e.getState().sort===`asc`?`check`:void 0)),p.appendChild(this.#d(`Descending`,`sort-desc`,()=>{e.setSort(`desc`),this._emitColumnsChange(`sort`),this.requestUpdate()},e.getState().sort===`desc`?`check`:void 0)),f.appendChild(p),n.appendChild(f);let m=e.getState().grouped;n.appendChild(this.#d(m?`Ungroup`:`Group`,`toggle-group`,()=>{e.setGrouped(!m),this._emitColumnsChange(`grouping`),this.requestUpdate()},m?`check`:void 0))})}#f(e,n){this.addColumn(e,n)}_changeColumnCategory(e,n){let r=qE(this.categories,n);r&&(e.setCategory(r),this._emitColumnsChange(`category`),this._requeryAllColumns(),this.requestUpdate())}_onColumnSelectionChange(e,n,r){if(!this._columns.find(n=>n.id===e))return;r===`user`&&this.#s(),this.#e.notify(r);for(let n of this._columns)n.id!==e&&n.requestData(this._buildQuery(n));let i={columnId:e,columns:this.getSelection()};this.dispatchEvent(new CustomEvent(`multicol-select`,{detail:i,bubbles:!0,composed:!0})),this.requestUpdate()}_onColumnRequestData(e,n,r){}_buildQuery(e){let n=new Map;for(let r of this._columns)r.id!==e.id&&n.set(r.id,r.selectedValues);return{columnId:e.id,categoryKey:e.categoryKey,otherSelections:n}}_requeryAllColumns(){for(let e of this._columns)e.requestData(this._buildQuery(e))}_syncColumnsWithCategories(){let e=!1,n=GE(this.categories);for(let r of this._columns)n.some(e=>e.key===r.categoryKey)||n.length!==0&&(r.setCategory(n[0]),e=!0);e&&this._emitColumnsChange(`category`,`data`)}_updateColOffsets(){let e=[0],n=0;for(let r of this._columns){let i=r.getState().width??220;n+=Number.isFinite(i)?i:220,e.push(n)}e.length===this._colOffsets.length&&e.every((e,n)=>e===this._colOffsets[n]||Number.isNaN(e)&&Number.isNaN(this._colOffsets[n]))||(this._colOffsets=e)}_emitColumnsChange(e,n=`user`){this.#e.notify(n),this.dispatchEvent(new CustomEvent(`multicol-columns-change`,{detail:{columns:this._columns.map(e=>e.getState()),reason:e},bubbles:!0,composed:!0}))}async autoSizeColumns(e){return new Promise(n=>{setTimeout(()=>{let r=e?.minWidth??80,i=e?.maxWidth??480,a=e=>{let n=document.createElement(`span`);n.style.position=`absolute`,n.style.visibility=`hidden`,n.style.whiteSpace=`nowrap`,n.style.font=getComputedStyle(this).font,n.textContent=e,document.body.appendChild(n);let r=n.getBoundingClientRect().width;return document.body.removeChild(n),Number.isFinite(r)?r:0};for(let e of this._columns){let n=this.shadowRoot?.querySelector(`[data-col-id="${e.id}"]`);if(!n)continue;let o=n.querySelector(`.column-header`),s=n.querySelector(`.lister-host`),c=0;if(s){let e=s.querySelector(`.all-label`);e&&(c=Math.max(c,a(e.textContent??``)));let n=s.querySelector(`ixfx-grouped-item-lister`);if(n){let e=n.querySelectorAll(`ixfx-vertical-list`);for(let n of e){let e=n.querySelectorAll(`li`);for(let n of e){let e=n.querySelector(`.item-label`),r=n.querySelector(`.count`),i=(e?.textContent??``)+(r?.textContent??``);c=Math.max(c,a(i))}}}}let l=0;if(o){let e=o.querySelector(`.column-label`);if(e){let n=a(e.textContent??``),r=getComputedStyle(e),i=(Number.parseFloat(r.paddingLeft)||0)+(Number.parseFloat(r.paddingRight)||0),s=o.querySelector(`.burger-btn`),c=s&&Number.parseFloat(getComputedStyle(s).width)||0,u=getComputedStyle(o),d=Number.parseFloat(u.gap)||0;l=n+i+c+d}}let u=Math.max(l,c+24+16),d=Math.max(r,Math.min(i,Math.ceil(u)));Number.isFinite(d)&&e.setWidth(d)}this._updateColOffsets(),this._emitColumnsChange(`resize`),this.requestUpdate(),n()},0)})}};E([d({attribute:!1})],pD.prototype,`categories`,void 0),E([d({attribute:!1})],pD.prototype,`dataProvider`,void 0),E([d({type:String,attribute:`selection-mode`})],pD.prototype,`selectionMode`,void 0),E([d({type:Number})],pD.prototype,`minColumns`,void 0),E([d({type:Number})],pD.prototype,`maxColumns`,void 0),E([m()],pD.prototype,`_columns`,void 0),E([m()],pD.prototype,`_colOffsets`,void 0),E([m()],pD.prototype,`_resizingColumnId`,void 0),E([m()],pD.prototype,`_draggingColumnId`,void 0),E([m()],pD.prototype,`_dropCaretX`,void 0),E([f(`#container`)],pD.prototype,`_containerEl`,void 0),pD=E([T(`ixfx-multicol-list`)],pD);function mD(e,n){let r=new Map(e);return r.delete(n),r}let hD=class extends n{constructor(...e){super(...e),this.notificationType=`info`,this.message=``,this.dismissing=!1,this.notificationId=``}#e(){this.#n()}#t(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.#n())}#n(){this.dispatchEvent(new CustomEvent(`pill-tap`,{detail:{id:this.notificationId},bubbles:!0,composed:!0}))}#r(){return this.icon?this.icon.startsWith(`<svg`)?i`<span class="pill-icon">${g(this.icon)}</span>`:xe(this.icon)?i`<ixfx-icon class="pill-icon" name="${this.icon}"></ixfx-icon>`:a:a}render(){return i`
|
|
10680
|
+
`}_getCategoryLabel(e){return KE(this.categories,e)?.label??e}_getCategoryTooltip(e){return KE(this.categories,e)?.description??`Change category`}#c;#l;get partialKeys(){return this.#c}set partialKeys(e){this.#c=new Set(e),this.#d()}setColumnPartialKeys(e,n=[]){let r=new Map(this.#l),i=new Set(n);i.size===0?r.delete(e):r.set(e,i),this.#l=r,this.#d()}#u(e){let n=this.#l.get(e);return n===void 0?this.#c:new Set([...this.#c,...n])}#d(){for(let e of this._columns)e.setPartialKeys(this.#u(e.id))}#f(e,n){return!this.dispatchEvent(new CustomEvent(`list-select-intent`,{detail:{...n,columnId:e},bubbles:!0,composed:!0,cancelable:!0}))}#p(e,n){let r=this.#m(e,n);return r.setPartialKeys(this.#u(e)),r}#m(e,n){return new uD({id:e,category:n,categoryDefaults:n.defaults,selectionMode:this.selectionMode,dataProvider:this.dataProvider,onSelectionChange:this._onColumnSelectionChange.bind(this),onIntent:(e,n)=>this.#f(e,n),onRequestData:this._onColumnRequestData.bind(this),onScroll:()=>this.#e.notify()})}_onHeaderPointerDown(e,n,r){e.stopPropagation(),this._drag={pointerId:e.pointerId,from:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,insert:r};let i=e=>{if(e.pointerId!==this._drag.pointerId)return;let r=e.clientX-this._drag.startX,i=e.clientY-this._drag.startY;if(!this._drag.active){if(Math.hypot(r,i)<5)return;this._drag.active=!0,this._draggingColumnId=n.id;let a=this.shadowRoot?.querySelector(`[data-col-id="${n.id}"] .column-header`),o=document.createElement(`span`);o.textContent=this._getCategoryLabel(n.categoryKey);try{a&&(this._drag.ghost=E_({anchor:a,content:o}),this._drag.ghost.move(e.clientX,e.clientY))}catch{}try{this._containerEl?.setPointerCapture(e.pointerId)}catch{}}this._drag.ghost?.move(e.clientX,e.clientY);let a=this._containerEl;if(!a)return;let o=a.getBoundingClientRect(),s=e.clientX-o.left+a.scrollLeft,c=lD(this._colOffsets,s,this._columns.length,this._drag.from);this._drag.insert=c.insert,this._dropCaretX=c.caretOffset,this.requestUpdate()},a=e=>{if(e.pointerId!==this._drag.pointerId)return;let n=this._drag.active,r=this._drag.from,o=this._drag.insert;this._drag.ghost?.destroy(),this._drag.ghost=null,this._draggingColumnId=void 0,this._dropCaretX=void 0;try{this._containerEl?.releasePointerCapture(e.pointerId)}catch{}if(window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a),n&&o!==r){let[e]=this._columns.splice(r,1);this._columns.splice(o,0,e),this._updateColOffsets(),this._emitColumnsChange(`reorder`),this.requestUpdate()}};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a),window.addEventListener(`pointercancel`,a)}_onResizePointerDown(e,n){e.preventDefault(),e.stopPropagation();let r=e.clientX,i=n.getState().width??220,a=Number.isFinite(i)?i:220;this._resizingColumnId=n.id;let o=e=>{let i=Math.max(80,Math.min(480,a+e-r));return n.setWidth(i),i},s=n=>{n.pointerId===e.pointerId&&(o(n.clientX),this._updateColOffsets(),this.requestUpdate())},c=e=>{window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),o(e.type===`pointercancel`?r:e.clientX),this._resizingColumnId=void 0,this._updateColOffsets(),this._emitColumnsChange(`resize`),this.requestUpdate()};window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c),window.addEventListener(`pointercancel`,c)}#h(e,n,r){let i=e.getBoundingClientRect(),a=document.createElement(`ixfx-menu-trigger`);a.mode=`dropdown`,a.tabStop=!1,a.placement=n,a.style.position=`fixed`,a.style.left=`${i.left}px`,a.style.top=`${i.bottom}px`;let o=document.createElement(`ixfx-menu-container`);o.setAttribute(`slot`,`menu`),r(o),a.appendChild(o),a.addEventListener(`menu-trigger-close`,()=>a.remove(),{once:!0}),document.body.appendChild(a),a.updateComplete.then(()=>a.openMenu())}#g(e){return{item:{key:e.key,label:e.label},children:e.children&&e.children.length>0?e.children.map(e=>this.#g(e)):void 0}}_openCategoryPicker(e,n){this.#h(n,`bottom-start`,n=>{let r=tv(this.categories.map(e=>this.#g(e)),{onCommand:n=>{n.command!==void 0&&this._changeColumnCategory(e,n.command)}});for(let e of r)n.appendChild(e);for(let r of n.querySelectorAll(`ixfx-menu-item`))r.getAttribute(`command`)===e.categoryKey&&r.setAttribute(`disabled`,``)})}#_(e,n,r,i){let a=document.createElement(`ixfx-menu-item`);return a.setAttribute(`command`,n),a.setAttribute(`label`,e),i&&a.setAttribute(`icon-name`,i),r&&a.addEventListener(`command`,()=>r()),a}_openBurgerMenu(e,n){this.#h(n,`bottom-end`,n=>{let r=this.#_(`Remove this column`,`remove`,()=>this.removeColumn(e.id));r.toggleAttribute(`disabled`,this._columns.length<=this.minColumns),n.appendChild(r);let i=document.createElement(`ixfx-menu-separator`);n.appendChild(i);let a=this.maxColumns>0&&this._columns.length>=this.maxColumns,o=new Set(this._columns.map(e=>e.categoryKey)),s=GE(this.categories).filter(e=>!o.has(e.key)),c=!a&&s.length>0,l=document.createElement(`ixfx-menu-sub-trigger`);l.setAttribute(`label`,`Add column`);let u=document.createElement(`ixfx-menu-container`);u.setAttribute(`slot`,`submenu`);let d=this._columns.findIndex(n=>n.id===e.id);for(let[e,n]of[[`Left`,-1],[`Right`,1]]){let r=this.#_(e,`add-${e.toLowerCase()}`,()=>{this.#v(s[0].key,Math.max(0,d+Math.max(0,n)))});r.toggleAttribute(`disabled`,!c),u.appendChild(r)}l.appendChild(u),n.appendChild(l);let f=document.createElement(`ixfx-menu-sub-trigger`);f.setAttribute(`label`,`Sort`);let p=document.createElement(`ixfx-menu-container`);p.setAttribute(`slot`,`submenu`),p.appendChild(this.#_(`Ascending`,`sort-asc`,()=>{e.setSort(`asc`),this._emitColumnsChange(`sort`),this.requestUpdate()},e.getState().sort===`asc`?`check`:void 0)),p.appendChild(this.#_(`Descending`,`sort-desc`,()=>{e.setSort(`desc`),this._emitColumnsChange(`sort`),this.requestUpdate()},e.getState().sort===`desc`?`check`:void 0)),f.appendChild(p),n.appendChild(f);let m=e.getState().grouped;n.appendChild(this.#_(m?`Ungroup`:`Group`,`toggle-group`,()=>{e.setGrouped(!m),this._emitColumnsChange(`grouping`),this.requestUpdate()},m?`check`:void 0))})}#v(e,n){this.addColumn(e,n)}_changeColumnCategory(e,n){let r=qE(this.categories,n);r&&(e.setCategory(r),this._emitColumnsChange(`category`),this._requeryAllColumns(),this.requestUpdate())}_onColumnSelectionChange(e,n,r){if(!this._columns.find(n=>n.id===e))return;r===`user`&&this.#s(),this.#e.notify(r);for(let n of this._columns)n.id!==e&&n.requestData(this._buildQuery(n));let i={columnId:e,columns:this.getSelection()};this.dispatchEvent(new CustomEvent(`multicol-select`,{detail:i,bubbles:!0,composed:!0})),this.requestUpdate()}_onColumnRequestData(e,n,r){}_buildQuery(e){let n=new Map;for(let r of this._columns)r.id!==e.id&&n.set(r.id,r.selectedValues);return{columnId:e.id,categoryKey:e.categoryKey,otherSelections:n}}_requeryAllColumns(){for(let e of this._columns)e.requestData(this._buildQuery(e))}_syncColumnsWithCategories(){let e=!1,n=GE(this.categories);for(let r of this._columns)n.some(e=>e.key===r.categoryKey)||n.length!==0&&(r.setCategory(n[0]),e=!0);e&&this._emitColumnsChange(`category`,`data`)}_updateColOffsets(){let e=[0],n=0;for(let r of this._columns){let i=r.getState().width??220;n+=Number.isFinite(i)?i:220,e.push(n)}e.length===this._colOffsets.length&&e.every((e,n)=>e===this._colOffsets[n]||Number.isNaN(e)&&Number.isNaN(this._colOffsets[n]))||(this._colOffsets=e)}_emitColumnsChange(e,n=`user`){this.#e.notify(n),this.dispatchEvent(new CustomEvent(`multicol-columns-change`,{detail:{columns:this._columns.map(e=>e.getState()),reason:e},bubbles:!0,composed:!0}))}async autoSizeColumns(e){return new Promise(n=>{setTimeout(()=>{let r=e?.minWidth??80,i=e?.maxWidth??480,a=e=>{let n=document.createElement(`span`);n.style.position=`absolute`,n.style.visibility=`hidden`,n.style.whiteSpace=`nowrap`,n.style.font=getComputedStyle(this).font,n.textContent=e,document.body.appendChild(n);let r=n.getBoundingClientRect().width;return document.body.removeChild(n),Number.isFinite(r)?r:0};for(let e of this._columns){let n=this.shadowRoot?.querySelector(`[data-col-id="${e.id}"]`);if(!n)continue;let o=n.querySelector(`.column-header`),s=n.querySelector(`.lister-host`),c=0;if(s){let e=s.querySelector(`.all-label`);e&&(c=Math.max(c,a(e.textContent??``)));let n=s.querySelector(`ixfx-grouped-item-lister`);if(n){let e=n.querySelectorAll(`ixfx-vertical-list`);for(let n of e){let e=n.querySelectorAll(`li`);for(let n of e){let e=n.querySelector(`.item-label`),r=n.querySelector(`.count`),i=(e?.textContent??``)+(r?.textContent??``);c=Math.max(c,a(i))}}}}let l=0;if(o){let e=o.querySelector(`.column-label`);if(e){let n=a(e.textContent??``),r=getComputedStyle(e),i=(Number.parseFloat(r.paddingLeft)||0)+(Number.parseFloat(r.paddingRight)||0),s=o.querySelector(`.burger-btn`),c=s&&Number.parseFloat(getComputedStyle(s).width)||0,u=getComputedStyle(o),d=Number.parseFloat(u.gap)||0;l=n+i+c+d}}let u=Math.max(l,c+24+16),d=Math.max(r,Math.min(i,Math.ceil(u)));Number.isFinite(d)&&e.setWidth(d)}this._updateColOffsets(),this._emitColumnsChange(`resize`),this.requestUpdate(),n()},0)})}};E([d({attribute:!1})],pD.prototype,`categories`,void 0),E([d({attribute:!1})],pD.prototype,`dataProvider`,void 0),E([d({type:String,attribute:`selection-mode`})],pD.prototype,`selectionMode`,void 0),E([d({type:Number})],pD.prototype,`minColumns`,void 0),E([d({type:Number})],pD.prototype,`maxColumns`,void 0),E([m()],pD.prototype,`_columns`,void 0),E([m()],pD.prototype,`_colOffsets`,void 0),E([m()],pD.prototype,`_resizingColumnId`,void 0),E([m()],pD.prototype,`_draggingColumnId`,void 0),E([m()],pD.prototype,`_dropCaretX`,void 0),E([f(`#container`)],pD.prototype,`_containerEl`,void 0),pD=E([T(`ixfx-multicol-list`)],pD);function mD(e,n){let r=new Map(e);return r.delete(n),r}let hD=class extends n{constructor(...e){super(...e),this.notificationType=`info`,this.message=``,this.dismissing=!1,this.notificationId=``}#e(){this.#n()}#t(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.#n())}#n(){this.dispatchEvent(new CustomEvent(`pill-tap`,{detail:{id:this.notificationId},bubbles:!0,composed:!0}))}#r(){return this.icon?this.icon.startsWith(`<svg`)?i`<span class="pill-icon">${g(this.icon)}</span>`:xe(this.icon)?i`<ixfx-icon class="pill-icon" name="${this.icon}"></ixfx-icon>`:a:a}render(){return i`
|
|
10673
10681
|
<button
|
|
10674
10682
|
type="button"
|
|
10675
10683
|
class="pill"
|
|
@@ -10771,7 +10779,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10771
10779
|
height: 1.25em;
|
|
10772
10780
|
flex-shrink: 0;
|
|
10773
10781
|
}
|
|
10774
|
-
`,document.head.appendChild(e)}let LD=class extends n{constructor(...e){super(...e),this.orientation=`horizontal`,this.variant=`titlebar`,this.toggleInteraction=`implicit`,this.collapsible=!0,this.accordion=!1,this.allowReorder=!1,this.stickyHeaders=!0,this._dragState=null,this._suppressNextClick=!1,this._onClickCapture=e=>{this._suppressNextClick&&(this._suppressNextClick=!1,e.preventDefault(),e.stopPropagation())},this._onKeyDown=e=>{let n=this._dragState;if(e.key!==`Escape`||!n?.active)return;e.preventDefault();let r=n.pointerId;this._abortDrag(),this._endDrag(r)},this._onPointerDown=e=>{if(!this.allowReorder||e.button!==0)return;let n=this._findDragTarget(e);if(!n?.parentNode)return;let r=Array.prototype.indexOf.call(n.parentNode.children,n);r<0||(this._dragState={pointerId:e.pointerId,source:n,fromIndex:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,gapIndex:void 0},window.addEventListener(`pointermove`,this._onPointerMove),window.addEventListener(`pointerup`,this._onPointerUp),window.addEventListener(`pointercancel`,this._onPointerCancel))},this._onPointerMove=e=>{let n=this._dragState;if(!n||e.pointerId!==n.pointerId)return;let r=Math.hypot(e.clientX-n.startX,e.clientY-n.startY);if(!n.active){if(r<5)return;this._beginDrag(e)}n.ghost?.move(e.clientX,e.clientY);let i=this._computeGapIndex(e.clientX,e.clientY);i!==n.gapIndex&&(n.gapIndex=i,this.requestUpdate())},this._onPointerUp=e=>{let n=this._dragState;if(!(!n||e.pointerId!==n.pointerId)){if(n.active){let r=this._computeGapIndex(e.clientX,e.clientY);this._commitDrag(n.source,n.fromIndex,r)}this._endDrag(e.pointerId)}},this._onPointerCancel=e=>{let n=this._dragState;!n||e.pointerId!==n.pointerId||(this._abortDrag(),this._endDrag(e.pointerId))}}_onPanelToggle(e){let n=e.target;if(!n.collapsed&&this.accordion)for(let e of this._panels)e!==n&&(e.collapsed=!0)}connectedCallback(){super.connectedCallback(),this.addEventListener(`click`,this._onClickCapture,!0)}disconnectedCallback(){this.removeEventListener(`click`,this._onClickCapture,!0),this._dragState&&(this._abortDrag(),this._endDrag(this._dragState.pointerId)),super.disconnectedCallback()}firstUpdated(){this.gap!==void 0&&this.style.setProperty(`--group-gap`,this.gap),this.updateComplete.then(()=>{this._propagateAll()})}updated(e){super.updated(e),e.has(`gap`)&&(this.gap===void 0?this.style.removeProperty(`--group-gap`):this.style.setProperty(`--group-gap`,this.gap)),(e.has(`variant`)||e.has(`toggleInteraction`)||e.has(`orientation`)||e.has(`collapsible`)||e.has(`stickyHeaders`))&&this.updateComplete.then(()=>{this._propagateAll()})}_propagateAll(){let e=this.orientation===`horizontal`?`vertical`:`horizontal`;for(let n of this._panels)n.setAttribute(`variant`,this.variant),n.setAttribute(`toggle-interaction`,this.toggleInteraction),n.setAttribute(`orientation`,e),n.toggleAttribute(`sticky-header`,this.stickyHeaders),this.collapsible?n.setAttribute(`collapsible`,``):n.removeAttribute(`collapsible`)}_onSlotChange(){this.updateComplete.then(()=>{this._propagateAll()})}_findDragTarget(e){if(!this.allowReorder)return null;let n=e.composedPath(),r=null,i=!1;for(let e of n){if(!(e instanceof HTMLElement))continue;let n=e.tagName;if(n===`BUTTON`||n===`A`||n===`INPUT`||n===`SELECT`||n===`TEXTAREA`||e.classList.contains(`toolbar`)||e.classList.contains(`close-btn`)||e.classList.contains(`caret-btn`)||e.hasAttribute?.(`slot`)&&e.getAttribute(`slot`)===`toolbar`)return null;n===`IXFX-TITLEBAR`&&(i=!0),!r&&n===`IXFX-PANEL`&&(r=e)}return!r||!i?null:r}_beginDrag(e){let n=this._dragState;if(!(!n||n.active)){try{this.setPointerCapture(e.pointerId)}catch{}n.active=!0,this.setAttribute(`dragging`,``),n.source.setAttribute(`drag-source`,``),n.ghost=this._createGhost(n.source),n.ghost?.move(e.clientX,e.clientY)}}_abortDrag(){let e=this._dragState;e&&(e.source.removeAttribute(`drag-source`),e.gapIndex!==void 0&&(e.gapIndex=void 0,this.requestUpdate()))}_endDrag(e){let n=this._dragState;if(n){n.ghost?.destroy(),n.ghost=null,this.removeAttribute(`dragging`),this._dragState=null,window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp),window.removeEventListener(`pointercancel`,this._onPointerCancel);try{this.releasePointerCapture(e)}catch{}this.requestUpdate()}}_commitDrag(e,n,r){e.removeAttribute(`drag-source`);let i=(this._panels??[]).filter(n=>n!==e),a=r===void 0?i.length:Math.max(0,Math.min(r,i.length)),o=e.parentNode;if(!o)return;let s=i[a]??null;o.insertBefore(e,s);let c=Array.prototype.indexOf.call(o.children,e);c!==n&&(this._suppressNextClick=!0,this.dispatchEvent(new CustomEvent(`reorder`,{bubbles:!0,composed:!0,detail:{fromIndex:n,toIndex:c,panel:e}})))}_createGhost(e){let n=document.createElement(`span`);if(n.style.display=`inline-flex`,n.style.alignItems=`center`,n.style.padding=`0 var(--space-s, 8px)`,n.style.minWidth=`0`,e.iconName){let r=document.createElement(`ixfx-icon`);r.name=e.iconName,n.appendChild(r)}let r=document.createElement(`span`);r.textContent=(e.title||(e.textContent??``).trim()).slice(0,60),r.style.paddingLeft=`1ch`,r.style.overflow=`hidden`,r.style.textOverflow=`ellipsis`,r.style.whiteSpace=`nowrap`,n.appendChild(r);try{return ID(),
|
|
10782
|
+
`,document.head.appendChild(e)}let LD=class extends n{constructor(...e){super(...e),this.orientation=`horizontal`,this.variant=`titlebar`,this.toggleInteraction=`implicit`,this.collapsible=!0,this.accordion=!1,this.allowReorder=!1,this.stickyHeaders=!0,this._dragState=null,this._suppressNextClick=!1,this._onClickCapture=e=>{this._suppressNextClick&&(this._suppressNextClick=!1,e.preventDefault(),e.stopPropagation())},this._onKeyDown=e=>{let n=this._dragState;if(e.key!==`Escape`||!n?.active)return;e.preventDefault();let r=n.pointerId;this._abortDrag(),this._endDrag(r)},this._onPointerDown=e=>{if(!this.allowReorder||e.button!==0)return;let n=this._findDragTarget(e);if(!n?.parentNode)return;let r=Array.prototype.indexOf.call(n.parentNode.children,n);r<0||(this._dragState={pointerId:e.pointerId,source:n,fromIndex:r,startX:e.clientX,startY:e.clientY,active:!1,ghost:null,gapIndex:void 0},window.addEventListener(`pointermove`,this._onPointerMove),window.addEventListener(`pointerup`,this._onPointerUp),window.addEventListener(`pointercancel`,this._onPointerCancel))},this._onPointerMove=e=>{let n=this._dragState;if(!n||e.pointerId!==n.pointerId)return;let r=Math.hypot(e.clientX-n.startX,e.clientY-n.startY);if(!n.active){if(r<5)return;this._beginDrag(e)}n.ghost?.move(e.clientX,e.clientY);let i=this._computeGapIndex(e.clientX,e.clientY);i!==n.gapIndex&&(n.gapIndex=i,this.requestUpdate())},this._onPointerUp=e=>{let n=this._dragState;if(!(!n||e.pointerId!==n.pointerId)){if(n.active){let r=this._computeGapIndex(e.clientX,e.clientY);this._commitDrag(n.source,n.fromIndex,r)}this._endDrag(e.pointerId)}},this._onPointerCancel=e=>{let n=this._dragState;!n||e.pointerId!==n.pointerId||(this._abortDrag(),this._endDrag(e.pointerId))}}_onPanelToggle(e){let n=e.target;if(!n.collapsed&&this.accordion)for(let e of this._panels)e!==n&&(e.collapsed=!0)}connectedCallback(){super.connectedCallback(),this.addEventListener(`click`,this._onClickCapture,!0)}disconnectedCallback(){this.removeEventListener(`click`,this._onClickCapture,!0),this._dragState&&(this._abortDrag(),this._endDrag(this._dragState.pointerId)),super.disconnectedCallback()}firstUpdated(){this.gap!==void 0&&this.style.setProperty(`--group-gap`,this.gap),this.updateComplete.then(()=>{this._propagateAll()})}updated(e){super.updated(e),e.has(`gap`)&&(this.gap===void 0?this.style.removeProperty(`--group-gap`):this.style.setProperty(`--group-gap`,this.gap)),(e.has(`variant`)||e.has(`toggleInteraction`)||e.has(`orientation`)||e.has(`collapsible`)||e.has(`stickyHeaders`))&&this.updateComplete.then(()=>{this._propagateAll()})}_propagateAll(){let e=this.orientation===`horizontal`?`vertical`:`horizontal`;for(let n of this._panels)n.setAttribute(`variant`,this.variant),n.setAttribute(`toggle-interaction`,this.toggleInteraction),n.setAttribute(`orientation`,e),n.toggleAttribute(`sticky-header`,this.stickyHeaders),this.collapsible?n.setAttribute(`collapsible`,``):n.removeAttribute(`collapsible`)}_onSlotChange(){this.updateComplete.then(()=>{this._propagateAll()})}_findDragTarget(e){if(!this.allowReorder)return null;let n=e.composedPath(),r=null,i=!1;for(let e of n){if(!(e instanceof HTMLElement))continue;let n=e.tagName;if(n===`BUTTON`||n===`A`||n===`INPUT`||n===`SELECT`||n===`TEXTAREA`||e.classList.contains(`toolbar`)||e.classList.contains(`close-btn`)||e.classList.contains(`caret-btn`)||e.hasAttribute?.(`slot`)&&e.getAttribute(`slot`)===`toolbar`)return null;n===`IXFX-TITLEBAR`&&(i=!0),!r&&n===`IXFX-PANEL`&&(r=e)}return!r||!i?null:r}_beginDrag(e){let n=this._dragState;if(!(!n||n.active)){try{this.setPointerCapture(e.pointerId)}catch{}n.active=!0,this.setAttribute(`dragging`,``),n.source.setAttribute(`drag-source`,``),n.ghost=this._createGhost(n.source),n.ghost?.move(e.clientX,e.clientY)}}_abortDrag(){let e=this._dragState;e&&(e.source.removeAttribute(`drag-source`),e.gapIndex!==void 0&&(e.gapIndex=void 0,this.requestUpdate()))}_endDrag(e){let n=this._dragState;if(n){n.ghost?.destroy(),n.ghost=null,this.removeAttribute(`dragging`),this._dragState=null,window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp),window.removeEventListener(`pointercancel`,this._onPointerCancel);try{this.releasePointerCapture(e)}catch{}this.requestUpdate()}}_commitDrag(e,n,r){e.removeAttribute(`drag-source`);let i=(this._panels??[]).filter(n=>n!==e),a=r===void 0?i.length:Math.max(0,Math.min(r,i.length)),o=e.parentNode;if(!o)return;let s=i[a]??null;o.insertBefore(e,s);let c=Array.prototype.indexOf.call(o.children,e);c!==n&&(this._suppressNextClick=!0,this.dispatchEvent(new CustomEvent(`reorder`,{bubbles:!0,composed:!0,detail:{fromIndex:n,toIndex:c,panel:e}})))}_createGhost(e){let n=document.createElement(`span`);if(n.style.display=`inline-flex`,n.style.alignItems=`center`,n.style.padding=`0 var(--space-s, 8px)`,n.style.minWidth=`0`,e.iconName){let r=document.createElement(`ixfx-icon`);r.name=e.iconName,n.appendChild(r)}let r=document.createElement(`span`);r.textContent=(e.title||(e.textContent??``).trim()).slice(0,60),r.style.paddingLeft=`1ch`,r.style.overflow=`hidden`,r.style.textOverflow=`ellipsis`,r.style.whiteSpace=`nowrap`,n.appendChild(r);try{return ID(),E_({anchor:e,content:n,className:`ixfx-panel-group-ghost`})}catch{return null}}_computeGapIndex(e,n){let r=this._dragState;if(!r)return;let i=(this._panels??[]).filter(e=>e!==r.source);if(i.length===0)return 0;let a=this.orientation===`horizontal`,o=a?e:n;return PD(i.map(e=>{let n=e.getBoundingClientRect();return[a?n.left:n.top,a?n.right:n.bottom]}),o)}_computeCaretStyle(){let e=this._dragState;if(!e?.active||e.gapIndex===void 0)return;let n=(this._panels??[]).filter(n=>n!==e.source);if(n.length===0)return;let r=this.getBoundingClientRect();if(!r)return;let i=Math.max(0,Math.min(e.gapIndex,n.length)),a=i<n.length?n[i].getBoundingClientRect():n[n.length-1].getBoundingClientRect();return this.orientation===`horizontal`?`transform: translate(${(i<n.length?a.left:a.right)-r.left-1}px, 0); width: 2px; height: ${r.height}px;`:`transform: translate(0, ${(i<n.length?a.top:a.bottom)-r.top-1}px); width: ${r.width}px; height: 2px;`}render(){let e=this._computeCaretStyle();return i`
|
|
10775
10783
|
<slot
|
|
10776
10784
|
@toggle=${this._onPanelToggle}
|
|
10777
10785
|
@slotchange=${this._onSlotChange}
|
|
@@ -10835,7 +10843,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
10835
10843
|
pointer-events: none;
|
|
10836
10844
|
z-index: 1;
|
|
10837
10845
|
}
|
|
10838
|
-
`}};E([d({type:String,reflect:!0})],LD.prototype,`orientation`,void 0),E([d({type:String})],LD.prototype,`variant`,void 0),E([d({type:String,attribute:`toggle-interaction`})],LD.prototype,`toggleInteraction`,void 0),E([d({type:Boolean})],LD.prototype,`collapsible`,void 0),E([d({type:Boolean,attribute:`accordion`,reflect:!0})],LD.prototype,`accordion`,void 0),E([d({type:Boolean,attribute:`allow-reorder`,reflect:!0})],LD.prototype,`allowReorder`,void 0),E([d({attribute:`sticky-headers`,reflect:!0,converter:{fromAttribute:e=>e!==`false`,toAttribute:e=>e?`true`:`false`}})],LD.prototype,`stickyHeaders`,void 0),E([d()],LD.prototype,`gap`,void 0),E([p({slot:``})],LD.prototype,`_panels`,void 0),LD=E([T(`ixfx-panel-group`)],LD);var RD=Object.defineProperty,zD=(e,n)=>{let r={};for(var i in e)RD(r,i,{get:e[i],enumerable:!0});return n||RD(r,Symbol.toStringTag,{value:`Module`}),r};const BD=Math.pow,VD=1/Math.sqrt(2*Math.PI),HD=(e=.4)=>n=>{let r=VD/e,i=-2.5,a=(n-.5)/e;a*=a,i*=a;let o=r*BD(Math.E,i);return o>1?1:o<0?0:o};var UD=zD({arch:()=>QD,backIn:()=>_O,backInOut:()=>bO,backOut:()=>vO,bell:()=>wO,bounceIn:()=>CO,bounceInOut:()=>EO,bounceOut:()=>YD,circIn:()=>hO,circInOut:()=>yO,circOut:()=>gO,cubicIn:()=>sO,cubicOut:()=>cO,elasticIn:()=>xO,elasticInOut:()=>TO,elasticOut:()=>SO,expoIn:()=>dO,expoInOut:()=>mO,expoOut:()=>fO,quadIn:()=>rO,quadInOut:()=>oO,quadOut:()=>iO,quartIn:()=>lO,quartOut:()=>uO,quintIn:()=>XD,quintInOut:()=>pO,quintOut:()=>ZD,sineIn:()=>tO,sineInOut:()=>aO,sineOut:()=>nO,smootherstep:()=>eO,smoothstep:()=>$D});const WD=Math.sqrt,GD=Math.pow,KD=Math.cos,qD=Math.PI,JD=Math.sin,YD=e=>{let n=7.5625,r=2.75;return e<1/r?n*e*e:e<2/r?n*(e-=1.5/r)*e+.75:e<2.5/r?n*(e-=2.25/r)*e+.9375:n*(e-=2.625/r)*e+.984375},XD=e=>e*e*e*e*e,ZD=e=>1-GD(1-e,5),QD=e=>e*(1-e)*4,$D=e=>e*e*(3-2*e),eO=e=>(e*(e*6-15)+10)*e*e*e,tO=e=>1-KD(e*qD/2),nO=e=>JD(e*qD/2),rO=e=>e*e,iO=e=>1-(1-e)*(1-e),aO=e=>-(KD(qD*e)-1)/2,oO=e=>e<.5?2*e*e:1-GD(-2*e+2,2)/2,sO=e=>e*e*e,cO=e=>1-GD(1-e,3),lO=e=>e*e*e*e,uO=e=>1-GD(1-e,4),dO=e=>e===0?0:GD(2,10*e-10),fO=e=>e===1?1:1-GD(2,-10*e),pO=e=>e<.5?16*e*e*e*e*e:1-GD(-2*e+2,5)/2,mO=e=>e===0?0:e===1?1:e<.5?GD(2,20*e-10)/2:(2-GD(2,-20*e+10))/2,hO=e=>1-WD(1-GD(e,2)),gO=e=>WD(1-GD(e-1,2)),_O=e=>2.70158*e*e*e-1.70158*e*e,vO=e=>1+2.70158*GD(e-1,3)+1.70158*GD(e-1,2),yO=e=>e<.5?(1-WD(1-GD(2*e,2)))/2:(WD(1-GD(-2*e+2,2))+1)/2,bO=e=>{let n=2.5949095;return e<.5?GD(2*e,2)*(7.189819*e-n)/2:(GD(2*e-2,2)*(3.5949095*(e*2-2)+n)+2)/2},xO=e=>{let n=2*qD/3;return e===0?0:e===1?1:-GD(2,10*e-10)*JD((e*10-10.75)*n)},SO=e=>{let n=2*qD/3;return e===0?0:e===1?1:GD(2,-10*e)*JD((e*10-.75)*n)+1},CO=e=>1-YD(1-e),wO=HD(),TO=e=>{let n=2*qD/4.5;return e===0?0:e===1?1:e<.5?-(GD(2,20*e-10)*JD((20*e-11.125)*n))/2:GD(2,-20*e+10)*JD((20*e-11.125)*n)/2+1},EO=e=>e<.5?(1-YD(1-2*e))/2:(1+YD(2*e-1))/2,DO=(e=0,n=0)=>{let r={x:Mi(e,-1,1,0,1),y:Mi(e,-1,1,1,0)},i=of.interpolate(Math.abs(e),of.Empty,r);e!==0&&n>0&&(i=e>0?of.interpolate(n,i,{x:0,y:r.x*2}):of.interpolate(n,i,{x:r.y*2,y:0}));let a=po.cubic(of.Empty,of.Unit,i,r),o=po.interpolator(a);return e=>o(e)},OO=(e,n)=>{A(oi(e,`fn`));let r;return()=>(r===void 0&&(r=Zu(n,{clampValue:!0})),e(r()))},kO=(e,n)=>{A(oi(e,`fn`));let r=nd(),i=ns(n);if(i===void 0)throw Error(`Param 'duration' not provided`);let a=td(i,{timer:r,clampValue:!0});return id(e,a)},AO=(e,n)=>{A(oi(e,`fn`));let r;return()=>(r===void 0&&(r=Qu(n,{clampValue:!0})),e(r()))},jO=(e,n)=>{A(oi(e,`fn`));let r=rd(),i=td(n,{timer:r,clampValue:!0});return id(e,i)};var MO=zD({Named:()=>UD,create:()=>NO,get:()=>BO,getEasingNames:()=>HO,line:()=>DO,tickEasing:()=>LO,ticks:()=>IO,time:()=>FO,timeEasing:()=>PO});const NO=e=>{let n=RO(e.name??`quintIn`)??e.fn;if(n===void 0)throw Error(`Either 'name' or 'fn' must be set`);if(`duration`in e)return FO(n,e.duration);if(`ticks`in e)return IO(n,e.ticks);throw Error(`Expected 'duration' or 'ticks' in options`)},PO=(e,n)=>kO(RO(e),n),FO=(e,n)=>OO(RO(e),n),IO=(e,n)=>AO(RO(e),n),LO=(e,n)=>jO(RO(e),n),RO=e=>{let n=typeof e==`function`?e:BO(e);if(n===void 0)throw Error(typeof e==`string`?`Easing function not found: '${e}'`:`Easing function not found`);return n};let zO;const BO=function(e){A(si(e,`non-empty`,`easingName`));let n=VO().get(e.toLowerCase());if(n===void 0)throw Error(`Easing not found: '${e}'`);return n};function VO(){if(zO===void 0){zO=new Map;for(let[e,n]of Object.entries(UD))zO.set(e.toLowerCase(),n);return zO}return zO}function*HO(){yield*VO().keys()}const UO=[`green`,`yellow`,`red`],WO=new Map;function GO(e){let n=e.join(`\0`);return WO.has(n)||WO.set(n,
|
|
10846
|
+
`}};E([d({type:String,reflect:!0})],LD.prototype,`orientation`,void 0),E([d({type:String})],LD.prototype,`variant`,void 0),E([d({type:String,attribute:`toggle-interaction`})],LD.prototype,`toggleInteraction`,void 0),E([d({type:Boolean})],LD.prototype,`collapsible`,void 0),E([d({type:Boolean,attribute:`accordion`,reflect:!0})],LD.prototype,`accordion`,void 0),E([d({type:Boolean,attribute:`allow-reorder`,reflect:!0})],LD.prototype,`allowReorder`,void 0),E([d({attribute:`sticky-headers`,reflect:!0,converter:{fromAttribute:e=>e!==`false`,toAttribute:e=>e?`true`:`false`}})],LD.prototype,`stickyHeaders`,void 0),E([d()],LD.prototype,`gap`,void 0),E([p({slot:``})],LD.prototype,`_panels`,void 0),LD=E([T(`ixfx-panel-group`)],LD);var RD=Object.defineProperty,zD=(e,n)=>{let r={};for(var i in e)RD(r,i,{get:e[i],enumerable:!0});return n||RD(r,Symbol.toStringTag,{value:`Module`}),r};const BD=Math.pow,VD=1/Math.sqrt(2*Math.PI),HD=(e=.4)=>n=>{let r=VD/e,i=-2.5,a=(n-.5)/e;a*=a,i*=a;let o=r*BD(Math.E,i);return o>1?1:o<0?0:o};var UD=zD({arch:()=>QD,backIn:()=>_O,backInOut:()=>bO,backOut:()=>vO,bell:()=>wO,bounceIn:()=>CO,bounceInOut:()=>EO,bounceOut:()=>YD,circIn:()=>hO,circInOut:()=>yO,circOut:()=>gO,cubicIn:()=>sO,cubicOut:()=>cO,elasticIn:()=>xO,elasticInOut:()=>TO,elasticOut:()=>SO,expoIn:()=>dO,expoInOut:()=>mO,expoOut:()=>fO,quadIn:()=>rO,quadInOut:()=>oO,quadOut:()=>iO,quartIn:()=>lO,quartOut:()=>uO,quintIn:()=>XD,quintInOut:()=>pO,quintOut:()=>ZD,sineIn:()=>tO,sineInOut:()=>aO,sineOut:()=>nO,smootherstep:()=>eO,smoothstep:()=>$D});const WD=Math.sqrt,GD=Math.pow,KD=Math.cos,qD=Math.PI,JD=Math.sin,YD=e=>{let n=7.5625,r=2.75;return e<1/r?n*e*e:e<2/r?n*(e-=1.5/r)*e+.75:e<2.5/r?n*(e-=2.25/r)*e+.9375:n*(e-=2.625/r)*e+.984375},XD=e=>e*e*e*e*e,ZD=e=>1-GD(1-e,5),QD=e=>e*(1-e)*4,$D=e=>e*e*(3-2*e),eO=e=>(e*(e*6-15)+10)*e*e*e,tO=e=>1-KD(e*qD/2),nO=e=>JD(e*qD/2),rO=e=>e*e,iO=e=>1-(1-e)*(1-e),aO=e=>-(KD(qD*e)-1)/2,oO=e=>e<.5?2*e*e:1-GD(-2*e+2,2)/2,sO=e=>e*e*e,cO=e=>1-GD(1-e,3),lO=e=>e*e*e*e,uO=e=>1-GD(1-e,4),dO=e=>e===0?0:GD(2,10*e-10),fO=e=>e===1?1:1-GD(2,-10*e),pO=e=>e<.5?16*e*e*e*e*e:1-GD(-2*e+2,5)/2,mO=e=>e===0?0:e===1?1:e<.5?GD(2,20*e-10)/2:(2-GD(2,-20*e+10))/2,hO=e=>1-WD(1-GD(e,2)),gO=e=>WD(1-GD(e-1,2)),_O=e=>2.70158*e*e*e-1.70158*e*e,vO=e=>1+2.70158*GD(e-1,3)+1.70158*GD(e-1,2),yO=e=>e<.5?(1-WD(1-GD(2*e,2)))/2:(WD(1-GD(-2*e+2,2))+1)/2,bO=e=>{let n=2.5949095;return e<.5?GD(2*e,2)*(7.189819*e-n)/2:(GD(2*e-2,2)*(3.5949095*(e*2-2)+n)+2)/2},xO=e=>{let n=2*qD/3;return e===0?0:e===1?1:-GD(2,10*e-10)*JD((e*10-10.75)*n)},SO=e=>{let n=2*qD/3;return e===0?0:e===1?1:GD(2,-10*e)*JD((e*10-.75)*n)+1},CO=e=>1-YD(1-e),wO=HD(),TO=e=>{let n=2*qD/4.5;return e===0?0:e===1?1:e<.5?-(GD(2,20*e-10)*JD((20*e-11.125)*n))/2:GD(2,-20*e+10)*JD((20*e-11.125)*n)/2+1},EO=e=>e<.5?(1-YD(1-2*e))/2:(1+YD(2*e-1))/2,DO=(e=0,n=0)=>{let r={x:Mi(e,-1,1,0,1),y:Mi(e,-1,1,1,0)},i=of.interpolate(Math.abs(e),of.Empty,r);e!==0&&n>0&&(i=e>0?of.interpolate(n,i,{x:0,y:r.x*2}):of.interpolate(n,i,{x:r.y*2,y:0}));let a=po.cubic(of.Empty,of.Unit,i,r),o=po.interpolator(a);return e=>o(e)},OO=(e,n)=>{A(oi(e,`fn`));let r;return()=>(r===void 0&&(r=Zu(n,{clampValue:!0})),e(r()))},kO=(e,n)=>{A(oi(e,`fn`));let r=nd(),i=ns(n);if(i===void 0)throw Error(`Param 'duration' not provided`);let a=td(i,{timer:r,clampValue:!0});return id(e,a)},AO=(e,n)=>{A(oi(e,`fn`));let r;return()=>(r===void 0&&(r=Qu(n,{clampValue:!0})),e(r()))},jO=(e,n)=>{A(oi(e,`fn`));let r=rd(),i=td(n,{timer:r,clampValue:!0});return id(e,i)};var MO=zD({Named:()=>UD,create:()=>NO,get:()=>BO,getEasingNames:()=>HO,line:()=>DO,tickEasing:()=>LO,ticks:()=>IO,time:()=>FO,timeEasing:()=>PO});const NO=e=>{let n=RO(e.name??`quintIn`)??e.fn;if(n===void 0)throw Error(`Either 'name' or 'fn' must be set`);if(`duration`in e)return FO(n,e.duration);if(`ticks`in e)return IO(n,e.ticks);throw Error(`Expected 'duration' or 'ticks' in options`)},PO=(e,n)=>kO(RO(e),n),FO=(e,n)=>OO(RO(e),n),IO=(e,n)=>AO(RO(e),n),LO=(e,n)=>jO(RO(e),n),RO=e=>{let n=typeof e==`function`?e:BO(e);if(n===void 0)throw Error(typeof e==`string`?`Easing function not found: '${e}'`:`Easing function not found`);return n};let zO;const BO=function(e){A(si(e,`non-empty`,`easingName`));let n=VO().get(e.toLowerCase());if(n===void 0)throw Error(`Easing not found: '${e}'`);return n};function VO(){if(zO===void 0){zO=new Map;for(let[e,n]of Object.entries(UD))zO.set(e.toLowerCase(),n);return zO}return zO}function*HO(){yield*VO().keys()}const UO=[`green`,`yellow`,`red`],WO=new Map;function GO(e){let n=e.join(`\0`);return WO.has(n)||WO.set(n,Dg.scale(e,{stepsBetween:99})),WO.get(n)}function KO(e,n){let r=getComputedStyle(e),i=r.getPropertyValue(n).trim(),a=/var\((--[\w-]+)(?:,(.*))?\)/g;for(let e=0;e<5&&i.includes(`var(`);e++)i=i.replace(a,(e,n,i)=>r.getPropertyValue(n).trim()||(i?i.trim():``));return i}function qO(e){return KO(e,`--plot-color`)||`oklch(60% 0.15 140)`}function JO(e){if(!e.trim())return UO;let n=e.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length>=2?n:UO}function YO(e){try{let n=Dg.HslSpace.fromCss(e,{scalar:!0});return{h:n.h,s:n.s,l:n.l}}catch{return{h:.39,s:.5,l:.55}}}function XO(e,n){let r=Math.max(0,Math.min(1,e));if(n.easingName)try{return Math.max(0,Math.min(1,MO.get(n.easingName)(r)))}catch{}return n.valueMap?Math.max(0,Math.min(1,n.valueMap(r))):r}function ZO(e,n,r){let i=XO(e,r);switch(r.mode){case`fixed`:return{fill:n,opacity:1};case`opacity`:return{fill:n,opacity:Math.max(.04,i)};case`hue`:{let e=YO(n);return{fill:`hsl(${Math.round(i*360)}deg ${Math.round(e.s*100)}% ${Math.round(e.l*100)}%)`,opacity:1}}case`saturation`:{let e=YO(n);return{fill:`hsl(${Math.round(e.h*360)}deg ${Math.round(i*100)}% ${Math.round(e.l*100)}%)`,opacity:1}}case`lightness`:{let e=YO(n);return{fill:`hsl(${Math.round(e.h*360)}deg ${Math.round(e.s*100)}% ${Math.round(i*100)}%)`,opacity:1}}case`scale`:{let e=GO(r.palette.length>=2?r.palette:UO);return{fill:e[Math.min(e.length-1,Math.floor(i*e.length))],opacity:1}}default:return{fill:n,opacity:1}}}function QO(e,n,r){if(r===`opacity`)return{...e,opacity:e.opacity*Math.max(.08,n**.6)};if(r===`desaturation`){let r=YO(e.fill),i=r.s*n;return{fill:`hsl(${Math.round(r.h*360)}deg ${Math.round(i*100)}% ${Math.round(r.l*100)}%)`,opacity:e.opacity}}return e}var $O=class{#e;#t;#n;#r;constructor(e={}){this.values=[],this.#e=Ii(),this.#t={min:0,max:0},this.#n=null,this.#r={capacityLimit:100,persistentScaling:!0,fixedRange:null,...e},this.#r.fixedRange!==null&&(this.#n=this.#r.fixedRange)}setRange(e,n){this.#n={min:e,max:n}}unsetRange(){this.#n=null,this.#i()}get isAutoRange(){return this.#n===null}add(e){if(typeof e==`number`)this.values.push(e),this.isAutoRange&&(this.#t=this.#e.seen(e));else if(this.values.push(...e),this.isAutoRange)for(let n of e)this.#t=this.#e.seen(n);this.values.length>this.#r.capacityLimit&&(this.values=this.values.slice(this.values.length-this.#r.capacityLimit),!this.#r.persistentScaling&&this.isAutoRange&&this.#i())}#i(){this.#r.persistentScaling||(this.#e=Ii());for(let e=0;e<this.values.length;e++)this.#t=this.#e.seen(this.values[e])}set(e){e.length>this.#r.capacityLimit&&(e=e.slice(e.length-this.#r.capacityLimit)),this.values=e,this.#i()}get range(){return this.#n?this.#n:this.#t}clear(){let e=this.values.length===0;return this.values=[],this.#r.persistentScaling||this.#i(),!e}};function ek(e){if(typeof e==`number`)return!0;if(typeof e!=`string`)return!1;let n=e.trim();return n!==``&&!Number.isNaN(Number(n))}var tk;let nk=!1;function rk(){if(nk)return;nk=!0;let e=document.createElement(`style`);e.textContent=`
|
|
10839
10847
|
ixfx-tooltip {
|
|
10840
10848
|
display: inline-block;
|
|
10841
10849
|
background: var(--surface-5);
|
|
@@ -11096,7 +11104,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
11096
11104
|
dominant-baseline: hanging;
|
|
11097
11105
|
pointer-events: none;
|
|
11098
11106
|
}
|
|
11099
|
-
`}};E([d({attribute:`draw-style`})],Nk.prototype,`drawStyle`,void 0),E([d({attribute:`age-style`})],Nk.prototype,`ageStyle`,void 0),E([d()],Nk.prototype,`title`,void 0),E([d({type:Boolean})],Nk.prototype,`precise`,void 0),E([d({type:Boolean})],Nk.prototype,`tooltips`,void 0),E([d({type:Number})],Nk.prototype,`capacity`,void 0),E([d({type:Boolean,attribute:`persistent-scale`})],Nk.prototype,`persistentScale`,void 0),E([d({type:Boolean,reflect:!0})],Nk.prototype,`paused`,void 0),E([d({type:Boolean,attribute:`click-pauses`})],Nk.prototype,`clickPauses`,void 0),E([d({attribute:`color-mode`})],Nk.prototype,`colorMode`,void 0),E([d({attribute:`color-easing`})],Nk.prototype,`colorEasing`,void 0),E([d({attribute:`color-scale`})],Nk.prototype,`colorScale`,void 0),E([m()],Nk.prototype,`_width`,void 0),E([m()],Nk.prototype,`_height`,void 0),Nk=E([T(`ixfx-plot-xy-axis`)],Nk);const Pk=Math.PI/180,Fk=180/Math.PI;function Ik(e,n){let r=n*50;return{x:50+Math.cos(e)*r,y:50+Math.sin(e)*r}}function Lk(e,n){let r=e-50,i=n-50,a=Math.sqrt(r*r+i*i),o=Math.min(1,a/50);return{angleRad:(Math.atan2(i,r)%(2*Math.PI)+2*Math.PI)%(2*Math.PI),radius:o}}const Rk=e=>Math.max(0,Math.min(1,e));function zk(e,n,r,i){if(r<=0||!i)return e;let a=360/r,o=(e%360+360)%360,s=Math.round(o/a)*a,c=o%a;if(Math.abs(c)<1e-4||Math.abs(a-c)<1e-4){let r=e-n;return r>180&&(r-=360),r<-180&&(r+=360),(s+(r>=0?1:-1)*a+360)%360}return s}function Bk(e,n,r,i){if(r<=0||!i)return e;let a=1/r,o=Math.round(e/a)*a,s=e%a;return Math.abs(s)<1e-4||Math.abs(a-s)<1e-4?Math.max(0,Math.min(1,o+(e>=n?1:-1)*a)):o}function Vk(e,n){if(!n||n<=1)return e;let r=360/n,i=(e%360+360)%360;return Math.round(i/r)*r}function Hk(e,n){if(!n||n<=1)return e;let r=1/n;return Math.round(e/r)*r}let Uk=class extends
|
|
11107
|
+
`}};E([d({attribute:`draw-style`})],Nk.prototype,`drawStyle`,void 0),E([d({attribute:`age-style`})],Nk.prototype,`ageStyle`,void 0),E([d()],Nk.prototype,`title`,void 0),E([d({type:Boolean})],Nk.prototype,`precise`,void 0),E([d({type:Boolean})],Nk.prototype,`tooltips`,void 0),E([d({type:Number})],Nk.prototype,`capacity`,void 0),E([d({type:Boolean,attribute:`persistent-scale`})],Nk.prototype,`persistentScale`,void 0),E([d({type:Boolean,reflect:!0})],Nk.prototype,`paused`,void 0),E([d({type:Boolean,attribute:`click-pauses`})],Nk.prototype,`clickPauses`,void 0),E([d({attribute:`color-mode`})],Nk.prototype,`colorMode`,void 0),E([d({attribute:`color-easing`})],Nk.prototype,`colorEasing`,void 0),E([d({attribute:`color-scale`})],Nk.prototype,`colorScale`,void 0),E([m()],Nk.prototype,`_width`,void 0),E([m()],Nk.prototype,`_height`,void 0),Nk=E([T(`ixfx-plot-xy-axis`)],Nk);const Pk=Math.PI/180,Fk=180/Math.PI;function Ik(e,n){let r=n*50;return{x:50+Math.cos(e)*r,y:50+Math.sin(e)*r}}function Lk(e,n){let r=e-50,i=n-50,a=Math.sqrt(r*r+i*i),o=Math.min(1,a/50);return{angleRad:(Math.atan2(i,r)%(2*Math.PI)+2*Math.PI)%(2*Math.PI),radius:o}}const Rk=e=>Math.max(0,Math.min(1,e));function zk(e,n,r,i){if(r<=0||!i)return e;let a=360/r,o=(e%360+360)%360,s=Math.round(o/a)*a,c=o%a;if(Math.abs(c)<1e-4||Math.abs(a-c)<1e-4){let r=e-n;return r>180&&(r-=360),r<-180&&(r+=360),(s+(r>=0?1:-1)*a+360)%360}return s}function Bk(e,n,r,i){if(r<=0||!i)return e;let a=1/r,o=Math.round(e/a)*a,s=e%a;return Math.abs(s)<1e-4||Math.abs(a-s)<1e-4?Math.max(0,Math.min(1,o+(e>=n?1:-1)*a)):o}function Vk(e,n){if(!n||n<=1)return e;let r=360/n,i=(e%360+360)%360;return Math.round(i/r)*r}function Hk(e,n){if(!n||n<=1)return e;let r=1/n;return Math.round(e/r)*r}let Uk=class extends mx(n){constructor(...e){super(...e),this.angle=0,this.radius=.5,this.rings=0,this.rays=0,this.showRay=!1,this.showOrigin=!1,this.hideCursor=!1,this.snapValue=!1,this.disabled=!1,this._dragging=!1,this._dragStartAngle=0,this._dragStartRadius=0,this._pressedKeys=new Set,this._prevAngle=0,this._prevRadius=0,this._onPointerDown=e=>{e.preventDefault(),this.renderRoot.querySelector(`svg`)?.focus();let n=this.renderRoot.querySelector(`.polar-pad-area`);n&&n.setPointerCapture(e.pointerId),this._dragging=!0,this._dragStartAngle=this.angle,this._dragStartRadius=this.radius,this.setAttribute(`dragging`,``),this._updateFromPointer(e),globalThis.addEventListener(`pointermove`,this._onPointerMove),globalThis.addEventListener(`pointerup`,this._onPointerUp)},this._onPointerMove=e=>{this._dragging&&(e.preventDefault(),this._updateFromPointer(e))},this._onPointerUp=()=>{let e=this.angle!==this._dragStartAngle||this.radius!==this._dragStartRadius;this._dragging=!1,this.removeAttribute(`dragging`),globalThis.removeEventListener(`pointermove`,this._onPointerMove),globalThis.removeEventListener(`pointerup`,this._onPointerUp),e&&this.dispatchEvent(new CustomEvent(`change`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0}))},this._onKeyDown=e=>{if(!this.disabled){if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key))e.preventDefault(),this._pressedKeys.add(e.key),this._handleKeyboardMove(e.shiftKey);else if(e.key===`Home`||e.key===`End`){e.preventDefault();let n=e.key===`Home`?0:1;n!==this.radius&&(this._prevRadius=this.radius,this.radius=n,this.dispatchEvent(new CustomEvent(`input`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0})))}}},this._onKeyUp=e=>{this._pressedKeys.delete(e.key)},this._handleKeyboardMove=e=>{let n=this.stopsAngle??this.stops,r=this.stopsRadius??this.stops,i=px(360,n,this.stepAngle,e),a=px(1,r,this.stepRadius,e);this._prevAngle=this.angle,this._prevRadius=this.radius;let o=this.angle,s=this.radius;this._pressedKeys.has(`ArrowLeft`)&&(o-=i),this._pressedKeys.has(`ArrowRight`)&&(o+=i),this._pressedKeys.has(`ArrowUp`)&&(s=Math.min(1,s+a)),this._pressedKeys.has(`ArrowDown`)&&(s=Math.max(0,s-a)),o=(o%360+360)%360;let c=zk(o,this._prevAngle,this.rays,this.snapValue),l=Bk(s,this._prevRadius,this.rings,this.snapValue);c=Vk(c,n),l=Hk(l,r),(c!==this.angle||l!==this.radius)&&(this.angle=c,this.radius=l,this.dispatchEvent(new CustomEvent(`input`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0})))},this._uid=Math.random().toString(36).slice(2,8)}static{this.styles=[un,w,r`
|
|
11100
11108
|
:host {
|
|
11101
11109
|
display: block;
|
|
11102
11110
|
width: 200px;
|
|
@@ -11229,7 +11237,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
11229
11237
|
stroke: var(--accent);
|
|
11230
11238
|
stroke-width: 3;
|
|
11231
11239
|
}
|
|
11232
|
-
`]}_updateFromPointer(e){let n=this.renderRoot.querySelector(`.polar-pad-area`);if(!n)return;let r=n.getBoundingClientRect(),i=Math.min(r.width,r.height),{angleRad:a,radius:o}=Lk((e.clientX-r.left)/i*100,(e.clientY-r.top)/i*100),s=a*Fk,c=Rk(o);this._prevAngle=this.angle,this._prevRadius=this.radius;let l=zk(s,this._prevAngle,this.rays,this.snapValue),u=Bk(c,this._prevRadius,this.rings,this.snapValue),d=this.stopsAngle??this.stops,f=this.stopsRadius??this.stops;this.angle=Vk(l,d),this.radius=Hk(u,f),this._prevAngle=s,this._prevRadius=c,this.dispatchEvent(new CustomEvent(`input`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0}))}_stepRadiusByDelta(e,n){let r=this.stopsRadius??this.stops,i=
|
|
11240
|
+
`]}_updateFromPointer(e){let n=this.renderRoot.querySelector(`.polar-pad-area`);if(!n)return;let r=n.getBoundingClientRect(),i=Math.min(r.width,r.height),{angleRad:a,radius:o}=Lk((e.clientX-r.left)/i*100,(e.clientY-r.top)/i*100),s=a*Fk,c=Rk(o);this._prevAngle=this.angle,this._prevRadius=this.radius;let l=zk(s,this._prevAngle,this.rays,this.snapValue),u=Bk(c,this._prevRadius,this.rings,this.snapValue),d=this.stopsAngle??this.stops,f=this.stopsRadius??this.stops;this.angle=Vk(l,d),this.radius=Hk(u,f),this._prevAngle=s,this._prevRadius=c,this.dispatchEvent(new CustomEvent(`input`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0}))}_stepRadiusByDelta(e,n){let r=this.stopsRadius??this.stops,i=px(1,r,this.stepRadius,n);this._prevRadius=this.radius;let a=Hk(Bk(e===1?Math.min(1,this.radius+i):Math.max(0,this.radius-i),this._prevRadius,this.rings,this.snapValue),r);a!==this.radius&&(this.radius=a,this.dispatchEvent(new CustomEvent(`input`,{detail:{angle:this.angle,radius:this.radius},bubbles:!0,composed:!0})))}_applyWheelDelta(e,n){this._stepRadiusByDelta(e,n.shiftKey)}_setCssVars(){this.style.setProperty(`--angle-deg`,`${this.angle}`),this.style.setProperty(`--angle-rad`,`${this.angle*Pk}`),this.style.setProperty(`--radius-pct`,`${Rk(this.radius)*100}`)}updated(e){super.updated(e),this._setCssVars()}disconnectedCallback(){super.disconnectedCallback(),this._onPointerUp(),this._pressedKeys.clear()}_renderRings(){if(this.rings<=0)return``;let e=[];for(let n=1;n<=this.rings;n++){let r=n/this.rings*50;e.push(s`<circle class="ring" cx="50" cy="50" r="${r}" />`)}return e}_renderSpokes(){if(this.rays<=0)return``;let e=[];for(let n=0;n<this.rays;n++){let r=n/this.rays*2*Math.PI,i=Math.cos(r),a=Math.sin(r),o=50+i*50,c=50+a*50,l=50-i*50,u=50-a*50;e.push(s`<line class="spoke" x1="${o}" y1="${c}" x2="${l}" y2="${u}" />`)}return e}_renderRay(e,n){return this.showRay?s`<line class="ray" x1="50" y1="50" x2="${e}" y2="${n}" />`:``}_renderOrigin(){return this.showOrigin?s`<circle class="origin-dot" cx="50" cy="50" r="3" style="r: calc(var(--origin-size) / 2)" />`:``}render(){let{x:e,y:n}=Ik(this.angle*Pk,Rk(this.radius));return i`
|
|
11233
11241
|
<div class="polar-pad-area"
|
|
11234
11242
|
@pointerdown=${this._onPointerDown}
|
|
11235
11243
|
@keydown=${this._onKeyDown}
|
|
@@ -11365,7 +11373,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
11365
11373
|
100% calc(50% + var(--b)/2));
|
|
11366
11374
|
}
|
|
11367
11375
|
}
|
|
11368
|
-
`;function Gk(e,n,r){return r===n?0:(e-n)/(r-n)}let Kk=class extends
|
|
11376
|
+
`;function Gk(e,n,r){return r===n?0:(e-n)/(r-n)}let Kk=class extends mx(n){constructor(...e){super(...e),this.min=0,this.max=1,this.value=0,this.step=.01,this.orientation=`horizontal`,this.swipeable=!1,this.tooltip=!1,this.tooltipOrientation=`top`,this._swipeModified=!1,this._onPointerDown=e=>{this.swipeable&&(e.preventDefault(),this._swipeModified=!1,this._applySwipeValue(this._valueFromPointer(e)),window.addEventListener(`pointerup`,this._onWindowPointerUp,{once:!0}))},this._onPointerMove=e=>{!this.swipeable||e.buttons===0||this._applySwipeValue(this._valueFromPointer(e))},this._onPointerEnter=e=>{!this.swipeable||e.buttons===0||(this._swipeModified=!1,this._applySwipeValue(this._valueFromPointer(e)),window.addEventListener(`pointerup`,this._onWindowPointerUp,{once:!0}))},this._onPointerLeave=e=>{!this.swipeable||!this._swipeModified||(this._swipeModified=!1,this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value},bubbles:!0,composed:!0})))},this._onWindowPointerUp=()=>{this._swipeModified&&(this._swipeModified=!1,this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value},bubbles:!0,composed:!0})))},this._handleInput=e=>{e.preventDefault(),e.stopImmediatePropagation();let n=e.target,r=Number.parseFloat(n.value);this.value=r,this.style.setProperty(`--value`,String(Gk(r,this.min,this.max))),this.dispatchEvent(new CustomEvent(`input`,{detail:{value:r},bubbles:!0,composed:!0}))},this._handleChange=()=>{let e=Number.parseFloat(this._inputEl.value);this.dispatchEvent(new CustomEvent(`change`,{detail:{value:e},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.addEventListener(`pointerdown`,this._onPointerDown),this.addEventListener(`pointermove`,this._onPointerMove),this.addEventListener(`pointerenter`,this._onPointerEnter),this.addEventListener(`pointerleave`,this._onPointerLeave)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`pointerdown`,this._onPointerDown),this.removeEventListener(`pointermove`,this._onPointerMove),this.removeEventListener(`pointerenter`,this._onPointerEnter),this.removeEventListener(`pointerleave`,this._onPointerLeave),window.removeEventListener(`pointerup`,this._onWindowPointerUp)}_valueFromPointer(e){let n=this.getBoundingClientRect(),r=this.orientation===`vertical`?Math.max(0,Math.min(1,1-(e.clientY-n.top)/n.height)):Math.max(0,Math.min(1,(e.clientX-n.left)/n.width)),i=this.min+r*(this.max-this.min),a=Math.round((i-this.min)/this.step)*this.step+this.min;return Math.max(this.min,Math.min(this.max,a))}_applySwipeValue(e){this.value=e,this._inputEl&&(this._inputEl.value=String(e)),this.style.setProperty(`--value`,String(Gk(e,this.min,this.max))),this.dispatchEvent(new CustomEvent(`input`,{detail:{value:e},bubbles:!0,composed:!0})),this._swipeModified=!0}updated(e){super.updated(e),(e.has(`value`)||e.has(`min`)||e.has(`max`))&&this.style.setProperty(`--value`,String(Gk(this.value,this.min,this.max))),this._tooltipEl&&(this._tooltipEl.valueFormatTooltip=e=>{let n=typeof e==`number`?e:Number(e);if(this.labelFormatter)return this.labelFormatter(n,Gk(n,this.min,this.max));let r=this.step>=1?0:this.step>=.1?1:2;return n.toFixed(r)})}_formatTooltipLabel(){let e=Gk(this.value,this.min,this.max);if(this.labelFormatter)return this.labelFormatter(this.value,e);let n=this.step>=1?0:this.step>=.1?1:2;return this.value.toFixed(n)}_applyWheelDelta(e,n){let r=this._inputEl;if(!r)return;let i=this.step>0?this.step:Math.max((this.max-this.min)/100,.01),a=this.value+e*i,o=Math.min(this.max,Math.max(this.min,a));o!==this.value&&(r.value=String(o),r.dispatchEvent(new CustomEvent(`input`,{detail:{value:o},bubbles:!0})),r.dispatchEvent(new CustomEvent(`change`,{detail:{value:o},bubbles:!0})))}render(){let e=this.tooltip?i`
|
|
11369
11377
|
<ixfx-tooltip
|
|
11370
11378
|
style="--tooltip-background: var(--surface-5); --tooltip-color: var(--surface-5-text)"
|
|
11371
11379
|
.orientation=${this.tooltipOrientation}
|
|
@@ -11817,7 +11825,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
11817
11825
|
[type=range]:focus, [type=range]:focus + ixfx-tooltip, [type=range]:hover, [type=range]:hover + ixfx-tooltip {
|
|
11818
11826
|
--sel: 1 ;
|
|
11819
11827
|
}
|
|
11820
|
-
`]}};E([d({type:Boolean})],Xk.prototype,`tooltip`,void 0),E([d({type:String,attribute:`tooltip-orientation`})],Xk.prototype,`tooltipOrientation`,void 0),E([d({type:String})],Xk.prototype,`crossover`,void 0),E([d({type:String,attribute:`resize-mode`})],Xk.prototype,`resizeMode`,void 0),E([d({type:String,reflect:!0})],Xk.prototype,`orientation`,void 0),E([d()],Xk.prototype,`step`,void 0),E([d({type:Number})],Xk.prototype,`a`,void 0),E([d({type:Number})],Xk.prototype,`b`,void 0),E([d({type:Number})],Xk.prototype,`max`,null),E([d({type:Number})],Xk.prototype,`min`,null),E([u({capture:!0})],Xk.prototype,`_onInput`,null),E([u({capture:!0})],Xk.prototype,`_onPointerDown`,null),Xk=E([T(`ixfx-range-multi`)],Xk);let Zk=class extends
|
|
11828
|
+
`]}};E([d({type:Boolean})],Xk.prototype,`tooltip`,void 0),E([d({type:String,attribute:`tooltip-orientation`})],Xk.prototype,`tooltipOrientation`,void 0),E([d({type:String})],Xk.prototype,`crossover`,void 0),E([d({type:String,attribute:`resize-mode`})],Xk.prototype,`resizeMode`,void 0),E([d({type:String,reflect:!0})],Xk.prototype,`orientation`,void 0),E([d()],Xk.prototype,`step`,void 0),E([d({type:Number})],Xk.prototype,`a`,void 0),E([d({type:Number})],Xk.prototype,`b`,void 0),E([d({type:Number})],Xk.prototype,`max`,null),E([d({type:Number})],Xk.prototype,`min`,null),E([u({capture:!0})],Xk.prototype,`_onInput`,null),E([u({capture:!0})],Xk.prototype,`_onPointerDown`,null),Xk=E([T(`ixfx-range-multi`)],Xk);let Zk=class extends mx(n){constructor(...e){super(...e),this.tooltip=!0,this.tooltipOrientation=`top`,this.orientation=`horizontal`,this.disabled=!1,this.min=0,this.max=100,this.#e=0,this.step=0}set value(e){this.#e=e}get value(){return this.#e}#e;onRangeInput(e){let n=e.target.valueAsNumber,r=e.target.value;if(this.#e=n,this.tooltip){let e=this.shadowRoot?.querySelector(`output`);e?e.value=r:console.warn(`Output element not found`)}}_applyWheelDelta(e,n){let r=this.renderRoot?.querySelector(`input[type=range]`);if(!r)return;let i=this.step>0?this.step:Math.max((this.max-this.min)/100,.01),a=this.#e+e*i,o=Math.min(this.max,Math.max(this.min,a));o!==this.#e&&(r.value=String(o),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0})))}render(){let e=this.tooltip?i`<ixfx-tooltip
|
|
11821
11829
|
style="--tooltip-background: var(--surface-5); --tooltip-color: var(--surface-5-text)"
|
|
11822
11830
|
.orientation=${this.tooltipOrientation}
|
|
11823
11831
|
anchor="--thumb-tooltip"
|
|
@@ -11921,7 +11929,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
11921
11929
|
@click=${e=>this._commit(this._calc(e,a))}>
|
|
11922
11930
|
<svg viewBox="0 0 24 24" class="bg" fill="currentColor"><path d=${d}></path></svg>
|
|
11923
11931
|
${s||c?i`<svg viewBox="0 0 24 24" class="fill" fill="currentColor"><path d=${d}></path></svg>`:``}
|
|
11924
|
-
</span>`})}`}firstUpdated(){this.addEventListener(`pointerleave`,()=>this._preview=null),this.addEventListener(`keydown`,e=>{if(this.disabled||this.readonly)return;let n=this.allowHalf?.5:1;if(e.key===`ArrowRight`||e.key===`ArrowUp`)e.preventDefault(),this._commit(Math.min(this.max,this.value+n));else if(e.key===`ArrowLeft`||e.key===`ArrowDown`)e.preventDefault(),this._commit(Math.max(0,this.value-n));else if(e.key===`Home`)e.preventDefault(),this._commit(0);else if(e.key===`End`)e.preventDefault(),this._commit(this.max);else if(/^\d$/.test(e.key)){e.preventDefault();let n=parseInt(e.key,10);this._commit(Math.min(n,this.max))}})}};E([d({type:Number})],Qk.prototype,`value`,void 0),E([d({type:Number})],Qk.prototype,`max`,void 0),E([d({type:Boolean,attribute:`allow-half`})],Qk.prototype,`allowHalf`,void 0),E([d({type:Boolean,reflect:!0})],Qk.prototype,`disabled`,void 0),E([d({type:Boolean,reflect:!0})],Qk.prototype,`readonly`,void 0),E([d({type:String})],Qk.prototype,`variant`,void 0),E([m()],Qk.prototype,`_preview`,void 0),Qk=E([T(`ixfx-rating`)],Qk);let $k=class extends
|
|
11932
|
+
</span>`})}`}firstUpdated(){this.addEventListener(`pointerleave`,()=>this._preview=null),this.addEventListener(`keydown`,e=>{if(this.disabled||this.readonly)return;let n=this.allowHalf?.5:1;if(e.key===`ArrowRight`||e.key===`ArrowUp`)e.preventDefault(),this._commit(Math.min(this.max,this.value+n));else if(e.key===`ArrowLeft`||e.key===`ArrowDown`)e.preventDefault(),this._commit(Math.max(0,this.value-n));else if(e.key===`Home`)e.preventDefault(),this._commit(0);else if(e.key===`End`)e.preventDefault(),this._commit(this.max);else if(/^\d$/.test(e.key)){e.preventDefault();let n=parseInt(e.key,10);this._commit(Math.min(n,this.max))}})}};E([d({type:Number})],Qk.prototype,`value`,void 0),E([d({type:Number})],Qk.prototype,`max`,void 0),E([d({type:Boolean,attribute:`allow-half`})],Qk.prototype,`allowHalf`,void 0),E([d({type:Boolean,reflect:!0})],Qk.prototype,`disabled`,void 0),E([d({type:Boolean,reflect:!0})],Qk.prototype,`readonly`,void 0),E([d({type:String})],Qk.prototype,`variant`,void 0),E([m()],Qk.prototype,`_preview`,void 0),Qk=E([T(`ixfx-rating`)],Qk);let $k=class extends mx(n){constructor(...e){super(...e),this._selectedIndex=-1,this._slottedItems=[],this.tickled=new oe(this,{getItems:()=>this._slottedItems.map((e,n)=>({id:n,enabled:!0})),onStateChange:()=>this._syncTickled()}),this._onSlotChange=()=>{this._slottedItems=Array.from(this.shadowRoot?.querySelector(`slot`)?.assignedElements()??[]);let e=this._slottedItems.findIndex(e=>e.hasAttribute(`selected`)),n=e>=0?e:this._selectedIndex;n>=this._slottedItems.length&&(n=this._slottedItems.length-1),n<0&&this._slottedItems.length>0&&(n=0),this.selectedIndex=n},this._syncTickled=()=>{this._slottedItems.forEach((e,n)=>{let r=this.tickled.isTickled(n);e.classList.toggle(`tickled`,r),e.tabIndex=r&&this.tickled.inputMode===`keyboard`?0:-1})},this._findSlottedItem=e=>{let n=e instanceof Element?e:null;for(;n;){if(this._slottedItems.includes(n))return n;n=n.parentElement}},this._handlePointerOver=e=>{let n=this._findSlottedItem(e.target);n&&this.tickled.handlePointerEnter(this._slottedItems.indexOf(n))},this._handleKeyDown=e=>{e.key===`ArrowLeft`?(e.preventDefault(),this.tickled.handleKeyboardNavigation(`previous`),this._applyTickledSelection()):e.key===`ArrowRight`?(e.preventDefault(),this.tickled.handleKeyboardNavigation(`next`),this._applyTickledSelection()):e.key===`Home`?(e.preventDefault(),this.tickled.handleKeyboardNavigation(`first`),this._applyTickledSelection()):e.key===`End`&&(e.preventDefault(),this.tickled.handleKeyboardNavigation(`last`),this._applyTickledSelection())},this._applyTickledSelection=()=>{let e=this.tickled.tickledId;e!==void 0&&e!==this._selectedIndex&&(this.selectedIndex=e)},this._wheelCooldown=!1,this._handleClick=e=>{e.currentTarget.focus();let n=this._findSlottedItem(e.target),r=n?this._slottedItems.indexOf(n):-1;r>=0&&r!==this._selectedIndex&&(this.selectedIndex=r)},this._updateSelectedAttribute=()=>{this._slottedItems.forEach((e,n)=>{n===this._selectedIndex?e.setAttribute(`selected`,``):e.removeAttribute(`selected`)})},this._scrollSelectedIntoView=()=>{let e=this._slottedItems[this._selectedIndex];e&&e.scrollIntoView({inline:`center`,behavior:`smooth`})},this._emitChange=()=>{this.dispatchEvent(new CustomEvent(`change`,{detail:{selectedIndex:this._selectedIndex,selectedItem:this.selectedItem,selectedValue:this.selectedValue},bubbles:!0,composed:!0}))}}static{this.styles=[w,se,C,wr(`x`),r`
|
|
11925
11933
|
:host {
|
|
11926
11934
|
--select-horiz-item-width: 80%;
|
|
11927
11935
|
--select-horiz-gap: var(--space-s);
|
|
@@ -12017,7 +12025,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
12017
12025
|
<slot @slotchange=${this._onSlotChange}></slot>
|
|
12018
12026
|
<div class="spacer"></div>
|
|
12019
12027
|
</div>
|
|
12020
|
-
`}willUpdate(e){super.willUpdate(e),this.setAttribute(`data-input-mode`,this.tickled.inputMode)}_applyWheelDelta(e,n){this._wheelCooldown||(this._wheelCooldown=!0,this.tickled.handleKeyboardNavigation(e===1?`next`:`previous`),this._applyTickledSelection(),setTimeout(()=>{this._wheelCooldown=!1},250))}};E([m()],$k.prototype,`_selectedIndex`,void 0),E([m()],$k.prototype,`_slottedItems`,void 0),E([d({type:Number,reflect:!0,attribute:`selected-index`})],$k.prototype,`selectedIndex`,null),E([d({type:String})],$k.prototype,`selectedValue`,null),$k=E([T(`ixfx-select-horiz`)],$k);function eA(e,n,r){return Math.min(Math.max(e,n),r)}function tA(e,n,r,i,a){return r===n?i:i+(e-n)/(r-n)*(a-i)}let nA=class extends
|
|
12028
|
+
`}willUpdate(e){super.willUpdate(e),this.setAttribute(`data-input-mode`,this.tickled.inputMode)}_applyWheelDelta(e,n){this._wheelCooldown||(this._wheelCooldown=!0,this.tickled.handleKeyboardNavigation(e===1?`next`:`previous`),this._applyTickledSelection(),setTimeout(()=>{this._wheelCooldown=!1},250))}};E([m()],$k.prototype,`_selectedIndex`,void 0),E([m()],$k.prototype,`_slottedItems`,void 0),E([d({type:Number,reflect:!0,attribute:`selected-index`})],$k.prototype,`selectedIndex`,null),E([d({type:String})],$k.prototype,`selectedValue`,null),$k=E([T(`ixfx-select-horiz`)],$k);function eA(e,n,r){return Math.min(Math.max(e,n),r)}function tA(e,n,r,i,a){return r===n?i:i+(e-n)/(r-n)*(a-i)}let nA=class extends mx(n){constructor(...e){super(...e),this.display=`circle`,this.fillMode=`centre`,this.value=0,this.min=0,this.max=100,this.step=void 0,this.disabled=!1,this.#e=!1,this.#t=0,this.#n=0,this.#r=0,this.#d=e=>{if(this.disabled)return;e.preventDefault();let n=this.renderRoot.querySelector(`svg`);n?.focus(),this.#e=!0,this.#t=e.clientY,this.#r=e.clientY,this.#n=this.value,this.#i=this.value,this.toggleAttribute(`dragging`,!0),n&&n.setPointerCapture(e.pointerId),window.addEventListener(`pointermove`,this.#f),window.addEventListener(`pointerup`,this.#p),window.addEventListener(`pointercancel`,this.#p)},this.#f=e=>{if(!this.#e)return;e.preventDefault(),this.value!==this.#i&&(this.#n=this.value,this.#t=this.#r,this.#i=this.value);let n=this.clientHeight*2*(e.shiftKey?10:1),r=(this.#t-e.clientY)/n*(this.max-this.min),i=tA(this.#n+r,this.min,this.max,0,1);this.#c(eA(i,0,1),!0),this.#r=e.clientY},this.#p=()=>{this.#e=!1,this.toggleAttribute(`dragging`,!1);let e=this.renderRoot.querySelector(`svg`);e&&`hasPointerCapture`in e&&typeof e.hasPointerCapture==`function`&&e.hasPointerCapture(1)&&e.releasePointerCapture(1),window.removeEventListener(`pointermove`,this.#f),window.removeEventListener(`pointerup`,this.#p),window.removeEventListener(`pointercancel`,this.#p)},this.#m=e=>{if(this.disabled)return;let n=this.max-this.min,r=px(n,this.stops,this.step,e.shiftKey),i=!1;switch(e.key){case`ArrowUp`:case`ArrowRight`:this.#h(r/n,!0),i=!0;break;case`ArrowDown`:case`ArrowLeft`:this.#h(-r/n,!0),i=!0;break;case`Home`:this.#c(0,!0),i=!0;break;case`End`:this.#c(1,!0),i=!0}i&&e.preventDefault()}}#e;#t;#n;#r;#i;#a;#o(){return tA(this.value,this.min,this.max,0,1)}#s(e){if(this.stops&&this.stops>1){let n=(this.max-this.min)/this.stops;return Math.round((e-this.min)/n)*n+this.min}return e}#c(e,n=!1){let r=tA(e,0,1,this.min,this.max),i=this.#s(eA(r,this.min,this.max));if(i===this.value)return;let a=this.value;if(this.value=i,this.#i=i,this.hasAttribute(`data-tooltip-live`)){let e=Math.round(this.#o()*100);this.setAttribute(`data-tooltip`,`${e}%`)}n?(this.dispatchEvent(new CustomEvent(`input`,{detail:{value:this.value,valueRelative:this.#o()},bubbles:!0,composed:!0})),this.#l(a)):this.#u(a)}#l(e){this.#a!==void 0&&clearTimeout(this.#a),this.#a=window.setTimeout(()=>{this.#u(e),this.#a=void 0},150)}#u(e){this.dispatchEvent(new CustomEvent(`change`,{detail:{value:this.value,valueRelative:this.#o(),previousValue:e},bubbles:!0,composed:!0}))}#d;#f;#p;#m;#h(e,n){this.#c(eA(this.#o()+e,0,1),n)}_applyWheelDelta(e,n){let r=this.max-this.min,i=px(r,this.stops,this.step,n.shiftKey);this.#h(e*i/r,!0)}#g(){let e=this.#o(),n=45*e,r=50;return this.fillMode===`left`?r=5+45*e:this.fillMode===`right`&&(r=95-45*e),s`
|
|
12021
12029
|
<circle class="fill" cx="${r}" cy="${50}" r="${n}" />
|
|
12022
12030
|
<circle class="outline" cx="${50}" cy="${50}" r="${45}" fill="none" />
|
|
12023
12031
|
`}#_(){let e=this.#o();if(this.fillMode===`left`||this.fillMode===`right`){let n=90*e,r=this.fillMode===`left`?5:95-n;return s`
|
|
@@ -12434,7 +12442,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
12434
12442
|
color: var(--surface-muted-text);
|
|
12435
12443
|
font-size: var(--text-s);
|
|
12436
12444
|
}
|
|
12437
|
-
`;function KA(e){let n=new Map,r=new Map,i=new Map,a=(e,o)=>{n.set(o,e),r.set(e,o),i.has(e.item.key)||i.set(e.item.key,e);for(let n of e.children??[])a(n,pA(o,n.item.key))};return e&&a(e,e.item.key),{byId:n,idOf:r,byKey:i}}function qA(e){let{selected:n,pending:r,primary:i}=e,a={selected:n,pending:r,primary:i,restored:!1,changed:!1};if(n.size===0&&r.size===0)return a;let o=new Map;for(let n of e.previousLayout.values())o.set(n.node,n.id);if(r.size===0&&[...n].every(n=>{let r=o.get(n);return r!==void 0&&vA(e.root,r)===n}))return a;let{byId:s,idOf:c,byKey:l}=KA(e.root),u=e=>{if(c.has(e))return e;let n=o.get(e);return n===void 0?void 0:s.get(n)},d=new Set,f=new Set,p=!1;for(let e of n){let n=u(e);n?(d.add(n),p||=n!==e):(f.add(e.item.key),p=!0)}let m;for(let n of r){let r=l.get(n);r&&e.canSelect(r)?(d.add(r),m=r,p=!0):f.add(n)}if(!p)return a;if(e.single&&d.size>0){let e=m??[...d].at(-1);return{selected:new Set([e]),pending:k,primary:e,restored:m!==void 0,changed:!0}}let h=i&&u(i);return{selected:d,pending:sr(f),primary:h&&d.has(h)?h:[...d].at(-1),restored:m!==void 0,changed:!0}}function JA(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function YA(e){return 1-(1-e)**3}function XA(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}const ZA=(e,n,r)=>e+(n-e)*r;function QA(e,n,r){return e+(((n-e)%360+540)%360-180)*r}function $A(e,n,r){return{a0:ZA(e.a0,n.a0,r),a1:ZA(e.a1,n.a1,r),depth:ZA(e.depth,n.depth,r),hue:QA(e.hue,n.hue,r),shade:ZA(e.shade,n.shade,r),opacity:ZA(e.opacity,n.opacity,r)}}function ej(e){let{current:n,targets:r,enter:i,exit:a}=e,o=new Map,s=new Map,c=new Set;for(let[e,a]of r)o.set(e,n.get(e)??i(e,a)),s.set(e,a);for(let[e,i]of n)r.has(e)||(o.set(e,i),s.set(e,a(e,i)),c.add(e));return{from:o,to:s,exiting:c}}function tj(e,n){let r=new Map;for(let[i,a]of e.to){let o=e.from.get(i)??a;r.set(i,n>=1?a:$A(o,a,n))}return r}function nj(e){let n=new Map;for(let[r,i]of e.to)e.exiting.has(r)||n.set(r,i);return n}const rj=1e-4;function ij(e,n){return Math.abs(e.a0-n.a0)<rj&&Math.abs(e.a1-n.a1)<rj&&Math.abs(e.depth-n.depth)<rj&&Math.abs(QA(e.hue,n.hue,1)-e.hue)<rj*360&&Math.abs(e.shade-n.shade)<rj&&Math.abs(e.opacity-n.opacity)<rj}function aj(e,n){if(e.size!==n.size)return!1;for(let[r,i]of e){let e=n.get(r);if(!e||!ij(i,e))return!1}return!0}const oj=e=>e.toLocaleString(void 0,{maximumFractionDigits:2});let sj=0,Z=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.maxDepth=5,this.centerRatio=.22,this.minArcLength=1.5,this.disableLabels=!1,this.curvedLabels=!1,this.animationDuration=600,this.valueAccessor=fA,this.valueFormatter=oj,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomId=void 0,this.restoreLoads=!0,this.#e=new d_(this,{kind:`sunbursttree-list`,capture:()=>this.getViewState()}),this.#t=k,this._size={width:0,height:0},this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.sunburst-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#T().map(e=>({id:e.id,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{let n=e===void 0?void 0:this.#i.get(e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth-1},bubbles:!0,composed:!0}))}}),this._layoutDirty=!0,this._ticking=!1,this.#i=new Map,this.#a={x0:0,x1:1,depth:0},this.#o={center:0,ring:0},this.#s=new Map,this.#c=new Map,this.#u=0,this.#d=JA,this.#p=11,this.#m=`sunburst-${++sj}-label-`,this.#_=new Set,this.#v=new Map,this.#j=e=>{this.#f=void 0;let n=this.#l;if(!n)return;let r=(e-this.#u)/Math.max(1,this.animationDuration);r>=1?(this.#c=nj(n),this.#l=void 0):(this.#c=tj(n,this.#d(Math.max(0,r))),this.#f=requestAnimationFrame(this.#j)),this._ticking=!0;try{this.requestUpdate()}finally{this._ticking=!1}}}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomId!==void 0)return vA(this.#C,this._zoomId)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;get#C(){return this.model?.root??this.root}get#w(){return this._zoomId??this.#C?.item.key}#T(){let e=[];for(let[n,r]of this.#s){let i=this.#i.get(n);i&&r.depth>=0&&e.push(i)}return e}requestUpdate(...e){this._ticking||(this._layoutDirty=!0),super.requestUpdate(...e)}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#b=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),e.register({id:`zoom-up`,label:`Zoom Out One Level`,description:`Zoom to the parent of the centre`,execute:()=>this.zoomUp()}),this.registry=e,this.#D(),typeof ResizeObserver<`u`&&(this.#S=new ResizeObserver(([e])=>{let{width:n,height:r}=e.contentRect;this.#p=Number.parseFloat(getComputedStyle(this).getPropertyValue(`--sunbursttree-font-size`))||11,(n!==this._size.width||r!==this._size.height)&&(this._size={width:n,height:r})}),this.#S.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#g?.(),this.#g=void 0;for(let e of this.#v.values())e.abort();if(this.#v.clear(),this.#_.clear(),this.#S?.disconnect(),this.#S=void 0,this.#f!==void 0&&cancelAnimationFrame(this.#f),this.#f=void 0,this.#l&&(this.#c=nj(this.#l)),this.#l=void 0,this.#b){for(let e of[`select-all`,`deselect-all`,`zoom-up`])this.#b.unregister(e);this.#b=void 0,this.registry=void 0}}#E(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#D(){this.#b&&(this.search.setModes(this.#E()),this.#x?.(),this.#x=zt(this.#b,this.search))}willUpdate(e){e.has(`root`)&&e.get(`root`)!==void 0&&(this.#y=void 0),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#y=void 0,this.#B()),this._layoutDirty&&(this._layoutDirty=!1,this.#N(),this.#k(),this.#e.restoring(()=>this.#F()))}updated(e){e.has(`model`)&&(this.#g?.(),this.#g=this.model?._subscribe(()=>this.requestUpdate())),e.has(`searchModes`)&&this.#D(),this.#L(),this.#I()}#O(){let e=this._size.width||320,n=this._size.height||320;return Math.max(0,Math.min(e,n)/2-2)}#k(){let e=this.#C,n=this.#i,r=this.#a,i=Math.max(1,Math.floor(this.maxDepth)),a=this._zoomId===void 0?0:gA(this._zoomId).length-1,o=CA(e,{valueAccessor:this.valueAccessor,maxDepth:Math.max(a,r.depth)+i});this._zoomId!==void 0&&!o.has(this._zoomId)&&(this._zoomId=void 0);let s=this.#w,c=DA(s===void 0?void 0:o.get(s)),l=jA(this.#O(),i,this.centerRatio),u=VA({layout:o,view:c,rings:l,zoomId:s,maxDepth:i,minArcLength:this.minArcLength,displayed:this.#c});if(this.#i=o,this.#a=c,this.#o=l,aj(u,this.#s))return;this.#s=u;let d=ej({current:this.#c,targets:u,enter:(e,i)=>{let a=n.get(e);if(a){let e=OA(a,r);return{...i,...e,opacity:0}}return{...i,a1:i.a0}},exit:(e,n)=>{let r=o.get(e);if(r)return{...n,...OA(r,c),opacity:0};let i=(n.a0+n.a1)/2;return{...n,a0:i,a1:i,opacity:0}}});this.#A(d)}#A(e){if((XA()?0:this.animationDuration)<=0||!this.isConnected){this.#l=void 0,this.#c=nj(e);return}this.#d=this.#l?YA:JA,this.#l=e,this.#c=tj(e,0),this.#u=performance.now(),this.#f??=requestAnimationFrame(this.#j)}#j;getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickled.tickledId:void 0,i=r===void 0?void 0:gA(r).at(-1);return this.#e.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#t:[]),zoom:(n?this.#n:void 0)??this.#M(),focus:i??(n?this.#r:void 0)},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{e.selected&&(this.#t=sr(new Set(e.selected)),this._selectedNodes.size>0&&this.#V(new Set)),e.zoom&&(this.#n=[...e.zoom]),e.focus!==void 0&&(this.#r=e.focus),this.#N(),this.#n!==void 0&&this.#U(void 0)}),this.requestUpdate())}clearPendingViewState(){this.#t=k,this.#n=void 0,this.#r=void 0}#M(){return this._zoomId===void 0?[]:gA(this._zoomId).slice(1)}#N(){let e=this.#C;this.#e.restoring(()=>{this._zoomId!==void 0&&!vA(e,this._zoomId)&&(this.#n??=this.#M(),this._zoomId=void 0,this.#e.notify(`data`));let n=this.#n;e&&n!==void 0&&XS(e,n,()=>!1).status===`found`&&(this.#n=void 0,this.#U(mA([e.item.key,...n]))),(this._selectedNodes.size>0||this.#t.size>0)&&this.#P(e)})}#P(e){let n=qA({root:e,previousLayout:this.#i,selected:this._selectedNodes,primary:this.selectedNode,pending:this.#t,canSelect:e=>this.#z(e),single:this.interactionMode===`implicit`});n.changed&&(this.#t=n.pending,n.restored?this.#V(new Set(n.selected),n.primary):(this._selectedNodes=new Set(n.selected),this.selectedNode=n.primary,this.#e.notify(`data`)))}#F(){let e=this.tickled.tickledId;e!==void 0&&!this.#i.has(e)&&(this.tickled.inputMode===`keyboard`&&(this.#r??=gA(e).at(-1)),this.tickled.clearTickled());let n=this.#r,r=n===void 0?void 0:this.#T().find(e=>e.node.item.key===n);r&&(this.#r=void 0,this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(r.id))}#I(){let e=this.#C,n=this.#n;if(!this.restoreLoads||!e||n===void 0||!this.model&&!this.loadChildren)return;let r=XS(e,n,e=>e.item.isLeaf!==!0);if(r.status!==`load`)return;let i=mA([e.item.key,...n.slice(0,r.depth+1)]);this.#_.has(i)||this.#R(i,r.node,r.depth)}#L(){if(!(!this.model&&!this.loadChildren))for(let e of this.#s.keys()){let n=this.#i.get(e);!n||n.node.children!==void 0||n.node.item.isLeaf===!0||this.#_.has(e)||this.#R(e,n.node,n.depth-1)}}async#R(e,n,r){this.#_.add(e);let i=new AbortController;this.#v.set(e,i);try{let e=this.model?await this.model.getChildren(n,r,i.signal):[...await Lg(this.loadChildren({node:n,depth:r},i.signal),i.signal)];if(i.signal.aborted)return;n.children=e}catch{if(i.signal.aborted)return;n.children=[]}finally{this.#_.delete(e),this.#v.delete(e),i.signal.aborted||this.requestUpdate()}}#z(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#B(){this._selectedNodes=new Set,this.selectedNode=void 0}#V(e,n=[...e].at(-1)){let r=this._selectedNodes;this._selectedNodes=e,this.selectedNode=n,this.#e.isRestoring||(this.#t=k),this.#e.notify(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(e),previous:r},bubbles:!0,composed:!0}))}select(e){this.#z(e)&&this.#V(new Set([e]),e)}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);n.delete(e),this.#V(n,this.selectedNode===e?[...n].at(-1):this.selectedNode)}clearSelection(){this.#t=k,this._selectedNodes.size>0&&this.#V(new Set)}selectAll(){this.#V(new Set([...this._selectedNodes,...this.#T().map(e=>e.node).filter(e=>this.#z(e))]))}deselectAll(){this.#V(new Set)}selectMany(e){this.#V(new Set([...e].filter(e=>this.#z(e))))}#H(e){for(let n of this.#i.values())if(n.node===e)return n.id;return yA(this.#C,n=>n===e)}#U(e){this.#e.isRestoring||(this.#n=void 0);let n=e===this.#C?.item.key?void 0:e;if(n===this._zoomId)return;let r=this._zoomId,i=this.focusedNode;this._zoomId=n,this.tickled.clearTickled(),this.#e.notify();let a=this.focusedNode,o=e=>e===void 0?-1:gA(e).length-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:a,depth:o(n)},bubbles:!0,composed:!0})),n!==void 0&&(r===void 0||hA(r,n))&&a?this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:a,depth:o(n)},bubbles:!0,composed:!0})):i&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:i,depth:o(r)},bubbles:!0,composed:!0}))}zoomTo(e){let n=this.#H(e);n!==void 0&&this.#U(n)}zoomUp(){this._zoomId!==void 0&&this.#U(_A(this._zoomId))}zoomOut(){this.#U(void 0)}#W(e){return e.x1-e.x0<=0||e.node.item.isLeaf===!0?!1:e.node.children===void 0?this.model!==void 0||this.loadChildren!==void 0:e.node.children.length>0}#G(e){let n=this.#C,r=vA(n,e);if(!r)return;let i=_A(e);return i!==void 0&&this.#U(i),this.tickled.setTickled(e),r}navigateTo(e){let n=this.#C;if(!n||e.length===0)return!1;let r=this.#G(mA([n.item.key,...e]));return r?(this.select(r),!0):!1}navigateToNode(e){let n=this.#C,r=yA(n,r=>r!==n&&e(r));return r!==void 0&&this.navigateTo(gA(r).slice(1))}revealKey(e){let n=this.#C,r=yA(n,r=>r!==n&&r.item.key===e);return r!==void 0&&this.#G(r)!==void 0}getNodes(){return this.#T().map(e=>({node:e.node,depth:e.depth-1}))}#K(e){let n=this.filterPredicate;if(!n)return!1;if(this.#h?.predicate!==n||this.#h.layout!==this.#i){let e=(r,i)=>n(r,i)||(r.children?.some(n=>e(n,i+1))??!1),r=new Set;for(let n of this.#i.values())n.depth>0&&!e(n.node,n.depth-1)&&r.add(n.id);this.#h={predicate:n,layout:this.#i,ids:r}}return this.#h.ids.has(e)}#q(e,n){this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth-1},bubbles:!0,composed:!0}));let{node:r}=e,i=this.#T(),a=i.findIndex(n=>n.id===e.id);if(this.interactionMode===`standard`&&(n.ctrlKey||n.metaKey)){this._selectedNodes.has(r)?this.deselect(r):this.#z(r)&&this.#V(new Set([...this._selectedNodes,r]),r),this.#y=a;return}if(this.interactionMode===`standard`&&n.shiftKey&&this.#y!==void 0){let e=Math.min(this.#y,a),n=Math.max(this.#y,a);this.#V(new Set(i.slice(e,n+1).map(e=>e.node).filter(e=>this.#z(e))));return}this.interactionMode!==`manual`&&(this.select(r),this.#y=a),this.#W(e)?this.#U(e.id):this.tickled.setTickled(e.id)}#J(e){let n={node:e.node,depth:e.depth-1};this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:n,bubbles:!0,composed:!0}))}#Y(e){if(this.disableKeyboardNavigation)return;if(e.key===`Escape`||e.key===`Backspace`){this._zoomId!==void 0&&(e.preventDefault(),this.zoomUp());return}let n=this.#T(),r=this.tickled.tickledId;if(e.key===`Enter`){let n=r===void 0?void 0:this.#i.get(r);if(!n)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(n.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:n.node,depth:n.depth-1},bubbles:!0,composed:!0})),this.#W(n)&&this.#U(n.id);return}let i=HA(n,r,e.key);if(i===void 0)return;e.preventDefault(),this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(i),this.#r=void 0,this.#e.notify();let a=this.#i.get(i);a&&this.interactionMode===`implicit`&&this.select(a.node)}#X(e,n,r){let i=this.#i.get(e),{inner:o,outer:c}=AA(n.depth,this.#o),l=PA(n.a0,n.a1,o,c),u=!this.#s.has(e),d=e===r,f=`--arc-hue:${n.hue.toFixed(2)};--arc-depth:${Math.max(0,n.depth).toFixed(3)};--arc-shade:${n.shade.toFixed(3)};--arc-centre:${Math.min(1,Math.max(0,-n.depth)).toFixed(3)};opacity:${n.opacity.toFixed(3)}`;if(!i||u)return s`<path class="arc exiting" d=${l} style=${f} aria-hidden="true"></path>`;if(d){let e=this._zoomId!==void 0;return s`<path
|
|
12445
|
+
`;function KA(e){let n=new Map,r=new Map,i=new Map,a=(e,o)=>{n.set(o,e),r.set(e,o),i.has(e.item.key)||i.set(e.item.key,e);for(let n of e.children??[])a(n,pA(o,n.item.key))};return e&&a(e,e.item.key),{byId:n,idOf:r,byKey:i}}function qA(e){let{selected:n,pending:r,primary:i}=e,a={selected:n,pending:r,primary:i,restored:!1,changed:!1};if(n.size===0&&r.size===0)return a;let o=new Map;for(let n of e.previousLayout.values())o.set(n.node,n.id);if(r.size===0&&[...n].every(n=>{let r=o.get(n);return r!==void 0&&vA(e.root,r)===n}))return a;let{byId:s,idOf:c,byKey:l}=KA(e.root),u=e=>{if(c.has(e))return e;let n=o.get(e);return n===void 0?void 0:s.get(n)},d=new Set,f=new Set,p=!1;for(let e of n){let n=u(e);n?(d.add(n),p||=n!==e):(f.add(e.item.key),p=!0)}let m;for(let n of r){let r=l.get(n);r&&e.canSelect(r)?(d.add(r),m=r,p=!0):f.add(n)}if(!p)return a;if(e.single&&d.size>0){let e=m??[...d].at(-1);return{selected:new Set([e]),pending:k,primary:e,restored:m!==void 0,changed:!0}}let h=i&&u(i);return{selected:d,pending:sr(f),primary:h&&d.has(h)?h:[...d].at(-1),restored:m!==void 0,changed:!0}}function JA(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function YA(e){return 1-(1-e)**3}function XA(){return typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches}const ZA=(e,n,r)=>e+(n-e)*r;function QA(e,n,r){return e+(((n-e)%360+540)%360-180)*r}function $A(e,n,r){return{a0:ZA(e.a0,n.a0,r),a1:ZA(e.a1,n.a1,r),depth:ZA(e.depth,n.depth,r),hue:QA(e.hue,n.hue,r),shade:ZA(e.shade,n.shade,r),opacity:ZA(e.opacity,n.opacity,r)}}function ej(e){let{current:n,targets:r,enter:i,exit:a}=e,o=new Map,s=new Map,c=new Set;for(let[e,a]of r)o.set(e,n.get(e)??i(e,a)),s.set(e,a);for(let[e,i]of n)r.has(e)||(o.set(e,i),s.set(e,a(e,i)),c.add(e));return{from:o,to:s,exiting:c}}function tj(e,n){let r=new Map;for(let[i,a]of e.to){let o=e.from.get(i)??a;r.set(i,n>=1?a:$A(o,a,n))}return r}function nj(e){let n=new Map;for(let[r,i]of e.to)e.exiting.has(r)||n.set(r,i);return n}const rj=1e-4;function ij(e,n){return Math.abs(e.a0-n.a0)<rj&&Math.abs(e.a1-n.a1)<rj&&Math.abs(e.depth-n.depth)<rj&&Math.abs(QA(e.hue,n.hue,1)-e.hue)<rj*360&&Math.abs(e.shade-n.shade)<rj&&Math.abs(e.opacity-n.opacity)<rj}function aj(e,n){if(e.size!==n.size)return!1;for(let[r,i]of e){let e=n.get(r);if(!e||!ij(i,e))return!1}return!0}const oj=e=>e.toLocaleString(void 0,{maximumFractionDigits:2});let sj=0,Z=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.maxDepth=5,this.centerRatio=.22,this.minArcLength=1.5,this.disableLabels=!1,this.curvedLabels=!1,this.animationDuration=600,this.valueAccessor=fA,this.valueFormatter=oj,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomId=void 0,this.restoreLoads=!0,this.#e=new f_(this,{kind:`sunbursttree-list`,capture:()=>this.getViewState()}),this.#t=k,this._size={width:0,height:0},this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.sunburst-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#T().map(e=>({id:e.id,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{let n=e===void 0?void 0:this.#i.get(e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth-1},bubbles:!0,composed:!0}))}}),this._layoutDirty=!0,this._ticking=!1,this.#i=new Map,this.#a={x0:0,x1:1,depth:0},this.#o={center:0,ring:0},this.#s=new Map,this.#c=new Map,this.#u=0,this.#d=JA,this.#p=11,this.#m=`sunburst-${++sj}-label-`,this.#_=new Set,this.#v=new Map,this.#j=e=>{this.#f=void 0;let n=this.#l;if(!n)return;let r=(e-this.#u)/Math.max(1,this.animationDuration);r>=1?(this.#c=nj(n),this.#l=void 0):(this.#c=tj(n,this.#d(Math.max(0,r))),this.#f=requestAnimationFrame(this.#j)),this._ticking=!0;try{this.requestUpdate()}finally{this._ticking=!1}}}static{this.shadowRootOptions={...n.shadowRootOptions,delegatesFocus:!0}}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomId!==void 0)return vA(this.#C,this._zoomId)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;get#C(){return this.model?.root??this.root}get#w(){return this._zoomId??this.#C?.item.key}#T(){let e=[];for(let[n,r]of this.#s){let i=this.#i.get(n);i&&r.depth>=0&&e.push(i)}return e}requestUpdate(...e){this._ticking||(this._layoutDirty=!0),super.requestUpdate(...e)}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#b=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),e.register({id:`zoom-up`,label:`Zoom Out One Level`,description:`Zoom to the parent of the centre`,execute:()=>this.zoomUp()}),this.registry=e,this.#D(),typeof ResizeObserver<`u`&&(this.#S=new ResizeObserver(([e])=>{let{width:n,height:r}=e.contentRect;this.#p=Number.parseFloat(getComputedStyle(this).getPropertyValue(`--sunbursttree-font-size`))||11,(n!==this._size.width||r!==this._size.height)&&(this._size={width:n,height:r})}),this.#S.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#g?.(),this.#g=void 0;for(let e of this.#v.values())e.abort();if(this.#v.clear(),this.#_.clear(),this.#S?.disconnect(),this.#S=void 0,this.#f!==void 0&&cancelAnimationFrame(this.#f),this.#f=void 0,this.#l&&(this.#c=nj(this.#l)),this.#l=void 0,this.#b){for(let e of[`select-all`,`deselect-all`,`zoom-up`])this.#b.unregister(e);this.#b=void 0,this.registry=void 0}}#E(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#D(){this.#b&&(this.search.setModes(this.#E()),this.#x?.(),this.#x=zt(this.#b,this.search))}willUpdate(e){e.has(`root`)&&e.get(`root`)!==void 0&&(this.#y=void 0),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#y=void 0,this.#B()),this._layoutDirty&&(this._layoutDirty=!1,this.#N(),this.#k(),this.#e.restoring(()=>this.#F()))}updated(e){e.has(`model`)&&(this.#g?.(),this.#g=this.model?._subscribe(()=>this.requestUpdate())),e.has(`searchModes`)&&this.#D(),this.#L(),this.#I()}#O(){let e=this._size.width||320,n=this._size.height||320;return Math.max(0,Math.min(e,n)/2-2)}#k(){let e=this.#C,n=this.#i,r=this.#a,i=Math.max(1,Math.floor(this.maxDepth)),a=this._zoomId===void 0?0:gA(this._zoomId).length-1,o=CA(e,{valueAccessor:this.valueAccessor,maxDepth:Math.max(a,r.depth)+i});this._zoomId!==void 0&&!o.has(this._zoomId)&&(this._zoomId=void 0);let s=this.#w,c=DA(s===void 0?void 0:o.get(s)),l=jA(this.#O(),i,this.centerRatio),u=VA({layout:o,view:c,rings:l,zoomId:s,maxDepth:i,minArcLength:this.minArcLength,displayed:this.#c});if(this.#i=o,this.#a=c,this.#o=l,aj(u,this.#s))return;this.#s=u;let d=ej({current:this.#c,targets:u,enter:(e,i)=>{let a=n.get(e);if(a){let e=OA(a,r);return{...i,...e,opacity:0}}return{...i,a1:i.a0}},exit:(e,n)=>{let r=o.get(e);if(r)return{...n,...OA(r,c),opacity:0};let i=(n.a0+n.a1)/2;return{...n,a0:i,a1:i,opacity:0}}});this.#A(d)}#A(e){if((XA()?0:this.animationDuration)<=0||!this.isConnected){this.#l=void 0,this.#c=nj(e);return}this.#d=this.#l?YA:JA,this.#l=e,this.#c=tj(e,0),this.#u=performance.now(),this.#f??=requestAnimationFrame(this.#j)}#j;getViewState(e){let n=e?.includePending??!0,r=this.tickled.inputMode===`keyboard`?this.tickled.tickledId:void 0,i=r===void 0?void 0:gA(r).at(-1);return this.#e.shape({selected:fr([...this._selectedNodes].map(e=>e.item.key),n?this.#t:[]),zoom:(n?this.#n:void 0)??this.#M(),focus:i??(n?this.#r:void 0)},e)}setViewState(e){this.#e.accepts(e)&&(this.#e.restoring(()=>{e.selected&&(this.#t=sr(new Set(e.selected)),this._selectedNodes.size>0&&this.#V(new Set)),e.zoom&&(this.#n=[...e.zoom]),e.focus!==void 0&&(this.#r=e.focus),this.#N(),this.#n!==void 0&&this.#U(void 0)}),this.requestUpdate())}clearPendingViewState(){this.#t=k,this.#n=void 0,this.#r=void 0}#M(){return this._zoomId===void 0?[]:gA(this._zoomId).slice(1)}#N(){let e=this.#C;this.#e.restoring(()=>{this._zoomId!==void 0&&!vA(e,this._zoomId)&&(this.#n??=this.#M(),this._zoomId=void 0,this.#e.notify(`data`));let n=this.#n;e&&n!==void 0&&ZS(e,n,()=>!1).status===`found`&&(this.#n=void 0,this.#U(mA([e.item.key,...n]))),(this._selectedNodes.size>0||this.#t.size>0)&&this.#P(e)})}#P(e){let n=qA({root:e,previousLayout:this.#i,selected:this._selectedNodes,primary:this.selectedNode,pending:this.#t,canSelect:e=>this.#z(e),single:this.interactionMode===`implicit`});n.changed&&(this.#t=n.pending,n.restored?this.#V(new Set(n.selected),n.primary):(this._selectedNodes=new Set(n.selected),this.selectedNode=n.primary,this.#e.notify(`data`)))}#F(){let e=this.tickled.tickledId;e!==void 0&&!this.#i.has(e)&&(this.tickled.inputMode===`keyboard`&&(this.#r??=gA(e).at(-1)),this.tickled.clearTickled());let n=this.#r,r=n===void 0?void 0:this.#T().find(e=>e.node.item.key===n);r&&(this.#r=void 0,this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(r.id))}#I(){let e=this.#C,n=this.#n;if(!this.restoreLoads||!e||n===void 0||!this.model&&!this.loadChildren)return;let r=ZS(e,n,e=>e.item.isLeaf!==!0);if(r.status!==`load`)return;let i=mA([e.item.key,...n.slice(0,r.depth+1)]);this.#_.has(i)||this.#R(i,r.node,r.depth)}#L(){if(!(!this.model&&!this.loadChildren))for(let e of this.#s.keys()){let n=this.#i.get(e);!n||n.node.children!==void 0||n.node.item.isLeaf===!0||this.#_.has(e)||this.#R(e,n.node,n.depth-1)}}async#R(e,n,r){this.#_.add(e);let i=new AbortController;this.#v.set(e,i);try{let e=this.model?await this.model.getChildren(n,r,i.signal):[...await Rg(this.loadChildren({node:n,depth:r},i.signal),i.signal)];if(i.signal.aborted)return;n.children=e}catch{if(i.signal.aborted)return;n.children=[]}finally{this.#_.delete(e),this.#v.delete(e),i.signal.aborted||this.requestUpdate()}}#z(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#B(){this._selectedNodes=new Set,this.selectedNode=void 0}#V(e,n=[...e].at(-1)){let r=this._selectedNodes;this._selectedNodes=e,this.selectedNode=n,this.#e.isRestoring||(this.#t=k),this.#e.notify(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(e),previous:r},bubbles:!0,composed:!0}))}select(e){this.#z(e)&&this.#V(new Set([e]),e)}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);n.delete(e),this.#V(n,this.selectedNode===e?[...n].at(-1):this.selectedNode)}clearSelection(){this.#t=k,this._selectedNodes.size>0&&this.#V(new Set)}selectAll(){this.#V(new Set([...this._selectedNodes,...this.#T().map(e=>e.node).filter(e=>this.#z(e))]))}deselectAll(){this.#V(new Set)}selectMany(e){this.#V(new Set([...e].filter(e=>this.#z(e))))}#H(e){for(let n of this.#i.values())if(n.node===e)return n.id;return yA(this.#C,n=>n===e)}#U(e){this.#e.isRestoring||(this.#n=void 0);let n=e===this.#C?.item.key?void 0:e;if(n===this._zoomId)return;let r=this._zoomId,i=this.focusedNode;this._zoomId=n,this.tickled.clearTickled(),this.#e.notify();let a=this.focusedNode,o=e=>e===void 0?-1:gA(e).length-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:a,depth:o(n)},bubbles:!0,composed:!0})),n!==void 0&&(r===void 0||hA(r,n))&&a?this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:a,depth:o(n)},bubbles:!0,composed:!0})):i&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:i,depth:o(r)},bubbles:!0,composed:!0}))}zoomTo(e){let n=this.#H(e);n!==void 0&&this.#U(n)}zoomUp(){this._zoomId!==void 0&&this.#U(_A(this._zoomId))}zoomOut(){this.#U(void 0)}#W(e){return e.x1-e.x0<=0||e.node.item.isLeaf===!0?!1:e.node.children===void 0?this.model!==void 0||this.loadChildren!==void 0:e.node.children.length>0}#G(e){let n=this.#C,r=vA(n,e);if(!r)return;let i=_A(e);return i!==void 0&&this.#U(i),this.tickled.setTickled(e),r}navigateTo(e){let n=this.#C;if(!n||e.length===0)return!1;let r=this.#G(mA([n.item.key,...e]));return r?(this.select(r),!0):!1}navigateToNode(e){let n=this.#C,r=yA(n,r=>r!==n&&e(r));return r!==void 0&&this.navigateTo(gA(r).slice(1))}revealKey(e){let n=this.#C,r=yA(n,r=>r!==n&&r.item.key===e);return r!==void 0&&this.#G(r)!==void 0}getNodes(){return this.#T().map(e=>({node:e.node,depth:e.depth-1}))}#K(e){let n=this.filterPredicate;if(!n)return!1;if(this.#h?.predicate!==n||this.#h.layout!==this.#i){let e=(r,i)=>n(r,i)||(r.children?.some(n=>e(n,i+1))??!1),r=new Set;for(let n of this.#i.values())n.depth>0&&!e(n.node,n.depth-1)&&r.add(n.id);this.#h={predicate:n,layout:this.#i,ids:r}}return this.#h.ids.has(e)}#q(e,n){this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth-1},bubbles:!0,composed:!0}));let{node:r}=e,i=this.#T(),a=i.findIndex(n=>n.id===e.id);if(this.interactionMode===`standard`&&(n.ctrlKey||n.metaKey)){this._selectedNodes.has(r)?this.deselect(r):this.#z(r)&&this.#V(new Set([...this._selectedNodes,r]),r),this.#y=a;return}if(this.interactionMode===`standard`&&n.shiftKey&&this.#y!==void 0){let e=Math.min(this.#y,a),n=Math.max(this.#y,a);this.#V(new Set(i.slice(e,n+1).map(e=>e.node).filter(e=>this.#z(e))));return}this.interactionMode!==`manual`&&(this.select(r),this.#y=a),this.#W(e)?this.#U(e.id):this.tickled.setTickled(e.id)}#J(e){let n={node:e.node,depth:e.depth-1};this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:n,bubbles:!0,composed:!0}))}#Y(e){if(this.disableKeyboardNavigation)return;if(e.key===`Escape`||e.key===`Backspace`){this._zoomId!==void 0&&(e.preventDefault(),this.zoomUp());return}let n=this.#T(),r=this.tickled.tickledId;if(e.key===`Enter`){let n=r===void 0?void 0:this.#i.get(r);if(!n)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(n.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:n.node,depth:n.depth-1},bubbles:!0,composed:!0})),this.#W(n)&&this.#U(n.id);return}let i=HA(n,r,e.key);if(i===void 0)return;e.preventDefault(),this.tickled.setInputMode(`keyboard`),this.tickled.setTickled(i),this.#r=void 0,this.#e.notify();let a=this.#i.get(i);a&&this.interactionMode===`implicit`&&this.select(a.node)}#X(e,n,r){let i=this.#i.get(e),{inner:o,outer:c}=AA(n.depth,this.#o),l=PA(n.a0,n.a1,o,c),u=!this.#s.has(e),d=e===r,f=`--arc-hue:${n.hue.toFixed(2)};--arc-depth:${Math.max(0,n.depth).toFixed(3)};--arc-shade:${n.shade.toFixed(3)};--arc-centre:${Math.min(1,Math.max(0,-n.depth)).toFixed(3)};opacity:${n.opacity.toFixed(3)}`;if(!i||u)return s`<path class="arc exiting" d=${l} style=${f} aria-hidden="true"></path>`;if(d){let e=this._zoomId!==void 0;return s`<path
|
|
12438
12446
|
class="arc center ${e?``:`leaf`}"
|
|
12439
12447
|
part="center"
|
|
12440
12448
|
d=${l}
|
|
@@ -12475,7 +12483,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
12475
12483
|
${WA(r===void 0?void 0:this.#i.get(r),o===void 0?void 0:this.#i.get(o),this.#o,this.#p,this.valueFormatter)}
|
|
12476
12484
|
</svg>
|
|
12477
12485
|
${this.search.renderField()}
|
|
12478
|
-
`}static{this.styles=[w,Ht,GA]}};E([d({type:Object})],Z.prototype,`root`,void 0),E([d({attribute:!1})],Z.prototype,`model`,void 0),E([d({attribute:!1})],Z.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],Z.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],Z.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],Z.prototype,`interactionMode`,void 0),E([d({type:Number,attribute:`max-depth`})],Z.prototype,`maxDepth`,void 0),E([d({type:Number,attribute:`center-ratio`})],Z.prototype,`centerRatio`,void 0),E([d({type:Number,attribute:`min-arc-length`})],Z.prototype,`minArcLength`,void 0),E([d({type:Boolean,attribute:`disable-labels`})],Z.prototype,`disableLabels`,void 0),E([d({type:Boolean,attribute:`curved-labels`,reflect:!0})],Z.prototype,`curvedLabels`,void 0),E([d({type:Number,attribute:`animation-duration`})],Z.prototype,`animationDuration`,void 0),E([d({attribute:!1})],Z.prototype,`valueAccessor`,void 0),E([d({attribute:!1})],Z.prototype,`valueFormatter`,void 0),E([d({attribute:!1})],Z.prototype,`selectedNode`,void 0),E([m()],Z.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],Z.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],Z.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],Z.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],Z.prototype,`searchModes`,void 0),E([m()],Z.prototype,`_zoomId`,void 0),E([d({attribute:!1})],Z.prototype,`restoreLoads`,void 0),E([m()],Z.prototype,`_size`,void 0),Z=E([T(`ixfx-sunbursttree-list`)],Z);let cj=class extends
|
|
12486
|
+
`}static{this.styles=[w,Ht,GA]}};E([d({type:Object})],Z.prototype,`root`,void 0),E([d({attribute:!1})],Z.prototype,`model`,void 0),E([d({attribute:!1})],Z.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],Z.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],Z.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],Z.prototype,`interactionMode`,void 0),E([d({type:Number,attribute:`max-depth`})],Z.prototype,`maxDepth`,void 0),E([d({type:Number,attribute:`center-ratio`})],Z.prototype,`centerRatio`,void 0),E([d({type:Number,attribute:`min-arc-length`})],Z.prototype,`minArcLength`,void 0),E([d({type:Boolean,attribute:`disable-labels`})],Z.prototype,`disableLabels`,void 0),E([d({type:Boolean,attribute:`curved-labels`,reflect:!0})],Z.prototype,`curvedLabels`,void 0),E([d({type:Number,attribute:`animation-duration`})],Z.prototype,`animationDuration`,void 0),E([d({attribute:!1})],Z.prototype,`valueAccessor`,void 0),E([d({attribute:!1})],Z.prototype,`valueFormatter`,void 0),E([d({attribute:!1})],Z.prototype,`selectedNode`,void 0),E([m()],Z.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],Z.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],Z.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],Z.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],Z.prototype,`searchModes`,void 0),E([m()],Z.prototype,`_zoomId`,void 0),E([d({attribute:!1})],Z.prototype,`restoreLoads`,void 0),E([m()],Z.prototype,`_size`,void 0),Z=E([T(`ixfx-sunbursttree-list`)],Z);let cj=class extends mx(n){constructor(...e){super(...e),this.barSpacing=20,this.barWidth=14,this.debounceMs=200,this.retractDurationMs=400,this._startX=0,this._currentX=0,this._pointerId=null,this._componentWidth=0,this._isDragging=!1,this._offset=0,this._width=0,this._height=0,this._animRafId=null,this._debounceTimer=null,this._animStartOffset=0,this._animStartTime=null,this._resizeObserver=null,this.#e=e=>{if(e.pointerId!==this._pointerId)return;this.#r();let n=this.getBoundingClientRect();if(e.clientX>=n.left&&e.clientX<=n.right&&e.clientY>=n.top&&e.clientY<=n.bottom){let e=this._currentX-this._startX,n=Math.max(-1,Math.min(1,e/this._componentWidth));this.#n(n)}this._isDragging=!1,this._pointerId=null,this.#i()},this.#t=e=>{e.pointerId===this._pointerId&&(this.#r(),this._isDragging=!1,this._pointerId=null,this.#i())},this._onPointerDown=e=>{e.preventDefault(),this.#o(),e.target.setPointerCapture(e.pointerId),this._pointerId=e.pointerId,this._startX=e.clientX,this._currentX=e.clientX,this._componentWidth=this.getBoundingClientRect().width,this._isDragging=!0,window.addEventListener(`pointerup`,this.#e),window.addEventListener(`pointercancel`,this.#t)},this._onPointerMove=e=>{if(!this._isDragging||e.pointerId!==this._pointerId)return;this._currentX=e.clientX;let n=this._currentX-this._startX,r=Math.max(-1,Math.min(1,n/this._componentWidth));this._offset=r*this._height*.5,this.requestUpdate()}}#e;#t;#n(e){this.dispatchEvent(new CustomEvent(`input`,{detail:{value:e},bubbles:!0,composed:!0}))}_applyWheelDelta(e,n){this.#o();let r=n.shiftKey?.05:.1,i=Math.max(-1,Math.min(1,e*r));this.#n(i),this._offset=i*this._height*.5,this.requestUpdate(),this.#i()}connectedCallback(){super.connectedCallback(),this._resizeObserver=new ResizeObserver(e=>{let n=e[0];n&&(this._width=n.contentRect.width,this._height=n.contentRect.height,this.requestUpdate())}),this._resizeObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._resizeObserver?.disconnect(),this._resizeObserver=null,this.#o(),this.#r(),this._isDragging=!1,this._pointerId=null}#r(){window.removeEventListener(`pointerup`,this.#e),window.removeEventListener(`pointercancel`,this.#t)}#i(){this._debounceTimer!==null&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=null,this.#a()},this.debounceMs)}#a(){this._animStartOffset=this._offset,this._animStartTime=null;let e=n=>{this._animStartTime===null&&(this._animStartTime=n);let r=n-this._animStartTime,i=Math.min(r/this.retractDurationMs,1),a=1-(1-i)**3;this._offset=this._animStartOffset*(1-a),this.requestUpdate(),i<1?this._animRafId=requestAnimationFrame(e):(this._offset=0,this._animRafId=null,this.requestUpdate())};this._animRafId=requestAnimationFrame(e)}#o(){this._animRafId!==null&&(cancelAnimationFrame(this._animRafId),this._animRafId=null),this._debounceTimer!==null&&(clearTimeout(this._debounceTimer),this._debounceTimer=null)}#s(){let e=this._width,n=this._height,r=this._offset,{barSpacing:i,barWidth:a}=this;if(e===0||n===0)return s``;let o=a/2,c=n/2,l=Math.ceil(e/i)+1;return s`${Array.from({length:l},(e,a)=>{let l=a*i,u=l-o,d=l+o,f=a%2==0?`var(--swipe-color-a, var(--surface-4))`:`var(--swipe-color-b, var(--surface-5))`,p=`M${u},0 L${d},0 L${d+r},${c} L${d},${n} L${u},${n} L${u+r},${c}Z`;return s`<path d=${p} style="fill:${f}"></path>`})}`}static{this.styles=[w,un,r`
|
|
12479
12487
|
:host {
|
|
12480
12488
|
display: block;
|
|
12481
12489
|
user-select: none;
|
|
@@ -13115,7 +13123,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13115
13123
|
pointer-events: none;
|
|
13116
13124
|
z-index: 1;
|
|
13117
13125
|
}
|
|
13118
|
-
`]}connectedCallback(){super.connectedCallback(),this.style.setProperty(`--anchor-name`,this._anchor),this.addEventListener(`click`,this._onClickCapture,!0)}firstUpdated(){this._slot.addEventListener(`slotchange`,()=>{this._updateGroups(),this._scheduleMeasure()}),this._ro=new ResizeObserver(()=>this._scheduleMeasure()),this._ro.observe(this._inner),this._popover.addEventListener(`toggle`,()=>{this._popoverOpen=this._popover.matches(`:popover-open`)}),this._scheduleMeasure(),this._updateGroups()}updated(e){(e.has(`showGroupLabels`)||e.has(`allowReorder`))&&this._updateGroups()}_mainGroups(){return Array.from(this.children).filter(e=>e.tagName===`IXFX-TOOLBAR-GROUP`&&e.getAttribute(`slot`)!==`overflow`)}_groupKey(e){return e.id||e.label||``}getGroupOrder(){return this._mainGroups().map(e=>this._groupKey(e))}setGroupOrder(e){let n=this._mainGroups();if(n.length===0)return;let r=new Set,i=[];for(let a of e){let e=n.find(e=>!r.has(e)&&e.id===a&&a!==``)??n.find(e=>!r.has(e)&&this._groupKey(e)===a);e&&(r.add(e),i.push(e))}let a=[...i,...n.filter(e=>!r.has(e))],o=a.length*a.length+1,s=!0;for(;s&&o-->0;){s=!1;for(let e=0;e+1<a.length;e++){let n=a[e],r=a[e+1];n.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING||this._insertAndEmit(n,r)&&(s=!0)}}}getLayoutSnapshot(){return{version:1,order:this.getGroupOrder()}}applyLayoutSnapshot(e){if(typeof e!=`object`||!e)return!1;let{version:n,order:r}=e;return n!==1||!Array.isArray(r)||!r.every(e=>typeof e==`string`)?!1:(this.setGroupOrder(r),!0)}_insertAndEmit(e,n){let r=e.parentNode;if(!r)return!1;let i=Array.prototype.indexOf.call(r.children,e);r.insertBefore(e,n);let a=Array.prototype.indexOf.call(r.children,e);return a!==i&&(this.dispatchEvent(new CustomEvent(`reorder`,{bubbles:!0,composed:!0,detail:{fromIndex:i,toIndex:a,group:e}})),this._updateGroups(),this._scheduleMeasure(),!0)}_updateGroups(){for(let e of Array.from(this.children))e.tagName===`IXFX-TOOLBAR-GROUP`&&(this.showGroupLabels?e.setAttribute(`show-label`,``):e.removeAttribute(`show-label`),this.allowReorder&&e.getAttribute(`slot`)!==`overflow`?e.setAttribute(`reorderable`,``):e.removeAttribute(`reorderable`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`click`,this._onClickCapture,!0),this._ro?.disconnect(),this._dragState&&(this._abortDrag(),this._endDrag(this._dragState.pointerId))}_findDragTarget(e){if(!this.allowReorder)return null;let n=e.composedPath(),r=null,i=!1;for(let e of n)e instanceof HTMLElement&&(e.classList.contains(`grab-handle`)&&(i=!0),!r&&e.tagName===`IXFX-TOOLBAR-GROUP`&&(r=e));return!r||!i||r.getAttribute(`slot`)===`overflow`?null:r}_beginDrag(e){let n=this._dragState;if(!(!n||n.active)){try{this.setPointerCapture(e.pointerId)}catch{}n.active=!0,this.setAttribute(`dragging`,``),n.source.setAttribute(`drag-source`,``),n.ghost=this._createGhost(n.source),n.ghost?.move(e.clientX,e.clientY)}}_abortDrag(){let e=this._dragState;e&&(e.source.removeAttribute(`drag-source`),e.gapIndex!==void 0&&(e.gapIndex=void 0,this.requestUpdate()))}_endDrag(e){let n=this._dragState;if(n){n.ghost?.destroy(),n.ghost=null,this.removeAttribute(`dragging`),this._dragState=null,window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp),window.removeEventListener(`pointercancel`,this._onPointerCancel);try{this.releasePointerCapture(e)}catch{}this.requestUpdate()}}_commitDrag(e,n){e.removeAttribute(`drag-source`);let r=this._mainGroups().filter(n=>n!==e),i=r.length,a=n===void 0?i:Math.max(0,Math.min(n,i)),o=this.orientation===`vertical-left`?i-a:a;if(!e.parentNode)return;let s=r[o]??null;this._insertAndEmit(e,s)&&(this._suppressNextClick=!0)}_createGhost(e){let n=document.createElement(`span`);n.textContent=(`label`in e&&typeof e.label==`string`&&e.label||(e.textContent??``).trim()).slice(0,60),n.style.overflow=`hidden`,n.style.textOverflow=`ellipsis`,n.style.whiteSpace=`nowrap`;try{return fM(),
|
|
13126
|
+
`]}connectedCallback(){super.connectedCallback(),this.style.setProperty(`--anchor-name`,this._anchor),this.addEventListener(`click`,this._onClickCapture,!0)}firstUpdated(){this._slot.addEventListener(`slotchange`,()=>{this._updateGroups(),this._scheduleMeasure()}),this._ro=new ResizeObserver(()=>this._scheduleMeasure()),this._ro.observe(this._inner),this._popover.addEventListener(`toggle`,()=>{this._popoverOpen=this._popover.matches(`:popover-open`)}),this._scheduleMeasure(),this._updateGroups()}updated(e){(e.has(`showGroupLabels`)||e.has(`allowReorder`))&&this._updateGroups()}_mainGroups(){return Array.from(this.children).filter(e=>e.tagName===`IXFX-TOOLBAR-GROUP`&&e.getAttribute(`slot`)!==`overflow`)}_groupKey(e){return e.id||e.label||``}getGroupOrder(){return this._mainGroups().map(e=>this._groupKey(e))}setGroupOrder(e){let n=this._mainGroups();if(n.length===0)return;let r=new Set,i=[];for(let a of e){let e=n.find(e=>!r.has(e)&&e.id===a&&a!==``)??n.find(e=>!r.has(e)&&this._groupKey(e)===a);e&&(r.add(e),i.push(e))}let a=[...i,...n.filter(e=>!r.has(e))],o=a.length*a.length+1,s=!0;for(;s&&o-->0;){s=!1;for(let e=0;e+1<a.length;e++){let n=a[e],r=a[e+1];n.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING||this._insertAndEmit(n,r)&&(s=!0)}}}getLayoutSnapshot(){return{version:1,order:this.getGroupOrder()}}applyLayoutSnapshot(e){if(typeof e!=`object`||!e)return!1;let{version:n,order:r}=e;return n!==1||!Array.isArray(r)||!r.every(e=>typeof e==`string`)?!1:(this.setGroupOrder(r),!0)}_insertAndEmit(e,n){let r=e.parentNode;if(!r)return!1;let i=Array.prototype.indexOf.call(r.children,e);r.insertBefore(e,n);let a=Array.prototype.indexOf.call(r.children,e);return a!==i&&(this.dispatchEvent(new CustomEvent(`reorder`,{bubbles:!0,composed:!0,detail:{fromIndex:i,toIndex:a,group:e}})),this._updateGroups(),this._scheduleMeasure(),!0)}_updateGroups(){for(let e of Array.from(this.children))e.tagName===`IXFX-TOOLBAR-GROUP`&&(this.showGroupLabels?e.setAttribute(`show-label`,``):e.removeAttribute(`show-label`),this.allowReorder&&e.getAttribute(`slot`)!==`overflow`?e.setAttribute(`reorderable`,``):e.removeAttribute(`reorderable`))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`click`,this._onClickCapture,!0),this._ro?.disconnect(),this._dragState&&(this._abortDrag(),this._endDrag(this._dragState.pointerId))}_findDragTarget(e){if(!this.allowReorder)return null;let n=e.composedPath(),r=null,i=!1;for(let e of n)e instanceof HTMLElement&&(e.classList.contains(`grab-handle`)&&(i=!0),!r&&e.tagName===`IXFX-TOOLBAR-GROUP`&&(r=e));return!r||!i||r.getAttribute(`slot`)===`overflow`?null:r}_beginDrag(e){let n=this._dragState;if(!(!n||n.active)){try{this.setPointerCapture(e.pointerId)}catch{}n.active=!0,this.setAttribute(`dragging`,``),n.source.setAttribute(`drag-source`,``),n.ghost=this._createGhost(n.source),n.ghost?.move(e.clientX,e.clientY)}}_abortDrag(){let e=this._dragState;e&&(e.source.removeAttribute(`drag-source`),e.gapIndex!==void 0&&(e.gapIndex=void 0,this.requestUpdate()))}_endDrag(e){let n=this._dragState;if(n){n.ghost?.destroy(),n.ghost=null,this.removeAttribute(`dragging`),this._dragState=null,window.removeEventListener(`pointermove`,this._onPointerMove),window.removeEventListener(`pointerup`,this._onPointerUp),window.removeEventListener(`pointercancel`,this._onPointerCancel);try{this.releasePointerCapture(e)}catch{}this.requestUpdate()}}_commitDrag(e,n){e.removeAttribute(`drag-source`);let r=this._mainGroups().filter(n=>n!==e),i=r.length,a=n===void 0?i:Math.max(0,Math.min(n,i)),o=this.orientation===`vertical-left`?i-a:a;if(!e.parentNode)return;let s=r[o]??null;this._insertAndEmit(e,s)&&(this._suppressNextClick=!0)}_createGhost(e){let n=document.createElement(`span`);n.textContent=(`label`in e&&typeof e.label==`string`&&e.label||(e.textContent??``).trim()).slice(0,60),n.style.overflow=`hidden`,n.style.textOverflow=`ellipsis`,n.style.whiteSpace=`nowrap`;try{return fM(),E_({anchor:e,content:n,className:`ixfx-toolbar-group-ghost`})}catch{return null}}_computeGapIndex(e,n){let r=this._dragState;if(!r)return;let i=this._mainGroups().filter(e=>e!==r.source);if(i.length===0)return 0;let a=this.orientation===`vertical-left`?[...i].reverse():i,o=this.orientation===`horizontal`,s=o?e:n;return uM(a.map(e=>{let n=e.getBoundingClientRect();return[o?n.left:n.top,o?n.right:n.bottom]}),s)}_computeCaretStyle(){let e=this._dragState;if(!e?.active||e.gapIndex===void 0)return;let n=this._mainGroups().filter(n=>n!==e.source);if(n.length===0)return;let r=this.getBoundingClientRect();if(!r)return;let i=this.orientation===`vertical-left`?[...n].reverse():n,a=Math.max(0,Math.min(e.gapIndex,i.length)),o=a<i.length?i[a].getBoundingClientRect():i[i.length-1].getBoundingClientRect();return this.orientation===`horizontal`?`transform: translate(${(a<i.length?o.left:o.right)-r.left-1}px, 0); width: 2px; height: ${r.height}px;`:`transform: translate(0, ${(a<i.length?o.top:o.bottom)-r.top-1}px); width: ${r.width}px; height: 2px;`}_scheduleMeasure(){this._measureQueued||(this._measureQueued=!0,requestAnimationFrame(()=>{this._measureQueued=!1,this._measure()}))}_measure(){let e=Array.from(this.children),n=e=>e.hasAttribute(`grow`)||e.matches(`[grow]`),r=e.filter(e=>!n(e)),i=this.orientation===`horizontal`,a=getComputedStyle(this).getPropertyValue(`--toolbar-overflow`).trim();if(this.layout!==`one-line`||a===`disabled`){let n=!1;for(let r of e)r.getAttribute(`slot`)===`overflow`&&(r.removeAttribute(`slot`),n=!0),r.hasAttribute(`hidden`)&&(r.removeAttribute(`hidden`),n=!0);this._overflowCount!==0&&(this._overflowCount=0,n=!0),n&&this.requestUpdate();return}if(!this._inner)return;let o=getComputedStyle(this._inner),s=(i?Number.parseFloat(o.columnGap):Number.parseFloat(o.rowGap))||0,c=i?this._inner.clientWidth:this._inner.clientHeight,l=r.filter(e=>e.getAttribute(`slot`)!==`overflow`),u=r.filter(e=>e.getAttribute(`slot`)===`overflow`),d=0;l.forEach((e,n)=>{let r=i?e.offsetWidth:e.offsetHeight;r>0&&this._sizes.set(e,r),d+=(n?s:0)+(this._sizes.get(e)??r)});let f=!1;if(a===`collapsed`){if(l.length>0){for(let e of l)e.setAttribute(`slot`,`overflow`);u.push(...l),l.length=0,f=!0}let e=u.length;e!==this._overflowCount&&(this._overflowCount=e,f=!0),f&&this.requestUpdate();return}let p=u.length>0?s+36:0;for(;l.length>0&&d+p>c;){let e=l[l.length-1],n=this._sizes.get(e)??0;e.setAttribute(`slot`,`overflow`),l.pop(),u.unshift(e),d-=(l.length?s:0)+n,f=!0}for(;u.length>0;){let e=u[0],n=this._sizes.get(e);if(n===void 0)break;let r=l.length?s:0,i=u.length>1?s+36:0;if(d+r+n+i>c)break;e.removeAttribute(`slot`),u.shift(),l.push(e),d+=r+n,f=!0}let m=u.length;m!==this._overflowCount&&(this._overflowCount=m,f=!0),f&&this.requestUpdate()}_toggleOverflow(){try{this._popover.togglePopover()}catch{this._popover.showPopover()}}render(){let e=getComputedStyle(this).getPropertyValue(`--toolbar-overflow`).trim(),n=this._overflowCount>0||e===`collapsed`,r=this._computeCaretStyle();return i`
|
|
13119
13127
|
<div class="inner" role="toolbar" aria-orientation=${this.orientation}>
|
|
13120
13128
|
<slot @pointerdown=${this._onPointerDown} @keydown=${this._onKeyDown}></slot>
|
|
13121
13129
|
<ixfx-button class="overflow-btn" ?hidden=${!n} @click=${this._toggleOverflow} aria-label="More" aria-haspopup="true" aria-expanded=${this._popoverOpen}>⋯</ixfx-button>
|
|
@@ -13284,7 +13292,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13284
13292
|
from { opacity: 1; transform: translateY(0) scale(1); }
|
|
13285
13293
|
to { opacity: 0; transform: translateY(0.3em) scale(0.8); }
|
|
13286
13294
|
}
|
|
13287
|
-
`}};E([d({type:String})],mM.prototype,`text`,void 0),E([d({type:String})],mM.prototype,`effect`,void 0),E([d({type:Number})],mM.prototype,`duration`,void 0),E([d({type:String})],mM.prototype,`easing`,void 0),E([m()],mM.prototype,`_currentText`,void 0),E([m()],mM.prototype,`_outgoingText`,void 0),E([m()],mM.prototype,`_activeEffect`,void 0),E([m()],mM.prototype,`_transitionId`,void 0),mM=E([T(`ixfx-transitory-label`)],mM);var hM=class{#e;#t;#n;#r=new WeakMap;#i=new Map;#a=new Map;#o=new WeakMap;#s;constructor(e,n,r){this.#e=e,this.#t=n,this.#n=r}connect(){this.disconnect(),this.#s=new AbortController;let{signal:e}=this.#s;this.#o=new WeakMap,this.#i.clear(),this.#a.clear();let n={item:this.#c(this.#e)};this.#r.set(n,this.#e),n.children=this.#l(this.#e),this.#t.root=n,this.#t.addEventListener(`expand`,e=>{let{node:n}=e.detail,r=this.#r.get(n);r&&(n.children=this.#l(r),this.#t.invalidateStructure())},{signal:e}),this.#t.addEventListener(`collapse`,e=>{},{signal:e})}disconnect(){this.#s?.abort(),this.#s=void 0}sync(){let e=this.#t.root;e&&(this.#o=new WeakMap,this.#i.clear(),this.#a.clear(),this.#r.set(e,this.#e),e.item=this.#c(this.#e),e.children=this.#f(this.#e,e.children??[]),this.#t.invalidateStructure())}lookupByKey(e){return this.#a.get(e)}navigateToKeyPath(e,n){if(e.length===0)return!1;let r=this.#t.root?.children??[];for(let n=0;n<e.length-1;n++){let i=r.find(r=>r.item.key===e[n]);if(!i)return!1;if(i.children===void 0){let e=this.#r.get(i);e&&(i.children=this.#l(e),this.#t.invalidateStructure())}r=i.children??[]}return this.#t.navigateTo(e,n)}navigateToIdentity(e,n){let r=this.#i.get(e);if(!r)return!1;let i=[],a=this.#e.getIdentity();for(;r&&r.getIdentity()!==a;)i.unshift(this.#c(r).key),r=r.getParent();return r!==void 0&&this.navigateToKeyPath(i,n)}navigateToValue(e,n){let r=this.#p(this.#e,e);return r?this.navigateToKeyPath(r.slice(1).map(e=>this.#c(e).key),n):!1}#c(e,n){let r=e.getIdentity(),i=this.#o.get(r);return i||(i=this.#n.valueToItem(e.getValue(),e),this.#o.set(r,i)),n===void 0?i:{...i,isLeaf:i.isLeaf??n}}#l(e){return Array.from(e.children(),e=>this.#d(e))}#u(e,n){this.#r.set(e,n),this.#i.set(n.getIdentity(),n),this.#a.set(e.item.key,n)}#d(e){let n=[...e.children()];for(let e of n)this.#i.set(e.getIdentity(),e);let r={item:this.#c(e,n.length===0)};return this.#u(r,e),r}#f(e,n){let r=new Map(n.map(e=>[e.item.key,e]));return Array.from(e.children(),e=>{let n=this.#d(e),i=r.get(n.item.key);return i?(i.item=n.item,this.#u(i,e),i.children!==void 0&&(i.children=this.#f(e,i.children)),i):n})}#p(e,n,r=[]){let i=[...r,e];if(n(e.getValue()))return i;for(let r of e.children()){let e=this.#p(r,n,i);if(e)return e}}};function gM(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}function _M(e,n){if(e){if(e.item.key===n)return e;for(let r of e.children??[]){let e=_M(r,n);if(e)return e}}}function vM(e,n){if(e){if(e.item.key===n)return[e];for(let r of e.children??[]){let i=vM(r,n);if(i)return[e,...i]}}}function yM(e,n,r){if(e.length===0||n<=0||r<=0)return 1/0;let i=0;for(let a of e){if(a<=0)return 1/0;let e=r*r*a/(n*n);i=Math.max(i,e,1/e)}return i}function bM(e,n){let r=Array.from({length:e.length}),i=n.x,a=n.y,o=n.width,s=n.height,c=0;for(;c<e.length;){let n=Math.min(o,s),l=c+1,u=e.slice(c,l).map(e=>e.area),d=u.reduce((e,n)=>e+n,0),f=yM(u,d,n);for(;l<e.length;){let r=e.slice(c,l+1).map(e=>e.area),i=r.reduce((e,n)=>e+n,0),a=yM(r,i,n);if(a<=f)l++,u=r,d=i,f=a;else break}if(o<=s){let e=d/o,n=i;for(let i=c;i<l;i++){let o=u[i-c]/e;r[i]={x:n,y:a,width:o,height:e},n+=o}a+=e,s-=e}else{let e=d/s,n=a;for(let a=c;a<l;a++){let o=u[a-c]/e;r[a]={x:i,y:n,width:e,height:o},n+=o}i+=e,o-=e}c=l}return r}function xM(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.min(e,1):0}function SM(e,n,r,i){if(e.width<=0||e.height<=0)return n.map(()=>({x:e.x,y:e.y,width:0,height:0}));let a=n.reduce((e,n)=>e+n,0),o=a>0?n.map(e=>e/a):n.map(()=>1/n.length),s=r===`dice`||r===`slice-dice`&&i%2==0,c=r===`slice`||r===`slice-dice`&&i%2==1;if(r===`squarify`){let r=o.map((e,n)=>({share:e,i:n})).filter(e=>e.share>0),i=n.map(()=>({x:e.x,y:e.y,width:0,height:0}));if(r.length>0){let n=e.width*e.height,a=bM(r.map(e=>({area:e.share*n})),e);r.forEach((e,n)=>{i[e.i]=a[n]})}return i}let l=[];if(s){let n=e.x;o.forEach(r=>{let i=e.width*r;l.push({x:n,y:e.y,width:i,height:e.height}),n+=i})}else if(c){let n=e.y;o.forEach(r=>{let i=e.height*r;l.push({x:e.x,y:n,width:e.width,height:i}),n+=i})}return l}function CM(e,n={}){if(!e?.children?.length)return[];let{maxDepth:r=1/0,valueAccessor:i=()=>1,zoomKey:a,tilingMethod:o=`squarify`,hideLeaves:s=!1,presentation:c=`nested`,cascadeOffsetX:l,cascadeOffsetY:u}=n;if(r<=0)return[];let d=c===`cascaded`,f=d?xM(l):0,p=d?xM(u):0,m=e=>{let n=e.children??[];return s?n.filter(e=>e.item.isLeaf!==!0):n},h=a===void 0?e:_M(e,a)??e,g=vM(e,h.item.key),_=g?g.length-2:-1,v=m(h);if(v.length===0)return[];let y=[],b=(e,n,a,s,c)=>{if(e.length===0||s>=r)return;let l=SM(n,e.map(e=>gM(i(e.item))),o,s),u=e.length;e.forEach((e,n)=>{let r=l[n],i=m(e);if(y.push({node:e,depth:a,relativeDepth:s,x:r.x,y:r.y,width:r.width,height:r.height,parentKey:c,index:n,setSize:u,hasChildren:i.length>0||e.children===void 0&&e.item.isLeaf!==!0}),i.length>0){let n=f<=0&&p<=0?r:{x:r.x+f,y:r.y+p,width:Math.max(0,r.width-f),height:Math.max(0,r.height-p)};b(i,n,a+1,s+1,e.item.key)}})};return b(v,{x:0,y:0,width:1,height:1},_+1,0,h.item.key),y}function wM(e){let n=new Map;if(!e)return n;let r=(e,i,a)=>{n.has(e.item.key)||n.set(e.item.key,{node:e,parentKey:i,depth:a});for(let n of e.children??[])r(n,e.item.key,a+1)};return r(e,void 0,-1),n}function TM(e,n){let r=[];for(let i=e.get(n);i!==void 0;i=i.parentKey===void 0?void 0:e.get(i.parentKey)){if(i.parentKey===void 0)return r;r.unshift(i.node.item.key)}}function EM(e,n){let r=n.at(-1);if(r===void 0)return{kind:`found`,key:void 0};if(e.has(r))return{kind:`found`,key:r};for(let r=n.length-2;r>=0;r--){let i=e.get(n[r]);if(!i)continue;let{node:a,depth:o}=i;return a.children===void 0&&a.item.isLeaf!==!0?{kind:`load`,node:a,depth:o}:{kind:`missing`}}return{kind:`missing`}}function DM(e){let{index:n}=e,r,i=e.pendingZoom;if(e.zoomKey!==void 0&&!n.has(e.zoomKey))i??=e.zoomPath,r={key:void 0,path:[],restored:!1};else if(e.zoomKey!==void 0){let i=TM(n,e.zoomKey)??e.zoomPath;OM(i,e.zoomPath)||(r={key:e.zoomKey,path:i,restored:!1})}if(i){let e=EM(n,i);if(e.kind===`found`){let a=e.key;r={key:a,path:a===void 0?[]:TM(n,a)??i,restored:!0},i=void 0}}let a=qS(e.selected,e.pendingSelected,e=>n.get(e)?.node,e.canSelect,e.singleSelect);return{zoom:r,pendingZoom:i,selection:a}}function OM(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function kM(e){let{controller:n}=e,r=[],i,a=k,o,s=!1,c=0,l=-1,u,d=()=>(u?.version!==c&&(u={version:c,index:wM(e.root())}),u.index),f=()=>s?e.tickled():void 0,p=(i,a,o)=>{r=a,e.zoomKey()!==i&&(e.setZoom(i,o),n.notify())},m=r=>{let i=JS(f(),o,e=>r.has(e),e.isVisible);o=i.pending;let a=e.tickled();(i.clear||a!==void 0&&!r.has(a))&&e.setTickled(void 0),i.apply!==void 0&&(e.setTickled(i.apply),s=!0,n.notify())},h=()=>{if(l=c,!e.root())return;let o=d();n.restoring(()=>{let n=DM({index:o,zoomKey:e.zoomKey(),zoomPath:r,pendingZoom:i,selected:e.selected(),pendingSelected:a,canSelect:e.canSelect,singleSelect:e.singleSelect()});i=n.pendingZoom,n.zoom&&p(n.zoom.key,n.zoom.path,n.zoom.restored);let s=n.selection;if(s.changed){a=s.pending;let n=e.selectedNode()?.item.key,r=[...s.selected].find(e=>e.item.key===n)??[...s.selected].at(-1);e.setSelection(s.selected,r,s.restored)}m(o)})};return{invalidate(){c++},reconcileIfNeeded(e){e&&c++,l!==c&&h()},zoomed(e){i=void 0,r=e===void 0?[]:TM(d(),e)??[e],n.notify()},selectionChanged(){n.isRestoring||(a=k),n.notify()},clearPendingSelection(){a=k},keyboardCursorMoved(){s=!0,o=void 0,n.notify()},pointerCursorMoved(){s&&(s=!1,n.notify())},get(s){let c=s?.includePending??!0;return n.shape({selected:fr([...e.selected()].map(e=>e.item.key),c?a:[]),focus:f()??(c?o:void 0),zoom:[...(c?i:void 0)??r]},s)},set(r){n.accepts(r)&&n.restoring(()=>{r.selected&&(a=sr(new Set(r.selected)),e.selected().size>0&&e.setSelection(new Set,void 0,!0)),r.focus!==void 0&&(o=r.focus);let n=YS(r.zoom);n&&(i=n),h(),n&&i&&p(void 0,[],!0)})},clearPending(){a=k,o=void 0,i=void 0},continueRestoreLoads(){if(!i||!e.restoreLoads()||!e.canLoad())return;let n=EM(d(),i);n.kind===`load`&&!e.isLoading(n.node.item.key)&&e.load(n.node,n.depth)}}}let $=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.tilingMethod=`squarify`,this.presentation=`nested`,this.cascadeOffset=6,this.maxDepth=4,this.hideLeaves=!1,this.minLabelArea=1600,this.minTileWidth=24,this.padding=4,this.minChildArea=400,this.valueAccessor=()=>1,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomKey=void 0,this.restoreLoads=!0,this.#e=kM({controller:new d_(this,{kind:`treemap-list`,capture:()=>this.getViewState()}),root:()=>this.#u,zoomKey:()=>this._zoomKey,setZoom:(e,n)=>this.#C(e,n),selected:()=>this._selectedNodes,selectedNode:()=>this.selectedNode,canSelect:e=>this.#y(e),singleSelect:()=>this.interactionMode===`implicit`,setSelection:(e,n,r)=>{let i=this._selectedNodes;this._selectedNodes=new Set(e),this.selectedNode=n,r&&this.#x(i)},tickled:()=>this.tickled.tickledId,setTickled:e=>e===void 0?this.tickled.clearTickled():this.tickled.setTickled(e),isVisible:e=>this.#d().some(n=>n.node.item.key===e),restoreLoads:()=>this.restoreLoads,canLoad:()=>this.model!==void 0||this.loadChildren!==void 0,isLoading:e=>this.#n.has(e),load:(e,n)=>void this.#v(e,n)}),this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.treemap-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#d().map(e=>({id:e.node.item.key,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(e===void 0)return;let n=this.#d().find(n=>n.node.item.key===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this.#n=new Set,this.#r=new Map,this.#l=0}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomKey!==void 0)return _M(this.#u,this._zoomKey)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;get#u(){return this.model?.root??this.root}#d(){return this.#f(this._zoomKey)}#f(e){return CM(this.#u,{valueAccessor:this.valueAccessor,maxDepth:this.maxDepth,zoomKey:e,tilingMethod:this.tilingMethod,hideLeaves:this.hideLeaves,presentation:this.presentation,...this.#p()})}#p(){if(this.presentation!==`cascaded`||!Number.isFinite(this.cascadeOffset)||this.cascadeOffset<=0)return{};let e=this.clientWidth||0,n=this.clientHeight||0;return e<=0||n<=0?{}:{cascadeOffsetX:this.cascadeOffset/e,cascadeOffsetY:this.cascadeOffset/n}}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#a=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#h(),typeof ResizeObserver<`u`&&(this.#s=new ResizeObserver(()=>this.requestUpdate()),this.#s.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#t?.(),this.#t=void 0;for(let e of this.#r.values())e.abort();this.#r.clear(),this.#n.clear(),this.#s?.disconnect(),this.#s=void 0,this.#a&&(this.#a.unregister(`select-all`),this.#a.unregister(`deselect-all`),this.#a=void 0,this.registry=void 0)}#m(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#h(){this.#a&&(this.search.setModes(this.#m()),this.#o?.(),this.#o=zt(this.#a,this.search))}willUpdate(e){(e.has(`root`)&&this.root||e.has(`model`))&&this.#g(),this.#e.reconcileIfNeeded(this._zoomKey!==void 0&&!_M(this.#u,this._zoomKey))}updated(e){if(e.has(`model`)&&(this.#t?.(),this.#t=void 0,this.model&&(this.#t=this.model._subscribe(e=>{e.type===`root`?this.#g():e.type===`invalidate`&&this.#e.invalidate(),this.requestUpdate()}))),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#i=void 0,this.clearSelection()),e.has(`searchModes`)&&this.#h(),this.#_(),this.#e.continueRestoreLoads(),this.#c){let e=this.#c;this.#c=void 0,this.#T(e)}}#g(){this.#c=void 0,this.#i=void 0,this.#e.invalidate()}#_(){if(!(!this.model&&!this.loadChildren))for(let e of this.#d()){let{node:n}=e;n.children!==void 0||this.#n.has(n.item.key)||this.#v(n,e.depth)}}async#v(e,n){let r=e.item.key;this.#n.add(r);let i=new AbortController;this.#r.set(r,i),this.requestUpdate();try{let r;if(r=this.model?await this.model.getChildren(e,n,i.signal):[...await Lg(this.loadChildren({node:e,depth:n},i.signal),i.signal)],i.signal.aborted)return;e.children=r}catch{if(i.signal.aborted)return;e.children=[]}finally{this.#n.delete(r),this.#r.delete(r),i.signal.aborted||(this.#e.invalidate(),this.requestUpdate())}}#y(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#b(){this._selectedNodes.clear(),this.selectedNode=void 0}#x(e){this.#e.selectionChanged(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#y(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#x(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#x(n),this.requestUpdate()}clearSelection(){if(this.#e.clearPendingSelection(),this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#d())this.#y(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#x(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(n),this.requestUpdate()}zoomTo(e){if(this._zoomKey===e.item.key)return;this.#c=this.#w(e.item.key),this.#S(e.item.key),this.tickled.clearTickled();let n=vM(this.#u,e.item.key)?.length,r=n===void 0?-1:n-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}zoomOut(){if(this._zoomKey===void 0)return;this.#c=this.#w(void 0);let e=this.focusedNode,n=this._zoomKey===void 0?void 0:vM(this.#u,this._zoomKey),r=n===void 0?-1:n.length-2;this.#S(void 0),this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:void 0,depth:-1},bubbles:!0,composed:!0})),e&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}#S(e){this._zoomKey=e,this.#e.zoomed(e)}#C(e,n){if(this._zoomKey=e,!n)return;let r=e===void 0?void 0:vM(this.#u,e);this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:r?.at(-1),depth:r===void 0?-1:r.length-2},bubbles:!0,composed:!0}))}#w(e){if(typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;if(e!==void 0){let n=this.#d().find(n=>n.node.item.key===e);if(n)return{direction:`in`,rect:{x:n.x,y:n.y,width:n.width,height:n.height}}}let n=this._zoomKey;if(n===void 0)return;let r=this.#f(e).find(e=>e.node.item.key===n);if(r)return{direction:`out`,rect:{x:r.x,y:r.y,width:r.width,height:r.height}}}#T(e){let n=this.renderRoot.querySelector(`.viewport-inner`),r=this.renderRoot.querySelector(`.viewport`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return;let i=r.clientWidth,a=r.clientHeight;if(i<=0||a<=0)return;let{rect:o,direction:s}=e,c=s===`in`?`translate(${o.x*i}px, ${o.y*a}px) scale(${Math.max(o.width,1e-4)}, ${Math.max(o.height,1e-4)})`:(()=>{let e=o.width>0?1/o.width:1,n=o.height>0?1/o.height:1;return`translate(${-o.x*e*i}px, ${-o.y*n*a}px) scale(${e}, ${n})`})();n.classList.remove(`flipping`),n.style.transform=c,n.offsetWidth,requestAnimationFrame(()=>{n.classList.add(`flipping`),n.style.transform=`none`}),n.addEventListener(`transitionend`,()=>n.classList.remove(`flipping`),{once:!0})}#E(e){return e.item.isLeaf===!0?!1:e.children===void 0?this.model!==void 0||this.loadChildren!==void 0:this.hideLeaves?e.children.some(e=>e.item.isLeaf!==!0):e.children.length>0}navigateTo(e){let n=this.#u;if(!n?.children)return!1;let r=n,i=[];for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;i.push(e),r=e}let a=i.at(-1);return i.length>this.maxDepth?this.zoomTo(i[i.length-this.maxDepth-1]):this._zoomKey!==void 0&&this.zoomOut(),this.select(a),this.tickled.setTickled(a.item.key),this.requestUpdate(),!0}navigateToNode(e){let n=this.#u;if(!n?.children)return!1;let r=this.#A(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#u;if(!n?.children)return!1;let r=this.#A(n.children,n=>n.item.key===e);if(!r)return!1;if(r.length>this.maxDepth){let e=this.#k(r.slice(0,r.length-this.maxDepth));e&&this.zoomTo(e)}return this.#D(e),this.requestUpdate(),!0}#D(e){this.tickled.setTickled(e),this.#e.keyboardCursorMoved()}#O(e){let n=this.tickled.tickledId;this.tickled.handlePointerEnter(e),this.tickled.tickledId!==n&&this.#e.pointerCursorMoved()}#k(e){let n=this.#u;for(let r of e){let e=r===n?.item.key?n:n?.children?.find(e=>e.item.key===r);if(!e)return;n=e}return n}#A(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#A(i.children,n,e);if(r)return r}}}getNodes(){return this.#d().map(e=>({node:e.node,depth:e.depth}))}getViewState(e){return this.#e.get(e)}setViewState(e){this.#e.set(e),this.requestUpdate()}clearPendingViewState(){this.#e.clearPending()}#j(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#j(e,n+1))??!1}#M(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}#N(e,n){let r=this.#d(),i=this.#M(e),a=r.filter(n=>n!==e&&n.relativeDepth===e.relativeDepth&&n.parentKey===e.parentKey),o,s=1/0;for(let e of a){let r=this.#M(e),a=r.x-i.x,c=r.y-i.y;if(!(n===`left`?a<0:n===`right`?a>0:n===`up`?c<0:c>0))continue;let l=Math.hypot(a,c);l<s&&(s=l,o=e)}return o||(n===`up`||n===`left`?e.parentKey===void 0?void 0:r.find(n=>n.node.item.key===e.parentKey):r.find(n=>n.parentKey===e.node.item.key))}#P(e,n,r){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(r.ctrlKey||r.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#y(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#x(n),this.requestUpdate()}this.#i=n}else if(this.interactionMode===`standard`&&r.shiftKey&&this.#i!==void 0){let e=this.#d(),r=Math.min(this.#i,n),i=Math.max(this.#i,n),a=new Set(this._selectedNodes);this._selectedNodes=new Set(e.slice(r,i+1).map(e=>e.node).filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(a),this.requestUpdate()}else this.interactionMode!==`manual`&&(this.select(e.node),this.#i=n);this.tickled.setTickled(e.node.item.key),this.#E(e.node)&&this.zoomTo(e.node)}#F(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#I(e){if(this.disableKeyboardNavigation)return;let n=this.#d();if(n.length===0)return;let r=this.tickled.tickledId,i=r===void 0?-1:n.findIndex(e=>e.node.item.key===r),a=i>=0?n[i]:void 0,o=n=>{n&&(e.preventDefault(),this.#D(n.node.item.key),this.interactionMode===`implicit`&&this.select(n.node))};switch(e.key){case`ArrowLeft`:o(a?this.#N(a,`left`):n[0]);return;case`ArrowRight`:o(a?this.#N(a,`right`):n[0]);return;case`ArrowUp`:o(a?this.#N(a,`up`):n[0]);return;case`ArrowDown`:o(a?this.#N(a,`down`):n[0]);return;case`Home`:o(n[0]);return;case`End`:o(n.at(-1));return;case`Enter`:if(!a)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(a.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:a.node,depth:a.depth},bubbles:!0,composed:!0})),this.#E(a.node)&&this.zoomTo(a.node);return;case`Backspace`:case`Escape`:this._zoomKey!==void 0&&(e.preventDefault(),this.zoomOut())}}#L(e){if(!e.metaKey||e.deltaY===0||(e.preventDefault(),performance.now()<this.#l))return;if(e.deltaY>0){if(this._zoomKey===void 0)return;this.#l=performance.now()+260,this.#R();return}let n=(e.target?.closest(`.tile`))?.getAttribute(`data-key`)??void 0;if(n===void 0)return;let r=this.#d().find(e=>e.node.item.key===n);!r||!this.#E(r.node)||(this.#l=performance.now()+260,this.zoomTo(r.node))}#R(){let e=this._zoomKey===void 0?void 0:vM(this.#u,this._zoomKey),n=e&&e.length>2?e[e.length-2]:void 0;n?this.zoomTo(n):this.zoomOut()}#z(){let e=this.focusedNode;return e===void 0?a:i`
|
|
13295
|
+
`}};E([d({type:String})],mM.prototype,`text`,void 0),E([d({type:String})],mM.prototype,`effect`,void 0),E([d({type:Number})],mM.prototype,`duration`,void 0),E([d({type:String})],mM.prototype,`easing`,void 0),E([m()],mM.prototype,`_currentText`,void 0),E([m()],mM.prototype,`_outgoingText`,void 0),E([m()],mM.prototype,`_activeEffect`,void 0),E([m()],mM.prototype,`_transitionId`,void 0),mM=E([T(`ixfx-transitory-label`)],mM);var hM=class{#e;#t;#n;#r=new WeakMap;#i=new Map;#a=new Map;#o=new WeakMap;#s;constructor(e,n,r){this.#e=e,this.#t=n,this.#n=r}connect(){this.disconnect(),this.#s=new AbortController;let{signal:e}=this.#s;this.#o=new WeakMap,this.#i.clear(),this.#a.clear();let n={item:this.#c(this.#e)};this.#r.set(n,this.#e),n.children=this.#l(this.#e),this.#t.root=n,this.#t.addEventListener(`expand`,e=>{let{node:n}=e.detail,r=this.#r.get(n);r&&(n.children=this.#l(r),this.#t.invalidateStructure())},{signal:e}),this.#t.addEventListener(`collapse`,e=>{},{signal:e})}disconnect(){this.#s?.abort(),this.#s=void 0}sync(){let e=this.#t.root;e&&(this.#o=new WeakMap,this.#i.clear(),this.#a.clear(),this.#r.set(e,this.#e),e.item=this.#c(this.#e),e.children=this.#f(this.#e,e.children??[]),this.#t.invalidateStructure())}lookupByKey(e){return this.#a.get(e)}navigateToKeyPath(e,n){if(e.length===0)return!1;let r=this.#t.root?.children??[];for(let n=0;n<e.length-1;n++){let i=r.find(r=>r.item.key===e[n]);if(!i)return!1;if(i.children===void 0){let e=this.#r.get(i);e&&(i.children=this.#l(e),this.#t.invalidateStructure())}r=i.children??[]}return this.#t.navigateTo(e,n)}navigateToIdentity(e,n){let r=this.#i.get(e);if(!r)return!1;let i=[],a=this.#e.getIdentity();for(;r&&r.getIdentity()!==a;)i.unshift(this.#c(r).key),r=r.getParent();return r!==void 0&&this.navigateToKeyPath(i,n)}navigateToValue(e,n){let r=this.#p(this.#e,e);return r?this.navigateToKeyPath(r.slice(1).map(e=>this.#c(e).key),n):!1}#c(e,n){let r=e.getIdentity(),i=this.#o.get(r);return i||(i=this.#n.valueToItem(e.getValue(),e),this.#o.set(r,i)),n===void 0?i:{...i,isLeaf:i.isLeaf??n}}#l(e){return Array.from(e.children(),e=>this.#d(e))}#u(e,n){this.#r.set(e,n),this.#i.set(n.getIdentity(),n),this.#a.set(e.item.key,n)}#d(e){let n=[...e.children()];for(let e of n)this.#i.set(e.getIdentity(),e);let r={item:this.#c(e,n.length===0)};return this.#u(r,e),r}#f(e,n){let r=new Map(n.map(e=>[e.item.key,e]));return Array.from(e.children(),e=>{let n=this.#d(e),i=r.get(n.item.key);return i?(i.item=n.item,this.#u(i,e),i.children!==void 0&&(i.children=this.#f(e,i.children)),i):n})}#p(e,n,r=[]){let i=[...r,e];if(n(e.getValue()))return i;for(let r of e.children()){let e=this.#p(r,n,i);if(e)return e}}};function gM(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}function _M(e,n){if(e){if(e.item.key===n)return e;for(let r of e.children??[]){let e=_M(r,n);if(e)return e}}}function vM(e,n){if(e){if(e.item.key===n)return[e];for(let r of e.children??[]){let i=vM(r,n);if(i)return[e,...i]}}}function yM(e,n,r){if(e.length===0||n<=0||r<=0)return 1/0;let i=0;for(let a of e){if(a<=0)return 1/0;let e=r*r*a/(n*n);i=Math.max(i,e,1/e)}return i}function bM(e,n){let r=Array.from({length:e.length}),i=n.x,a=n.y,o=n.width,s=n.height,c=0;for(;c<e.length;){let n=Math.min(o,s),l=c+1,u=e.slice(c,l).map(e=>e.area),d=u.reduce((e,n)=>e+n,0),f=yM(u,d,n);for(;l<e.length;){let r=e.slice(c,l+1).map(e=>e.area),i=r.reduce((e,n)=>e+n,0),a=yM(r,i,n);if(a<=f)l++,u=r,d=i,f=a;else break}if(o<=s){let e=d/o,n=i;for(let i=c;i<l;i++){let o=u[i-c]/e;r[i]={x:n,y:a,width:o,height:e},n+=o}a+=e,s-=e}else{let e=d/s,n=a;for(let a=c;a<l;a++){let o=u[a-c]/e;r[a]={x:i,y:n,width:e,height:o},n+=o}i+=e,o-=e}c=l}return r}function xM(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.min(e,1):0}function SM(e,n,r,i){if(e.width<=0||e.height<=0)return n.map(()=>({x:e.x,y:e.y,width:0,height:0}));let a=n.reduce((e,n)=>e+n,0),o=a>0?n.map(e=>e/a):n.map(()=>1/n.length),s=r===`dice`||r===`slice-dice`&&i%2==0,c=r===`slice`||r===`slice-dice`&&i%2==1;if(r===`squarify`){let r=o.map((e,n)=>({share:e,i:n})).filter(e=>e.share>0),i=n.map(()=>({x:e.x,y:e.y,width:0,height:0}));if(r.length>0){let n=e.width*e.height,a=bM(r.map(e=>({area:e.share*n})),e);r.forEach((e,n)=>{i[e.i]=a[n]})}return i}let l=[];if(s){let n=e.x;o.forEach(r=>{let i=e.width*r;l.push({x:n,y:e.y,width:i,height:e.height}),n+=i})}else if(c){let n=e.y;o.forEach(r=>{let i=e.height*r;l.push({x:e.x,y:n,width:e.width,height:i}),n+=i})}return l}function CM(e,n={}){if(!e?.children?.length)return[];let{maxDepth:r=1/0,valueAccessor:i=()=>1,zoomKey:a,tilingMethod:o=`squarify`,hideLeaves:s=!1,presentation:c=`nested`,cascadeOffsetX:l,cascadeOffsetY:u}=n;if(r<=0)return[];let d=c===`cascaded`,f=d?xM(l):0,p=d?xM(u):0,m=e=>{let n=e.children??[];return s?n.filter(e=>e.item.isLeaf!==!0):n},h=a===void 0?e:_M(e,a)??e,g=vM(e,h.item.key),_=g?g.length-2:-1,v=m(h);if(v.length===0)return[];let y=[],b=(e,n,a,s,c)=>{if(e.length===0||s>=r)return;let l=SM(n,e.map(e=>gM(i(e.item))),o,s),u=e.length;e.forEach((e,n)=>{let r=l[n],i=m(e);if(y.push({node:e,depth:a,relativeDepth:s,x:r.x,y:r.y,width:r.width,height:r.height,parentKey:c,index:n,setSize:u,hasChildren:i.length>0||e.children===void 0&&e.item.isLeaf!==!0}),i.length>0){let n=f<=0&&p<=0?r:{x:r.x+f,y:r.y+p,width:Math.max(0,r.width-f),height:Math.max(0,r.height-p)};b(i,n,a+1,s+1,e.item.key)}})};return b(v,{x:0,y:0,width:1,height:1},_+1,0,h.item.key),y}function wM(e){let n=new Map;if(!e)return n;let r=(e,i,a)=>{n.has(e.item.key)||n.set(e.item.key,{node:e,parentKey:i,depth:a});for(let n of e.children??[])r(n,e.item.key,a+1)};return r(e,void 0,-1),n}function TM(e,n){let r=[];for(let i=e.get(n);i!==void 0;i=i.parentKey===void 0?void 0:e.get(i.parentKey)){if(i.parentKey===void 0)return r;r.unshift(i.node.item.key)}}function EM(e,n){let r=n.at(-1);if(r===void 0)return{kind:`found`,key:void 0};if(e.has(r))return{kind:`found`,key:r};for(let r=n.length-2;r>=0;r--){let i=e.get(n[r]);if(!i)continue;let{node:a,depth:o}=i;return a.children===void 0&&a.item.isLeaf!==!0?{kind:`load`,node:a,depth:o}:{kind:`missing`}}return{kind:`missing`}}function DM(e){let{index:n}=e,r,i=e.pendingZoom;if(e.zoomKey!==void 0&&!n.has(e.zoomKey))i??=e.zoomPath,r={key:void 0,path:[],restored:!1};else if(e.zoomKey!==void 0){let i=TM(n,e.zoomKey)??e.zoomPath;OM(i,e.zoomPath)||(r={key:e.zoomKey,path:i,restored:!1})}if(i){let e=EM(n,i);if(e.kind===`found`){let a=e.key;r={key:a,path:a===void 0?[]:TM(n,a)??i,restored:!0},i=void 0}}let a=JS(e.selected,e.pendingSelected,e=>n.get(e)?.node,e.canSelect,e.singleSelect);return{zoom:r,pendingZoom:i,selection:a}}function OM(e,n){return e.length===n.length&&e.every((e,r)=>e===n[r])}function kM(e){let{controller:n}=e,r=[],i,a=k,o,s=!1,c=0,l=-1,u,d=()=>(u?.version!==c&&(u={version:c,index:wM(e.root())}),u.index),f=()=>s?e.tickled():void 0,p=(i,a,o)=>{r=a,e.zoomKey()!==i&&(e.setZoom(i,o),n.notify())},m=r=>{let i=YS(f(),o,e=>r.has(e),e.isVisible);o=i.pending;let a=e.tickled();(i.clear||a!==void 0&&!r.has(a))&&e.setTickled(void 0),i.apply!==void 0&&(e.setTickled(i.apply),s=!0,n.notify())},h=()=>{if(l=c,!e.root())return;let o=d();n.restoring(()=>{let n=DM({index:o,zoomKey:e.zoomKey(),zoomPath:r,pendingZoom:i,selected:e.selected(),pendingSelected:a,canSelect:e.canSelect,singleSelect:e.singleSelect()});i=n.pendingZoom,n.zoom&&p(n.zoom.key,n.zoom.path,n.zoom.restored);let s=n.selection;if(s.changed){a=s.pending;let n=e.selectedNode()?.item.key,r=[...s.selected].find(e=>e.item.key===n)??[...s.selected].at(-1);e.setSelection(s.selected,r,s.restored)}m(o)})};return{invalidate(){c++},reconcileIfNeeded(e){e&&c++,l!==c&&h()},zoomed(e){i=void 0,r=e===void 0?[]:TM(d(),e)??[e],n.notify()},selectionChanged(){n.isRestoring||(a=k),n.notify()},clearPendingSelection(){a=k},keyboardCursorMoved(){s=!0,o=void 0,n.notify()},pointerCursorMoved(){s&&(s=!1,n.notify())},get(s){let c=s?.includePending??!0;return n.shape({selected:fr([...e.selected()].map(e=>e.item.key),c?a:[]),focus:f()??(c?o:void 0),zoom:[...(c?i:void 0)??r]},s)},set(r){n.accepts(r)&&n.restoring(()=>{r.selected&&(a=sr(new Set(r.selected)),e.selected().size>0&&e.setSelection(new Set,void 0,!0)),r.focus!==void 0&&(o=r.focus);let n=XS(r.zoom);n&&(i=n),h(),n&&i&&p(void 0,[],!0)})},clearPending(){a=k,o=void 0,i=void 0},continueRestoreLoads(){if(!i||!e.restoreLoads()||!e.canLoad())return;let n=EM(d(),i);n.kind===`load`&&!e.isLoading(n.node.item.key)&&e.load(n.node,n.depth)}}}let $=class extends n{constructor(...e){super(...e),this.exclusivity=`none`,this.selectionFilter=`all`,this.interactionMode=`standard`,this.tilingMethod=`squarify`,this.presentation=`nested`,this.cascadeOffset=6,this.maxDepth=4,this.hideLeaves=!1,this.minLabelArea=1600,this.minTileWidth=24,this.padding=4,this.minChildArea=400,this.valueAccessor=()=>1,this._selectedNodes=new Set,this.disableKeyboardNavigation=!1,this.registry=void 0,this._zoomKey=void 0,this.restoreLoads=!0,this.#e=kM({controller:new f_(this,{kind:`treemap-list`,capture:()=>this.getViewState()}),root:()=>this.#u,zoomKey:()=>this._zoomKey,setZoom:(e,n)=>this.#C(e,n),selected:()=>this._selectedNodes,selectedNode:()=>this.selectedNode,canSelect:e=>this.#y(e),singleSelect:()=>this.interactionMode===`implicit`,setSelection:(e,n,r)=>{let i=this._selectedNodes;this._selectedNodes=new Set(e),this.selectedNode=n,r&&this.#x(i)},tickled:()=>this.tickled.tickledId,setTickled:e=>e===void 0?this.tickled.clearTickled():this.tickled.setTickled(e),isVisible:e=>this.#d().some(n=>n.node.item.key===e),restoreLoads:()=>this.restoreLoads,canLoad:()=>this.model!==void 0||this.loadChildren!==void 0,isLoading:e=>this.#n.has(e),load:(e,n)=>void this.#v(e,n)}),this.search=new Vt(this,{adapter:Wt(this,{labelSelector:`.treemap-label`,highlightKey:`incr-search-highlight`})}),this.tickled=new oe(this,{getItems:()=>this.#d().map(e=>({id:e.node.item.key,enabled:!0})),onStateChange:()=>{this.setAttribute(`data-input-mode`,this.tickled.inputMode)},onTickle:e=>{if(e===void 0)return;let n=this.#d().find(n=>n.node.item.key===e);n&&this.dispatchEvent(new CustomEvent(`tickle`,{detail:{node:n.node,depth:n.depth},bubbles:!0,composed:!0}))}}),this.#n=new Set,this.#r=new Map,this.#l=0}get selectedNodes(){return this._selectedNodes}get focusedNode(){if(this._zoomKey!==void 0)return _M(this.#u,this._zoomKey)}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;get#u(){return this.model?.root??this.root}#d(){return this.#f(this._zoomKey)}#f(e){return CM(this.#u,{valueAccessor:this.valueAccessor,maxDepth:this.maxDepth,zoomKey:e,tilingMethod:this.tilingMethod,hideLeaves:this.hideLeaves,presentation:this.presentation,...this.#p()})}#p(){if(this.presentation!==`cascaded`||!Number.isFinite(this.cascadeOffset)||this.cascadeOffset<=0)return{};let e=this.clientWidth||0,n=this.clientHeight||0;return e<=0||n<=0?{}:{cascadeOffsetX:this.cascadeOffset/e,cascadeOffsetY:this.cascadeOffset/n}}connectedCallback(){super.connectedCallback(),this.setAttribute(`data-input-mode`,`mouse`);let e=this.#a=Yt();e.register({id:`select-all`,label:`Select All`,description:`Select all visible items`,execute:()=>this.selectAll()}),e.register({id:`deselect-all`,label:`Deselect All`,description:`Clear all selection`,execute:()=>this.deselectAll()}),this.registry=e,this.#h(),typeof ResizeObserver<`u`&&(this.#s=new ResizeObserver(()=>this.requestUpdate()),this.#s.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this.#t?.(),this.#t=void 0;for(let e of this.#r.values())e.abort();this.#r.clear(),this.#n.clear(),this.#s?.disconnect(),this.#s=void 0,this.#a&&(this.#a.unregister(`select-all`),this.#a.unregister(`deselect-all`),this.#a=void 0,this.registry=void 0)}#m(){let e=this.searchModes?.trim();if(e===void 0)return[...O];let n=new Set(e.split(/\s+/));return O.filter(e=>n.has(e))}#h(){this.#a&&(this.search.setModes(this.#m()),this.#o?.(),this.#o=zt(this.#a,this.search))}willUpdate(e){(e.has(`root`)&&this.root||e.has(`model`))&&this.#g(),this.#e.reconcileIfNeeded(this._zoomKey!==void 0&&!_M(this.#u,this._zoomKey))}updated(e){if(e.has(`model`)&&(this.#t?.(),this.#t=void 0,this.model&&(this.#t=this.model._subscribe(e=>{e.type===`root`?this.#g():e.type===`invalidate`&&this.#e.invalidate(),this.requestUpdate()}))),e.has(`interactionMode`)&&e.get(`interactionMode`)!==void 0&&(this.#i=void 0,this.clearSelection()),e.has(`searchModes`)&&this.#h(),this.#_(),this.#e.continueRestoreLoads(),this.#c){let e=this.#c;this.#c=void 0,this.#T(e)}}#g(){this.#c=void 0,this.#i=void 0,this.#e.invalidate()}#_(){if(!(!this.model&&!this.loadChildren))for(let e of this.#d()){let{node:n}=e;n.children!==void 0||this.#n.has(n.item.key)||this.#v(n,e.depth)}}async#v(e,n){let r=e.item.key;this.#n.add(r);let i=new AbortController;this.#r.set(r,i),this.requestUpdate();try{let r;if(r=this.model?await this.model.getChildren(e,n,i.signal):[...await Rg(this.loadChildren({node:e,depth:n},i.signal),i.signal)],i.signal.aborted)return;e.children=r}catch{if(i.signal.aborted)return;e.children=[]}finally{this.#n.delete(r),this.#r.delete(r),i.signal.aborted||(this.#e.invalidate(),this.requestUpdate())}}#y(e){return this.selectionFilter===`none`?!1:this.selectionFilter===`leaf`?e.item.isLeaf===!0:this.selectionFilter!==`branch`||e.item.isLeaf===!1||e.children!==void 0&&e.children.length>0}#b(){this._selectedNodes.clear(),this.selectedNode=void 0}#x(e){this.#e.selectionChanged(),this.dispatchEvent(new CustomEvent(`select`,{detail:{selected:new Set(this._selectedNodes),previous:e},bubbles:!0,composed:!0}))}select(e){if(!this.#y(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(e),this.selectedNode=e,this.#x(n),this.requestUpdate()}deselect(e){if(!this._selectedNodes.has(e))return;let n=new Set(this._selectedNodes);this._selectedNodes.delete(e),this.selectedNode===e&&(this.selectedNode=[...this._selectedNodes].at(-1)),this.#x(n),this.requestUpdate()}clearSelection(){if(this.#e.clearPendingSelection(),this._selectedNodes.size===0)return;let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectAll(){let e=new Set(this._selectedNodes);for(let e of this.#d())this.#y(e.node)&&this._selectedNodes.add(e.node);this.selectedNode=[...this._selectedNodes].at(-1),this.#x(e),this.requestUpdate()}deselectAll(){let e=new Set(this._selectedNodes);this.#b(),this.#x(e),this.requestUpdate()}selectMany(e){let n=new Set(this._selectedNodes);this._selectedNodes=new Set([...e].filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(n),this.requestUpdate()}zoomTo(e){if(this._zoomKey===e.item.key)return;this.#c=this.#w(e.item.key),this.#S(e.item.key),this.tickled.clearTickled();let n=vM(this.#u,e.item.key)?.length,r=n===void 0?-1:n-2;this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`expand`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}zoomOut(){if(this._zoomKey===void 0)return;this.#c=this.#w(void 0);let e=this.focusedNode,n=this._zoomKey===void 0?void 0:vM(this.#u,this._zoomKey),r=n===void 0?-1:n.length-2;this.#S(void 0),this.tickled.clearTickled(),this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:void 0,depth:-1},bubbles:!0,composed:!0})),e&&this.dispatchEvent(new CustomEvent(`collapse`,{detail:{node:e,depth:r},bubbles:!0,composed:!0})),this.requestUpdate()}#S(e){this._zoomKey=e,this.#e.zoomed(e)}#C(e,n){if(this._zoomKey=e,!n)return;let r=e===void 0?void 0:vM(this.#u,e);this.dispatchEvent(new CustomEvent(`zoom`,{detail:{node:r?.at(-1),depth:r===void 0?-1:r.length-2},bubbles:!0,composed:!0}))}#w(e){if(typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;if(e!==void 0){let n=this.#d().find(n=>n.node.item.key===e);if(n)return{direction:`in`,rect:{x:n.x,y:n.y,width:n.width,height:n.height}}}let n=this._zoomKey;if(n===void 0)return;let r=this.#f(e).find(e=>e.node.item.key===n);if(r)return{direction:`out`,rect:{x:r.x,y:r.y,width:r.width,height:r.height}}}#T(e){let n=this.renderRoot.querySelector(`.viewport-inner`),r=this.renderRoot.querySelector(`.viewport`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return;let i=r.clientWidth,a=r.clientHeight;if(i<=0||a<=0)return;let{rect:o,direction:s}=e,c=s===`in`?`translate(${o.x*i}px, ${o.y*a}px) scale(${Math.max(o.width,1e-4)}, ${Math.max(o.height,1e-4)})`:(()=>{let e=o.width>0?1/o.width:1,n=o.height>0?1/o.height:1;return`translate(${-o.x*e*i}px, ${-o.y*n*a}px) scale(${e}, ${n})`})();n.classList.remove(`flipping`),n.style.transform=c,n.offsetWidth,requestAnimationFrame(()=>{n.classList.add(`flipping`),n.style.transform=`none`}),n.addEventListener(`transitionend`,()=>n.classList.remove(`flipping`),{once:!0})}#E(e){return e.item.isLeaf===!0?!1:e.children===void 0?this.model!==void 0||this.loadChildren!==void 0:this.hideLeaves?e.children.some(e=>e.item.isLeaf!==!0):e.children.length>0}navigateTo(e){let n=this.#u;if(!n?.children)return!1;let r=n,i=[];for(let n of e){let e=r.children?.find(e=>e.item.key===n);if(!e)return!1;i.push(e),r=e}let a=i.at(-1);return i.length>this.maxDepth?this.zoomTo(i[i.length-this.maxDepth-1]):this._zoomKey!==void 0&&this.zoomOut(),this.select(a),this.tickled.setTickled(a.item.key),this.requestUpdate(),!0}navigateToNode(e){let n=this.#u;if(!n?.children)return!1;let r=this.#A(n.children,e);return r?this.navigateTo(r):!1}revealKey(e){let n=this.#u;if(!n?.children)return!1;let r=this.#A(n.children,n=>n.item.key===e);if(!r)return!1;if(r.length>this.maxDepth){let e=this.#k(r.slice(0,r.length-this.maxDepth));e&&this.zoomTo(e)}return this.#D(e),this.requestUpdate(),!0}#D(e){this.tickled.setTickled(e),this.#e.keyboardCursorMoved()}#O(e){let n=this.tickled.tickledId;this.tickled.handlePointerEnter(e),this.tickled.tickledId!==n&&this.#e.pointerCursorMoved()}#k(e){let n=this.#u;for(let r of e){let e=r===n?.item.key?n:n?.children?.find(e=>e.item.key===r);if(!e)return;n=e}return n}#A(e,n,r=[]){for(let i of e){let e=[...r,i.item.key];if(n(i))return e;if(i.children?.length){let r=this.#A(i.children,n,e);if(r)return r}}}getNodes(){return this.#d().map(e=>({node:e.node,depth:e.depth}))}getViewState(e){return this.#e.get(e)}setViewState(e){this.#e.set(e),this.requestUpdate()}clearPendingViewState(){this.#e.clearPending()}#j(e,n){return!this.filterPredicate||this.filterPredicate(e,n)?!0:e.children?.some(e=>this.#j(e,n+1))??!1}#M(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}#N(e,n){let r=this.#d(),i=this.#M(e),a=r.filter(n=>n!==e&&n.relativeDepth===e.relativeDepth&&n.parentKey===e.parentKey),o,s=1/0;for(let e of a){let r=this.#M(e),a=r.x-i.x,c=r.y-i.y;if(!(n===`left`?a<0:n===`right`?a>0:n===`up`?c<0:c>0))continue;let l=Math.hypot(a,c);l<s&&(s=l,o=e)}return o||(n===`up`||n===`left`?e.parentKey===void 0?void 0:r.find(n=>n.node.item.key===e.parentKey):r.find(n=>n.parentKey===e.node.item.key))}#P(e,n,r){if(this.dispatchEvent(new CustomEvent(`item-click`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.interactionMode===`standard`&&(r.ctrlKey||r.metaKey)){if(this._selectedNodes.has(e.node))this.deselect(e.node);else if(this.#y(e.node)){let n=new Set(this._selectedNodes);this._selectedNodes.add(e.node),this.selectedNode=e.node,this.#x(n),this.requestUpdate()}this.#i=n}else if(this.interactionMode===`standard`&&r.shiftKey&&this.#i!==void 0){let e=this.#d(),r=Math.min(this.#i,n),i=Math.max(this.#i,n),a=new Set(this._selectedNodes);this._selectedNodes=new Set(e.slice(r,i+1).map(e=>e.node).filter(e=>this.#y(e))),this.selectedNode=[...this._selectedNodes].at(-1),this.#x(a),this.requestUpdate()}else this.interactionMode!==`manual`&&(this.select(e.node),this.#i=n);this.tickled.setTickled(e.node.item.key),this.#E(e.node)&&this.zoomTo(e.node)}#F(e){this.dispatchEvent(new CustomEvent(`item-dblclick`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:e.node,depth:e.depth},bubbles:!0,composed:!0}))}#I(e){if(this.disableKeyboardNavigation)return;let n=this.#d();if(n.length===0)return;let r=this.tickled.tickledId,i=r===void 0?-1:n.findIndex(e=>e.node.item.key===r),a=i>=0?n[i]:void 0,o=n=>{n&&(e.preventDefault(),this.#D(n.node.item.key),this.interactionMode===`implicit`&&this.select(n.node))};switch(e.key){case`ArrowLeft`:o(a?this.#N(a,`left`):n[0]);return;case`ArrowRight`:o(a?this.#N(a,`right`):n[0]);return;case`ArrowUp`:o(a?this.#N(a,`up`):n[0]);return;case`ArrowDown`:o(a?this.#N(a,`down`):n[0]);return;case`Home`:o(n[0]);return;case`End`:o(n.at(-1));return;case`Enter`:if(!a)return;e.preventDefault(),this.interactionMode!==`manual`&&this.select(a.node),this.dispatchEvent(new CustomEvent(`activate`,{detail:{node:a.node,depth:a.depth},bubbles:!0,composed:!0})),this.#E(a.node)&&this.zoomTo(a.node);return;case`Backspace`:case`Escape`:this._zoomKey!==void 0&&(e.preventDefault(),this.zoomOut())}}#L(e){if(!e.metaKey||e.deltaY===0||(e.preventDefault(),performance.now()<this.#l))return;if(e.deltaY>0){if(this._zoomKey===void 0)return;this.#l=performance.now()+260,this.#R();return}let n=(e.target?.closest(`.tile`))?.getAttribute(`data-key`)??void 0;if(n===void 0)return;let r=this.#d().find(e=>e.node.item.key===n);!r||!this.#E(r.node)||(this.#l=performance.now()+260,this.zoomTo(r.node))}#R(){let e=this._zoomKey===void 0?void 0:vM(this.#u,this._zoomKey),n=e&&e.length>2?e[e.length-2]:void 0;n?this.zoomTo(n):this.zoomOut()}#z(){let e=this.focusedNode;return e===void 0?a:i`
|
|
13288
13296
|
<nav class="breadcrumb" part="breadcrumb" aria-label="Treemap zoom path">
|
|
13289
13297
|
<ixfx-crumb-navigation
|
|
13290
13298
|
with-up
|
|
@@ -13506,7 +13514,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13506
13514
|
color: var(--surface-muted-text);
|
|
13507
13515
|
font-size: var(--text-s);
|
|
13508
13516
|
}
|
|
13509
|
-
`]}};E([d({type:Object})],$.prototype,`root`,void 0),E([d({attribute:!1})],$.prototype,`model`,void 0),E([d({attribute:!1})],$.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],$.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],$.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],$.prototype,`interactionMode`,void 0),E([d({type:String,attribute:`tiling-method`})],$.prototype,`tilingMethod`,void 0),E([d({type:String,attribute:`presentation`})],$.prototype,`presentation`,void 0),E([d({type:Number,attribute:`cascade-offset`})],$.prototype,`cascadeOffset`,void 0),E([d({type:Number,attribute:`max-depth`})],$.prototype,`maxDepth`,void 0),E([d({type:Boolean,attribute:`hide-leaves`})],$.prototype,`hideLeaves`,void 0),E([d({type:Number,attribute:`min-label-area`})],$.prototype,`minLabelArea`,void 0),E([d({type:Number,attribute:`min-tile-width`})],$.prototype,`minTileWidth`,void 0),E([d({type:Number})],$.prototype,`padding`,void 0),E([d({type:Number,attribute:`min-child-area`})],$.prototype,`minChildArea`,void 0),E([d({attribute:!1})],$.prototype,`valueAccessor`,void 0),E([d({attribute:!1})],$.prototype,`categoryAccessor`,void 0),E([d({attribute:!1})],$.prototype,`selectedNode`,void 0),E([m()],$.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],$.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],$.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],$.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],$.prototype,`searchModes`,void 0),E([m()],$.prototype,`_zoomKey`,void 0),E([d({attribute:!1})],$.prototype,`restoreLoads`,void 0),$=E([T(`ixfx-treemap-list`)],$);let AM=class extends n{constructor(...e){super(...e),this.layout=`vertical`,this.sizeA=``,this.sizeB=``,this.fixedA=!1,this.fixedB=!1,this.collapsible=!1,this.collapsedA=!1,this.collapsedB=!1,this.minSizeA=``,this.maxSizeA=``,this.minSizeB=``,this.maxSizeB=``,this._hasCorner=!1,this.#t=``,this.#n=``,this.#r=0,this.#i=0,this.#a=``,this.#u=null,this.#p=.1,this.#m=new d_(this,{kind:`twosplit-layout`,capture:()=>this.getViewState()}),this.#D=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.add(`user-resizing`),this.#e=this.getBoundingClientRect(),this.#t=this.sizeA,this.#n=this.sizeB,window.addEventListener(`pointerup`,this.#O),window.addEventListener(`pointermove`,this.#k)},this.#O=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.remove(`user-resizing`),window.removeEventListener(`pointerup`,this.#O),window.removeEventListener(`pointermove`,this.#k),(this.sizeA!==this.#t||this.sizeB!==this.#n)&&this.#m.notify()},this.#k=e=>{let n=this.#e;if(n){if(this.layout===`horizontal`){let r=Ti((e.y-n.y)/n.height);if(this.collapsible&&this.collapsedA){if(r>(this.#d??.05)+this.#p){this.collapsedA=!1,this.#g(`A`,!1),this.#d=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}}else if(this.collapsible&&!this.collapsedA&&r<5/n.height)this.collapsedA=!0,this.#g(`A`,!0),this.sizeA=`0px`,this.sizeB=`100%`,this.#d=r;else if(!this.collapsedA){let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}if(this.collapsible&&this.collapsedB){if(r<(this.#f??.95)-this.#p){this.collapsedB=!1,this.#g(`B`,!1),this.#f=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}}else this.collapsible&&!this.collapsedB&&r>1-5/n.height&&(this.collapsedB=!0,this.#g(`B`,!0),this.sizeA=`100%`,this.sizeB=`0px`,this.#f=r)}else{let r=Ti((e.x-n.x)/n.width);if(this.collapsible&&this.collapsedA){if(r>(this.#d??.05)+this.#p){this.collapsedA=!1,this.#g(`A`,!1),this.#d=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}}else if(this.collapsible&&!this.collapsedA&&r<5/n.width)this.collapsedA=!0,this.#g(`A`,!0),this.sizeA=`0px`,this.sizeB=`100%`,this.#d=r;else if(!this.collapsedA){let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}if(this.collapsible&&this.collapsedB){if(r<(this.#f??.95)-this.#p){this.collapsedB=!1,this.#g(`B`,!1),this.#f=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}}else this.collapsible&&!this.collapsedB&&r>1-5/n.width&&(this.collapsedB=!0,this.#g(`B`,!0),this.sizeA=`100%`,this.sizeB=`0px`,this.#f=r)}e.preventDefault()}},this.#A=e=>{e.preventDefault(),e.stopPropagation();let n=this.getZone();n&&n.classList.add(`user-resizing`),this.#e=this.getBoundingClientRect(),this.#r=e.clientX,this.#i=e.clientY,this.#t=this.sizeA,this.#n=this.sizeB;let r=this.#y();if(r){this.#a=r.sizeA;let e=r.getBoundingClientRect(),n=r.shadowRoot?.querySelector(`.split-bar`);n&&(this.#s=e,this.#c=n.getBoundingClientRect());let i=r.getZone();i&&i.classList.add(`user-resizing`)}window.addEventListener(`pointerup`,this.#j),window.addEventListener(`pointermove`,this.#N)},this.#j=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.remove(`user-resizing`);let r=this.#y();if(r){let e=r.getZone();e&&e.classList.remove(`user-resizing`),#m in r&&r.sizeA!==this.#a&&r.#m.notify()}window.removeEventListener(`pointerup`,this.#j),window.removeEventListener(`pointermove`,this.#N),(this.sizeA!==this.#t||this.sizeB!==this.#n)&&this.#m.notify()},this.#N=e=>{let n=this.#e,r=this.getZone(),i=this.#y();if(!n||!r||!i)return;let a=r.getBoundingClientRect(),o=e.clientX-a.left,s=e.clientY-a.top;if(this.layout===`vertical`&&i.layout===`horizontal`){let e=o/n.width,r=s/n.height,{sizeA:i,sizeB:a}=this.#S(`${e*100}%`,`${(1-e)*100}%`,n.width);e=this.#b(i,n.width),this.sizeA=i,this.sizeB=a,this.#u={sizeA:r,sizeB:1-r},requestAnimationFrame(()=>this.#M());let c=this.shadowRoot?.querySelector(`.corner-zone`);c&&(c.style.left=`${o-6}px`,c.style.top=`${s-6}px`)}else if(this.layout===`horizontal`&&i.layout===`vertical`){let e=o/n.width,r=s/n.height,{sizeA:i,sizeB:a}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);r=this.#b(i,n.height),this.sizeA=i,this.sizeB=a,this.#u={sizeA:e,sizeB:1-e},requestAnimationFrame(()=>this.#M());let c=this.shadowRoot?.querySelector(`.corner-zone`);c&&(c.style.left=`${o-6}px`,c.style.top=`${s-6}px`)}e.preventDefault()}}get showGrabHandle(){let e=getComputedStyle(this).getPropertyValue(`--handle-size`).trim(),n=Number.parseFloat(e);return!Number.isNaN(n)&&n>3}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;disconnectedCallback(){super.disconnectedCallback(),this.#l?.disconnect()}firstUpdated(){this.#_()}updated(e){(e.has(`sizeA`)||e.has(`sizeB`)||e.has(`collapsedA`)||e.has(`collapsedB`))&&this.#E(),(e.has(`sizeA`)||e.has(`sizeB`)||e.has(`collapsedA`)||e.has(`collapsedB`))&&this.#h()}#h(){this.collapsedA?this.setAttribute(`data-collapsed-a`,``):this.removeAttribute(`data-collapsed-a`),this.collapsedB?this.setAttribute(`data-collapsed-b`,``):this.removeAttribute(`data-collapsed-b`)}#g(e,n){this.dispatchEvent(new CustomEvent(`ixfx-split-collapsed`,{detail:{panel:e,collapsed:n},bubbles:!0,composed:!0}))}#_(){let e=this.shadowRoot?.querySelector(`slot[name="a"]`);e&&(this.#l=new MutationObserver(()=>{this.#v()}),this.#l.observe(e,{characterData:!0,childList:!0,subtree:!0}),this.#v())}#v(){let e=this.shadowRoot?.querySelector(`slot[name="a"]`);if(!e)return;let n=e.assignedElements(),r=e=>{for(let n of e){if(n.tagName===`IXFX-SPLIT-LAYOUT`)return n;let e=r(Array.from(n.children));if(e)return e}},i=r(n);i?(this.#o=i,this._hasCorner=!0,requestAnimationFrame(()=>this.#E())):(this.#o=void 0,this._hasCorner=!1)}#y(){if(this.#o)return this.#o;let e=this.shadowRoot?.querySelector(`slot[name="a"]`);if(e)return e.assignedElements().find(e=>e.tagName===`IXFX-SPLIT-LAYOUT`)}#b(e,n){return e.endsWith(`px`)?Number.parseFloat(e.replace(`px`,``))/n:e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:.5}#x(e,n){return e.endsWith(`px`)?Number.parseFloat(e.replace(`px`,``)):e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100*n:null}#S(e,n,r){let i=this.#b(e,r),a=this.#b(n,r),o=this.#C(this.minSizeA,r),s=this.#C(this.minSizeB,r),c=this.#w(this.maxSizeA,r),l=this.#w(this.maxSizeB,r);if(o!==null||s!==null){let e=(o??0)+(s??0);if(e>1){let n=1/e;o!==null&&(i=o===null?0:o*n),s!==null&&(a=s===null?0:s*n)}i<(o??0)&&(i=o??0),a<(s??0)&&(a=s??0)}c!==null&&i>c&&(i=c),l!==null&&a>l&&(a=l),a=1-i;let u=!this.sizeA.endsWith(`px`);return this.sizeB.endsWith(`px`),u?{sizeA:`${i*100}%`,sizeB:`${a*100}%`}:{sizeA:`${i*r}px`,sizeB:`${a*r}px`}}#C(e,n){if(e.length===0)return null;let r=this.#x(e,n);return r===null?e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:null:r/n}#w(e,n){if(e.length===0)return null;let r=this.#x(e,n);return r===null?e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:null:r/n}#T(){let e=this.getBoundingClientRect(),n=this.getZone();if(!n)return null;let r=this.#y();if(!r)return null;n.getBoundingClientRect();let i=this.#b(this.sizeA||`50%`,e.width),a,o;if(this.layout===`vertical`&&r.layout===`horizontal`)a=i*e.width,o=this.#b(r.sizeA||`50%`,e.height)*e.height;else if(this.layout===`horizontal`&&r.layout===`vertical`)a=this.#b(r.sizeA||`50%`,e.width)*e.width,o=i*e.height;else return null;return{x:a,y:o}}#E(){if(!this._hasCorner)return;let e=this.shadowRoot?.querySelector(`.corner-zone`);if(!e||!this.getZone())return;let n=this.#T();if(!n){e.style.display=`none`;return}let r=n.x-6,i=n.y-6;e.style.left=`${r}px`,e.style.top=`${i}px`,e.style.display=`block`;let a=this.#y();a&&(this.layout===`vertical`&&a.layout===`horizontal`?e.style.cursor=`nwse-resize`:this.layout===`horizontal`&&a.layout===`vertical`&&(e.style.cursor=`nesw-resize`))}getViewState(e){return this.#m.shape({layout:{a:jM(this.sizeA,this.collapsedA),b:jM(this.sizeB,this.collapsedB)}},e)}setViewState(e){if(!this.#m.accepts(e)||!e.layout)return;let{a:n,b:r}=e.layout;this.#m.restoring(()=>{typeof n?.size==`string`&&(this.sizeA=n.size,this.collapsedA=n.collapsed===!0),typeof r?.size==`string`&&(this.sizeB=r.size,this.collapsedB=r.collapsed===!0),this.#m.notify()})}clearPendingViewState(){}getZone(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector(`#zone`);if(e)return e}#D;#O;#k;#A;#j;#M(){if(!this.#u)return;let{sizeA:e,sizeB:n}=this.#u,r=this.#y();r&&(r.sizeA=`${e*100}%`,r.sizeB=`${n*100}%`),this.#u=null}#N;render(){let e=this.layout===`vertical`?`width`:`height`,n=this.sizeA,r=this.sizeB;return this.collapsedA?n=`0px`:n.length===0&&r.length===0?r=n=`50%`:n.length===0?n=`auto`:r.length===0&&(r=`auto`),this.collapsedB&&(r=`0px`),n=`${e}:${n}`,r=`${e}:${r}`,i`
|
|
13517
|
+
`]}};E([d({type:Object})],$.prototype,`root`,void 0),E([d({attribute:!1})],$.prototype,`model`,void 0),E([d({attribute:!1})],$.prototype,`loadChildren`,void 0),E([d({reflect:!0,attribute:`exclusivity`})],$.prototype,`exclusivity`,void 0),E([d({reflect:!0,attribute:`selection-filter`})],$.prototype,`selectionFilter`,void 0),E([d({type:String,attribute:`interaction-mode`})],$.prototype,`interactionMode`,void 0),E([d({type:String,attribute:`tiling-method`})],$.prototype,`tilingMethod`,void 0),E([d({type:String,attribute:`presentation`})],$.prototype,`presentation`,void 0),E([d({type:Number,attribute:`cascade-offset`})],$.prototype,`cascadeOffset`,void 0),E([d({type:Number,attribute:`max-depth`})],$.prototype,`maxDepth`,void 0),E([d({type:Boolean,attribute:`hide-leaves`})],$.prototype,`hideLeaves`,void 0),E([d({type:Number,attribute:`min-label-area`})],$.prototype,`minLabelArea`,void 0),E([d({type:Number,attribute:`min-tile-width`})],$.prototype,`minTileWidth`,void 0),E([d({type:Number})],$.prototype,`padding`,void 0),E([d({type:Number,attribute:`min-child-area`})],$.prototype,`minChildArea`,void 0),E([d({attribute:!1})],$.prototype,`valueAccessor`,void 0),E([d({attribute:!1})],$.prototype,`categoryAccessor`,void 0),E([d({attribute:!1})],$.prototype,`selectedNode`,void 0),E([m()],$.prototype,`_selectedNodes`,void 0),E([d({attribute:!1})],$.prototype,`filterPredicate`,void 0),E([d({type:Boolean,attribute:`disable-keyboard-navigation`})],$.prototype,`disableKeyboardNavigation`,void 0),E([d({attribute:!1})],$.prototype,`registry`,void 0),E([d({type:String,attribute:`search-modes`,reflect:!0})],$.prototype,`searchModes`,void 0),E([m()],$.prototype,`_zoomKey`,void 0),E([d({attribute:!1})],$.prototype,`restoreLoads`,void 0),$=E([T(`ixfx-treemap-list`)],$);let AM=class extends n{constructor(...e){super(...e),this.layout=`vertical`,this.sizeA=``,this.sizeB=``,this.fixedA=!1,this.fixedB=!1,this.collapsible=!1,this.collapsedA=!1,this.collapsedB=!1,this.minSizeA=``,this.maxSizeA=``,this.minSizeB=``,this.maxSizeB=``,this._hasCorner=!1,this.#t=``,this.#n=``,this.#r=0,this.#i=0,this.#a=``,this.#u=null,this.#p=.1,this.#m=new f_(this,{kind:`twosplit-layout`,capture:()=>this.getViewState()}),this.#D=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.add(`user-resizing`),this.#e=this.getBoundingClientRect(),this.#t=this.sizeA,this.#n=this.sizeB,window.addEventListener(`pointerup`,this.#O),window.addEventListener(`pointermove`,this.#k)},this.#O=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.remove(`user-resizing`),window.removeEventListener(`pointerup`,this.#O),window.removeEventListener(`pointermove`,this.#k),(this.sizeA!==this.#t||this.sizeB!==this.#n)&&this.#m.notify()},this.#k=e=>{let n=this.#e;if(n){if(this.layout===`horizontal`){let r=Ti((e.y-n.y)/n.height);if(this.collapsible&&this.collapsedA){if(r>(this.#d??.05)+this.#p){this.collapsedA=!1,this.#g(`A`,!1),this.#d=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}}else if(this.collapsible&&!this.collapsedA&&r<5/n.height)this.collapsedA=!0,this.#g(`A`,!0),this.sizeA=`0px`,this.sizeB=`100%`,this.#d=r;else if(!this.collapsedA){let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}if(this.collapsible&&this.collapsedB){if(r<(this.#f??.95)-this.#p){this.collapsedB=!1,this.#g(`B`,!1),this.#f=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);this.sizeA=e,this.sizeB=i}}else this.collapsible&&!this.collapsedB&&r>1-5/n.height&&(this.collapsedB=!0,this.#g(`B`,!0),this.sizeA=`100%`,this.sizeB=`0px`,this.#f=r)}else{let r=Ti((e.x-n.x)/n.width);if(this.collapsible&&this.collapsedA){if(r>(this.#d??.05)+this.#p){this.collapsedA=!1,this.#g(`A`,!1),this.#d=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}}else if(this.collapsible&&!this.collapsedA&&r<5/n.width)this.collapsedA=!0,this.#g(`A`,!0),this.sizeA=`0px`,this.sizeB=`100%`,this.#d=r;else if(!this.collapsedA){let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}if(this.collapsible&&this.collapsedB){if(r<(this.#f??.95)-this.#p){this.collapsedB=!1,this.#g(`B`,!1),this.#f=void 0;let{sizeA:e,sizeB:i}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.width);this.sizeA=e,this.sizeB=i}}else this.collapsible&&!this.collapsedB&&r>1-5/n.width&&(this.collapsedB=!0,this.#g(`B`,!0),this.sizeA=`100%`,this.sizeB=`0px`,this.#f=r)}e.preventDefault()}},this.#A=e=>{e.preventDefault(),e.stopPropagation();let n=this.getZone();n&&n.classList.add(`user-resizing`),this.#e=this.getBoundingClientRect(),this.#r=e.clientX,this.#i=e.clientY,this.#t=this.sizeA,this.#n=this.sizeB;let r=this.#y();if(r){this.#a=r.sizeA;let e=r.getBoundingClientRect(),n=r.shadowRoot?.querySelector(`.split-bar`);n&&(this.#s=e,this.#c=n.getBoundingClientRect());let i=r.getZone();i&&i.classList.add(`user-resizing`)}window.addEventListener(`pointerup`,this.#j),window.addEventListener(`pointermove`,this.#N)},this.#j=e=>{e.preventDefault();let n=this.getZone();n&&n.classList.remove(`user-resizing`);let r=this.#y();if(r){let e=r.getZone();e&&e.classList.remove(`user-resizing`),#m in r&&r.sizeA!==this.#a&&r.#m.notify()}window.removeEventListener(`pointerup`,this.#j),window.removeEventListener(`pointermove`,this.#N),(this.sizeA!==this.#t||this.sizeB!==this.#n)&&this.#m.notify()},this.#N=e=>{let n=this.#e,r=this.getZone(),i=this.#y();if(!n||!r||!i)return;let a=r.getBoundingClientRect(),o=e.clientX-a.left,s=e.clientY-a.top;if(this.layout===`vertical`&&i.layout===`horizontal`){let e=o/n.width,r=s/n.height,{sizeA:i,sizeB:a}=this.#S(`${e*100}%`,`${(1-e)*100}%`,n.width);e=this.#b(i,n.width),this.sizeA=i,this.sizeB=a,this.#u={sizeA:r,sizeB:1-r},requestAnimationFrame(()=>this.#M());let c=this.shadowRoot?.querySelector(`.corner-zone`);c&&(c.style.left=`${o-6}px`,c.style.top=`${s-6}px`)}else if(this.layout===`horizontal`&&i.layout===`vertical`){let e=o/n.width,r=s/n.height,{sizeA:i,sizeB:a}=this.#S(`${r*100}%`,`${(1-r)*100}%`,n.height);r=this.#b(i,n.height),this.sizeA=i,this.sizeB=a,this.#u={sizeA:e,sizeB:1-e},requestAnimationFrame(()=>this.#M());let c=this.shadowRoot?.querySelector(`.corner-zone`);c&&(c.style.left=`${o-6}px`,c.style.top=`${s-6}px`)}e.preventDefault()}}get showGrabHandle(){let e=getComputedStyle(this).getPropertyValue(`--handle-size`).trim(),n=Number.parseFloat(e);return!Number.isNaN(n)&&n>3}#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;disconnectedCallback(){super.disconnectedCallback(),this.#l?.disconnect()}firstUpdated(){this.#_()}updated(e){(e.has(`sizeA`)||e.has(`sizeB`)||e.has(`collapsedA`)||e.has(`collapsedB`))&&this.#E(),(e.has(`sizeA`)||e.has(`sizeB`)||e.has(`collapsedA`)||e.has(`collapsedB`))&&this.#h()}#h(){this.collapsedA?this.setAttribute(`data-collapsed-a`,``):this.removeAttribute(`data-collapsed-a`),this.collapsedB?this.setAttribute(`data-collapsed-b`,``):this.removeAttribute(`data-collapsed-b`)}#g(e,n){this.dispatchEvent(new CustomEvent(`ixfx-split-collapsed`,{detail:{panel:e,collapsed:n},bubbles:!0,composed:!0}))}#_(){let e=this.shadowRoot?.querySelector(`slot[name="a"]`);e&&(this.#l=new MutationObserver(()=>{this.#v()}),this.#l.observe(e,{characterData:!0,childList:!0,subtree:!0}),this.#v())}#v(){let e=this.shadowRoot?.querySelector(`slot[name="a"]`);if(!e)return;let n=e.assignedElements(),r=e=>{for(let n of e){if(n.tagName===`IXFX-SPLIT-LAYOUT`)return n;let e=r(Array.from(n.children));if(e)return e}},i=r(n);i?(this.#o=i,this._hasCorner=!0,requestAnimationFrame(()=>this.#E())):(this.#o=void 0,this._hasCorner=!1)}#y(){if(this.#o)return this.#o;let e=this.shadowRoot?.querySelector(`slot[name="a"]`);if(e)return e.assignedElements().find(e=>e.tagName===`IXFX-SPLIT-LAYOUT`)}#b(e,n){return e.endsWith(`px`)?Number.parseFloat(e.replace(`px`,``))/n:e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:.5}#x(e,n){return e.endsWith(`px`)?Number.parseFloat(e.replace(`px`,``)):e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100*n:null}#S(e,n,r){let i=this.#b(e,r),a=this.#b(n,r),o=this.#C(this.minSizeA,r),s=this.#C(this.minSizeB,r),c=this.#w(this.maxSizeA,r),l=this.#w(this.maxSizeB,r);if(o!==null||s!==null){let e=(o??0)+(s??0);if(e>1){let n=1/e;o!==null&&(i=o===null?0:o*n),s!==null&&(a=s===null?0:s*n)}i<(o??0)&&(i=o??0),a<(s??0)&&(a=s??0)}c!==null&&i>c&&(i=c),l!==null&&a>l&&(a=l),a=1-i;let u=!this.sizeA.endsWith(`px`);return this.sizeB.endsWith(`px`),u?{sizeA:`${i*100}%`,sizeB:`${a*100}%`}:{sizeA:`${i*r}px`,sizeB:`${a*r}px`}}#C(e,n){if(e.length===0)return null;let r=this.#x(e,n);return r===null?e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:null:r/n}#w(e,n){if(e.length===0)return null;let r=this.#x(e,n);return r===null?e.endsWith(`%`)?Number.parseFloat(e.replace(`%`,``))/100:null:r/n}#T(){let e=this.getBoundingClientRect(),n=this.getZone();if(!n)return null;let r=this.#y();if(!r)return null;n.getBoundingClientRect();let i=this.#b(this.sizeA||`50%`,e.width),a,o;if(this.layout===`vertical`&&r.layout===`horizontal`)a=i*e.width,o=this.#b(r.sizeA||`50%`,e.height)*e.height;else if(this.layout===`horizontal`&&r.layout===`vertical`)a=this.#b(r.sizeA||`50%`,e.width)*e.width,o=i*e.height;else return null;return{x:a,y:o}}#E(){if(!this._hasCorner)return;let e=this.shadowRoot?.querySelector(`.corner-zone`);if(!e||!this.getZone())return;let n=this.#T();if(!n){e.style.display=`none`;return}let r=n.x-6,i=n.y-6;e.style.left=`${r}px`,e.style.top=`${i}px`,e.style.display=`block`;let a=this.#y();a&&(this.layout===`vertical`&&a.layout===`horizontal`?e.style.cursor=`nwse-resize`:this.layout===`horizontal`&&a.layout===`vertical`&&(e.style.cursor=`nesw-resize`))}getViewState(e){return this.#m.shape({layout:{a:jM(this.sizeA,this.collapsedA),b:jM(this.sizeB,this.collapsedB)}},e)}setViewState(e){if(!this.#m.accepts(e)||!e.layout)return;let{a:n,b:r}=e.layout;this.#m.restoring(()=>{typeof n?.size==`string`&&(this.sizeA=n.size,this.collapsedA=n.collapsed===!0),typeof r?.size==`string`&&(this.sizeB=r.size,this.collapsedB=r.collapsed===!0),this.#m.notify()})}clearPendingViewState(){}getZone(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector(`#zone`);if(e)return e}#D;#O;#k;#A;#j;#M(){if(!this.#u)return;let{sizeA:e,sizeB:n}=this.#u,r=this.#y();r&&(r.sizeA=`${e*100}%`,r.sizeB=`${n*100}%`),this.#u=null}#N;render(){let e=this.layout===`vertical`?`width`:`height`,n=this.sizeA,r=this.sizeB;return this.collapsedA?n=`0px`:n.length===0&&r.length===0?r=n=`50%`:n.length===0?n=`auto`:r.length===0&&(r=`auto`),this.collapsedB&&(r=`0px`),n=`${e}:${n}`,r=`${e}:${r}`,i`
|
|
13510
13518
|
<div id="zone">
|
|
13511
13519
|
<slot style=${n} name="a"></slot>
|
|
13512
13520
|
${this._hasCorner?i`<div class="corner-zone" @pointerdown=${this.#A}></div>`:``}
|
|
@@ -13630,7 +13638,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13630
13638
|
:host([data-collapsed-b]) slot[name="b"] {
|
|
13631
13639
|
display: none;
|
|
13632
13640
|
}
|
|
13633
|
-
`]}};E([d({type:String})],AM.prototype,`layout`,void 0),E([d({type:String})],AM.prototype,`sizeA`,void 0),E([d({type:String})],AM.prototype,`sizeB`,void 0),E([d({type:Boolean})],AM.prototype,`fixedA`,void 0),E([d({type:Boolean})],AM.prototype,`fixedB`,void 0),E([d({type:Boolean})],AM.prototype,`collapsible`,void 0),E([d({type:Boolean,reflect:!0})],AM.prototype,`collapsedA`,void 0),E([d({type:Boolean,reflect:!0})],AM.prototype,`collapsedB`,void 0),E([d({type:String})],AM.prototype,`minSizeA`,void 0),E([d({type:String})],AM.prototype,`maxSizeA`,void 0),E([d({type:String})],AM.prototype,`minSizeB`,void 0),E([d({type:String})],AM.prototype,`maxSizeB`,void 0),E([m()],AM.prototype,`_hasCorner`,void 0),AM=E([T(`ixfx-twosplit-layout`)],AM);function jM(e,n){return n?{size:e,collapsed:n}:{size:e}}function MM(e){return e instanceof HTMLElement&&`checked`in e}function NM(e){if(typeof e==`string`){let n=document.querySelector(e);if(!(n instanceof HTMLElement))throw Error(`Element not found or not HTMLElement: ${e}`);return n}return e}function PM(e,n){let r=NM(e);if(!MM(r))throw Error(`Target element is not a checkbox-like element`);let i=[];for(let e of n){let n=NM(e);MM(n)&&i.push(n)}let a=()=>{if(i.length===0){r.checked=!1,r.indeterminate=!1;return}let e=0,n=0;for(let r of i)r.checked?e++:n++;e>0&&n>0?(r.checked=!1,r.indeterminate=!0):e===i.length?(r.checked=!0,r.indeterminate=!1):(r.checked=!1,r.indeterminate=!1)},o=()=>{a()};for(let e of i)e.addEventListener(`change`,o);return a(),()=>{for(let e of i)e.removeEventListener(`change`,o)}}function FM(e,n,r,i){return i===`linear`?(e-n)/(r-n):Math.log(e/n)/Math.log(r/n)}function IM(e,n,r,i){return i===`linear`?n+e*(r-n):n*(r/n)**e}function LM(e,n,r,i){if(!i||i<=1)return e;let a=(r-n)/i;return Math.round((e-n)/a)*a+n}let RM=class extends
|
|
13641
|
+
`]}};E([d({type:String})],AM.prototype,`layout`,void 0),E([d({type:String})],AM.prototype,`sizeA`,void 0),E([d({type:String})],AM.prototype,`sizeB`,void 0),E([d({type:Boolean})],AM.prototype,`fixedA`,void 0),E([d({type:Boolean})],AM.prototype,`fixedB`,void 0),E([d({type:Boolean})],AM.prototype,`collapsible`,void 0),E([d({type:Boolean,reflect:!0})],AM.prototype,`collapsedA`,void 0),E([d({type:Boolean,reflect:!0})],AM.prototype,`collapsedB`,void 0),E([d({type:String})],AM.prototype,`minSizeA`,void 0),E([d({type:String})],AM.prototype,`maxSizeA`,void 0),E([d({type:String})],AM.prototype,`minSizeB`,void 0),E([d({type:String})],AM.prototype,`maxSizeB`,void 0),E([m()],AM.prototype,`_hasCorner`,void 0),AM=E([T(`ixfx-twosplit-layout`)],AM);function jM(e,n){return n?{size:e,collapsed:n}:{size:e}}function MM(e){return e instanceof HTMLElement&&`checked`in e}function NM(e){if(typeof e==`string`){let n=document.querySelector(e);if(!(n instanceof HTMLElement))throw Error(`Element not found or not HTMLElement: ${e}`);return n}return e}function PM(e,n){let r=NM(e);if(!MM(r))throw Error(`Target element is not a checkbox-like element`);let i=[];for(let e of n){let n=NM(e);MM(n)&&i.push(n)}let a=()=>{if(i.length===0){r.checked=!1,r.indeterminate=!1;return}let e=0,n=0;for(let r of i)r.checked?e++:n++;e>0&&n>0?(r.checked=!1,r.indeterminate=!0):e===i.length?(r.checked=!0,r.indeterminate=!1):(r.checked=!1,r.indeterminate=!1)},o=()=>{a()};for(let e of i)e.addEventListener(`change`,o);return a(),()=>{for(let e of i)e.removeEventListener(`change`,o)}}function FM(e,n,r,i){return i===`linear`?(e-n)/(r-n):Math.log(e/n)/Math.log(r/n)}function IM(e,n,r,i){return i===`linear`?n+e*(r-n):n*(r/n)**e}function LM(e,n,r,i){if(!i||i<=1)return e;let a=(r-n)/i;return Math.round((e-n)/a)*a+n}let RM=class extends mx(n){constructor(...e){super(...e),this.xMin=1,this.xMax=100,this.x=50,this.yMin=1,this.yMax=100,this.y=50,this.xScale=`linear`,this.yScale=`linear`,this.xLabel=`X`,this.yLabel=`Y`,this.showCrosshairs=!1,this.showGrid=!1,this.hideCursor=!1,this.disabled=!1,this._dragging=!1,this._dragStartX=0,this._dragStartY=0,this._pressedKeys=new Set,this._onKeyDown=e=>{if(!this.disabled){if([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key))e.preventDefault(),this._pressedKeys.add(e.key),this._handleKeyboardMove(e.shiftKey);else if(e.key===`Home`||e.key===`End`){e.preventDefault();let n=e.key===`Home`?this.xMin:this.xMax,r=e.key===`Home`?this.yMin:this.yMax;(n!==this.x||r!==this.y)&&(this.x=n,this.y=r,this.dispatchEvent(new CustomEvent(`input`,{detail:{x:this.x,y:this.y},bubbles:!0,composed:!0})))}}},this._onKeyUp=e=>{this._pressedKeys.delete(e.key)},this._handleKeyboardMove=e=>{let n=this.xMax-this.xMin,r=this.yMax-this.yMin,i=this.stopsX??this.stops,a=this.stopsY??this.stops,o=px(n,i,this.stepX,e),s=px(r,a,this.stepY,e),c=this.x,l=this.y;if(this._pressedKeys.has(`ArrowLeft`)&&(c=Math.max(this.xMin,this.x-o)),this._pressedKeys.has(`ArrowRight`)&&(c=Math.min(this.xMax,this.x+o)),this._pressedKeys.has(`ArrowUp`)&&(l=Math.min(this.yMax,this.y+s)),this._pressedKeys.has(`ArrowDown`)&&(l=Math.max(this.yMin,this.y-s)),c!==this.x||l!==this.y){let e=this.xSnapStep&&this.xSnapStep>0?Math.round(c/this.xSnapStep)*this.xSnapStep:c,n=this.ySnapStep&&this.ySnapStep>0?Math.round(l/this.ySnapStep)*this.ySnapStep:l;e=LM(e,this.xMin,this.xMax,i),n=LM(n,this.yMin,this.yMax,a),this.x=e,this.y=n,this.dispatchEvent(new CustomEvent(`input`,{detail:{x:this.x,y:this.y},bubbles:!0,composed:!0}))}},this._onPointerDown=e=>{e.preventDefault();let n=this.renderRoot.querySelector(`.xy-pad-area`);n?.focus(),n&&n.setPointerCapture(e.pointerId),this._dragging=!0,this._dragStartX=this.x,this._dragStartY=this.y,this.setAttribute(`dragging`,``),this._updateFromPointer(e),globalThis.addEventListener(`pointermove`,this._onPointerMove),globalThis.addEventListener(`pointerup`,this._onPointerUp)},this._onPointerMove=e=>{this._dragging&&(e.preventDefault(),this._updateFromPointer(e))},this._onPointerUp=()=>{let e=this.x!==this._dragStartX||this.y!==this._dragStartY;this._dragging=!1,this.removeAttribute(`dragging`),globalThis.removeEventListener(`pointermove`,this._onPointerMove),globalThis.removeEventListener(`pointerup`,this._onPointerUp),e&&this.dispatchEvent(new CustomEvent(`change`,{detail:{x:this.x,y:this.y},bubbles:!0,composed:!0}))}}static{this.styles=[w,un,r`
|
|
13634
13642
|
:host {
|
|
13635
13643
|
display: block;
|
|
13636
13644
|
width: 200px;
|
|
@@ -13744,7 +13752,7 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13744
13752
|
height:100%;
|
|
13745
13753
|
text-align:center;
|
|
13746
13754
|
}
|
|
13747
|
-
`]}_stepYByDelta(e,n){let r=this.yMax-this.yMin,i=this.stopsY??this.stops,a=
|
|
13755
|
+
`]}_stepYByDelta(e,n){let r=this.yMax-this.yMin,i=this.stopsY??this.stops,a=px(r,i,this.stepY,n),o=e===1?Math.min(this.yMax,this.y+a):Math.max(this.yMin,this.y-a);if(o===this.y)return;let s=this.ySnapStep&&this.ySnapStep>0?Math.round(o/this.ySnapStep)*this.ySnapStep:o;s=LM(s,this.yMin,this.yMax,i),s!==this.y&&(this.y=s,this.dispatchEvent(new CustomEvent(`input`,{detail:{x:this.x,y:this.y},bubbles:!0,composed:!0})))}_applyWheelDelta(e,n){this._stepYByDelta(e,n.shiftKey)}_updateFromPointer(e){let n=this.renderRoot.querySelector(`.xy-pad-area`);if(!n)return;let r=n.getBoundingClientRect(),i=Math.max(0,Math.min(1,(e.clientX-r.left)/r.width)),a=Math.max(0,Math.min(1,1-(e.clientY-r.top)/r.height)),o=IM(i,this.xMin,this.xMax,this.xScale),s=IM(a,this.yMin,this.yMax,this.yScale),c=this.xSnapStep&&this.xSnapStep>0?Math.round(o/this.xSnapStep)*this.xSnapStep:o,l=this.ySnapStep&&this.ySnapStep>0?Math.round(s/this.ySnapStep)*this.ySnapStep:s,u=this.stopsX??this.stops,d=this.stopsY??this.stops;c=LM(c,this.xMin,this.xMax,u),l=LM(l,this.yMin,this.yMax,d),this.x=c,this.y=l,this.dispatchEvent(new CustomEvent(`input`,{detail:{x:this.x,y:this.y},bubbles:!0,composed:!0}))}_setPctVars(){let e=Math.max(this.xMin,Math.min(this.xMax,this.x)),n=Math.max(this.yMin,Math.min(this.yMax,this.y)),r=FM(e,this.xMin,this.xMax,this.xScale)*100,i=FM(n,this.yMin,this.yMax,this.yScale)*100;this.style.setProperty(`--x-pct`,`${r}`),this.style.setProperty(`--y-pct`,`${i}`);let a=r-50,o=i-50,s=Math.sqrt(a*a+o*o);this.style.setProperty(`--radius-pct`,`${s}`)}getRelativeX(){return FM(Math.max(this.xMin,Math.min(this.xMax,this.x)),this.xMin,this.xMax,this.xScale)}getRelativeY(){return FM(Math.max(this.yMin,Math.min(this.yMax,this.y)),this.yMin,this.yMax,this.yScale)}getPolar(){let e=this.getRelativeX()-.5,n=this.getRelativeY()-.5,r=Math.sqrt(e*e+n*n)*2,i=Math.atan2(n,e);return i<0&&(i+=2*Math.PI),{radius:r,angle:i}}updated(e){super.updated(e),this._setPctVars()}disconnectedCallback(){super.disconnectedCallback(),this._onPointerUp(),this._pressedKeys.clear()}render(){return i`
|
|
13748
13756
|
<div class="xy-pad-area"
|
|
13749
13757
|
tabindex=${this.disabled?-1:0}
|
|
13750
13758
|
@pointerdown=${this._onPointerDown}
|
|
@@ -13756,4 +13764,4 @@ ixfx-form-options[orientation="vertical"] ixfx-form-part > label {
|
|
|
13756
13764
|
<div class="xy-pad-label-x">${this.xLabel}</div>
|
|
13757
13765
|
<div class="xy-pad-label-y">${this.yLabel}</div>
|
|
13758
13766
|
</div>
|
|
13759
|
-
`}};E([d({type:Number})],RM.prototype,`xMin`,void 0),E([d({type:Number})],RM.prototype,`xMax`,void 0),E([d({type:Number})],RM.prototype,`x`,void 0),E([d({type:Number})],RM.prototype,`yMin`,void 0),E([d({type:Number})],RM.prototype,`yMax`,void 0),E([d({type:Number})],RM.prototype,`y`,void 0),E([d({type:String})],RM.prototype,`xScale`,void 0),E([d({type:String})],RM.prototype,`yScale`,void 0),E([d({type:Number,attribute:`x-snap-step`})],RM.prototype,`xSnapStep`,void 0),E([d({type:Number,attribute:`y-snap-step`})],RM.prototype,`ySnapStep`,void 0),E([d({type:Number,attribute:`step-x`})],RM.prototype,`stepX`,void 0),E([d({type:Number,attribute:`step-y`})],RM.prototype,`stepY`,void 0),E([d({type:String})],RM.prototype,`xLabel`,void 0),E([d({type:String})],RM.prototype,`yLabel`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-crosshairs`})],RM.prototype,`showCrosshairs`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-grid`})],RM.prototype,`showGrid`,void 0),E([d({type:Boolean,reflect:!0,attribute:`hide-cursor`})],RM.prototype,`hideCursor`,void 0),E([d({type:Boolean,reflect:!0})],RM.prototype,`disabled`,void 0),E([d({type:Number})],RM.prototype,`stops`,void 0),E([d({type:Number,attribute:`stops-x`})],RM.prototype,`stopsX`,void 0),E([d({type:Number,attribute:`stops-y`})],RM.prototype,`stopsY`,void 0),RM=E([T(`ixfx-xy-pad`)],RM);function zM(){console.log(`Init`)}export{ke as AcTextElement,qt as AcTokenElement,nn as BottomDrawerElement,fn as ButtonElement,jr as Checkbox,Ur as CheckedSelect,
|
|
13767
|
+
`}};E([d({type:Number})],RM.prototype,`xMin`,void 0),E([d({type:Number})],RM.prototype,`xMax`,void 0),E([d({type:Number})],RM.prototype,`x`,void 0),E([d({type:Number})],RM.prototype,`yMin`,void 0),E([d({type:Number})],RM.prototype,`yMax`,void 0),E([d({type:Number})],RM.prototype,`y`,void 0),E([d({type:String})],RM.prototype,`xScale`,void 0),E([d({type:String})],RM.prototype,`yScale`,void 0),E([d({type:Number,attribute:`x-snap-step`})],RM.prototype,`xSnapStep`,void 0),E([d({type:Number,attribute:`y-snap-step`})],RM.prototype,`ySnapStep`,void 0),E([d({type:Number,attribute:`step-x`})],RM.prototype,`stepX`,void 0),E([d({type:Number,attribute:`step-y`})],RM.prototype,`stepY`,void 0),E([d({type:String})],RM.prototype,`xLabel`,void 0),E([d({type:String})],RM.prototype,`yLabel`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-crosshairs`})],RM.prototype,`showCrosshairs`,void 0),E([d({type:Boolean,reflect:!0,attribute:`show-grid`})],RM.prototype,`showGrid`,void 0),E([d({type:Boolean,reflect:!0,attribute:`hide-cursor`})],RM.prototype,`hideCursor`,void 0),E([d({type:Boolean,reflect:!0})],RM.prototype,`disabled`,void 0),E([d({type:Number})],RM.prototype,`stops`,void 0),E([d({type:Number,attribute:`stops-x`})],RM.prototype,`stopsX`,void 0),E([d({type:Number,attribute:`stops-y`})],RM.prototype,`stopsY`,void 0),RM=E([T(`ixfx-xy-pad`)],RM);function zM(){console.log(`Init`)}export{ke as AcTextElement,qt as AcTokenElement,nn as BottomDrawerElement,fn as ButtonElement,jr as Checkbox,Ur as CheckedSelect,z as ColourPicker,Lg as ColourPickerPopup,B as CrumbNavigationElement,v_ as CrumbPathController,b_ as CrumbPathElement,Nw as DEFAULT_SIBLING_SPACING,je as DataController,x_ as DataDisplayComponent,V as DataGridElement,fv as DataTableElement,H as DetailListElement,Xb as DockHostElement,qb as DockPanelElement,ir as EMPTY_FLAGS,mn as EMPTY_GROUP_LABEL,k as EMPTY_KEYS,ux as EditableLabel,hx as EditableNumber,K as FlatListElement,Ux as FormElement,Px as FormGroupElement,Ix as FormOptionsElement,Rx as FormPartElement,zx as FormRowElement,q as GridListElement,fS as GroupedItemListerElement,Y as HyperbolicTreeListElement,an as ICON_CARET_RIGHT,on as ICON_CHECK,rn as ICON_CHEVRON_DOWN,sn as ICON_CLOSE,X as IcicleTreeListElement,Ot as IncrSearchMillerController,Ot as IncrSearchTreeController,AC as IxfxHexEditorElement,Te as IxfxIconElement,Q as IxfxTimelineElement,jt as KeyedElementIndex,Gn as LIST_ITEM_MOTION_MS,Lt as LIST_SEARCH_COMMAND_IDS,O as LIST_SEARCH_MODES,fE as LabelledRadialInput,Ng as LabelledRangeInput,wE as LabelledSliderInput,TE as LedElement,Wn as ListDragSelectController,Tv as ListGroupHeaderElement,nr as ListNativeDragController,Vt as ListSearchController,gr as ListSelectionController,rr as MAX_PENDING_KEYS,iv as Menu,zE as MillerBaseElement,HE as MillerListElement,UE as MillerTreeController,pD as MulticolListElement,g_ as NarrowedTextElement,MD as NotificationManager,hD as NotificationPillElement,_r as PARTIAL_DESCRIPTION,ov as PanTextElement,uS as PanelElement,LD as PanelGroupElement,$O as PlotDataSeries,xk as PlotHistogram,bk as PlotMultiAxis,Mk as PlotSingleAxis,Nk as PlotXyAxis,Uk as PolarPad,dE as RadialInputElement,pn as RadioGroup,Zk as RangeElement,Kk as RangeInput,Xk as RangeMultiElement,Qk as RatingElement,xr as SCROLL_HOVER_SUPPRESS_ATTR,dA as SUNBURST_PATH_SEPARATOR,$k as SelectHorizElement,nA as ShapefillValueElement,CE as SliderInputElement,sA as SlidingNumberElement,lA as SnackbarElement,uA as SnapContainer,Ar as SplitButton,Db as SplitLayoutElement,Eb as SplitPanelElement,Z as SunburstTreeListElement,cj as SwipeElement,uj as TabController,zb as TabListElement,Kb as TabListItemElement,lj as TabPanelElement,dj as TabPanelsElement,fj as TextShimmerElement,oe as TickledController,pj as TimelineController,zj as TimelineTrackTabElement,$t as TitlebarElement,pM as ToolbarElement,cM as ToolbarGroupElement,ik as TooltipElement,mM as TransitoryLabelElement,J as TreeBaseElement,hM as TreeController,e_ as TreeDataModel,DS as TreeDropController,Cr as TreeKeyboardNavController,$S as TreeListElement,$ as TreemapListElement,AM as TwoSplitLayoutElement,n_ as VIEW_STATE_CHANGE,t_ as VIEW_STATE_VERSION,G as VerticalListElement,f_ as ViewStateController,RM as XyPad,yy as addPanelToStack,c_ as anchorFromRow,Qn as animateListItemIn,tr as animateListItemOut,QO as applyAgeModification,ne as applyHighlights,ew as applyIsometry,br as applyPartialAttributes,sb as applySnapshot,qg as applyTreeDrop,Pj as attachTimelineInteractions,i_ as bindViewState,en as bottomDrawerCommandId,ie as buildHighlightTargets,Xy as buildModel,cr as capFlags,sr as capKeys,Dn as captionForEntry,a_ as captureElementScroll,GC as clampToDisk,re as clearHighlights,gy as collectContainerNames,Rg as collectDataResult,py as collectPanelIds,_y as collectStackPaths,tw as composeIsometry,Fw as computeCanonicalPositions,ZO as computeColour,Bw as computeHyperbolicLayout,HT as computeIcicleLayout,ky as computeLeafGeoms,CA as computeSunburstLayout,CM as computeTreemapLayout,wt as createAcCompletionProvider,kt as createDataListSearchAdapter,Hn as createDefaultListDragPreview,It as createElementIncrSearch,Nt as createElementListSearchAdapter,iy as createEmptyLayout,ry as createEmptyStack,Ct as createFuzzySearch,Et as createIncrSearch,xD as createPillRenderer,Sr as createScrollHoverGuard,oy as createSplit,ay as createStack,eC as createTreeListAdapter,Wt as createTreeListSearchAdapter,xA as createValueResolver,tC as createVerticalListAdapter,ow as decomposeViewIsometry,hn as defaultGroupLabel,fA as defaultSunburstValueAccessor,rb as distribute,Jg as dropTargetFor,YC as euclideanRadiusForHyperbolicDistance,Ty as extractStack,zy as findEmptiedStacks,Ew as findHyperbolicIdOf,Dw as findHyperbolicKeyPath,Ow as findHyperbolicNode,kw as findHyperbolicPath,Tw as findHyperbolicPathById,VT as findIcicleKeyPath,RT as findIcicleNode,zT as findIciclePath,W as findNode,fb as findPanelNode,uy as findParentOf,dy as findStackOf,my as findStackPathByName,yA as findSunburstId,vA as findSunburstNodeById,_M as findTreemapNode,vM as findTreemapPath,ur as flagsFromRecord,dr as flagsToRecord,QC as geodesicInterpolate,cw as geodesicPath,sw as geodesicSegment,mr as gestureOf,ty as getActiveDragPanelId,ye as getIcon,be as getIconEntry,Ce as getIconFont,jy as getLeafNeighbours,xe as hasIcon,Cw as hyperbolicBranchId,xw as hyperbolicChildIds,XC as hyperbolicDistanceForEuclideanRadius,Sw as hyperbolicIdDepth,Rw as hyperbolicRelativeFrame,ge as iconBus,$C as identityIsometry,zM as init,Sy as insertBeside,nw as invertIsometry,ey as isDragging,ww as isHyperbolicDescendantId,hr as isMultiMode,vr as isPartialKey,ny as isSplit,U as isStack,hA as isSunburstAncestorId,r_ as isViewStateful,D as keyForElement,pr as keysAsFlags,fr as keysToArray,qn as listItemFadeKeyframes,Ht as listSearchStyles,JC as mobiusAdd,qC as mobiusFromOrigin,KC as mobiusToOrigin,PM as monitorIndeterminate,Py as moveLeafNodeToEdge,Ny as moveLeafStep,WC as norm,nb as normalise,LT as normaliseValue,sy as normalize,u_ as onUserScrollIntent,PD as panelGapIndex,JO as parseColourScaleAttr,Ly as parseLayout,vn as partitionByGroup,or as partitionFlags,ar as partitionKeys,ZC as poincareDistance,Xv as pointerOverAnyHost,Kn as prefersReducedMotion,db as preserveRestoreWeights,Kg as pruneDraggedDescendants,qO as readBaseColour,ve as registerFontIcon,_e as registerIcon,zt as registerListSearchCommands,by as removePanelFromStack,Ej as resolveCssVars,hj as resolveGrid,_n as resolveGroupKey,BT as resolveIcicleKeyPath,Oy as resolveLeafPath,ib as resolveTracks,o_ as restoreElementScroll,iw as rotationIsometry,yr as sameKeySet,s_ as scrollToOffset,Fy as serializeLayout,xy as setActive,Se as setIconFont,ub as setPanelRestoreWeight,Ry as snapshotNonEmptyStacks,er as startListItemOutAnimation,pA as sunburstChildId,SA as sunburstHasChildren,gA as sunburstIdToPath,_A as sunburstParentId,mA as sunburstPathToId,we as svgToDataUri,My as swapLeaves,C as tickledItemStyles,se as tickledStyles,Rj as timelineStyles,gn as toGroupKey,ab as toSnapshot,yn as toggleInSet,uM as toolbarGapIndex,rw as translationFromOrigin,aw as viewIsometry,pb as walk,lr as withoutFlag,Cy as wrapRoot};
|