@protobase/ui 0.15.4 → 0.15.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,15 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/records-map-CAj21Al1.js","assets/rolldown-runtime-hePW80VL.js","assets/react-Cvdyeg_0.js","assets/jsx-runtime-NZYk81nU.js","assets/record-map-B2mkMEcE.js","assets/react-dom-B-VxWsjA.js","assets/record-map-DBE96hFo.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/records-map-DgtD0cK5.js","assets/rolldown-runtime-hePW80VL.js","assets/react-Cvdyeg_0.js","assets/jsx-runtime-NZYk81nU.js","assets/record-map-CL9bBLic.js","assets/react-dom-B-VxWsjA.js","assets/record-map-DBE96hFo.css"])))=>i.map(i=>d[i]);
2
2
  import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{t as r}from"./react-Cvdyeg_0.js";import{t as i}from"./react-dom-B-VxWsjA.js";import{t as a}from"./jsx-runtime-NZYk81nU.js";var o=t(r(),1),s=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function c(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:s(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var l=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},u=e=>{let t=l(e);return t.charAt(0).toUpperCase()+t.slice(1)},d=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),f={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function p(e){return e!=null}function m(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??f.width,a=e.size??e.height??f.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?d(...c):d(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??f[`stroke-width`])*Number(e.size??e.width??f.width)/Number(t.size??t.width??f.width):t.strokeWidth??f[`stroke-width`];return[`svg`,{...Object.entries(f).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&p(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&p(t.width)&&{[r(`width`)]:t.width},...`height`in t&&p(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function h(e,t={}){return m(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var g=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},_=(0,o.createContext)({}),v=()=>(0,o.useContext)(_),y=(0,o.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:s,className:c=``,children:l,iconNode:u=[],icon:f={node:u,aliases:[],size:24},...p},m)=>{let{size:_=24,strokeWidth:y=2,absoluteStrokeWidth:b=!1,nonScalingStroke:x=!1,color:S=`currentColor`,className:C=``}=v()??{},w=!!l||g(p),[T,E,D=[]]=h(f,{color:e??S,width:n??t??_,height:r??t??_,strokeWidth:i??y,absoluteStrokeWidth:a??b,nonScalingStroke:s??x,className:d(C,c),hasA11yProp:w,attributes:p});return(0,o.createElement)(T,{ref:m,...E},[...D.map(([e,t])=>(0,o.createElement)(e,t)),...Array.isArray(l)?l:[l]])});function b(e,t=[],n=[]){let r=typeof e==`string`?c(e,t,n):e,i=(0,o.forwardRef)(({className:e,...t},n)=>(0,o.createElement)(y,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=u(r.name)),i}var x={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};x.node;var S=b(x),C={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};C.node;var w=b(C),T={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]};T.node;var E=b(T),D={name:`bed`,size:24,node:[[`path`,{d:`M2 4v16`,key:`vw9hq8`}],[`path`,{d:`M2 8h18a2 2 0 0 1 2 2v10`,key:`1dgv2r`}],[`path`,{d:`M2 17h20`,key:`18nfp3`}],[`path`,{d:`M6 8v9`,key:`1yriud`}]]};D.node;var O=b(D),k={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};k.node;var A=b(k),j={name:`book-open`,size:24,node:[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]};j.node;var M=b(j),N={name:`bookmark-check`,size:24,node:[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}],[`path`,{d:`m9 10 2 2 4-4`,key:`1gnqz4`}]]};N.node;var ee=b(N),te={name:`bookmark`,size:24,node:[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]};te.node;var ne=b(te),re={name:`boxes`,size:24,node:[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]};re.node;var ie=b(re),ae={name:`building-complex`,size:24,node:[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]],aliases:[`building-2`]};ae.node;var oe=b(ae),se={name:`calendar`,size:24,node:[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]};se.node;var ce=b(se),le={name:`chart-column`,size:24,node:[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]],aliases:[`bar-chart-3`]};le.node;var ue=b(le),P={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};P.node;var de=b(P),fe={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};fe.node;var pe=b(fe),me={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};me.node;var he=b(me),ge={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};ge.node;var _e=b(ge),ve={name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]};ve.node;var ye=b(ve),be={name:`circle-arrow-up`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]],aliases:[`arrow-up-circle`]};be.node;var xe=b(be),Se={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Se.node;var Ce=b(Se),we={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};we.node;var Te=b(we),Ee={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};Ee.node;var De=b(Ee),Oe={name:`columns-3`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]],aliases:[`panels-left-right`]};Oe.node;var ke=b(Oe),Ae={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};Ae.node;var je=b(Ae),Me={name:`credit-card`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}],[`path`,{d:`M6 14h2`,key:`mk7k0u`}]]};Me.node;var Ne=b(Me),Pe={name:`download`,size:24,node:[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]};Pe.node;var Fe=b(Pe),Ie={name:`earth`,size:24,node:[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],aliases:[`globe-2`]};Ie.node;var Le=b(Ie),Re={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};Re.node;var ze=b(Re),Be={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};Be.node;var Ve=b(Be),He={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};He.node;var Ue=b(He),We={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};We.node;var eee=b(We),Ge={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};Ge.node;var Ke=b(Ge),qe={name:`file-text`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]};qe.node;var Je=b(qe),Ye={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};Ye.node;var Xe=b(Ye),Ze={name:`heart`,size:24,node:[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}]]};Ze.node;var Qe=b(Ze),$e={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};$e.node;var et=b($e),tt={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};tt.node;var nt=b(tt),rt={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};rt.node;var tee=b(rt),it={name:`life-buoy`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m4.93 4.93 4.24 4.24`,key:`1ymg45`}],[`path`,{d:`m14.83 9.17 4.24-4.24`,key:`1cb5xl`}],[`path`,{d:`m14.83 14.83 4.24 4.24`,key:`q42g0n`}],[`path`,{d:`m9.17 14.83-4.24 4.24`,key:`bqpfvv`}],[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}]]};it.node;var at=b(it),ot={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};ot.node;var st=b(ot),ct={name:`list`,size:24,node:[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]};ct.node;var lt=b(ct),ut={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};ut.node;var dt=b(ut),ft={name:`lock`,size:24,node:[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]};ft.node;var nee=b(ft),pt={name:`log-in`,size:24,node:[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]};pt.node;var mt=b(pt),ht={name:`log-out`,size:24,node:[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]};ht.node;var gt=b(ht),_t={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};_t.node;var vt=b(_t),yt={name:`map`,size:24,node:[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]};yt.node;var bt=b(yt),xt={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};xt.node;var St=b(xt),Ct={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};Ct.node;var wt=b(Ct),Tt={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};Tt.node;var Et=b(Tt),Dt={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]};Dt.node;var Ot=b(Dt),kt={name:`network`,size:24,node:[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]};kt.node;var ree=b(kt),At={name:`package`,size:24,node:[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]};At.node;var jt=b(At),Mt={name:`paperclip`,size:24,node:[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]};Mt.node;var Nt=b(Mt),Pt={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};Pt.node;var Ft=b(Pt),It={name:`puzzle`,size:24,node:[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]};It.node;var Lt=b(It),Rt={name:`receipt`,size:24,node:[[`path`,{d:`M12 17V7`,key:`pyj7ub`}],[`path`,{d:`M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8`,key:`1elt7d`}],[`path`,{d:`M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z`,key:`ycz6yz`}]]};Rt.node;var zt=b(Rt),Bt={name:`ruler-dimension-line`,size:24,node:[[`path`,{d:`M10 15v-3`,key:`1pjskw`}],[`path`,{d:`M14 15v-3`,key:`1o1mqj`}],[`path`,{d:`M18 15v-3`,key:`cws6he`}],[`path`,{d:`M2 8V4`,key:`3jv1jz`}],[`path`,{d:`M22 6H2`,key:`1iqbfk`}],[`path`,{d:`M22 8V4`,key:`16f4ou`}],[`path`,{d:`M6 15v-3`,key:`1ij1qe`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`,key:`1tqiko`}]]};Bt.node;var Vt=b(Bt),Ht={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};Ht.node;var Ut=b(Ht),Wt={name:`send-horizontal`,size:24,node:[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]],aliases:[`send-horizonal`]};Wt.node;var Gt=b(Wt),Kt={name:`send`,size:24,node:[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]};Kt.node;var qt=b(Kt),Jt={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Jt.node;var Yt=b(Jt),Xt={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};Xt.node;var Zt=b(Xt),Qt={name:`shopping-cart`,size:24,node:[[`path`,{d:`m2.05 2.05 1.099-.028a1 1 0 0 1 1.008.815l2.69 14.347A1 1 0 0 0 7.83 18H18`,key:`uebgi3`}],[`path`,{d:`M4.563 5h16.435a1 1 0 0 1 .981 1.204l-1.026 6.226A2 2 0 0 1 18.962 14H6.25`,key:`1j7c9p`}],[`circle`,{cx:`18`,cy:`20`,r:`2`,key:`t9985n`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]};Qt.node;var $t=b(Qt),en={name:`sliders-horizontal`,size:24,node:[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]};en.node;var tn=b(en),nn={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};nn.node;var rn=b(nn),an={name:`square-kanban`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 7v7`,key:`1x2jlm`}],[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M16 7v9`,key:`1hp2iy`}]],aliases:[`kanban-square`]};an.node;var on=b(an),sn={name:`sun-moon`,size:24,node:[[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715`,key:`xlf6rm`}],[`path`,{d:`M16 12a4 4 0 0 0-4-4`,key:`6vsxu`}],[`path`,{d:`m19 5-1.256 1.256`,key:`1yg6a6`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}]]};sn.node;var cn=b(sn),ln={name:`sun`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]};ln.node;var un=b(ln),dn={name:`table-2`,size:24,node:[[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]};dn.node;var fn=b(dn),pn={name:`tags`,size:24,node:[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`,key:`16rjxf`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`,key:`178nd4`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`12ikhr`}]]};pn.node;var mn=b(pn),hn={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};hn.node;var gn=b(hn),_n={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};_n.node;var vn=b(_n),yn={name:`truck`,size:24,node:[[`path`,{d:`M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2`,key:`wrbu53`}],[`path`,{d:`M15 18H9`,key:`1lyqi6`}],[`path`,{d:`M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14`,key:`lysw3i`}],[`circle`,{cx:`17`,cy:`18`,r:`2`,key:`332jqn`}],[`circle`,{cx:`7`,cy:`18`,r:`2`,key:`19iecd`}]]};yn.node;var bn=b(yn),xn={name:`upload`,size:24,node:[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]};xn.node;var Sn=b(xn),Cn={name:`user-round-cog`,size:24,node:[[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`M2 21a8 8 0 0 1 10.434-7.62`,key:`1yezr2`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]],aliases:[`user-cog-2`]};Cn.node;var wn=b(Cn),Tn={name:`users`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]};Tn.node;var En=b(Tn),Dn={name:`wallet`,size:24,node:[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`,key:`18etb6`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`,key:`xoc0q4`}]]};Dn.node;var iee=b(Dn),On={name:`warehouse`,size:24,node:[[`path`,{d:`M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11`,key:`pb2vm6`}],[`path`,{d:`M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z`,key:`doq5xv`}],[`path`,{d:`M6 13h12`,key:`yf64js`}],[`path`,{d:`M6 17h12`,key:`1jwigz`}]]};On.node;var kn=b(On),An={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};An.node;var jn=b(An),Mn={name:`zap`,size:24,node:[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]};Mn.node;var Nn=b(Mn),Pn=t(i()),Fn=`/-/account`,In=`/-/sign-in-policy`,Ln=(e,t,n)=>[{id:`account-security`,label:`Sign-in & security`,icon:et,href:`${e}${Fn}`,active:t===Fn},...n?[{id:`sign-in-policy`,label:`Sign-in policy`,icon:Zt,href:`${e}${In}`,active:t===In}]:[]],Rn=(e,t,n,r)=>({code:e,message:t,hint:n,span:r}),zn=(e,t)=>{let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++){let o=e[r-1]===t[a-1]?0:1;i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+o)}n=i}return n[t.length]},Bn=(e,t)=>{let n=e.toLowerCase(),r=t.map(e=>({candidate:e,score:zn(n,e.toLowerCase())})).sort((e,t)=>e.score-t.score)[0];return r&&r.score<=Math.max(2,Math.floor(e.length/3))?r.candidate:void 0},Vn=(e,t)=>({start:e.start,end:t.end}),Hn=(e,t)=>t===2?e%4==0&&(e%100!=0||e%400==0)?29:28:[4,6,9,11].includes(t)?30:31,Un=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[n,r,i]=[Number(t[1]),Number(t[2]),Number(t[3])];return r>=1&&r<=12&&i>=1&&i<=Hn(n,r)},Wn=e=>{let t=/^(\d{4}-\d{2}-\d{2})[Tt](\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:[Zz]|[+-](\d{2}):(\d{2}))$/.exec(e);if(!t)return!1;let[n,r,i]=[Number(t[2]),Number(t[3]),Number(t[4])],[a,o]=[Number(t[5]??0),Number(t[6]??0)];return Un(t[1])&&n<=23&&r<=59&&i<=59&&a<=23&&o<=59},Gn={s:1,m:60,h:3600,d:86400,w:604800},Kn=e=>Wn(e)?Date.parse(e.toUpperCase()):void 0,qn=/^(\d+(?:\.\d+)?)(s|m|h|d|w)$/,Jn=e=>{let t=qn.exec(e);return t?Number(t[1])*Gn[t[2]]:void 0},Yn=/\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})/y,Xn=/\d{4}-\d{2}-\d{2}/y,Zn=/[TtZz0-9:.+-]*/y,Qn=/0[xX][0-9a-fA-F]+/y,$n=/\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y,er=(e,t,n)=>(e.lastIndex=n,e.exec(t)?.[0]),tr=(e,t,n,r)=>{let i=er(Yn,e,t);if(i&&Wn(i))return{kind:`timestamp`,end:t+i.length};if(i||er(Xn,e,t)){let n=t+(er(Zn,e,t)??``).length;return{kind:`error`,end:n,error:Rn(`invalid-timestamp`,`"${e.slice(t,n)}" is not a valid RFC-3339 timestamp`,`Use a full timestamp like 2012-04-21T11:30:00Z, or quote a plain date: "2012-04-21"`,{start:t,end:n})}}let a=er(Qn,e,t);if(a)return n(e[t+a.length])?{kind:`number`,end:t+a.length}:void 0;let o=t+er($n,e,t).length;return(r.durationUnits?`smhdw`:`s`).includes(e[o]??` `)&&n(e[o+1])?{kind:`duration`,end:o+1}:n(e[o])?{kind:`number`,end:o}:void 0},nr={a:`\x07`,b:`\b`,f:`\f`,n:`
3
3
  `,r:`\r`,t:` `,v:`\v`,"'":`'`,'"':`"`,"\\":`\\`,"?":`?`,"`":"`"},rr=(e,t,n)=>{let r=e.slice(t,t+n);return r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):void 0},ir=(e,t)=>{let n=e[t+1];if(n===void 0)return{error:`a backslash at the end`,end:t+1};if(Object.hasOwn(nr,n))return{text:nr[n],end:t+2};let r={x:2,u:4,U:8};if(Object.hasOwn(r,n)){let i=rr(e,t+2,r[n]),a=t+2+r[n];return i!==void 0&&i<=1114111&&!(i>=55296&&i<=57343)?{text:String.fromCodePoint(i),end:a}:{error:`\\${n} needs ${r[n]} hex digits naming a Unicode scalar value`,end:t+2}}let i=/^[0-3][0-7]{2}/.exec(e.slice(t+1,t+4));return i?{text:String.fromCharCode(parseInt(i[0],8)),end:t+4}:{error:`the escape "\\${n}"`,end:t+2}},ar=(e,t)=>{let n=e[t],r=[],i=``,a=t+1;for(;a<e.length;){let t=e[a];if(t===n)return{end:a+1,value:i,errors:r};if(t!==`\\`){i+=t,a++;continue}let o=ir(e,a);`text`in o?i+=o.text:r.push(Rn(`invalid-escape`,`Invalid escape: ${o.error}`,`Valid escapes: \\a \\b \\f \\n \\r \\t \\v \\' \\" \\\\ \\? \\\` \\xHH \\uXXXX \\UXXXXXXXX \\ooo`,{start:a,end:o.end})),a=o.end}return r.push(Rn(`unterminated-string`,`String is missing its closing quote`,`Add a closing ${n}`,{start:t,end:e.length})),{end:e.length,value:void 0,errors:r}},or={"(":`lparen`,")":`rparen`,",":`comma`,".":`dot`,":":`has`,"=":`eq`,"<":`lt`,">":`gt`,"-":`minus`},sr={AND:`and`,OR:`or`,NOT:`not`},cr=e=>{let[t,n,r]=[e.at(-1),e.at(-2),e.at(-3)];return t?.kind===`rparen`&&n?.kind===`lparen`&&r?.text===`now`},lr=(e,t={})=>{let n=[],r=[],i=e=>e!==void 0&&(e in or||e===`!`||t.arithmetic===!0&&e===`+`),a=e=>e===void 0||/\s/.test(e)||i(e)||e===`"`||e===`'`,o=(t,r,i,a=e.slice(r,i))=>n.push({kind:t,text:e.slice(r,i),value:a,span:{start:r,end:i}}),s=e.isWellFormed()?-1:e.search(/[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/);s>=0&&r.push(Rn(`invalid-unicode`,`The filter contains an unpaired surrogate`,`Use well-formed UTF-16 text`,{start:s,end:s+1}));let c=0;for(;c<e.length;){let i=e[c];if(/\s/.test(i)){c++;continue}if(i===`"`||i===`'`){let t=ar(e,c);r.push(...t.errors),t.value!==void 0&&o(`string`,c,t.end,t.value),c=t.end;continue}if(/[0-9]/.test(i)){let n=tr(e,c,a,t);if(n?.kind===`error`?r.push(n.error):n&&o(n.kind,c,n.end),n){c=n.end;continue}}if(i===`!`||i===`<`||i===`>`){let t=e[c+1]===`=`;if(i===`!`&&!t){r.push(Rn(`unexpected-character`,`Unexpected character "!"`,`Use != for "not equal" or NOT / - for negation`,{start:c,end:c+1})),c++;continue}o(i===`!`?`ne`:i===`<`?t?`le`:`lt`:t?`ge`:`gt`,c,c+(t?2:1)),c+=t?2:1;continue}if(Object.hasOwn(or,i)){o(or[i],c,c+1),c++;continue}let s=t.arithmetic===`now-offset`&&cr(n);if(i===`+`&&(t.arithmetic===!0||s)){o(`plus`,c,c+1),c++;continue}let l=c+1;for(;!a(e[l]);)l++;let u=e.slice(c,l);o(Object.hasOwn(sr,u)?sr[u]:`text`,c,l),c=l}return o(`eof`,e.length,e.length),{tokens:n,errors:r}},ur=class extends Error{error;constructor(e){super(e.message),this.error=e}},dr=(e,t,n,r)=>{throw new ur(Rn(e,t,n,r))},F=(e,t=0)=>e.tokens[Math.min(e.pos+t,e.tokens.length-1)],fr=e=>{let t=F(e);return t.kind!==`eof`&&e.pos++,t},pr=(e,t)=>F(e).kind===t?fr(e):void 0,mr=e=>e.kind===`eof`?`end of input`:`"${e.text}"`,hr=(e,t,n,r)=>pr(e,t)??dr(`expected-token`,`Expected ${n} but found ${mr(F(e))}`,r,F(e).span),gr=(e,t,n)=>{e.depth>=e.maxDepth&&dr(`too-deep`,`The filter is nested too deeply`,`Nest at most ${e.maxDepth} levels`,t),e.depth++;try{return n()}finally{e.depth--}},_r=[`text`,`and`,`or`,`not`],vr=e=>{let t=hr(e,`text`,`a field name or value`,`Text may not contain spaces or the characters ( ) - . = : < > ! ,`),n=[t.text],r=t.span;for(;F(e).kind===`dot`;){let t=F(e,1),i=t.kind===`number`&&/^\d+(\.\d+)?$/.test(t.text);!_r.includes(t.kind)&&!i&&dr(`expected-token`,`Expected a field name after "." but found ${mr(t)}`,`Write traversals like customer.country`,t.span),fr(e),fr(e),n.push(...i?t.text.split(`.`):[t.text]),r=Vn(r,t.span)}return{kind:`member`,path:n,span:r}},aee=e=>({kind:`duration`,amount:Number(e.text.slice(0,-1)),unit:e.text.slice(-1),span:e.span}),oee=[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`],yr=e=>oee.includes(e.kind),see=(e,t,n)=>gr(e,n,()=>{fr(e);let r=[];if(F(e).kind!==`rparen`)do r.push(Sr(e));while(pr(e,`comma`));return{kind:`call`,name:t,args:r,span:Vn(n,hr(e,`rparen`,`")"`,`Close the call to ${t}() with ")"`).span)}}),br=e=>{let t=F(e);switch(t.kind){case`string`:return fr(e),{kind:`string`,value:t.value,span:t.span};case`number`:return fr(e),{kind:`number`,value:Number(t.text),raw:t.text,span:t.span};case`duration`:return fr(e),aee(t);case`timestamp`:return fr(e),{kind:`timestamp`,value:t.text,span:t.span};case`minus`:{let n=F(e,1);(n.kind!==`number`||n.span.start!==t.span.end)&&dr(`unexpected-token`,`Expected a number after "-" but found ${mr(n)}`,`Write negative numbers as -5, without a space`,n.span),fr(e),fr(e);let r=`-${n.text}`;return{kind:`number`,value:-Number(n.text),raw:r,span:Vn(t.span,n.span)}}case`text`:{if((t.text===`true`||t.text===`false`)&&F(e,1).kind!==`dot`&&(F(e,1).kind!==`lparen`||F(e,1).span.start!==t.span.end))return fr(e),{kind:`boolean`,value:t.text===`true`,span:t.span};let n=vr(e);return F(e).kind===`lparen`&&F(e).span.start===n.span.end?see(e,n.path.join(`.`),n.span):n}default:return dr(`unexpected-token`,`Expected a value but found ${mr(t)}`,`Values are text, "strings", numbers, true/false, durations, timestamps or function calls`,t.span)}},cee=e=>{let t=fr(e);return gr(e,t.span,()=>{let n=e.expression(e);return hr(e,`rparen`,`")"`,`Close the group opened here`),n?n.kind===`global`?n.value:n:dr(`unexpected-token`,`Empty group`,`Put an expression inside the parentheses`,t.span)})},xr=e=>F(e).kind===`lparen`?cee(e):br(e),lee=e=>[`text`,`string`,`number`,`duration`,`timestamp`,`lparen`,`minus`].includes(F(e,1).kind),Sr=e=>{let t=xr(e);if(!e.extensions.arithmetic||!yr(t))return t;let n=t,r=e.extensions.arithmetic===`now-offset`,i=()=>n.kind===`call`&&n.name===`now`&&n.args.length===0,a=()=>!r||i()&&F(e,1).kind===`duration`;if(r&&i()&&(F(e).kind===`plus`||F(e).kind===`minus`)&&F(e,1).kind!==`duration`)return dr(`expected-token`,`Expected a duration after "${F(e).text}" but found ${mr(F(e,1))}`,`Durations need a unit, for example now() - 30d`,F(e,1).span);for(;(F(e).kind===`plus`||F(e).kind===`minus`)&&lee(e)&&a();){let t=fr(e).kind===`plus`?`+`:`-`,r=xr(e);if(!yr(r))return dr(`unexpected-token`,`Arithmetic needs values, not conditions`,`Use values on both sides of + and -`,r.span);n={kind:`binary`,op:t,left:n,right:r,span:Vn(n.span,r.span)}}return n},Cr=e=>{let t=F(e),n=Sr(e);return yr(n)||dr(`unexpected-token`,`A comparison needs a value on the right`,`Write field = value`,t.span),n},uee={eq:`=`,ne:`!=`,lt:`<`,le:`<=`,gt:`>`,ge:`>=`},wr=[`text`,`string`,`number`,`duration`,`timestamp`,`not`,`minus`,`lparen`],Tr=(e,t)=>{let n=t.filter(e=>e!==void 0);return n.length<=1?n[0]:{kind:e,args:n,span:Vn(n[0].span,n[n.length-1].span)}},Er=e=>{let t=0;for(;;){let{kind:n}=F(e);if(n===`eof`||t===0&&(n===`and`||n===`or`||n===`rparen`))return;n===`lparen`&&t++,n===`rparen`&&t--,fr(e)}},Dr=e=>{let t=br(e),n=F(e);if(n.kind===`has`){fr(e);let n=F(e);if(n.kind===`text`&&n.text===`*`)return fr(e),{kind:`present`,left:t,span:Vn(t.span,n.span)};let r=Cr(e);return{kind:`has`,left:t,right:r,span:Vn(t.span,r.span)}}let r=uee[n.kind];if(r){fr(e);let n=Cr(e);return{kind:`compare`,op:r,left:t,right:n,span:Vn(t.span,n.span)}}return t.kind===`call`?t:{kind:`global`,value:t,span:t.span}},Or=e=>{let t=F(e);return t.kind===`lparen`?(fr(e),gr(e,t.span,()=>{let n=Nr(e);return pr(e,`rparen`)||e.errors.push(Rn(`expected-token`,`Expected ")" but found ${mr(F(e))}`,`Close the group opened here`,t.span)),n})):Dr(e)},kr=e=>{let t=F(e);if(t.kind!==`not`&&t.kind!==`minus`)return wr.includes(t.kind)?gr(e,t.span,()=>Or(e)):dr(`unexpected-token`,`Unexpected ${mr(t)}`,`Expected a field, a value or "("`,t.span);fr(e);let n=F(e),r=n.kind===`minus`&&F(e,1).kind===`number`&&F(e,1).span.start===n.span.end;(n.kind===`not`||n.kind===`minus`&&!r)&&dr(`unexpected-token`,`Negations cannot be stacked`,`Group the inner one: NOT (NOT a)`,n.span);let i=gr(e,t.span,()=>Or(e));if(!i)return;let a=Vn(t.span,i.span);if(t.kind===`minus`&&i.kind===`global`&&i.value.kind===`number`&&!i.value.raw.startsWith(`-`)){let{raw:e,value:t}=i.value;return{kind:`global`,value:{kind:`number`,value:-t,raw:`-${e}`,span:a},span:a}}return{kind:`not`,arg:i,span:a}},Ar=e=>{try{return kr(e)}catch(t){if(!(t instanceof ur))throw t;e.errors.push(t.error),Er(e);return}},jr=e=>{let t=[Ar(e)];for(;pr(e,`or`);)t.push(Ar(e));return Tr(`or`,t)},Mr=e=>{let t=[jr(e)];for(;wr.includes(F(e).kind);)t.push(jr(e));return Tr(`sequence`,t)},Nr=e=>{let t=[Mr(e)];for(;pr(e,`and`);)t.push(Mr(e));return Tr(`and`,t)},Pr=(e,t={})=>{let n=t.maxLength??1e4;if(e.length>n)return{ok:!1,ast:void 0,errors:[Rn(`too-long`,`The filter is longer than ${n} characters`,`Shorten the filter`,{start:n,end:e.length})]};let r=t.extensions??{},i=lr(e,r),a={tokens:i.tokens,pos:0,errors:i.errors,depth:0,maxDepth:t.maxDepth??64,extensions:r,expression:Nr},o=[];for(;F(a).kind!==`eof`;){if(F(a).kind===`rparen`){let e=fr(a);a.errors.push(Rn(`unexpected-token`,`Unmatched ")"`,`Remove it or add a matching "("`,e.span));continue}o.push(Nr(a))}let s=o.filter(e=>e!==void 0),c=s.length<=1?s[0]:{kind:`and`,args:s,span:{start:s[0].span.start,end:s[s.length-1].span.end}},l=[...a.errors].sort((e,t)=>e.span.start-t.span.start);return l.length===0?{ok:!0,ast:c,errors:[]}:{ok:!1,ast:c,errors:l}},Fr=(e,t)=>{if(Object.hasOwn(e,t))return{name:t,spec:e[t]};let n=Object.entries(e).find(([,e])=>e.aliases?.includes(t));return n&&{name:n[0],spec:n[1]}},Ir=(e,t)=>{let n=t.path[0],r=Fr(e.schema.fields,n);if(!r){let r=Object.entries(e.schema.fields).filter(([,e])=>e.filterable!==!1).map(([e])=>e),i=Bn(n,r);e.errors.push(Rn(`unknown-field`,`Unknown field "${n}"`,i?`Did you mean "${i}"?`:`Available fields: ${r.join(`, `)}`,t.span));return}let i=[r.name],a=r.spec,o=a.filterable!==!1;for(let n of t.path.slice(1)){let r=a.type===`message`?a.fields?.[n]:a.type===`map`?a.value:a.type===`any`?a:void 0;if(!r||a.type===`message`&&!Object.hasOwn(a.fields??{},n)){e.errors.push(Rn(`invalid-traversal`,`Cannot traverse into "${n}" of "${i.join(`.`)}"`,a.type===`message`?`Available fields: ${Object.keys(a.fields??{}).join(`, `)}`:`Only message, map and any fields can be traversed`,t.span));return}i.push(n),a=r,o&&=a.filterable!==!1}if(!o){e.errors.push(Rn(`not-filterable`,`Field "${i.join(`.`)}" cannot be filtered on`,`Mark it filterable in the schema`,t.span));return}return{...t,path:i,field:{name:i.join(`.`),spec:a}}},Lr=(e,t)=>({message:e,hint:t}),Rr=(e,t)=>Lr(`Expected ${e}`,t),zr=e=>e.kind===`string`?e.value:e.kind===`member`?e.path.join(`.`):void 0,Br={integer:/^-?(\d+|0[xX][0-9a-fA-F]+)$/,number:/^-?\d+(\.\d+)?([eE][+-]?\d+)?$|^-?0[xX][0-9a-fA-F]+$/},Vr=(e,t)=>e===t||e===`any`||t===`any`||[`integer`,`number`].includes(e)&&[`integer`,`number`].includes(t),Hr=(e,t,n)=>{let r=zr(n);switch(e){case`any`:return;case`string`:return r===void 0?Rr(`a string`,`Quote text values: "..."`):void 0;case`enum`:return r!==void 0&&t?.values?.includes(r)?void 0:Lr(`Invalid enum value`,`Allowed values: ${(t?.values??[]).join(`, `)}`);case`integer`:case`number`:{let t=n.kind===`number`?n.raw:r;return t!==void 0&&Br[e].test(t)?void 0:Rr(e===`integer`?`an integer`:`a number`,`Write 42, -1.5 or 2.5e3, or quote a numeric string`)}case`boolean`:return n.kind===`boolean`||r===`true`||r===`false`?void 0:Rr(`true or false`,`Write true or false`);case`timestamp`:return n.kind===`timestamp`||r!==void 0&&Wn(r)?void 0:Rr(`an RFC-3339 timestamp`,`Use "2012-04-21T11:30:00Z"`);case`duration`:return n.kind===`duration`||r!==void 0&&Jn(r)!==void 0?void 0:Rr(`a duration`,`Use a number with a unit, for example 20s or 1.5s`);case`map`:case`message`:return Lr(`${e} fields cannot be compared`,`Compare a nested field, or use field:key`)}},Ur=e=>[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`].includes(e.kind),Wr=(e,t,n,r)=>{if(!Ur(n)){e.errors.push(Rn(`wrong-argument`,`Argument "${t.name}" must be a value`,`Pass a field, literal or function call`,n.span));return}if(t.type===`field`){if(n.kind!==`member`){e.errors.push(Rn(`wrong-argument`,`Argument "${t.name}" must be a field`,`Pass a field name without quotes`,n.span));return}let r=Ir(e,n);if(r&&t.of&&!t.of.includes(r.field.spec.type)){e.errors.push(Rn(`wrong-argument`,`Argument "${t.name}" cannot be a ${r.field.spec.type} field`,`Accepted field types: ${t.of.join(`, `)}`,n.span));return}return r}let i=r(e,n);if(!i)return;if(t.type===`any`)return i.node;let a=i.type&&(n.kind===`call`||n.kind===`binary`)?Vr(t.type,i.type)?void 0:{message:`Expected ${t.type}`,hint:`Argument "${t.name}" is ${i.type}`}:Hr(t.type,void 0,i.node);return a&&e.errors.push(Rn(`wrong-argument`,a.message,a.hint,n.span)),a?void 0:i.node},Gr=(e,t,n)=>{let r=e.schema.functions??{};if(!Object.hasOwn(r,t.name)){let n=Bn(t.name,Object.keys(r));e.errors.push(Rn(`unknown-function`,`Unknown function "${t.name}"`,n?`Did you mean "${n}"?`:`Available functions: ${Object.keys(r).join(`, `)||`none`}`,t.span));return}let i=r[t.name],a=i.params.length;if(t.args.length<a||!i.rest&&t.args.length>a){let n=i.rest?`at least ${a}`:String(a);e.errors.push(Rn(`wrong-arity`,`${t.name}() takes ${n} argument(s) but got ${t.args.length}`,`Usage: ${t.name}(${[...i.params,...i.rest?[i.rest]:[]].map(e=>e.name).join(`, `)})`,t.span));return}let o=t.args.map((t,r)=>Wr(e,i.params[r]??i.rest,t,n));if(!o.some(e=>e===void 0))return{call:{...t,args:o},returns:i.returns??`boolean`}},Kr=(e,t,n)=>{if(e===`timestamp`&&t===`duration`)return`timestamp`;if(e===`timestamp`&&t===`timestamp`&&n===`-`||e===`duration`&&t===`duration`)return`duration`;if((e===`integer`||e===`number`)&&(t===`integer`||t===`number`))return e===`integer`&&t===`integer`?`integer`:`number`},qr={number:`number`,boolean:`boolean`,duration:`duration`,timestamp:`timestamp`},Jr=(e,t)=>{switch(t.kind){case`call`:{let n=Gr(e,t,Jr);return n&&{node:n.call,type:n.returns}}case`binary`:{let n=Jr(e,t.left),r=Jr(e,t.right);if(!n||!r)return;let i=n.type&&r.type?Kr(n.type,r.type,t.op):n.type??r.type??`number`;if(!i){e.errors.push(Rn(`invalid-value`,`Cannot apply "${t.op}" to ${n.type} and ${r.type}`,`Add a duration to a timestamp, or combine numbers`,t.span));return}return{node:{...t,left:n.node,right:r.node},type:i}}case`number`:case`boolean`:case`duration`:case`timestamp`:return{node:t,type:qr[t.kind]};default:return{node:t,type:void 0}}},Yr=[`string`,`integer`,`number`,`timestamp`,`duration`,`any`],Xr=(e,t)=>{if(t.kind===`member`){let n=Ir(e,t);return n&&{node:n,type:n.field.spec.type,spec:n.field.spec}}let n=Jr(e,t);return n&&{...n,spec:void 0}},Zr=(e,t,n,r)=>{e.errors.push(Rn(`operator-not-allowed`,t,n,r.span))},Qr=(e,t,n)=>{if(!t.type)return Jr(e,n)?.node;let r=Jr(e,n);if(!r)return;let i=r.type&&(n.kind===`call`||n.kind===`binary`)?Vr(t.type,r.type)?void 0:{message:`Expected ${t.type} but got ${r.type}`,hint:`Compare values of the same type`}:Hr(t.type,t.spec,r.node);return i&&e.errors.push(Rn(`invalid-value`,i.message,i.hint,n.span)),i?void 0:r.node},$r=(e,t)=>{let n=Xr(e,t.left);if(!n)return;let r=n.type;if(n.spec?.repeated)return Zr(e,`"${t.op}" is not supported on repeated fields`,`Use field:value to test membership`,t);if(r===`map`||r===`message`)return Zr(e,`${r} fields cannot be compared`,`Use field:key, or compare a nested field`,t);if(r&&![`=`,`!=`].includes(t.op)&&!Yr.includes(r))return Zr(e,`"${t.op}" is not supported for ${r} fields`,`Supported: = !=`,t);let i=(t.op===`=`||t.op===`!=`)&&t.right.kind===`string`&&t.right.value.includes(`*`);if(i&&r&&r!==`string`&&r!==`any`){e.errors.push(Rn(`wildcard-not-allowed`,`Wildcards are only supported on string fields, not ${r}`,`Remove the "*"`,t.right.span));return}let a=i?t.right:Qr(e,n,t.right);return a&&{...t,left:n.node,right:a}},ei=(e,t)=>{let n=Xr(e,t.left);if(!n)return;let{type:r,spec:i}=n,a=Qr(e,!i?.repeated&&(r===`map`||r===`message`)?{...n,type:`string`}:n,t.right);return a&&{...t,left:n.node,right:a}},ti=(e,t)=>{switch(t.kind){case`sequence`:case`and`:case`or`:{let n=t.args.map(t=>ti(e,t));return n.every(e=>e)?{...t,args:n}:void 0}case`not`:{let n=ti(e,t.arg);return n&&{...t,arg:n}}case`compare`:return $r(e,t);case`has`:return ei(e,t);case`present`:{let n=Xr(e,t.left);return n&&{...t,left:n.node}}case`global`:return t;case`call`:{let n=Gr(e,t,Jr);if(n&&n.returns!==`boolean`){e.errors.push(Rn(`not-boolean`,`${t.name}() returns ${n.returns}, not a condition`,`Compare its result: f(x) > 1`,t.span));return}return n?.call}}},ni=(e,t)=>{let n={schema:t,errors:[]},r=ti(n,e);return!r||n.errors.length>0?{ok:!1,errors:[...n.errors].sort((e,t)=>e.span.start-t.span.start)}:{ok:!0,ast:r}},ri={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\x07":`\\a`,"\b":`\\b`,"\f":`\\f`,"\v":`\\v`},ii=e=>{if(!e.isWellFormed())throw Error(`Strings with unpaired surrogates cannot be printed`);return`"${e.replace(/[\\"\u0000-\u001f\u007f-\u009f]/g,e=>ri[e]??`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}"`},ai=e=>{switch(e.kind){case`string`:return ii(e.value);case`number`:return e.raw;case`boolean`:return String(e.value);case`duration`:return`${e.amount}${e.unit}`;case`timestamp`:return e.value}},oi=e=>e.kind===`number`&&e.raw.startsWith(`-`),si=e=>{switch(e.kind){case`member`:return e.path.join(`.`);case`call`:return`${e.name}(${e.args.map(ci).join(`, `)})`;case`binary`:if(e.right.kind===`binary`)throw Error(`Arithmetic is left-associative; a binary on the right cannot be printed`);return`${si(e.left)} ${e.op} ${si(e.right)}`;default:return ai(e)}},ci=e=>ui(e)?`(${pi(e)})`:si(e),li=[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`binary`],ui=e=>!li.includes(e.kind)&&e.kind!==`call`,di=e=>{if(oi(e))throw Error(`A negative number cannot start a comparison; "-5 = x" parses as a negation`);return si(e)},fi=(e,t)=>({and:[`and`,`or`],sequence:[`and`,`or`,`sequence`],or:[`and`,`or`,`sequence`],not:[`and`,`or`,`sequence`,`not`]})[e].includes(t.kind)?`(${pi(t)})`:pi(t),pi=e=>{switch(e.kind){case`and`:return e.args.map(e=>fi(`and`,e)).join(` AND `);case`or`:return e.args.map(e=>fi(`or`,e)).join(` OR `);case`sequence`:return e.args.map(e=>fi(`sequence`,e)).join(` `);case`not`:return`NOT ${fi(`not`,e.arg)}`;case`compare`:return`${di(e.left)} ${e.op} ${si(e.right)}`;case`has`:return`${di(e.left)}:${si(e.right)}`;case`present`:return`${di(e.left)}:*`;case`global`:return si(e.value);case`call`:return si(e)}},mi=class{int;scale;constructor(e,t){this.int=e,this.scale=t}compare(e){let t=Math.max(this.scale,e.scale),n=this.int*10n**BigInt(t-this.scale),r=e.int*10n**BigInt(t-e.scale);return n<r?-1:+(n>r)}toNumber(){return Number(`${this.int}e-${this.scale}`)}},hi=/^(-?)(\d+)(?:\.(\d+))?$/,gi=e=>{let t=hi.exec(e);if(!t)return;let n=t[3]??``;return new mi(BigInt(`${t[1]}${t[2]}${n}`),n.length)},_i=/^-?(?:\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|0[xX][0-9a-fA-F]+)$/,vi=e=>{if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(e instanceof mi)return e.toNumber();if(typeof e==`string`&&_i.test(e))return e.startsWith(`-`)?-Number(e.slice(1)):Number(e)},yi=e=>typeof e==`bigint`?new mi(e,0):typeof e==`number`?Number.isFinite(e)?gi(String(e)):void 0:typeof e==`string`?gi(e):e instanceof mi?e:void 0,bi=(e,t)=>{let n=0,r=0,i=-1,a=0;for(;r<t.length;)if(n<e.length&&e[n]===`*`)i=n++,a=r;else if(n<e.length&&e[n]===t[r])n++,r++;else if(i>=0)n=i+1,r=++a;else return!1;for(;e[n]===`*`;)n++;return n===e.length},xi=e=>typeof e==`object`&&!!e&&!(e instanceof Date)&&!(e instanceof mi)&&`seconds`in e&&typeof e.seconds==`number`,Si=e=>{switch(e.kind){case`string`:return e.value;case`number`:return gi(e.raw)??e.value;case`boolean`:return e.value;case`duration`:return{seconds:e.amount*Gn[e.unit]};case`timestamp`:return new Date(Kn(e.value)??NaN)}},Ci=e=>xi(e)?e.seconds:typeof e==`number`?e:typeof e==`string`?Jn(e):void 0,wi=e=>e instanceof Date?e.getTime():typeof e==`string`?Kn(e):void 0,Ti=e=>{switch(e.kind){case`string`:return e.value;case`member`:return e.path.join(`.`);case`number`:return e.raw;case`boolean`:return String(e.value);case`duration`:return`${e.amount}${e.unit}`;case`timestamp`:return e.value;default:return}},Ei=(e,t)=>{switch(e){case`=`:return t===0;case`!=`:return t!==0;case`<`:return t<0;case`<=`:return t<=0;case`>`:return t>0;case`>=`:return t>=0}},Di=(e,t)=>e<t?-1:+(e>t),Oi=(e,t)=>{let n=yi(e),r=yi(t);if(n&&r)return n.compare(r);let i=vi(e),a=vi(t);return i===void 0||a===void 0||Number.isNaN(i)||Number.isNaN(a)?void 0:Di(i,a)},ki=(e,t,n)=>{let r=(e===`=`||e===`!=`)&&n.includes(`*`);if(typeof t==`string`)return r?Ei(e,+!bi(n,t)):Ei(e,Di(t,n));if(typeof t==`number`||typeof t==`bigint`){let r=Oi(t,n);return r===void 0?void 0:Ei(e,r)}if(t instanceof Date){let r=wi(n);return r===void 0?void 0:Ei(e,Di(t.getTime(),r))}if(typeof t==`boolean`)return n===`true`||n===`false`?Ei(e,Di(String(t),n)):void 0;if(xi(t)){let r=Ci(n);return r===void 0?void 0:Ei(e,Di(t.seconds,r))}},Ai=(e,t,n)=>{if(t==null)return!1;if(typeof n==`string`)return ki(e,t,n)??!1;if(n instanceof mi||typeof n==`number`||typeof n==`bigint`){let r=Oi(t,n);return r!==void 0&&Ei(e,r)}if(typeof n==`boolean`){let r=typeof t==`string`?t===`true`||t!==`false`&&void 0:t;return typeof r==`boolean`&&Ei(e,Di(String(r),String(n)))}if(n instanceof Date){let r=wi(t);return r===void 0||Number.isNaN(n.getTime())?!1:Ei(e,Di(r,n.getTime()))}if(xi(n)){let r=Ci(t);return r!==void 0&&Ei(e,Di(r,n.seconds))}return!1},ji=(e,t)=>{let n=[e];for(let e of t)n=n.flatMap(t=>Array.isArray(t)?t.flatMap(t=>Mi(t,e)):Mi(t,e));return n.filter(e=>e!=null)},Mi=(e,t)=>typeof e!=`object`||!e?[]:e instanceof Map?e.has(t)?[e.get(t)]:[]:Object.hasOwn(e,t)?[e[t]]:[],Ni=e=>e.flatMap(e=>Array.isArray(e)?e:[e]),Pi=32,Fi=(e,t)=>t>Pi||e==null?[]:typeof e==`string`?[e]:typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`?[String(e)]:e instanceof Date?[e.toISOString()]:Array.isArray(e)?e.flatMap(e=>Fi(e,t+1)):e instanceof Map?[...e.values()].flatMap(e=>Fi(e,t+1)):typeof e==`object`?Object.values(e).flatMap(e=>Fi(e,t+1)):[],Ii=(e,t)=>{let n=e.toLowerCase();return Fi(t,0).some(e=>e.toLowerCase().includes(n))},Li=e=>[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`].includes(e.kind),Ri=(e,t,n)=>{let r=e===`+`?1:-1;if(t instanceof Date&&xi(n))return new Date(t.getTime()+r*n.seconds*1e3);if(t instanceof Date&&n instanceof Date&&e===`-`)return{seconds:(t.getTime()-n.getTime())/1e3};if(xi(t)&&xi(n))return{seconds:t.seconds+r*n.seconds};let i=t instanceof mi?t.toNumber():t,a=n instanceof mi?n.toNumber():n;return typeof i==`number`&&typeof a==`number`?i+r*a:void 0},zi=(e,t)=>{let n=t.options.functions?.[e.name];if(!n?.evaluate)throw Error(`Function "${e.name}" has no evaluate implementation`);let r=e.args.map((e,r)=>{let i=n.params[r]??n.rest;return e.kind===`member`&&i?.type===`field`?Ni(ji(t.record,e.path)):Li(e)?Bi(e,t):Ki(e,t)});return n.evaluate(...r)},Bi=(e,t)=>{switch(e.kind){case`member`:return e.path.join(`.`);case`call`:return zi(e,t);case`binary`:return Ri(e.op,Bi(e.left,t),Bi(e.right,t));default:return Si(e)}},Vi=(e,t)=>e.kind===`member`?ji(t.record,e.path):[Bi(e,t)],Hi=(e,t,n)=>Ni(t).some(t=>Ai(e,t,n)),Ui=(e,t)=>{let n=e.kind===`member`?e.field?.spec.type:void 0;return typeof t!=`string`||!n?t:n===`timestamp`?wi(t)===void 0?t:new Date(wi(t)):n===`duration`?Ci(t)===void 0?t:{seconds:Ci(t)}:n===`integer`||n===`number`?yi(t)??t:n===`boolean`?t===`true`||t!==`false`&&t:t},Wi=(e,t)=>{let n=Ui(e.left,Bi(e.right,t)),r=Vi(e.left,t);return e.op===`!=`?!Hi(`=`,r,n):Hi(e.op,r,n)},Gi=(e,t)=>{let n=Bi(e.right,t),r=Ti(e.right);return Vi(e.left,t).some(e=>Array.isArray(e)?e.some(e=>Ai(`=`,e,n)):e instanceof Map?r!==void 0&&e.has(r):typeof e==`object`&&e&&!(e instanceof Date)&&!xi(e)&&!(e instanceof mi)?r!==void 0&&Object.hasOwn(e,r):Ai(`=`,e,n))},Ki=(e,t)=>{switch(e.kind){case`sequence`:case`and`:return e.args.every(e=>Ki(e,t));case`or`:return e.args.some(e=>Ki(e,t));case`not`:return!Ki(e.arg,t);case`compare`:return Wi(e,t);case`has`:return Gi(e,t);case`present`:return Vi(e.left,t).some(e=>e!=null);case`global`:return(t.options.search??Ii)(Ti(e.value)??String(Bi(e.value,t)),t.record);case`call`:return zi(e,t)===!0}},qi=(e,t,n={})=>Ki(e,{record:t,options:n}),Ji=(e,t,n,r)=>({code:e,message:t,hint:n,span:r}),dee=(e,t)=>{let n=Array.from({length:t.length+1},(e,t)=>t);for(let r=1;r<=e.length;r++){let i=[r];for(let a=1;a<=t.length;a++){let o=e[r-1]===t[a-1]?0:1;i[a]=Math.min(n[a]+1,i[a-1]+1,n[a-1]+o)}n=i}return n[t.length]},fee=(e,t)=>{let n=e.toLowerCase(),r=t.map(e=>({candidate:e,score:dee(n,e.toLowerCase())})).sort((e,t)=>e.score-t.score)[0];return r&&r.score<=Math.max(2,Math.floor(e.length/3))?r.candidate:void 0},Yi={in:{params:[{name:`field`,type:`field`}],rest:{name:`value`,type:`any`}},search:{params:[{name:`text`,type:`string`}]},similar:{params:[{name:`field`,type:`field`,of:[`string`]},{name:`text`,type:`string`}]},regex:{params:[{name:`field`,type:`field`,of:[`string`]},{name:`pattern`,type:`string`}]},isNull:{params:[{name:`field`,type:`field`}]},now:{params:[],returns:`timestamp`}},pee={extensions:{arithmetic:`now-offset`,durationUnits:!0}},Xi=e=>{switch(e.type){case`text`:return`string`;case`integer`:case`bigint`:return`integer`;case`boolean`:case`timestamp`:case`enum`:return e.type;default:return`any`}},Zi=e=>({fields:Object.fromEntries(Object.values(e.fields).map(e=>[e.name,{type:Xi(e),filterable:e.filterable,sortable:e.sortable,aliases:e.aliases,...e.enumValues&&{values:e.enumValues}}])),functions:Yi}),Qi=(e,t,n,r)=>{e.errors.push(Ji(`unsupported`,t,n,r))},$i=(e,t)=>t.kind===`member`?{kind:`field`,path:t.path,span:t.span}:Qi(e,`Only fields can be compared`,`Put a field name on the left, for example total > 100`,t.span),mee=(e,t)=>{switch(t.kind){case`member`:return{kind:`string`,value:t.path.join(`.`),span:t.span};case`call`:return t.name===`now`&&t.args.length===0?{kind:`now`,span:t.span}:Qi(e,`${t.name}() cannot be used as a value`,`Only now() is a value function`,t.span);case`binary`:{let n=t.left;return n.kind===`call`&&n.name===`now`&&n.args.length===0&&t.right.kind===`duration`?{kind:`now`,offset:{sign:t.op,duration:t.right},span:t.span}:Qi(e,`Arithmetic is only supported as now() +/- duration`,`Write now() - 30d`,t.span)}default:return t}},ea=(e,t)=>(`kind`in t&&[`member`,`call`,`binary`].includes(t.kind)?void 0:t)||(t.kind===`member`?{kind:`string`,value:t.path.join(`.`),span:t.span}:Qi(e,`Expected a literal value`,`Use strings, numbers, true/false, durations or timestamps`,t.span)),hee=e=>{switch(e.kind){case`member`:return e.path.join(`.`);case`string`:case`timestamp`:return e.kind,e.value;case`number`:return e.raw;case`boolean`:return String(e.value);case`duration`:return`${e.amount}${e.unit}`;default:return``}},gee=(e,t)=>{let[n,r,...i]=t.args,a=n?.kind===`member`?$i(e,n):void 0,o=e=>e?.kind===`string`?e.value:void 0,s=n=>{e.errors.push(Ji(`invalid-arguments`,`Invalid arguments to ${t.name}()`,`Usage: ${n}`,t.span))};switch(t.name){case`in`:{let n=t.args.slice(1).map(t=>ea(e,t));return!a||n.length===0?s(`in(field, value1, value2, ...)`):n.every(e=>e)?{kind:`in`,field:a,values:n,span:t.span}:void 0}case`search`:return o(n)!==void 0&&!r?{kind:`search`,text:o(n),span:t.span}:s(`search("text")`);case`similar`:return a&&o(r)!==void 0&&i.length===0?{kind:`similar`,field:a,text:o(r),span:t.span}:s(`similar(field, "text")`);case`regex`:return a&&o(r)!==void 0&&i.length===0?{kind:`regex`,field:a,pattern:o(r),span:t.span}:s(`regex(field, "pattern")`);case`isNull`:return a&&!r?{kind:`isNull`,field:a,span:t.span}:s(`isNull(field)`);default:e.errors.push(Ji(`unknown-function`,`Unknown function "${t.name}"`,`Available functions: ${Object.keys(Yi).join(`, `)}`,t.span));return}},_ee=e=>e.every(e=>e)?e:void 0,ta=(e,t)=>{switch(t.kind){case`sequence`:case`and`:case`or`:{let n=_ee(t.args.map(t=>ta(e,t)));return n&&{kind:t.kind===`or`?`or`:`and`,args:n,span:t.span}}case`not`:{let n=ta(e,t.arg);return n&&{kind:`not`,arg:n,span:t.span}}case`compare`:{let n=$i(e,t.left),r=mee(e,t.right);return n&&r&&{kind:`compare`,op:t.op,field:n,value:r,span:t.span}}case`has`:{let n=$i(e,t.left),r=ea(e,t.right);return n&&r&&{kind:`has`,field:n,value:r,span:t.span}}case`present`:{let n=$i(e,t.left);return n&&{kind:`present`,field:n,span:t.span}}case`global`:return{kind:`search`,text:hee(t.value),span:t.span};case`call`:return gee(e,t)}},na=(e,t={})=>{let n=Pr(e,{...pee,...t}),r={errors:[]},i=n.ast&&ta(r,n.ast),a=[...n.errors,...r.errors].sort((e,t)=>e.span.start-t.span.start);return a.length===0?{ok:!0,ast:i,errors:[]}:{ok:!1,ast:i,errors:a}},vee=(e,t)=>t===2?e%4==0&&(e%100!=0||e%400==0)?29:28:[4,6,9,11].includes(t)?30:31,ra=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[n,r,i]=[Number(t[1]),Number(t[2]),Number(t[3])];return r>=1&&r<=12&&i>=1&&i<=vee(n,r)},yee=e=>{let t=/^(\d{4}-\d{2}-\d{2})[Tt](\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:[Zz]|[+-](\d{2}):(\d{2}))$/.exec(e);if(!t)return!1;let[n,r,i]=[Number(t[2]),Number(t[3]),Number(t[4])],[a,o]=[Number(t[5]??0),Number(t[6]??0)];return ra(t[1])&&n<=23&&r<=59&&i<=59&&a<=23&&o<=59},ia=(e,t)=>({message:e,hint:t}),bee=-(2n**63n),xee=2n**63n-1n,aa=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,oa=e=>e.kind===`number`?e.raw:e.kind===`string`?e.value:void 0,sa=(e,t=`Write ${e} values like the examples in the docs`)=>ia(`Expected ${e}`,t),ca=e=>{let t=oa(e),n=t===void 0?NaN:Number(t);if(t===void 0||t.trim()===``||!Number.isSafeInteger(n))return sa(`a whole number`,`Use an integer such as 42, or a bigint field for larger values`)},la=e=>{let t=oa(e);if(t===void 0||!/^-?\d+$/.test(t)||BigInt(t)<bee||BigInt(t)>xee)return sa(`a 64-bit integer`,`Use plain digits such as 9007199254740993 (no exponent or fraction)`)},ua=e=>{let t=oa(e);if(t===void 0||!/^-?\d+(\.\d+)?$/.test(t))return sa(`a decimal number`,`Use plain digits such as 100.50, or quote it: "100.50" (no exponent)`)},da=(e,t)=>{if(t.kind===`now`)return e.type===`date`||e.type===`timestamp`?void 0:ia(`now() only works with date and timestamp fields`,`Field "${e.name}" is ${e.type}`);switch(e.type){case`text`:return t.kind===`string`?void 0:sa(`a quoted string`,`Wrap the text in double quotes`);case`integer`:return ca(t);case`bigint`:return la(t);case`decimal`:return ua(t);case`boolean`:return t.kind===`boolean`?void 0:sa(`true or false`);case`date`:return t.kind===`string`&&ra(t.value)?void 0:sa(`a date`,`Quote a calendar date: "2012-04-21"`);case`timestamp`:return t.kind===`timestamp`||t.kind===`string`&&yee(t.value)?void 0:sa(`an RFC-3339 timestamp`,`Use 2012-04-21T11:30:00Z, or now() - 7d`);case`uuid`:return t.kind===`string`&&aa.test(t.value)?void 0:sa(`a uuid`,`Quote a uuid like "0b5a4f0e-6f2a-4a3c-9d4e-1f2a3b4c5d6e"`);case`enum`:return t.kind===`string`&&e.enumValues?.includes(t.value)?void 0:ia(`Invalid enum value`,`Allowed values: ${(e.enumValues??[]).join(`, `)}`);case`currency`:return t.kind===`string`&&/^[A-Z]{3}$/.test(t.value)?void 0:sa(`an ISO 4217 currency code`,`Use three capital letters, for example "EUR"`);case`country`:return t.kind===`string`&&/^[A-Z]{2}$/.test(t.value)?void 0:sa(`an ISO 3166-1 country code`,`Use two capital letters, for example "NL"`);case`relation`:return t.kind===`string`||t.kind===`number`&&Number.isSafeInteger(t.value)?void 0:sa(`a record key`,`Use the related record key: 42 or "abc"`);case`json`:case`file`:return ia(`${e.type} fields cannot be compared`,`Use field:value on json fields, or isNull(field)`)}},fa=(e,t)=>Object.hasOwn(e.fields,t)?e.fields[t]:Object.values(e.fields).find(e=>e.aliases.includes(t)),pa=(e,t,n)=>{if(t.path.length>1){e.errors.push(Ji(`unsupported-traversal`,`Traversal into "${t.path.join(`.`)}" is not supported yet`,`Filter on fields of this resource only`,t.span));return}let r=t.path[0],i=fa(e.model,r);if(!i){let i=Object.values(e.model.fields).filter(e=>e[n]).map(e=>e.name),a=fee(r,i);e.errors.push(Ji(`unknown-field`,`Unknown field "${r}"`,a?`Did you mean "${a}"?`:`Available fields: ${i.join(`, `)}`,t.span));return}if(!i[n]){let r=n===`filterable`?`filterable`:`sortable`;e.errors.push(Ji(n===`filterable`?`not-filterable`:`not-sortable`,`Field "${i.name}" is not ${r}`,`Mark it with .${r}() in data.ts`,t.span));return}return i},ma=[`=`,`!=`],ha=[`=`,`!=`,`<`,`<=`,`>`,`>=`],ga=e=>{switch(e){case`text`:case`integer`:case`bigint`:case`decimal`:case`date`:case`timestamp`:return ha;case`json`:case`file`:return[];default:return ma}},_a=e=>e===`json`||e===`file`,va=(e,t,n)=>{let r=da(t,n);return r&&e.errors.push(Ji(`invalid-value`,r.message,r.hint,n.span)),!r},ya=(e,t,n,r)=>{e.errors.push(Ji(`operator-not-allowed`,t,n,r))},ba=(e,t)=>(e===`=`||e===`!=`)&&t.kind===`string`&&t.value.includes(`*`),xa=(e,t)=>{let n=pa(e,t.field,`filterable`);if(!n)return;let r=ga(n.type);if(!r.includes(t.op)){ya(e,`Operator "${t.op}" is not supported for ${n.type} fields`,r.length?`Supported: ${r.join(` `)}`:`Use field:value on json fields, or isNull(field)`,t.span);return}if(ba(t.op,t.value)&&n.type!==`text`){e.errors.push(Ji(`wildcard-not-allowed`,`Wildcards are only supported on text fields, not ${n.type}`,`Remove the "*" or filter a text field`,t.value.span));return}if(ba(t.op,t.value)||va(e,n,t.value))return{...t,field:n}},Sa=(e,t)=>{let n=pa(e,t.field,`filterable`);if(n){if(n.type!==`json`){ya(e,`":" is only supported on json fields, not ${n.type}`,`Use = on ${n.type} fields, or field:* to test for a value`,t.span);return}return{...t,field:n}}},Ca=(e,t)=>{let n=pa(e,t.field,`filterable`);if(n){if(_a(n.type)){ya(e,`in() is not supported for ${n.type} fields`,`Use field:value on json fields`,t.span);return}return t.values.map(t=>va(e,n,t)).every(Boolean)?{...t,field:n}:void 0}},wa=(e,t,n)=>{let r=pa(e,n,`filterable`);if(r&&r.type!==`text`){ya(e,`${t}() only works on text fields, not ${r.type}`,`Field "${r.name}" is ${r.type}`,n.span);return}return r},Ta=(e,t)=>{switch(t.kind){case`and`:case`or`:{let n=t.args.map(t=>Ta(e,t));return n.every(e=>e)?{...t,args:n}:void 0}case`not`:{let n=Ta(e,t.arg);return n&&{...t,arg:n}}case`compare`:return xa(e,t);case`has`:return Sa(e,t);case`in`:return Ca(e,t);case`search`:if(e.model.search?.length)return t;e.errors.push(Ji(`no-search-fields`,`This resource has no search fields`,`Declare them with .search((r) => [r.title]) in data.ts`,t.span));return;case`present`:case`isNull`:{let n=pa(e,t.field,`filterable`);return n&&{...t,field:n}}case`similar`:case`regex`:{let n=wa(e,t.kind,t.field);return n&&{...t,field:n}}}},Ea=(e,t)=>{let n={model:e,errors:[]},r=Ta(n,t);return!r||n.errors.length>0?{ok:!1,errors:[...n.errors].sort((e,t)=>e.span.start-t.span.start)}:{ok:!0,filter:r}},Da=(e,t)=>`path`in e?{kind:`member`,path:e.path,span:e.span}:{kind:`member`,path:[e.name],field:{name:e.name,spec:{type:Xi(e)}},span:t},Oa=(e,t,n)=>({kind:`call`,name:e,args:t,span:n}),ka=(e,t)=>({kind:`string`,value:e,span:t}),Aa=e=>{if(e.kind!==`now`)return e;let t={kind:`call`,name:`now`,args:[],span:e.span};return e.offset?{kind:`binary`,op:e.offset.sign,left:t,right:e.offset.duration,span:e.span}:t},ja=(e,t={})=>{let n=e=>ja(e,t);switch(e.kind){case`and`:case`or`:return{kind:e.kind,args:e.args.map(n),span:e.span};case`not`:return{kind:`not`,arg:n(e.arg),span:e.span};case`compare`:return{kind:`compare`,op:e.op,left:Da(e.field,e.span),right:Aa(e.value),span:e.span};case`has`:return{kind:`has`,left:Da(e.field,e.span),right:e.value,span:e.span};case`present`:return{kind:`present`,left:Da(e.field,e.span),span:e.span};case`in`:return t.expand?{kind:`or`,args:e.values.map(t=>({kind:`compare`,op:`=`,left:Da(e.field,e.span),right:t,span:e.span})),span:e.span}:Oa(`in`,[Da(e.field,e.span),...e.values],e.span);case`search`:return Oa(`search`,[ka(e.text,e.span)],e.span);case`similar`:return Oa(`similar`,[Da(e.field,e.span),ka(e.text,e.span)],e.span);case`regex`:return Oa(`regex`,[Da(e.field,e.span),ka(e.pattern,e.span)],e.span);case`isNull`:return t.expand?{kind:`not`,arg:{kind:`present`,left:Da(e.field,e.span),span:e.span},span:e.span}:Oa(`isNull`,[Da(e.field,e.span)],e.span)}},Ma=(e,t)=>{let n=Ea(e,t);if(!n.ok&&n.errors.some(e=>e.code===`unsupported-traversal`))return n;let r=ni(ja(t),Zi(e));return r.ok?Ea(e,t):{ok:!1,errors:r.errors}},Na=/^[\d\s+\-().\/]+$/,Pa=e=>Na.test(e)?e.replace(/\D/g,``):``,Fa=e=>{let t=e.split(/\s+/).filter(Boolean).map(e=>({text:e,digits:Pa(e),whole:!1})),n=t.length>1?Pa(e.trim()):``;return n?[{text:e.trim(),digits:n,whole:!0},...t]:t},Ia=(e,t,n)=>e==null?!1:n===`digitsEnd`?t.digits!==``&&String(e).replace(/\D/g,``).endsWith(t.digits):!t.whole&&String(e).toLowerCase().includes(t.text.toLowerCase()),La=(e,t,n)=>(e.search??[]).filter(r=>Ia(t[r],n,e.searchMatch?.[r])),Ra=(e,t,n,r)=>{for(let i of Fa(n)){let n=La(e,t,i);if(n.length>0&&!n.some(e=>r.includes(e)))return n[0]}},za=e=>pi(ja(e)),Ba=e=>{let t=[];for(let n of e.matchAll(/,|\.|[^\s,.]+/g)){let e=n.index,r=n[0]===`,`?`comma`:n[0]===`.`?`dot`:`word`;t.push({kind:r,text:n[0],span:{start:e,end:e+n[0].length}})}return t},Va=e=>{let t=Ba(e),n=[],r=[],i={start:e.length,end:e.length},a=0,o=(e,t,r,i)=>n.push(Rn(e,t,r,i)),s=()=>{for(;a<t.length&&t[a].kind!==`comma`;)a++;a++},c=()=>{let e=t[a];if(!e||e.kind!==`word`)return o(`expected-field`,`Expected a field name but found ${e?`"${e.text}"`:`end of input`}`,`Write order_by like: createdAt desc, total`,e?.span??i),!1;let n=[e.text],s=e;for(a++;t[a]?.kind===`dot`;){let e=t[a+1];if(e?.kind!==`word`)return o(`expected-field`,`Expected a field name after "."`,`Write subfields like address.street`,e?.span??i),!1;n.push(e.text),s=e,a+=2}let c=t[a],l=`asc`;if(c?.kind===`word`){if(c.text!==`asc`&&c.text!==`desc`)return o(`unexpected-token`,`Expected "desc" or "," but found "${c.text}"`,`Separate fields with commas; append " desc" for descending order`,c.span),!1;l=c.text,s=c,a++}let u=t[a];return u&&u.kind!==`comma`?(o(`unexpected-token`,`Expected "," but found "${u.text}"`,`Separate fields with commas`,u.span),!1):(r.push({path:n,direction:l,span:{start:e.span.start,end:s.span.end}}),!0)};for(;a<t.length;){if(!c()){s();continue}t[a]?.kind===`comma`&&(a++,a>=t.length&&o(`expected-field`,`Expected a field name after ","`,`Remove the trailing comma`,i))}return n.length===0?{ok:!0,items:r,errors:[]}:{ok:!1,items:r,errors:n}},Ha=(e,t)=>{if(Object.hasOwn(e,t))return{name:t,field:e[t]};let n=Object.entries(e).find(([,e])=>e.aliases?.includes(t));return n&&{name:n[0],field:n[1]}},Ua=(e,t)=>{let n=[],r=[];for(let i of e){let e=Ha(t.fields,i.path[0]);if(!e){let e=Object.entries(t.fields).filter(([,e])=>e.sortable!==!1).map(([e])=>e),r=Bn(i.path[0],e);n.push(Rn(`unknown-field`,`Unknown field "${i.path[0]}"`,r?`Did you mean "${r}"?`:`Available fields: ${e.join(`, `)}`,i.span));continue}let a=[e.name],o=e.field,s=o.sortable!==!1,c=!1;for(let e of i.path.slice(1)){let t=o.fields?Ha(o.fields,e)?.field:o.value;if(!t){n.push(Rn(`invalid-traversal`,`Cannot sort by "${e}" inside "${a.join(`.`)}"`,`Only nested message fields and map values can be traversed`,i.span)),c=!0;break}a.push(o.fields?Ha(o.fields,e).name:e),o=t,s&&=o.sortable!==!1}if(!c){if(!s){n.push(Rn(`not-sortable`,`Field "${a.join(`.`)}" cannot be sorted on`,`Mark it sortable in the schema`,i.span));continue}r.push({...i,path:a})}}return n.length===0?{ok:!0,items:r}:{ok:!1,errors:n}},Wa=e=>e.map(e=>({path:e.path.path,direction:e.direction,span:e.span})),Ga=e=>e.replace(/([^\s,])(\s+)(asc|desc)(?=\s|,|$)/gi,(e,t,n,r)=>`${t}${n}${r.toLowerCase()}`),Ka=e=>{let t=Va(Ga(e)),n=t.items.map(e=>({path:{kind:`field`,path:e.path,span:e.span},direction:e.direction,span:e.span}));return t.ok?{ok:!0,items:n,errors:[]}:{ok:!1,items:n,errors:t.errors}},qa=(e,t)=>{let n=t.filter(e=>e.path.path.length>1).map(e=>Ji(`unsupported-traversal`,`Traversal into "${e.path.path.join(`.`)}" is not supported yet`,`Sort on fields of this resource only`,e.path.span));if(n.length>0)return{ok:!1,errors:n};let r=Ua(Wa(t),Zi(e));return r.ok?{ok:!0,sort:r.items.map(e=>[e.path[0],e.direction])}:{ok:!1,errors:r.errors}},Ja=e=>{let t=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)([smhdw])$/.exec(e);if(!t)throw Error(`Invalid duration "${e}", expected for example 30d or 1.5h`);return{kind:`duration`,amount:Number(t[1]),unit:t[2],span:{start:0,end:0}}},Ya={start:0,end:0},Xa=e=>({kind:`field`,path:e.split(`.`),span:Ya}),Za=e=>{if(typeof e==`string`)return{kind:`string`,value:e,span:Ya};if(typeof e==`boolean`)return{kind:`boolean`,value:e,span:Ya};if(!Number.isFinite(e))throw Error(`Filter numbers must be finite`);return{kind:`number`,value:e,raw:String(e),span:Ya}},Qa=e=>typeof e==`object`?e:Za(e),$a=(e,t)=>{if(t.length===0)throw Error(`where.${e} needs at least one filter`);return t.length===1?t[0]:{kind:e,args:t,span:Ya}},eo=()=>{let e=e=>(t,n)=>({kind:`compare`,op:e,field:Xa(t),value:Qa(n),span:Ya}),t=e=>t=>({kind:`now`,offset:{sign:e,duration:Ja(t)},span:Ya});return{eq:e(`=`),ne:e(`!=`),lt:e(`<`),lte:e(`<=`),gt:e(`>`),gte:e(`>=`),between:(t,n,r)=>$a(`and`,[e(`>=`)(t,n),e(`<=`)(t,r)]),has:(e,t)=>({kind:`has`,field:Xa(e),value:Za(t),span:Ya}),present:e=>({kind:`present`,field:Xa(e),span:Ya}),in:(e,t)=>({kind:`in`,field:Xa(e),values:t.map(Za),span:Ya}),isNull:e=>({kind:`isNull`,field:Xa(e),span:Ya}),search:e=>({kind:`search`,text:e,span:Ya}),similar:(e,t)=>({kind:`similar`,field:Xa(e),text:t,span:Ya}),regex:(e,t)=>({kind:`regex`,field:Xa(e),pattern:t,span:Ya}),and:(...e)=>$a(`and`,e),or:(...e)=>$a(`or`,e),not:e=>({kind:`not`,arg:e,span:Ya}),now:()=>({kind:`now`,span:Ya}),ago:t(`-`),fromNow:t(`+`)}};eo();var to=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===1&&typeof e.$field==`string`,no=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ro=e=>to(e)?e.$field:Array.isArray(e)?e.map(ro):no(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,ro(t)])):e,io=`table`,ao=/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,oo=e=>[...e.matchAll(ao)].map(e=>e[1]),so=e=>e.kind===`record`?(Array.isArray(e.key)?e.key:[e.key]).filter(e=>typeof e==`string`):e.kind===`list`?[e.filter,e.orderBy].filter(e=>e!==void 0):e.kind===`create`?Object.values(e.values??{}):[],co=e=>[...new Set(so(e).flatMap(oo))],lo=(e,t)=>e.replace(ao,(e,n)=>t[n]===null||t[n]===void 0?``:String(t[n])),uo=(e,t={})=>{if(e.kind===`record`){let n=e=>typeof e==`string`?lo(e,t):e;return{...e,key:Array.isArray(e.key)?e.key.map(n):n(e.key)}}return e.kind===`create`?e.values?{...e,values:Object.fromEntries(Object.entries(e.values).map(([e,n])=>[e,lo(n,t)]))}:e:e.kind===`list`?{...e,...e.filter!==void 0&&{filter:lo(e.filter,t)},...e.orderBy!==void 0&&{orderBy:lo(e.orderBy,t)}}:e},fo=e=>/^\{([A-Za-z_][A-Za-z0-9_]*)\}$/.exec(e)?.[1],po=e=>{if(!Array.isArray(e))return String(e);let t=e;return t.length===1?String(t[0]):t.map(e=>encodeURIComponent(String(e))).join(`,`)},mo=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/,ho=e=>{let t=mo.exec(e);return t?[Number(t[1]),Number(t[2]),Number(t[3])]:void 0},go=(e,t)=>e[0]-t[0]||e[1]-t[1]||e[2]-t[2],_o=/^(>=|<=|>|<|=)?(.+)$/,vo={">=":e=>e>=0,"<=":e=>e<=0,">":e=>e>0,"<":e=>e<0,"=":e=>e===0},yo=(e,t)=>{let n=ho(e),r=t.trim().split(/\s+/);if(!n||t.trim()===``)return;let i=!0;for(let e of r){let[,t=`=`,r=``]=_o.exec(e)??[],a=ho(r);if(!a)return;i&&=vo[t](go(n,a))}return i},bo=(e,t)=>{if(e.api!==t.api)return`it is built for plugin API ${e.api}, and this app has plugin API ${t.api}`;let n=yo(t.version,e.protobase);if(n===void 0)return`its Protobase range "${e.protobase}" is not one this app reads, such as >=0.12.0`;if(!n)return`it needs Protobase ${e.protobase}, and this app runs ${t.version}`},xo=`[Filtered]`,So=/authorization|cookie|passw|secret|token|api[-_]?key|credential|session|csrf|signature|^sig$/i,Co=new Set([`url`,`query_string`,`from`,`to`]),wo=12,To=e=>e.replace(/(^|&)([^=&]*)=([^&]*)/g,(e,t,n)=>So.test(n)?`${t}${n}=${xo}`:e),Eo=e=>{let t=e.indexOf(`?`);if(t===-1)return e;let n=e.indexOf(`#`,t),r=n===-1?e.slice(t+1):e.slice(t+1,n);return`${e.slice(0,t+1)}${To(r)}${n===-1?``:e.slice(n)}`},Do=(e,t,n)=>So.test(e)?xo:typeof t==`string`&&Co.has(e)?e===`query_string`?To(t):Eo(t):Oo(t,n+1),Oo=(e,t)=>t>wo||typeof e!=`object`||!e?e:Array.isArray(e)?e.map(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`?[e[0],Do(e[0],e[1],t)]:Oo(e,t+1)):Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Do(e,n,t)])),ko=e=>Oo(e,0),Ao=[`unknown-field`,`not-filterable`,`not-sortable`,`unsupported-traversal`,`invalid-traversal`],jo=e=>e.replace(/(["']?)\{[A-Za-z_][A-Za-z0-9_]*\}\1/g,(e,t)=>t?`${t}x${t}`:`0`),Mo=(e,t)=>{let n=na(jo(t));if(!n.ok)return n.errors.map(e=>`filter: ${e.message}`);if(!n.ast)return[];let r=Ma(e,n.ast);return r.ok?[]:r.errors.filter(e=>Ao.includes(e.code)).map(e=>`filter: ${e.message}`)},No=(e,t)=>{if(co({kind:`list`,resource:e.name,orderBy:t}).length>0)return[];let n=Ka(t);if(!n.ok)return n.errors.map(e=>`orderBy: ${e.message}`);let r=qa(e,n.items);return r.ok?[]:r.errors.map(e=>`orderBy: ${e.message}`)},Po=(e,{models:t,pages:n,source:r})=>{let i=co(e).flatMap(e=>r?Object.hasOwn(r.fields,e)?[]:[`"{${e}}" is not a field of ${r.name}`]:[`"{${e}}" takes a value from the record, but the link sits on none`]);switch(e.kind){case`page`:return n&&!n.has(e.page)?[`unknown page "${e.page}"`]:[];case`list`:case`record`:case`create`:{let n=Object.hasOwn(t,e.resource)?t[e.resource]:void 0;return n?e.kind===`create`?[...i,...Object.keys(e.values??{}).filter(e=>!Object.hasOwn(n.fields,e)).map(t=>`values: unknown field "${t}" on ${e.resource}`)]:e.kind===`list`?[...i,...e.filter?Mo(n,e.filter):[],...e.orderBy?No(n,e.orderBy):[]]:i:[`unknown resource "${e.resource}"`]}default:return[`an address's kind is list, record, create or page, not "${String(e.kind)}"`]}},Fo={messages:[],replying:!1},Io=(e,t)=>{let n=e.findIndex(e=>e.id===t.id);return n===-1?[...e,t]:e.map((e,r)=>r===n?t:e)},Lo=(e,t,n)=>{let r=e.find(e=>e.id===t);return Io(e,r?{...r,parts:Io(r.parts,n)}:{id:t,from:`assistant`,parts:[n]})},Ro=(e,t)=>{switch(t.type){case`state`:return t.state;case`message`:return{...e,messages:Io(e.messages,t.message)};case`part`:return{...e,messages:Lo(e.messages,t.messageId,t.part)};case`patch`:{let{replying:n=e.replying,status:r=e.status,placeholder:i=e.placeholder}=t;return{messages:e.messages,replying:n,...r!=null&&{status:r},...i!=null&&{placeholder:i}}}}},zo=async(e,t,n)=>{let r=new TextDecoder,i=e.getReader();n?.addEventListener(`abort`,()=>void i.cancel(),{once:!0});let a=``,o=[],s=e=>{if(e===``){o.length>0&&t(o.join(`
4
4
  `)),o=[];return}e.startsWith(`data:`)&&o.push(e.slice(e.startsWith(`data: `)?6:5))};for(;;){let{done:e,value:t}=await i.read();a+=e?r.decode():r.decode(t,{stream:!0});let n=a.split(/\r\n|\r|\n/);if(a=e?``:n.pop()??``,n.forEach(s),e)return s(``)}},Bo=(e,t)=>t?.[e]??e,Vo={filter:`filter`,orderBy:`order_by`,display:`display`,filterLayout:`layout`,map:`map`,create:`new`},Ho=[`display`,`filter`,`orderBy`,`filterLayout`],Uo=e=>`${e.latitude.toFixed(5)},${e.longitude.toFixed(5)},${e.zoom.toFixed(2)}`,Wo=(e,t,n=-t)=>Number.isFinite(e)&&e>=n&&e<=t,Go=e=>{let t=e?.split(`,`);if(t?.length!==3||t.some(e=>e.trim()===``))return;let[n,r,i]=t.map(Number);return Wo(n,90)&&Wo(r,180)&&Wo(i,22,0)?{latitude:n,longitude:r,zoom:i}:void 0},Ko=e=>{let t=new URLSearchParams;for(let n of Ho){let r=e[n];r!==void 0&&r!==``&&t.set(Vo[n],r)}e.map&&t.set(Vo.map,Uo(e.map));let n=t.toString();return n?`?${n}`:``},qo=(e,t=``)=>{switch(e.kind){case`page`:return`${t}/${encodeURIComponent(e.page)}`;case`create`:return`${t}/${encodeURIComponent(e.resource)}/${Vo.create}${Yo(e.values)}`;case`record`:return`${t}/${encodeURIComponent(e.resource)}/${encodeURIComponent(po(e.key))}`;case`list`:return`${t}/${encodeURIComponent(e.resource)}${Ko(e)}`}},Jo=e=>{try{return e.split(`/`).filter(Boolean).map(decodeURIComponent)}catch(e){if(e instanceof URIError)return;throw e}},Yo=(e={})=>{let t=new URLSearchParams(Object.entries(e).filter(([,e])=>e!==``)).toString();return t?`?${t}`:``},Xo=e=>e===`bar`||e===`panel`?e:void 0,Zo=(e,t)=>{let n=new URL(e,`http://app`),r=Jo(n.pathname);if(!r||r.length===0||r.length>2)return;let[i,a]=r;if(i===`-`)return;if(t.has(i))return a===void 0?{kind:`page`,page:i}:void 0;if(a===Vo.create){let e=Object.fromEntries([...n.searchParams].filter(([,e])=>e!==``));return{kind:`create`,resource:i,...Object.keys(e).length>0&&{values:e}}}if(a!==void 0)return{kind:`record`,resource:i,key:a};let o=n.searchParams,s=o.get(Vo.display)||void 0,c=o.get(Vo.filter)||void 0,l=o.get(Vo.orderBy)||void 0,u=Xo(o.get(Vo.filterLayout)),d=Go(o.get(Vo.map));return{kind:`list`,resource:i,...s&&{display:s},...c&&{filter:c},...l&&{orderBy:l},...u&&{filterLayout:u},...d&&{map:d}}},Qo=e=>typeof e==`string`?e:e&&za(e),$o=e=>{let t=Object.entries(e??{}).map(([e,t])=>`${e}.${t}`);return t.length>0?t:void 0},es=e=>({photos:e&&`${e.resource}.${e.field}.${e.image}`,photos_order_by:e?.sort}),ts=(e={})=>({filter:Qo(e.filter)||void 0,order_by:e.orderBy,page_size:e.pageSize,page_token:e.pageToken||void 0,fields:e.fields?.join(`,`),labels:$o(e.labels)?.join(`,`),...es(e.photos),count:e.count}),ns=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!==void 0&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``},rs=e=>e.startsWith(`/`)&&!e.startsWith(`//`),is=e=>{if(typeof e!=`object`||!e)return!1;let{uri:t,url:n}=e;return typeof t==`string`&&typeof n==`string`&&rs(n)},as=e=>e!==void 0&&URL.canParse(e)?new URL(e).origin:void 0,os=(e,t)=>({...e,url:`${t}${e.url}`,...e.variants&&{variants:Object.fromEntries(Object.entries(e.variants).map(([e,n])=>[e,rs(n.url)?{...n,url:`${t}${n.url}`}:n]))}}),ss=(e,t)=>t===void 0||typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[e,is(n)?os(n,t):n])),cs=(e,t)=>t===void 0?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[e,n.map(e=>is(e)?os(e,t):e)])),ls=class extends Error{problem;constructor(e){super(e.detail??e.title),this.problem=e,this.name=`ApiError`}get status(){return this.problem.status}get slug(){return this.problem.type.split(`:`).at(-1)??``}get operation(){return this.problem.operation??this.errors.find(e=>e.operation!==void 0)?.operation}get errors(){return this.problem.errors??[]}get filterErrors(){return this.slug===`invalid-filter`?this.errors:[]}},us=class extends ls{constructor(e){super(e),this.name=`PreconditionFailedError`}},ds=e=>e instanceof ls,fs=e=>typeof e==`object`&&!!e&&`type`in e&&`status`in e,ps=async e=>{let t=e.headers.get(`content-type`)?.includes(`json`)??!1?await e.json():void 0,n=fs(t)?t:{type:`urn:protobase:problem:unknown`,title:e.statusText||`Request failed`,status:e.status};return n.status===412?new us(n):new ls(n)},ms=(e={})=>{let t=e.baseUrl??`/api/v1`,n=t.replace(/\/[^/]*$/,``),r=e.fetch??((e,t)=>fetch(e,t));return async({method:i,path:a,query:o=``,body:s,headers:c,accept:l=[],system:u,raw:d,via:f,signal:p})=>{let m=async l=>{let m=await e.token?.({refresh:l});return(f??r)(`${u?n:t}${a}${o}`,{method:i,headers:{...s!==void 0&&{"content-type":`application/json`},...m&&{authorization:`Bearer ${m}`},...e.headers?.(),...c},body:d??(s===void 0?void 0:JSON.stringify(s)),...p&&{signal:p}})},h=await m(!1);h.status===401&&e.token&&(h=await m(!0),h.status===401&&e.onUnauthenticated?.());let g=h.headers.get(`x-meta-version`);if(g&&e.onMetaVersion?.(g),!h.ok&&!l.includes(h.status))throw await ps(h);return h}},hs=e=>new Headers(e.trim().split(/[\r\n]+/).filter(Boolean).map(e=>{let t=e.indexOf(`:`);return[e.slice(0,t).trim(),e.slice(t+1).trim()]})),gs=e=>(t,n={})=>new Promise((r,i)=>{let a=new XMLHttpRequest;a.open(n.method??`GET`,String(t)),new Headers(n.headers).forEach((e,t)=>a.setRequestHeader(t,e)),a.responseType=`blob`,a.upload.onprogress=t=>e(t.loaded,t.lengthComputable?t.total:t.loaded),a.onload=()=>{let e=a.status===204||a.status===304;r(new Response(e?null:a.response,{status:a.status,statusText:a.statusText,headers:hs(a.getAllResponseHeaders())}))},a.onerror=()=>i(TypeError(`Network request failed`)),a.onabort=()=>i(new DOMException(`The upload was aborted`,`AbortError`)),n.signal?.addEventListener(`abort`,()=>a.abort()),a.send(n.body)}),_s=e=>typeof e==`string`?e:e.toModel().name,vs=(e,t)=>`/${_s(e)}/${po(t)}`,ys=(e,t,n)=>({items:e.items.map(e=>ss(e,n)),nextPageToken:e.next_page_token,totalSizeEstimate:e.total_size_estimate,...e.prev_page_token!==void 0&&{prevPageToken:e.prev_page_token},...e.total_size!==void 0&&{totalSize:e.total_size},...e.labels!==void 0&&{labels:e.labels},...e.photos!==void 0&&{photos:cs(e.photos,n)},...t.headers.get(`x-protobase-warning`)&&{warning:t.headers.get(`x-protobase-warning`)}}),bs=e=>e.headers.get(`etag`)??``,xs=async(e,t)=>{let{permissions:n,...r}=await e.json();return{record:ss(r,t),etag:bs(e),...n&&{permissions:n}}},Ss=(e,t)=>({results:(e.results??[]).map(e=>e.op===`create`||e.op===`update`?{...e,record:ss(e.record,t)}:e.op===`reorder`?{...e,records:e.records.map(e=>({...e,record:ss(e.record,t)}))}:e)}),Cs=(e={})=>{let t=ms(e),n=as(e.baseUrl);return{list:async(e,r)=>{let i=await t({method:`GET`,path:`/${_s(e)}`,query:ns(ts(r))});return ys(await i.json(),i,n)},search:async(e,r)=>{let i=ts(r),a=await t({method:`POST`,path:`/${_s(e)}:search`,body:{...i,fields:r?.fields,labels:$o(r?.labels)}});return ys(await a.json(),a,n)},get:async(e,r)=>xs(await t({method:`GET`,path:vs(e,r)}),n),create:async(e,r)=>{let i=await t({method:`POST`,path:`/${_s(e)}`,body:r});return{record:ss(await i.json(),n),etag:bs(i),location:i.headers.get(`location`)??``}},update:async(e,r,i,a)=>xs(await t({method:`PATCH`,path:vs(e,r),body:i,headers:{"if-match":a}}),n),remove:async(e,n,{etag:r}={})=>{await t({method:`DELETE`,path:vs(e,n),headers:r?{"if-match":r}:void 0})},undelete:async(e,r)=>{let i=await t({method:`POST`,path:`${vs(e,r)}:undelete`});return{record:ss(await i.json(),n),etag:bs(i)}},reveal:async(e,n,r)=>(await(await t({method:`POST`,path:`${vs(e,n)}:reveal`,body:{field:r}})).json()).value,batchWrite:async e=>{let r=e=>typeof e==`object`&&e&&`$ref`in e?e:po(e),i=e.map(e=>({...e,resource:_s(e.resource),...`key`in e&&{key:r(e.key)},...e.op===`reorder`&&{keys:e.keys.map(r)}}));return Ss(await(await t({method:`POST`,path:`:batchWrite`,body:{ops:i}})).json(),n)},facets:async(e,n,r={})=>(await(await t({method:`GET`,path:`/${_s(e)}:facets`,query:ns({field:n,filter:Qo(r.filter)||void 0,limit:r.limit,label:r.label})})).json()).facets,series:async(e,n)=>{let r=await(await t({method:`GET`,path:`/${_s(e)}:series`,query:ns({field:n.field,range:n.range,from:n.from,to:n.to,granularity:n.granularity,time_zone:n.timeZone,filter:Qo(n.filter)||void 0})})).json();return{field:r.field,granularity:r.granularity,timeZone:r.time_zone,points:r.points}},histogram:async(e,n,r={})=>(await t({method:`GET`,path:`/${_s(e)}:histogram`,query:ns({field:n,buckets:r.buckets,filter:Qo(r.filter)||void 0})})).json(),map:async(e,r)=>{let i=await(await t({method:`GET`,path:`/${_s(e)}:map`,query:ns({latitude:r.latitude,longitude:r.longitude,zoom:r.zoom,filter:Qo(r.filter)||void 0,order_by:r.orderBy,fields:r.fields?.join(`,`),labels:$o(r.labels)?.join(`,`),...es(r.photos)})})).json();return{items:i.items.map(e=>ss(e,n)),buckets:i.buckets,totalSize:i.total_size,...i.labels!==void 0&&{labels:i.labels},...i.photos!==void 0&&{photos:cs(i.photos,n)}}},seek:async(e,r)=>{let i=await t({method:`GET`,path:`/${_s(e)}:seek`,query:ns({...ts(r),position:r.position})});return ys(await i.json(),i,n)},meta:async(e,{signal:n}={})=>{let r=await t({method:`GET`,path:`/meta`,system:!0,headers:e?{"if-none-match":e}:void 0,accept:[304],...n&&{signal:n}});return r.status===304?{status:`unchanged`}:{status:`modified`,meta:await r.json(),etag:bs(r)}},invoke:async(e,{method:n,body:r,path:i=``,query:a,headers:o}={})=>{let s=await t({method:n??(r===void 0?`GET`:`POST`),path:`/functions/${encodeURIComponent(e)}${i}`,query:a?`?${new URLSearchParams(a)}`:``,body:r,headers:o,system:!0});if(s.status!==204)return s.headers.get(`content-type`)?.includes(`json`)?s.json():s.text()},upload:async(e,n,r,{onProgress:i,signal:a}={})=>{let o=`name`in r&&typeof r.name==`string`?r.name:void 0,s=i&&typeof XMLHttpRequest<`u`?gs(i):void 0,c=await(await t({method:`POST`,path:`/${_s(e)}:upload`,query:`?${new URLSearchParams({field:n,...o!==void 0&&{name:o}})}`,raw:r,headers:{"content-type":r.type||`application/octet-stream`},...s&&{via:s},...a&&{signal:a}})).json();return i?.(r.size,r.size),c}}},ws=e=>typeof e==`string`?e:e.toModel().name,Ts=(e,t)=>{let n=n=>t(ws(n))??e;return{list:(e,t)=>n(e).list(e,t),search:(e,t)=>n(e).search(e,t),get:(e,t)=>n(e).get(e,t),create:(e,t)=>n(e).create(e,t),update:(e,t,r,i)=>n(e).update(e,t,r,i),remove:(e,t,r)=>n(e).remove(e,t,r),undelete:(e,t)=>n(e).undelete(e,t),reveal:(e,t,r)=>n(e).reveal(e,t,r),batchWrite:t=>{let r=[...new Set(t.map(e=>n(e.resource)))];return r.length>1?Promise.reject(Error(`A batch writes to one API, but these writes are for ${[...new Set(t.map(e=>ws(e.resource)))].join(`, `)}, which different APIs serve`)):(r[0]??e).batchWrite(t)},facets:(e,t,r)=>n(e).facets(e,t,r),series:(e,t)=>n(e).series(e,t),histogram:(e,t,r)=>n(e).histogram(e,t,r),map:(e,t)=>n(e).map(e,t),seek:(e,t)=>n(e).seek(e,t),meta:(t,n)=>e.meta(t,n),invoke:(t,n)=>e.invoke(t,n),upload:(e,t,r,i)=>n(e).upload(e,t,r,i)}},Es=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.type==`string`&&Array.isArray(e.children),Ds=e=>typeof e==`object`&&!!e&&e.kind===`member`,Os=e=>Ds(e)?[e.path.join(`.`)]:typeof e!=`object`||!e?[]:Object.values(e).flatMap(Os),ks=e=>Ds(e)?{...e,path:[e.path.join(`.`)]}:Array.isArray(e)?e.map(ks):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,ks(t)])),As=e=>{let t=Pr(e);return t.ok?t.ast?{ok:!0,ast:t.ast,paths:[...new Set(Os(t.ast))]}:{ok:!1,message:`the condition is empty`}:{ok:!1,message:t.errors.map(e=>e.message).join(`; `)}},js=(e,t)=>e.ast!==void 0&&qi(ks(e.ast),t),Ms=(e,t)=>{let[n,r,...i]=e.split(`.`);return n&&r===`count`&&i.length===0&&!t(n)?n:void 0},Ns=(e,t,n)=>{let r=[],i=e[t],a=n.split(`.`);for(let[o,s]of a.entries()){if(!i)return{ok:!1,message:`unknown resource "${t}"`};let c=Object.hasOwn(i.fields,s)?i.fields[s]:void 0;if(!c)return{ok:!1,message:`unknown field "${a.slice(0,o+1).join(`.`)}" on ${i.name}`};if(r.push({model:i,field:c}),o===a.length-1)break;if(c.type!==`relation`||!c.relation)return{ok:!1,message:`"${a.slice(0,o+1).join(`.`)}" is not a relation, so "${n}" cannot go through it`};t=c.relation.resource,i=e[t]}return{ok:!0,steps:r}},Ps=(e,t)=>({...e,fields:Object.fromEntries(Object.entries(e.fields).map(([e,n])=>{if(!n.relation||Object.hasOwn(t,n.relation.resource))return[e,n];let{relation:r,...i}=n;return[e,i]}))}),Fs=(e,t)=>{if(e.kind!==`related`)return[e];if(!Object.hasOwn(t,e.resource)||e.through&&!Object.hasOwn(t,e.through.resource))return[];let{columns:n,...r}=e,i=n?.filter(n=>Ns(t,e.resource,n).ok);return[i&&i.length>0?{...r,columns:i}:r]},Is=(e,t,n)=>e.run?.kind!==`link`||!(`to`in e.run)||Po(e.run.to,{models:n,pages:new Set,source:t}).length===0,Ls=(e,t)=>({...e,layout:e.layout.flatMap(e=>Fs(e,t)),actions:e.actions.filter(n=>Is(n,t[e.resource],t))}),Rs=(e,t)=>{let n=e.resources.filter(e=>t.resources.includes(e.name)),r=Object.fromEntries(n.map(e=>[e.name,e])),i=n.map(e=>Ps(e,r)),a=Object.fromEntries(i.map(e=>[e.name,e]));return{resources:i,views:e.views.filter(e=>Object.hasOwn(a,e.resource)).map(e=>Ls(e,a)),permissions:Object.fromEntries(n.flatMap(t=>e.permissions?.[t.name]?[[t.name,e.permissions[t.name]]]:[]))}},zs=class extends Error{status;code;constructor(e,t,n){super(e),this.status=t,this.code=n,this.name=`AuthError`}},I=(e,t)=>new zs(e?.message||t,e?.status??500,e?.code),Bs=e=>({signInMethods:async()=>{let{data:t,error:n}=await e.$fetch(`/account/sign-in-methods`);if(n||!t)throw I(n,`Could not read your sign-in methods`);return t},passkeys:async()=>{let{data:t,error:n}=await e.passkey.listUserPasskeys();if(n||!t)throw I(n,`Could not read your passkeys`);return t.map(e=>({id:e.id,backedUp:e.backedUp,...e.name&&{name:e.name},...e.createdAt&&{createdAt:new Date(e.createdAt).toISOString()}}))},addPasskey:async t=>{let{error:n}=await e.passkey.addPasskey(t?{name:t}:{});if(n)throw I(n,`Could not add the passkey`)},renamePasskey:async(t,n)=>{let{error:r}=await e.passkey.updatePasskey({id:t,name:n});if(r)throw I(r,`Could not rename the passkey`)},removePasskey:async t=>{let{error:n}=await e.passkey.deletePasskey({id:t});if(n)throw I(n,`Could not remove the passkey`)},startAuthenticatorApp:async t=>{let{data:n,error:r}=await e.twoFactor.enable({method:`totp`,...t&&{password:t}});if(r||n?.method!==`totp`)throw I(r,`Could not start two-factor authentication`);return{totpURI:n.totpURI,backupCodes:n.backupCodes}},confirmAuthenticatorApp:async t=>{let{error:n}=await e.twoFactor.verifyTotp({code:t});if(n)throw I(n,`The code did not work`)},turnOnEmailedCodes:async t=>{let{error:n}=await e.twoFactor.enable({method:`otp`,...t&&{password:t}});if(n)throw I(n,`Could not turn on two-factor authentication`)},turnOffTwoFactor:async t=>{let{error:n}=await e.twoFactor.disable(t?{password:t}:{});if(n)throw I(n,`Could not turn off two-factor authentication`)},linkedProviders:async()=>{let{data:t,error:n}=await e.listAccounts();if(n||!t)throw I(n,`Could not read your linked accounts`);return[...new Set(t.map(e=>e.providerId).filter(e=>e!==`credential`))]},linkProvider:async(t,n)=>{let{data:r,error:i}=await e.linkSocial({provider:t,callbackURL:n,errorCallbackURL:n,disableRedirect:!0});if(i||!r?.url)throw I(i,`Could not start linking the account`);return r.url},newBackupCodes:async t=>{let{data:n,error:r}=await e.twoFactor.generateBackupCodes(t?{password:t}:{});if(r||!n)throw I(r,`Could not make new backup codes`);return n.backupCodes}});function Vs(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]))}var Hs=Vs({CHALLENGE_NOT_FOUND:`Challenge not found`,YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY:`You are not allowed to register this passkey`,FAILED_TO_VERIFY_REGISTRATION:`Failed to verify registration`,PASSKEY_NOT_FOUND:`Passkey not found`,AUTHENTICATION_FAILED:`Authentication failed`,UNABLE_TO_CREATE_SESSION:`Unable to create session`,USER_NOT_FOUND:`User not found`,FAILED_TO_UPDATE_PASSKEY:`Failed to update passkey`,PREVIOUSLY_REGISTERED:`Previously registered`,REGISTRATION_CANCELLED:`Registration cancelled`,AUTH_CANCELLED:`Auth cancelled`,UNKNOWN_ERROR:`Unknown error`,SESSION_REQUIRED:`Passkey registration requires an authenticated session`,RESOLVE_USER_REQUIRED:`Passkey registration requires either an authenticated session or a resolveUser callback when requireSession is false`,RESOLVED_USER_INVALID:`Resolved user is invalid`}),Us=`1.7.7`;function Ws(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function Gs(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function Ks(){return qs.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var qs={stubThis:e=>e};function Js(e){let{id:t}=e;return{...e,id:Gs(t),transports:e.transports}}function Ys(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var Xs=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function Zs({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Xs({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new Xs({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new Xs({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new Xs({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new Xs({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Xs({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new Xs({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Xs({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Ys(t))return new Xs({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Xs({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new Xs({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new Xs({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var Qs=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},$s=[`cross-platform`,`platform`];function ec(e){if(e&&!($s.indexOf(e)<0))return e}async function tc(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!Ks())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:Gs(t.challenge),user:{...t.user,id:Gs(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Js)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Qs.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Zs({error:e,options:i})}if(!a)throw Error(`Registration was not completed`);let{id:o,rawId:s,response:c,type:l}=a,u;typeof c.getTransports==`function`&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm==`function`)try{d=c.getPublicKeyAlgorithm()}catch(e){nc(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Ws(e))}catch(e){nc(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Ws(c.getAuthenticatorData())}catch(e){nc(`getAuthenticatorData()`,e)}return{id:o,rawId:Ws(s),response:{attestationObject:Ws(c.attestationObject),clientDataJSON:Ws(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:ec(a.authenticatorAttachment)}}function nc(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function rc(){if(!Ks())return ic.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?ic.stubThis(new Promise(e=>e(!1))):ic.stubThis(e.isConditionalMediationAvailable())}var ic={stubThis:e=>e};function ac({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Xs({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Xs({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Ys(t))return new Xs({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Xs({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new Xs({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function oc(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!Ks())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Js));let a={...t,challenge:Gs(t.challenge),allowCredentials:i},o={};if(n){if(!await rc())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=Qs.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw ac({error:e,options:o})}if(!s)throw Error(`Authentication was not completed`);let{id:c,rawId:l,response:u,type:d}=s,f;return u.userHandle&&(f=Ws(u.userHandle)),{id:c,rawId:Ws(l),response:{authenticatorData:Ws(u.authenticatorData),clientDataJSON:Ws(u.clientDataJSON),signature:Ws(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:ec(s.authenticatorAttachment)}}var sc=`1.7.7`,cc=Symbol.for(`better-auth:broadcast-channel`),See=()=>Math.floor(Date.now()/1e3),Cee=class{listeners=new Set;name;constructor(e=`better-auth.message`){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if(typeof window<`u`)try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:See()}))}catch{}}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??`{}`);t?.event===`session`&&t?.data&&this.listeners.forEach(e=>e(t))};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}}};function lc(e=`better-auth.message`){return globalThis[cc]||(globalThis[cc]=new Cee(e)),globalThis[cc]}var uc=[],dc=0,fc=null,pc=4,wee=globalThis.nanostoresGlobal||={epoch:0},Tee=()=>{let e,t;for(;dc<uc.length;){t=dc,dc+=pc;let n=fc?.get(uc[t]);if(n){if(!n.has(uc[t+1]))continue;n.clear()}try{uc[t](uc[t+1].value,uc[t+2],uc[t+3])}catch(t){e=t}}if(uc.length=dc=0,e)throw e},mc=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{fc?.get(e)?.delete(n);for(let t=dc;t<uc.length;)uc[t]===e&&uc[t+1]===n?uc.splice(t,pc):t+=pc;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){wee.epoch++;let i=!uc.length&&!0;for(let i of t)uc.push(i,n,e,r);i&&Tee()},off(){},set(e){let t=n.value;n.eq(t,e)||(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},Eee=2,Dee=5,hc=6,gc=10,_c=(e,t,n,r)=>(e.events=e.events||{},e.events[n+gc]||(e.events[n+gc]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);~i&&(r.splice(i,1),r.length||(e.events[n+gc](),delete e.events[n+gc]))}),Oee=(e,t)=>_c(e,t,Eee,t=>{let n=e.set,r=e.setKey;return e.setKey&&=(n,i)=>{let a;if(t({abort:()=>{a=!0},changed:n,newValue:{...e.value,[n]:i}}),!a)return r(n,i)},e.set=e=>{let r;if(t({abort:()=>{r=!0},newValue:e}),!r)return n(e)},()=>{e.set=n,e.setKey=r}}),vc=1e3,yc=(e,t)=>_c(e,n=>{let r=t(n);r&&e.events[hc].push(r)},Dee,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[hc]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[hc])t();e.events[hc]=[]}},vc)},()=>{e.listen=n,e.off=r}});function bc(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function xc(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!xc(e[n],t[n]))return!1;return!0}if(bc(e)&&bc(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!(r in t)||!xc(e[r],t[r]))return!1;return!0}return!1}function Sc(e,t){return Oee(e,({newValue:n,abort:r})=>{t(e.value,n)&&r()})}var Cc=Symbol.for(`better-auth:focus-manager`),kee=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||typeof document>`u`||window.addEventListener===void 0)return()=>{};let e=()=>{document.visibilityState===`visible`&&this.setFocused(!0)};return document.addEventListener(`visibilitychange`,e,!1),()=>{document.removeEventListener(`visibilitychange`,e,!1)}}};function wc(){return globalThis[Cc]||(globalThis[Cc]=new kee),globalThis[Cc]}var Tc=Symbol.for(`better-auth:online-manager`),Aee=class{listeners=new Set;isOnline=typeof navigator<`u`?navigator.onLine:!0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener(`online`,e,!1),window.addEventListener(`offline`,t,!1),()=>{window.removeEventListener(`online`,e,!1),window.removeEventListener(`offline`,t,!1)}}};function Ec(){return globalThis[Tc]||(globalThis[Tc]=new Aee),globalThis[Tc]}var jee={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},Mee=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,Dc={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},Nee=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function Pee(e){return e instanceof Date&&!isNaN(e.getTime())}function Fee(e){let t=Nee.exec(e);if(!t)return null;let[,n,r,i,a,o,s,c,l,u,d]=t,f=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(i,10),parseInt(a,10),parseInt(o,10),parseInt(s,10),c?parseInt(c.padEnd(3,`0`),10):0));if(l){let e=(parseInt(u,10)*60+parseInt(d,10))*(l===`+`?-1:1);f.setUTCMinutes(f.getUTCMinutes()+e)}return Pee(f)?f:null}function Iee(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:i,parseDates:a=!0}=t;if(typeof e!=`string`)return e;let o=e.trim(),s=o.toLowerCase();if(s.length<=9&&s in Dc)return Dc[s];if(!Mee.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(jee).some(([e,t])=>{let n=t.test(o);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error(`[better-json] Potential prototype pollution attempt detected`);try{return JSON.parse(o,(e,t)=>{if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);return}if(a&&typeof t==`string`){let e=Fee(t);if(e)return e}return i?i(e,t):t})}catch(t){if(n)throw t;return e}}function Lee(e,t={strict:!0}){return Iee(e,t)}var Ree=Symbol.for(`better-auth:auth-query`);function Oc(e){let t=mc(e);return Object.defineProperty(t,Ree,{value:!0}),t}var zee=()=>typeof window>`u`;function Bee(e,t){return xc(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}var kc=(e,t,n,r)=>{let i=Oc({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>o(e)});yc(i,()=>Sc(i,Bee));let a=0,o=async e=>{let o=++a;return new Promise(s=>{let c=typeof r==`function`?r({data:i.get().data,error:i.get().error,isPending:i.get().isPending}):r;n(t,{...c,query:{...c?.query,...e?.query},async onSuccess(e){if(o===a){let t=i.get(),n=t.data!=null&&e.data!=null&&xc(t.data,e.data)?t.data:e.data;i.set({data:n,error:null,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onSuccess?.(e)},async onError(e){let{request:t}=e,n=typeof t.retry==`number`?t.retry:t.retry?.attempts,r=t.retryAttempt||0;if(!(n&&r<n)){if(o===a){let t=e.error.status===401;i.set({error:e.error,data:t?null:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onError?.(e)}},async onRequest(e){if(o===a){let e=i.get();i.set({isPending:e.data===null,data:e.data,error:null,isRefetching:!0,refetch:i.value.refetch})}await c?.onRequest?.(e)}}).catch(e=>{o===a&&i.set({error:e,data:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}).finally(()=>{s(void 0)})})};e=Array.isArray(e)?e:[e];let s=!1,c=!1,l=!1,u=()=>{if(s){l=!0;return}s=!0,o().finally(()=>{s=!1;let e=l&&c;l=!1,e&&u()})};return yc(i,()=>{if(zee())return;c=!0;let t=!1,n,r=e.map(e=>e.listen(()=>{t?o():(t=!0,clearTimeout(n),u())}));return n=setTimeout(()=>{t=!0,u()},0),()=>{c=!1;for(let e of r)e();clearTimeout(n)}}),i},Ac=()=>Math.floor(Date.now()/1e3),jc=5;function Mc(e){let{fetchSession:t,shouldPollSession:n=()=>!0,sessionSignal:r,options:i={}}=e,a=i.sessionOptions?.refetchInterval??0,o=i.sessionOptions?.refetchOnWindowFocus??!0,s=i.sessionOptions?.refetchWhenOffline??!1,c={isInitialized:!1,lastSessionRequest:0},l=()=>s||Ec().isOnline,u=e=>{if(l()){if(e?.event===`storage`){t();return}if(e?.event===`poll`){c.lastSessionRequest=Ac(),t();return}if(e?.event===`visibilitychange`){if(Ac()-c.lastSessionRequest<jc)return;c.lastSessionRequest=Ac(),t();return}t()}},d=e=>{lc().post({event:`session`,data:{trigger:e},clientId:Math.random().toString(36).substring(7)})},f=()=>{a&&a>0&&(c.pollInterval=setInterval(()=>{n()&&u({event:`poll`})},a*1e3))},p=()=>{c.unsubscribeBroadcast=lc().subscribe(()=>{u({event:`storage`})})},m=()=>{o&&(c.unsubscribeFocus=wc().subscribe(()=>{u({event:`visibilitychange`})}))},h=()=>{c.unsubscribeOnline=Ec().subscribe(e=>{e&&u({event:`visibilitychange`})})},g=()=>{c.unsubscribeSignal=r.listen(()=>{t()})};return{init:()=>{c.isInitialized||(c.isInitialized=!0,f(),p(),m(),h(),g(),c.cleanupBroadcastSetup=lc().setup(),c.cleanupFocusSetup=wc().setup(),c.cleanupOnlineSetup=Ec().setup())},cleanup:()=>{c.isInitialized&&(c.pollInterval&&=(clearInterval(c.pollInterval),void 0),c.unsubscribeBroadcast&&=(c.unsubscribeBroadcast(),void 0),c.unsubscribeFocus&&=(c.unsubscribeFocus(),void 0),c.unsubscribeOnline&&=(c.unsubscribeOnline(),void 0),c.unsubscribeSignal&&=(c.unsubscribeSignal(),void 0),c.cleanupBroadcastSetup&&=(c.cleanupBroadcastSetup(),void 0),c.cleanupFocusSetup&&=(c.cleanupFocusSetup(),void 0),c.cleanupOnlineSetup&&=(c.cleanupOnlineSetup(),void 0),c.isInitialized=!1,c.lastSessionRequest=0)},triggerRefetch:u,broadcastSessionUpdate:d}}var Nc=Object.create(null),Pc=e=>({}),Fc=new Proxy(Nc,{get(e,t){return Pc()[t]??Nc[t]},has(e,t){return t in Pc()||t in Nc},set(e,t,n){let r=Pc(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=Pc(!0);return delete n[t],!0},ownKeys(){let e=Pc(!0);return Object.keys(e)}});Fc.NODE_ENV;function Ic(e,t){return typeof process<`u`?{}[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}Object.freeze({get BETTER_AUTH_SECRET(){return Ic(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return Ic(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return Ic(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return Ic(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return Ic(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return Ic(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return Ic(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}});function Lc(){let e=Object.getOwnPropertyDescriptor(Error,`stackTraceLimit`);return e===void 0?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,`writable`)?e.writable:e.set!==void 0}function Rc(e){let t=e.split(`
5
5
  at `);return t.length<=1?e:(t.splice(1,1),t.join(`
6
- at `))}function zc(e,t){class n extends e{#e;constructor(...e){if(Lc()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=Rc(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}return Object.defineProperty(n.prototype,"constructor",{get(){return t},enumerable:!1,configurable:!0}),n}var Bc={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};zc(class extends Error{status;body;headers;statusCode;constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:Bc[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name=`APIError`,this.status=e,this.headers=n,this.statusCode=r,this.body=t}},Error);var Vc=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},Hc=47;function Uc(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===Hc;)t--;return t===e.length?e:e.slice(0,t)}function Wc(e){try{return(Uc(new URL(e).pathname)||`/`)!==`/`}catch{throw new Vc(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}function Gc(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new Vc(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){throw t instanceof Vc?t:new Vc(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}}function Kc(e,t=`/api/auth`){if(Gc(e),Wc(e))return e;let n=Uc(e);return!t||t===`/`?n:(t=t.startsWith(`/`)?t:`/${t}`,`${n}${t}`)}function qc(e,t){return!e||e.trim()===``?!1:t===`proto`?e===`http`||e===`https`:t===`host`?[/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some(t=>t.test(e))?!1:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(e)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(e)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(e)||/^localhost(:[0-9]{1,5})?$/i.test(e):!1}function Jc(e,t,n,r,i){if(e)return Kc(e,t);if(r!==!1){let e=Fc.BETTER_AUTH_URL||Fc.NEXT_PUBLIC_BETTER_AUTH_URL||Fc.PUBLIC_BETTER_AUTH_URL||Fc.NUXT_PUBLIC_BETTER_AUTH_URL||Fc.NUXT_PUBLIC_AUTH_URL||(Fc.BASE_URL===`/`?void 0:Fc.BASE_URL);if(e)return Kc(e,t)}let a=n?.headers.get(`x-forwarded-host`),o=n?.headers.get(`x-forwarded-proto`);if(a&&o&&i&&qc(o,`proto`)&&qc(a,`host`))try{return Kc(`${o}://${a}`,t)}catch{}if(n){let e=Yc(n.url);if(!e)throw new Vc(`Could not get origin from request. Please provide a valid base URL.`);return Kc(e,t)}if(typeof window<`u`&&window.location)return Kc(window.location.origin,t)}function Yc(e){try{let t=new URL(e);return t.origin===`null`?null:t.origin}catch{return null}}var Xc=[`javascript:`,`data:`,`vbscript:`];function Zc(e){let t;try{t=new URL(e)}catch{return!0}return!Xc.includes(t.protocol)}var Qc={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&Zc(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},$c=()=>typeof window>`u`,el=vc;function tl(e,t){if(typeof window>`u`)return;let n=e.get();n.data===null&&t!==null&&e.set({...n,data:t,error:null,isPending:!1})}function nl(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}function rl(e){return!e||e.session===null&&e.user===null?null:e}function il(e,t){return xc(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function al(e,t){let n=mc(!1),r,i=0,a=0;n.listen(()=>{a++,i=0});let o=e=>u(e),s=Oc({data:null,error:null,isPending:!0,isRefetching:!1,refetch:o});Sc(s,il);let c=async(t,n)=>{let r=s.value;if(s.set({...r,isPending:r.data===null,isRefetching:!0,error:null,refetch:o}),t.aborted)return`aborted`;try{let r=await e(`/get-session`,{method:`GET`,query:n?.query,signal:t});if(t.aborted)return`aborted`;let{data:i,error:a}=nl(r),c=`fresh`;if(i?.needsRefresh)try{let n=await e(`/get-session`,{method:`POST`,signal:t});if(t.aborted)return`aborted`;({data:i,error:a}=nl(n))}catch{if(t.aborted)return`aborted`;c=`stale`}if(a){let e=s.value,t=a?.status===401;return s.set({data:t?null:e.data,error:a,isPending:!1,isRefetching:!1,refetch:o}),`failed`}let l=rl(i),u=s.value,d=u.data!=null&&l!=null&&xc(u.data,l)?u.data:l;return s.set({data:d,error:null,isPending:!1,isRefetching:!1,refetch:o}),c}catch(e){if(t.aborted)return`aborted`;let n=s.value;return s.set({data:n.data,error:e,isPending:!1,isRefetching:!1,refetch:o}),`failed`}},l=()=>{let e=s.value.data?.session?.expiresAt,t=e instanceof Date?e.getTime():1/0;return Math.min(Date.now()+el,t)},u=e=>{i=0,r?.cancel();let t=new AbortController,n={cancel:()=>t.abort(),promise:Promise.resolve().then(()=>t.signal.aborted?`aborted`:c(t.signal,e)),revision:a};r=n;let o=e=>{r===n&&(r=void 0,e===`fresh`&&n.revision===a&&(i=l()))};return n.promise.then(o,()=>o(`failed`)),n.promise.then(()=>void 0)},d=()=>r?.revision===a?r.promise.then(()=>void 0):Date.now()<i?Promise.resolve():u(),f=()=>{};return yc(s,()=>{let e;$c()||(e=setTimeout(()=>{d()},0));let r=Mc({fetchSession:u,shouldPollSession:()=>s.value.data!=null,sessionSignal:n,options:t});return r.init(),f=r.broadcastSessionUpdate,()=>{e&&clearTimeout(e),r.cleanup()}}),{session:s,$sessionSignal:n,broadcastSessionUpdate:e=>f(e)}}function ol(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function sl(e,t,n=`.`,r){if(!ol(t))return sl(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:ol(a)&&ol(i[t])?sl(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function cl(e){return(...t)=>t.reduce((t,n)=>sl(t,n,``,e),{})}var ll=cl(),ul=class extends Error{constructor(e,t,n){super(t||e.toString(),{cause:n}),this.status=e,this.statusText=t,this.error=n,Error.captureStackTrace(this,this.constructor)}},dl=async(e,t)=>{let n=t||{},r={onRequest:[t?.onRequest],onResponse:[t?.onResponse],onSuccess:[t?.onSuccess],onError:[t?.onError],onRetry:[t?.onRetry]};if(!t||!t?.plugins)return{url:e,options:n,hooks:r};for(let i of t?.plugins||[]){if(i.init){let t=await i.init?.call(i,e.toString(),n);n=t.options||n,e=t.url}r.onRequest.push(i.hooks?.onRequest),r.onResponse.push(i.hooks?.onResponse),r.onSuccess.push(i.hooks?.onSuccess),r.onError.push(i.hooks?.onError),r.onRetry.push(i.hooks?.onRetry)}return{url:e,options:n,hooks:r}},fl=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},pl=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}};function ml(e){if(typeof e==`number`)return new fl({type:`linear`,attempts:e,delay:1e3});switch(e.type){case`linear`:return new fl(e);case`exponential`:return new pl(e);default:throw Error(`Invalid retry strategy`)}}var hl=[`get`,`post`,`put`,`patch`,`delete`];function gl(e){if(!e.startsWith(`@`))return{method:void 0,path:e};let t=e.indexOf(`/`),n=e.slice(1,t===-1?void 0:t);return hl.includes(n)?{method:n,path:t===-1?e:e.slice(t+1)}:{method:void 0,path:e}}var _l=e=>e===`.`||e===`..`,vl=e=>e.split(`:`).map(e=>encodeURIComponent(e)).join(`:`);function yl(e,t){let n=t.get(e);if(n===void 0)return vl(e);if(_l(n))throw TypeError(`Path parameters cannot be reserved path segments`);return encodeURIComponent(n)}function bl(e,t){let{baseURL:n,params:r,query:i}=t||{query:{},params:{},baseURL:``},a=e.startsWith(`http`)?e.split(`/`).slice(0,3).join(`/`):n||``,{path:o}=gl(e);o!==e&&(e=`/${o}`),a.endsWith(`/`)||(a+=`/`);let[s,c]=e.replace(a,``).split(`?`),l=new URLSearchParams(c);for(let[e,t]of Object.entries(i||{})){if(t==null)continue;let n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let n of t)l.append(e,n);continue}else n=JSON.stringify(t);l.set(e,n)}let u=new Map;if(r){if(Array.isArray(r)){let e=s.split(`/`).filter(e=>e.startsWith(`:`));for(let[t,n]of e.entries()){let e=r[t];u.set(n,String(e))}}else for(let[e,t]of Object.entries(r))u.set(`:${e}`,String(t))}s=s.split(`/`).map(e=>yl(e,u)).join(`/`),s=s.replace(/^\/+/,``);let d=l.toString();return d=d.length>0?`?${d}`.replace(/\+/g,`%20`):``,a.startsWith(`http`)?new URL(`${s}${d}`,a):`${a}${s}${d}`}var xl=async e=>{let t={},n=async e=>typeof e==`function`?await e():e;if(e?.auth){if(e.auth.type===`Bearer`){let r=await n(e.auth.token);if(!r)return t;t.authorization=`Bearer ${r}`}else if(e.auth.type===`Basic`){let[r,i]=await Promise.all([n(e.auth.username),n(e.auth.password)]);if(!r||!i)return t;t.authorization=`Basic ${btoa(`${r}:${i}`)}`}else if(e.auth.type===`Custom`){let[r,i]=await Promise.all([n(e.auth.prefix),n(e.auth.value)]);if(!i)return t;t.authorization=`${r??``} ${i}`}}return t},Sl=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Cl(e){let t=e.headers.get(`content-type`),n=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]);if(!t)return`json`;let r=t.split(`;`).shift()||``;return Sl.test(r)?`json`:n.has(r)||r.startsWith(`text/`)?`text`:`blob`}function wl(e){try{return JSON.parse(e),!0}catch{return!1}}function Tl(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}function El(e){try{return JSON.parse(e)}catch{return e}}function Dl(e){return typeof e==`function`}function Ol(e){if(e?.customFetchImpl)return e.customFetchImpl;if(typeof globalThis<`u`&&Dl(globalThis.fetch))return globalThis.fetch;if(typeof window<`u`&&Dl(window.fetch))return window.fetch;throw Error(`No fetch implementation found`)}function kl(...e){let t={};for(let n of e)if(n){if(n instanceof Headers)n.forEach((e,n)=>{t[n]=e});else{let e=Array.isArray(n)?n:Object.entries(n);for(let[n,r]of e)r!=null&&(t[n]=r)}}return t}async function Al(e){let t=new Headers(kl(e?.headers,await xl(e)));if(!t.has(`content-type`)){let n=jl(e?.body);n&&t.set(`content-type`,n)}return t}function jl(e){return Tl(e)?`application/json`:null}function Ml(e){let t=e.get(`content-type`);return t?t.split(`;`)[0].trim().toLowerCase():null}function Nl(e,t){let{body:n}=e;return n?!Tl(n)||typeof n==`string`?n:Ml(t)===`application/x-www-form-urlencoded`?new URLSearchParams(n).toString():JSON.stringify(n):null}function Pl(e,t){if(t?.method)return t.method.toUpperCase();let{method:n}=gl(e);return n?n.toUpperCase():t?.body?`POST`:`GET`}function Fl(e,t){let n;return!e?.signal&&e?.timeout&&(n=setTimeout(()=>t?.abort(),e?.timeout)),{abortTimeout:n,clearTimeout:()=>{n&&clearTimeout(n)}}}var Il=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function Ll(e,t){let n=await e[`~standard`].validate(t);if(n.issues)throw new Il(n.issues);return n.value}function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Rl(e)}function zl(e,t){if(Rl(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Rl(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Bl(e){var t=zl(e,`string`);return Rl(t)==`symbol`?t:t+``}function Vl(e,t,n){return(t=Bl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Hl(Object(n),!0).forEach(function(t){Vl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ul=async(e,t)=>{var n;let{hooks:r,url:i,options:a}=await dl(e,t),o=Ol(a),s=new AbortController,c=a.signal??s.signal,l=bl(i,a),u=await Al(a),d=Nl(a,u),f=Pl(i,a),p=L(L({},a),{},{url:l,headers:u,body:d,method:f,signal:c});for(let e of r.onRequest)if(e){let t=await e(p);typeof t==`object`&&t&&Object.assign(p,t)}(`pipeTo`in p&&typeof p.pipeTo==`function`||typeof(t==null||(n=t.body)==null?void 0:n.pipe)==`function`)&&(`duplex`in p||(p.duplex=`half`));let{clearTimeout:m}=Fl(a,s),h=await o(p.url,p);m();let g={response:h,request:p};for(let e of r.onResponse)if(e){var _;let n=await e(L(L({},g),{},{response:t!=null&&(_=t.hookOptions)!=null&&_.cloneResponse?h.clone():h}));n instanceof Response?h=n:typeof n==`object`&&n&&(h=n.response)}if(h.ok){if(p.method===`HEAD`)return{data:``,error:null};let e=Cl(h),n={data:null,response:h,request:p};if(e===`json`||e===`text`){let e=await h.text();n.data=await(p.jsonParser??El)(e)}else n.data=await h[e]();p?.output&&p.output&&!p.disableValidation&&(n.data=await Ll(p.output,n.data));for(let e of r.onSuccess)if(e){var v;await e(L(L({},n),{},{response:t!=null&&(v=t.hookOptions)!=null&&v.cloneResponse?h.clone():h}))}return t?.throw?n.data:{data:n.data,error:null}}let y=t?.jsonParser??El,b=await h.text(),x=wl(b),S=x?await y(b):null,C={response:h,responseText:b,request:p,error:L(L({},S),{},{status:h.status,statusText:h.statusText})};for(let e of r.onError)if(e){var w;await e(L(L({},C),{},{response:t!=null&&(w=t.hookOptions)!=null&&w.cloneResponse?h.clone():h}))}if(t?.retry){let n=ml(t.retry),i=t.retryAttempt??0;if(await n.shouldAttemptRetry(i,h)){for(let e of r.onRetry)e&&await e(g);let a=n.getDelay(i);return await new Promise(e=>setTimeout(e,a)),await Ul(e,L(L({},t),{},{retryAttempt:i+1}))}}if(t?.throw)throw new ul(h.status,h.statusText,x?S:b);return{data:null,error:L(L({},S),{},{status:h.status,statusText:h.statusText})}},Wl=e=>({id:`apply-schema`,name:`Apply Schema`,version:`1.0.0`,async init(t,n){var r;let i=L(L({},n),e.query!==void 0&&{query:L(L({},e.query),n?.query)}),a=((r=e.plugins)==null||(r=r.find(e=>e.schema?.config?t.startsWith(e.schema.config.baseURL||``)||t.startsWith(e.schema.config.prefix||``):!1))==null?void 0:r.schema)||e.schema;if(a){let r=t;a.config?.prefix&&r.startsWith(a.config.prefix)&&(r=r.replace(a.config.prefix,``),a.config.baseURL&&(t=t.replace(a.config.prefix,a.config.baseURL))),a.config?.baseURL&&r.startsWith(a.config.baseURL)&&(r=r.replace(a.config.baseURL,``)),r.startsWith(`/`)&&r.charAt(1)===`@`&&(r=r.substring(1));let o=a.schema[r];if(o){let{method:a,path:s}=gl(r);a&&(t=t.slice(0,t.length-r.length)+s);let c=n?.headers;if(o.headers&&!n?.disableValidation){let e={};if(n?.headers){if(n.headers instanceof Headers)n.headers.forEach((t,n)=>{e[n.toLowerCase()]=t});else if(typeof n.headers==`object`)for(let[t,r]of Object.entries(n.headers))r!=null&&(e[t.toLowerCase()]=r)}let t=await Ll(o.headers,e),r={};for(let[e,n]of Object.entries(t))r[e.toLowerCase()]=n;c=r}let l=o.method??a;if(i=L(L(L(L({},i),l!==void 0&&{method:l}),o.output!==void 0&&{output:o.output}),c!==void 0&&{headers:c}),!n?.disableValidation){if(o.query&&(i.query=await Ll(o.query,n?.query),i.query!==null&&typeof i.query==`object`)){let t=L({},e.query);for(let e of Object.keys(t))n?.query&&Object.prototype.hasOwnProperty.call(n.query,e)&&(t[e]=n.query[e]);i.query=L(L({},t),i.query)}i=L(L({},i),{},{body:o.input?await Ll(o.input,n?.body):n?.body,params:o.params?await Ll(o.params,n?.params):n?.params})}return{url:t,options:i}}}return L({url:t},(n!==void 0||e.query!==void 0)&&{options:i})}}),Gl=e=>{async function t(t,n){let r=L(L(L({},e),n),{},{headers:kl(e?.headers,n?.headers),plugins:[...e?.plugins||[],Wl(e||{}),...n?.plugins||[]]});if(e?.catchAllError)try{return await Ul(t,r)}catch(e){return{data:null,error:{status:500,statusText:`Fetch Error`,message:`Fetch related error. Captured by catchAllError option. See error property for more details.`,error:e}}}return await Ul(t,r)}return t},Kl=e=>{if(typeof process>`u`)return;let t=e??`/api/auth`;if({}.NEXT_PUBLIC_AUTH_URL)return{}.NEXT_PUBLIC_AUTH_URL;if(typeof window>`u`){if({}.NEXTAUTH_URL)try{return{}.NEXTAUTH_URL}catch{}if({}.VERCEL_URL)try{let e={}.VERCEL_URL.startsWith(`http`)?``:`https://`;return`${new URL(`${e}${{}.VERCEL_URL}`).origin}${t}`}catch{}}},ql=e=>e===`/sign-out`||e===`/update-user`||e===`/update-session`||e===`/sign-up/email`||e===`/sign-in/email`||e===`/delete-user`||e===`/verify-email`||e===`/revoke-sessions`||e===`/revoke-session`||e===`/revoke-other-sessions`||e===`/change-email`||e===`/change-password`,Jl=(e,t)=>{let n=`credentials`in Request.prototype,r=Jc(e?.baseURL,e?.basePath,void 0,t)??Kl(e?.basePath)??`/api/auth`,i=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>e!==void 0)||[],a={id:`lifecycle-hooks`,name:`lifecycle-hooks`,hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:o,onError:s,onRequest:c,onResponse:l,...u}=e?.fetchOptions||{},d=Gl({baseURL:r,...n?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?Lee(e,{strict:!1}):null},customFetchImpl:fetch,...u,plugins:[a,...u.plugins||[],...e?.disableDefaultFetchPlugins?[]:[Qc],...i]}),{$sessionSignal:f,session:p,broadcastSessionUpdate:m}=al(d,e),h=!1,g=e=>{h||e===null||(h=!0,tl(p,e))},_=e?.plugins||[],v={},y={$sessionSignal:f,session:p},b={"/sign-out":`POST`,"/revoke-sessions":`POST`,"/revoke-other-sessions":`POST`,"/delete-user":`POST`},x=[{signal:`$sessionSignal`,matcher:ql,callback(e){e===`/sign-out`?m(`signout`):(e===`/update-user`||e===`/update-session`)&&m(`updateUser`)}}];for(let e of _)e.getAtoms&&Object.assign(y,e.getAtoms?.(d)),e.pathMethods&&Object.assign(b,e.pathMethods),e.atomListeners&&x.push(...e.atomListeners);let S={notify:e=>{y[e].set(!y[e].get())},listen:(e,t)=>{y[e].subscribe(t)},atoms:y};for(let t of _)t.getActions&&(v=ll(t.getActions?.(d,S,e)??{},v));return{get baseURL(){return r},pluginsActions:v,pluginsAtoms:y,pluginPathMethods:b,atomListeners:x,hydrateSession:g,$sessionSignal:f,$fetch:d,$store:S}};function Yl(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function Xl(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Zl=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,Ql=/['\u2019]/g;function $l(e){return e.replace(Ql,``).match(Zl)??[]}function eu(e){return $l(e).map(e=>e.toLowerCase()).join(`-`)}function tu(e,t,n){let r=t[e],{fetchOptions:i,query:a,...o}=n||{};return r||(i?.method?i.method:o&&Object.keys(o).length>0?`POST`:`GET`)}function nu(e,t,n,r,i){function a(o=[]){return new Proxy(function(){},{get(t,n){if(typeof n!=`string`||n===`then`||n===`catch`||n===`finally`)return;let r=[...o,n],i=e;for(let e of r)if(i&&typeof i==`object`&&e in i)i=i[e];else{i=void 0;break}return typeof i==`function`||Yl(i)?i:a(r)},apply:async(e,a,s)=>{let c=`/`+o.map(eu).join(`/`),l=s[0]||{},u=s[1]||{},{query:d,fetchOptions:f,...p}=l,m={...u,...f},h=tu(c,n,l);return await t(c,{...m,body:h===`GET`?void 0:{...p,...m?.body||{}},query:d||m?.query,method:h,async onSuccess(e){if(await m?.onSuccess?.(e),!i||m.disableSignal)return;let t=i.filter(e=>e.matcher(c));if(!t.length)return;let n=new Set;for(let e of t){let t=r[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let i=t.get();setTimeout(()=>{t.set(!i)},10),e.callback?.(c)}}})}})}return a()}function ru(e){let{pluginPathMethods:t,pluginsActions:n,pluginsAtoms:r,hydrateSession:i,$fetch:a,atomListeners:o,$store:s}=Jl(e),c={};for(let[e,t]of Object.entries(r))c[`use${Xl(e)}`]=t;return nu({...n,...c,hydrateSession:i,$fetch:a,$store:s},a,t,r,o)}var iu=(e,{$listPasskeys:t,$store:n})=>({signIn:{passkey:async(r,i)=>{let a=await e(`/passkey/generate-authenticate-options`,{method:`GET`,throw:!1});if(!a.data)return a;let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s;try{s=await oc({optionsJSON:{...a.data,extensions:o},useBrowserAutofill:r?.autoFill})}catch(e){return{data:null,error:{code:e instanceof Xs?e.code:`AUTH_CANCELLED`,message:Hs.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}try{let{clientExtensionResults:a,...o}=s,c=await e(`/passkey/verify-authentication`,{body:{response:o},...r?.fetchOptions,...i,method:`POST`,throw:!1});return t.set(Math.random()),n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...c,webauthn:{response:s,clientExtensionResults:a}}:c}catch(e){return console.error(`[Better Auth] Error verifying passkey`,e),{data:null,error:{code:`AUTH_CANCELLED`,message:Hs.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}}},passkey:{addPasskey:async(r,i)=>{let a=await e(`/passkey/generate-register-options`,{method:`GET`,query:{...r?.authenticatorAttachment&&{authenticatorAttachment:r.authenticatorAttachment},...r?.name&&{name:r.name},...r?.context&&{context:r.context}},throw:!1});if(!a.data)return a;try{let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s=await tc({optionsJSON:{...a.data,extensions:o},useAutoRegister:r?.useAutoRegister}),{clientExtensionResults:c,...l}=s,u=await e(`/passkey/verify-registration`,{...r?.fetchOptions,...i,body:{response:l,name:r?.name,...r?.createSession&&{createSession:!0}},method:`POST`,throw:!1});return u.data?(t.set(Math.random()),u.data.session&&n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...u,webauthn:{response:s,clientExtensionResults:c}}:u):u}catch(e){return e instanceof Xs?e.code===`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`?{data:null,error:{code:e.code,message:Hs.PREVIOUSLY_REGISTERED.message,status:400,statusText:`BAD_REQUEST`}}:e.code===`ERROR_CEREMONY_ABORTED`?{data:null,error:{code:e.code,message:Hs.REGISTRATION_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:e.code,message:e.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:`UNKNOWN_ERROR`,message:e instanceof Error?e.message:Hs.UNKNOWN_ERROR.message,status:500,statusText:`INTERNAL_SERVER_ERROR`}}}}},$Infer:{}}),au=()=>{let e=mc();return{id:`passkey`,version:Us,$InferServerPlugin:{},getActions:(t,n)=>iu(t,{$listPasskeys:e,$store:n}),getAtoms(t){return{listPasskeys:kc(e,`/passkey/list-user-passkeys`,t,{method:`GET`}),$listPasskeys:e}},pathMethods:{"/passkey/register":`POST`,"/passkey/authenticate":`POST`},atomListeners:[{matcher(e){return e===`/passkey/verify-registration`||e===`/passkey/delete-passkey`||e===`/passkey/update-passkey`||e===`/sign-out`},signal:`$listPasskeys`},{matcher:e=>e===`/passkey/verify-authentication`,signal:`$sessionSignal`}],$ERROR_CODES:Hs}},ou=Vs({OTP_EXPIRED:`OTP expired`,INVALID_OTP:`Invalid OTP`,TOO_MANY_ATTEMPTS:`Too many attempts`}),su=()=>({id:`email-otp`,version:sc,$InferServerPlugin:{},atomListeners:[{matcher:e=>e===`/email-otp/verify-email`||e===`/sign-in/email-otp`||e===`/email-otp/request-email-change`,signal:`$sessionSignal`}],$ERROR_CODES:ou}),cu=e=>{let t=e?.jwks?.jwksPath??`/jwks`;return{id:`better-auth-client`,version:sc,$InferServerPlugin:{},pathMethods:{[t]:`GET`},getActions:(e,n,r)=>({jwks:async n=>await e(t,{method:`GET`,...n})})}},lu=Vs({OTP_NOT_ENABLED:`OTP not enabled`,OTP_NOT_CONFIGURED:`OTP is not available`,OTP_HAS_EXPIRED:`OTP has expired`,TOTP_NOT_ENABLED:`TOTP not enabled`,TOTP_ALREADY_ENABLED:`TOTP is already enabled`,TOTP_NOT_CONFIGURED:`TOTP is not available`,TWO_FACTOR_NOT_ENABLED:`Two factor isn't enabled`,BACKUP_CODES_NOT_ENABLED:`Backup codes aren't enabled`,INVALID_BACKUP_CODE:`Invalid backup code`,INVALID_CODE:`Invalid code`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`Too many attempts. Please request a new code.`,ACCOUNT_TEMPORARILY_LOCKED:`Too many failed verification attempts. Your account is temporarily locked. Please try again later.`,INVALID_TWO_FACTOR_COOKIE:`Invalid two factor cookie`}),uu=e=>({id:`two-factor`,version:sc,$InferServerPlugin:{},atomListeners:[{matcher:e=>e.startsWith(`/two-factor/`),signal:`$sessionSignal`}],pathMethods:{"/two-factor/disable":`POST`,"/two-factor/enable":`POST`,"/two-factor/send-otp":`POST`,"/two-factor/generate-backup-codes":`POST`,"/two-factor/get-totp-uri":`POST`,"/two-factor/verify-totp":`POST`,"/two-factor/verify-otp":`POST`,"/two-factor/verify-backup-code":`POST`},fetchPlugins:[{id:`two-factor`,name:`two-factor`,hooks:{async onSuccess(t){if(t.data?.twoFactorRedirect){if(e?.onTwoFactorRedirect){await e.onTwoFactorRedirect({twoFactorMethods:t.data.twoFactorMethods});return}e?.twoFactorPage&&typeof window<`u`&&Zc(e.twoFactorPage)&&(window.location.href=e.twoFactorPage)}}}}],$ERROR_CODES:lu}),du=(e,t,n)=>ru({baseURL:e,basePath:t,plugins:[cu(),su(),uu(),au()],fetchOptions:{customFetchImpl:n}}),fu=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?JSON.parse(e):[],pu=e=>{let t=e.split(`,`);return t.includes(`owner`)?`owner`:t.includes(`admin`)?`admin`:`member`},mu=e=>({id:e.id,userId:e.userId,name:e.user.name||e.user.email,email:e.user.email,role:pu(e.role),appRoles:fu(e.appRoles),createdAt:new Date(e.createdAt).toISOString()}),hu=e=>({id:e.id,email:e.email,role:pu(e.role),appRoles:fu(e.appRoles),status:e.status,expiresAt:new Date(e.expiresAt).toISOString(),...e.organizationName&&{organizationName:e.organizationName}}),gu=(e,t)=>{let n=async(t,n,r={})=>{let{data:i,error:a}=await e.$fetch(t,{method:r.method??(r.body?`POST`:`GET`),...r.body&&{body:r.body},...r.query&&{query:r.query}});if(a)throw I(a,n);return i},r=async e=>(await t(),e);return{list:async()=>await n(`/organization/list`,`Could not read your organizations`)??[],current:()=>n(`/organization/current`,`Could not read the current organization`),switchTo:async e=>r(await n(`/organization/switch`,`Could not switch the organization`,{body:{organizationId:e}})),search:async e=>(await n(`/organization/search`,`Could not search the organizations`,{query:{query:e}})).organizations,create:async e=>r(await n(`/organization/create`,`Could not create the organization`,{body:e})),rename:(e,t)=>n(`/organization/update`,`Could not change the organization`,{body:{organizationId:e,data:t}}),remove:async e=>r(await n(`/organization/delete`,`Could not delete the organization`,{body:{organizationId:e}})),leave:async e=>r(await n(`/organization/leave`,`Could not leave the organization`,{body:{organizationId:e}})),members:async e=>(await n(`/organization/list-members`,`Could not read the members`,{query:{organizationId:e,limit:`1000`}})).members.map(mu),setRole:(e,t,r)=>n(`/organization/update-member-role`,`Could not change the role`,{body:{organizationId:e,memberId:t,role:r}}),setAppRoles:(e,t)=>n(`/organization/set-app-roles`,`Could not change the app roles`,{body:{memberId:e,appRoles:t}}),removeMember:(e,t)=>n(`/organization/remove-member`,`Could not remove the member`,{body:{organizationId:e,memberIdOrEmail:t}}),transferOwnership:(e,t=`admin`)=>n(`/organization/transfer-ownership`,`Could not hand the organization over`,{body:{memberId:e,keepAs:t}}),invitations:async e=>(await n(`/organization/list-invitations`,`Could not read the invitations`,{query:{organizationId:e}})??[]).map(hu),invite:async(e,t)=>{let r=await n(`/organization/invite-member`,`Could not send the invitation`,{body:{organizationId:e,...t}});return{invitation:hu(r),...r.link&&{link:r.link}}},resend:async(e,t)=>{let r=await n(`/organization/invite-member`,`Could not send the invitation again`,{body:{organizationId:e,email:t.email,role:t.role,resend:!0}});return{invitation:hu(r),...r.link&&{link:r.link}}},revoke:e=>n(`/organization/cancel-invitation`,`Could not revoke the invitation`,{body:{invitationId:e}}),myInvitations:async()=>(await n(`/organization/list-user-invitations`,`Could not read your invitations`)??[]).map(hu),invitation:e=>n(`/invitation`,`This invitation link is not valid`,{query:{token:e}}),accept:async e=>r(await n(`/invitation/accept`,`Could not accept the invitation`,{body:{token:e}})),signUpFromInvitation:async(e,t)=>r(await n(`/invitation/sign-up`,`Could not create your account`,{body:{token:e,...t}}))}},_u=(e,t)=>({current:async()=>{let{data:t,error:n}=await e.$fetch(`/role/current`,{method:`GET`});if(n)throw I(n,`Could not read your roles`);return t},switchTo:async n=>{let{error:r}=await e.$fetch(`/role/switch`,{method:`POST`,body:{role:n}});if(r)throw I(r,`Could not switch the role`);await t()}}),vu=(e,t)=>{let n=async e=>e?.twoFactorRedirect?{kind:`two-factor`,methods:e.twoFactorMethods??[]}:(await t(),{kind:`signed-in`,user:e?.user});return{signIn:async(t,r)=>{let{data:i,error:a}=await e.signIn.email({email:t,password:r});if(a||!i)throw I(a,`Sign-in failed`);return n(i)},sendSignInCode:async t=>{let{error:n}=await e.emailOtp.sendVerificationOtp({email:t,type:`sign-in`});if(n)throw I(n,`Could not send the code`)},signInWithCode:async(t,r)=>{let{data:i,error:a}=await e.signIn.emailOtp({email:t,otp:r});if(a||!i)throw I(a,`Sign-in failed`);return n(i)},sendSignUpCode:async t=>{let{error:n}=await e.$fetch(`/sign-up/send-code`,{method:`POST`,body:{email:t}});if(n)throw I(n,`Could not send the code`)},signUp:async n=>{let{data:r,error:i}=await e.$fetch(`/sign-up/create`,{method:`POST`,body:n});if(i||!r)throw I(i,`Could not create your account`);return await t(),r.user},signInWithPasskey:async n=>{let r=await e.$fetch(`/passkey/generate-authenticate-options`,{method:`GET`,...n&&{query:{rpId:n}}});if(r.error||!r.data)throw I(r.error,`Sign-in failed`);let{clientExtensionResults:i,...a}=await oc({optionsJSON:r.data}).catch(e=>{throw new zs(`Auth cancelled`,400,e instanceof Xs?e.code:`AUTH_CANCELLED`)}),o=await e.$fetch(`/passkey/verify-authentication`,{method:`POST`,body:{response:a}});if(o.error||!o.data)throw I(o.error,`Sign-in failed`);return await t(),o.data.user},sendTwoFactorCode:async()=>{let{error:t}=await e.twoFactor.sendOtp();if(t)throw I(t,`Could not send the code`)},verifyTwoFactor:async({method:n,code:r,trustDevice:i=!1})=>{let{data:a,error:o}=await(n===`totp`?e.twoFactor.verifyTotp:n===`otp`?e.twoFactor.verifyOtp:e.twoFactor.verifyBackupCode)({code:r,trustDevice:i});if(o||!a)throw I(o,`The code did not work`);return await t(),a.user}}},yu=e=>({read:async()=>{let{data:t,error:n}=await e.$fetch(`/policy/sign-in`);if(n||!t)throw I(n,`Could not read the sign-in policy`);return t},save:async t=>{let{data:n,error:r}=await e.$fetch(`/policy/sign-in`,{method:`POST`,body:t});if(r||!n)throw I(r,`Could not save the sign-in policy`);return n}}),bu=e=>new Date(e).toISOString(),xu=({startedAt:e,expiresAt:t,endedAt:n,...r})=>({...r,startedAt:bu(e),expiresAt:bu(t),...n&&{endedAt:bu(n)}}),Su=e=>({start:async t=>{let{data:n,error:r}=await e.$fetch(`/staff/sign-in`,{method:`POST`,body:t});if(r||!n?.url)throw I(r,`Could not start the staff sign-in`);return n.url},current:async()=>{let{data:t,error:n}=await e.$fetch(`/staff/session`);if(n||!t)throw I(n,`Could not read the session`);return t.staff?xu(t.staff):void 0},stop:async()=>{let{error:t}=await e.$fetch(`/staff/stop`,{method:`POST`,body:{}});if(t)throw I(t,`Could not end the staff session`)},log:async()=>{let{data:t,error:n}=await e.$fetch(`/staff/sign-ins`);if(n||!t)throw I(n,`Could not read the staff sign-ins`);return t.signIns.map(xu)}}),Cu=e=>{let t=e.split(`.`)[1];if(!t)throw Error(`Not a JWT`);let n=JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`)));if(typeof n.exp!=`number`)throw Error(`The token has no expiry`);return n.exp*1e3},wu=(e={})=>{let t=e.origin??globalThis.location?.origin??`http://localhost`,n=e.basePath??`/api/auth`,r=e.refreshMarginMs??6e4,i=e.fetch??((e,t)=>fetch(e,t)),a=du(t,n,i),o=Su(a),s,c,l,u=()=>{s=void 0,clearTimeout(l)},d=async()=>{let{data:t}=await a.$fetch(`/token`);if(!t?.token){u();return}return s={token:t.token,expiresAt:Cu(t.token)},clearTimeout(l),l=setTimeout(()=>void f({refresh:!0}).then(t=>t||e.onSignedOut?.()),Math.max(1e3,s.expiresAt-Date.now()-r)),s.token},f=async({refresh:e=!1}={})=>!e&&s&&s.expiresAt-Date.now()>r?s.token:(c??=d().finally(()=>{c=void 0}),c);return{token:f,status:async()=>{let e=await i(`${t}${n}/status`);if(e.status===404)throw new zs(`This server has no sign-in. Is the API URL right?`,404);if(!e.ok)throw new zs(`Could not read the sign-in status`,e.status);let r=await e.json();return{needsAdmin:!!r.needsAdmin,signInMethods:r.signInMethods??[`password`],passwordReset:!!r.passwordReset,...r.signUp&&{signUp:!0},socialProviders:r.socialProviders??[],...r.platformSignIn&&{platformSignIn:r.platformSignIn},...r.staffSignIn&&{staffSignIn:r.staffSignIn},...r.passkeyDomains&&{passkeyDomains:r.passkeyDomains},...r.organizations&&{organizations:r.organizations},...r.anonymous&&{anonymous:!0}}},session:async()=>{let{data:e}=await a.getSession();return e?.user},...vu(a,()=>f({refresh:!0})),signInSocial:async(e,t)=>{let{data:n,error:r}=await a.signIn.social({provider:e,callbackURL:t,errorCallbackURL:t,disableRedirect:!0});if(r||!n?.url)throw I(r,`Sign-in failed`);return n.url},signOut:async()=>{u(),await a.signOut()},requestPasswordReset:async(e,t)=>{let{error:n}=await a.requestPasswordReset({email:e,redirectTo:t});if(n)throw I(n,`Could not send the reset link`)},resetPassword:async(e,t)=>{let{error:n}=await a.resetPassword({token:e,newPassword:t});if(n)throw I(n,`Could not set the password`)},account:Bs(a),organizations:gu(a,()=>f({refresh:!0})),roles:_u(a,()=>f({refresh:!0})),signInPolicy:yu(a),staff:{...o,stop:async()=>{u(),await o.stop()}}}},Tu=e=>Math.min(3e4,1e3*2**e),Eu=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})}),Du=`http://same-origin.invalid`,Ou=(e,t)=>{let n=new URL(e,Du),r=new URL(t,`${n.href}/`);if(r.origin!==n.origin)throw Error(`${t} is not on the assistant backend's origin`);return n.origin===Du?`${r.pathname}${r.search}`:r.href},ku=e=>{let t=e.url.replace(/\/+$/,``),n=e.fetch??((e,t)=>fetch(e,t)),r=e.retryDelayMs??Tu,i=async(r,i)=>{let a=await e.token(),o=await n(`${t}${r}`,{method:i.method,headers:{...i.body===void 0?{accept:`text/event-stream`}:{"content-type":`application/json`},...a&&{authorization:`Bearer ${a}`}},body:i.body===void 0?void 0:JSON.stringify(i.body),signal:i.signal});if(!o.ok)throw await ps(o);return o},a=async(e,t,n)=>{let r=await i(`/events`,{method:`GET`,signal:e});if(!r.body)throw Error(`The assistant backend answered the event stream without a body`);n(),await zo(r.body,e=>t(JSON.parse(e)),e)};return{connect:(e,t)=>{let n=new AbortController,{signal:i}=n;return(async()=>{let n=0;for(;!i.aborted;){t?.({state:`connecting`});let o=await a(i,e,()=>{n=0,t?.({state:`open`})}).then(()=>void 0,e=>e??Error(`The assistant stream failed`));if(i.aborted)return;t?.({state:`retrying`,...o!==void 0&&{error:o}}),await Eu(r(n++),i)}})(),()=>n.abort()},send:async(e,t)=>{await i(`/messages`,{method:`POST`,body:{text:e,...t&&{page:t}}})},act:async(e,t)=>{await i(`/actions`,{method:`POST`,body:{partId:e,actionId:t}})},fetch:async(r,i={})=>{let a=Ou(t,r),o=await e.token(),s=new Headers(i.headers);o&&s.set(`authorization`,`Bearer ${o}`);let c=await n(a,{...i,headers:s});if(!c.ok)throw await ps(c);return c}}},Au=e=>{let t=e.url.replace(/\/+$/,``),n=e.fetch??((e,t)=>fetch(e,t)),r=async(r,i)=>{let a=await e.token(),o=await n(`${t}${r}`,{method:i,headers:{accept:`application/json`,...a&&{authorization:`Bearer ${a}`}}});if(!o.ok)throw await ps(o);return await o.json()};return{status:()=>r(``,`GET`),update:()=>r(`/update`,`POST`)}},R=(...e)=>e.filter(Boolean).join(` `),ju=e=>(0,o.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches,()=>!1),Mu=()=>ju(`(min-width: 768px)`),Nu=()=>ju(`not all and (min-width: 640px)`),z=t(a(),1),Pu=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,Fu=`flex min-h-[49px] min-w-0 flex-1 flex-col items-center justify-center gap-1 pb-1 pt-1.5 text-[10px] font-medium leading-none`,Iu=({tabs:e,onNavigate:t,onMore:n,moreOpen:r,moreControls:i,sticky:a,ref:o})=>{let s=!e.some(e=>e.active);return(0,z.jsxs)(`nav`,{ref:o,"aria-label":`Tabs`,className:R(`flex shrink-0 border-t bg-background pb-[env(safe-area-inset-bottom)] md:hidden`,a&&`sticky bottom-0 z-30`),children:[e.map(e=>{let n=e.icon;return(0,z.jsxs)(`a`,{href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:n=>{!e.external&&t&&Pu(n)&&(n.preventDefault(),t(e.href))},className:R(Fu,e.active?`text-primary-text`:`text-muted-foreground`),children:[(0,z.jsx)(n,{className:`size-6`,strokeWidth:e.active?2.2:1.9,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`max-w-full truncate px-0.5`,children:e.label})]},e.id)}),(0,z.jsxs)(`button`,{type:`button`,"aria-expanded":r,"aria-controls":i,"data-current":s||void 0,onClick:n,className:R(Fu,s?`text-primary-text`:`text-muted-foreground`),children:[(0,z.jsx)(ze,{className:`size-6`,strokeWidth:s?2.2:1.9,"aria-hidden":!0}),`More`]})]})},Lu=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`,Ru=(e,t,n)=>{let r=(0,o.useRef)(n);r.current=n,(0,o.useEffect)(()=>{if(!t||!e.current)return;let n=e.current,i=document.activeElement instanceof HTMLElement?document.activeElement:null,a=document.body.style.overflow;document.body.style.overflow=`hidden`;let o=()=>[...n.querySelectorAll(Lu)];(o()[0]??n).focus();let s=e=>{if(e.key===`Escape`)return r.current();if(e.key!==`Tab`)return;let t=o();if(t.length===0)return e.preventDefault();let i=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===i?(e.preventDefault(),a.focus()):!e.shiftKey&&document.activeElement===a?(e.preventDefault(),i.focus()):n.contains(document.activeElement)||(e.preventDefault(),i.focus())};return document.addEventListener(`keydown`,s),()=>{document.removeEventListener(`keydown`,s),document.body.style.overflow=a,i?.focus()}},[t,e])},zu=({id:e,open:t,onClose:n,children:r})=>{let i=(0,o.useRef)(null);return Ru(i,t,n),t?(0,z.jsxs)(`div`,{className:`fixed inset-0 z-50 md:hidden`,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-backdrop/40`,onClick:n,"aria-hidden":!0}),(0,z.jsx)(`div`,{ref:i,id:e,role:`dialog`,"aria-modal":`true`,"aria-label":`Navigation`,tabIndex:-1,className:`absolute inset-y-0 left-0 flex w-60 max-w-[85vw] bg-sidebar shadow-pop outline-none`,onClick:e=>e.target.closest(`a`)&&n(),children:r})]}):null},Bu=(0,o.createContext)(()=>{}),Vu=e=>{let t=(0,o.useContext)(Bu);(0,o.useLayoutEffect)(()=>(t(e),()=>t(!1)),[t,e])},Hu=[`--pb-sticky-top`,`--pb-sticky-bottom`,`scroll-padding-top`,`scroll-padding-bottom`],Uu=(e,t,n,r)=>{(0,o.useLayoutEffect)(()=>{if(!e)return;let r=document.documentElement,i=()=>{let e=`${t.current?.offsetHeight??0}px`,i=`${n.current?.offsetHeight??0}px`;r.style.setProperty(`--pb-sticky-top`,e),r.style.setProperty(`--pb-sticky-bottom`,i),r.style.setProperty(`scroll-padding-top`,e),r.style.setProperty(`scroll-padding-bottom`,i)},a=new ResizeObserver(i);for(let e of[t.current,n.current])e&&a.observe(e);return i(),()=>{a.disconnect();for(let e of Hu)r.style.removeProperty(e)}},[e,t,n,r])},Wu=({className:e})=>(0,z.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:R(`size-7 shrink-0`,e),"aria-hidden":!0,children:[(0,z.jsx)(`rect`,{width:`24`,height:`24`,rx:`6`,className:`fill-primary`}),(0,z.jsx)(`path`,{d:`M7 17V7h5.2a3 3 0 0 1 0 6H7`,fill:`none`,className:`stroke-primary-foreground`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,z.jsx)(`path`,{d:`M12.5 17h4.5`,className:`stroke-primary-foreground`,strokeOpacity:`0.55`,strokeWidth:`2`,strokeLinecap:`round`})]}),Gu=({showName:e,workspace:t})=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2.5 overflow-hidden`,children:[(0,z.jsx)(Wu,{}),e&&(0,z.jsxs)(`div`,{className:`min-w-0 leading-tight`,children:[(0,z.jsx)(`div`,{className:`text-[13px] font-semibold tracking-tight`,children:`Protobase`}),t&&(0,z.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:t})]})]}),Ku=[{label:`Sales`,items:[{id:`orders`,label:`Orders`,icon:$t,count:12},{id:`customers`,label:`Customers`,icon:oe},{id:`invoices`,label:`Invoices`,icon:Je,count:3}]},{label:`Inventory`,items:[{id:`products`,label:`Products`,icon:jt},{id:`stock-moves`,label:`Stock moves`,icon:ie},{id:`warehouses`,label:`Warehouses`,icon:kn},{id:`shipments`,label:`Shipments`,icon:bn}]},{label:`Finance`,items:[{id:`payments`,label:`Payments`,icon:Ne},{id:`credit-notes`,label:`Credit notes`,icon:zt},{id:`reports`,label:`Reports`,icon:ue}]},{label:`Admin`,items:[{id:`users`,label:`Users`,icon:En},{id:`settings`,label:`Settings`,icon:Yt}]}],qu={xs:`size-5 text-[9px]`,sm:`size-6 text-[10px]`,md:`size-8 text-xs`},Ju=({initials:e,hue:t,size:n=`sm`,className:r})=>(0,z.jsx)(`span`,{className:R(`inline-flex shrink-0 select-none items-center justify-center rounded-full font-semibold text-white ring-2 ring-background`,qu[n],r),style:{background:`oklch(0.58 0.13 ${t})`},children:e}),Yu=({people:e,size:t=`sm`})=>(0,z.jsx)(`span`,{className:`inline-flex -space-x-1`,children:e.map(e=>(0,z.jsx)(Ju,{...e,size:t},e.initials))}),Xu=e=>{let t=e.slice(1),n=t.length===3?[...t].map(e=>e+e).join(``):t,[r,i,a]=[0,2,4].map(e=>{let t=Number.parseInt(n.slice(e,e+2),16)/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},Zu=`#ffffff`,Qu=`#111827`,$u=e=>{let t=Xu(e);return 1.05/(t+.05)>=(t+.05)/(Xu(Qu)+.05)?Zu:Qu},ed={neutral:`bg-muted text-muted-foreground`,blue:`bg-primary-soft text-primary-text`,green:`bg-success-soft text-success-text`,amber:`bg-warning-soft text-warning-text`,red:`bg-danger-soft text-danger-text`,violet:`bg-violet-soft text-violet-text`},td={neutral:`bg-faint-foreground`,blue:`bg-primary`,green:`bg-success`,amber:`bg-warning`,red:`bg-danger`,violet:`bg-violet`},nd=`polygon(0 0, calc(100% - 0.625rem) 0, 100% 50%, calc(100% - 0.625rem) 100%, 0 100%)`,rd=({tone:e=`neutral`,dot:t=!0,color:n,shape:r,children:i,className:a})=>(0,z.jsxs)(`span`,{style:{...n!==void 0&&{backgroundColor:n,color:$u(n)},...r===`arrow`&&{clipPath:nd}},className:R(r===`arrow`?`inline-flex h-5 items-center gap-1.5 rounded-l-sm pr-4 pl-2 text-xs font-semibold whitespace-nowrap`:`inline-flex h-5 items-center gap-1.5 rounded-full px-2 text-xs font-medium whitespace-nowrap`,n===void 0&&ed[e],a),children:[t&&n===void 0&&r===void 0&&(0,z.jsx)(`span`,{className:R(`size-1.5 rounded-full`,td[e])}),i]}),id=({label:e,current:t,others:n,rowClassName:r,onSwitch:i})=>(0,z.jsxs)(`div`,{className:`border-b py-1`,role:`group`,"aria-label":e,children:[t&&(0,z.jsxs)(`div`,{className:R(r,`text-foreground hover:bg-transparent`),"aria-current":`true`,children:[(0,z.jsx)(de,{className:`size-4`}),(0,z.jsx)(`span`,{className:`truncate`,children:t.label})]}),n.map(e=>(0,z.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>i(e.id),className:r,children:[(0,z.jsx)(`span`,{className:`size-4`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.label})]},e.id))]}),ad={sm:{group:`h-7`,option:`px-2.5 text-xs`},md:{group:`h-8`,option:`px-3 text-[13px]`}},od=({value:e,options:t,onChange:n,label:r,size:i=`sm`,iconOnly:a=!1})=>(0,z.jsx)(`span`,{role:`group`,"aria-label":r,className:R(`inline-flex`,ad[i].group,`rounded-md bg-muted p-0.5`),children:t.map(t=>(0,z.jsxs)(`button`,{type:`button`,"aria-pressed":t.value===e,...a&&{"aria-label":t.label,title:t.label},onClick:()=>n(t.value),className:R(`inline-flex items-center gap-1.5 rounded`,ad[i].option,`font-medium transition-colors`,t.value===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:[t.icon&&(0,z.jsx)(t.icon,{className:`size-3.5`}),!a&&t.label]},t.value))}),sd=[{value:`light`,label:`Light`,icon:un},{value:`dark`,label:`Dark`,icon:Ot},{value:`system`,label:`System`,icon:Et}],cd=({theme:e,className:t})=>(0,z.jsxs)(`div`,{className:t,children:[(0,z.jsx)(cn,{className:`size-4`}),(0,z.jsx)(`span`,{className:`flex-1`,children:`Theme`}),(0,z.jsx)(od,{label:`Theme`,iconOnly:!0,value:e.preference,options:sd,onChange:e.onChange})]}),ld=`flex min-h-11 w-full items-center gap-2.5 px-3 py-1.5 text-left text-[13px] text-muted-foreground hover:bg-muted md:min-h-0`,ud=({user:e,compact:t,open:n,items:r=[],onNavigate:i,onSignOut:a,organizations:s,roles:c,theme:l})=>{let u=c?.roles.find(e=>e.name===c.active),[d,f]=(0,o.useState)(!1),p=n??d,m=(0,o.useRef)(null),[h,g]=(0,o.useState)();return(0,o.useEffect)(()=>{if(!p||n!==void 0)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!m.current?.contains(e.target))&&f(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[p,n]),(0,z.jsxs)(`div`,{ref:m,className:`relative`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex min-h-11 w-full items-center gap-2.5 rounded-md p-1 text-left hover:bg-muted md:min-h-0`,"aria-label":`Profile menu`,"aria-haspopup":`menu`,"aria-expanded":p,onClick:()=>{let e=m.current?.getBoundingClientRect();e&&g({left:e.left,bottom:window.innerHeight-e.top+8}),f(!d)},children:[(0,z.jsx)(Ju,{initials:e.initials,hue:e.hue,size:`md`,className:`ring-0`}),!t&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,z.jsx)(rd,{tone:e.roleTone,dot:!1,className:`mt-0.5 h-4 px-1.5 text-[10px]`,children:e.role})]}),(0,z.jsx)(ye,{className:`size-3.5 shrink-0 text-faint-foreground`})]})]}),p&&(0,z.jsxs)(`div`,{role:`menu`,className:n===void 0?`fixed z-[60] w-56 overflow-hidden rounded-lg border bg-background py-1 shadow-pop`:`absolute bottom-full left-0 z-50 mb-2 w-56 overflow-hidden rounded-lg border bg-background py-1 shadow-pop`,style:n===void 0&&h?{left:h.left,bottom:h.bottom}:void 0,children:[(0,z.jsxs)(`div`,{className:`border-b px-3 pb-2 pt-1.5`,children:[(0,z.jsx)(`div`,{className:`text-[13px] font-medium`,children:e.name}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.email})]}),s&&(s.current||s.others.length>0)&&(0,z.jsx)(id,{label:`Organizations`,...s.current&&{current:{id:s.current.id,label:s.current.name}},others:s.others.map(({id:e,name:t})=>({id:e,label:t})),rowClassName:ld,onSwitch:e=>{f(!1),s.onSwitch(e)}}),c&&c.roles.length>1&&(0,z.jsx)(id,{label:`Roles`,...u&&{current:{id:u.name,label:u.label}},others:c.roles.filter(e=>e!==u).map(({name:e,label:t})=>({id:e,label:t})),rowClassName:ld,onSwitch:e=>{f(!1),c.onSwitch(e)}}),r.length>0&&(0,z.jsx)(`div`,{className:R((l||a)&&`border-b`),children:r.map(e=>{let t=e.icon;return(0,z.jsxs)(`a`,{role:`menuitem`,href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:t=>{f(!1),!e.external&&i&&(t.preventDefault(),i(e.href))},className:R(ld,e.active&&`bg-muted text-foreground`),children:[(0,z.jsx)(t,{className:`size-4`}),e.label]},e.id)})}),l&&(0,z.jsx)(`div`,{className:R(a&&`border-b`),children:(0,z.jsx)(cd,{theme:l,className:R(ld,`hover:bg-transparent`)})}),a&&(0,z.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:a,className:ld,children:[(0,z.jsx)(gt,{className:`size-4`}),`Sign out`]})]})]})},dd=(e,t)=>{try{return e()}catch(e){if(!(e instanceof DOMException))throw e;return t}},fd=`protobase:nav-open:`,pd=e=>`${fd}${e}`,md=(e,t)=>dd(()=>e.getItem(t)!==`false`,!0),hd=(e,t,n)=>dd(()=>n?e.removeItem(t):e.setItem(t,`false`),void 0),gd=({label:e,side:t=`right`,visible:n,children:r})=>(0,z.jsxs)(`span`,{className:`group/tooltip relative inline-flex`,children:[r,(0,z.jsx)(`span`,{role:`tooltip`,className:R(`pointer-events-none absolute z-50 whitespace-nowrap rounded-md bg-foreground px-2 py-1 text-xs font-medium text-background opacity-0 shadow-md transition-opacity group-hover/tooltip:opacity-100`,n&&`opacity-100`,t===`right`&&`left-full top-1/2 ml-2 -translate-y-1/2`,t===`top`&&`bottom-full left-1/2 mb-2 -translate-x-1/2`,t===`bottom`&&`left-1/2 top-full mt-2 -translate-x-1/2`),children:e})]}),_d=e=>e===`text-large`||e===`text-small`||e===`icon-expand`,vd=e=>e===`text-large`||e===`text-small`,yd={"text-large":`w-60`,"text-small":`w-52`,icon:`w-14`,"icon-label":`w-[76px]`,"icon-tooltip":`w-14`,"icon-expand":`w-14`},bd={"text-large":`h-9 gap-3 px-3 text-sm`,"text-small":`h-7 gap-2.5 px-2.5 text-xs`,icon:`size-9 justify-center`,"icon-label":`w-full flex-col gap-0.5 py-1.5 text-[10px]`,"icon-tooltip":`size-9 justify-center`,"icon-expand":`h-8 gap-3 px-3 text-[13px]`},xd=({item:e,mode:t,active:n,onNavigate:r,className:i})=>{let a=e.icon,o=(0,z.jsxs)(`a`,{onClick:r&&(t=>{t.preventDefault(),r(e.href??`#${e.id}`)}),href:e.href??`#${e.id}`,"aria-label":e.problem?`${e.label}: ${e.problem}`:e.label,"aria-current":n?`page`:void 0,title:e.problem,className:R(`flex shrink-0 items-center rounded-md font-medium transition-colors`,bd[t],n?`bg-primary-soft text-primary-text`:`text-muted-foreground hover:bg-muted hover:text-foreground`,i),children:[(0,z.jsx)(a,{className:R(`shrink-0`,t===`text-small`?`size-4`:`size-[18px]`),strokeWidth:n?2.2:1.9}),(_d(t)||t===`icon-label`)&&(0,z.jsx)(`span`,{className:`whitespace-nowrap`,children:e.label}),vd(t)&&e.count&&(0,z.jsx)(`span`,{className:`ml-auto rounded bg-muted px-1.5 text-[11px] tabular-nums text-muted-foreground`,children:e.count}),vd(t)&&e.problem&&(0,z.jsx)(vn,{"aria-hidden":!0,className:`ml-auto size-3.5 shrink-0 text-warning-text`})]});return t===`icon-tooltip`?(0,z.jsx)(gd,{label:e.label,children:o}):o},Sd={neutral:`bg-faint-foreground`,info:`bg-primary`,success:`bg-success`,warning:`bg-warning`,danger:`bg-danger`},Cd=({tone:e,pulse:t=!1,className:n})=>(0,z.jsxs)(`span`,{"aria-hidden":!0,className:R(`relative flex size-2 shrink-0`,n),"data-tone":e,"data-pulse":t||void 0,children:[t&&(0,z.jsx)(`span`,{className:R(`absolute inset-0 animate-ping rounded-full opacity-60 motion-reduce:animate-none`,Sd[e])}),(0,z.jsx)(`span`,{className:R(`relative size-2 rounded-full`,Sd[e])})]}),wd={"text-large":`h-8 gap-2.5 px-2.5 text-[13px]`,"text-small":`h-7 gap-2 px-2 text-xs`},Td={"text-large":`ml-[20px]`,"text-small":`ml-[17px]`},Ed=({item:e,recent:t,mode:n,active:r,onNavigate:i})=>{let a=pd(e.id),[s,c]=(0,o.useState)(()=>md(localStorage,a)),l=(0,o.useId)(),u=e.href??`#${e.id}`,d=()=>{hd(localStorage,a,!s),c(!s)},f=e=>({href:e,onClick:i&&(t=>{t.preventDefault(),i(e)})});return(0,z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,z.jsxs)(`div`,{className:`relative`,children:[(0,z.jsx)(xd,{item:e,mode:n,active:r,onNavigate:i,className:`pr-8`}),(0,z.jsx)(`button`,{type:`button`,"aria-expanded":s,"aria-controls":l,"aria-label":`Recent ${e.label.toLowerCase()}`,onClick:d,className:`absolute right-1 top-1/2 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground`,children:(0,z.jsx)(_e,{className:R(`size-3.5 transition-transform`,s&&`rotate-90`)})})]}),s&&(0,z.jsxs)(`ul`,{id:l,"aria-label":`Recent ${e.label.toLowerCase()}`,className:R(`flex flex-col gap-0.5 border-l pl-1.5`,Td[n]),children:[t.state===`loading`&&(0,z.jsx)(`li`,{className:R(`flex items-center text-faint-foreground`,wd[n]),children:`Loading...`}),t.state===`error`&&(0,z.jsx)(`li`,{className:R(`flex items-center text-faint-foreground`,wd[n]),children:`Could not load`}),t.state===`ready`&&t.records.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`a`,{...f(e.href),"aria-label":`${e.label}, ${e.status}`,title:`${e.label} (${e.status})`,"aria-current":e.active?`page`:void 0,className:R(`flex min-w-0 items-center rounded-md font-medium transition-colors`,wd[n],e.active?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,z.jsx)(Cd,{tone:e.tone,pulse:e.pulse}),(0,z.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id)),(0,z.jsx)(`li`,{children:(0,z.jsx)(`a`,{...f(u),className:R(`flex items-center rounded-md text-faint-foreground transition-colors hover:bg-muted hover:text-foreground`,wd[n]),children:`View all`})})]})]})},Dd=({mode:e,activeItem:t,user:n,workspace:r,forceExpanded:i,profileMenuOpen:a,groups:o=Ku,userMenu:s,onNavigate:c,onSignOut:l,onSignIn:u,organizations:d,roles:f,theme:p,sticky:m})=>{let h=e===`icon-expand`,g=h&&i,_=vd(e)||h;return(0,z.jsx)(`nav`,{"aria-label":`Resources`,className:R(m?`sticky top-0 h-dvh self-start`:`relative`,`z-30 shrink-0`,yd[e]),children:(0,z.jsxs)(`div`,{className:R(`group/side absolute inset-y-0 left-0 flex flex-col overflow-hidden border-r bg-sidebar`,h?`w-14 transition-[width,box-shadow] duration-150 hover:w-60 hover:shadow-pop focus-within:w-60 focus-within:shadow-pop`:`w-full`,g&&`w-60 shadow-pop`),children:[(0,z.jsx)(`div`,{className:R(`flex h-12 shrink-0 items-center px-3.5`,e===`icon-label`&&`justify-center px-0`),children:(0,z.jsx)(Gu,{showName:vd(e)||h,workspace:r})}),(0,z.jsx)(`div`,{className:R(`flex-1 overflow-y-auto overflow-x-hidden pb-2`,`px-2`),children:o.map((n,r)=>(0,z.jsxs)(`div`,{className:R(`flex flex-col gap-0.5`,r>0&&`mt-3`),children:[_?(0,z.jsx)(`div`,{className:R(`px-3 pb-1 pt-1 text-[11px] font-medium uppercase tracking-wide text-faint-foreground`,h&&`h-4 whitespace-nowrap py-0 opacity-0 transition-opacity group-hover/side:opacity-100 group-focus-within/side:opacity-100`,g&&`opacity-100`),children:n.label}):r>0&&(0,z.jsx)(`div`,{className:`mx-auto mb-1 h-px w-6 bg-border`}),n.items.map(n=>n.recent&&vd(e)?(0,z.jsx)(Ed,{item:n,recent:n.recent,mode:e,active:n.id===t,onNavigate:c},n.id):(0,z.jsx)(xd,{item:n,mode:e,active:n.id===t,onNavigate:c},n.id))]},n.label))}),(0,z.jsx)(`div`,{className:R(`shrink-0 border-t p-2`,e!==`text-large`&&e!==`text-small`&&!h&&`flex justify-center`),children:n?(0,z.jsx)(ud,{user:n,compact:!_,open:a,items:s,onNavigate:c,onSignOut:l,organizations:d,roles:f,theme:p}):(0,z.jsxs)(z.Fragment,{children:[p&&_&&(0,z.jsx)(cd,{theme:p,className:`flex min-h-11 w-full items-center gap-2.5 whitespace-nowrap p-1.5 text-[13px] text-muted-foreground md:min-h-0`}),u&&(0,z.jsxs)(`button`,{type:`button`,onClick:u,"aria-label":`Sign in`,className:`flex min-h-11 w-full items-center gap-2.5 rounded-md p-1.5 text-left text-[13px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground md:min-h-0`,children:[(0,z.jsx)(mt,{className:`size-4 shrink-0`}),_&&(0,z.jsx)(`span`,{className:`whitespace-nowrap`,children:`Sign in`})]})]})})]})})},Od=e=>{let t=e.at(-2);if(typeof t==`object`&&t.href&&!t.loading)return{label:t.label,href:t.href}},kd=({className:e})=>(0,z.jsx)(`span`,{className:R(`block h-3 rounded bg-muted [animation:pb-shimmer_1.4s_ease-in-out_infinite]`,e)}),Ad=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,jd=({parts:e,onNavigate:t})=>(0,z.jsx)(`nav`,{"aria-label":`Breadcrumb`,className:`flex min-w-0 items-center gap-1.5 text-[13px]`,children:e.map((n,r)=>{let i=r===e.length-1,{label:a,href:o,loading:s}=typeof n==`string`?{label:n,href:void 0,loading:!1}:n,c=s?(0,z.jsx)(kd,{className:`w-24`}):a,l=R(`truncate`,i?`font-semibold`:`text-muted-foreground`);return(0,z.jsxs)(`span`,{className:R(`min-w-0 items-center gap-1.5`,i?`flex`:`hidden md:flex`),children:[r>0&&(0,z.jsx)(_e,{className:`hidden size-3.5 shrink-0 text-faint-foreground md:block`}),o?(0,z.jsx)(`a`,{href:o,"aria-current":i?`page`:void 0,"aria-label":s?a:void 0,"aria-busy":s||void 0,onClick:e=>{t&&Ad(e)&&(e.preventDefault(),t(o))},className:R(l,`rounded-sm hover:text-foreground hover:underline`),children:c}):(0,z.jsx)(`span`,{className:l,"aria-label":s?a:void 0,"aria-busy":s||void 0,children:c})]},`${r}-${a}`)})}),Md=({leading:e,trailing:t,invalid:n,className:r,wrapperClassName:i,...a})=>(0,z.jsxs)(`span`,{className:R(`flex h-8 items-center gap-2 rounded-md border bg-background px-2.5 text-muted-foreground shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20`,n?`border-danger`:`border-border-strong`,i),children:[e,(0,z.jsx)(`input`,{className:R(`min-w-0 flex-1 bg-transparent text-[13px] text-foreground outline-none placeholder:text-faint-foreground`,r),...a}),t]}),Nd=({children:e})=>(0,z.jsx)(`kbd`,{className:`inline-flex h-5 items-center rounded border border-border-strong bg-background px-1.5 font-sans text-[11px] font-medium text-muted-foreground`,children:e}),Pd=({className:e})=>(0,z.jsx)(dt,{"aria-label":`Loading`,className:R(`size-4 animate-spin`,e)}),Fd=(e,t,n)=>t===0?-1:e<0?n===1?0:t-1:(e+n+t)%t,Id=e=>e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0,Ld=({search:e,className:t=`w-96`,autoFocus:n,showShortcut:r=!0,ref:i})=>{let a=(0,o.useId)(),s=(0,o.useRef)(null),[c,l]=(0,o.useState)(!1),[u,d]=(0,o.useState)(-1),f=e.groups.flatMap(e=>e.hits),p=c&&(e.query!==``||e.loading),m=e=>`${a}-${e}`,h=e=>{s.current=e,typeof i==`function`?i(e):i&&(i.current=e)},g=t=>{e.onSelect(t),d(-1),s.current?.blur()},_=()=>{e.onTextChange(``),d(-1),s.current?.focus()},v=t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`)t.preventDefault(),d(e=>Fd(e,f.length,t.key===`ArrowDown`?1:-1));else if(t.key===`Enter`){let e=f[u]??f[0];if(!e)return;t.preventDefault(),g(e.href)}else t.key===`Escape`&&(e.text?e.onTextChange(``):t.currentTarget.blur(),d(-1))},y=-1;return(0,z.jsxs)(`div`,{className:R(`relative`,t),children:[(0,z.jsx)(Md,{ref:h,wrapperClassName:`w-full bg-surface shadow-none`,leading:e.loading?(0,z.jsx)(Pd,{className:`size-4`}):(0,z.jsx)(Ut,{className:`size-4`}),trailing:e.text?(0,z.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,className:`-mr-1 inline-flex size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted hover:text-foreground`,onMouseDown:e=>e.preventDefault(),onClick:_,children:(0,z.jsx)(jn,{className:`size-3.5`})}):r?(0,z.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,z.jsx)(Nd,{children:`⌘K`})}):void 0,placeholder:e.placeholder,"aria-label":`Global search`,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":p,"aria-controls":a,"aria-activedescendant":p&&f[u]?m(u):void 0,autoFocus:n,value:e.text,onChange:t=>{e.onTextChange(t.target.value),d(-1)},onFocus:()=>l(!0),onBlur:()=>l(!1),onKeyDown:v}),p&&(0,z.jsxs)(`div`,{id:a,role:`listbox`,"aria-label":`Search results`,className:`absolute right-0 top-full z-40 mt-1 max-h-96 w-full min-w-72 overflow-y-auto rounded-lg border bg-background py-1 text-[13px] shadow-pop`,children:[e.groups.length===0&&(0,z.jsx)(`p`,{className:`px-3 py-2 text-muted-foreground`,children:e.loading?`Searching`:`No matches for “${e.query}”`}),e.groups.map(e=>(0,z.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-faint-foreground`,children:e.label}),e.failed&&(0,z.jsxs)(`p`,{className:`px-3 py-1.5 text-danger-text`,children:[`Could not search `,e.label.toLowerCase()]}),e.hits.map(e=>{y+=1;let t=y;return(0,z.jsxs)(`a`,{id:m(t),href:e.href,tabIndex:-1,role:`option`,"aria-selected":t===u,className:R(`block px-3 py-1.5`,t===u?`bg-primary-soft text-primary-text`:`hover:bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:t=>{Id(t)||(t.preventDefault(),g(e.href))},onMouseEnter:()=>d(t),children:[(0,z.jsx)(`span`,{className:`block truncate font-semibold`,children:e.title}),e.subtitle&&(0,z.jsx)(`span`,{className:R(`block truncate text-xs`,t===u?`text-primary-text/80`:`text-muted-foreground`),children:e.subtitle})]},e.id)})]},e.id))]})]})},Rd=`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,zd=({breadcrumb:e,onNavigate:t,actions:n,onMenu:r,menuOpen:i,menuControls:a,search:s,sticky:c,ref:l})=>{let[u,d]=(0,o.useState)(!1),f=Od(e),p=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!s)return;let e=e=>{if(e.key.toLowerCase()!==`k`||!(e.metaKey||e.ctrlKey))return;e.preventDefault();let t=p.current;t&&t.offsetParent!==null?t.focus():d(!0)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]),(0,z.jsxs)(`header`,{ref:l,className:R(c?`sticky top-0 z-30`:`relative`,`flex h-12 shrink-0 items-center gap-1 border-b bg-background px-2 md:gap-4 md:px-5`),children:[r&&(0,z.jsx)(`button`,{type:`button`,"aria-label":`Open navigation`,"aria-expanded":!!i,"aria-controls":a,onClick:r,className:R(Rd,`-ml-0.5`),children:(0,z.jsx)(St,{className:`size-5`})}),f&&(0,z.jsx)(`a`,{href:f.href,"aria-label":`Back to ${f.label}`,onClick:e=>{t&&Ad(e)&&(e.preventDefault(),t(f.href))},className:R(Rd,!r&&`-ml-0.5`),children:(0,z.jsx)(he,{className:`size-5`})}),(0,z.jsx)(jd,{parts:e,onNavigate:t}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1 md:gap-3`,children:[s&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`hidden md:block`,children:(0,z.jsx)(Ld,{ref:p,search:s})}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Search`,"aria-expanded":u,onClick:()=>d(!0),className:Rd,children:(0,z.jsx)(Ut,{className:`size-5`})})]}),n]}),s&&u&&(0,z.jsxs)(`div`,{className:`absolute inset-0 z-20 flex items-center gap-1 bg-background px-3 md:hidden`,children:[(0,z.jsx)(Ld,{className:`min-w-0 flex-1`,autoFocus:!0,showShortcut:!1,search:{...s,onSelect:e=>{s.onSelect(e),d(!1)}}}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close search`,onClick:()=>d(!1),className:Rd,children:(0,z.jsx)(jn,{className:`size-5`})})]})]})},Bd=`app-drawer`,Vd=({sidebarMode:e,activeItem:t,breadcrumb:n,user:r,workspace:i,actions:a,rightPanel:s,forceExpanded:c,profileMenuOpen:l,navGroups:u,userMenu:d,bottomBar:f,onNavigate:p,onSignOut:m,onSignIn:h,organizations:g,roles:_,theme:v,search:y,className:b,children:x})=>{let S=Mu(),[C,w]=(0,o.useState)(!1);(0,o.useEffect)(()=>{S&&w(!1)},[S]);let T=!S&&f&&f.length>0?f:void 0,[E,D]=(0,o.useState)(!1),O=(0,o.useRef)(null),k=(0,o.useRef)(null);Uu(E,O,k,!!T);let A=(e,n=!1)=>(0,z.jsx)(Dd,{mode:e,sticky:n,activeItem:t,user:r,workspace:i,forceExpanded:c,profileMenuOpen:l,groups:u,userMenu:d,onNavigate:p,onSignOut:m,onSignIn:h,organizations:g,roles:_,theme:v});return(0,z.jsx)(Bu.Provider,{value:D,children:(0,z.jsxs)(`div`,{className:R(E?`flex min-h-full w-full overflow-x-clip bg-background`:`relative flex h-full min-h-0 w-full overflow-hidden bg-background`,b),children:[S?A(e,E):(0,z.jsx)(zu,{id:Bd,open:C,onClose:()=>w(!1),children:A(`text-large`)}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(zd,{ref:O,sticky:E,breadcrumb:n,onNavigate:p,actions:a,onMenu:S||T?void 0:()=>w(!0),menuOpen:C,menuControls:Bd,search:y}),(0,z.jsx)(`main`,{className:E?`flex flex-1 flex-col`:`flex min-h-0 flex-1 flex-col`,children:x}),T&&(0,z.jsx)(Iu,{ref:k,sticky:E,tabs:T,onNavigate:p,onMore:()=>w(!0),moreOpen:C,moreControls:Bd})]}),s&&(0,z.jsx)(`div`,{className:E?`sticky top-0 flex h-dvh shrink-0 self-start`:`flex shrink-0`,children:s})]})})},Hd=({title:e,subtitle:t,aside:n,actions:r})=>{let i=(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:e}),t&&(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]});return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-x-4 gap-y-2`,children:[n?(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[i,n]}):i,r&&(0,z.jsx)(`div`,{className:`flex w-full flex-wrap items-center gap-2 sm:w-auto`,children:r})]})},Ud=`Too many attempts. Wait a minute and try again.`,Wd=`The passkey prompt closed before it finished. Try again.`,Gd={INVALID_EMAIL_OR_PASSWORD:`The email or password is not right.`,INVALID_PASSWORD:`The password is not right.`,INVALID_OTP:`The code is not right.`,OTP_EXPIRED:`The code has expired. Ask for a new one.`,TOO_MANY_ATTEMPTS:`Too many wrong codes. Ask for a new one.`,INVALID_CODE:`The code is not right.`,INVALID_BACKUP_CODE:`The backup code is not right, or was used before.`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`Too many wrong codes. Sign in again.`,ACCOUNT_TEMPORARILY_LOCKED:`Too many wrong codes. Wait 15 minutes and try again.`,INVALID_TWO_FACTOR_COOKIE:`This sign-in took too long. Sign in again.`,AUTH_CANCELLED:Wd,ERROR_CEREMONY_ABORTED:Wd,REGISTRATION_CANCELLED:Wd,PASSKEY_NOT_FOUND:`This passkey is not registered for an account here.`,AUTHENTICATION_FAILED:`The passkey could not be checked. Try again.`,PREVIOUSLY_REGISTERED:`This passkey is added already.`,ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED:`This passkey is added already.`,SESSION_NOT_FRESH:`For this change, sign out and sign in again first.`},Kd=e=>e.code?Gd[e.code]:void 0,qd=e=>Kd(e)??(e.status===429?Ud:e.message),Jd=e=>Kd(e)??(e.status===429?Ud:e.status===401?Gd.INVALID_EMAIL_OR_PASSWORD:e.message),Yd={STAFF_PERMISSION_MISSING:`Your staff account has no permission to sign in as people here.`,STAFF_SIGN_IN_NOT_STRONG:`Sign in to your staff account with a passkey or a second step, then try again.`,STAFF_SIGN_IN_STALE:`Your staff sign-in is too old. Sign in to your staff account again.`,STAFF_SIGN_IN_EXPIRED:`This staff sign-in took too long or was used already. Start again.`,STAFF_SIGN_IN_FAILED:`The staff sign-in did not go through at the provider. Try again.`,STAFF_USER_UNAVAILABLE:`There is no account with this address, or it is disabled.`,STAFF_REASON_REQUIRED:`Say why you sign in as this person, in at least 10 characters.`,SIGN_IN_METHOD_FORBIDDEN:`Staff sign-in is turned off for this app.`,INVALID_CALLBACK_URL:`This page is not on an address the server trusts.`},Xd=e=>{let t=typeof e==`string`?e:e.code;return t&&Yd[t]?Yd[t]:typeof e==`string`?`The staff sign-in did not go through. Try again.`:e.status===429?Ud:e.message},Zd={signup_disabled:e=>`No account here belongs to this ${e} account. Ask an admin to add you, or sign in another way.`,account_not_linked:e=>`Your ${e} account is not linked to your account here. Sign in another way, then connect ${e} on the Sign-in & security page.`,account_already_linked_to_different_user:e=>`This ${e} account is linked to someone else here already.`,unable_to_link_account:e=>`Your ${e} account could not be linked. Try again.`,access_denied:e=>`${e} did not let you in, or you cancelled.`},Qd=(e,t)=>Zd[e]?.(t)??`Signing in with ${t} did not go through. Try again.`,$d=`sign-in`,ef=`error`,tf=e=>{let t=new URL(e).searchParams;if(!t.has(ef))return t.get(`sign-in`)||void 0},nf=e=>new URL(e).searchParams.get(ef)||void 0,rf=e=>{let t=new URL(e);for(let e of[$d,ef])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},af={github:`GitHub`,gitlab:`GitLab`,google:`Google`,microsoft:`Microsoft`,apple:`Apple`},of=(e,t)=>t?.provider===e?t.name:af[e]??e.charAt(0).toUpperCase()+e.slice(1),sf=(0,o.createContext)(null),B=()=>{let e=(0,o.useContext)(sf);if(!e)throw Error(`useAuth must be used inside AuthProvider`);return e},cf=({session:e,children:t})=>{let[n,r]=(0,o.useState)({kind:`loading`}),[i,a]=(0,o.useState)([`password`]),[s,c]=(0,o.useState)(!1),[l,u]=(0,o.useState)(!1),[d,f]=(0,o.useState)([]),[p,m]=(0,o.useState)([]),[h,g]=(0,o.useState)(),[_,v]=(0,o.useState)(),[y,b]=(0,o.useState)(),[x,S]=(0,o.useState)(!1),C=(0,o.useCallback)(()=>x?{kind:`visitor`}:{kind:`signed-out`},[x]),w=(0,o.useCallback)(()=>r(e=>e.kind===`signed-in`?{kind:`signed-out`}:e),[]),T=(0,o.useRef)(w);T.current=w;let E=(0,o.useMemo)(()=>e??wu({onSignedOut:()=>T.current()}),[e]),D=(0,o.useCallback)(async e=>{let[{missing:t},n]=await Promise.all([E.account.signInMethods(),E.staff.current()]);r(t.length>0?{kind:`setup-required`,user:e,missing:t}:{kind:`signed-in`,user:e,...n&&{staff:n}})},[E]),O=(0,o.useCallback)(async e=>e.kind===`two-factor`?r({kind:`two-factor`,methods:e.methods}):D(e.user),[D]),k=(0,o.useCallback)(()=>{r({kind:`loading`}),E.status().then(async e=>{if(a(e.signInMethods),c(e.passwordReset),u(!!e.signUp),f(e.passkeyDomains??[]),m(e.socialProviders),g(e.platformSignIn),v(e.staffSignIn),b(e.organizations),S(!!e.anonymous),e.needsAdmin)return r({kind:`needs-admin`});let t=await E.session();return t?D(t):r({kind:e.anonymous?`visitor`:`signed-out`})}).catch(e=>r({kind:`error`,message:e instanceof Error?e.message:`The server did not answer`}))},[E,D]);(0,o.useEffect)(k,[k]);let A=(0,o.useMemo)(()=>({state:n,session:E,signInMethods:i,passwordReset:s,canSignUp:l,passkeyDomains:d,socialProviders:p,signInProviders:p.map(e=>({id:e,name:of(e,h)})),staffSignIn:_,...y&&{organizations:y},markSignedOut:w,recheck:k,...x&&{browse:()=>{r(e=>e.kind===`signed-out`?{kind:`visitor`}:e)}},signIn:async(e,t)=>O(await E.signIn(e,t)),sendSignInCode:e=>E.sendSignInCode(e),signInWithCode:async(e,t)=>O(await E.signInWithCode(e,t)),sendSignUpCode:e=>E.sendSignUpCode(e),signUp:async e=>D(await E.signUp(e)),signInWithPasskey:async e=>D(await E.signInWithPasskey(e)),verifyTwoFactor:async e=>D(await E.verifyTwoFactor(e)),signInSocial:async e=>{window.location.assign(await E.signInSocial(e,new URL(rf(window.location.href),window.location.href).href))},linkProvider:async e=>{window.location.assign(await E.account.linkProvider(e,new URL(rf(window.location.href),window.location.href).href))},stopStaffSession:async()=>{await E.staff.stop(),r(C())},signOut:async()=>{await E.signOut(),r(C())}}),[n,E,i,s,l,d,p,h,_,y,x,C,w,k,O,D]);return(0,z.jsx)(sf.Provider,{value:A,children:t})},lf=new Map,uf=(e,t)=>{let n=`${e}:${t??``}`,r=lf.get(n);if(r)return r;let i=new Intl.NumberFormat(`en-IE`,{style:`currency`,currency:e,...t!==void 0&&{minimumFractionDigits:t,maximumFractionDigits:t}});return lf.set(n,i),i},df=(e,t=`EUR`,n)=>uf(t,n).format(e/100),ff=new Intl.NumberFormat(`en-IE`),pf=e=>ff.format(e),mf=e=>e>0?`+${ff.format(e)}`:ff.format(e).replace(`-`,`−`),hf=e=>`${e}%`,gf=e=>{if(e<1e4)return`${pf(e)} rows`;let t=10**(Math.floor(Math.log10(e))-3);return`about ${pf(Math.round(e/t)*t)} rows`},_f=new Intl.DateTimeFormat(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`}),vf=new Intl.DateTimeFormat(`en-GB`,{day:`numeric`,month:`short`,timeZone:`UTC`}),yf=new Intl.DateTimeFormat(`en-GB`,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:`UTC`}),bf=e=>_f.format(e),xf=e=>vf.format(e),Sf=e=>`${_f.format(e)}, ${yf.format(e)}`,Cf=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`}),wf=[[`year`,31536e3],[`month`,2592e3],[`day`,86400],[`hour`,3600],[`minute`,60]],Tf=e=>{let[t,n]=wf.find(([,t])=>e>=t)??[`second`,1];return t===`second`&&e<45?`just now`:Cf.format(-Math.floor(e/n),t)},Ef={primary:`bg-primary text-primary-foreground hover:bg-primary-hover shadow-sm`,secondary:`bg-background text-foreground border border-border-strong hover:bg-muted shadow-sm`,ghost:`text-muted-foreground hover:bg-muted hover:text-foreground`,danger:`bg-background text-danger-text border border-border-strong hover:bg-danger-soft shadow-sm`},Df={sm:`h-7 px-2.5 text-xs gap-1.5`,md:`h-8 px-3 text-[13px] gap-2`},Of=({variant:e=`secondary`,size:t=`md`}={})=>R(`inline-flex shrink-0 items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-60 disabled:cursor-default`,Ef[e],Df[t]),V=({variant:e=`secondary`,size:t=`md`,loading:n,className:r,children:i,disabled:a,...o})=>(0,z.jsxs)(`button`,{type:`button`,disabled:a||n,className:R(Of({variant:e,size:t}),r),...o,children:[n&&(0,z.jsx)(Pd,{className:`size-3.5`}),i]}),kf=({title:e,description:t,onClose:n,actions:r,children:i})=>{let a=(0,o.useRef)(null);return Ru(a,!0,n),(0,z.jsx)(`div`,{className:`fixed inset-0 z-[90] flex items-center justify-center bg-backdrop/30 p-4`,onMouseDown:e=>e.target===e.currentTarget&&n(),children:(0,z.jsxs)(`div`,{ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":e,className:`outline-none max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border bg-background p-4 shadow-pop sm:p-5`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),t&&(0,z.jsx)(`p`,{className:`mt-1.5 text-[13px] text-muted-foreground`,children:t}),i&&(0,z.jsx)(`div`,{className:`mt-4`,children:i}),(0,z.jsx)(`div`,{className:`mt-5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end [&>*]:min-h-11 sm:[&>*]:min-h-0`,children:r})]})})},Af=({title:e,status:t,description:n,children:r})=>(0,z.jsxs)(`section`,{"aria-label":e,className:`rounded-lg border bg-background p-4 sm:p-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),t]}),(0,z.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:n}),r&&(0,z.jsx)(`div`,{className:`mt-4`,children:r})]}),jf=({message:e})=>e?(0,z.jsx)(`p`,{role:`alert`,className:`mb-3 text-xs font-medium text-danger-text`,children:e}):null,Mf={allowed:`Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key instead of a password.`,required:`This app requires a passkey for every account. Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key.`,forbidden:`Your admin turned passkeys off for this app, so they cannot be used to sign in.`},Nf=({rule:e,passkeys:t,onAdd:n,onRename:r,onRemove:i})=>{let[a,s]=(0,o.useState)(!1),[c,l]=(0,o.useState)(),[u,d]=(0,o.useState)(),[f,p]=(0,o.useState)(``),m=e===`required`&&t.length<=1,h=async e=>{s(!0),l(void 0);try{await e(),d(void 0)}catch(e){if(!(e instanceof zs))throw e;l(qd(e))}s(!1)};return(0,z.jsxs)(Af,{title:`Passkeys`,status:e===`required`&&(0,z.jsx)(rd,{tone:`blue`,children:`Required`}),description:Mf[e],children:[(0,z.jsx)(jf,{message:u?void 0:c}),t.length>0&&(0,z.jsx)(`ul`,{className:`mb-3 divide-y rounded-md border`,children:t.map(e=>(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,z.jsx)(et,{className:`size-4 shrink-0 text-muted-foreground`}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name??`Passkey`}),(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[e.createdAt?`Added ${bf(Date.parse(e.createdAt))}`:`Added earlier`,` · `,e.backedUp?`Synced across your devices`:`On one device`]})]}),(0,z.jsxs)(`span`,{className:`flex gap-1`,children:[(0,z.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>{p(e.name??``),d({kind:`rename`,passkey:e})},children:`Rename`}),(0,z.jsx)(V,{size:`sm`,variant:`ghost`,disabled:m,title:m?`Passkeys are required: add another one before removing this one.`:void 0,onClick:()=>d({kind:`remove`,passkey:e}),children:`Remove`})]})]},e.id))}),e!==`forbidden`&&(0,z.jsxs)(V,{loading:a&&!u,onClick:()=>void h(n),children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`Add a passkey`]}),u?.kind===`rename`&&(0,z.jsxs)(kf,{title:`Rename passkey`,description:`A name that tells you where this passkey lives, such as the device or password manager.`,onClose:()=>d(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>d(void 0),children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,loading:a,disabled:!f.trim(),onClick:()=>void h(()=>r(u.passkey.id,f.trim())),children:`Save`})]}),children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Name`,(0,z.jsx)(Md,{autoFocus:!0,value:f,maxLength:60,onChange:e=>p(e.target.value)})]}),(0,z.jsx)(jf,{message:c})]}),u?.kind===`remove`&&(0,z.jsx)(kf,{title:`Remove passkey?`,description:`${u.passkey.name??`This passkey`} will no longer sign you in here. It stays on the device until you delete it there.`,onClose:()=>d(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>d(void 0),children:`Cancel`}),(0,z.jsx)(V,{variant:`danger`,loading:a,onClick:()=>void h(()=>i(u.passkey.id)),children:`Remove`})]}),children:c&&(0,z.jsx)(jf,{message:c})})]})},Pf=({providers:e,linked:t,onConnect:n,error:r})=>{let[i,a]=(0,o.useState)(),[s,c]=(0,o.useState)(r),l=async e=>{a(e),c(void 0);try{await n(e)}catch(e){if(!(e instanceof zs))throw e;c(qd(e)),a(void 0)}};return(0,z.jsxs)(Af,{title:`Connected accounts`,description:`Sign in with these instead of your password. Connecting one asks you to sign in there; its address may differ from yours here.`,children:[(0,z.jsx)(jf,{message:s}),(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,z.jsx)(st,{className:`size-4 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:e.name}),t.includes(e.id)?(0,z.jsx)(rd,{tone:`green`,children:`Connected`}):(0,z.jsxs)(V,{size:`sm`,loading:i===e.id,disabled:i!==void 0,onClick:()=>void l(e.id),children:[`Connect `,e.name]})]},e.id))})]})},Ff=({codes:e})=>{let[t,n]=(0,o.useState)(!1),r=`${e.join(`
6
+ at `))}function zc(e,t){class n extends e{#e;constructor(...e){if(Lc()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=Rc(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}return Object.defineProperty(n.prototype,"constructor",{get(){return t},enumerable:!1,configurable:!0}),n}var Bc={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};zc(class extends Error{status;body;headers;statusCode;constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:Bc[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name=`APIError`,this.status=e,this.headers=n,this.statusCode=r,this.body=t}},Error);var Vc=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},Hc=47;function Uc(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===Hc;)t--;return t===e.length?e:e.slice(0,t)}function Wc(e){try{return(Uc(new URL(e).pathname)||`/`)!==`/`}catch{throw new Vc(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}function Gc(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new Vc(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){throw t instanceof Vc?t:new Vc(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}}function Kc(e,t=`/api/auth`){if(Gc(e),Wc(e))return e;let n=Uc(e);return!t||t===`/`?n:(t=t.startsWith(`/`)?t:`/${t}`,`${n}${t}`)}function qc(e,t){return!e||e.trim()===``?!1:t===`proto`?e===`http`||e===`https`:t===`host`?[/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some(t=>t.test(e))?!1:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(e)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(e)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(e)||/^localhost(:[0-9]{1,5})?$/i.test(e):!1}function Jc(e,t,n,r,i){if(e)return Kc(e,t);if(r!==!1){let e=Fc.BETTER_AUTH_URL||Fc.NEXT_PUBLIC_BETTER_AUTH_URL||Fc.PUBLIC_BETTER_AUTH_URL||Fc.NUXT_PUBLIC_BETTER_AUTH_URL||Fc.NUXT_PUBLIC_AUTH_URL||(Fc.BASE_URL===`/`?void 0:Fc.BASE_URL);if(e)return Kc(e,t)}let a=n?.headers.get(`x-forwarded-host`),o=n?.headers.get(`x-forwarded-proto`);if(a&&o&&i&&qc(o,`proto`)&&qc(a,`host`))try{return Kc(`${o}://${a}`,t)}catch{}if(n){let e=Yc(n.url);if(!e)throw new Vc(`Could not get origin from request. Please provide a valid base URL.`);return Kc(e,t)}if(typeof window<`u`&&window.location)return Kc(window.location.origin,t)}function Yc(e){try{let t=new URL(e);return t.origin===`null`?null:t.origin}catch{return null}}var Xc=[`javascript:`,`data:`,`vbscript:`];function Zc(e){let t;try{t=new URL(e)}catch{return!0}return!Xc.includes(t.protocol)}var Qc={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&Zc(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},$c=()=>typeof window>`u`,el=vc;function tl(e,t){if(typeof window>`u`)return;let n=e.get();n.data===null&&t!==null&&e.set({...n,data:t,error:null,isPending:!1})}function nl(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}function rl(e){return!e||e.session===null&&e.user===null?null:e}function il(e,t){return xc(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function al(e,t){let n=mc(!1),r,i=0,a=0;n.listen(()=>{a++,i=0});let o=e=>u(e),s=Oc({data:null,error:null,isPending:!0,isRefetching:!1,refetch:o});Sc(s,il);let c=async(t,n)=>{let r=s.value;if(s.set({...r,isPending:r.data===null,isRefetching:!0,error:null,refetch:o}),t.aborted)return`aborted`;try{let r=await e(`/get-session`,{method:`GET`,query:n?.query,signal:t});if(t.aborted)return`aborted`;let{data:i,error:a}=nl(r),c=`fresh`;if(i?.needsRefresh)try{let n=await e(`/get-session`,{method:`POST`,signal:t});if(t.aborted)return`aborted`;({data:i,error:a}=nl(n))}catch{if(t.aborted)return`aborted`;c=`stale`}if(a){let e=s.value,t=a?.status===401;return s.set({data:t?null:e.data,error:a,isPending:!1,isRefetching:!1,refetch:o}),`failed`}let l=rl(i),u=s.value,d=u.data!=null&&l!=null&&xc(u.data,l)?u.data:l;return s.set({data:d,error:null,isPending:!1,isRefetching:!1,refetch:o}),c}catch(e){if(t.aborted)return`aborted`;let n=s.value;return s.set({data:n.data,error:e,isPending:!1,isRefetching:!1,refetch:o}),`failed`}},l=()=>{let e=s.value.data?.session?.expiresAt,t=e instanceof Date?e.getTime():1/0;return Math.min(Date.now()+el,t)},u=e=>{i=0,r?.cancel();let t=new AbortController,n={cancel:()=>t.abort(),promise:Promise.resolve().then(()=>t.signal.aborted?`aborted`:c(t.signal,e)),revision:a};r=n;let o=e=>{r===n&&(r=void 0,e===`fresh`&&n.revision===a&&(i=l()))};return n.promise.then(o,()=>o(`failed`)),n.promise.then(()=>void 0)},d=()=>r?.revision===a?r.promise.then(()=>void 0):Date.now()<i?Promise.resolve():u(),f=()=>{};return yc(s,()=>{let e;$c()||(e=setTimeout(()=>{d()},0));let r=Mc({fetchSession:u,shouldPollSession:()=>s.value.data!=null,sessionSignal:n,options:t});return r.init(),f=r.broadcastSessionUpdate,()=>{e&&clearTimeout(e),r.cleanup()}}),{session:s,$sessionSignal:n,broadcastSessionUpdate:e=>f(e)}}function ol(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function sl(e,t,n=`.`,r){if(!ol(t))return sl(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:ol(a)&&ol(i[t])?sl(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function cl(e){return(...t)=>t.reduce((t,n)=>sl(t,n,``,e),{})}var ll=cl(),ul=class extends Error{constructor(e,t,n){super(t||e.toString(),{cause:n}),this.status=e,this.statusText=t,this.error=n,Error.captureStackTrace(this,this.constructor)}},dl=async(e,t)=>{let n=t||{},r={onRequest:[t?.onRequest],onResponse:[t?.onResponse],onSuccess:[t?.onSuccess],onError:[t?.onError],onRetry:[t?.onRetry]};if(!t||!t?.plugins)return{url:e,options:n,hooks:r};for(let i of t?.plugins||[]){if(i.init){let t=await i.init?.call(i,e.toString(),n);n=t.options||n,e=t.url}r.onRequest.push(i.hooks?.onRequest),r.onResponse.push(i.hooks?.onResponse),r.onSuccess.push(i.hooks?.onSuccess),r.onError.push(i.hooks?.onError),r.onRetry.push(i.hooks?.onRetry)}return{url:e,options:n,hooks:r}},fl=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},pl=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}};function ml(e){if(typeof e==`number`)return new fl({type:`linear`,attempts:e,delay:1e3});switch(e.type){case`linear`:return new fl(e);case`exponential`:return new pl(e);default:throw Error(`Invalid retry strategy`)}}var hl=[`get`,`post`,`put`,`patch`,`delete`];function gl(e){if(!e.startsWith(`@`))return{method:void 0,path:e};let t=e.indexOf(`/`),n=e.slice(1,t===-1?void 0:t);return hl.includes(n)?{method:n,path:t===-1?e:e.slice(t+1)}:{method:void 0,path:e}}var _l=e=>e===`.`||e===`..`,vl=e=>e.split(`:`).map(e=>encodeURIComponent(e)).join(`:`);function yl(e,t){let n=t.get(e);if(n===void 0)return vl(e);if(_l(n))throw TypeError(`Path parameters cannot be reserved path segments`);return encodeURIComponent(n)}function bl(e,t){let{baseURL:n,params:r,query:i}=t||{query:{},params:{},baseURL:``},a=e.startsWith(`http`)?e.split(`/`).slice(0,3).join(`/`):n||``,{path:o}=gl(e);o!==e&&(e=`/${o}`),a.endsWith(`/`)||(a+=`/`);let[s,c]=e.replace(a,``).split(`?`),l=new URLSearchParams(c);for(let[e,t]of Object.entries(i||{})){if(t==null)continue;let n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let n of t)l.append(e,n);continue}else n=JSON.stringify(t);l.set(e,n)}let u=new Map;if(r){if(Array.isArray(r)){let e=s.split(`/`).filter(e=>e.startsWith(`:`));for(let[t,n]of e.entries()){let e=r[t];u.set(n,String(e))}}else for(let[e,t]of Object.entries(r))u.set(`:${e}`,String(t))}s=s.split(`/`).map(e=>yl(e,u)).join(`/`),s=s.replace(/^\/+/,``);let d=l.toString();return d=d.length>0?`?${d}`.replace(/\+/g,`%20`):``,a.startsWith(`http`)?new URL(`${s}${d}`,a):`${a}${s}${d}`}var xl=async e=>{let t={},n=async e=>typeof e==`function`?await e():e;if(e?.auth){if(e.auth.type===`Bearer`){let r=await n(e.auth.token);if(!r)return t;t.authorization=`Bearer ${r}`}else if(e.auth.type===`Basic`){let[r,i]=await Promise.all([n(e.auth.username),n(e.auth.password)]);if(!r||!i)return t;t.authorization=`Basic ${btoa(`${r}:${i}`)}`}else if(e.auth.type===`Custom`){let[r,i]=await Promise.all([n(e.auth.prefix),n(e.auth.value)]);if(!i)return t;t.authorization=`${r??``} ${i}`}}return t},Sl=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Cl(e){let t=e.headers.get(`content-type`),n=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]);if(!t)return`json`;let r=t.split(`;`).shift()||``;return Sl.test(r)?`json`:n.has(r)||r.startsWith(`text/`)?`text`:`blob`}function wl(e){try{return JSON.parse(e),!0}catch{return!1}}function Tl(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}function El(e){try{return JSON.parse(e)}catch{return e}}function Dl(e){return typeof e==`function`}function Ol(e){if(e?.customFetchImpl)return e.customFetchImpl;if(typeof globalThis<`u`&&Dl(globalThis.fetch))return globalThis.fetch;if(typeof window<`u`&&Dl(window.fetch))return window.fetch;throw Error(`No fetch implementation found`)}function kl(...e){let t={};for(let n of e)if(n){if(n instanceof Headers)n.forEach((e,n)=>{t[n]=e});else{let e=Array.isArray(n)?n:Object.entries(n);for(let[n,r]of e)r!=null&&(t[n]=r)}}return t}async function Al(e){let t=new Headers(kl(e?.headers,await xl(e)));if(!t.has(`content-type`)){let n=jl(e?.body);n&&t.set(`content-type`,n)}return t}function jl(e){return Tl(e)?`application/json`:null}function Ml(e){let t=e.get(`content-type`);return t?t.split(`;`)[0].trim().toLowerCase():null}function Nl(e,t){let{body:n}=e;return n?!Tl(n)||typeof n==`string`?n:Ml(t)===`application/x-www-form-urlencoded`?new URLSearchParams(n).toString():JSON.stringify(n):null}function Pl(e,t){if(t?.method)return t.method.toUpperCase();let{method:n}=gl(e);return n?n.toUpperCase():t?.body?`POST`:`GET`}function Fl(e,t){let n;return!e?.signal&&e?.timeout&&(n=setTimeout(()=>t?.abort(),e?.timeout)),{abortTimeout:n,clearTimeout:()=>{n&&clearTimeout(n)}}}var Il=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function Ll(e,t){let n=await e[`~standard`].validate(t);if(n.issues)throw new Il(n.issues);return n.value}function Rl(e){"@babel/helpers - typeof";return Rl=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Rl(e)}function zl(e,t){if(Rl(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Rl(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Bl(e){var t=zl(e,`string`);return Rl(t)==`symbol`?t:t+``}function Vl(e,t,n){return(t=Bl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Hl(Object(n),!0).forEach(function(t){Vl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ul=async(e,t)=>{var n;let{hooks:r,url:i,options:a}=await dl(e,t),o=Ol(a),s=new AbortController,c=a.signal??s.signal,l=bl(i,a),u=await Al(a),d=Nl(a,u),f=Pl(i,a),p=L(L({},a),{},{url:l,headers:u,body:d,method:f,signal:c});for(let e of r.onRequest)if(e){let t=await e(p);typeof t==`object`&&t&&Object.assign(p,t)}(`pipeTo`in p&&typeof p.pipeTo==`function`||typeof(t==null||(n=t.body)==null?void 0:n.pipe)==`function`)&&(`duplex`in p||(p.duplex=`half`));let{clearTimeout:m}=Fl(a,s),h=await o(p.url,p);m();let g={response:h,request:p};for(let e of r.onResponse)if(e){var _;let n=await e(L(L({},g),{},{response:t!=null&&(_=t.hookOptions)!=null&&_.cloneResponse?h.clone():h}));n instanceof Response?h=n:typeof n==`object`&&n&&(h=n.response)}if(h.ok){if(p.method===`HEAD`)return{data:``,error:null};let e=Cl(h),n={data:null,response:h,request:p};if(e===`json`||e===`text`){let e=await h.text();n.data=await(p.jsonParser??El)(e)}else n.data=await h[e]();p?.output&&p.output&&!p.disableValidation&&(n.data=await Ll(p.output,n.data));for(let e of r.onSuccess)if(e){var v;await e(L(L({},n),{},{response:t!=null&&(v=t.hookOptions)!=null&&v.cloneResponse?h.clone():h}))}return t?.throw?n.data:{data:n.data,error:null}}let y=t?.jsonParser??El,b=await h.text(),x=wl(b),S=x?await y(b):null,C={response:h,responseText:b,request:p,error:L(L({},S),{},{status:h.status,statusText:h.statusText})};for(let e of r.onError)if(e){var w;await e(L(L({},C),{},{response:t!=null&&(w=t.hookOptions)!=null&&w.cloneResponse?h.clone():h}))}if(t?.retry){let n=ml(t.retry),i=t.retryAttempt??0;if(await n.shouldAttemptRetry(i,h)){for(let e of r.onRetry)e&&await e(g);let a=n.getDelay(i);return await new Promise(e=>setTimeout(e,a)),await Ul(e,L(L({},t),{},{retryAttempt:i+1}))}}if(t?.throw)throw new ul(h.status,h.statusText,x?S:b);return{data:null,error:L(L({},S),{},{status:h.status,statusText:h.statusText})}},Wl=e=>({id:`apply-schema`,name:`Apply Schema`,version:`1.0.0`,async init(t,n){var r;let i=L(L({},n),e.query!==void 0&&{query:L(L({},e.query),n?.query)}),a=((r=e.plugins)==null||(r=r.find(e=>e.schema?.config?t.startsWith(e.schema.config.baseURL||``)||t.startsWith(e.schema.config.prefix||``):!1))==null?void 0:r.schema)||e.schema;if(a){let r=t;a.config?.prefix&&r.startsWith(a.config.prefix)&&(r=r.replace(a.config.prefix,``),a.config.baseURL&&(t=t.replace(a.config.prefix,a.config.baseURL))),a.config?.baseURL&&r.startsWith(a.config.baseURL)&&(r=r.replace(a.config.baseURL,``)),r.startsWith(`/`)&&r.charAt(1)===`@`&&(r=r.substring(1));let o=a.schema[r];if(o){let{method:a,path:s}=gl(r);a&&(t=t.slice(0,t.length-r.length)+s);let c=n?.headers;if(o.headers&&!n?.disableValidation){let e={};if(n?.headers){if(n.headers instanceof Headers)n.headers.forEach((t,n)=>{e[n.toLowerCase()]=t});else if(typeof n.headers==`object`)for(let[t,r]of Object.entries(n.headers))r!=null&&(e[t.toLowerCase()]=r)}let t=await Ll(o.headers,e),r={};for(let[e,n]of Object.entries(t))r[e.toLowerCase()]=n;c=r}let l=o.method??a;if(i=L(L(L(L({},i),l!==void 0&&{method:l}),o.output!==void 0&&{output:o.output}),c!==void 0&&{headers:c}),!n?.disableValidation){if(o.query&&(i.query=await Ll(o.query,n?.query),i.query!==null&&typeof i.query==`object`)){let t=L({},e.query);for(let e of Object.keys(t))n?.query&&Object.prototype.hasOwnProperty.call(n.query,e)&&(t[e]=n.query[e]);i.query=L(L({},t),i.query)}i=L(L({},i),{},{body:o.input?await Ll(o.input,n?.body):n?.body,params:o.params?await Ll(o.params,n?.params):n?.params})}return{url:t,options:i}}}return L({url:t},(n!==void 0||e.query!==void 0)&&{options:i})}}),Gl=e=>{async function t(t,n){let r=L(L(L({},e),n),{},{headers:kl(e?.headers,n?.headers),plugins:[...e?.plugins||[],Wl(e||{}),...n?.plugins||[]]});if(e?.catchAllError)try{return await Ul(t,r)}catch(e){return{data:null,error:{status:500,statusText:`Fetch Error`,message:`Fetch related error. Captured by catchAllError option. See error property for more details.`,error:e}}}return await Ul(t,r)}return t},Kl=e=>{if(typeof process>`u`)return;let t=e??`/api/auth`;if({}.NEXT_PUBLIC_AUTH_URL)return{}.NEXT_PUBLIC_AUTH_URL;if(typeof window>`u`){if({}.NEXTAUTH_URL)try{return{}.NEXTAUTH_URL}catch{}if({}.VERCEL_URL)try{let e={}.VERCEL_URL.startsWith(`http`)?``:`https://`;return`${new URL(`${e}${{}.VERCEL_URL}`).origin}${t}`}catch{}}},ql=e=>e===`/sign-out`||e===`/update-user`||e===`/update-session`||e===`/sign-up/email`||e===`/sign-in/email`||e===`/delete-user`||e===`/verify-email`||e===`/revoke-sessions`||e===`/revoke-session`||e===`/revoke-other-sessions`||e===`/change-email`||e===`/change-password`,Jl=(e,t)=>{let n=`credentials`in Request.prototype,r=Jc(e?.baseURL,e?.basePath,void 0,t)??Kl(e?.basePath)??`/api/auth`,i=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>e!==void 0)||[],a={id:`lifecycle-hooks`,name:`lifecycle-hooks`,hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:o,onError:s,onRequest:c,onResponse:l,...u}=e?.fetchOptions||{},d=Gl({baseURL:r,...n?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?Lee(e,{strict:!1}):null},customFetchImpl:fetch,...u,plugins:[a,...u.plugins||[],...e?.disableDefaultFetchPlugins?[]:[Qc],...i]}),{$sessionSignal:f,session:p,broadcastSessionUpdate:m}=al(d,e),h=!1,g=e=>{h||e===null||(h=!0,tl(p,e))},_=e?.plugins||[],v={},y={$sessionSignal:f,session:p},b={"/sign-out":`POST`,"/revoke-sessions":`POST`,"/revoke-other-sessions":`POST`,"/delete-user":`POST`},x=[{signal:`$sessionSignal`,matcher:ql,callback(e){e===`/sign-out`?m(`signout`):(e===`/update-user`||e===`/update-session`)&&m(`updateUser`)}}];for(let e of _)e.getAtoms&&Object.assign(y,e.getAtoms?.(d)),e.pathMethods&&Object.assign(b,e.pathMethods),e.atomListeners&&x.push(...e.atomListeners);let S={notify:e=>{y[e].set(!y[e].get())},listen:(e,t)=>{y[e].subscribe(t)},atoms:y};for(let t of _)t.getActions&&(v=ll(t.getActions?.(d,S,e)??{},v));return{get baseURL(){return r},pluginsActions:v,pluginsAtoms:y,pluginPathMethods:b,atomListeners:x,hydrateSession:g,$sessionSignal:f,$fetch:d,$store:S}};function Yl(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function Xl(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Zl=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,Ql=/['\u2019]/g;function $l(e){return e.replace(Ql,``).match(Zl)??[]}function eu(e){return $l(e).map(e=>e.toLowerCase()).join(`-`)}function tu(e,t,n){let r=t[e],{fetchOptions:i,query:a,...o}=n||{};return r||(i?.method?i.method:o&&Object.keys(o).length>0?`POST`:`GET`)}function nu(e,t,n,r,i){function a(o=[]){return new Proxy(function(){},{get(t,n){if(typeof n!=`string`||n===`then`||n===`catch`||n===`finally`)return;let r=[...o,n],i=e;for(let e of r)if(i&&typeof i==`object`&&e in i)i=i[e];else{i=void 0;break}return typeof i==`function`||Yl(i)?i:a(r)},apply:async(e,a,s)=>{let c=`/`+o.map(eu).join(`/`),l=s[0]||{},u=s[1]||{},{query:d,fetchOptions:f,...p}=l,m={...u,...f},h=tu(c,n,l);return await t(c,{...m,body:h===`GET`?void 0:{...p,...m?.body||{}},query:d||m?.query,method:h,async onSuccess(e){if(await m?.onSuccess?.(e),!i||m.disableSignal)return;let t=i.filter(e=>e.matcher(c));if(!t.length)return;let n=new Set;for(let e of t){let t=r[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let i=t.get();setTimeout(()=>{t.set(!i)},10),e.callback?.(c)}}})}})}return a()}function ru(e){let{pluginPathMethods:t,pluginsActions:n,pluginsAtoms:r,hydrateSession:i,$fetch:a,atomListeners:o,$store:s}=Jl(e),c={};for(let[e,t]of Object.entries(r))c[`use${Xl(e)}`]=t;return nu({...n,...c,hydrateSession:i,$fetch:a,$store:s},a,t,r,o)}var iu=(e,{$listPasskeys:t,$store:n})=>({signIn:{passkey:async(r,i)=>{let a=await e(`/passkey/generate-authenticate-options`,{method:`GET`,throw:!1});if(!a.data)return a;let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s;try{s=await oc({optionsJSON:{...a.data,extensions:o},useBrowserAutofill:r?.autoFill})}catch(e){return{data:null,error:{code:e instanceof Xs?e.code:`AUTH_CANCELLED`,message:Hs.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}try{let{clientExtensionResults:a,...o}=s,c=await e(`/passkey/verify-authentication`,{body:{response:o},...r?.fetchOptions,...i,method:`POST`,throw:!1});return t.set(Math.random()),n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...c,webauthn:{response:s,clientExtensionResults:a}}:c}catch(e){return console.error(`[Better Auth] Error verifying passkey`,e),{data:null,error:{code:`AUTH_CANCELLED`,message:Hs.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}}},passkey:{addPasskey:async(r,i)=>{let a=await e(`/passkey/generate-register-options`,{method:`GET`,query:{...r?.authenticatorAttachment&&{authenticatorAttachment:r.authenticatorAttachment},...r?.name&&{name:r.name},...r?.context&&{context:r.context}},throw:!1});if(!a.data)return a;try{let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s=await tc({optionsJSON:{...a.data,extensions:o},useAutoRegister:r?.useAutoRegister}),{clientExtensionResults:c,...l}=s,u=await e(`/passkey/verify-registration`,{...r?.fetchOptions,...i,body:{response:l,name:r?.name,...r?.createSession&&{createSession:!0}},method:`POST`,throw:!1});return u.data?(t.set(Math.random()),u.data.session&&n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...u,webauthn:{response:s,clientExtensionResults:c}}:u):u}catch(e){return e instanceof Xs?e.code===`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`?{data:null,error:{code:e.code,message:Hs.PREVIOUSLY_REGISTERED.message,status:400,statusText:`BAD_REQUEST`}}:e.code===`ERROR_CEREMONY_ABORTED`?{data:null,error:{code:e.code,message:Hs.REGISTRATION_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:e.code,message:e.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:`UNKNOWN_ERROR`,message:e instanceof Error?e.message:Hs.UNKNOWN_ERROR.message,status:500,statusText:`INTERNAL_SERVER_ERROR`}}}}},$Infer:{}}),au=()=>{let e=mc();return{id:`passkey`,version:Us,$InferServerPlugin:{},getActions:(t,n)=>iu(t,{$listPasskeys:e,$store:n}),getAtoms(t){return{listPasskeys:kc(e,`/passkey/list-user-passkeys`,t,{method:`GET`}),$listPasskeys:e}},pathMethods:{"/passkey/register":`POST`,"/passkey/authenticate":`POST`},atomListeners:[{matcher(e){return e===`/passkey/verify-registration`||e===`/passkey/delete-passkey`||e===`/passkey/update-passkey`||e===`/sign-out`},signal:`$listPasskeys`},{matcher:e=>e===`/passkey/verify-authentication`,signal:`$sessionSignal`}],$ERROR_CODES:Hs}},ou=Vs({OTP_EXPIRED:`OTP expired`,INVALID_OTP:`Invalid OTP`,TOO_MANY_ATTEMPTS:`Too many attempts`}),su=()=>({id:`email-otp`,version:sc,$InferServerPlugin:{},atomListeners:[{matcher:e=>e===`/email-otp/verify-email`||e===`/sign-in/email-otp`||e===`/email-otp/request-email-change`,signal:`$sessionSignal`}],$ERROR_CODES:ou}),cu=e=>{let t=e?.jwks?.jwksPath??`/jwks`;return{id:`better-auth-client`,version:sc,$InferServerPlugin:{},pathMethods:{[t]:`GET`},getActions:(e,n,r)=>({jwks:async n=>await e(t,{method:`GET`,...n})})}},lu=Vs({OTP_NOT_ENABLED:`OTP not enabled`,OTP_NOT_CONFIGURED:`OTP is not available`,OTP_HAS_EXPIRED:`OTP has expired`,TOTP_NOT_ENABLED:`TOTP not enabled`,TOTP_ALREADY_ENABLED:`TOTP is already enabled`,TOTP_NOT_CONFIGURED:`TOTP is not available`,TWO_FACTOR_NOT_ENABLED:`Two factor isn't enabled`,BACKUP_CODES_NOT_ENABLED:`Backup codes aren't enabled`,INVALID_BACKUP_CODE:`Invalid backup code`,INVALID_CODE:`Invalid code`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`Too many attempts. Please request a new code.`,ACCOUNT_TEMPORARILY_LOCKED:`Too many failed verification attempts. Your account is temporarily locked. Please try again later.`,INVALID_TWO_FACTOR_COOKIE:`Invalid two factor cookie`}),uu=e=>({id:`two-factor`,version:sc,$InferServerPlugin:{},atomListeners:[{matcher:e=>e.startsWith(`/two-factor/`),signal:`$sessionSignal`}],pathMethods:{"/two-factor/disable":`POST`,"/two-factor/enable":`POST`,"/two-factor/send-otp":`POST`,"/two-factor/generate-backup-codes":`POST`,"/two-factor/get-totp-uri":`POST`,"/two-factor/verify-totp":`POST`,"/two-factor/verify-otp":`POST`,"/two-factor/verify-backup-code":`POST`},fetchPlugins:[{id:`two-factor`,name:`two-factor`,hooks:{async onSuccess(t){if(t.data?.twoFactorRedirect){if(e?.onTwoFactorRedirect){await e.onTwoFactorRedirect({twoFactorMethods:t.data.twoFactorMethods});return}e?.twoFactorPage&&typeof window<`u`&&Zc(e.twoFactorPage)&&(window.location.href=e.twoFactorPage)}}}}],$ERROR_CODES:lu}),du=(e,t,n)=>ru({baseURL:e,basePath:t,plugins:[cu(),su(),uu(),au()],fetchOptions:{customFetchImpl:n}}),fu=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?JSON.parse(e):[],pu=e=>{let t=e.split(`,`);return t.includes(`owner`)?`owner`:t.includes(`admin`)?`admin`:`member`},mu=e=>({id:e.id,userId:e.userId,name:e.user.name||e.user.email,email:e.user.email,role:pu(e.role),appRoles:fu(e.appRoles),createdAt:new Date(e.createdAt).toISOString()}),hu=e=>({id:e.id,email:e.email,role:pu(e.role),appRoles:fu(e.appRoles),status:e.status,expiresAt:new Date(e.expiresAt).toISOString(),...e.organizationName&&{organizationName:e.organizationName}}),gu=(e,t)=>{let n=async(t,n,r={})=>{let{data:i,error:a}=await e.$fetch(t,{method:r.method??(r.body?`POST`:`GET`),...r.body&&{body:r.body},...r.query&&{query:r.query}});if(a)throw I(a,n);return i},r=async e=>(await t(),e);return{list:async()=>await n(`/organization/list`,`Could not read your organizations`)??[],current:()=>n(`/organization/current`,`Could not read the current organization`),switchTo:async e=>r(await n(`/organization/switch`,`Could not switch the organization`,{body:{organizationId:e}})),search:async e=>(await n(`/organization/search`,`Could not search the organizations`,{query:{query:e}})).organizations,create:async e=>r(await n(`/organization/create`,`Could not create the organization`,{body:e})),rename:(e,t)=>n(`/organization/update`,`Could not change the organization`,{body:{organizationId:e,data:t}}),remove:async e=>r(await n(`/organization/delete`,`Could not delete the organization`,{body:{organizationId:e}})),leave:async e=>r(await n(`/organization/leave`,`Could not leave the organization`,{body:{organizationId:e}})),members:async e=>(await n(`/organization/list-members`,`Could not read the members`,{query:{organizationId:e,limit:`1000`}})).members.map(mu),setRole:(e,t,r)=>n(`/organization/update-member-role`,`Could not change the role`,{body:{organizationId:e,memberId:t,role:r}}),setAppRoles:(e,t)=>n(`/organization/set-app-roles`,`Could not change the app roles`,{body:{memberId:e,appRoles:t}}),removeMember:(e,t)=>n(`/organization/remove-member`,`Could not remove the member`,{body:{organizationId:e,memberIdOrEmail:t}}),transferOwnership:(e,t=`admin`)=>n(`/organization/transfer-ownership`,`Could not hand the organization over`,{body:{memberId:e,keepAs:t}}),invitations:async e=>(await n(`/organization/list-invitations`,`Could not read the invitations`,{query:{organizationId:e}})??[]).map(hu),invite:async(e,t)=>{let r=await n(`/organization/invite-member`,`Could not send the invitation`,{body:{organizationId:e,...t}});return{invitation:hu(r),...r.link&&{link:r.link}}},resend:async(e,t)=>{let r=await n(`/organization/invite-member`,`Could not send the invitation again`,{body:{organizationId:e,email:t.email,role:t.role,resend:!0}});return{invitation:hu(r),...r.link&&{link:r.link}}},revoke:e=>n(`/organization/cancel-invitation`,`Could not revoke the invitation`,{body:{invitationId:e}}),myInvitations:async()=>(await n(`/organization/list-user-invitations`,`Could not read your invitations`)??[]).map(hu),invitation:e=>n(`/invitation`,`This invitation link is not valid`,{query:{token:e}}),accept:async e=>r(await n(`/invitation/accept`,`Could not accept the invitation`,{body:{token:e}})),signUpFromInvitation:async(e,t)=>r(await n(`/invitation/sign-up`,`Could not create your account`,{body:{token:e,...t}}))}},_u=(e,t)=>({current:async()=>{let{data:t,error:n}=await e.$fetch(`/role/current`,{method:`GET`});if(n)throw I(n,`Could not read your roles`);return t},switchTo:async n=>{let{error:r}=await e.$fetch(`/role/switch`,{method:`POST`,body:{role:n}});if(r)throw I(r,`Could not switch the role`);await t()}}),vu=(e,t)=>{let n=async e=>e?.twoFactorRedirect?{kind:`two-factor`,methods:e.twoFactorMethods??[]}:(await t(),{kind:`signed-in`,user:e?.user});return{signIn:async(t,r)=>{let{data:i,error:a}=await e.signIn.email({email:t,password:r});if(a||!i)throw I(a,`Sign-in failed`);return n(i)},sendSignInCode:async t=>{let{error:n}=await e.emailOtp.sendVerificationOtp({email:t,type:`sign-in`});if(n)throw I(n,`Could not send the code`)},signInWithCode:async(t,r)=>{let{data:i,error:a}=await e.signIn.emailOtp({email:t,otp:r});if(a||!i)throw I(a,`Sign-in failed`);return n(i)},sendSignUpCode:async t=>{let{error:n}=await e.$fetch(`/sign-up/send-code`,{method:`POST`,body:{email:t}});if(n)throw I(n,`Could not send the code`)},signUp:async n=>{let{data:r,error:i}=await e.$fetch(`/sign-up/create`,{method:`POST`,body:n});if(i||!r)throw I(i,`Could not create your account`);return await t(),r.user},signInWithPasskey:async n=>{let r=await e.$fetch(`/passkey/generate-authenticate-options`,{method:`GET`,...n&&{query:{rpId:n}}});if(r.error||!r.data)throw I(r.error,`Sign-in failed`);let{clientExtensionResults:i,...a}=await oc({optionsJSON:r.data}).catch(e=>{throw new zs(`Auth cancelled`,400,e instanceof Xs?e.code:`AUTH_CANCELLED`)}),o=await e.$fetch(`/passkey/verify-authentication`,{method:`POST`,body:{response:a}});if(o.error||!o.data)throw I(o.error,`Sign-in failed`);return await t(),o.data.user},sendTwoFactorCode:async()=>{let{error:t}=await e.twoFactor.sendOtp();if(t)throw I(t,`Could not send the code`)},verifyTwoFactor:async({method:n,code:r,trustDevice:i=!1})=>{let{data:a,error:o}=await(n===`totp`?e.twoFactor.verifyTotp:n===`otp`?e.twoFactor.verifyOtp:e.twoFactor.verifyBackupCode)({code:r,trustDevice:i});if(o||!a)throw I(o,`The code did not work`);return await t(),a.user}}},yu=e=>({read:async()=>{let{data:t,error:n}=await e.$fetch(`/policy/sign-in`);if(n||!t)throw I(n,`Could not read the sign-in policy`);return t},save:async t=>{let{data:n,error:r}=await e.$fetch(`/policy/sign-in`,{method:`POST`,body:t});if(r||!n)throw I(r,`Could not save the sign-in policy`);return n}}),bu=e=>new Date(e).toISOString(),xu=({startedAt:e,expiresAt:t,endedAt:n,...r})=>({...r,startedAt:bu(e),expiresAt:bu(t),...n&&{endedAt:bu(n)}}),Su=e=>({start:async t=>{let{data:n,error:r}=await e.$fetch(`/staff/sign-in`,{method:`POST`,body:t});if(r||!n?.url)throw I(r,`Could not start the staff sign-in`);return n.url},current:async()=>{let{data:t,error:n}=await e.$fetch(`/staff/session`);if(n||!t)throw I(n,`Could not read the session`);return t.staff?xu(t.staff):void 0},stop:async()=>{let{error:t}=await e.$fetch(`/staff/stop`,{method:`POST`,body:{}});if(t)throw I(t,`Could not end the staff session`)},log:async()=>{let{data:t,error:n}=await e.$fetch(`/staff/sign-ins`);if(n||!t)throw I(n,`Could not read the staff sign-ins`);return t.signIns.map(xu)}}),Cu=e=>{let t=e.split(`.`)[1];if(!t)throw Error(`Not a JWT`);let n=JSON.parse(atob(t.replace(/-/g,`+`).replace(/_/g,`/`)));if(typeof n.exp!=`number`)throw Error(`The token has no expiry`);return n.exp*1e3},wu=(e={})=>{let t=e.origin??globalThis.location?.origin??`http://localhost`,n=e.basePath??`/api/auth`,r=e.refreshMarginMs??6e4,i=e.fetch??((e,t)=>fetch(e,t)),a=du(t,n,i),o=Su(a),s,c,l,u=()=>{s=void 0,clearTimeout(l)},d=async()=>{let{data:t}=await a.$fetch(`/token`);if(!t?.token){u();return}return s={token:t.token,expiresAt:Cu(t.token)},clearTimeout(l),l=setTimeout(()=>void f({refresh:!0}).then(t=>t||e.onSignedOut?.()),Math.max(1e3,s.expiresAt-Date.now()-r)),s.token},f=async({refresh:e=!1}={})=>!e&&s&&s.expiresAt-Date.now()>r?s.token:(c??=d().finally(()=>{c=void 0}),c);return{token:f,status:async()=>{let e=await i(`${t}${n}/status`);if(e.status===404)throw new zs(`This server has no sign-in. Is the API URL right?`,404);if(!e.ok)throw new zs(`Could not read the sign-in status`,e.status);let r=await e.json();return{needsAdmin:!!r.needsAdmin,signInMethods:r.signInMethods??[`password`],passwordReset:!!r.passwordReset,...r.signUp&&{signUp:!0},socialProviders:r.socialProviders??[],...r.platformSignIn&&{platformSignIn:r.platformSignIn},...r.staffSignIn&&{staffSignIn:r.staffSignIn},...r.passkeyDomains&&{passkeyDomains:r.passkeyDomains},...r.organizations&&{organizations:r.organizations},...r.anonymous&&{anonymous:!0}}},session:async()=>{let{data:e}=await a.getSession();return e?.user},...vu(a,()=>f({refresh:!0})),signInSocial:async(e,t)=>{let{data:n,error:r}=await a.signIn.social({provider:e,callbackURL:t,errorCallbackURL:t,disableRedirect:!0});if(r||!n?.url)throw I(r,`Sign-in failed`);return n.url},signOut:async()=>{u(),await a.signOut()},requestPasswordReset:async(e,t)=>{let{error:n}=await a.requestPasswordReset({email:e,redirectTo:t});if(n)throw I(n,`Could not send the reset link`)},resetPassword:async(e,t)=>{let{error:n}=await a.resetPassword({token:e,newPassword:t});if(n)throw I(n,`Could not set the password`)},account:Bs(a),organizations:gu(a,()=>f({refresh:!0})),roles:_u(a,()=>f({refresh:!0})),signInPolicy:yu(a),staff:{...o,stop:async()=>{u(),await o.stop()}}}},Tu=e=>Math.min(3e4,1e3*2**e),Eu=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})}),Du=`http://same-origin.invalid`,Ou=(e,t)=>{let n=new URL(e,Du),r=new URL(t,`${n.href}/`);if(r.origin!==n.origin)throw Error(`${t} is not on the assistant backend's origin`);return n.origin===Du?`${r.pathname}${r.search}`:r.href},ku=e=>{let t=e.url.replace(/\/+$/,``),n=e.fetch??((e,t)=>fetch(e,t)),r=e.retryDelayMs??Tu,i=async(r,i)=>{let a=await e.token(),o=await n(`${t}${r}`,{method:i.method,headers:{...i.body===void 0?{accept:`text/event-stream`}:{"content-type":`application/json`},...a&&{authorization:`Bearer ${a}`}},body:i.body===void 0?void 0:JSON.stringify(i.body),signal:i.signal});if(!o.ok)throw await ps(o);return o},a=async(e,t,n)=>{let r=await i(`/events`,{method:`GET`,signal:e});if(!r.body)throw Error(`The assistant backend answered the event stream without a body`);n(),await zo(r.body,e=>t(JSON.parse(e)),e)};return{connect:(e,t)=>{let n=new AbortController,{signal:i}=n;return(async()=>{let n=0;for(;!i.aborted;){t?.({state:`connecting`});let o=await a(i,e,()=>{n=0,t?.({state:`open`})}).then(()=>void 0,e=>e??Error(`The assistant stream failed`));if(i.aborted)return;t?.({state:`retrying`,...o!==void 0&&{error:o}}),await Eu(r(n++),i)}})(),()=>n.abort()},send:async(e,t)=>{await i(`/messages`,{method:`POST`,body:{text:e,...t&&{page:t}}})},act:async(e,t)=>{await i(`/actions`,{method:`POST`,body:{partId:e,actionId:t}})},fetch:async(r,i={})=>{let a=Ou(t,r),o=await e.token(),s=new Headers(i.headers);o&&s.set(`authorization`,`Bearer ${o}`);let c=await n(a,{...i,headers:s});if(!c.ok)throw await ps(c);return c}}},Au=e=>{let t=e.url.replace(/\/+$/,``),n=e.fetch??((e,t)=>fetch(e,t)),r=async(r,i)=>{let a=await e.token(),o=await n(`${t}${r}`,{method:i,headers:{accept:`application/json`,...a&&{authorization:`Bearer ${a}`}}});if(!o.ok)throw await ps(o);return await o.json()};return{status:()=>r(``,`GET`),update:()=>r(`/update`,`POST`)}},R=(...e)=>e.filter(Boolean).join(` `),ju=e=>(0,o.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches,()=>!1),Mu=()=>ju(`(min-width: 768px)`),Nu=()=>ju(`not all and (min-width: 640px)`),z=t(a(),1),Pu=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,Fu=`flex min-h-[49px] min-w-0 flex-1 flex-col items-center justify-center gap-1 pb-1 pt-1.5 text-[10px] font-medium leading-none`,Iu=({tabs:e,onNavigate:t,onMore:n,moreOpen:r,moreControls:i,sticky:a,ref:o})=>{let s=!e.some(e=>e.active);return(0,z.jsxs)(`nav`,{ref:o,"aria-label":`Tabs`,className:R(`flex shrink-0 border-t bg-background pb-[env(safe-area-inset-bottom)] md:hidden`,a&&`sticky bottom-0 z-30`),children:[e.map(e=>{let n=e.icon;return(0,z.jsxs)(`a`,{href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:n=>{!e.external&&t&&Pu(n)&&(n.preventDefault(),t(e.href))},className:R(Fu,e.active?`text-primary-text`:`text-muted-foreground`),children:[(0,z.jsx)(n,{className:`size-6`,strokeWidth:e.active?2.2:1.9,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`max-w-full truncate px-0.5`,children:e.label})]},e.id)}),(0,z.jsxs)(`button`,{type:`button`,"aria-expanded":r,"aria-controls":i,"data-current":s||void 0,onClick:n,className:R(Fu,s?`text-primary-text`:`text-muted-foreground`),children:[(0,z.jsx)(ze,{className:`size-6`,strokeWidth:s?2.2:1.9,"aria-hidden":!0}),`More`]})]})},Lu=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`,Ru=(e,t,n)=>{let r=(0,o.useRef)(n);r.current=n,(0,o.useEffect)(()=>{if(!t||!e.current)return;let n=e.current,i=document.activeElement instanceof HTMLElement?document.activeElement:null,a=document.body.style.overflow;document.body.style.overflow=`hidden`;let o=()=>[...n.querySelectorAll(Lu)];(o()[0]??n).focus();let s=e=>{if(e.key===`Escape`)return r.current();if(e.key!==`Tab`)return;let t=o();if(t.length===0)return e.preventDefault();let i=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===i?(e.preventDefault(),a.focus()):!e.shiftKey&&document.activeElement===a?(e.preventDefault(),i.focus()):n.contains(document.activeElement)||(e.preventDefault(),i.focus())};return document.addEventListener(`keydown`,s),()=>{document.removeEventListener(`keydown`,s),document.body.style.overflow=a,i?.focus()}},[t,e])},zu=({id:e,open:t,onClose:n,children:r})=>{let i=(0,o.useRef)(null);return Ru(i,t,n),t?(0,z.jsxs)(`div`,{className:`fixed inset-0 z-50 md:hidden`,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-backdrop/40`,onClick:n,"aria-hidden":!0}),(0,z.jsx)(`div`,{ref:i,id:e,role:`dialog`,"aria-modal":`true`,"aria-label":`Navigation`,tabIndex:-1,className:`absolute inset-y-0 left-0 flex w-60 max-w-[85vw] bg-sidebar shadow-pop outline-none`,onClick:e=>e.target.closest(`a`)&&n(),children:r})]}):null},Bu=(0,o.createContext)(()=>{}),Vu=e=>{let t=(0,o.useContext)(Bu);(0,o.useLayoutEffect)(()=>(t(e),()=>t(void 0)),[t,e])},Hu=[`--pb-sticky-top`,`--pb-sticky-bottom`,`scroll-padding-top`,`scroll-padding-bottom`],Uu=(e,t,n,r)=>{(0,o.useLayoutEffect)(()=>{if(!e)return;let r=document.documentElement,i=()=>{let e=`${t.current?.offsetHeight??0}px`,i=`${n.current?.offsetHeight??0}px`;r.style.setProperty(`--pb-sticky-top`,e),r.style.setProperty(`--pb-sticky-bottom`,i),r.style.setProperty(`scroll-padding-top`,e),r.style.setProperty(`scroll-padding-bottom`,i)},a=new ResizeObserver(i);for(let e of[t.current,n.current])e&&a.observe(e);return i(),()=>{a.disconnect();for(let e of Hu)r.style.removeProperty(e)}},[e,t,n,r])},Wu=({className:e})=>(0,z.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:R(`size-7 shrink-0`,e),"aria-hidden":!0,children:[(0,z.jsx)(`rect`,{width:`24`,height:`24`,rx:`6`,className:`fill-primary`}),(0,z.jsx)(`path`,{d:`M7 17V7h5.2a3 3 0 0 1 0 6H7`,fill:`none`,className:`stroke-primary-foreground`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,z.jsx)(`path`,{d:`M12.5 17h4.5`,className:`stroke-primary-foreground`,strokeOpacity:`0.55`,strokeWidth:`2`,strokeLinecap:`round`})]}),Gu=({showName:e,workspace:t})=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2.5 overflow-hidden`,children:[(0,z.jsx)(Wu,{}),e&&(0,z.jsxs)(`div`,{className:`min-w-0 leading-tight`,children:[(0,z.jsx)(`div`,{className:`text-[13px] font-semibold tracking-tight`,children:`Protobase`}),t&&(0,z.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:t})]})]}),Ku=[{label:`Sales`,items:[{id:`orders`,label:`Orders`,icon:$t,count:12},{id:`customers`,label:`Customers`,icon:oe},{id:`invoices`,label:`Invoices`,icon:Je,count:3}]},{label:`Inventory`,items:[{id:`products`,label:`Products`,icon:jt},{id:`stock-moves`,label:`Stock moves`,icon:ie},{id:`warehouses`,label:`Warehouses`,icon:kn},{id:`shipments`,label:`Shipments`,icon:bn}]},{label:`Finance`,items:[{id:`payments`,label:`Payments`,icon:Ne},{id:`credit-notes`,label:`Credit notes`,icon:zt},{id:`reports`,label:`Reports`,icon:ue}]},{label:`Admin`,items:[{id:`users`,label:`Users`,icon:En},{id:`settings`,label:`Settings`,icon:Yt}]}],qu={xs:`size-5 text-[9px]`,sm:`size-6 text-[10px]`,md:`size-8 text-xs`},Ju=({initials:e,hue:t,size:n=`sm`,className:r})=>(0,z.jsx)(`span`,{className:R(`inline-flex shrink-0 select-none items-center justify-center rounded-full font-semibold text-white ring-2 ring-background`,qu[n],r),style:{background:`oklch(0.58 0.13 ${t})`},children:e}),Yu=({people:e,size:t=`sm`})=>(0,z.jsx)(`span`,{className:`inline-flex -space-x-1`,children:e.map(e=>(0,z.jsx)(Ju,{...e,size:t},e.initials))}),Xu=e=>{let t=e.slice(1),n=t.length===3?[...t].map(e=>e+e).join(``):t,[r,i,a]=[0,2,4].map(e=>{let t=Number.parseInt(n.slice(e,e+2),16)/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a},Zu=`#ffffff`,Qu=`#111827`,$u=e=>{let t=Xu(e);return 1.05/(t+.05)>=(t+.05)/(Xu(Qu)+.05)?Zu:Qu},ed={neutral:`bg-muted text-muted-foreground`,blue:`bg-primary-soft text-primary-text`,green:`bg-success-soft text-success-text`,amber:`bg-warning-soft text-warning-text`,red:`bg-danger-soft text-danger-text`,violet:`bg-violet-soft text-violet-text`},td={neutral:`bg-faint-foreground`,blue:`bg-primary`,green:`bg-success`,amber:`bg-warning`,red:`bg-danger`,violet:`bg-violet`},nd=`polygon(0 0, calc(100% - 0.625rem) 0, 100% 50%, calc(100% - 0.625rem) 100%, 0 100%)`,rd=({tone:e=`neutral`,dot:t=!0,color:n,shape:r,children:i,className:a})=>(0,z.jsxs)(`span`,{style:{...n!==void 0&&{backgroundColor:n,color:$u(n)},...r===`arrow`&&{clipPath:nd}},className:R(r===`arrow`?`inline-flex h-5 items-center gap-1.5 rounded-l-sm pr-4 pl-2 text-xs font-semibold whitespace-nowrap`:`inline-flex h-5 items-center gap-1.5 rounded-full px-2 text-xs font-medium whitespace-nowrap`,n===void 0&&ed[e],a),children:[t&&n===void 0&&r===void 0&&(0,z.jsx)(`span`,{className:R(`size-1.5 rounded-full`,td[e])}),i]}),id=({label:e,current:t,others:n,rowClassName:r,onSwitch:i})=>(0,z.jsxs)(`div`,{className:`border-b py-1`,role:`group`,"aria-label":e,children:[t&&(0,z.jsxs)(`div`,{className:R(r,`text-foreground hover:bg-transparent`),"aria-current":`true`,children:[(0,z.jsx)(de,{className:`size-4`}),(0,z.jsx)(`span`,{className:`truncate`,children:t.label})]}),n.map(e=>(0,z.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>i(e.id),className:r,children:[(0,z.jsx)(`span`,{className:`size-4`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.label})]},e.id))]}),ad={sm:{group:`h-7`,option:`px-2.5 text-xs`},md:{group:`h-8`,option:`px-3 text-[13px]`}},od=({value:e,options:t,onChange:n,label:r,size:i=`sm`,iconOnly:a=!1})=>(0,z.jsx)(`span`,{role:`group`,"aria-label":r,className:R(`inline-flex`,ad[i].group,`rounded-md bg-muted p-0.5`),children:t.map(t=>(0,z.jsxs)(`button`,{type:`button`,"aria-pressed":t.value===e,...a&&{"aria-label":t.label,title:t.label},onClick:()=>n(t.value),className:R(`inline-flex items-center gap-1.5 rounded`,ad[i].option,`font-medium transition-colors`,t.value===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:[t.icon&&(0,z.jsx)(t.icon,{className:`size-3.5`}),!a&&t.label]},t.value))}),sd=[{value:`light`,label:`Light`,icon:un},{value:`dark`,label:`Dark`,icon:Ot},{value:`system`,label:`System`,icon:Et}],cd=({theme:e,className:t})=>(0,z.jsxs)(`div`,{className:t,children:[(0,z.jsx)(cn,{className:`size-4`}),(0,z.jsx)(`span`,{className:`flex-1`,children:`Theme`}),(0,z.jsx)(od,{label:`Theme`,iconOnly:!0,value:e.preference,options:sd,onChange:e.onChange})]}),ld=`flex min-h-11 w-full items-center gap-2.5 px-3 py-1.5 text-left text-[13px] text-muted-foreground hover:bg-muted md:min-h-0`,ud=({user:e,compact:t,open:n,items:r=[],onNavigate:i,onSignOut:a,organizations:s,roles:c,theme:l})=>{let u=c?.roles.find(e=>e.name===c.active),[d,f]=(0,o.useState)(!1),p=n??d,m=(0,o.useRef)(null),[h,g]=(0,o.useState)();return(0,o.useEffect)(()=>{if(!p||n!==void 0)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!m.current?.contains(e.target))&&f(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[p,n]),(0,z.jsxs)(`div`,{ref:m,className:`relative`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex min-h-11 w-full items-center gap-2.5 rounded-md p-1 text-left hover:bg-muted md:min-h-0`,"aria-label":`Profile menu`,"aria-haspopup":`menu`,"aria-expanded":p,onClick:()=>{let e=m.current?.getBoundingClientRect();e&&g({left:e.left,bottom:window.innerHeight-e.top+8}),f(!d)},children:[(0,z.jsx)(Ju,{initials:e.initials,hue:e.hue,size:`md`,className:`ring-0`}),!t&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,z.jsx)(rd,{tone:e.roleTone,dot:!1,className:`mt-0.5 h-4 px-1.5 text-[10px]`,children:e.role})]}),(0,z.jsx)(ye,{className:`size-3.5 shrink-0 text-faint-foreground`})]})]}),p&&(0,z.jsxs)(`div`,{role:`menu`,className:n===void 0?`fixed z-[60] w-56 overflow-hidden rounded-lg border bg-background py-1 shadow-pop`:`absolute bottom-full left-0 z-50 mb-2 w-56 overflow-hidden rounded-lg border bg-background py-1 shadow-pop`,style:n===void 0&&h?{left:h.left,bottom:h.bottom}:void 0,children:[(0,z.jsxs)(`div`,{className:`border-b px-3 pb-2 pt-1.5`,children:[(0,z.jsx)(`div`,{className:`text-[13px] font-medium`,children:e.name}),(0,z.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.email})]}),s&&(s.current||s.others.length>0)&&(0,z.jsx)(id,{label:`Organizations`,...s.current&&{current:{id:s.current.id,label:s.current.name}},others:s.others.map(({id:e,name:t})=>({id:e,label:t})),rowClassName:ld,onSwitch:e=>{f(!1),s.onSwitch(e)}}),c&&c.roles.length>1&&(0,z.jsx)(id,{label:`Roles`,...u&&{current:{id:u.name,label:u.label}},others:c.roles.filter(e=>e!==u).map(({name:e,label:t})=>({id:e,label:t})),rowClassName:ld,onSwitch:e=>{f(!1),c.onSwitch(e)}}),r.length>0&&(0,z.jsx)(`div`,{className:R((l||a)&&`border-b`),children:r.map(e=>{let t=e.icon;return(0,z.jsxs)(`a`,{role:`menuitem`,href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:t=>{f(!1),!e.external&&i&&(t.preventDefault(),i(e.href))},className:R(ld,e.active&&`bg-muted text-foreground`),children:[(0,z.jsx)(t,{className:`size-4`}),e.label]},e.id)})}),l&&(0,z.jsx)(`div`,{className:R(a&&`border-b`),children:(0,z.jsx)(cd,{theme:l,className:R(ld,`hover:bg-transparent`)})}),a&&(0,z.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:a,className:ld,children:[(0,z.jsx)(gt,{className:`size-4`}),`Sign out`]})]})]})},dd=(e,t)=>{try{return e()}catch(e){if(!(e instanceof DOMException))throw e;return t}},fd=`protobase:nav-open:`,pd=e=>`${fd}${e}`,md=(e,t)=>dd(()=>e.getItem(t)!==`false`,!0),hd=(e,t,n)=>dd(()=>n?e.removeItem(t):e.setItem(t,`false`),void 0),gd=({label:e,side:t=`right`,visible:n,children:r})=>(0,z.jsxs)(`span`,{className:`group/tooltip relative inline-flex`,children:[r,(0,z.jsx)(`span`,{role:`tooltip`,className:R(`pointer-events-none absolute z-50 whitespace-nowrap rounded-md bg-foreground px-2 py-1 text-xs font-medium text-background opacity-0 shadow-md transition-opacity group-hover/tooltip:opacity-100`,n&&`opacity-100`,t===`right`&&`left-full top-1/2 ml-2 -translate-y-1/2`,t===`top`&&`bottom-full left-1/2 mb-2 -translate-x-1/2`,t===`bottom`&&`left-1/2 top-full mt-2 -translate-x-1/2`),children:e})]}),_d=e=>e===`text-large`||e===`text-small`||e===`icon-expand`,vd=e=>e===`text-large`||e===`text-small`,yd={"text-large":`w-60`,"text-small":`w-52`,icon:`w-14`,"icon-label":`w-[76px]`,"icon-tooltip":`w-14`,"icon-expand":`w-14`},bd={"text-large":`h-9 gap-3 px-3 text-sm`,"text-small":`h-7 gap-2.5 px-2.5 text-xs`,icon:`size-9 justify-center`,"icon-label":`w-full flex-col gap-0.5 py-1.5 text-[10px]`,"icon-tooltip":`size-9 justify-center`,"icon-expand":`h-8 gap-3 px-3 text-[13px]`},xd=({item:e,mode:t,active:n,onNavigate:r,className:i})=>{let a=e.icon,o=(0,z.jsxs)(`a`,{onClick:r&&(t=>{t.preventDefault(),r(e.href??`#${e.id}`)}),href:e.href??`#${e.id}`,"aria-label":e.problem?`${e.label}: ${e.problem}`:e.label,"aria-current":n?`page`:void 0,title:e.problem,className:R(`flex shrink-0 items-center rounded-md font-medium transition-colors`,bd[t],n?`bg-primary-soft text-primary-text`:`text-muted-foreground hover:bg-muted hover:text-foreground`,i),children:[(0,z.jsx)(a,{className:R(`shrink-0`,t===`text-small`?`size-4`:`size-[18px]`),strokeWidth:n?2.2:1.9}),(_d(t)||t===`icon-label`)&&(0,z.jsx)(`span`,{className:`whitespace-nowrap`,children:e.label}),vd(t)&&e.count&&(0,z.jsx)(`span`,{className:`ml-auto rounded bg-muted px-1.5 text-[11px] tabular-nums text-muted-foreground`,children:e.count}),vd(t)&&e.problem&&(0,z.jsx)(vn,{"aria-hidden":!0,className:`ml-auto size-3.5 shrink-0 text-warning-text`})]});return t===`icon-tooltip`?(0,z.jsx)(gd,{label:e.label,children:o}):o},Sd={neutral:`bg-faint-foreground`,info:`bg-primary`,success:`bg-success`,warning:`bg-warning`,danger:`bg-danger`},Cd=({tone:e,pulse:t=!1,className:n})=>(0,z.jsxs)(`span`,{"aria-hidden":!0,className:R(`relative flex size-2 shrink-0`,n),"data-tone":e,"data-pulse":t||void 0,children:[t&&(0,z.jsx)(`span`,{className:R(`absolute inset-0 animate-ping rounded-full opacity-60 motion-reduce:animate-none`,Sd[e])}),(0,z.jsx)(`span`,{className:R(`relative size-2 rounded-full`,Sd[e])})]}),wd={"text-large":`h-8 gap-2.5 px-2.5 text-[13px]`,"text-small":`h-7 gap-2 px-2 text-xs`},Td={"text-large":`ml-[20px]`,"text-small":`ml-[17px]`},Ed=({item:e,recent:t,mode:n,active:r,onNavigate:i})=>{let a=pd(e.id),[s,c]=(0,o.useState)(()=>md(localStorage,a)),l=(0,o.useId)(),u=e.href??`#${e.id}`,d=()=>{hd(localStorage,a,!s),c(!s)},f=e=>({href:e,onClick:i&&(t=>{t.preventDefault(),i(e)})});return(0,z.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,z.jsxs)(`div`,{className:`relative`,children:[(0,z.jsx)(xd,{item:e,mode:n,active:r,onNavigate:i,className:`pr-8`}),(0,z.jsx)(`button`,{type:`button`,"aria-expanded":s,"aria-controls":l,"aria-label":`Recent ${e.label.toLowerCase()}`,onClick:d,className:`absolute right-1 top-1/2 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground`,children:(0,z.jsx)(_e,{className:R(`size-3.5 transition-transform`,s&&`rotate-90`)})})]}),s&&(0,z.jsxs)(`ul`,{id:l,"aria-label":`Recent ${e.label.toLowerCase()}`,className:R(`flex flex-col gap-0.5 border-l pl-1.5`,Td[n]),children:[t.state===`loading`&&(0,z.jsx)(`li`,{className:R(`flex items-center text-faint-foreground`,wd[n]),children:`Loading...`}),t.state===`error`&&(0,z.jsx)(`li`,{className:R(`flex items-center text-faint-foreground`,wd[n]),children:`Could not load`}),t.state===`ready`&&t.records.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`a`,{...f(e.href),"aria-label":`${e.label}, ${e.status}`,title:`${e.label} (${e.status})`,"aria-current":e.active?`page`:void 0,className:R(`flex min-w-0 items-center rounded-md font-medium transition-colors`,wd[n],e.active?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,z.jsx)(Cd,{tone:e.tone,pulse:e.pulse}),(0,z.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id)),(0,z.jsx)(`li`,{children:(0,z.jsx)(`a`,{...f(u),className:R(`flex items-center rounded-md text-faint-foreground transition-colors hover:bg-muted hover:text-foreground`,wd[n]),children:`View all`})})]})]})},Dd=({mode:e,activeItem:t,user:n,workspace:r,forceExpanded:i,profileMenuOpen:a,groups:o=Ku,userMenu:s,onNavigate:c,onSignOut:l,onSignIn:u,organizations:d,roles:f,theme:p,sticky:m})=>{let h=e===`icon-expand`,g=h&&i,_=vd(e)||h;return(0,z.jsx)(`nav`,{"aria-label":`Resources`,className:R(m?`sticky top-0 h-dvh self-start`:`relative`,`z-30 shrink-0`,yd[e]),children:(0,z.jsxs)(`div`,{className:R(`group/side absolute inset-y-0 left-0 flex flex-col overflow-hidden border-r bg-sidebar`,h?`w-14 transition-[width,box-shadow] duration-150 hover:w-60 hover:shadow-pop focus-within:w-60 focus-within:shadow-pop`:`w-full`,g&&`w-60 shadow-pop`),children:[(0,z.jsx)(`div`,{className:R(`flex h-12 shrink-0 items-center px-3.5`,e===`icon-label`&&`justify-center px-0`),children:(0,z.jsx)(Gu,{showName:vd(e)||h,workspace:r})}),(0,z.jsx)(`div`,{className:R(`flex-1 overflow-y-auto overflow-x-hidden pb-2`,`px-2`),children:o.map((n,r)=>(0,z.jsxs)(`div`,{className:R(`flex flex-col gap-0.5`,r>0&&`mt-3`),children:[_?(0,z.jsx)(`div`,{className:R(`px-3 pb-1 pt-1 text-[11px] font-medium uppercase tracking-wide text-faint-foreground`,h&&`h-4 whitespace-nowrap py-0 opacity-0 transition-opacity group-hover/side:opacity-100 group-focus-within/side:opacity-100`,g&&`opacity-100`),children:n.label}):r>0&&(0,z.jsx)(`div`,{className:`mx-auto mb-1 h-px w-6 bg-border`}),n.items.map(n=>n.recent&&vd(e)?(0,z.jsx)(Ed,{item:n,recent:n.recent,mode:e,active:n.id===t,onNavigate:c},n.id):(0,z.jsx)(xd,{item:n,mode:e,active:n.id===t,onNavigate:c},n.id))]},n.label))}),(0,z.jsx)(`div`,{className:R(`shrink-0 border-t p-2`,e!==`text-large`&&e!==`text-small`&&!h&&`flex justify-center`),children:n?(0,z.jsx)(ud,{user:n,compact:!_,open:a,items:s,onNavigate:c,onSignOut:l,organizations:d,roles:f,theme:p}):(0,z.jsxs)(z.Fragment,{children:[p&&_&&(0,z.jsx)(cd,{theme:p,className:`flex min-h-11 w-full items-center gap-2.5 whitespace-nowrap p-1.5 text-[13px] text-muted-foreground md:min-h-0`}),u&&(0,z.jsxs)(`button`,{type:`button`,onClick:u,"aria-label":`Sign in`,className:`flex min-h-11 w-full items-center gap-2.5 rounded-md p-1.5 text-left text-[13px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground md:min-h-0`,children:[(0,z.jsx)(mt,{className:`size-4 shrink-0`}),_&&(0,z.jsx)(`span`,{className:`whitespace-nowrap`,children:`Sign in`})]})]})})]})})},Od=e=>{let t=e.at(-2);if(typeof t==`object`&&t.href&&!t.loading)return{label:t.label,href:t.href}},kd=({className:e})=>(0,z.jsx)(`span`,{className:R(`block h-3 rounded bg-muted [animation:pb-shimmer_1.4s_ease-in-out_infinite]`,e)}),Ad=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,jd=({parts:e,onNavigate:t})=>(0,z.jsx)(`nav`,{"aria-label":`Breadcrumb`,className:`flex min-w-0 items-center gap-1.5 text-[13px]`,children:e.map((n,r)=>{let i=r===e.length-1,{label:a,href:o,loading:s}=typeof n==`string`?{label:n,href:void 0,loading:!1}:n,c=s?(0,z.jsx)(kd,{className:`w-24`}):a,l=R(`truncate`,i?`font-semibold`:`text-muted-foreground`);return(0,z.jsxs)(`span`,{className:R(`min-w-0 items-center gap-1.5`,i?`flex`:`hidden md:flex`),children:[r>0&&(0,z.jsx)(_e,{className:`hidden size-3.5 shrink-0 text-faint-foreground md:block`}),o?(0,z.jsx)(`a`,{href:o,"aria-current":i?`page`:void 0,"aria-label":s?a:void 0,"aria-busy":s||void 0,onClick:e=>{t&&Ad(e)&&(e.preventDefault(),t(o))},className:R(l,`rounded-sm hover:text-foreground hover:underline`),children:c}):(0,z.jsx)(`span`,{className:l,"aria-label":s?a:void 0,"aria-busy":s||void 0,children:c})]},`${r}-${a}`)})}),Md=({leading:e,trailing:t,invalid:n,className:r,wrapperClassName:i,...a})=>(0,z.jsxs)(`span`,{className:R(`flex h-8 items-center gap-2 rounded-md border bg-background px-2.5 text-muted-foreground shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20`,n?`border-danger`:`border-border-strong`,i),children:[e,(0,z.jsx)(`input`,{className:R(`min-w-0 flex-1 bg-transparent text-[13px] text-foreground outline-none placeholder:text-faint-foreground`,r),...a}),t]}),Nd=({children:e})=>(0,z.jsx)(`kbd`,{className:`inline-flex h-5 items-center rounded border border-border-strong bg-background px-1.5 font-sans text-[11px] font-medium text-muted-foreground`,children:e}),Pd=({className:e})=>(0,z.jsx)(dt,{"aria-label":`Loading`,className:R(`size-4 animate-spin`,e)}),Fd=(e,t,n)=>t===0?-1:e<0?n===1?0:t-1:(e+n+t)%t,Id=e=>e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0,Ld=({search:e,className:t=`w-96`,autoFocus:n,showShortcut:r=!0,ref:i})=>{let a=(0,o.useId)(),s=(0,o.useRef)(null),[c,l]=(0,o.useState)(!1),[u,d]=(0,o.useState)(-1),f=e.groups.flatMap(e=>e.hits),p=c&&(e.query!==``||e.loading),m=e=>`${a}-${e}`,h=e=>{s.current=e,typeof i==`function`?i(e):i&&(i.current=e)},g=t=>{e.onSelect(t),d(-1),s.current?.blur()},_=()=>{e.onTextChange(``),d(-1),s.current?.focus()},v=t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`)t.preventDefault(),d(e=>Fd(e,f.length,t.key===`ArrowDown`?1:-1));else if(t.key===`Enter`){let e=f[u]??f[0];if(!e)return;t.preventDefault(),g(e.href)}else t.key===`Escape`&&(e.text?e.onTextChange(``):t.currentTarget.blur(),d(-1))},y=-1;return(0,z.jsxs)(`div`,{className:R(`relative`,t),children:[(0,z.jsx)(Md,{ref:h,wrapperClassName:`w-full bg-surface shadow-none`,leading:e.loading?(0,z.jsx)(Pd,{className:`size-4`}):(0,z.jsx)(Ut,{className:`size-4`}),trailing:e.text?(0,z.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,className:`-mr-1 inline-flex size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted hover:text-foreground`,onMouseDown:e=>e.preventDefault(),onClick:_,children:(0,z.jsx)(jn,{className:`size-3.5`})}):r?(0,z.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,z.jsx)(Nd,{children:`⌘K`})}):void 0,placeholder:e.placeholder,"aria-label":`Global search`,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":p,"aria-controls":a,"aria-activedescendant":p&&f[u]?m(u):void 0,autoFocus:n,value:e.text,onChange:t=>{e.onTextChange(t.target.value),d(-1)},onFocus:()=>l(!0),onBlur:()=>l(!1),onKeyDown:v}),p&&(0,z.jsxs)(`div`,{id:a,role:`listbox`,"aria-label":`Search results`,className:`absolute right-0 top-full z-40 mt-1 max-h-96 w-full min-w-72 overflow-y-auto rounded-lg border bg-background py-1 text-[13px] shadow-pop`,children:[e.groups.length===0&&(0,z.jsx)(`p`,{className:`px-3 py-2 text-muted-foreground`,children:e.loading?`Searching`:`No matches for “${e.query}”`}),e.groups.map(e=>(0,z.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-faint-foreground`,children:e.label}),e.failed&&(0,z.jsxs)(`p`,{className:`px-3 py-1.5 text-danger-text`,children:[`Could not search `,e.label.toLowerCase()]}),e.hits.map(e=>{y+=1;let t=y;return(0,z.jsxs)(`a`,{id:m(t),href:e.href,tabIndex:-1,role:`option`,"aria-selected":t===u,className:R(`block px-3 py-1.5`,t===u?`bg-primary-soft text-primary-text`:`hover:bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:t=>{Id(t)||(t.preventDefault(),g(e.href))},onMouseEnter:()=>d(t),children:[(0,z.jsx)(`span`,{className:`block truncate font-semibold`,children:e.title}),e.subtitle&&(0,z.jsx)(`span`,{className:R(`block truncate text-xs`,t===u?`text-primary-text/80`:`text-muted-foreground`),children:e.subtitle})]},e.id)})]},e.id))]})]})},Rd=`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,zd=({breadcrumb:e,onNavigate:t,actions:n,onMenu:r,menuOpen:i,menuControls:a,search:s,sticky:c,ref:l})=>{let[u,d]=(0,o.useState)(!1),f=Od(e),p=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!s)return;let e=e=>{if(e.key.toLowerCase()!==`k`||!(e.metaKey||e.ctrlKey))return;e.preventDefault();let t=p.current;t&&t.offsetParent!==null?t.focus():d(!0)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]),(0,z.jsxs)(`header`,{ref:l,className:R(c?`sticky top-0 z-30`:`relative`,`flex h-12 shrink-0 items-center gap-1 border-b bg-background px-2 md:gap-4 md:px-5`),children:[r&&(0,z.jsx)(`button`,{type:`button`,"aria-label":`Open navigation`,"aria-expanded":!!i,"aria-controls":a,onClick:r,className:R(Rd,`-ml-0.5`),children:(0,z.jsx)(St,{className:`size-5`})}),f&&(0,z.jsx)(`a`,{href:f.href,"aria-label":`Back to ${f.label}`,onClick:e=>{t&&Ad(e)&&(e.preventDefault(),t(f.href))},className:R(Rd,!r&&`-ml-0.5`),children:(0,z.jsx)(he,{className:`size-5`})}),(0,z.jsx)(jd,{parts:e,onNavigate:t}),(0,z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1 md:gap-3`,children:[s&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`hidden md:block`,children:(0,z.jsx)(Ld,{ref:p,search:s})}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Search`,"aria-expanded":u,onClick:()=>d(!0),className:Rd,children:(0,z.jsx)(Ut,{className:`size-5`})})]}),n]}),s&&u&&(0,z.jsxs)(`div`,{className:`absolute inset-0 z-20 flex items-center gap-1 bg-background px-3 md:hidden`,children:[(0,z.jsx)(Ld,{className:`min-w-0 flex-1`,autoFocus:!0,showShortcut:!1,search:{...s,onSelect:e=>{s.onSelect(e),d(!1)}}}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close search`,onClick:()=>d(!1),className:Rd,children:(0,z.jsx)(jn,{className:`size-5`})})]})]})},Bd=`app-drawer`,Vd=({sidebarMode:e,activeItem:t,breadcrumb:n,user:r,workspace:i,actions:a,rightPanel:s,forceExpanded:c,profileMenuOpen:l,navGroups:u,userMenu:d,bottomBar:f,onNavigate:p,onSignOut:m,onSignIn:h,organizations:g,roles:_,theme:v,search:y,pageScroll:b=!1,className:x,children:S})=>{let C=Mu(),[w,T]=(0,o.useState)(!1);(0,o.useEffect)(()=>{C&&T(!1)},[C]);let E=!C&&f&&f.length>0?f:void 0,[D,O]=(0,o.useState)(),k=D??b,A=(0,o.useRef)(null),j=(0,o.useRef)(null);Uu(k,A,j,!!E);let M=(e,n=!1)=>(0,z.jsx)(Dd,{mode:e,sticky:n,activeItem:t,user:r,workspace:i,forceExpanded:c,profileMenuOpen:l,groups:u,userMenu:d,onNavigate:p,onSignOut:m,onSignIn:h,organizations:g,roles:_,theme:v});return(0,z.jsx)(Bu.Provider,{value:O,children:(0,z.jsxs)(`div`,{className:R(k?`flex min-h-full w-full overflow-x-clip bg-background`:`relative flex h-full min-h-0 w-full overflow-hidden bg-background`,x),children:[C?M(e,k):(0,z.jsx)(zu,{id:Bd,open:w,onClose:()=>T(!1),children:M(`text-large`)}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsx)(zd,{ref:A,sticky:k,breadcrumb:n,onNavigate:p,actions:a,onMenu:C||E?void 0:()=>T(!0),menuOpen:w,menuControls:Bd,search:y}),(0,z.jsx)(`main`,{className:k?`flex flex-1 flex-col`:`flex min-h-0 flex-1 flex-col`,children:S}),E&&(0,z.jsx)(Iu,{ref:j,sticky:k,tabs:E,onNavigate:p,onMore:()=>T(!0),moreOpen:w,moreControls:Bd})]}),s&&(0,z.jsx)(`div`,{className:k?`sticky top-0 flex h-dvh shrink-0 self-start`:`flex shrink-0`,children:s})]})})},Hd=({title:e,subtitle:t,aside:n,actions:r})=>{let i=(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:e}),t&&(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]});return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-x-4 gap-y-2`,children:[n?(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[i,n]}):i,r&&(0,z.jsx)(`div`,{className:`flex w-full flex-wrap items-center gap-2 sm:w-auto`,children:r})]})},Ud=`Too many attempts. Wait a minute and try again.`,Wd=`The passkey prompt closed before it finished. Try again.`,Gd={INVALID_EMAIL_OR_PASSWORD:`The email or password is not right.`,INVALID_PASSWORD:`The password is not right.`,INVALID_OTP:`The code is not right.`,OTP_EXPIRED:`The code has expired. Ask for a new one.`,TOO_MANY_ATTEMPTS:`Too many wrong codes. Ask for a new one.`,INVALID_CODE:`The code is not right.`,INVALID_BACKUP_CODE:`The backup code is not right, or was used before.`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`Too many wrong codes. Sign in again.`,ACCOUNT_TEMPORARILY_LOCKED:`Too many wrong codes. Wait 15 minutes and try again.`,INVALID_TWO_FACTOR_COOKIE:`This sign-in took too long. Sign in again.`,AUTH_CANCELLED:Wd,ERROR_CEREMONY_ABORTED:Wd,REGISTRATION_CANCELLED:Wd,PASSKEY_NOT_FOUND:`This passkey is not registered for an account here.`,AUTHENTICATION_FAILED:`The passkey could not be checked. Try again.`,PREVIOUSLY_REGISTERED:`This passkey is added already.`,ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED:`This passkey is added already.`,SESSION_NOT_FRESH:`For this change, sign out and sign in again first.`},Kd=e=>e.code?Gd[e.code]:void 0,qd=e=>Kd(e)??(e.status===429?Ud:e.message),Jd=e=>Kd(e)??(e.status===429?Ud:e.status===401?Gd.INVALID_EMAIL_OR_PASSWORD:e.message),Yd={STAFF_PERMISSION_MISSING:`Your staff account has no permission to sign in as people here.`,STAFF_SIGN_IN_NOT_STRONG:`Sign in to your staff account with a passkey or a second step, then try again.`,STAFF_SIGN_IN_STALE:`Your staff sign-in is too old. Sign in to your staff account again.`,STAFF_SIGN_IN_EXPIRED:`This staff sign-in took too long or was used already. Start again.`,STAFF_SIGN_IN_FAILED:`The staff sign-in did not go through at the provider. Try again.`,STAFF_USER_UNAVAILABLE:`There is no account with this address, or it is disabled.`,STAFF_REASON_REQUIRED:`Say why you sign in as this person, in at least 10 characters.`,SIGN_IN_METHOD_FORBIDDEN:`Staff sign-in is turned off for this app.`,INVALID_CALLBACK_URL:`This page is not on an address the server trusts.`},Xd=e=>{let t=typeof e==`string`?e:e.code;return t&&Yd[t]?Yd[t]:typeof e==`string`?`The staff sign-in did not go through. Try again.`:e.status===429?Ud:e.message},Zd={signup_disabled:e=>`No account here belongs to this ${e} account. Ask an admin to add you, or sign in another way.`,account_not_linked:e=>`Your ${e} account is not linked to your account here. Sign in another way, then connect ${e} on the Sign-in & security page.`,account_already_linked_to_different_user:e=>`This ${e} account is linked to someone else here already.`,unable_to_link_account:e=>`Your ${e} account could not be linked. Try again.`,access_denied:e=>`${e} did not let you in, or you cancelled.`},Qd=(e,t)=>Zd[e]?.(t)??`Signing in with ${t} did not go through. Try again.`,$d=`sign-in`,ef=`error`,tf=e=>{let t=new URL(e).searchParams;if(!t.has(ef))return t.get(`sign-in`)||void 0},nf=e=>new URL(e).searchParams.get(ef)||void 0,rf=e=>{let t=new URL(e);for(let e of[$d,ef])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},af={github:`GitHub`,gitlab:`GitLab`,google:`Google`,microsoft:`Microsoft`,apple:`Apple`},of=(e,t)=>t?.provider===e?t.name:af[e]??e.charAt(0).toUpperCase()+e.slice(1),sf=(0,o.createContext)(null),B=()=>{let e=(0,o.useContext)(sf);if(!e)throw Error(`useAuth must be used inside AuthProvider`);return e},cf=({session:e,children:t})=>{let[n,r]=(0,o.useState)({kind:`loading`}),[i,a]=(0,o.useState)([`password`]),[s,c]=(0,o.useState)(!1),[l,u]=(0,o.useState)(!1),[d,f]=(0,o.useState)([]),[p,m]=(0,o.useState)([]),[h,g]=(0,o.useState)(),[_,v]=(0,o.useState)(),[y,b]=(0,o.useState)(),[x,S]=(0,o.useState)(!1),C=(0,o.useCallback)(()=>x?{kind:`visitor`}:{kind:`signed-out`},[x]),w=(0,o.useCallback)(()=>r(e=>e.kind===`signed-in`?{kind:`signed-out`}:e),[]),T=(0,o.useRef)(w);T.current=w;let E=(0,o.useMemo)(()=>e??wu({onSignedOut:()=>T.current()}),[e]),D=(0,o.useCallback)(async e=>{let[{missing:t},n]=await Promise.all([E.account.signInMethods(),E.staff.current()]);r(t.length>0?{kind:`setup-required`,user:e,missing:t}:{kind:`signed-in`,user:e,...n&&{staff:n}})},[E]),O=(0,o.useCallback)(async e=>e.kind===`two-factor`?r({kind:`two-factor`,methods:e.methods}):D(e.user),[D]),k=(0,o.useCallback)(()=>{r({kind:`loading`}),E.status().then(async e=>{if(a(e.signInMethods),c(e.passwordReset),u(!!e.signUp),f(e.passkeyDomains??[]),m(e.socialProviders),g(e.platformSignIn),v(e.staffSignIn),b(e.organizations),S(!!e.anonymous),e.needsAdmin)return r({kind:`needs-admin`});let t=await E.session();return t?D(t):r({kind:e.anonymous?`visitor`:`signed-out`})}).catch(e=>r({kind:`error`,message:e instanceof Error?e.message:`The server did not answer`}))},[E,D]);(0,o.useEffect)(k,[k]);let A=(0,o.useMemo)(()=>({state:n,session:E,signInMethods:i,passwordReset:s,canSignUp:l,passkeyDomains:d,socialProviders:p,signInProviders:p.map(e=>({id:e,name:of(e,h)})),staffSignIn:_,...y&&{organizations:y},markSignedOut:w,recheck:k,...x&&{browse:()=>{r(e=>e.kind===`signed-out`?{kind:`visitor`}:e)}},signIn:async(e,t)=>O(await E.signIn(e,t)),sendSignInCode:e=>E.sendSignInCode(e),signInWithCode:async(e,t)=>O(await E.signInWithCode(e,t)),sendSignUpCode:e=>E.sendSignUpCode(e),signUp:async e=>D(await E.signUp(e)),signInWithPasskey:async e=>D(await E.signInWithPasskey(e)),verifyTwoFactor:async e=>D(await E.verifyTwoFactor(e)),signInSocial:async e=>{window.location.assign(await E.signInSocial(e,new URL(rf(window.location.href),window.location.href).href))},linkProvider:async e=>{window.location.assign(await E.account.linkProvider(e,new URL(rf(window.location.href),window.location.href).href))},stopStaffSession:async()=>{await E.staff.stop(),r(C())},signOut:async()=>{await E.signOut(),r(C())}}),[n,E,i,s,l,d,p,h,_,y,x,C,w,k,O,D]);return(0,z.jsx)(sf.Provider,{value:A,children:t})},lf=new Map,uf=(e,t)=>{let n=`${e}:${t??``}`,r=lf.get(n);if(r)return r;let i=new Intl.NumberFormat(`en-IE`,{style:`currency`,currency:e,...t!==void 0&&{minimumFractionDigits:t,maximumFractionDigits:t}});return lf.set(n,i),i},df=(e,t=`EUR`,n)=>uf(t,n).format(e/100),ff=new Intl.NumberFormat(`en-IE`),pf=e=>ff.format(e),mf=e=>e>0?`+${ff.format(e)}`:ff.format(e).replace(`-`,`−`),hf=e=>`${e}%`,gf=e=>{if(e<1e4)return`${pf(e)} rows`;let t=10**(Math.floor(Math.log10(e))-3);return`about ${pf(Math.round(e/t)*t)} rows`},_f=new Intl.DateTimeFormat(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`}),vf=new Intl.DateTimeFormat(`en-GB`,{day:`numeric`,month:`short`,timeZone:`UTC`}),yf=new Intl.DateTimeFormat(`en-GB`,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:`UTC`}),bf=e=>_f.format(e),xf=e=>vf.format(e),Sf=e=>`${_f.format(e)}, ${yf.format(e)}`,Cf=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`}),wf=[[`year`,31536e3],[`month`,2592e3],[`day`,86400],[`hour`,3600],[`minute`,60]],Tf=e=>{let[t,n]=wf.find(([,t])=>e>=t)??[`second`,1];return t===`second`&&e<45?`just now`:Cf.format(-Math.floor(e/n),t)},Ef={primary:`bg-primary text-primary-foreground hover:bg-primary-hover shadow-sm`,secondary:`bg-background text-foreground border border-border-strong hover:bg-muted shadow-sm`,ghost:`text-muted-foreground hover:bg-muted hover:text-foreground`,danger:`bg-background text-danger-text border border-border-strong hover:bg-danger-soft shadow-sm`},Df={sm:`h-7 px-2.5 text-xs gap-1.5`,md:`h-8 px-3 text-[13px] gap-2`},Of=({variant:e=`secondary`,size:t=`md`}={})=>R(`inline-flex shrink-0 items-center justify-center rounded-md font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-60 disabled:cursor-default`,Ef[e],Df[t]),V=({variant:e=`secondary`,size:t=`md`,loading:n,className:r,children:i,disabled:a,...o})=>(0,z.jsxs)(`button`,{type:`button`,disabled:a||n,className:R(Of({variant:e,size:t}),r),...o,children:[n&&(0,z.jsx)(Pd,{className:`size-3.5`}),i]}),kf=({title:e,description:t,onClose:n,actions:r,children:i})=>{let a=(0,o.useRef)(null);return Ru(a,!0,n),(0,z.jsx)(`div`,{className:`fixed inset-0 z-[90] flex items-center justify-center bg-backdrop/30 p-4`,onMouseDown:e=>e.target===e.currentTarget&&n(),children:(0,z.jsxs)(`div`,{ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":e,className:`outline-none max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border bg-background p-4 shadow-pop sm:p-5`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),t&&(0,z.jsx)(`p`,{className:`mt-1.5 text-[13px] text-muted-foreground`,children:t}),i&&(0,z.jsx)(`div`,{className:`mt-4`,children:i}),(0,z.jsx)(`div`,{className:`mt-5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end [&>*]:min-h-11 sm:[&>*]:min-h-0`,children:r})]})})},Af=({title:e,status:t,description:n,children:r})=>(0,z.jsxs)(`section`,{"aria-label":e,className:`rounded-lg border bg-background p-4 sm:p-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),t]}),(0,z.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:n}),r&&(0,z.jsx)(`div`,{className:`mt-4`,children:r})]}),jf=({message:e})=>e?(0,z.jsx)(`p`,{role:`alert`,className:`mb-3 text-xs font-medium text-danger-text`,children:e}):null,Mf={allowed:`Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key instead of a password.`,required:`This app requires a passkey for every account. Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key.`,forbidden:`Your admin turned passkeys off for this app, so they cannot be used to sign in.`},Nf=({rule:e,passkeys:t,onAdd:n,onRename:r,onRemove:i})=>{let[a,s]=(0,o.useState)(!1),[c,l]=(0,o.useState)(),[u,d]=(0,o.useState)(),[f,p]=(0,o.useState)(``),m=e===`required`&&t.length<=1,h=async e=>{s(!0),l(void 0);try{await e(),d(void 0)}catch(e){if(!(e instanceof zs))throw e;l(qd(e))}s(!1)};return(0,z.jsxs)(Af,{title:`Passkeys`,status:e===`required`&&(0,z.jsx)(rd,{tone:`blue`,children:`Required`}),description:Mf[e],children:[(0,z.jsx)(jf,{message:u?void 0:c}),t.length>0&&(0,z.jsx)(`ul`,{className:`mb-3 divide-y rounded-md border`,children:t.map(e=>(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,z.jsx)(et,{className:`size-4 shrink-0 text-muted-foreground`}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name??`Passkey`}),(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[e.createdAt?`Added ${bf(Date.parse(e.createdAt))}`:`Added earlier`,` · `,e.backedUp?`Synced across your devices`:`On one device`]})]}),(0,z.jsxs)(`span`,{className:`flex gap-1`,children:[(0,z.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>{p(e.name??``),d({kind:`rename`,passkey:e})},children:`Rename`}),(0,z.jsx)(V,{size:`sm`,variant:`ghost`,disabled:m,title:m?`Passkeys are required: add another one before removing this one.`:void 0,onClick:()=>d({kind:`remove`,passkey:e}),children:`Remove`})]})]},e.id))}),e!==`forbidden`&&(0,z.jsxs)(V,{loading:a&&!u,onClick:()=>void h(n),children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`Add a passkey`]}),u?.kind===`rename`&&(0,z.jsxs)(kf,{title:`Rename passkey`,description:`A name that tells you where this passkey lives, such as the device or password manager.`,onClose:()=>d(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>d(void 0),children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,loading:a,disabled:!f.trim(),onClick:()=>void h(()=>r(u.passkey.id,f.trim())),children:`Save`})]}),children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Name`,(0,z.jsx)(Md,{autoFocus:!0,value:f,maxLength:60,onChange:e=>p(e.target.value)})]}),(0,z.jsx)(jf,{message:c})]}),u?.kind===`remove`&&(0,z.jsx)(kf,{title:`Remove passkey?`,description:`${u.passkey.name??`This passkey`} will no longer sign you in here. It stays on the device until you delete it there.`,onClose:()=>d(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>d(void 0),children:`Cancel`}),(0,z.jsx)(V,{variant:`danger`,loading:a,onClick:()=>void h(()=>i(u.passkey.id)),children:`Remove`})]}),children:c&&(0,z.jsx)(jf,{message:c})})]})},Pf=({providers:e,linked:t,onConnect:n,error:r})=>{let[i,a]=(0,o.useState)(),[s,c]=(0,o.useState)(r),l=async e=>{a(e),c(void 0);try{await n(e)}catch(e){if(!(e instanceof zs))throw e;c(qd(e)),a(void 0)}};return(0,z.jsxs)(Af,{title:`Connected accounts`,description:`Sign in with these instead of your password. Connecting one asks you to sign in there; its address may differ from yours here.`,children:[(0,z.jsx)(jf,{message:s}),(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,z.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,z.jsx)(st,{className:`size-4 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:e.name}),t.includes(e.id)?(0,z.jsx)(rd,{tone:`green`,children:`Connected`}):(0,z.jsxs)(V,{size:`sm`,loading:i===e.id,disabled:i!==void 0,onClick:()=>void l(e.id),children:[`Connect `,e.name]})]},e.id))})]})},Ff=({codes:e})=>{let[t,n]=(0,o.useState)(!1),r=`${e.join(`
7
7
  `)}\n`;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,z.jsx)(`ul`,{"aria-label":`Backup codes`,className:`grid grid-cols-2 gap-x-4 gap-y-1 rounded-md border bg-surface p-3 font-mono text-[13px]`,children:e.map(e=>(0,z.jsx)(`li`,{children:e},e))}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsxs)(V,{size:`sm`,onClick:()=>{navigator.clipboard.writeText(r).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},children:[t?(0,z.jsx)(de,{className:`size-3.5 text-success`}):(0,z.jsx)(je,{className:`size-3.5`}),t?`Copied`:`Copy`]}),(0,z.jsxs)(V,{size:`sm`,onClick:()=>If(r,`backup-codes.txt`),children:[(0,z.jsx)(Fe,{className:`size-3.5`}),`Download`]})]})]})},If=(e,t)=>{let n=URL.createObjectURL(new Blob([e],{type:`text/plain`}));Object.assign(document.createElement(`a`),{href:n,download:t}).click(),URL.revokeObjectURL(n)},Lf=({title:e,description:t,confirmLabel:n,danger:r,needsPassword:i,onConfirm:a,onClose:s})=>{let[c,l]=(0,o.useState)(``),[u,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(),m=async()=>{d(!0),p(void 0);try{await a(i?c:void 0)}catch(e){if(!(e instanceof zs))throw e;p(qd(e)),d(!1)}};return(0,z.jsxs)(kf,{title:e,description:t,onClose:s,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:s,children:`Cancel`}),(0,z.jsx)(V,{variant:r?`danger`:`primary`,loading:u,disabled:i&&!c,onClick:()=>void m(),children:n})]}),children:[i&&(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Your password`,(0,z.jsx)(Md,{type:`password`,autoComplete:`current-password`,autoFocus:!0,value:c,invalid:!!f,onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&c&&void m()})]}),f&&(0,z.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs font-medium text-danger-text`,children:f})]})},Rf=({className:e,...t})=>(0,z.jsx)(Md,{type:`text`,inputMode:`numeric`,autoComplete:`one-time-code`,pattern:`[0-9]{6}`,maxLength:6,spellCheck:!1,className:R(`min-h-6 font-mono tracking-[0.3em]`,e),...t}),zf=(e=>(e[e.Border=-1]=`Border`,e[e.Data=0]=`Data`,e[e.Function=1]=`Function`,e[e.Position=2]=`Position`,e[e.Timing=3]=`Timing`,e[e.Alignment=4]=`Alignment`,e))(zf||{}),Bf=[0,1],Vf=[1,0],Hf=[2,3],Uf=[3,2],Wf={L:Bf,M:Vf,Q:Hf,H:Uf},Gf=/^\d*$/,Kf=/^[A-Z0-9 $%*+./:-]*$/,qf=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,Jf=1,Yf=40,Xf=3,Zf=3,Qf=40,$f=10,ep=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],tp=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],np=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<Jf||e>Yf)throw RangeError(`Version value out of range`);if(r<-1||r>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let i=Array.from({length:this.size}).fill(!1);for(let e=0;e<this.size;e++)this.modules.push(i.slice()),this.types.push(i.map(()=>0));this.drawFunctionPatterns();let a=this.addEccAndInterleave(n);if(this.drawCodewords(a),r===-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(r=t,e=n),this.applyMask(t)}}this.mask=r,this.applyMask(r),this.drawFormatBits(r)}size;mask;modules=[];types=[];getModule(e,t){return e>=0&&e<this.size&&t>=0&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0,zf.Timing),this.setFunctionModule(e,6,e%2==0,zf.Timing);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n===0&&r===0||n===0&&r===t-1||n===t-1&&r===0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.ecc[1]<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;for(let e=0;e<=5;e++)this.setFunctionModule(8,e,ip(r,e));this.setFunctionModule(8,7,ip(r,6)),this.setFunctionModule(8,8,ip(r,7)),this.setFunctionModule(7,8,ip(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,ip(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,ip(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,ip(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;for(let e=0;e<18;e++){let n=ip(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;a>=0&&a<this.size&&o>=0&&o<this.size&&this.setFunctionModule(a,o,i!==2&&i!==4,zf.Position)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,zf.Alignment)}setFunctionModule(e,t,n,r=zf.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==yp(t,n))throw RangeError(`Invalid argument`);let r=tp[n[0]][t],i=ep[n[0]][t],a=Math.floor(vp(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=bp(i);for(let t=0,n=0;t<r;t++){let r=e.slice(n,n+s-i+(t<o?0:1));n+=r.length;let a=xp(r,l);t<o&&r.push(0),c.push(r.concat(a))}let u=[];for(let e=0;e<c[0].length;e++)c.forEach((t,n)=>{(e!==s-i||n>=o)&&u.push(t[e])});return u}drawCodewords(e){if(e.length!==Math.floor(vp(this.version)/8))throw RangeError(`Invalid argument`);let t=0;for(let n=this.size-1;n>=1;n-=2){n===6&&(n=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=n-i,o=n+1&2?r:this.size-1-r;!this.types[o][a]&&t<e.length*8&&(this.modules[o][a]=ip(e[t>>>3],7-(t&7)),t++)}}}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.types[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[t][a]===n?(r++,r===5?e+=Xf:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*Qf),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*Qf}for(let t=0;t<this.size;t++){let n=!1,r=0,i=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][t]===n?(r++,r===5?e+=Xf:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*Qf),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*Qf}for(let t=0;t<this.size-1;t++)for(let n=0;n<this.size-1;n++){let r=this.modules[t][n];r===this.modules[t][n+1]&&r===this.modules[t+1][n]&&r===this.modules[t+1][n+1]&&(e+=Zf)}let t=0;for(let e of this.modules)t=e.reduce((e,t)=>e+ +!!t,t);let n=this.size*this.size,r=Math.ceil(Math.abs(t*20-n*10)/n)-1;return e+=r*$f,e}getAlignmentPatternPositions(){if(this.version===1)return[];{let e=Math.floor(this.version/7)+2,t=this.version===32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}finderPenaltyCountPatterns(e){let t=e[1],n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}};function rp(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function ip(e,t){return!!(e>>>t&1)}var ap=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}},op=[1,10,12,14],sp=[2,9,11,13],cp=[4,8,16,16];function lp(e,t){return e[Math.floor((t+7)/17)+1]}function up(e){let t=[];for(let n of e)rp(n,8,t);return new ap(cp,e.length,t)}function dp(e){if(!mp(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let n=0;n<e.length;){let r=Math.min(e.length-n,3);rp(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new ap(op,e.length,t)}function fp(e){if(!hp(e))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let t=[],n=0;for(;n+2<=e.length;n+=2){let r=qf.indexOf(e.charAt(n))*45;r+=qf.indexOf(e.charAt(n+1)),rp(r,11,t)}return n<e.length&&rp(qf.indexOf(e.charAt(n)),6,t),new ap(sp,e.length,t)}function pp(e){return e===``?[]:mp(e)?[dp(e)]:hp(e)?[fp(e)]:[up(_p(e))]}function mp(e){return Gf.test(e)}function hp(e){return Kf.test(e)}function gp(e,t){let n=0;for(let r of e){let e=lp(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function _p(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)===`%`?(t.push(Number.parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}function vp(e){if(e<Jf||e>Yf)throw RangeError(`Version number out of range`);let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function yp(e,t){return Math.floor(vp(e)/8)-ep[t[0]][e]*tp[t[0]][e]}function bp(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let t=[];for(let n=0;n<e-1;n++)t.push(0);t.push(1);let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=Sp(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=Sp(n,2)}return t}function xp(e,t){let n=t.map(e=>0);for(let r of e){let e=r^n.shift();n.push(0),t.forEach((t,r)=>n[r]^=Sp(t,e))}return n}function Sp(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n}function Cp(e,t,n=1,r=40,i=-1,a=!0){if(!(Jf<=n&&n<=r&&r<=Yf)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=yp(o,t)*8,i=gp(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[Vf,Hf,Uf])a&&s<=yp(o,e)*8&&(t=e);let c=[];for(let t of e){rp(t.mode[0],4,c),rp(t.numChars,lp(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=yp(o,t)*8;rp(0,Math.min(4,l-c.length),c),rp(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)rp(e,8,c);let u=Array.from({length:Math.ceil(c.length/8)},()=>0);return c.forEach((e,t)=>u[t>>>3]|=e<<7-(t&7)),new np(o,t,u,i)}function wp(e,t){let{ecc:n=`L`,boostEcc:r=!1,minVersion:i=1,maxVersion:a=40,maskPattern:o=-1,border:s=1}=t||{},c=typeof e==`string`?pp(e):Array.isArray(e)?[up(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=Cp(c,Wf[n],i,a,o,r),u=Tp({version:l.version,maskPattern:l.mask,size:l.size,data:l.modules,types:l.types},s);return t?.invert&&(u.data=u.data.map(e=>e.map(e=>!e))),t?.onEncoded?.(u),u}function Tp(e,t=1){if(!t)return e;let{size:n}=e,r=n+t*2;e.size=r,e.data.forEach(e=>{for(let n=0;n<t;n++)e.unshift(!1),e.push(!1)});for(let n=0;n<t;n++)e.data.unshift(Array.from({length:r},e=>!1)),e.data.push(Array.from({length:r},e=>!1));let i=zf.Border;e.types.forEach(e=>{for(let n=0;n<t;n++)e.unshift(i),e.push(i)});for(let n=0;n<t;n++)e.types.unshift(Array.from({length:r},e=>i)),e.types.push(Array.from({length:r},e=>i));return e}var Ep=({uri:e,className:t})=>{let{size:n,path:r}=(0,o.useMemo)(()=>{let t=wp(e,{ecc:`M`,border:2}),n=t.data.flatMap((e,t)=>e.flatMap((e,n)=>e?[`M${n} ${t}h1v1h-1z`]:[]));return{size:t.size,path:n.join(``)}},[e]);return(0,z.jsxs)(`svg`,{viewBox:`0 0 ${n} ${n}`,role:`img`,"aria-label":`QR code for your authenticator app`,shapeRendering:`crispEdges`,className:t,children:[(0,z.jsx)(`rect`,{width:n,height:n,fill:`#fff`}),(0,z.jsx)(`path`,{d:r,fill:`#000`})]})},Dp=e=>(new URL(e).searchParams.get(`secret`)??``).replace(/(.{4})(?=.)/g,`$1 `),Op=[{value:`app`,label:`Authenticator app`,description:`A code from an app such as Google Authenticator, Microsoft Authenticator or 1Password. Comes with backup codes.`},{value:`email`,label:`Emailed code`,description:`A code mailed to your address each time you sign in with a password or an emailed sign-in code.`}],kp=({offerEmailedCodes:e,needsPassword:t,onStartApp:n,onConfirmApp:r,onEmailedCodes:i,onDone:a,onCancel:s})=>{let[c,l]=(0,o.useState)({kind:`choose`}),[u,d]=(0,o.useState)(`app`),[f,p]=(0,o.useState)(``),[m,h]=(0,o.useState)(``),[g,_]=(0,o.useState)(!1),[v,y]=(0,o.useState)(),b=e?Op:Op.filter(e=>e.value===`app`),x=async e=>{_(!0),y(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;y(qd(e))}_(!1)},S=()=>x(async()=>{let e=t?f:void 0;if(u===`email`)return await i(e),a();l({kind:`scan`,setup:await n(e)})}),C=e=>x(async()=>{await r(m.trim()),l({kind:`backup-codes`,codes:e.backupCodes})}),w=v&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:v});return c.kind===`backup-codes`?(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Two-factor authentication is on. Keep these backup codes somewhere safe: each one signs you in once if you lose your phone. They are not shown again.`}),(0,z.jsx)(Ff,{codes:c.codes}),(0,z.jsx)(V,{variant:`primary`,onClick:a,className:`min-h-10`,children:`I saved my backup codes`})]}):c.kind===`scan`?(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C(c.setup)},children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Scan this code with your authenticator app, then enter the 6-digit code it shows.`}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,z.jsx)(Ep,{uri:c.setup.totpURI,className:`size-44 rounded-md border`}),(0,z.jsxs)(`p`,{className:`text-center text-xs text-muted-foreground`,children:[`Can't scan it? Enter this key in the app:`,(0,z.jsx)(`span`,{className:`mt-1 block break-all font-mono text-[13px] text-foreground`,children:Dp(c.setup.totpURI)})]})]}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Code from the app`,(0,z.jsx)(Rf,{name:`code`,required:!0,autoFocus:!0,value:m,invalid:!!v,onChange:e=>h(e.target.value)})]}),w,(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:g,className:`min-h-10`,children:`Turn on`}),s&&(0,z.jsx)(V,{variant:`ghost`,onClick:s,className:`min-h-10`,children:`Cancel`})]}):(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,z.jsx)(`div`,{role:`radiogroup`,"aria-label":`Second step`,className:`flex flex-col gap-2`,children:b.map(e=>(0,z.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":u===e.value,onClick:()=>d(e.value),className:R(`rounded-md border p-3 text-left transition-colors`,u===e.value?`border-primary bg-primary-soft`:`border-border-strong hover:bg-muted`),children:[(0,z.jsx)(`span`,{className:`block text-[13px] font-medium`,children:e.label}),(0,z.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]},e.value))}),t&&(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Your password`,(0,z.jsx)(Md,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:f,invalid:!!v,onChange:e=>p(e.target.value),className:`min-h-6`})]}),w,(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:g,className:`min-h-10`,children:`Continue`}),s&&(0,z.jsx)(V,{variant:`ghost`,onClick:s,className:`min-h-10`,children:`Cancel`})]})},Ap={allowed:`Ask for a second step after your password or an emailed sign-in code: a code from an authenticator app, or one emailed to you. A passkey needs no second step.`,required:`This app requires two-factor authentication for every account. Turn it on to keep using the app.`,forbidden:`Your admin turned two-factor authentication off for this app.`},jp=e=>{let{rule:t,enabled:n,authenticatorApp:r,mail:i,needsPassword:a,onTurnOff:s,onNewBackupCodes:c,onChanged:l}=e,[u,d]=(0,o.useState)(),f=()=>d(void 0),p=n?(0,z.jsx)(rd,{tone:`green`,children:`On`}):t===`required`?(0,z.jsx)(rd,{tone:`amber`,children:`Required`}):(0,z.jsx)(rd,{children:`Off`}),m=n?r?`Signing in with a password or an emailed sign-in code also asks for a code from your authenticator app${i?`, or one emailed to you`:``}. Backup codes work when you do not have the app.`:`Signing in with a password or an emailed sign-in code also asks for a code emailed to you.`:Ap[t];return u?.kind===`setup`?(0,z.jsx)(Af,{title:`Two-factor authentication`,status:p,description:m,children:(0,z.jsx)(`div`,{className:`max-w-sm`,children:(0,z.jsx)(kp,{offerEmailedCodes:i&&!u.appOnly,needsPassword:a,onStartApp:e.onStartApp,onConfirmApp:e.onConfirmApp,onEmailedCodes:e.onEmailedCodes,onCancel:f,onDone:()=>{f(),l()}})})}):(0,z.jsxs)(Af,{title:`Two-factor authentication`,status:p,description:m,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[!n&&t!==`forbidden`&&(0,z.jsx)(V,{variant:`primary`,onClick:()=>d({kind:`setup`,appOnly:!1}),children:`Turn on`}),n&&!r&&t!==`forbidden`&&(0,z.jsx)(V,{onClick:()=>d({kind:`setup`,appOnly:!0}),children:`Add an authenticator app`}),n&&r&&(0,z.jsx)(V,{onClick:()=>d({kind:`new-codes`}),children:`New backup codes`}),n&&(0,z.jsx)(V,{variant:`danger`,disabled:t===`required`,title:t===`required`?`This app requires two-factor authentication.`:void 0,onClick:()=>d({kind:`turn-off`}),children:`Turn off`})]}),u?.kind===`turn-off`&&(0,z.jsx)(Lf,{title:`Turn off two-factor authentication?`,description:`Signing in then needs only your password or an emailed code. Your backup codes stop working.`,confirmLabel:`Turn off`,danger:!0,needsPassword:a,onClose:f,onConfirm:async e=>{await s(e),f(),l()}}),u?.kind===`new-codes`&&(0,z.jsx)(Lf,{title:`Make new backup codes?`,description:`Your current backup codes stop working, and you get ten new ones.`,confirmLabel:`Make new codes`,needsPassword:a,onClose:f,onConfirm:async e=>d({kind:`codes`,codes:await c(e)})}),u?.kind===`codes`&&(0,z.jsx)(kf,{title:`Your new backup codes`,description:`Keep them somewhere safe: each one signs you in once if you lose your phone. They are not shown again.`,onClose:f,actions:(0,z.jsx)(V,{variant:`primary`,onClick:f,children:`I saved my backup codes`}),children:(0,z.jsx)(Ff,{codes:u.codes})})]})},Mp=()=>{let e=nf(window.location.href);return e&&window.history.replaceState(window.history.state,``,rf(window.location.href)),e},Np=({email:e})=>{let{session:t,signInProviders:n,linkProvider:r}=B(),{account:i}=t,[a,s]=(0,o.useState)(),[c,l]=(0,o.useState)(),[u]=(0,o.useState)(Mp),d=(0,o.useCallback)(()=>{Promise.all([i.signInMethods(),i.passkeys(),i.linkedProviders()]).then(([e,t,n])=>s({methods:e,passkeys:t,linked:n}),e=>l(e instanceof zs?qd(e):`Could not read your sign-in methods`))},[i]);(0,o.useEffect)(d,[d]);let f=e=>e.then(e=>(d(),e));return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Sign-in & security`,subtitle:e}),a?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Nf,{rule:a.methods.policy.passkey,passkeys:a.passkeys,onAdd:()=>f(i.addPasskey()),onRename:(e,t)=>f(i.renamePasskey(e,t)),onRemove:e=>f(i.removePasskey(e))}),(0,z.jsx)(jp,{rule:a.methods.policy.twoFactor,enabled:a.methods.account.twoFactor,authenticatorApp:a.methods.account.authenticatorApp,mail:a.methods.mail,needsPassword:a.methods.account.password,onStartApp:e=>i.startAuthenticatorApp(e),onConfirmApp:e=>i.confirmAuthenticatorApp(e),onEmailedCodes:e=>i.turnOnEmailedCodes(e),onTurnOff:e=>i.turnOffTwoFactor(e),onNewBackupCodes:e=>i.newBackupCodes(e),onChanged:d}),n.length>0&&(0,z.jsx)(Pf,{providers:n,linked:a.linked,onConnect:r,error:u&&Qd(u,n.length===1?n[0].name:`the provider`)})]}):c?(0,z.jsx)(`p`,{role:`alert`,className:`text-[13px] text-danger-text`,children:c}):(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})]})},Pp=[{value:`allowed`,label:`On`},{value:`forbidden`,label:`Off`}],Fp=[{value:`allowed`,label:`Optional`},{value:`required`,label:`Required`},{value:`forbidden`,label:`Off`}],Ip=[{method:`password`,label:`Password`,description:`Sign in with the email address and a password.`,rules:Pp},{method:`emailCode`,label:`Emailed sign-in code`,description:`Sign in with a one-time code mailed to the account's address.`,rules:Pp},{method:`passkey`,label:`Passkeys`,description:`Sign in with Face ID, Touch ID, Windows Hello, a phone or a security key. Required: everyone adds one after signing in.`,rules:Fp},{method:`twoFactor`,label:`Two-factor authentication`,description:`A code from an authenticator app, or an emailed one, after a password or an emailed sign-in code. Required: everyone turns it on after signing in.`,rules:Fp},{method:`staffAccess`,label:`Staff sign-in as a person`,description:`The team that runs this app signs in as someone to help them, with a reason, for a short session. Each time is in the log below; with "Email the person" they are told too.`,rules:[{value:`allowed`,label:`On`},{value:`notify`,label:`Email the person`},{value:`forbidden`,label:`Off`}]},{method:`platformSignIn`,label:`Sign-in through the platform`,description:`The sign-in provider the platform that runs this app adds, for people who have an account here already. It never creates accounts.`,rules:Pp}],Lp=(e,t)=>{let n=Ip.find(t=>t.method===e)?.rules.find(e=>e.value===t)?.label;if(n===void 0)throw Error(`No label for the ${t} rule of ${e}`);return n},Rp=({row:e,value:t,onChange:n})=>(0,z.jsx)(`span`,{role:`radiogroup`,"aria-label":e.label,className:`inline-flex h-8 shrink-0 rounded-md bg-muted p-0.5`,children:e.rules.map(e=>(0,z.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e.value===t,onClick:()=>n(e.value),className:R(`rounded px-3 text-xs font-medium transition-colors`,e.value===t?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:e.label},e.value))}),zp=({method:e},t,{mail:n,effective:r,policy:i})=>{if(e===`emailCode`&&!n)return`Needs mail settings (PROTOBASE_SMTP_URL and PROTOBASE_MAIL_FROM): off until they are set.`;if(e===`password`&&!n&&t.password===`forbidden`)return`Without mail settings, password sign-in stays on so nobody is locked out.`;if(e===`staffAccess`&&!n&&t.staffAccess===`notify`)return`Needs mail settings (PROTOBASE_SMTP_URL and PROTOBASE_MAIL_FROM): staff cannot sign in until they are set.`;if(e===`platformSignIn`&&t.platformSignIn===`allowed`&&(t.passkey===`required`||t.twoFactor===`required`))return`Off while passkeys or two-factor authentication are required: it skips the second step.`;if(t[e]===i[e]&&r[e]!==i[e])return`Applies as ${Lp(e,r[e])} for now.`},Bp=({operator:e,platformSignIn:t})=>Ip.flatMap(n=>n.method===`staffAccess`&&!e?[]:n.method===`platformSignIn`?t?[{...n,label:`Sign in with ${t} through the platform`}]:[]:[n]),Vp=({state:e,onSave:t,busy:n,error:r,notice:i})=>{let[a,s]=(0,o.useState)(e.policy),c=Bp(e),l=c.some(({method:t})=>a[t]!==e.policy[t]);return(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t(a)},children:[(0,z.jsx)(`ul`,{className:`divide-y rounded-lg border bg-background`,children:c.map(t=>{let n=zp(t,a,e);return(0,z.jsxs)(`li`,{className:`flex flex-col gap-3 p-4 sm:flex-row sm:items-start sm:justify-between`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:t.label}),(0,z.jsx)(`p`,{className:`mt-0.5 text-[13px] text-muted-foreground`,children:t.description}),n&&(0,z.jsx)(`p`,{className:`mt-1.5 text-xs font-medium text-warning-text`,children:n})]}),(0,z.jsx)(Rp,{row:t,value:a[t.method],onChange:e=>s({...a,[t.method]:e})})]},t.method)})}),r&&(0,z.jsx)(`p`,{role:`alert`,className:`rounded-md bg-danger-soft px-3 py-2 text-xs font-medium text-danger-text`,children:r}),i&&!l&&(0,z.jsx)(`p`,{role:`status`,className:`rounded-md bg-success-soft px-3 py-2 text-xs font-medium text-success-text`,children:i}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.savedAt?`Last saved${e.savedBy?` by ${e.savedBy}`:``} on ${Sf(Date.parse(e.savedAt))}.`:`Never changed: everything is on, nothing is required.`}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[l&&(0,z.jsx)(V,{onClick:()=>s(e.policy),children:`Reset`}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:n,disabled:!l,children:`Save`})]})]})]})},Hp=(e,t)=>e.endedAt?(0,z.jsxs)(rd,{tone:`neutral`,children:[`Stopped `,Sf(Date.parse(e.endedAt))]}):Date.parse(e.expiresAt)<=t?(0,z.jsxs)(rd,{tone:`neutral`,children:[`Ended `,Sf(Date.parse(e.expiresAt))]}):(0,z.jsxs)(rd,{tone:`amber`,children:[`Signed in until `,Sf(Date.parse(e.expiresAt))]}),Up=({signIns:e,operator:t,error:n,now:r=Date.now()})=>(0,z.jsxs)(Af,{title:`Staff sign-ins`,description:`Each time staff of ${t} signed in as someone here, newest first.`,children:[(0,z.jsx)(jf,{message:n}),e&&e.length===0&&(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`No staff has signed in as anyone yet.`}),e&&e.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,z.jsxs)(`li`,{className:`flex flex-col gap-1.5 p-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-[13px]`,children:[(0,z.jsx)(`span`,{className:`font-medium break-all`,children:e.staffName?`${e.staffName} (${e.staff})`:e.staff}),(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`as`}),(0,z.jsx)(`span`,{className:`font-medium break-all`,children:e.user})]}),(0,z.jsx)(`p`,{className:`text-[13px] break-words`,children:e.reason}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:Sf(Date.parse(e.startedAt))}),Hp(e,r)]})]},e.id))})]}),Wp=({operator:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(),[i,a]=(0,o.useState)();return(0,o.useEffect)(()=>{t.staff.log().then(r,e=>a(e instanceof zs?qd(e):`Could not read the staff sign-ins`))},[t]),(0,z.jsx)(Up,{operator:e,signIns:n,error:i})},Gp=()=>{let{session:e}=B(),[t,n]=(0,o.useState)(),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(),[c,l]=(0,o.useState)();(0,o.useEffect)(()=>{e.signInPolicy.read().then(n,e=>s(e instanceof zs?qd(e):`Could not read the sign-in policy`))},[e]);let u=async t=>{i(!0),s(void 0),l(void 0);try{n(await e.signInPolicy.save(t)),l(`Saved. It applies to every sign-in from now on.`)}catch(e){if(!(e instanceof zs))throw e;s(qd(e))}i(!1)};return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Sign-in policy`,subtitle:`How people sign in to this app. Signed-in people keep their session, and are asked for what is newly required within 15 minutes.`}),t?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Vp,{state:t,busy:r,error:a,notice:c,onSave:e=>void u(e)},t.savedAt??`default`),t.operator&&(0,z.jsx)(Wp,{operator:t.operator})]}):a?(0,z.jsx)(`p`,{role:`alert`,className:`text-[13px] text-danger-text`,children:a}):(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})]})},Kp=o.createContext(void 0),qp=e=>{let t=o.useContext(Kp);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},Jp=({client:e,children:t})=>(o.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,z.jsx)(Kp.Provider,{value:e,children:t})),Yp={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Xp=new class{#e=Yp;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function Zp(e){setTimeout(e,0)}var Qp=typeof window>`u`||`Deno`in globalThis;function $p(){}function em(e,t){return typeof e==`function`?e(t):e}function tm(e){return typeof e==`number`&&e>=0&&e!==1/0}function nm(e,t){return Math.max(e+(t||0)-Date.now(),0)}function rm(e,t){return typeof e==`function`?e(t):e}function im(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==om(o,t.options))return!1}else if(!cm(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function am(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(sm(t.options.mutationKey)!==sm(a))return!1}else if(!cm(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function om(e,t){return(t?.queryKeyHashFn||sm)(e)}function sm(e){return JSON.stringify(e,(e,t)=>pm(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function cm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n<t.length;n++)if(!cm(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!cm(e[r],t[r]))return!1;return!0}return!1}var lm=Object.prototype.hasOwnProperty;function um(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=fm(e)&&fm(t);if(!r&&!(pm(e)&&pm(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:lm.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=um(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function dm(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function fm(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function pm(e){if(!mm(e))return!1;let t=Object.getPrototypeOf(e),n=t?.constructor;if(n===void 0)return!0;if(typeof n!=`function`)return!1;let r=n.prototype;return!(!mm(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function mm(e){return Object.prototype.toString.call(e)===`[object Object]`}function hm(e){return new Promise(t=>{Xp.setTimeout(t,e)})}function gm(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:um(e,t)}function _m(e){return e}function vm(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function ym(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var bm=Symbol();function xm(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===bm?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Sm(e,t){return typeof e==`function`?e(...t):!!e}function Cm(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var wm=()=>Qp,Tm=()=>wm(),Em=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Dm=new class extends Em{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},Om=Zp;function km(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Om,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Am=km(),jm=new class extends Em{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Mm(e){return Math.min(1e3*2**e,3e4)}function Nm(e){return(e??`online`)!==`online`||jm.isOnline()}var Pm=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Fm(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch($p);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new Pm(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Dm.isFocused()&&(e.networkMode===`always`||jm.isOnline())&&e.canRun(),p=()=>Nm(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(Tm()?0:3),a=e.retryDelay??Mm,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!s){h(r);return}n++,e.onFail?.(n,r),hm(o).then(()=>f()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var Im=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),tm(this.gcTime)&&(this.#e=Xp.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Tm()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(Xp.clearTimeout(this.#e),this.#e=void 0)}};function Lm(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Cm(e,()=>t.signal,()=>n=!0)},u=xm(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?ym:vm;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?zm:Rm,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Rm(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function Rm(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function zm(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Bm(e,t){return t?Rm(e,t)!=null:!1}function Vm(e,t){return!t||!e.getPreviousPageParam?!1:zm(e,t)!=null}var Hm=class extends Im{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Gm(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Gm(this.options);e.data!==void 0&&(this.setState(Wm(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=gm(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then($p).catch($p):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>rm(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===bm||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>rm(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!nm(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=xm(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Lm(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=Fm({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Pm&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Pm){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Um(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Wm(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),Am.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Um(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Nm(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Wm(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Gm(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var Km=class extends Em{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Jm(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ym(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ym(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof rm(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!dm(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&Xm(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||rm(this.options.enabled,this.#t)!==rm(t.enabled,this.#t)||rm(this.options.staleTime,this.#t)!==rm(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||rm(this.options.enabled,this.#t)!==rm(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return dm(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch($p)),t}#h(e){return!Tm()&&rm(this.options.enabled,this.#t)!==!1&&tm(e)}#g(){this.#b();let e=rm(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=nm(this.#r.dataUpdatedAt,e)+1;this.#u=Xp.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return rm(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=Xp.setInterval(()=>{(this.options.refetchIntervalInBackground||Dm.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(Xp.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(Xp.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&Jm(e,t),o=i&&Xm(e,n,t,r);(a||o)&&(l={...l,...Um(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=gm(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=gm(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:Zm(e,t),refetch:this.refetch,isEnabled:rm(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),dm(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();Am.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function qm(e,t){return rm(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||rm(t.retryOnMount,e)!==!1)}function Jm(e,t){return qm(e,t)||e.state.data!==void 0&&Ym(e,t,t.refetchOnMount)}function Ym(e,t,n){if(rm(t.enabled,e)!==!1&&rm(t.staleTime,e)!==`static`){let r=rm(n,e);return r===`always`||r!==!1&&Zm(e,t)}return!1}function Xm(e,t,n,r){return(e!==t||rm(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Zm(e,n)}function Zm(e,t){return rm(t.enabled,e)!==!1&&e.isStaleByTime(rm(t.staleTime,e))}var Qm=class extends Km{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,d=o&&c===`backward`,f=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:Bm(t,n.data),hasPreviousPage:Vm(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}},$m=class extends Im{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||eh(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=Fm({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),Am.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function eh(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var th=class extends Em{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new $m({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=nh(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=nh(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=nh(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=nh(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Am.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>am(t,e))}findAll(e={}){return this.getAll().filter(t=>am(e,t))}notify(e){Am.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Am.batch(()=>Promise.all(e.map(e=>e.continue().catch($p))))}};function nh(e){return e.options.scope?.id}var rh=class extends Em{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),dm(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&sm(t.mutationKey)!==sm(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??eh();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){Am.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function ih(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var ah=class extends Em{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,Am.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!dm(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(ih(e,n).forEach(e=>{e.destroy()}),ih(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=um(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new Km(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&Am.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},oh=class extends Em{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??om(r,t),a=this.get(i);return a||(a=new Hm({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Am.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>im(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>im(e,t)):t}notify(e){Am.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Am.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Am.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},sh=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new oh,this.#t=e.mutationCache||new th,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Dm.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=jm.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(rm(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=em(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Am.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Am.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Am.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=Am.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then($p).catch($p)}invalidateQueries(e,t={}){return Am.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Am.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch($p)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then($p)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(rm(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(rm(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then($p).catch($p)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then($p).catch($p)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return jm.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(sm(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{cm(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(sm(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{cm(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=om(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===bm&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},ch=o.createContext(!1),lh=()=>o.useContext(ch);ch.Provider;function Vee(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Hee=o.createContext(Vee()),uh=()=>o.useContext(Hee),dh=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Sm(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},fh=e=>{o.useEffect(()=>{e.clearReset()},[e])},ph=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Sm(n,[e.error,r])),mh=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},hh=(e,t)=>e?.suspense&&t.isPending,gh=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function _h({queries:e,...t},n){let r=qp(n),i=lh(),a=uh(),s=t.subscribed!==!1,c=o.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:s?`optimistic`:void 0,t}),[e,r,i,s]);c.forEach(e=>{mh(e);let t=r.getQueryCache().get(e.queryHash);dh(e,a,t)}),fh(a);let[l]=o.useState(()=>new ah(r,c,t)),[u,d,f]=l.getOptimisticResult(c,t.combine),p=!i&&s;o.useSyncExternalStore(o.useCallback(e=>p?l.subscribe(Am.batchCalls(e)):$p,[l,p]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),o.useEffect(()=>{l.setQueries(c,t)},[c,t,l]);let m=u.some((e,t)=>hh(c[t],e))?u.flatMap((e,t)=>{let n=c[t];return n&&hh(n,e)?gh(n,new Km(r,n),a):[]}):[];if(m.length>0)throw Promise.all(m);let h=u.find((e,t)=>{let n=c[t];return n&&ph({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(h)throw h.error;return d(f())}function vh(e,t,n){let r=lh(),i=uh(),a=qp(n),s=a.defaultQueryOptions(e),c=a.getQueryCache().get(s.queryHash),l=e.subscribed!==!1;s._optimisticResults=r?`isRestoring`:l?`optimistic`:void 0,mh(s),dh(s,i,c),fh(i);let[u]=o.useState(()=>new t(a,s)),d=u.getOptimisticResult(s),f=!r&&l;if(o.useSyncExternalStore(o.useCallback(e=>{let t=f?u.subscribe(Am.batchCalls(e)):$p;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),o.useEffect(()=>{u.setOptions(s)},[s,u]),hh(s,d))throw gh(s,u,i);if(ph({result:d,errorResetBoundary:i,throwOnError:s.throwOnError,query:c,suspense:s.suspense}))throw d.error;return s.notifyOnChangeProps?d:u.trackResult(d)}function yh(e,t){return vh(e,Km,t)}function bh(e,t){let n=qp(t),[r]=o.useState(()=>new rh(n,e));o.useEffect(()=>{r.setOptions(e)},[r,e]);let i=o.useSyncExternalStore(o.useCallback(e=>r.subscribe(Am.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=o.useCallback((...e)=>{r.mutate(e[0],e[1]).catch($p)},[r]);if(i.error&&Sm(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function xh(e,t){return vh(e,Qm,t)}var H={meta:[`meta`],sourceMeta:(e,t)=>[`source-meta`,e,t.join(`,`)],sourceMetas:e=>[`source-meta`,e],list:(e,t,n,r,i)=>[`list`,e,t,n,r,i],page:(e,t,n,r,i)=>[`page`,e,t,n,r,i],navRecent:(e,t,n,r)=>[`list`,e,t,n,r,`nav-recent`],first:(e,t,n)=>[`first-page`,e,t,n],record:(e,t)=>[`record`,e,t],facets:(e,t,n)=>[`facets`,e,t,n],series:(e,t,n,r,i)=>[`series`,e,t,n,r,i],histogram:(e,t,n,r)=>[`histogram`,e,t,n,r],map:(e,t,n,r,i)=>[`map`,e,t,n,r,i],relatedLabel:(e,t)=>[`related-label`,e,t],labels:(e,t)=>[`labels`,e,t],count:(e,t)=>[`count`,e,t],firstRecord:(e,t,n)=>[`first-record`,e,t,n],pathValue:(e,t,n)=>[`path-value`,e,t,n]},Sh=(0,o.createContext)(null),Ch=(0,o.createContext)(null),wh=(0,o.createContext)(null),U=()=>{let e=(0,o.useContext)(Sh);if(!e)throw Error(`useClient must be used inside ApiProvider`);return e},Th=e=>{let t=U();return(0,o.useContext)(wh)?.(e)??t},Uee=()=>{let e=(0,o.useContext)(Ch);if(!e)throw Error(`useSourceClients must be used inside ApiProvider`);return e},Wee=({client:e,resourceClient:t,children:n})=>(0,z.jsx)(Sh.Provider,{value:e,children:(0,z.jsx)(wh.Provider,{value:t,children:n})}),Eh=({baseUrl:e,client:t,sources:n,fetch:r,queryClient:i,token:a,onUnauthenticated:s,children:c})=>{let[l]=(0,o.useState)(()=>i??new sh({defaultOptions:{queries:{staleTime:3e4,retry:!1,refetchOnWindowFocus:!1}}})),u=(0,o.useRef)(void 0),d=(0,o.useMemo)(()=>t??Cs({baseUrl:e,fetch:r,token:a,onUnauthenticated:s,onMetaVersion:e=>{let t=u.current;u.current=e,t!==void 0&&t!==e&&l.invalidateQueries({queryKey:H.meta},{cancelRefetch:!1})}}),[t,e,r,l,a,s]),f=(0,o.useMemo)(()=>{let e=new Map;return t=>{let i=n?.[t.url]??e.get(t.url);if(i)return i;let o,s=Cs({baseUrl:t.url,fetch:r,token:a,onMetaVersion:e=>{let n=o;o=e,n!==void 0&&n!==e&&l.invalidateQueries({queryKey:H.sourceMetas(t.url)},{cancelRefetch:!1})}});return e.set(t.url,s),s}},[n,r,a,l]);return(0,z.jsx)(Jp,{client:l,children:(0,z.jsx)(Sh.Provider,{value:d,children:(0,z.jsx)(Ch.Provider,{value:f,children:c})})})},Dh=(0,o.createContext)(null),Oh=()=>{let e=(0,o.useContext)(Dh);if(!e)throw Error(`useRouter must be used inside Router`);return e},kh=()=>`${window.location.pathname}${window.location.search}`,Ah=e=>new URL(e,`http://local`).pathname,jh=()=>window.history.state?.protobaseIndex??0,Gee=({basePath:e=``,initialUrl:t,children:n})=>{let r=t!==void 0,[i,a]=(0,o.useState)(t??kh()),s=(0,o.useRef)(new Set),c=(0,o.useRef)(i);c.current=i;let l=(0,o.useRef)(r?0:jh()),u=(0,o.useRef)(!1),d=(0,o.useRef)(!1),[f,p]=(0,o.useState)();(0,o.useEffect)(()=>{if(r)return;window.history.replaceState({protobaseIndex:l.current},``);let e=()=>{let e=jh();if(u.current){u.current=!1,l.current=e;return}let t=e-l.current,n=Ah(kh())!==Ah(c.current);if(!d.current&&s.current.size>0&&n){u.current=!0,window.history.go(-t),p({kind:`history`,delta:t});return}d.current=!1,l.current=e,a(kh())};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[r]);let m=(0,o.useCallback)((e,t)=>{r||(l.current+=+!t,window.history[t?`replaceState`:`pushState`]({protobaseIndex:l.current},``,e)),a(e)},[r]),h=(0,o.useCallback)((t,{replace:n=!1}={})=>{let r=`${e}${t}`;if(Ah(r)!==Ah(c.current)&&s.current.size>0)return p({kind:`link`,full:r,replace:n});m(r,n)},[e,m]),g=(0,o.useCallback)(()=>{let e=Symbol(`guard`);return s.current.add(e),()=>void s.current.delete(e)},[]),_=()=>{if(f){if(p(void 0),f.kind===`link`)return m(f.full,f.replace);d.current=!0,window.history.go(f.delta)}},v=(0,o.useMemo)(()=>{let t=new URL(i,`http://local`);return{path:t.pathname.slice(e.length)||`/`,params:t.searchParams,basePath:e,entry:l.current,navigate:h,registerGuard:g}},[i,e,h,g]);return(0,z.jsxs)(Dh.Provider,{value:v,children:[n,f&&(0,z.jsx)(kf,{title:`Leave without saving?`,description:`You have unsaved changes on this page. They stay in this browser, and come back when you open the record again.`,onClose:()=>p(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>p(void 0),children:`Stay`}),(0,z.jsx)(V,{variant:`primary`,onClick:_,children:`Leave`})]})})]})},Kee=({to:e,onClick:t,...n})=>{let{navigate:r,basePath:i}=Oh();return(0,z.jsx)(`a`,{href:`${i}${e}`,onClick:n=>{t?.(n),!(n.defaultPrevented||n.metaKey||n.ctrlKey||n.button!==0)&&(n.preventDefault(),r(e))},...n})},qee=e=>{let{registerGuard:t}=Oh();(0,o.useEffect)(()=>e?t():void 0,[e,t]),(0,o.useEffect)(()=>{if(!e)return;let t=e=>e.preventDefault();return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e])},Mh=({title:e,description:t,children:n})=>(0,z.jsx)(`div`,{className:`flex min-h-full w-full items-center justify-center bg-surface px-4 py-10`,children:(0,z.jsxs)(`div`,{className:`w-full max-w-sm`,children:[(0,z.jsxs)(`div`,{className:`mb-6 flex flex-col items-center text-center`,children:[(0,z.jsx)(Wu,{className:`size-10`}),(0,z.jsx)(`h1`,{className:`mt-4 text-xl font-semibold tracking-tight`,children:e}),t&&(0,z.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:t})]}),(0,z.jsx)(`div`,{className:`rounded-lg border bg-background p-5 shadow-sm`,children:n})]})}),Jee=({email:e,onSubmit:t,onResend:n,onBack:r,busy:i,error:a,notice:s})=>{let[c,l]=(0,o.useState)(``);return(0,z.jsxs)(Mh,{title:`Check your email`,description:`Enter the code we sent to sign in.`,children:[(0,z.jsxs)(`p`,{className:`mb-4 text-[13px] text-muted-foreground`,children:[`If `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:e}),` has an account, a 6-digit code is on its way. It works for 5 minutes, once.`]}),s&&(0,z.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-xs font-medium text-success-text`,children:s}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t(c.trim())},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Code`,(0,z.jsx)(Rf,{name:`code`,required:!0,autoFocus:!0,value:c,invalid:!!a,onChange:e=>l(e.target.value)})]}),a&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:a}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:`Sign in`}),(0,z.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,z.jsx)(V,{variant:`ghost`,onClick:r,className:`min-h-10`,children:`Back to sign in`}),(0,z.jsx)(V,{variant:`ghost`,onClick:n,disabled:i,className:`min-h-10`,children:`Send a new code`})]})]})]})},Yee=({email:e,onBack:t})=>{let{signInWithCode:n,sendSignInCode:r}=B(),[i,a]=(0,o.useState)(!1),[s,c]=(0,o.useState)(),[l,u]=(0,o.useState)(),d=async e=>{a(!0),c(void 0),u(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;c(qd(e))}a(!1)};return(0,z.jsx)(Jee,{email:e,busy:i,error:s,notice:l,onBack:t,onSubmit:t=>void d(()=>n(e,t)),onResend:()=>void d(async()=>{await r(e),u(`A new code is on its way. Only the newest one works.`)})})},Xee=`protobase users create you@example.com`,Zee=({command:e=Xee,onCheckAgain:t,busy:n})=>{let[r,i]=(0,o.useState)(!1);return(0,z.jsxs)(Mh,{title:`No admin yet`,description:`This Protobase has no users to sign in with.`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Run this in the terminal where Protobase runs, then reload. The first admin is created on the server, not in the browser, so nobody else can claim a fresh URL.`}),(0,z.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 rounded-md border bg-surface py-1.5 pl-3 pr-1.5`,children:[(0,z.jsx)(`code`,{className:`min-w-0 flex-1 break-all font-mono text-xs`,children:e}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Copy command`,onClick:()=>{navigator.clipboard.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),2e3)})},className:`inline-flex size-8 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-muted pointer-coarse:size-11`,children:r?(0,z.jsx)(de,{className:`size-4 text-success`}):(0,z.jsx)(je,{className:`size-4`})})]}),(0,z.jsx)(V,{variant:`primary`,className:`mt-4 min-h-10 w-full`,loading:n,onClick:t,children:`Reload`})]})},Qee=({onSubmit:e,onBack:t,busy:n,error:r,sentTo:i})=>{let[a,s]=(0,o.useState)(``);return i?(0,z.jsxs)(Mh,{title:`Check your email`,children:[(0,z.jsxs)(`p`,{className:`text-[13px] text-muted-foreground`,children:[`If `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),` has an account, an email with a link to choose a new password is on its way. The link works once, for a limited time.`]}),(0,z.jsx)(V,{variant:`primary`,className:`mt-4 min-h-10 w-full`,onClick:t,children:`Back to sign in`})]}):(0,z.jsx)(Mh,{title:`Reset your password`,description:`We email you a link to choose a new one.`,children:(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(a.trim())},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Email`,(0,z.jsx)(Md,{type:`email`,name:`email`,autoComplete:`username`,required:!0,autoFocus:!0,value:a,invalid:!!r,onChange:e=>s(e.target.value),className:`min-h-6`})]}),r&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:r}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:n,className:`min-h-10`,children:`Send reset link`}),(0,z.jsx)(V,{variant:`ghost`,onClick:t,className:`min-h-10`,children:`Back to sign in`})]})})},Nh=`password-reset`,$ee=e=>{let t=new URL(e);return`${t.origin}${t.pathname}?${Nh}`},ete=e=>{let t=new URL(e).searchParams;if(t.has(`password-reset`))return{token:t.get(`token`)||void 0}},tte=e=>{let t=new URL(e);for(let e of[Nh,`token`,`error`])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},nte=({onBack:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(),[s,c]=(0,o.useState)(),l=async e=>{r(!0),a(void 0);try{await t.requestPasswordReset(e,$ee(window.location.href)),c(e)}catch(e){if(!(e instanceof zs))throw e;a(e.status===429?`Too many requests. Wait a minute and try again.`:e.message)}r(!1)};return(0,z.jsx)(Qee,{busy:n,error:i,sentTo:s,onBack:e,onSubmit:e=>void l(e)})},rte=({name:e,workspace:t})=>(0,z.jsx)(Mh,{title:`Signing in with ${e}`,description:t,children:(0,z.jsxs)(`p`,{role:`status`,className:`flex items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Taking you to `,e,`…`]})}),ite=({provider:e,workspace:t,onFailed:n})=>{let{signInProviders:r,signInSocial:i}=B(),a=r.find(t=>t.id===e),s=a?.name??of(e),c=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{if(!c.current){if(c.current=!0,!a)return n(`Signing in with ${s} is not offered here. Sign in another way.`);i(e).catch(e=>{if(!(e instanceof zs))throw e;n(Jd(e))})}},[a,s,e,i,n]),(0,z.jsx)(rte,{name:s,workspace:t})},ate=({onSubmit:e,invalidLink:t,onRequestNewLink:n,onBack:r,busy:i,error:a})=>{let[s,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(``),[d,f]=(0,o.useState)(!1);if(t)return(0,z.jsxs)(Mh,{title:`This link no longer works`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`A reset link works once, for a limited time. Ask for a new one to choose your password.`}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[n&&(0,z.jsx)(V,{variant:`primary`,className:`min-h-10`,onClick:n,children:`Send a new link`}),(0,z.jsx)(V,{variant:n?`ghost`:`primary`,className:`min-h-10`,onClick:r,children:`Back to sign in`})]})]});let p=d?`The passwords are not the same.`:a;return(0,z.jsx)(Mh,{title:`Choose a new password`,description:`At least 12 characters.`,children:(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),f(s!==l),s===l&&e(s)},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`New password`,(0,z.jsx)(Md,{type:`password`,name:`new-password`,autoComplete:`new-password`,required:!0,minLength:12,autoFocus:!0,value:s,invalid:!!p,onChange:e=>c(e.target.value),className:`min-h-6`})]}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Repeat new password`,(0,z.jsx)(Md,{type:`password`,name:`repeat-password`,autoComplete:`new-password`,required:!0,minLength:12,value:l,invalid:!!p,onChange:e=>u(e.target.value),className:`min-h-6`})]}),p&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:p}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:`Set new password`})]})})},ote=e=>e.status===429?`Too many attempts. Wait a minute and try again.`:e.code===`PASSWORD_TOO_SHORT`?`Use at least 12 characters.`:e.code===`PASSWORD_TOO_LONG`?`That password is too long.`:e.message,ste=({token:e,onDone:t,onRequestNewLink:n,onBack:r})=>{let{session:i}=B(),[a,s]=(0,o.useState)(!1),[c,l]=(0,o.useState)(),[u,d]=(0,o.useState)(!e),f=async n=>{s(!0),l(void 0);try{await i.resetPassword(e,n),t()}catch(e){if(!(e instanceof zs))throw e;e.code===`INVALID_TOKEN`?d(!0):l(ote(e)),s(!1)}};return(0,z.jsx)(ate,{busy:a,error:c,invalidLink:u,onRequestNewLink:n,onBack:r,onSubmit:e=>void f(e)})},cte={twoFactor:`Turn on two-factor authentication`,passkey:`Add a passkey`},lte=({step:e,twoFactor:t,onAddPasskey:n,busy:r,error:i,onSignOut:a})=>(0,z.jsxs)(Mh,{title:cte[e],description:`This app requires it for every account.`,children:[e===`twoFactor`?(0,z.jsx)(kp,{...t}):(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`A passkey signs you in with Face ID, Touch ID, Windows Hello, your phone or a security key. Your browser asks which one to use.`}),i&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:i}),(0,z.jsxs)(V,{variant:`primary`,loading:r,onClick:n,className:`min-h-10`,children:[(0,z.jsx)(et,{className:`size-4`}),`Add a passkey`]})]}),(0,z.jsx)(`button`,{type:`button`,onClick:a,className:`mt-4 w-full text-center text-[13px] font-medium text-muted-foreground hover:underline`,children:`Sign out`})]}),ute=({missing:e})=>{let{session:t,recheck:n,signOut:r}=B(),[i,a]=(0,o.useState)(),[s,c]=(0,o.useState)(!1),[l,u]=(0,o.useState)();(0,o.useEffect)(()=>{t.account.signInMethods().then(a,e=>u(e instanceof zs?qd(e):`Could not read your account`))},[t]);let d=async()=>{c(!0),u(void 0);try{await t.account.addPasskey(),n()}catch(e){if(!(e instanceof zs))throw e;u(qd(e)),c(!1)}};return!i&&!l?(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]}):(0,z.jsx)(lte,{step:e[0],busy:s,error:l,onAddPasskey:()=>void d(),onSignOut:()=>void r(),twoFactor:{offerEmailedCodes:i?.mail??!1,needsPassword:i?.account.password??!0,onStartApp:e=>t.account.startAuthenticatorApp(e),onConfirmApp:e=>t.account.confirmAuthenticatorApp(e),onEmailedCodes:e=>t.account.turnOnEmailedCodes(e),onDone:n}})},Ph=`/-/sign-in`,Fh={step:`step`,next:`next`},dte=[`sign-in`,`forgot-password`,`email-code`,`sign-up`,`sign-up-code`],fte=e=>dte.includes(e),Ih=e=>{if(!e?.startsWith(`/`))return;let t=new URL(e,`http://local`);if(t.origin===`http://local`&&t.pathname!==`/-/sign-in`)return`${t.pathname}${t.search}`},Lh=({step:e=`sign-in`,next:t}={})=>{let n=new URLSearchParams;e!==`sign-in`&&n.set(Fh.step,e);let r=Ih(t);r&&r!==`/`&&n.set(Fh.next,r);let i=n.toString();return i?`${Ph}?${i}`:Ph},pte=(e,t)=>{if(e!==`/-/sign-in`)return;let n=t.get(Fh.step),r=Ih(t.get(Fh.next));return{step:fte(n)?n:`sign-in`,...r&&{next:r}}},mte=({className:e})=>(0,z.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:R(`size-4 shrink-0`,e),"aria-hidden":!0,children:(0,z.jsx)(`path`,{d:`M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943`})}),hte=({id:e,className:t})=>e===`github`?(0,z.jsx)(mte,{className:t}):null,gte=()=>(0,z.jsxs)(`div`,{className:`my-4 flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{className:`h-px flex-1 bg-border`}),`or`,(0,z.jsx)(`span`,{className:`h-px flex-1 bg-border`})]}),_te=({onSubmit:e,busy:t,error:n,workspace:r,notice:i,methods:a=[`password`],onSendCode:s,onPasskey:c,passkeyDomains:l=[],onForgotPassword:u,providers:d=[],onContinueWith:f,onSignUp:p,onBrowse:m})=>{let[h,g]=(0,o.useState)(``),[_,v]=(0,o.useState)(``),y=(0,o.useRef)(null),b=a.includes(`password`),x=a.includes(`emailCode`)&&s!==void 0,S=a.includes(`passkey`)&&c!==void 0,C=f?d:[],w=()=>{y.current?.reportValidity()&&s?.(h.trim())};return(0,z.jsxs)(Mh,{title:`Sign in to Protobase`,description:r,children:[i&&(0,z.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-xs font-medium text-success-text`,children:i}),(C.length>0||S)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[C.map(e=>(0,z.jsxs)(V,{onClick:()=>f?.(e.id),disabled:t,className:`min-h-10 w-full`,children:[(0,z.jsx)(hte,{id:e.id}),`Continue with `,e.name]},e.id)),S&&(0,z.jsxs)(V,{onClick:()=>c?.(),disabled:t,className:`min-h-10 w-full`,children:[(0,z.jsx)(et,{className:`size-4`}),`Sign in with a passkey`]}),S&&l.slice(1).map(e=>(0,z.jsxs)(V,{variant:`ghost`,size:`sm`,onClick:()=>c?.(e),disabled:t,className:`w-full`,children:[`Use a passkey made for `,e]},e))]}),b||x?(0,z.jsx)(gte,{}):n&&(0,z.jsx)(`p`,{role:`alert`,className:`mt-4 text-xs font-medium text-danger-text`,children:n})]}),(b||x)&&(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),b?e(h.trim(),_):w()},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Email`,(0,z.jsx)(Md,{ref:y,type:`email`,name:`email`,autoComplete:`username webauthn`,required:!0,autoFocus:!0,value:h,invalid:!!n,onChange:e=>g(e.target.value),className:`min-h-6`})]}),b&&(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Password`,(0,z.jsx)(Md,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:_,invalid:!!n,onChange:e=>v(e.target.value),className:`min-h-6`})]}),n&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:n}),b&&(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:t,className:`min-h-10`,children:`Sign in`}),x&&(0,z.jsxs)(V,{variant:b?`secondary`:`primary`,type:b?`button`:`submit`,onClick:b?w:void 0,loading:t&&!b,disabled:t,className:`min-h-10`,children:[(0,z.jsx)(vt,{className:`size-4`}),`Email me a sign-in code`]}),b&&u&&(0,z.jsx)(`button`,{type:`button`,onClick:u,className:`self-center text-[13px] font-medium text-primary-text hover:underline`,children:`Forgot password?`})]}),p&&(0,z.jsxs)(`p`,{className:`mt-4 text-center text-[13px] text-muted-foreground`,children:[`New here?`,` `,(0,z.jsx)(`button`,{type:`button`,onClick:p,className:`font-medium text-primary-text hover:underline`,children:`Create an account`})]}),m&&(0,z.jsx)(`button`,{type:`button`,onClick:m,className:`mt-4 w-full text-center text-[13px] font-medium text-muted-foreground hover:text-foreground hover:underline`,children:`Continue without signing in`})]})},vte=({workspace:e,notice:t,onForgotPassword:n,onSignUp:r,onBrowse:i,onCodeSent:a,error:s})=>{let{signIn:c,signInSocial:l,signInProviders:u,signInMethods:d,passkeyDomains:f,sendSignInCode:p,signInWithPasskey:m}=B(),[h,g]=(0,o.useState)(!1),[_,v]=(0,o.useState)(s),y=async(e,t)=>{g(!0),v(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;v(t(e)),g(!1)}};return(0,z.jsx)(_te,{busy:h,error:_,workspace:e,notice:t,methods:d,onForgotPassword:n,onSignUp:r,onBrowse:i,providers:u,onContinueWith:e=>void y(()=>l(e),Jd),passkeyDomains:f,onPasskey:e=>void y(()=>m(e),qd),onSendCode:e=>void y(async()=>{await p(e),a(e)},qd),onSubmit:(e,t)=>void y(()=>c(e,t),Jd)})},yte=({email:e,onSubmit:t,onResend:n,onBack:r,methods:i,busy:a,error:s,notice:c})=>{let[l,u]=(0,o.useState)(``),[d,f]=(0,o.useState)(``),[p,m]=(0,o.useState)(``),h=(0,o.useId)(),g=i.includes(`password`),_=i.includes(`emailCode`);return(0,z.jsxs)(Mh,{title:`Check your email`,description:`Enter the code we sent to create your account.`,children:[(0,z.jsxs)(`p`,{className:`mb-4 text-[13px] text-muted-foreground`,children:[`A 6-digit code is on its way to `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:e}),`. It works for 5 minutes, once. If the address has an account already, the email says so instead.`]}),c&&(0,z.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-xs font-medium text-success-text`,children:c}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({code:l.trim(),name:d.trim(),...g&&p&&{password:p}})},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Code`,(0,z.jsx)(Rf,{name:`code`,required:!0,autoFocus:!0,value:l,invalid:!!s,onChange:e=>u(e.target.value)})]}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Your name`,(0,z.jsx)(Md,{name:`name`,autoComplete:`name`,required:!0,maxLength:200,value:d,onChange:e=>f(e.target.value),className:`min-h-6`})]}),g&&(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[_?`Password (optional)`:`Password`,(0,z.jsx)(Md,{type:`password`,name:`password`,autoComplete:`new-password`,"aria-describedby":h,required:!_,minLength:12,maxLength:128,value:p,onChange:e=>m(e.target.value),className:`min-h-6`})]}),(0,z.jsxs)(`p`,{id:h,className:`text-xs text-muted-foreground`,children:[`At least `,12,` characters.`,_&&` Without one, you sign in with a code we email you.`]})]}),s&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:s}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:a,className:`min-h-10`,children:`Create account`}),(0,z.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,z.jsx)(V,{variant:`ghost`,onClick:r,className:`min-h-10`,children:`Use another address`}),(0,z.jsx)(V,{variant:`ghost`,onClick:n,disabled:a,className:`min-h-10`,children:`Send a new code`})]})]})]})},bte=({onSubmit:e,onSignIn:t,onBrowse:n,busy:r,error:i,workspace:a})=>{let[s,c]=(0,o.useState)(``);return(0,z.jsxs)(Mh,{title:`Create an account`,description:a,children:[(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(s.trim())},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Email`,(0,z.jsx)(Md,{type:`email`,name:`email`,autoComplete:`email`,required:!0,autoFocus:!0,value:s,invalid:!!i,onChange:e=>c(e.target.value),className:`min-h-6`})]}),(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`We email you a code to make sure the address is yours.`}),i&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:i}),(0,z.jsxs)(V,{variant:`primary`,type:`submit`,loading:r,className:`min-h-10`,children:[(0,z.jsx)(vt,{className:`size-4`}),`Email me a code`]}),(0,z.jsxs)(`p`,{className:`text-center text-[13px] text-muted-foreground`,children:[`Have an account?`,` `,(0,z.jsx)(`button`,{type:`button`,onClick:t,className:`font-medium text-primary-text hover:underline`,children:`Sign in`})]})]}),n&&(0,z.jsx)(`button`,{type:`button`,onClick:n,className:`mt-4 w-full text-center text-[13px] font-medium text-muted-foreground hover:text-foreground hover:underline`,children:`Continue without an account`})]})},xte=({workspace:e,email:t,onCodeSent:n,onBack:r,onSignIn:i,onBrowse:a})=>{let{signInMethods:s,sendSignUpCode:c,signUp:l}=B(),[u,d]=(0,o.useState)(!1),[f,p]=(0,o.useState)(),[m,h]=(0,o.useState)(),g=async e=>{d(!0),p(void 0),h(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;p(qd(e))}d(!1)};return t===void 0?(0,z.jsx)(bte,{workspace:e,busy:u,error:f,onSignIn:i,onBrowse:a,onSubmit:e=>void g(async()=>{await c(e),n(e)})}):(0,z.jsx)(yte,{email:t,methods:s,busy:u,error:f,notice:m,onBack:r,onResend:()=>void g(async()=>{await c(t),h(`A new code is on its way. Only the newest one works.`)}),onSubmit:e=>void g(()=>l({email:t,...e}))})},Rh=`staff-sign-in`,zh=`staff-error`,Ste=e=>{let t=new URL(e).searchParams,n=t.get(zh);if(!t.has(`staff-sign-in`)&&!n)return;let r=t.has(Rh);return{email:r&&t.get(`email`)||``,reason:r&&t.get(`reason`)||``,...n&&{error:n}}},Bh=e=>{let t=new URL(e);if(t.searchParams.has(`staff-sign-in`))for(let e of[Rh,`email`,`reason`])t.searchParams.delete(e);return t.searchParams.delete(zh),`${t.pathname}${t.search}${t.hash}`},Cte=10,wte=({operator:e,email:t=``,reason:n=``,onSubmit:r,onBack:i,busy:a,error:s})=>{let[c,l]=(0,o.useState)(t),[u,d]=(0,o.useState)(n);return e?(0,z.jsx)(Mh,{title:`Sign in as a person`,description:`For staff of ${e}, to help someone with this app.`,children:(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),r(c.trim(),u.trim())},children:[(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Their email`,(0,z.jsx)(Md,{type:`email`,name:`email`,required:!0,autoFocus:!t,value:c,onChange:e=>l(e.target.value),className:`min-h-6`})]}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[`Reason`,(0,z.jsx)(`textarea`,{name:`reason`,required:!0,minLength:Cte,rows:3,value:u,placeholder:`Ticket 4211: the invoice totals look wrong`,onChange:e=>d(e.target.value),className:R(`resize-y rounded-md border bg-background px-2.5 py-1.5 text-[13px] font-normal shadow-sm outline-none placeholder:text-faint-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`,s?`border-danger`:`border-border-strong`)})]}),(0,z.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`You sign in at `,e,` with a passkey or a second step. The session is short, shows a banner, and cannot change their sign-in. The app's admins see who signed in as whom, and why.`]}),s&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:s}),(0,z.jsxs)(V,{variant:`primary`,type:`submit`,loading:a,className:`min-h-10`,children:[`Continue with `,e]}),(0,z.jsx)(V,{variant:`ghost`,onClick:i,className:`min-h-10`,children:`Back to sign in`})]})}):(0,z.jsxs)(Mh,{title:`Staff sign-in`,description:`Staff of the team that runs this app cannot sign in as people here.`,children:[s&&(0,z.jsx)(`p`,{role:`alert`,className:`mb-4 text-xs font-medium text-danger-text`,children:s}),(0,z.jsx)(V,{variant:`primary`,className:`min-h-10 w-full`,onClick:i,children:`Back to sign in`})]})},Tte=({link:e,onBack:t})=>{let{session:n,staffSignIn:r}=B(),[i,a]=(0,o.useState)(!1),[s,c]=(0,o.useState)(e.error&&Xd(e.error)),l=async(e,t)=>{a(!0),c(void 0);try{let r=`${window.location.origin}${Bh(window.location.href)}`;window.location.assign(await n.staff.start({email:e,reason:t,callbackURL:r}))}catch(e){if(!(e instanceof zs))throw e;c(Xd(e)),a(!1)}};return(0,z.jsx)(wte,{operator:r,email:e.email,reason:e.reason,busy:i,error:s,onBack:t,onSubmit:(e,t)=>void l(e,t)})},Vh=({checked:e,indeterminate:t,onChange:n,label:r,className:i})=>(0,z.jsx)(`button`,{type:`button`,role:`checkbox`,"aria-checked":t?`mixed`:e,"aria-label":r,onClick:()=>n?.(!e),className:R(`relative inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors after:absolute after:-inset-1 after:content-[""] pointer-coarse:after:-inset-3.5`,e||t?`border-primary bg-primary text-primary-foreground`:`border-border-strong bg-background hover:border-faint-foreground`,i),children:t?(0,z.jsx)(wt,{className:`size-3`,strokeWidth:3}):e&&(0,z.jsx)(de,{className:`size-3`,strokeWidth:3})}),Ete={totp:`Enter the 6-digit code from your authenticator app.`,otp:`Enter the 6-digit code we emailed you. It works for 5 minutes.`,backup:`Enter one of the backup codes you saved when you set up the authenticator app. Each works once.`},Dte=({methods:e,onVerify:t,onSendCode:n,onBack:r,busy:i,error:a,codeSent:s,initialStep:c})=>{let[l,u]=(0,o.useState)(c??(e.includes(`totp`)?`totp`:`otp`)),[d,f]=(0,o.useState)(``),[p,m]=(0,o.useState)(!1),h=l===`otp`&&!s,g=e=>{u(e),f(``),e===`otp`&&!s&&n()};return(0,z.jsxs)(Mh,{title:`Two-factor authentication`,description:`One more step to sign in.`,children:[h?(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`We email you a code to finish signing in.`}),a&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:a}),(0,z.jsx)(V,{variant:`primary`,loading:i,onClick:n,className:`min-h-10`,children:`Email me a code`})]}):(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({method:l,code:d.trim(),trustDevice:p})},children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:Ete[l]}),(0,z.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-[13px] font-medium`,children:[l===`backup`?`Backup code`:`Code`,l===`backup`?(0,z.jsx)(Md,{name:`code`,autoComplete:`off`,spellCheck:!1,required:!0,autoFocus:!0,value:d,invalid:!!a,onChange:e=>f(e.target.value),className:`min-h-6 font-mono`}):(0,z.jsx)(Rf,{name:`code`,required:!0,autoFocus:!0,value:d,invalid:!!a,onChange:e=>f(e.target.value)})]}),(0,z.jsxs)(`label`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Vh,{checked:p,onChange:m,label:`Trust this browser`}),`Don't ask again in this browser for 30 days`]}),a&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:a}),(0,z.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:`Verify`})]}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-col items-center gap-2 border-t pt-4 text-[13px]`,children:[l!==`totp`&&e.includes(`totp`)&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>g(`totp`),className:`font-medium text-primary-text hover:underline`,children:`Use the authenticator app`}),l!==`otp`&&e.includes(`otp`)&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>g(`otp`),className:`font-medium text-primary-text hover:underline`,children:`Email me a code instead`}),l!==`backup`&&e.includes(`totp`)&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>g(`backup`),className:`font-medium text-primary-text hover:underline`,children:`Use a backup code`}),(0,z.jsx)(`button`,{type:`button`,onClick:r,className:`font-medium text-muted-foreground hover:underline`,children:`Back to sign in`})]})]})},Ote=({methods:e,onBack:t})=>{let{verifyTwoFactor:n,session:r}=B(),[i,a]=(0,o.useState)(!1),[s,c]=(0,o.useState)(),[l,u]=(0,o.useState)(!1),d=async e=>{a(!0),c(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;c(qd(e))}a(!1)};return(0,z.jsx)(Dte,{methods:e,busy:i,error:s,codeSent:l,onBack:t,onVerify:e=>void d(()=>n(e)),onSendCode:()=>void d(async()=>{await r.sendTwoFactorCode(),u(!0)})})},Hh=()=>{let{path:e,params:t,navigate:n}=Oh(),r=(0,o.useMemo)(()=>pte(e,t),[e,t]),i=rf(new URL(t.size>0?`${e}?${t}`:e,`http://local`).href),a=r?r.next:i;return{address:r,next:a,open:(0,o.useCallback)((e=`sign-in`,t)=>n(Lh({step:e,next:a}),t),[n,a]),leave:(0,o.useCallback)(()=>n(a??`/`,{replace:!0}),[n,a])}},kte=e=>{let t=new URL(e),n=t.searchParams.get(`token`);return t.pathname.endsWith(`/-/invitation`)&&n?{token:n}:void 0},Ate=e=>`${new URL(e).pathname.slice(0,-13)}/`,Uh=`/-/organizations`,Wh=`/-/organization`,Gh=`/-/organization/members`,Kh=`/-/organization/invitations`,jte={[Uh]:`Organizations`,[Wh]:`Organization`,[Gh]:`Members`,[Kh]:`Invitations`},qh={owner:`Owner`,admin:`Admin`,member:`Member`},Jh=(e,t)=>e.find(e=>e.name===t)?.label??t,Yh=e=>e?.role===`owner`||e?.role===`admin`,Xh=(e,t,n)=>{let r=(n,r,i,a)=>({id:n,label:r,icon:i,href:`${e}${a}`,active:t===a});return[r(`organizations`,`Organizations`,ree,Uh),...n?.organization?[r(`organization`,`Organization`,oe,Wh)]:[],...Yh(n)?[r(`members`,`Members`,En,Gh),r(`invitations`,`Invitations`,vt,Kh)]:[]]},Zh=(e,t)=>{let n=[...t?.globalRoles??[],...t?.appRoles??[]],r=e.filter(e=>e.membership).map(e=>e.name);if(n.includes(`admin`))return new Set(r);let i=n.flatMap(t=>e.find(e=>e.name===t)?.grants??[]);return new Set([...n,...i].filter(e=>r.includes(e)))},Qh=()=>{let[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)();return{busy:e,error:n,run:async e=>{t(!0),r(void 0);try{await e()}catch(e){if(!(e instanceof zs))throw e;r(qd(e))}t(!1)},setError:r}},$h=({token:e,preview:t,onDone:n})=>{let{session:r,signInMethods:i,recheck:a}=B(),[s,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(``),{busy:d,error:f,run:p}=Qh(),m=i.includes(`password`),h=i.includes(`emailCode`),g=()=>p(async()=>{await r.organizations.signUpFromInvitation(e,{name:s.trim(),...m&&l&&{password:l}}),n(),a()});return(0,z.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),g()},children:[(0,z.jsxs)(`p`,{className:`text-[13px] text-muted-foreground`,children:[`Make your account for `,t.email,` to join.`]}),f&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:f}),(0,z.jsx)(Md,{"aria-label":`Your name`,placeholder:`Your name`,autoComplete:`name`,value:s,onChange:e=>c(e.target.value)}),m&&(0,z.jsx)(Md,{"aria-label":`Password`,type:`password`,autoComplete:`new-password`,placeholder:h?`Password (optional, 12+ characters)`:`Password (12+ characters)`,value:l,onChange:e=>u(e.target.value)}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:d,disabled:!s.trim()||m&&!h&&l.length<12,children:`Create account and join`})]})},eg=({token:e,onDone:t,onSignIn:n})=>{let{session:r,state:i,signOut:a,organizations:s}=B(),[c,l]=(0,o.useState)(),[u,d]=(0,o.useState)(),{busy:f,error:p,run:m}=Qh();if((0,o.useEffect)(()=>{r.organizations.invitation(e).then(l,e=>d(e instanceof zs?qd(e):`This invitation link is not valid`))},[r,e]),u)return(0,z.jsx)(Mh,{title:`Invitation`,description:u,children:(0,z.jsx)(V,{className:`w-full`,onClick:t,children:`Go to the app`})});if(!c)return(0,z.jsx)(Mh,{title:`Invitation`,children:(0,z.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})});let h=c.appRoles.map(e=>Jh(s?.roles??[],e)),g=`${c.inviter.name} invites you to ${c.organization.name} as ${qh[c.role].toLowerCase()}${h.length>0?`, with ${h.join(`, `)}`:``}.`,_=i.kind===`signed-in`?i.user:void 0;return _&&_.email.toLowerCase()!==c.email.toLowerCase()?(0,z.jsxs)(Mh,{title:`Join ${c.organization.name}`,description:g,children:[(0,z.jsxs)(`p`,{className:`mb-3 text-[13px] text-muted-foreground`,children:[`This invitation is for `,c.email,`, and you are signed in as `,_.email,`.`]}),(0,z.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:`Sign out to accept it`})]}):(0,z.jsx)(Mh,{title:`Join ${c.organization.name}`,description:g,children:_?(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[p&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:p}),(0,z.jsxs)(V,{variant:`primary`,className:`w-full`,loading:f,onClick:()=>void m(async()=>{await r.organizations.accept(e),t()}),children:[`Join `,c.organization.name]})]}):c.hasAccount?(0,z.jsxs)(V,{variant:`primary`,className:`w-full`,onClick:n,children:[`Sign in as `,c.email,` to join`]}):(0,z.jsx)($h,{token:e,preview:c,onDone:t})})},tg=()=>{let e=window.location.href,t=ete(e);if(t)return{kind:`reset-password`,token:t.token};let n=Ste(e);if(n)return{kind:`staff-sign-in`,link:n};let r=kte(e);if(r)return{kind:`invitation`,token:r.token};let i=tf(e);if(i)return{kind:`provider-sign-in`,provider:i};let a=nf(e);return a?{kind:`sign-in`,providerError:a}:{kind:`sign-in`}},ng=({to:e})=>{let{navigate:t}=Oh();return(0,o.useEffect)(()=>t(e,{replace:!0}),[t,e]),null},rg=({workspace:e,children:t})=>{let{state:n,recheck:r,passwordReset:i,signOut:a,signInProviders:s,canSignUp:c,browse:l}=B(),{path:u,params:d,basePath:f,navigate:p}=Oh(),{address:m,next:h,open:g,leave:_}=Hh(),[v,y]=(0,o.useState)(tg),[b,x]=(0,o.useState)(),[S,C]=(0,o.useState)(),w=new URL(`${f}${u}${d.size>0?`?${d}`:``}`,window.location.origin).href,T=(0,o.useCallback)(e=>{let t=e(w).slice(f.length);p(t.startsWith(`/`)?t:`/${t}`,{replace:!0})},[w,f,p]),E=n.kind===`signed-in`||n.kind===`two-factor`||n.kind===`setup-required`;(0,o.useEffect)(()=>{E&&(v.kind===`provider-sign-in`&&T(rf),(v.kind===`provider-sign-in`||v.kind===`sign-in`&&(v.notice||v.error||v.providerError))&&y({kind:`sign-in`}),x(void 0),C(void 0))},[E,v,T]);let D=m!==void 0&&nf(w)!==void 0;(0,o.useEffect)(()=>{!E&&v.kind===`sign-in`&&v.providerError&&D&&T(rf)},[E,v,D,T]);let O=(0,o.useCallback)(e=>y({kind:`sign-in`,error:e}),[]),k=e=>{T(tte),y(e)},A=async()=>{n.kind===`signed-in`&&await a(),k({kind:`sign-in`,notice:`Your password is changed. Sign in with the new one.`})},j=()=>{y({kind:`sign-in`}),a().then(()=>g(`sign-in`,{replace:!0}))};switch(n.kind){case`loading`:return(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]});case`error`:return(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,z.jsxs)(`p`,{className:`text-[13px] text-muted-foreground`,children:[`Cannot reach the server: `,n.message]}),(0,z.jsx)(V,{onClick:r,children:`Try again`})]});case`needs-admin`:return(0,z.jsx)(Zee,{onCheckAgain:r})}if(n.kind===`signed-in`&&m)return(0,z.jsx)(ng,{to:h??`/`});if(v.kind===`reset-password`)return(0,z.jsx)(ste,{token:v.token,onDone:()=>void A(),onRequestNewLink:i?()=>{y({kind:`sign-in`}),p(Lh({step:`forgot-password`}),{replace:!0})}:void 0,onBack:()=>k({kind:`sign-in`})});if(v.kind===`staff-sign-in`)return(0,z.jsx)(Tte,{link:v.link,onBack:()=>{T(Bh),y({kind:`sign-in`})}});let M=n.kind===`signed-out`||n.kind===`visitor`;if(v.kind===`invitation`&&(n.kind===`signed-in`||M&&!m))return(0,z.jsx)(eg,{token:v.token,onDone:()=>{T(Ate),y({kind:`sign-in`})},onSignIn:()=>g()});if(n.kind===`signed-in`)return t;if(n.kind===`two-factor`)return(0,z.jsx)(Ote,{methods:n.methods,onBack:j});if(n.kind===`setup-required`)return(0,z.jsx)(ute,{missing:n.missing},n.missing.join());if(v.kind===`provider-sign-in`)return(0,z.jsx)(ite,{provider:v.provider,workspace:e,onFailed:O});let N=v.kind===`sign-in`?v:{kind:`sign-in`};if(!m){let e=N.notice||N.error||N.providerError;return n.kind===`visitor`&&!e?t:(0,z.jsx)(ng,{to:Lh({next:h})})}let ee={"sign-in":!0,"forgot-password":i,"email-code":b!==void 0,"sign-up":c,"sign-up-code":c&&S!==void 0}[m.step]?m.step:`sign-in`,te=e=>()=>g(e,{replace:!0}),ne=l&&(()=>{l(),_()});if(ee===`forgot-password`)return(0,z.jsx)(nte,{onBack:te(`sign-in`)});if(ee===`email-code`)return(0,z.jsx)(Yee,{email:b,onBack:te(`sign-in`)});if(ee===`sign-up`||ee===`sign-up-code`)return(0,z.jsx)(xte,{workspace:e,email:ee===`sign-up-code`?S:void 0,onCodeSent:e=>{C(e),g(`sign-up-code`)},onBack:te(`sign-up`),onSignIn:()=>g(`sign-in`),onBrowse:ne},ee);let re=N.providerError&&Qd(N.providerError,s.length===1?s[0].name:`the provider`),ie=N.error??re;return(0,z.jsx)(vte,{workspace:e,notice:N.notice,error:ie,onForgotPassword:i?()=>g(`forgot-password`):void 0,onCodeSent:e=>{x(e),g(`email-code`)},onSignUp:c?()=>g(`sign-up`):void 0,onBrowse:ne},ie)},ig=e=>[...e].reduce((e,t)=>(e*31+t.charCodeAt(0))%360,7),ag=e=>e.split(/[\s@.]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``),og=e=>(e.role??`user`).split(`,`).map(e=>e.trim()),sg=e=>og(e).includes(`admin`),cg=e=>{let t=og(e),n=t.includes(`admin`);return{name:e.name||e.email,email:e.email,initials:ag(e.name||e.email)||`?`,hue:ig(e.id||e.email),role:n?`Admin`:(t[0]??`user`).replace(/^./,e=>e.toUpperCase()),roleTone:n?`violet`:`blue`}},lg=3e4,ug=(e,t=Date.now())=>Math.max(1e3,Cu(e)-t-lg),dg=()=>{let{state:e,session:t}=B(),n=e.kind===`signed-in`,[r,i]=(0,o.useState)();return(0,o.useEffect)(()=>{if(!n)return;let e=!0,r,a=async n=>{let o=await t.token(),s=o!==void 0&&o===n?await t.token({refresh:!0}):o;e&&(i(s),s&&(r=setTimeout(()=>void a(s),ug(s))))};return a(),()=>{e=!1,clearTimeout(r)}},[t,n]),n?r:void 0},fg=(e,t,n=!0)=>{let r=U(),i=po(t);return yh({queryKey:H.record(e,i),enabled:n,queryFn:()=>r.get(e,t)})},pg=[`name`,`title`,`number`,`sku`,`email`,`code`,`description`],mg=(e,t)=>t?.title??pg.find(t=>e.fields[t]?.type===`text`)??Object.values(e.fields).find(e=>e.type===`text`)?.name??e.primaryKey[0],hg=(e,t)=>t?.title??t?.list?.columns.find(t=>e.fields[t]?.type===`text`)??mg(e),gg=(e,t,n,r)=>{let i=hg(e,t),a=n[i];return a==null?r:e.fields[i]?.type===`enum`?Bo(String(a),t?.fields[i]?.valueLabels):String(a)},_g=(e,t)=>e.primaryKey.map(e=>String(t[e])).join(`,`),vg=(e,t)=>{let n=e.primaryKey.map(e=>t[e]);return n.length===1?n[0]:n},yg=e=>e.charAt(0).toUpperCase()+e.slice(1),W=e=>yg(e.replace(/(Id|Code|_id|_code)$/,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/_+/g,` `).trim().toLowerCase()||e),bg=[`light`,`dark`,`system`],xg=`protobase:theme`,Sg=`(prefers-color-scheme: dark)`,Cg=e=>bg.includes(e),wg=e=>dd(()=>{let t=e.getItem(xg);return Cg(t)?t:`system`},`system`),Tg=(e,t)=>dd(()=>t===`system`?e.removeItem(xg):e.setItem(xg,t),void 0),Eg=(e,t)=>e===`system`?t?`dark`:`light`:e,Dg=(0,o.createContext)(void 0),Og=({children:e})=>{let[t,n]=(0,o.useState)(()=>wg(localStorage)),r=Eg(t,ju(Sg));return(0,o.useEffect)(()=>{document.documentElement.dataset.theme=r},[r]),(0,o.useEffect)(()=>{let e=e=>{(e.key===`protobase:theme`||e.key===null)&&n(wg(localStorage))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]),(0,z.jsx)(Dg.Provider,{value:{preference:t,theme:r,choose:e=>{Tg(localStorage,e),n(e)}},children:e})},kg=()=>{let e=(0,o.useContext)(Dg);if(!e)throw Error(`useTheme needs a ThemeProvider above it`);return e},Ag={loading:(0,z.jsx)(Pd,{className:`text-primary`}),success:(0,z.jsx)(Ce,{className:`size-4 text-success`}),error:(0,z.jsx)(Te,{className:`size-4 text-danger`})},jg=({state:e,title:t,description:n,action:r,onDismiss:i})=>(0,z.jsxs)(`div`,{role:e===`error`?`alert`:`status`,className:R(`flex w-full max-w-80 items-start gap-3 rounded-lg border bg-background p-3 shadow-pop [animation:pb-slide-in_160ms_ease-out]`,e===`error`&&`border-danger/40`),children:[(0,z.jsx)(`span`,{className:`mt-0.5`,children:Ag[e]}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`text-[13px] font-medium text-foreground`,children:t}),n&&(0,z.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:n})]}),r&&(0,z.jsx)(`button`,{type:`button`,onClick:r.onClick,className:`rounded px-1.5 py-0.5 text-[13px] font-medium text-primary-text hover:bg-primary-soft`,children:r.label}),i&&(0,z.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:i,className:`inline-flex items-center justify-center rounded p-0.5 text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-9`,children:(0,z.jsx)(jn,{className:`size-3.5`})})]}),Mg={loading:1/0,success:3500,error:8e3},Ng=8e3,Pg=(0,o.createContext)(null),Fg=()=>{let e=(0,o.useContext)(Pg);if(!e)throw Error(`useToast must be used inside ToastProvider`);return e},Ig=({children:e})=>{let[t,n]=(0,o.useState)([]),r=(0,o.useRef)(1),i=(0,o.useRef)(new Map),a=(0,o.useCallback)(e=>{clearTimeout(i.current.get(e)),i.current.delete(e),n(t=>t.filter(t=>t.id!==e))},[]),s=(0,o.useCallback)((e,t,n=!1)=>{clearTimeout(i.current.get(e));let r=n?Ng:Mg[t];r!==1/0&&i.current.set(e,setTimeout(()=>a(e),r))},[a]),c=(0,o.useMemo)(()=>({show:e=>{let t=r.current++;return n(n=>[...n,{...e,id:t}]),s(t,e.state,!!e.action),t},update:(e,t)=>{n(n=>n.map(n=>n.id===e?{...n,...t}:n)),t.state&&s(e,t.state,!!t.action)},dismiss:a}),[a,s]);return(0,z.jsxs)(Pg.Provider,{value:c,children:[e,(0,z.jsx)(`div`,{className:`pointer-events-none fixed inset-x-4 bottom-24 z-[100] flex flex-col items-end gap-2 md:inset-x-auto md:bottom-4 md:right-4`,children:t.map(e=>(0,z.jsx)(`div`,{className:`pointer-events-auto`,children:(0,z.jsx)(jg,{state:e.state,title:e.title,description:e.description,action:e.action,onDismiss:()=>a(e.id)})},e.id))})]})},Lg=({from:e,children:t})=>(0,z.jsx)(`div`,{"data-from":e,className:R(`flex min-w-0 flex-col gap-2 whitespace-pre-wrap break-words text-[13px]`,e===`user`?`ml-8 self-end rounded-lg rounded-br-sm bg-primary px-3 py-2 text-primary-foreground shadow-sm`:`mr-4 text-foreground`),children:t}),Rg=({children:e,empty:t,length:n})=>{let r=(0,o.useRef)(null);return(0,o.useEffect)(()=>{let e=r.current;e&&(e.scrollTop=e.scrollHeight)},[n]),(0,z.jsx)(`div`,{ref:r,role:`log`,"aria-live":`polite`,className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-4`,children:n===0&&t?(0,z.jsx)(`div`,{className:`m-auto max-w-60 text-center text-[13px] text-muted-foreground`,children:t}):e})},zg=({onSend:e,busy:t,placeholder:n,inputRef:r})=>{let[i,a]=(0,o.useState)(``),s=i.trim(),c=()=>{s&&!t&&(e?.(s),a(``))};return(0,z.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),c()},children:[(0,z.jsx)(Md,{ref:r,"aria-label":`Message`,placeholder:n,value:i,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,className:`w-8 px-0`,"aria-label":`Send`,disabled:!s||t,children:(0,z.jsx)(Gt,{className:`size-4`})})]})},Bg=e=>{let[t,n]=(0,o.useState)();return(0,o.useEffect)(()=>{let t=window.visualViewport;if(!e||!t)return n(void 0);let r=()=>n({top:t.offsetTop,height:t.height});return r(),t.addEventListener(`resize`,r),t.addEventListener(`scroll`,r),()=>{t.removeEventListener(`resize`,r),t.removeEventListener(`scroll`,r)}},[e]),e?t:void 0},Vg=({title:e,icon:t,status:n,onClose:r,footer:i,children:a})=>{let o=Bg(!Mu());return(0,z.jsxs)(`aside`,{"aria-label":e,className:`flex h-full w-[380px] max-w-full shrink-0 flex-col border-l border-border bg-surface max-md:fixed max-md:inset-0 max-md:z-40 max-md:w-full max-md:border-l-0`,style:o&&{top:o.top,bottom:`auto`,height:o.height},children:[(0,z.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b border-border bg-background px-4`,children:[t,(0,z.jsx)(`h2`,{className:`flex-1 text-[13px] font-semibold`,children:e}),n&&(0,z.jsx)(`span`,{className:`truncate text-xs font-medium text-muted-foreground`,children:n}),r&&(0,z.jsx)(V,{variant:`ghost`,size:`sm`,className:`w-7 px-0`,"aria-label":`Close`,onClick:r,children:(0,z.jsx)(jn,{className:`size-4`})})]}),a,i&&(0,z.jsx)(`footer`,{className:`shrink-0 space-y-2 border-t border-border bg-background p-3`,children:i})]})},Hg={neutral:{border:`border-border-strong`,header:`bg-surface text-foreground`},info:{border:`border-primary-border`,header:`bg-primary-soft text-primary-text`},success:{border:`border-success/40`,header:`bg-success-soft text-success-text`},warning:{border:`border-warning/40`,header:`bg-warning-soft text-warning-text`},danger:{border:`border-danger/40`,header:`bg-danger-soft text-danger-text`}},Ug=({title:e,tone:t=`neutral`,badge:n,note:r,actions:i=[],onAction:a,children:s,frameless:c=!1})=>{let[l,u]=(0,o.useState)(),d=i.flatMap(e=>e.hint?[e.hint]:[]),f=e=>e.confirm?u(e):a?.(e.id);return(0,z.jsxs)(`section`,{"aria-label":e,className:c?`whitespace-normal text-foreground`:R(`shrink-0 overflow-hidden rounded-lg border bg-background whitespace-normal text-foreground shadow-sm`,Hg[t].border),children:[!c&&(0,z.jsxs)(`header`,{className:R(`flex items-center gap-2 px-3 py-2`,Hg[t].header),children:[(0,z.jsx)(`h3`,{className:`min-w-0 flex-1 text-[13px] font-semibold`,children:e}),n&&(0,z.jsx)(`span`,{className:`shrink-0 text-xs font-medium`,children:n})]}),(s||r||i.length>0)&&(0,z.jsxs)(`div`,{className:R(`space-y-2.5`,!c&&`px-3 py-2.5`),children:[s,r&&(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r}),i.length>0&&(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2 pt-0.5`,children:i.map(e=>(0,z.jsx)(V,{size:`sm`,variant:e.style??`secondary`,className:R(e.style===`primary`&&`flex-1`),disabled:e.disabled,onClick:()=>f(e),children:e.label},e.id))}),d.map(e=>(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e},e))]}),l&&(0,z.jsx)(kf,{title:`${l.label}?`,description:l.confirm,onClose:()=>u(void 0),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>u(void 0),children:`Cancel`}),(0,z.jsx)(V,{variant:l.style===`danger`?`danger`:`primary`,onClick:()=>{u(void 0),a?.(l.id)},children:l.label})]})})]})},Wg=({fields:e})=>(0,z.jsx)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs`,children:e.map((e,t)=>(0,z.jsxs)(`div`,{className:`contents`,children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,z.jsx)(`dd`,{className:`min-w-0 break-words`,children:e.value})]},`${t}-${e.label}`))}),Gg=e=>e==null?`null`:typeof e==`object`?JSON.stringify(e):String(e),Kg=({columns:e,rows:t,caption:n,truncated:r,className:i})=>(0,z.jsxs)(`section`,{"aria-label":n??`Table`,className:R(`shrink-0 overflow-hidden rounded-lg border border-border-strong bg-background shadow-sm`,i),children:[n&&(0,z.jsx)(`code`,{className:`block whitespace-pre-wrap break-words bg-surface px-3 py-2 font-mono text-[11px] text-foreground`,children:n}),t.length===0?(0,z.jsx)(`p`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:`No rows.`}):(0,z.jsx)(`div`,{className:`max-h-64 overflow-auto`,children:(0,z.jsxs)(`table`,{className:`w-full border-collapse text-left text-[11px]`,children:[(0,z.jsx)(`thead`,{className:`sticky top-0 bg-background`,children:(0,z.jsx)(`tr`,{children:e.map(e=>(0,z.jsx)(`th`,{scope:`col`,className:`border-b border-border px-2 py-1 font-semibold whitespace-nowrap`,children:e},e))})}),(0,z.jsx)(`tbody`,{children:t.map((e,t)=>(0,z.jsx)(`tr`,{className:`border-b border-border last:border-b-0`,children:e.map((e,t)=>(0,z.jsx)(`td`,{className:R(`px-2 py-1 whitespace-nowrap`,e===null&&`text-faint-foreground`),children:Gg(e)},t))},t))})]})}),(0,z.jsxs)(`footer`,{className:`border-t border-border px-3 py-1.5 text-[11px] text-muted-foreground`,children:[t.length,` `,t.length===1?`row`:`rows`,r&&`, cut off at the limit`]})]}),qg=(e,t=1)=>{let n=t,r=t;return e.split(`
8
- `).map(e=>e.startsWith(`+`)?{kind:`add`,text:e.slice(1),newNo:r++}:e.startsWith(`-`)?{kind:`del`,text:e.slice(1),oldNo:n++}:{kind:`ctx`,text:e.startsWith(` `)?e.slice(1):e,oldNo:n++,newNo:r++})},Jg=e=>({added:e.filter(e=>e.kind===`add`).length,removed:e.filter(e=>e.kind===`del`).length}),Yg={add:`bg-success-soft text-success-text`,del:`bg-danger-soft text-danger-text`,ctx:`text-muted-foreground`},Xg={add:`+`,del:`−`,ctx:``},Zg=({source:e,start:t,path:n,className:r})=>{let i=qg(e,t),a=Jg(i);return(0,z.jsxs)(`div`,{className:R(`overflow-hidden`,r),children:[n&&(0,z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border bg-surface px-3 py-1.5`,children:[(0,z.jsx)(Ke,{className:`size-3.5 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-foreground`,children:n}),(0,z.jsxs)(`span`,{className:`text-[11px] font-medium text-success-text`,children:[`+`,a.added]}),a.removed>0&&(0,z.jsxs)(`span`,{className:`text-[11px] font-medium text-danger-text`,children:[`−`,a.removed]})]}),(0,z.jsx)(`pre`,{className:`overflow-x-auto bg-background py-1 font-mono text-[11px] leading-[18px]`,children:i.map((e,t)=>(0,z.jsxs)(`div`,{className:R(`flex`,Yg[e.kind]),children:[(0,z.jsx)(`span`,{className:`w-8 shrink-0 select-none pr-2 text-right opacity-60`,children:e.newNo??e.oldNo}),(0,z.jsx)(`span`,{className:`w-3 shrink-0 select-none`,children:Xg[e.kind]}),(0,z.jsx)(`span`,{className:`min-w-0 whitespace-pre-wrap break-words pr-3`,children:e.text})]},t))})]})},Qg={pending:(0,z.jsx)(De,{className:`size-3 text-faint-foreground`}),running:(0,z.jsx)(Pd,{className:`size-3.5 text-primary`}),done:(0,z.jsx)(de,{className:`size-3.5 text-success`,strokeWidth:2.5}),failed:(0,z.jsx)(jn,{className:`size-3.5 text-danger`,strokeWidth:2.5})},$g={pending:`text-muted-foreground`,running:`text-foreground`,done:`text-muted-foreground`,failed:`text-danger-text`},e_=({steps:e,className:t})=>(0,z.jsx)(`ul`,{className:R(`shrink-0 space-y-2`,t),children:e.map((e,t)=>(0,z.jsxs)(`li`,{className:`flex items-start gap-2.5 text-[13px]`,"data-state":e.state,children:[(0,z.jsx)(`span`,{className:`mt-0.5 flex size-4 shrink-0 items-center justify-center`,children:Qg[e.state]}),(0,z.jsx)(`span`,{className:$g[e.state],children:e.label})]},`${t}-${e.label}`))}),t_=`modulepreload`,n_=function(e){return`/`+e},r_={},i_=function(e){return e.pathname.endsWith(`.css`)},a_=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=n_(t,n);let r=s(t);if(r.href in r_)return;r_[r.href]=!0;let i=i_(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:t_,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},o_,s_,c_=({dsn:e,environment:t})=>(o_??=a_(()=>import(`./prod-YZ9ZMG1O.js`).then(n=>{n.init({dsn:e,...t&&{environment:t},integrations:e=>e.filter(e=>e.name!==`BrowserSession`),beforeSend:e=>ko(e)}),s_=(e,t)=>n.captureException(e,t?{contexts:{react:{componentStack:t}}}:void 0)}),[]),o_),l_=(e,t)=>s_?.(e,t??void 0),u_=e=>e,d_=e=>e,f_=(0,o.createContext)({}),p_=()=>(0,o.useContext)(f_),m_=({part:e,note:t})=>e.fallback?(0,z.jsx)(Ug,{title:e.fallback.title,note:t,children:e.fallback.body&&(0,z.jsx)(`p`,{className:`text-[13px]`,children:e.fallback.body})}):(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`${e.name}: ${t}`}),h_=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){l_(e,t.componentStack)}render(){return this.state.failed?(0,z.jsx)(m_,{part:this.props.part,note:`It could not be drawn.`}):this.props.children}},g_=({part:e})=>{let{components:t={}}=p_(),n=Object.hasOwn(t,e.name)?t[e.name]:void 0;return n?(0,z.jsx)(h_,{part:e,children:(0,z.jsx)(n,{...e.props})}):(0,z.jsx)(m_,{part:e,note:`This version of the app cannot show it live.`})},__=({part:e,onAction:t})=>{switch(e.type){case`text`:return(0,z.jsx)(`p`,{children:e.text});case`table`:return(0,z.jsx)(Kg,{columns:e.columns,rows:e.rows,caption:e.caption,truncated:e.truncated});case`card`:return(0,z.jsxs)(Ug,{title:e.title,tone:e.tone,badge:e.badge,note:e.note,actions:e.actions,onAction:n=>t?.(e.id,n),children:[e.body&&(0,z.jsx)(`p`,{className:`text-[13px]`,children:e.body}),e.code&&(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded-md bg-surface px-2.5 py-2 font-mono text-[11px] whitespace-pre-wrap break-words`,children:e.code}),e.fields&&e.fields.length>0&&(0,z.jsx)(Wg,{fields:e.fields}),e.steps&&e.steps.length>0&&(0,z.jsx)(e_,{steps:e.steps}),e.diffs?.map((e,t)=>(0,z.jsx)(Zg,{source:e.source,start:e.start,path:e.path,className:`rounded-md border border-border`},`${t}-${e.path}`))]});case`widget`:return(0,z.jsx)(g_,{part:e})}},v_=(0,o.createContext)(void 0),y_=e=>e instanceof Error?e:Error(`The assistant backend did not answer`),b_=(e,t)=>typeof e==`function`?e(t):e,x_=(e,{refreshMs:t=!1}={})=>{let n=(0,o.useContext)(v_),[r,i]=(0,o.useState)({}),[a,s]=(0,o.useState)(0),c=(0,o.useRef)(t);c.current=t;let l=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{if(!n){i({error:Error(`useBackendData works only in a widget the assistant dock draws`)});return}let t=!0,r,a=async()=>{let o=await n.fetch(e).then(e=>e.json()).then(e=>({data:e}),e=>({data:l.current,error:y_(e)}));if(!t)return;l.current=o.data,i(o);let s=b_(c.current,o.data);s!==!1&&(r=setTimeout(a,s))};return a(),()=>{t=!1,clearTimeout(r)}},[n,e,a]),{...r,reload:()=>s(e=>e+1),post:async(e,t)=>{if(!n)throw Error(`useBackendData works only in a widget the assistant dock draws`);let r={method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t??{})},a=await n.fetch(e,r).then(e=>e.json()).then(e=>({data:e}),e=>({data:l.current,error:y_(e)}));l.current=a.data,i(a)}}},S_=`Ask a question...`,C_=({state:e,offline:t,error:n,onSend:r,onAction:i,onClose:a,client:s})=>{let c=(0,o.useRef)(null);return(0,o.useEffect)(()=>{e.placeholder&&c.current?.focus()},[e.placeholder]),(0,z.jsx)(Vg,{title:`Assistant`,icon:(0,z.jsx)(rn,{className:`size-4 text-primary`}),status:t?`Reconnecting...`:e.status,onClose:a,footer:(0,z.jsxs)(z.Fragment,{children:[n&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs text-danger-text`,children:n}),(0,z.jsx)(zg,{inputRef:c,onSend:r,busy:e.replying,placeholder:e.placeholder??S_})]}),children:(0,z.jsx)(v_.Provider,{value:s,children:(0,z.jsx)(Rg,{length:e.messages.reduce((e,t)=>e+t.parts.length,0),empty:`Ask a question about this app or its data.`,children:e.messages.map(e=>(0,z.jsx)(Lg,{from:e.from,children:e.parts.map(e=>(0,z.jsx)(__,{part:e,onAction:i},e.id))},e.id))})})})},w_=e=>e instanceof Error?e.message:`The assistant did not answer`,T_=e=>{let[t,n]=(0,o.useState)(Fo),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)();(0,o.useEffect)(()=>{if(e)return e.connect(e=>n(t=>Ro(t,e)),e=>i(e.state===`retrying`))},[e]);let c=e=>{s(void 0),e.catch(e=>s(w_(e)))};return{state:t,offline:r,error:a,send:(t,n)=>e&&c(e.send(t,n)),act:(t,n)=>e&&c(e.act(t,n))}},E_=e=>{let t=dg(),n=(0,o.useRef)(t);n.current=t;let r=t!==void 0;return(0,o.useMemo)(()=>r?ku({url:e,token:()=>n.current}):void 0,[e,r])},D_=({open:e,onToggle:t})=>(0,z.jsxs)(V,{size:`sm`,variant:e?`primary`:`secondary`,"aria-pressed":e,onClick:t,className:`max-md:size-9 max-md:p-0`,children:[(0,z.jsx)(rn,{className:`size-3.5`}),(0,z.jsx)(`span`,{className:`max-md:sr-only`,children:`Assistant`})]}),O_=({client:e,page:t,onClose:n})=>{let{state:r,offline:i,error:a,send:o,act:s}=T_(e);return(0,z.jsx)(C_,{state:r,offline:i,error:a,onSend:e=>o(e,t),onAction:s,onClose:n,client:e})},k_=({url:e,...t})=>(0,z.jsx)(O_,{client:E_(e),...t}),A_=({url:e,client:t,...n})=>t?(0,z.jsx)(O_,{client:t,...n}):(0,z.jsx)(k_,{url:e,...n}),j_={orders:$t,orderLines:$t,companies:oe,invoices:Je,invoiceLines:zt,products:jt,categories:mn,tags:mn,companyTags:mn,stockMoves:ie,stockLevels:ie,warehouses:kn,locations:kn,people:En,users:En,empMaster:En,organizations:Yt,countries:Le,currencies:Ne,shipments:bn},M_=e=>j_[e]??fn,N_={bell:A,"book-open":M,bookmark:ne,building:oe,"credit-card":Ne,"external-link":Ve,"file-text":Je,heart:Qe,key:et,"layout-dashboard":nt,"life-buoy":at,mail:vt,receipt:zt,settings:Yt,shield:Zt,users:En};Object.keys(N_);var P_=(e,t)=>e?N_[e]??t:t,F_=(e,t,n)=>(e.bottomBar?.items??[]).map((r,i)=>r.kind===`link`?{id:`link-${i}`,label:r.label,icon:P_(r.icon,Ve),href:r.href,external:!0}:r.kind===`page`?{id:r.page,label:r.label,icon:P_(r.icon??e.pages[r.page]?.icon,nt),href:qo({kind:`page`,page:r.page},t),active:r.page===n}:{id:r.resource,label:r.label,icon:P_(r.icon,M_(r.resource)),href:qo({kind:`list`,resource:r.resource},t),active:r.resource===n}),I_=({basePath:e,address:t,group:n,page:r,resourceLabel:i,recordTitle:a,recordLoading:o})=>{let s=n?[n]:[];if(r)return[...s,{label:r.title,href:qo({kind:`page`,page:r.name},e)}];if(!t||t.kind===`page`)return[`Admin`];let c=i?[{label:i,href:qo({kind:`list`,resource:t.resource},e)}]:[];if(t.kind===`list`)return[...s,...c];let l=qo(t,e),u=t.kind===`create`?{label:`New`,href:l}:a===void 0&&o?{label:`Loading record`,href:l,loading:!0}:{label:a??t.key,href:l};return[...s,...c,u]},L_=eo(),R_=async(e,t,n,r,i)=>{let a=n.primaryKey[0],o=[...new Set(r)].sort();if(o.length===0||n.primaryKey.length!==1)return new Map;let s=mg(n,i),c=await e.fetchQuery({queryKey:H.labels(n.name,o.join(`,`)),staleTime:3e5,queryFn:async()=>(await t.list(n.name,{filter:za(L_.in(a,o)),fields:[a,s],pageSize:o.length})).items.map(e=>[String(e[a]),String(e[s])])});return new Map(c)},z_=(e,t,n)=>n.flatMap(n=>{let r=t.fields[n],i=r?.type===`relation`&&r.relation?e[r.relation.resource]:void 0;return i?[{name:n,target:i}]:[]}),B_=(e,t,n,r)=>Object.fromEntries(z_(e,n,r).filter(({target:e})=>e.primaryKey.length===1).map(({name:e,target:n})=>[e,mg(n,t[n.name])])),V_=(e,t,n,r,i={})=>{let a=z_(e,t,n);return r.map(e=>{let t={...e};for(let{name:n}of a)e[n]!=null&&(t[n]={id:e[n],name:i[n]?.[String(e[n])]??String(e[n])});return t})},H_=({checked:e,onChange:t,label:n})=>(0,z.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,onClick:()=>t?.(!e),className:R(`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors`,e?`bg-primary`:`bg-border-strong`),children:(0,z.jsx)(`span`,{className:R(`size-4 rounded-full bg-white shadow transition-transform`,e?`translate-x-[18px]`:`translate-x-0.5`)})}),U_=e=>typeof e==`object`&&!!e&&typeof e.uri==`string`,W_=e=>typeof e==`object`&&!!e&&typeof e.uploaded?.value==`string`,G_=e=>{if(W_(e))return{...e.uploaded.file,...e.preview&&{url:e.preview},corrected:e.uploaded.corrected};if(U_(e))return`missing`in e?{name:`File missing`,type:``,missing:!0}:e},K_=[`bytes`,`kB`,`MB`,`GB`],q_=e=>{let t=e,n=0;for(;t>=1e3&&n<K_.length-1;)t/=1e3,n+=1;return n===0?`${e} ${e===1?`byte`:`bytes`}`:`${t<10?t.toFixed(1):Math.round(t)} ${K_[n]}`},J_=e=>e.startsWith(`image/`)&&e!==`image/svg+xml`,Y_=2,X_=1e5,Z_=(e,t)=>(e.width!==void 0||e.height!==void 0)&&(e.width??X_)>=t.width*Y_&&(e.height??X_)>=t.height*Y_,Q_=e=>(e.width??X_)*(e.height??X_),$_=(e,t)=>{let n=G_(e);if(!(!n||`missing`in n||!n.url||!J_(n.type)))return{url:(`variants`in n&&n.variants?Object.values(n.variants):[]).filter(e=>Z_(e,t)).sort((e,t)=>Q_(e)-Q_(t))[0]?.url??n.url,...`placeholder`in n&&n.placeholder!==void 0&&{placeholder:n.placeholder}}},ev=e=>{let t=e.file?.accept??[];return t.length===0||t.includes(`*/*`)?void 0:t.join(`,`)},tv=e=>W_(e)?e.uploaded.value:U_(e)?e.uri:null,nv=(e,t)=>{if(W_(e))return!0;let n=e=>U_(e)?e.uri:null;return n(e)!==n(t)},rv=(e,t)=>`${t.prefix??``}${e}${t.suffix??``}`,iv=(e,t,n={})=>{if(t==null||t===``)return`—`;switch(e.type){case`boolean`:return t?`Yes`:`No`;case`file`:return G_(t)?.name??`—`;case`enum`:return Bo(String(t),n.valueLabels);case`timestamp`:return Sf(Date.parse(String(t)));case`date`:return bf(Date.parse(String(t)));case`decimal`:{let e=n.decimals===void 0?String(t):Number(t).toFixed(n.decimals);return n.format===`percent`?`${Number(t)}%`:rv(Number(e).toLocaleString(`en-IE`,{minimumFractionDigits:n.decimals??0,maximumFractionDigits:n.decimals??20}),n)}case`integer`:case`bigint`:return rv(String(t),n);default:return typeof t==`object`?JSON.stringify(t):String(t)}},av=`$photos`,ov=e=>{for(let t of e?.list?.displays??[])if(t.kind===`cards`&&t.photos)return t.photos},sv=(e,t,n)=>{if(n===void 0||e.primaryKey.length!==1)return t;let r=e.primaryKey[0];return t.map(e=>({...e,[av]:n[String(e[r])]??[]}))},cv=e=>e?.list?.displays??[],lv=(e,t,n)=>{let r=n??e?.list?.default??`table`;if(!t)return r;let i=cv(e).filter(e=>e.kind===`cards`);return i.find(e=>e.name===r)?.name??i[0]?.name??r},uv=(e,t)=>{if(t===`table`)return;let n=t=>cv(e).find(e=>e.name===t);return n(t)??n(e?.list?.default)},dv={cards:`cards`,map:`map`},fv=e=>[{name:io,label:`Table`,icon:`table`},...cv(e).map(e=>({name:e.name,label:e.label??W(e.name),icon:e.icon??dv[e.kind]}))],pv=(e,t,n)=>({image:n.image,title:n.title??hg(e,t),subtitle:n.subtitle,amount:n.amount??[],badge:n.badge,meta:n.meta??[],footer:n.footer??[],flags:n.flags??[]}),mv=(e,t)=>t.filter(t=>e.record[t]!==null&&e.record[t]!==void 0&&e.record[t]!==``),hv=(e,t)=>mv(e,t)[0],gv=(e,t,n={})=>{let{suffix:r,...i}=n;return e.type!==`decimal`&&e.type!==`integer`&&e.type!==`bigint`||r===void 0||n.format===`percent`?{amount:iv(e,t,n)}:{amount:iv(e,t,i),suffix:r}},_v=(e,t)=>{let n=cv(e).filter(e=>e.kind===`cards`);return(t.cards===void 0?n[0]:n.find(e=>e.name===t.cards))??{kind:`cards`,name:t.name}},vv=(e,t,n)=>{if(n.kind===`custom`)return n.fields;if(n.kind===`map`)return[n.latitude,n.longitude,...vv(e,t,_v(t,n))];let{image:r,title:i,subtitle:a,amount:o,badge:s,meta:c,footer:l,flags:u}=pv(e,t,n);return[r,i,a,...o,s,...c,...l,...u].filter(e=>e!==void 0)},yv=(e,t,n)=>[...new Set([...n,...cv(t).flatMap(n=>vv(e,t,n))])],bv=(e,t,n)=>[...new Set(vv(e,t,n))].filter(t=>e.fields[t]?.sortable),xv=e=>typeof e==`object`&&!!e&&`id`in e&&`name`in e,Sv=(e,t)=>{let n={},r={},i=Array.isArray(t.$photos)?t[av]:void 0;for(let[i,a]of Object.entries(t))(i!==`id`&&i!==`$photos`||Object.hasOwn(e.fields,i))&&(e.fields[i]?.type===`relation`&&xv(a)?(n[i]=a.id,r[i]=a.name):n[i]=a);return{key:po(vg(e,n)),record:n,labels:r,...i&&{photos:i}}},Cv=(e,t)=>{let n=t?.list?.sort?.[0];return n?`${n[0]} ${n[1]}`:`${e.primaryKey[0]} asc`},wv=e=>{let[t=``,n]=e.trim().split(/\s+/);return{columnId:t,direction:n===`desc`?`desc`:`asc`}},Tv=e=>`${e.columnId} ${e.direction}`,Ev=(e,t,n)=>{let r=e[n],i=t[n]?.listOf,a=i===void 0?void 0:r?.fields[i]?.relation?.resource;return a!==void 0&&e[a]?{model:e[a],view:t[a],listOf:!0}:{model:r,view:t[n],listOf:!1}},Dv=(e,t,n=!1)=>({display:lv(t,n),orderBy:e?Cv(e,t):``,filterLayout:`bar`}),Ov=(e,t)=>e?.kind===`record`?{kind:`record`,resource:e.resource,key:po(e.key)}:e?.kind===`list`?{...t(e.resource),filter:``,...e}:e,kv=(e,t,n)=>{let r={...e,...t},i=e=>r[e]!==void 0&&r[e]!==n[e];return{kind:`list`,resource:e.resource,...r.filter&&{filter:r.filter},...i(`display`)&&{display:r.display},...i(`orderBy`)&&{orderBy:r.orderBy},...i(`filterLayout`)&&{filterLayout:r.filterLayout},...r.map&&{map:r.map}}},Av=(0,o.createContext)(null),jv={create:!0,update:!0,delete:!0,conditional:[]},Mv=()=>{let e=U(),t=qp(),n=(0,o.useContext)(Av),r=yh({queryKey:H.meta,staleTime:0,refetchOnWindowFocus:`always`,queryFn:async()=>{let n=t.getQueryData(H.meta),r=await e.meta(n?.etag);if(r.status===`unchanged`){if(!n)throw Error(`The server answered 304 to a request without If-None-Match`);return n}return{etag:r.etag,resources:Object.fromEntries(r.meta.resources.map(e=>[e.name,e])),views:Object.fromEntries(r.meta.views.map(e=>[e.resource,e])),pages:Object.fromEntries((r.meta.pages??[]).map(e=>[e.name,e])),permissions:r.meta.permissions??{},...r.meta.userMenu&&{userMenu:r.meta.userMenu},...r.meta.signIn&&{signIn:Object.fromEntries(r.meta.signIn.map(e=>[e.resource,e]))},...r.meta.bottomBar&&{bottomBar:r.meta.bottomBar},...r.meta.assistant&&{assistant:r.meta.assistant},...r.meta.runtime&&{runtime:r.meta.runtime},...r.meta.errorReporting&&{errorReporting:r.meta.errorReporting},...r.meta.maps&&{maps:r.meta.maps},...r.meta.files&&{files:r.meta.files},...r.meta.plugins&&{plugins:r.meta.plugins},...r.meta.sources&&{sources:r.meta.sources.map(e=>({source:e,state:`loading`}))}}}});return(0,o.useMemo)(()=>n&&r.data?{...r,data:n}:r,[n,r])},Nv=1e4,Pv=e=>e.map(e=>({data:e.data?.meta,error:e.error})),Fv=(e,t)=>{let n=qp(),r=_h({queries:e.map(e=>{let r=H.sourceMeta(e.url,e.resources);return{queryKey:r,staleTime:0,refetchOnWindowFocus:`always`,queryFn:async()=>{let i=n.getQueryData(r),a=await t(e).meta(i?.etag,{signal:AbortSignal.timeout(Nv)});if(a.status===`unchanged`){if(!i)throw Error(`${e.label} answered 304 to a request without If-None-Match`);return i}return{etag:a.etag,meta:Rs(a.meta,e)}}}}),combine:Pv});return(0,o.useMemo)(()=>e.map((e,t)=>{let{data:n,error:i}=r[t];return n?{source:e,state:`ready`,meta:n}:i?{source:e,state:`error`,error:i}:{source:e,state:`loading`}}),[e,r])},Iv=(e,t)=>{if(t.length===0)return e;let n=t.flatMap(e=>e.state===`ready`?[e.meta]:[]),r=t.map(e=>e.state===`error`?{source:e.source,state:`error`,error:e.error}:{source:e.source,state:e.state});return{...e,resources:{...e.resources,...Object.fromEntries(n.flatMap(e=>e.resources.map(e=>[e.name,e])))},views:{...e.views,...Object.fromEntries(n.flatMap(e=>e.views.map(e=>[e.resource,e])))},permissions:{...e.permissions,...Object.assign({},...n.map(e=>e.permissions))},sources:r}},Lv=(e,t)=>e.sources?.find(e=>e.source.resources.includes(t)),G=()=>{let e=(0,o.useContext)(Av);if(!e)throw Error(`useAdminMeta must be used inside MetaGate`);return e},Rv=({title:e,children:t})=>(0,z.jsx)(`div`,{className:`flex h-full min-h-48 items-center justify-center p-8`,children:(0,z.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,z.jsx)(`h1`,{className:`text-[15px] font-semibold`,children:e}),(0,z.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:t})]})}),zv=({meta:e,children:t})=>{let n=U(),r=Uee(),i=(0,o.useMemo)(()=>(e.sources??[]).map(e=>e.source),[e.sources]),a=Fv(i,r),s=(0,o.useMemo)(()=>Iv(e,a),[e,a]),c=(0,o.useMemo)(()=>{let e=new Map(i.flatMap(e=>e.resources.map(t=>[t,e]))),t=t=>{let n=e.get(t);return n&&r(n)};return{client:Ts(n,t),resourceClient:t}},[i,n,r]);return(0,z.jsx)(Wee,{client:c.client,resourceClient:c.resourceClient,children:(0,z.jsx)(Av.Provider,{value:s,children:t})})},Bv=({children:e})=>{let t=Mv();return t.isPending?(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]}):t.error?(0,z.jsx)(Rv,{title:`Cannot reach the API`,children:ds(t.error)?t.error.message:`The server did not answer. Is it running?`}):(0,z.jsx)(zv,{meta:t.data,children:e})},Vv=e=>G().permissions[e]??jv,Hv=()=>{let{path:e,params:t,basePath:n,navigate:r}=Oh(),{pages:i,resources:a,views:s}=G(),c=Nu(),l=(0,o.useMemo)(()=>new Set(Object.keys(i)),[i]),u=t.toString(),d=(0,o.useMemo)(()=>Zo(u?`${e}?${u}`:e,l),[e,u,l]),f=(0,o.useCallback)(e=>{let t=Ev(a,s,e);return Dv(t.model,t.view,c)},[a,s,c]),p=(0,o.useMemo)(()=>Ov(d,f),[d,f]),m=(0,o.useCallback)((e,t)=>r(qo(e),t),[r]);return{address:p,set:(0,o.useCallback)(e=>{if(d?.kind!==`list`)throw Error(`set changes the list the app shows; use go to move to another address`);m(kv(d,e,f(d.resource)),{replace:!0})},[d,f,m]),go:m,href:(0,o.useCallback)(e=>qo(e,n),[n]),open:(0,o.useCallback)(e=>r(e.startsWith(`${n}/`)?e.slice(n.length):e),[n,r])}},Uv=({to:e,...t})=>(0,z.jsx)(Kee,{to:qo(e),...t}),Wv=eo(),Gv=({target:e,view:t,value:n,label:r,invalid:i,onChange:a})=>{let s=U(),[c,l]=(0,o.useState)(``),[u,d]=(0,o.useState)(!1),f=e.primaryKey[0],p=mg(e,t),m=yh({queryKey:[`relation-options`,e.name,c],enabled:u,queryFn:()=>s.list(e.name,{filter:c&&e.search?.length?za(Wv.search(c)):void 0,fields:[f,p],pageSize:8})});return(0,z.jsxs)(`div`,{className:`relative`,children:[(0,z.jsx)(Md,{invalid:i,placeholder:`Search ${e.name}`,value:u?c:r??n,onFocus:()=>d(!0),onBlur:()=>setTimeout(()=>d(!1),120),onChange:e=>l(e.target.value)}),u&&(0,z.jsxs)(`ul`,{role:`listbox`,className:`absolute z-30 mt-1 max-h-60 w-full overflow-y-auto rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:[m.data?.items.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":String(e[f])===n,className:`block w-full truncate px-3 py-1.5 text-left hover:bg-muted`,onMouseDown:e=>e.preventDefault(),onClick:()=>{a(String(e[f]),String(e[p])),l(``),d(!1)},children:String(e[p])})},String(e[f]))),m.data&&m.data.items.length===0&&(0,z.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:`No matches`}),m.isPending&&(0,z.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:`Loading`})]})]})},Kv=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),qv=new Set([`text`,`integer`,`bigint`,`decimal`,`date`,`currency`,`country`]),Jv=e=>!e.readOnly&&e.type!==`json`&&e.type!==`uuid`&&e.type!==`timestamp`&&e.type!==`relation`,Yv=(e,t)=>{if(e.type===`boolean`)return!!t;if(e.type===`file`)return tv(t);let n=String(t).trim();if(n===``)return e.nullable?null:``;if(e.type===`integer`)return Number(n);if(qv.has(e.type)||e.type===`enum`)return n;throw Error(`Not implemented: editing ${e.type} fields`)},Xv=(e,t)=>e.type===`boolean`?!!t:String(t??``).trim()===``?null:Yv(e,t),Zv=(e,t)=>e.type===`boolean`?!!t:Kv(t),Qv=(e,t,n)=>{if(e.type===`boolean`)return!!t!=!!n;if(e.type===`file`)return nv(t,n);let r=String(t??``).trim(),i=Kv(n);return e.type===`decimal`||e.type===`integer`?r===``||i===``?r!==i:Number(r)!==Number(i):r!==i},$v=e=>{if(!ds(e))return[{message:e instanceof Error?e.message:`Something went wrong`}];let t=e.errors.map(e=>({message:e.message,hint:e.hint}));return t.length>0?t:[{message:e.message}]},ey=({error:e,title:t})=>(0,z.jsxs)(`div`,{role:`alert`,className:`flex gap-2.5 rounded-lg border border-danger/30 bg-danger-soft px-3 py-2 text-[13px] text-danger-text`,children:[(0,z.jsx)(vn,{className:`mt-0.5 size-4 shrink-0`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`font-medium`,children:t}),$v(e).map(e=>(0,z.jsxs)(`p`,{className:`text-xs`,children:[e.message,e.hint&&(0,z.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,e.hint]})]},e.message))]})]}),ty=`••••••••••`,ny=({field:e,hints:t,value:n,reveal:r,locked:i,invalid:a,placeholder:s,onChange:c})=>{let[l,u]=(0,o.useState)(!1),d=bh({mutationFn:async()=>r(),onSuccess:()=>u(!0)}),f=Kv(n)!==``,p=t?.label??W(e.name),m=(0,z.jsx)(V,{variant:`ghost`,size:`sm`,className:`-mr-1.5 px-1.5`,"aria-label":`${l?`Hide`:`Show`} ${p}`,"aria-pressed":l,loading:d.isPending,onClick:()=>{l||f||!r||d.isSuccess?u(!l):d.mutate()},children:!d.isPending&&(l?(0,z.jsx)(Ue,{className:`size-3.5`}):(0,z.jsx)(eee,{className:`size-3.5`}))}),h=d.error&&(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(ey,{title:`Could not show the ${p}`,error:d.error})});if(i)return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 py-1 text-[13px]`,children:[(0,z.jsx)(`span`,{className:R(l?t?.format===`code`?`font-mono text-xs`:``:`tracking-widest text-muted-foreground`),children:l?iv(e,d.data,t):ty}),r&&m]}),h]});let g=f?Kv(n):l&&d.isSuccess?Kv(d.data):``;return(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Md,{type:l?`text`:`password`,autoComplete:`off`,invalid:a,"aria-label":p,className:R(t?.format===`code`&&`font-mono text-xs`),placeholder:f||!r?s:ty,value:g,trailing:m,onChange:e=>c(e.target.value)}),h]})};function ry(e){let{PI:t,min:n,max:r,cos:i,round:a}=Math,o=e[0]|e[1]<<8|e[2]<<16,s=e[3]|e[4]<<8,c=(o&63)/63,l=(o>>6&63)/31.5-1,u=(o>>12&63)/31.5-1,d=(o>>18&31)/31,f=o>>23,p=(s>>3&63)/63,m=(s>>9&63)/63,h=s>>15,g=r(3,h?f?5:7:s&7),_=r(3,h?s&7:f?5:7),v=f?(e[5]&15)/15:1,y=(e[5]>>4)/15,b=f?6:5,x=0,S=(t,n,r)=>{let i=[];for(let a=0;a<n;a++)for(let o=+!a;o*n<t*(n-a);o++)i.push(((e[b+(x>>1)]>>((x++&1)<<2)&15)/7.5-1)*r);return i},C=S(g,_,d),w=S(3,3,p*1.25),T=S(3,3,m*1.25),E=f&&S(5,5,y),D=iy(e),O=a(D>1?32:32*D),k=a(D>1?32/D:32),A=new Uint8Array(O*k*4),j=[],M=[];for(let e=0,a=0;e<k;e++)for(let o=0;o<O;o++,a+=4){let s=c,d=l,p=u,m=v;for(let e=0,n=r(g,f?5:3);e<n;e++)j[e]=i(t/O*(o+.5)*e);for(let n=0,a=r(_,f?5:3);n<a;n++)M[n]=i(t/k*(e+.5)*n);for(let e=0,t=0;e<_;e++)for(let n=+!e,r=M[e]*2;n*_<g*(_-e);n++,t++)s+=C[t]*j[n]*r;for(let e=0,t=0;e<3;e++)for(let n=+!e,r=M[e]*2;n<3-e;n++,t++){let e=j[n]*r;d+=w[t]*e,p+=T[t]*e}if(f)for(let e=0,t=0;e<5;e++)for(let n=+!e,r=M[e]*2;n<5-e;n++,t++)m+=E[t]*j[n]*r;let h=s-2/3*d,y=(3*s-h+p)/2,b=y-p;A[a]=r(0,255*n(1,y)),A[a+1]=r(0,255*n(1,b)),A[a+2]=r(0,255*n(1,h)),A[a+3]=r(0,255*n(1,m))}return{w:O,h:k,rgba:A}}function iy(e){let t=e[3],n=e[2]&128,r=e[4]&128;return(r?n?5:7:t&7)/(r?t&7:n?5:7)}function ay(e,t,n){let r=e*4+1,i=6+t*(5+r),a=[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,e>>8,e&255,0,0,t>>8,t&255,8,6,0,0,0,0,0,0,0,i>>>24,i>>16&255,i>>8&255,i&255,73,68,65,84,120,1],o=[0,498536548,997073096,651767980,1994146192,1802195444,1303535960,1342533948,-306674912,-267414716,-690576408,-882789492,-1687895376,-2032938284,-1609899400,-1111625188],s=1,c=0;for(let e=0,i=0,o=r-1;e<t;e++,o+=r-1)for(a.push(e+1<t?0:1,r&255,r>>8,~r&255,r>>8^255,0),c=(c+s)%65521;i<o;i++){let e=n[i]&255;a.push(e),s=(s+e)%65521,c=(c+s)%65521}a.push(c>>8,c&255,s>>8,s&255,0,0,0,0,0,0,0,0,73,69,78,68,174,66,96,130);for(let[e,t]of[[12,29],[37,41+i]]){let n=-1;for(let r=e;r<t;r++)n^=a[r],n=n>>>4^o[n&15],n=n>>>4^o[n&15];n=~n,a[t++]=n>>>24,a[t++]=n>>16&255,a[t++]=n>>8&255,a[t++]=n&255}return`data:image/png;base64,`+btoa(String.fromCharCode(...a))}function oy(e){let t=ry(e);return ay(t.w,t.h,t.rgba)}var sy=(e,t,n)=>{if(!URL.canParse(e,t))return`no-referrer`;let r=new URL(e,t);if((r.protocol===`http:`||r.protocol===`https:`)&&!(r.origin===new URL(t).origin||n.includes(r.hostname)))return`no-referrer`},cy=e=>URL.canParse(e)?[new URL(e).hostname]:[],ly=()=>{let e=(0,o.useContext)(Av);return(0,o.useMemo)(()=>[...e?.files?.trustedHosts??[],...(e?.sources??[]).flatMap(({source:e})=>cy(e.url))],[e?.files,e?.sources])},uy=e=>{let t;try{t=atob(e)}catch(e){if(e instanceof DOMException&&e.name===`InvalidCharacterError`)return;throw e}return oy(Uint8Array.from(t,e=>e.charCodeAt(0)))},dy=({image:e,className:t,loading:n})=>{let[r,i]=(0,o.useState)(),a=ly(),s=(0,o.useMemo)(()=>e.placeholder===void 0?void 0:uy(e.placeholder),[e.placeholder]),c=s!==void 0&&r!==e.url;return(0,z.jsx)(`img`,{src:e.url,alt:``,loading:n,decoding:`async`,referrerPolicy:sy(e.url,window.location.href,a),onLoad:()=>i(e.url),className:t,style:c?{backgroundImage:`url("${s}")`,backgroundSize:`cover`,backgroundPosition:`center`}:void 0})},fy=({value:e})=>{let t=$_(e,{width:40,height:40});return t?(0,z.jsx)(dy,{image:t,className:`size-10 shrink-0 rounded border border-border object-cover`}):(0,z.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded border border-border bg-muted text-muted-foreground`,children:(0,z.jsx)(Je,{className:`size-4`})})},py=({value:e})=>{let t=G_(e);if(!t)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-muted-foreground`,children:`—`});if(`missing`in t)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-danger-text`,children:`The file is missing from storage`});let n=`url`in t?t.url:void 0,r=`corrected`in t?t.corrected:void 0;return(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 py-1`,children:[(0,z.jsx)(fy,{value:e}),(0,z.jsxs)(`div`,{className:`min-w-0 text-[13px]`,children:[n&&!n.startsWith(`blob:`)?(0,z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,className:`block truncate font-medium text-primary-text hover:underline`,children:t.name}):(0,z.jsx)(`span`,{className:`block truncate font-medium`,children:t.name}),(0,z.jsxs)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:[t.type,t.size!==void 0&&` · ${q_(t.size)}`,r&&` · sent as ${r.from}`]})]})]})},my=({field:e,hints:t,resource:n,value:r,locked:i,invalid:a,onChange:s})=>{let c=U(),l=(0,o.useRef)(null),[u,d]=(0,o.useState)(),[f,p]=(0,o.useState)(!1),m=t?.label??W(e.name),h=bh({mutationFn:async t=>{d(0);let r=await c.upload(n,e.name,t,{onProgress:(e,t)=>d(t>0?e/t:0)});return{uploaded:r,...J_(r.file.type)&&{preview:URL.createObjectURL(t)}}},onSuccess:e=>s(e),onSettled:()=>d(void 0)});if(i||e.readOnly)return(0,z.jsx)(py,{value:r});let g=e=>{let t=e?.[0];t&&h.mutate(t)},_=e=>{e.preventDefault(),p(!1),g(e.dataTransfer.files)},v=(0,z.jsx)(`input`,{ref:l,type:`file`,hidden:!0,accept:ev(e),"aria-label":`Choose a file for ${m}`,onChange:e=>g(e.target.files)}),y=h.error&&(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(ey,{title:`Not uploaded`,error:h.error})});return h.isPending?(0,z.jsxs)(`div`,{className:`py-1.5`,role:`status`,"aria-label":`Uploading ${m}`,children:[(0,z.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width]`,style:{width:`${Math.round((u??0)*100)}%`}})}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Uploading… `,Math.round((u??0)*100),`%`]})]}):G_(r)?(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(py,{value:r})}),(0,z.jsx)(V,{size:`sm`,onClick:()=>l.current?.click(),children:`Replace`}),e.nullable&&(0,z.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>s(null),children:`Remove`})]}),v,y]}):(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{onDragOver:e=>{e.preventDefault(),p(!0)},onDragLeave:()=>p(!1),onDrop:_,className:R(`flex items-center gap-3 rounded-md border border-dashed px-3 py-2.5 text-[13px] text-muted-foreground`,f?`border-primary bg-primary/5`:a?`border-danger`:`border-border-strong`),children:[(0,z.jsx)(Sn,{className:`size-4 shrink-0`}),(0,z.jsx)(`span`,{className:`flex-1`,children:`Drop a file here or`}),(0,z.jsxs)(V,{size:`sm`,onClick:()=>l.current?.click(),children:[(0,z.jsx)(Nt,{className:`size-3.5`}),`Choose a file`]})]}),v,y]})},hy=(e,t,n)=>{let r=n?.widget;if(!r||t.sensitive||!e||!Object.hasOwn(e,r.name))return;let i=e[r.name];return i.of.includes(t.type)?{name:r.name,widget:i,props:r.props??{}}:void 0},gy=(e,t)=>hy(p_().fields,e,t),_y=({children:e})=>(0,z.jsx)(`div`,{role:`alert`,className:`rounded-lg border border-dashed border-warning bg-warning-soft p-3 text-[13px] text-warning-text`,children:e}),vy=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){l_(e,t.componentStack)}render(){return this.state.failed?this.props.fallback===void 0?(0,z.jsxs)(_y,{children:[this.props.name,` could not be drawn.`]}):this.props.fallback:this.props.children}},yy=({shown:e,part:t,field:n,value:r,onChange:i,invalid:a=!1})=>{let{widget:o,props:s}=e,c={field:n,value:r??null,props:s};if(t!==`editor`){let e=t===`cell`?o.cell??o.display:o.display;return(0,z.jsx)(e,{...c})}let l=o.editor;return l&&i?(0,z.jsx)(l,{...c,onChange:i,invalid:a}):void 0},by=({fallback:e,...t})=>{let n=yy(t);return n?(0,z.jsx)(vy,{name:`The field type ${t.shown.name}`,fallback:e,children:n}):e},xy=new Set([`integer`,`bigint`,`decimal`]),Sy=({field:e,hints:t,value:n,stored:r,relationLabel:i,relationTo:a,relationPicker:o,invalid:s,locked:c,placeholder:l,reveal:u,resource:d,onChange:f})=>{if(e.type===`file`)return(0,z.jsx)(my,{field:e,hints:t,resource:d??``,value:n,locked:c||!d,invalid:s,onChange:f});if(e.sensitive)return(0,z.jsx)(ny,{field:e,hints:t,value:n,reveal:u,locked:c||e.readOnly,invalid:s,placeholder:l,onChange:f});if(e.type===`relation`&&o&&!e.readOnly)return(0,z.jsx)(Gv,{target:o.target,view:o.view,value:String(n),label:i,invalid:s,onChange:(e,t)=>f({key:e,label:t})});if(e.type===`boolean`&&c)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-muted-foreground`,children:iv(e,r,t)});if(e.type===`boolean`)return(0,z.jsx)(H_,{checked:!!n,onChange:f,label:e.name});if(e.type===`relation`){let e=i??String(r??`—`);return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px]`,children:a?(0,z.jsx)(Uv,{to:a,className:`font-medium text-primary-text hover:underline`,children:e}):e})}return!Jv(e)||c?(0,z.jsx)(`div`,{className:R(`py-1.5 text-[13px] tabular-nums`,e.type===`decimal`||e.type===`integer`?`font-medium`:`text-muted-foreground`),children:iv(e,r,t)}):e.type===`enum`?(0,z.jsxs)(`select`,{value:String(n),onChange:e=>f(e.target.value),className:`h-8 w-full rounded-md border border-border-strong bg-background px-2 text-[13px] shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:[n===``&&(0,z.jsx)(`option`,{value:``,children:`Choose...`}),(e.enumValues??[]).map(e=>(0,z.jsx)(`option`,{value:e,children:Bo(e,t?.valueLabels)},e))]}):(0,z.jsx)(Md,{invalid:s,leading:t?.prefix?(0,z.jsx)(`span`,{className:`text-[13px]`,children:t.prefix}):void 0,trailing:t?.suffix?(0,z.jsx)(`span`,{className:`text-[13px]`,children:t.suffix.trim()}):void 0,placeholder:l,className:R(xy.has(e.type)&&`text-right tabular-nums`),value:String(n),onChange:e=>f(e.target.value)})},Cy=e=>{let{field:t,hints:n,value:r,stored:i,invalid:a,locked:o,onChange:s}=e,c=gy(t,n),l=(0,z.jsx)(Sy,{...e});return c?o||!Jv(t)?(0,z.jsx)(by,{shown:c,part:`display`,field:t,value:i,fallback:l}):t.type===`file`||t.type===`relation`?l:(0,z.jsx)(by,{shown:c,part:`editor`,field:t,value:Xv(t,r),invalid:!!a,onChange:e=>s(Zv(t,e)),fallback:l}):l},wy=(e,t)=>e[t]||e.conditional.includes(t),Ty=(e,t)=>e.permissions?.[t]??!0,Ey=(e,t)=>e?.fields?e.fields[t]??`hidden`:`edit`,Dy=2e3,Oy=(e,t)=>{let n=Fg(),[r,i]=(0,o.useState)(`idle`),[a,s]=(0,o.useState)(),c=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>()=>clearTimeout(c.current),[]),{phase:r,message:a,run:async r=>{let a=e===`toast`?n.show({state:`loading`,title:`Saving ${t}...`}):void 0;s(void 0),e===`button`&&i(`saving`);try{await r(),a!==void 0&&n.update(a,{state:`success`,title:`${t} saved`}),e===`button`&&(i(`saved`),c.current=setTimeout(()=>i(`idle`),Dy))}catch(t){if(!ds(t))throw t;let r=t.status===412?`Changed by someone else`:`Could not save`;a!==void 0&&n.update(a,{state:`error`,title:r,description:t.message}),e===`button`&&(i(`idle`),s(`${r}: ${t.message}`))}}}};function ky(){var e=[...arguments];return(0,o.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ay=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function jy(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function My(e){return`nodeType`in e}function Ny(e){return e?jy(e)?e:My(e)?e.ownerDocument?.defaultView??window:window:window}function Py(e){let{Document:t}=Ny(e);return e instanceof t}function Fy(e){return!jy(e)&&e instanceof Ny(e).HTMLElement}function Iy(e){return e instanceof Ny(e).SVGElement}function Ly(e){return e?jy(e)?e.document:My(e)?Py(e)?e:Fy(e)||Iy(e)?e.ownerDocument:document:document:document}var Ry=Ay?o.useLayoutEffect:o.useEffect;function zy(e){let t=(0,o.useRef)(e);return Ry(()=>{t.current=e}),(0,o.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function By(){let e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Vy(e,t){t===void 0&&(t=[e]);let n=(0,o.useRef)(e);return Ry(()=>{n.current!==e&&(n.current=e)},t),n}function Hy(e,t){let n=(0,o.useRef)();return(0,o.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Uy(e){let t=zy(e),n=(0,o.useRef)(null);return[n,(0,o.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Wy(e){let t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}var Gy={};function Ky(e,t){return(0,o.useMemo)(()=>{if(t)return t;let n=Gy[e]==null?0:Gy[e]+1;return Gy[e]=n,e+`-`+n},[e,t])}function qy(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var Jy=qy(1),Yy=qy(-1);function Xy(e){return`clientX`in e&&`clientY`in e}function Zy(e){if(!e)return!1;let{KeyboardEvent:t}=Ny(e.target);return t&&e instanceof t}function Qy(e){if(!e)return!1;let{TouchEvent:t}=Ny(e.target);return t&&e instanceof t}function $y(e){if(Qy(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Xy(e)?{x:e.clientX,y:e.clientY}:null}var eb=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[eb.Translate.toString(e),eb.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),tb=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function nb(e){return e.matches(tb)?e:e.querySelector(tb)}var rb={display:`none`};function ib(e){let{id:t,value:n}=e;return o.createElement(`div`,{id:t,style:rb},n)}function ab(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return o.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function ob(){let[e,t]=(0,o.useState)(``);return{announce:(0,o.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var sb=(0,o.createContext)(null);function cb(e){let t=(0,o.useContext)(sb);(0,o.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function lb(){let[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var ub={draggable:`
8
+ `).map(e=>e.startsWith(`+`)?{kind:`add`,text:e.slice(1),newNo:r++}:e.startsWith(`-`)?{kind:`del`,text:e.slice(1),oldNo:n++}:{kind:`ctx`,text:e.startsWith(` `)?e.slice(1):e,oldNo:n++,newNo:r++})},Jg=e=>({added:e.filter(e=>e.kind===`add`).length,removed:e.filter(e=>e.kind===`del`).length}),Yg={add:`bg-success-soft text-success-text`,del:`bg-danger-soft text-danger-text`,ctx:`text-muted-foreground`},Xg={add:`+`,del:`−`,ctx:``},Zg=({source:e,start:t,path:n,className:r})=>{let i=qg(e,t),a=Jg(i);return(0,z.jsxs)(`div`,{className:R(`overflow-hidden`,r),children:[n&&(0,z.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border bg-surface px-3 py-1.5`,children:[(0,z.jsx)(Ke,{className:`size-3.5 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-foreground`,children:n}),(0,z.jsxs)(`span`,{className:`text-[11px] font-medium text-success-text`,children:[`+`,a.added]}),a.removed>0&&(0,z.jsxs)(`span`,{className:`text-[11px] font-medium text-danger-text`,children:[`−`,a.removed]})]}),(0,z.jsx)(`pre`,{className:`overflow-x-auto bg-background py-1 font-mono text-[11px] leading-[18px]`,children:i.map((e,t)=>(0,z.jsxs)(`div`,{className:R(`flex`,Yg[e.kind]),children:[(0,z.jsx)(`span`,{className:`w-8 shrink-0 select-none pr-2 text-right opacity-60`,children:e.newNo??e.oldNo}),(0,z.jsx)(`span`,{className:`w-3 shrink-0 select-none`,children:Xg[e.kind]}),(0,z.jsx)(`span`,{className:`min-w-0 whitespace-pre-wrap break-words pr-3`,children:e.text})]},t))})]})},Qg={pending:(0,z.jsx)(De,{className:`size-3 text-faint-foreground`}),running:(0,z.jsx)(Pd,{className:`size-3.5 text-primary`}),done:(0,z.jsx)(de,{className:`size-3.5 text-success`,strokeWidth:2.5}),failed:(0,z.jsx)(jn,{className:`size-3.5 text-danger`,strokeWidth:2.5})},$g={pending:`text-muted-foreground`,running:`text-foreground`,done:`text-muted-foreground`,failed:`text-danger-text`},e_=({steps:e,className:t})=>(0,z.jsx)(`ul`,{className:R(`shrink-0 space-y-2`,t),children:e.map((e,t)=>(0,z.jsxs)(`li`,{className:`flex items-start gap-2.5 text-[13px]`,"data-state":e.state,children:[(0,z.jsx)(`span`,{className:`mt-0.5 flex size-4 shrink-0 items-center justify-center`,children:Qg[e.state]}),(0,z.jsx)(`span`,{className:$g[e.state],children:e.label})]},`${t}-${e.label}`))}),t_=`modulepreload`,n_=function(e){return`/`+e},r_={},i_=function(e){return e.pathname.endsWith(`.css`)},a_=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=n_(t,n);let r=s(t);if(r.href in r_)return;r_[r.href]=!0;let i=i_(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:t_,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},o_,s_,c_=({dsn:e,environment:t})=>(o_??=a_(()=>import(`./prod-YZ9ZMG1O.js`).then(n=>{n.init({dsn:e,...t&&{environment:t},integrations:e=>e.filter(e=>e.name!==`BrowserSession`),beforeSend:e=>ko(e)}),s_=(e,t)=>n.captureException(e,t?{contexts:{react:{componentStack:t}}}:void 0)}),[]),o_),l_=(e,t)=>s_?.(e,t??void 0),u_=e=>e,d_=e=>e,f_=(0,o.createContext)({}),p_=()=>(0,o.useContext)(f_),m_=({part:e,note:t})=>e.fallback?(0,z.jsx)(Ug,{title:e.fallback.title,note:t,children:e.fallback.body&&(0,z.jsx)(`p`,{className:`text-[13px]`,children:e.fallback.body})}):(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`${e.name}: ${t}`}),h_=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){l_(e,t.componentStack)}render(){return this.state.failed?(0,z.jsx)(m_,{part:this.props.part,note:`It could not be drawn.`}):this.props.children}},g_=({part:e})=>{let{components:t={}}=p_(),n=Object.hasOwn(t,e.name)?t[e.name]:void 0;return n?(0,z.jsx)(h_,{part:e,children:(0,z.jsx)(n,{...e.props})}):(0,z.jsx)(m_,{part:e,note:`This version of the app cannot show it live.`})},__=({part:e,onAction:t})=>{switch(e.type){case`text`:return(0,z.jsx)(`p`,{children:e.text});case`table`:return(0,z.jsx)(Kg,{columns:e.columns,rows:e.rows,caption:e.caption,truncated:e.truncated});case`card`:return(0,z.jsxs)(Ug,{title:e.title,tone:e.tone,badge:e.badge,note:e.note,actions:e.actions,onAction:n=>t?.(e.id,n),children:[e.body&&(0,z.jsx)(`p`,{className:`text-[13px]`,children:e.body}),e.code&&(0,z.jsx)(`pre`,{className:`overflow-x-auto rounded-md bg-surface px-2.5 py-2 font-mono text-[11px] whitespace-pre-wrap break-words`,children:e.code}),e.fields&&e.fields.length>0&&(0,z.jsx)(Wg,{fields:e.fields}),e.steps&&e.steps.length>0&&(0,z.jsx)(e_,{steps:e.steps}),e.diffs?.map((e,t)=>(0,z.jsx)(Zg,{source:e.source,start:e.start,path:e.path,className:`rounded-md border border-border`},`${t}-${e.path}`))]});case`widget`:return(0,z.jsx)(g_,{part:e})}},v_=(0,o.createContext)(void 0),y_=e=>e instanceof Error?e:Error(`The assistant backend did not answer`),b_=(e,t)=>typeof e==`function`?e(t):e,x_=(e,{refreshMs:t=!1}={})=>{let n=(0,o.useContext)(v_),[r,i]=(0,o.useState)({}),[a,s]=(0,o.useState)(0),c=(0,o.useRef)(t);c.current=t;let l=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{if(!n){i({error:Error(`useBackendData works only in a widget the assistant dock draws`)});return}let t=!0,r,a=async()=>{let o=await n.fetch(e).then(e=>e.json()).then(e=>({data:e}),e=>({data:l.current,error:y_(e)}));if(!t)return;l.current=o.data,i(o);let s=b_(c.current,o.data);s!==!1&&(r=setTimeout(a,s))};return a(),()=>{t=!1,clearTimeout(r)}},[n,e,a]),{...r,reload:()=>s(e=>e+1),post:async(e,t)=>{if(!n)throw Error(`useBackendData works only in a widget the assistant dock draws`);let r={method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t??{})},a=await n.fetch(e,r).then(e=>e.json()).then(e=>({data:e}),e=>({data:l.current,error:y_(e)}));l.current=a.data,i(a)}}},S_=`Ask a question...`,C_=({state:e,offline:t,error:n,onSend:r,onAction:i,onClose:a,client:s})=>{let c=(0,o.useRef)(null);return(0,o.useEffect)(()=>{e.placeholder&&c.current?.focus()},[e.placeholder]),(0,z.jsx)(Vg,{title:`Assistant`,icon:(0,z.jsx)(rn,{className:`size-4 text-primary`}),status:t?`Reconnecting...`:e.status,onClose:a,footer:(0,z.jsxs)(z.Fragment,{children:[n&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs text-danger-text`,children:n}),(0,z.jsx)(zg,{inputRef:c,onSend:r,busy:e.replying,placeholder:e.placeholder??S_})]}),children:(0,z.jsx)(v_.Provider,{value:s,children:(0,z.jsx)(Rg,{length:e.messages.reduce((e,t)=>e+t.parts.length,0),empty:`Ask a question about this app or its data.`,children:e.messages.map(e=>(0,z.jsx)(Lg,{from:e.from,children:e.parts.map(e=>(0,z.jsx)(__,{part:e,onAction:i},e.id))},e.id))})})})},w_=e=>e instanceof Error?e.message:`The assistant did not answer`,T_=e=>{let[t,n]=(0,o.useState)(Fo),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)();(0,o.useEffect)(()=>{if(e)return e.connect(e=>n(t=>Ro(t,e)),e=>i(e.state===`retrying`))},[e]);let c=e=>{s(void 0),e.catch(e=>s(w_(e)))};return{state:t,offline:r,error:a,send:(t,n)=>e&&c(e.send(t,n)),act:(t,n)=>e&&c(e.act(t,n))}},E_=e=>{let t=dg(),n=(0,o.useRef)(t);n.current=t;let r=t!==void 0;return(0,o.useMemo)(()=>r?ku({url:e,token:()=>n.current}):void 0,[e,r])},D_=({open:e,onToggle:t})=>(0,z.jsxs)(V,{size:`sm`,variant:e?`primary`:`secondary`,"aria-pressed":e,onClick:t,className:`max-md:size-9 max-md:p-0`,children:[(0,z.jsx)(rn,{className:`size-3.5`}),(0,z.jsx)(`span`,{className:`max-md:sr-only`,children:`Assistant`})]}),O_=({client:e,page:t,onClose:n})=>{let{state:r,offline:i,error:a,send:o,act:s}=T_(e);return(0,z.jsx)(C_,{state:r,offline:i,error:a,onSend:e=>o(e,t),onAction:s,onClose:n,client:e})},k_=({url:e,...t})=>(0,z.jsx)(O_,{client:E_(e),...t}),A_=({url:e,client:t,...n})=>t?(0,z.jsx)(O_,{client:t,...n}):(0,z.jsx)(k_,{url:e,...n}),j_={orders:$t,orderLines:$t,companies:oe,invoices:Je,invoiceLines:zt,products:jt,categories:mn,tags:mn,companyTags:mn,stockMoves:ie,stockLevels:ie,warehouses:kn,locations:kn,people:En,users:En,empMaster:En,organizations:Yt,countries:Le,currencies:Ne,shipments:bn},M_=e=>j_[e]??fn,N_={bell:A,"book-open":M,bookmark:ne,building:oe,"credit-card":Ne,"external-link":Ve,"file-text":Je,heart:Qe,key:et,"layout-dashboard":nt,"life-buoy":at,mail:vt,receipt:zt,settings:Yt,shield:Zt,users:En};Object.keys(N_);var P_=(e,t)=>e?N_[e]??t:t,F_=(e,t,n)=>(e.bottomBar?.items??[]).map((r,i)=>r.kind===`link`?{id:`link-${i}`,label:r.label,icon:P_(r.icon,Ve),href:r.href,external:!0}:r.kind===`page`?{id:r.page,label:r.label,icon:P_(r.icon??e.pages[r.page]?.icon,nt),href:qo({kind:`page`,page:r.page},t),active:r.page===n}:{id:r.resource,label:r.label,icon:P_(r.icon,M_(r.resource)),href:qo({kind:`list`,resource:r.resource},t),active:r.resource===n}),I_=({basePath:e,address:t,group:n,page:r,resourceLabel:i,recordTitle:a,recordLoading:o})=>{let s=n?[n]:[];if(r)return[...s,{label:r.title,href:qo({kind:`page`,page:r.name},e)}];if(!t||t.kind===`page`)return[`Admin`];let c=i?[{label:i,href:qo({kind:`list`,resource:t.resource},e)}]:[];if(t.kind===`list`)return[...s,...c];let l=qo(t,e),u=t.kind===`create`?{label:`New`,href:l}:a===void 0&&o?{label:`Loading record`,href:l,loading:!0}:{label:a??t.key,href:l};return[...s,...c,u]},L_=eo(),R_=async(e,t,n,r,i)=>{let a=n.primaryKey[0],o=[...new Set(r)].sort();if(o.length===0||n.primaryKey.length!==1)return new Map;let s=mg(n,i),c=await e.fetchQuery({queryKey:H.labels(n.name,o.join(`,`)),staleTime:3e5,queryFn:async()=>(await t.list(n.name,{filter:za(L_.in(a,o)),fields:[a,s],pageSize:o.length})).items.map(e=>[String(e[a]),String(e[s])])});return new Map(c)},z_=(e,t,n)=>n.flatMap(n=>{let r=t.fields[n],i=r?.type===`relation`&&r.relation?e[r.relation.resource]:void 0;return i?[{name:n,target:i}]:[]}),B_=(e,t,n,r)=>Object.fromEntries(z_(e,n,r).filter(({target:e})=>e.primaryKey.length===1).map(({name:e,target:n})=>[e,mg(n,t[n.name])])),V_=(e,t,n,r,i={})=>{let a=z_(e,t,n);return r.map(e=>{let t={...e};for(let{name:n}of a)e[n]!=null&&(t[n]={id:e[n],name:i[n]?.[String(e[n])]??String(e[n])});return t})},H_=({checked:e,onChange:t,label:n})=>(0,z.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,onClick:()=>t?.(!e),className:R(`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors`,e?`bg-primary`:`bg-border-strong`),children:(0,z.jsx)(`span`,{className:R(`size-4 rounded-full bg-white shadow transition-transform`,e?`translate-x-[18px]`:`translate-x-0.5`)})}),U_=e=>typeof e==`object`&&!!e&&typeof e.uri==`string`,W_=e=>typeof e==`object`&&!!e&&typeof e.uploaded?.value==`string`,G_=e=>{if(W_(e))return{...e.uploaded.file,...e.preview&&{url:e.preview},corrected:e.uploaded.corrected};if(U_(e))return`missing`in e?{name:`File missing`,type:``,missing:!0}:e},K_=[`bytes`,`kB`,`MB`,`GB`],q_=e=>{let t=e,n=0;for(;t>=1e3&&n<K_.length-1;)t/=1e3,n+=1;return n===0?`${e} ${e===1?`byte`:`bytes`}`:`${t<10?t.toFixed(1):Math.round(t)} ${K_[n]}`},J_=e=>e.startsWith(`image/`)&&e!==`image/svg+xml`,Y_=2,X_=1e5,Z_=(e,t)=>(e.width!==void 0||e.height!==void 0)&&(e.width??X_)>=t.width*Y_&&(e.height??X_)>=t.height*Y_,Q_=e=>(e.width??X_)*(e.height??X_),$_=(e,t)=>{let n=G_(e);if(!(!n||`missing`in n||!n.url||!J_(n.type)))return{url:(`variants`in n&&n.variants?Object.values(n.variants):[]).filter(e=>Z_(e,t)).sort((e,t)=>Q_(e)-Q_(t))[0]?.url??n.url,...`placeholder`in n&&n.placeholder!==void 0&&{placeholder:n.placeholder}}},ev=e=>{let t=e.file?.accept??[];return t.length===0||t.includes(`*/*`)?void 0:t.join(`,`)},tv=e=>W_(e)?e.uploaded.value:U_(e)?e.uri:null,nv=(e,t)=>{if(W_(e))return!0;let n=e=>U_(e)?e.uri:null;return n(e)!==n(t)},rv=(e,t)=>`${t.prefix??``}${e}${t.suffix??``}`,iv=(e,t,n={})=>{if(t==null||t===``)return`—`;switch(e.type){case`boolean`:return t?`Yes`:`No`;case`file`:return G_(t)?.name??`—`;case`enum`:return Bo(String(t),n.valueLabels);case`timestamp`:return Sf(Date.parse(String(t)));case`date`:return bf(Date.parse(String(t)));case`decimal`:{let e=n.decimals===void 0?String(t):Number(t).toFixed(n.decimals);return n.format===`percent`?`${Number(t)}%`:rv(Number(e).toLocaleString(`en-IE`,{minimumFractionDigits:n.decimals??0,maximumFractionDigits:n.decimals??20}),n)}case`integer`:case`bigint`:return rv(String(t),n);default:return typeof t==`object`?JSON.stringify(t):String(t)}},av=`$photos`,ov=e=>{for(let t of e?.list?.displays??[])if(t.kind===`cards`&&t.photos)return t.photos},sv=(e,t,n)=>{if(n===void 0||e.primaryKey.length!==1)return t;let r=e.primaryKey[0];return t.map(e=>({...e,[av]:n[String(e[r])]??[]}))},cv=e=>e?.list?.displays??[],lv=(e,t,n)=>{let r=n??e?.list?.default??`table`;if(!t)return r;let i=cv(e).filter(e=>e.kind===`cards`);return i.find(e=>e.name===r)?.name??i[0]?.name??r},uv=(e,t)=>{if(t===`table`)return;let n=t=>cv(e).find(e=>e.name===t);return n(t)??n(e?.list?.default)},dv={cards:`cards`,map:`map`},fv=e=>[{name:io,label:`Table`,icon:`table`},...cv(e).map(e=>({name:e.name,label:e.label??W(e.name),icon:e.icon??dv[e.kind]}))],pv=(e,t,n)=>({image:n.image,title:n.title??hg(e,t),subtitle:n.subtitle,amount:n.amount??[],badge:n.badge,meta:n.meta??[],footer:n.footer??[],flags:n.flags??[]}),mv=(e,t)=>t.filter(t=>e.record[t]!==null&&e.record[t]!==void 0&&e.record[t]!==``),hv=(e,t)=>mv(e,t)[0],gv=(e,t,n={})=>{let{suffix:r,...i}=n;return e.type!==`decimal`&&e.type!==`integer`&&e.type!==`bigint`||r===void 0||n.format===`percent`?{amount:iv(e,t,n)}:{amount:iv(e,t,i),suffix:r}},_v=(e,t)=>{let n=cv(e).filter(e=>e.kind===`cards`);return(t.cards===void 0?n[0]:n.find(e=>e.name===t.cards))??{kind:`cards`,name:t.name}},vv=(e,t,n)=>{if(n.kind===`custom`)return n.fields;if(n.kind===`map`)return[n.latitude,n.longitude,...vv(e,t,_v(t,n))];let{image:r,title:i,subtitle:a,amount:o,badge:s,meta:c,footer:l,flags:u}=pv(e,t,n);return[r,i,a,...o,s,...c,...l,...u].filter(e=>e!==void 0)},yv=(e,t,n)=>[...new Set([...n,...cv(t).flatMap(n=>vv(e,t,n))])],bv=(e,t,n)=>[...new Set(vv(e,t,n))].filter(t=>e.fields[t]?.sortable),xv=e=>typeof e==`object`&&!!e&&`id`in e&&`name`in e,Sv=(e,t)=>{let n={},r={},i=Array.isArray(t.$photos)?t[av]:void 0;for(let[i,a]of Object.entries(t))(i!==`id`&&i!==`$photos`||Object.hasOwn(e.fields,i))&&(e.fields[i]?.type===`relation`&&xv(a)?(n[i]=a.id,r[i]=a.name):n[i]=a);return{key:po(vg(e,n)),record:n,labels:r,...i&&{photos:i}}},Cv=(e,t)=>{let n=t?.list?.sort?.[0];return n?`${n[0]} ${n[1]}`:`${e.primaryKey[0]} asc`},wv=e=>{let[t=``,n]=e.trim().split(/\s+/);return{columnId:t,direction:n===`desc`?`desc`:`asc`}},Tv=e=>`${e.columnId} ${e.direction}`,Ev=(e,t,n)=>{let r=e[n],i=t[n]?.listOf,a=i===void 0?void 0:r?.fields[i]?.relation?.resource;return a!==void 0&&e[a]?{model:e[a],view:t[a],listOf:!0}:{model:r,view:t[n],listOf:!1}},Dv=(e,t,n=!1)=>({display:lv(t,n),orderBy:e?Cv(e,t):``,filterLayout:`bar`}),Ov=(e,t)=>e?.kind===`record`?{kind:`record`,resource:e.resource,key:po(e.key)}:e?.kind===`list`?{...t(e.resource),filter:``,...e}:e,kv=(e,t,n)=>{let r={...e,...t},i=e=>r[e]!==void 0&&r[e]!==n[e];return{kind:`list`,resource:e.resource,...r.filter&&{filter:r.filter},...i(`display`)&&{display:r.display},...i(`orderBy`)&&{orderBy:r.orderBy},...i(`filterLayout`)&&{filterLayout:r.filterLayout},...r.map&&{map:r.map}}},Av=(0,o.createContext)(null),jv={create:!0,update:!0,delete:!0,conditional:[]},Mv=()=>{let e=U(),t=qp(),n=(0,o.useContext)(Av),r=yh({queryKey:H.meta,staleTime:0,refetchOnWindowFocus:`always`,queryFn:async()=>{let n=t.getQueryData(H.meta),r=await e.meta(n?.etag);if(r.status===`unchanged`){if(!n)throw Error(`The server answered 304 to a request without If-None-Match`);return n}return{etag:r.etag,resources:Object.fromEntries(r.meta.resources.map(e=>[e.name,e])),views:Object.fromEntries(r.meta.views.map(e=>[e.resource,e])),pages:Object.fromEntries((r.meta.pages??[]).map(e=>[e.name,e])),permissions:r.meta.permissions??{},...r.meta.userMenu&&{userMenu:r.meta.userMenu},...r.meta.signIn&&{signIn:Object.fromEntries(r.meta.signIn.map(e=>[e.resource,e]))},...r.meta.bottomBar&&{bottomBar:r.meta.bottomBar},...r.meta.assistant&&{assistant:r.meta.assistant},...r.meta.runtime&&{runtime:r.meta.runtime},...r.meta.errorReporting&&{errorReporting:r.meta.errorReporting},...r.meta.maps&&{maps:r.meta.maps},...r.meta.files&&{files:r.meta.files},...r.meta.plugins&&{plugins:r.meta.plugins},...r.meta.sources&&{sources:r.meta.sources.map(e=>({source:e,state:`loading`}))}}}});return(0,o.useMemo)(()=>n&&r.data?{...r,data:n}:r,[n,r])},Nv=1e4,Pv=e=>e.map(e=>({data:e.data?.meta,error:e.error})),Fv=(e,t)=>{let n=qp(),r=_h({queries:e.map(e=>{let r=H.sourceMeta(e.url,e.resources);return{queryKey:r,staleTime:0,refetchOnWindowFocus:`always`,queryFn:async()=>{let i=n.getQueryData(r),a=await t(e).meta(i?.etag,{signal:AbortSignal.timeout(Nv)});if(a.status===`unchanged`){if(!i)throw Error(`${e.label} answered 304 to a request without If-None-Match`);return i}return{etag:a.etag,meta:Rs(a.meta,e)}}}}),combine:Pv});return(0,o.useMemo)(()=>e.map((e,t)=>{let{data:n,error:i}=r[t];return n?{source:e,state:`ready`,meta:n}:i?{source:e,state:`error`,error:i}:{source:e,state:`loading`}}),[e,r])},Iv=(e,t)=>{if(t.length===0)return e;let n=t.flatMap(e=>e.state===`ready`?[e.meta]:[]),r=t.map(e=>e.state===`error`?{source:e.source,state:`error`,error:e.error}:{source:e.source,state:e.state});return{...e,resources:{...e.resources,...Object.fromEntries(n.flatMap(e=>e.resources.map(e=>[e.name,e])))},views:{...e.views,...Object.fromEntries(n.flatMap(e=>e.views.map(e=>[e.resource,e])))},permissions:{...e.permissions,...Object.assign({},...n.map(e=>e.permissions))},sources:r}},Lv=(e,t)=>e.sources?.find(e=>e.source.resources.includes(t)),G=()=>{let e=(0,o.useContext)(Av);if(!e)throw Error(`useAdminMeta must be used inside MetaGate`);return e},Rv=({title:e,children:t})=>(0,z.jsx)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center p-8`,children:(0,z.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,z.jsx)(`h1`,{className:`text-[15px] font-semibold`,children:e}),(0,z.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:t})]})}),zv=({meta:e,children:t})=>{let n=U(),r=Uee(),i=(0,o.useMemo)(()=>(e.sources??[]).map(e=>e.source),[e.sources]),a=Fv(i,r),s=(0,o.useMemo)(()=>Iv(e,a),[e,a]),c=(0,o.useMemo)(()=>{let e=new Map(i.flatMap(e=>e.resources.map(t=>[t,e]))),t=t=>{let n=e.get(t);return n&&r(n)};return{client:Ts(n,t),resourceClient:t}},[i,n,r]);return(0,z.jsx)(Wee,{client:c.client,resourceClient:c.resourceClient,children:(0,z.jsx)(Av.Provider,{value:s,children:t})})},Bv=({children:e})=>{let t=Mv();return t.isPending?(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]}):t.error?(0,z.jsx)(Rv,{title:`Cannot reach the API`,children:ds(t.error)?t.error.message:`The server did not answer. Is it running?`}):(0,z.jsx)(zv,{meta:t.data,children:e})},Vv=e=>G().permissions[e]??jv,Hv=()=>{let{path:e,params:t,basePath:n,navigate:r}=Oh(),{pages:i,resources:a,views:s}=G(),c=Nu(),l=(0,o.useMemo)(()=>new Set(Object.keys(i)),[i]),u=t.toString(),d=(0,o.useMemo)(()=>Zo(u?`${e}?${u}`:e,l),[e,u,l]),f=(0,o.useCallback)(e=>{let t=Ev(a,s,e);return Dv(t.model,t.view,c)},[a,s,c]),p=(0,o.useMemo)(()=>Ov(d,f),[d,f]),m=(0,o.useCallback)((e,t)=>r(qo(e),t),[r]);return{address:p,set:(0,o.useCallback)(e=>{if(d?.kind!==`list`)throw Error(`set changes the list the app shows; use go to move to another address`);m(kv(d,e,f(d.resource)),{replace:!0})},[d,f,m]),go:m,href:(0,o.useCallback)(e=>qo(e,n),[n]),open:(0,o.useCallback)(e=>r(e.startsWith(`${n}/`)?e.slice(n.length):e),[n,r])}},Uv=({to:e,...t})=>(0,z.jsx)(Kee,{to:qo(e),...t}),Wv=eo(),Gv=({target:e,view:t,value:n,label:r,invalid:i,onChange:a})=>{let s=U(),[c,l]=(0,o.useState)(``),[u,d]=(0,o.useState)(!1),f=e.primaryKey[0],p=mg(e,t),m=yh({queryKey:[`relation-options`,e.name,c],enabled:u,queryFn:()=>s.list(e.name,{filter:c&&e.search?.length?za(Wv.search(c)):void 0,fields:[f,p],pageSize:8})});return(0,z.jsxs)(`div`,{className:`relative`,children:[(0,z.jsx)(Md,{invalid:i,placeholder:`Search ${e.name}`,value:u?c:r??n,onFocus:()=>d(!0),onBlur:()=>setTimeout(()=>d(!1),120),onChange:e=>l(e.target.value)}),u&&(0,z.jsxs)(`ul`,{role:`listbox`,className:`absolute z-30 mt-1 max-h-60 w-full overflow-y-auto rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:[m.data?.items.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":String(e[f])===n,className:`block w-full truncate px-3 py-1.5 text-left hover:bg-muted`,onMouseDown:e=>e.preventDefault(),onClick:()=>{a(String(e[f]),String(e[p])),l(``),d(!1)},children:String(e[p])})},String(e[f]))),m.data&&m.data.items.length===0&&(0,z.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:`No matches`}),m.isPending&&(0,z.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:`Loading`})]})]})},Kv=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),qv=new Set([`text`,`integer`,`bigint`,`decimal`,`date`,`currency`,`country`]),Jv=e=>!e.readOnly&&e.type!==`json`&&e.type!==`uuid`&&e.type!==`timestamp`&&e.type!==`relation`,Yv=(e,t)=>{if(e.type===`boolean`)return!!t;if(e.type===`file`)return tv(t);let n=String(t).trim();if(n===``)return e.nullable?null:``;if(e.type===`integer`)return Number(n);if(qv.has(e.type)||e.type===`enum`)return n;throw Error(`Not implemented: editing ${e.type} fields`)},Xv=(e,t)=>e.type===`boolean`?!!t:String(t??``).trim()===``?null:Yv(e,t),Zv=(e,t)=>e.type===`boolean`?!!t:Kv(t),Qv=(e,t,n)=>{if(e.type===`boolean`)return!!t!=!!n;if(e.type===`file`)return nv(t,n);let r=String(t??``).trim(),i=Kv(n);return e.type===`decimal`||e.type===`integer`?r===``||i===``?r!==i:Number(r)!==Number(i):r!==i},$v=e=>{if(!ds(e))return[{message:e instanceof Error?e.message:`Something went wrong`}];let t=e.errors.map(e=>({message:e.message,hint:e.hint}));return t.length>0?t:[{message:e.message}]},ey=({error:e,title:t})=>(0,z.jsxs)(`div`,{role:`alert`,className:`flex gap-2.5 rounded-lg border border-danger/30 bg-danger-soft px-3 py-2 text-[13px] text-danger-text`,children:[(0,z.jsx)(vn,{className:`mt-0.5 size-4 shrink-0`}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`font-medium`,children:t}),$v(e).map(e=>(0,z.jsxs)(`p`,{className:`text-xs`,children:[e.message,e.hint&&(0,z.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,e.hint]})]},e.message))]})]}),ty=`••••••••••`,ny=({field:e,hints:t,value:n,reveal:r,locked:i,invalid:a,placeholder:s,onChange:c})=>{let[l,u]=(0,o.useState)(!1),d=bh({mutationFn:async()=>r(),onSuccess:()=>u(!0)}),f=Kv(n)!==``,p=t?.label??W(e.name),m=(0,z.jsx)(V,{variant:`ghost`,size:`sm`,className:`-mr-1.5 px-1.5`,"aria-label":`${l?`Hide`:`Show`} ${p}`,"aria-pressed":l,loading:d.isPending,onClick:()=>{l||f||!r||d.isSuccess?u(!l):d.mutate()},children:!d.isPending&&(l?(0,z.jsx)(Ue,{className:`size-3.5`}):(0,z.jsx)(eee,{className:`size-3.5`}))}),h=d.error&&(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(ey,{title:`Could not show the ${p}`,error:d.error})});if(i)return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 py-1 text-[13px]`,children:[(0,z.jsx)(`span`,{className:R(l?t?.format===`code`?`font-mono text-xs`:``:`tracking-widest text-muted-foreground`),children:l?iv(e,d.data,t):ty}),r&&m]}),h]});let g=f?Kv(n):l&&d.isSuccess?Kv(d.data):``;return(0,z.jsxs)(`div`,{children:[(0,z.jsx)(Md,{type:l?`text`:`password`,autoComplete:`off`,invalid:a,"aria-label":p,className:R(t?.format===`code`&&`font-mono text-xs`),placeholder:f||!r?s:ty,value:g,trailing:m,onChange:e=>c(e.target.value)}),h]})};function ry(e){let{PI:t,min:n,max:r,cos:i,round:a}=Math,o=e[0]|e[1]<<8|e[2]<<16,s=e[3]|e[4]<<8,c=(o&63)/63,l=(o>>6&63)/31.5-1,u=(o>>12&63)/31.5-1,d=(o>>18&31)/31,f=o>>23,p=(s>>3&63)/63,m=(s>>9&63)/63,h=s>>15,g=r(3,h?f?5:7:s&7),_=r(3,h?s&7:f?5:7),v=f?(e[5]&15)/15:1,y=(e[5]>>4)/15,b=f?6:5,x=0,S=(t,n,r)=>{let i=[];for(let a=0;a<n;a++)for(let o=+!a;o*n<t*(n-a);o++)i.push(((e[b+(x>>1)]>>((x++&1)<<2)&15)/7.5-1)*r);return i},C=S(g,_,d),w=S(3,3,p*1.25),T=S(3,3,m*1.25),E=f&&S(5,5,y),D=iy(e),O=a(D>1?32:32*D),k=a(D>1?32/D:32),A=new Uint8Array(O*k*4),j=[],M=[];for(let e=0,a=0;e<k;e++)for(let o=0;o<O;o++,a+=4){let s=c,d=l,p=u,m=v;for(let e=0,n=r(g,f?5:3);e<n;e++)j[e]=i(t/O*(o+.5)*e);for(let n=0,a=r(_,f?5:3);n<a;n++)M[n]=i(t/k*(e+.5)*n);for(let e=0,t=0;e<_;e++)for(let n=+!e,r=M[e]*2;n*_<g*(_-e);n++,t++)s+=C[t]*j[n]*r;for(let e=0,t=0;e<3;e++)for(let n=+!e,r=M[e]*2;n<3-e;n++,t++){let e=j[n]*r;d+=w[t]*e,p+=T[t]*e}if(f)for(let e=0,t=0;e<5;e++)for(let n=+!e,r=M[e]*2;n<5-e;n++,t++)m+=E[t]*j[n]*r;let h=s-2/3*d,y=(3*s-h+p)/2,b=y-p;A[a]=r(0,255*n(1,y)),A[a+1]=r(0,255*n(1,b)),A[a+2]=r(0,255*n(1,h)),A[a+3]=r(0,255*n(1,m))}return{w:O,h:k,rgba:A}}function iy(e){let t=e[3],n=e[2]&128,r=e[4]&128;return(r?n?5:7:t&7)/(r?t&7:n?5:7)}function ay(e,t,n){let r=e*4+1,i=6+t*(5+r),a=[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,e>>8,e&255,0,0,t>>8,t&255,8,6,0,0,0,0,0,0,0,i>>>24,i>>16&255,i>>8&255,i&255,73,68,65,84,120,1],o=[0,498536548,997073096,651767980,1994146192,1802195444,1303535960,1342533948,-306674912,-267414716,-690576408,-882789492,-1687895376,-2032938284,-1609899400,-1111625188],s=1,c=0;for(let e=0,i=0,o=r-1;e<t;e++,o+=r-1)for(a.push(e+1<t?0:1,r&255,r>>8,~r&255,r>>8^255,0),c=(c+s)%65521;i<o;i++){let e=n[i]&255;a.push(e),s=(s+e)%65521,c=(c+s)%65521}a.push(c>>8,c&255,s>>8,s&255,0,0,0,0,0,0,0,0,73,69,78,68,174,66,96,130);for(let[e,t]of[[12,29],[37,41+i]]){let n=-1;for(let r=e;r<t;r++)n^=a[r],n=n>>>4^o[n&15],n=n>>>4^o[n&15];n=~n,a[t++]=n>>>24,a[t++]=n>>16&255,a[t++]=n>>8&255,a[t++]=n&255}return`data:image/png;base64,`+btoa(String.fromCharCode(...a))}function oy(e){let t=ry(e);return ay(t.w,t.h,t.rgba)}var sy=(e,t,n)=>{if(!URL.canParse(e,t))return`no-referrer`;let r=new URL(e,t);if((r.protocol===`http:`||r.protocol===`https:`)&&!(r.origin===new URL(t).origin||n.includes(r.hostname)))return`no-referrer`},cy=e=>URL.canParse(e)?[new URL(e).hostname]:[],ly=()=>{let e=(0,o.useContext)(Av);return(0,o.useMemo)(()=>[...e?.files?.trustedHosts??[],...(e?.sources??[]).flatMap(({source:e})=>cy(e.url))],[e?.files,e?.sources])},uy=e=>{let t;try{t=atob(e)}catch(e){if(e instanceof DOMException&&e.name===`InvalidCharacterError`)return;throw e}return oy(Uint8Array.from(t,e=>e.charCodeAt(0)))},dy=({image:e,className:t,loading:n})=>{let[r,i]=(0,o.useState)(),a=ly(),s=(0,o.useMemo)(()=>e.placeholder===void 0?void 0:uy(e.placeholder),[e.placeholder]),c=s!==void 0&&r!==e.url;return(0,z.jsx)(`img`,{src:e.url,alt:``,loading:n,decoding:`async`,referrerPolicy:sy(e.url,window.location.href,a),onLoad:()=>i(e.url),className:t,style:c?{backgroundImage:`url("${s}")`,backgroundSize:`cover`,backgroundPosition:`center`}:void 0})},fy=({value:e})=>{let t=$_(e,{width:40,height:40});return t?(0,z.jsx)(dy,{image:t,className:`size-10 shrink-0 rounded border border-border object-cover`}):(0,z.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded border border-border bg-muted text-muted-foreground`,children:(0,z.jsx)(Je,{className:`size-4`})})},py=({value:e})=>{let t=G_(e);if(!t)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-muted-foreground`,children:`—`});if(`missing`in t)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-danger-text`,children:`The file is missing from storage`});let n=`url`in t?t.url:void 0,r=`corrected`in t?t.corrected:void 0;return(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 py-1`,children:[(0,z.jsx)(fy,{value:e}),(0,z.jsxs)(`div`,{className:`min-w-0 text-[13px]`,children:[n&&!n.startsWith(`blob:`)?(0,z.jsx)(`a`,{href:n,target:`_blank`,rel:`noreferrer`,className:`block truncate font-medium text-primary-text hover:underline`,children:t.name}):(0,z.jsx)(`span`,{className:`block truncate font-medium`,children:t.name}),(0,z.jsxs)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:[t.type,t.size!==void 0&&` · ${q_(t.size)}`,r&&` · sent as ${r.from}`]})]})]})},my=({field:e,hints:t,resource:n,value:r,locked:i,invalid:a,onChange:s})=>{let c=U(),l=(0,o.useRef)(null),[u,d]=(0,o.useState)(),[f,p]=(0,o.useState)(!1),m=t?.label??W(e.name),h=bh({mutationFn:async t=>{d(0);let r=await c.upload(n,e.name,t,{onProgress:(e,t)=>d(t>0?e/t:0)});return{uploaded:r,...J_(r.file.type)&&{preview:URL.createObjectURL(t)}}},onSuccess:e=>s(e),onSettled:()=>d(void 0)});if(i||e.readOnly)return(0,z.jsx)(py,{value:r});let g=e=>{let t=e?.[0];t&&h.mutate(t)},_=e=>{e.preventDefault(),p(!1),g(e.dataTransfer.files)},v=(0,z.jsx)(`input`,{ref:l,type:`file`,hidden:!0,accept:ev(e),"aria-label":`Choose a file for ${m}`,onChange:e=>g(e.target.files)}),y=h.error&&(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(ey,{title:`Not uploaded`,error:h.error})});return h.isPending?(0,z.jsxs)(`div`,{className:`py-1.5`,role:`status`,"aria-label":`Uploading ${m}`,children:[(0,z.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width]`,style:{width:`${Math.round((u??0)*100)}%`}})}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Uploading… `,Math.round((u??0)*100),`%`]})]}):G_(r)?(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,z.jsx)(py,{value:r})}),(0,z.jsx)(V,{size:`sm`,onClick:()=>l.current?.click(),children:`Replace`}),e.nullable&&(0,z.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>s(null),children:`Remove`})]}),v,y]}):(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{onDragOver:e=>{e.preventDefault(),p(!0)},onDragLeave:()=>p(!1),onDrop:_,className:R(`flex items-center gap-3 rounded-md border border-dashed px-3 py-2.5 text-[13px] text-muted-foreground`,f?`border-primary bg-primary/5`:a?`border-danger`:`border-border-strong`),children:[(0,z.jsx)(Sn,{className:`size-4 shrink-0`}),(0,z.jsx)(`span`,{className:`flex-1`,children:`Drop a file here or`}),(0,z.jsxs)(V,{size:`sm`,onClick:()=>l.current?.click(),children:[(0,z.jsx)(Nt,{className:`size-3.5`}),`Choose a file`]})]}),v,y]})},hy=(e,t,n)=>{let r=n?.widget;if(!r||t.sensitive||!e||!Object.hasOwn(e,r.name))return;let i=e[r.name];return i.of.includes(t.type)?{name:r.name,widget:i,props:r.props??{}}:void 0},gy=(e,t)=>hy(p_().fields,e,t),_y=({children:e})=>(0,z.jsx)(`div`,{role:`alert`,className:`rounded-lg border border-dashed border-warning bg-warning-soft p-3 text-[13px] text-warning-text`,children:e}),vy=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){l_(e,t.componentStack)}render(){return this.state.failed?this.props.fallback===void 0?(0,z.jsxs)(_y,{children:[this.props.name,` could not be drawn.`]}):this.props.fallback:this.props.children}},yy=({shown:e,part:t,field:n,value:r,onChange:i,invalid:a=!1})=>{let{widget:o,props:s}=e,c={field:n,value:r??null,props:s};if(t!==`editor`){let e=t===`cell`?o.cell??o.display:o.display;return(0,z.jsx)(e,{...c})}let l=o.editor;return l&&i?(0,z.jsx)(l,{...c,onChange:i,invalid:a}):void 0},by=({fallback:e,...t})=>{let n=yy(t);return n?(0,z.jsx)(vy,{name:`The field type ${t.shown.name}`,fallback:e,children:n}):e},xy=new Set([`integer`,`bigint`,`decimal`]),Sy=({field:e,hints:t,value:n,stored:r,relationLabel:i,relationTo:a,relationPicker:o,invalid:s,locked:c,placeholder:l,reveal:u,resource:d,onChange:f})=>{if(e.type===`file`)return(0,z.jsx)(my,{field:e,hints:t,resource:d??``,value:n,locked:c||!d,invalid:s,onChange:f});if(e.sensitive)return(0,z.jsx)(ny,{field:e,hints:t,value:n,reveal:u,locked:c||e.readOnly,invalid:s,placeholder:l,onChange:f});if(e.type===`relation`&&o&&!e.readOnly)return(0,z.jsx)(Gv,{target:o.target,view:o.view,value:String(n),label:i,invalid:s,onChange:(e,t)=>f({key:e,label:t})});if(e.type===`boolean`&&c)return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px] text-muted-foreground`,children:iv(e,r,t)});if(e.type===`boolean`)return(0,z.jsx)(H_,{checked:!!n,onChange:f,label:e.name});if(e.type===`relation`){let e=i??String(r??`—`);return(0,z.jsx)(`div`,{className:`py-1.5 text-[13px]`,children:a?(0,z.jsx)(Uv,{to:a,className:`font-medium text-primary-text hover:underline`,children:e}):e})}return!Jv(e)||c?(0,z.jsx)(`div`,{className:R(`py-1.5 text-[13px] tabular-nums`,e.type===`decimal`||e.type===`integer`?`font-medium`:`text-muted-foreground`),children:iv(e,r,t)}):e.type===`enum`?(0,z.jsxs)(`select`,{value:String(n),onChange:e=>f(e.target.value),className:`h-8 w-full rounded-md border border-border-strong bg-background px-2 text-[13px] shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:[n===``&&(0,z.jsx)(`option`,{value:``,children:`Choose...`}),(e.enumValues??[]).map(e=>(0,z.jsx)(`option`,{value:e,children:Bo(e,t?.valueLabels)},e))]}):(0,z.jsx)(Md,{invalid:s,leading:t?.prefix?(0,z.jsx)(`span`,{className:`text-[13px]`,children:t.prefix}):void 0,trailing:t?.suffix?(0,z.jsx)(`span`,{className:`text-[13px]`,children:t.suffix.trim()}):void 0,placeholder:l,className:R(xy.has(e.type)&&`text-right tabular-nums`),value:String(n),onChange:e=>f(e.target.value)})},Cy=e=>{let{field:t,hints:n,value:r,stored:i,invalid:a,locked:o,onChange:s}=e,c=gy(t,n),l=(0,z.jsx)(Sy,{...e});return c?o||!Jv(t)?(0,z.jsx)(by,{shown:c,part:`display`,field:t,value:i,fallback:l}):t.type===`file`||t.type===`relation`?l:(0,z.jsx)(by,{shown:c,part:`editor`,field:t,value:Xv(t,r),invalid:!!a,onChange:e=>s(Zv(t,e)),fallback:l}):l},wy=(e,t)=>e[t]||e.conditional.includes(t),Ty=(e,t)=>e.permissions?.[t]??!0,Ey=(e,t)=>e?.fields?e.fields[t]??`hidden`:`edit`,Dy=2e3,Oy=(e,t)=>{let n=Fg(),[r,i]=(0,o.useState)(`idle`),[a,s]=(0,o.useState)(),c=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>()=>clearTimeout(c.current),[]),{phase:r,message:a,run:async r=>{let a=e===`toast`?n.show({state:`loading`,title:`Saving ${t}...`}):void 0;s(void 0),e===`button`&&i(`saving`);try{await r(),a!==void 0&&n.update(a,{state:`success`,title:`${t} saved`}),e===`button`&&(i(`saved`),c.current=setTimeout(()=>i(`idle`),Dy))}catch(t){if(!ds(t))throw t;let r=t.status===412?`Changed by someone else`:`Could not save`;a!==void 0&&n.update(a,{state:`error`,title:r,description:t.message}),e===`button`&&(i(`idle`),s(`${r}: ${t.message}`))}}}};function ky(){var e=[...arguments];return(0,o.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ay=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function jy(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function My(e){return`nodeType`in e}function Ny(e){return e?jy(e)?e:My(e)?e.ownerDocument?.defaultView??window:window:window}function Py(e){let{Document:t}=Ny(e);return e instanceof t}function Fy(e){return!jy(e)&&e instanceof Ny(e).HTMLElement}function Iy(e){return e instanceof Ny(e).SVGElement}function Ly(e){return e?jy(e)?e.document:My(e)?Py(e)?e:Fy(e)||Iy(e)?e.ownerDocument:document:document:document}var Ry=Ay?o.useLayoutEffect:o.useEffect;function zy(e){let t=(0,o.useRef)(e);return Ry(()=>{t.current=e}),(0,o.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function By(){let e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Vy(e,t){t===void 0&&(t=[e]);let n=(0,o.useRef)(e);return Ry(()=>{n.current!==e&&(n.current=e)},t),n}function Hy(e,t){let n=(0,o.useRef)();return(0,o.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Uy(e){let t=zy(e),n=(0,o.useRef)(null);return[n,(0,o.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Wy(e){let t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}var Gy={};function Ky(e,t){return(0,o.useMemo)(()=>{if(t)return t;let n=Gy[e]==null?0:Gy[e]+1;return Gy[e]=n,e+`-`+n},[e,t])}function qy(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var Jy=qy(1),Yy=qy(-1);function Xy(e){return`clientX`in e&&`clientY`in e}function Zy(e){if(!e)return!1;let{KeyboardEvent:t}=Ny(e.target);return t&&e instanceof t}function Qy(e){if(!e)return!1;let{TouchEvent:t}=Ny(e.target);return t&&e instanceof t}function $y(e){if(Qy(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Xy(e)?{x:e.clientX,y:e.clientY}:null}var eb=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[eb.Translate.toString(e),eb.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),tb=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function nb(e){return e.matches(tb)?e:e.querySelector(tb)}var rb={display:`none`};function ib(e){let{id:t,value:n}=e;return o.createElement(`div`,{id:t,style:rb},n)}function ab(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return o.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function ob(){let[e,t]=(0,o.useState)(``);return{announce:(0,o.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var sb=(0,o.createContext)(null);function cb(e){let t=(0,o.useContext)(sb);(0,o.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function lb(){let[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var ub={draggable:`
9
9
  To pick up a draggable item, press the space bar.
10
10
  While dragging, use the arrow keys to move the item.
11
11
  Press space again to drop the item in its new position, or press escape to cancel.
12
- `},db={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function fb(e){let{announcements:t=db,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=ub}=e,{announce:a,announcement:s}=ob(),c=Ky(`DndLiveRegion`),[l,u]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{u(!0)},[]),cb((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!l)return null;let d=o.createElement(o.Fragment,null,o.createElement(ib,{id:r,value:i.draggable}),o.createElement(ab,{id:c,announcement:s}));return n?(0,Pn.createPortal)(d,n):d}var pb;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(pb||={});function mb(){}function hb(e,t){return(0,o.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function gb(){var e=[...arguments];return(0,o.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var _b=Object.freeze({x:0,y:0});function vb(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function yb(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function bb(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function xb(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Sb(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Cb(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var wb=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Cb(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=vb(Cb(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(yb)},Tb=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=xb(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=xb(r),o=i.reduce((e,t,r)=>e+vb(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(yb)};function Eb(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Db=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Eb(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(bb)};function Ob(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function kb(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:_b}function Ab(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var jb=Ab(1);function Mb(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Nb(e,t,n){let r=Mb(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Pb={ignoreTransform:!1};function Fb(e,t){t===void 0&&(t=Pb);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ny(e).getComputedStyle(e);t&&(n=Nb(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Ib(e){return Fb(e,{ignoreTransform:!0})}function Lb(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Rb(e,t){return t===void 0&&(t=Ny(e).getComputedStyle(e)),t.position===`fixed`}function zb(e,t){t===void 0&&(t=Ny(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Bb(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Py(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Fy(i)||Iy(i)||n.includes(i))return n;let a=Ny(e).getComputedStyle(i);return i!==e&&zb(i,a)&&n.push(i),Rb(i,a)?n:r(i.parentNode)}return e?r(e):n}function Vb(e){let[t]=Bb(e,1);return t??null}function Hb(e){return!Ay||!e?null:jy(e)?e:My(e)?Py(e)||e===Ly(e).scrollingElement?window:Fy(e)?e:null:null}function Ub(e){return jy(e)?e.scrollX:e.scrollLeft}function Wb(e){return jy(e)?e.scrollY:e.scrollTop}function Gb(e){return{x:Ub(e),y:Wb(e)}}var Kb;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Kb||={});function qb(e){return!Ay||!e?!1:e===document.scrollingElement}function Jb(e){let t={x:0,y:0},n=qb(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Yb={x:.2,y:.2};function Xb(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Yb);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Jb(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Kb.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Kb.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Kb.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Kb.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Zb(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Qb(e){return e.reduce((e,t)=>Jy(e,Gb(t)),_b)}function $b(e){return e.reduce((e,t)=>e+Ub(t),0)}function ex(e){return e.reduce((e,t)=>e+Wb(t),0)}function tx(e,t){if(t===void 0&&(t=Fb),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Vb(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var nx=[[`x`,[`left`,`right`],$b],[`y`,[`top`,`bottom`],ex]],rx=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Bb(t),r=Qb(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of nx)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},ix=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function ax(e){let{EventTarget:t}=Ny(e);return e instanceof t?e:Ly(e)}function ox(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var sx;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(sx||={});function cx(e){e.preventDefault()}function lx(e){e.stopPropagation()}var K;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(K||={});var ux={start:[K.Space,K.Enter],cancel:[K.Esc],end:[K.Space,K.Enter,K.Tab]},dx=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case K.Right:return{...n,x:n.x+25};case K.Left:return{...n,x:n.x-25};case K.Down:return{...n,y:n.y+25};case K.Up:return{...n,y:n.y-25}}},fx=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new ix(Ly(t)),this.windowListeners=new ix(Ny(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(sx.Resize,this.handleCancel),this.windowListeners.add(sx.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(sx.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&tx(n),t(_b)}handleKeyDown(e){if(Zy(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=ux,coordinateGetter:a=dx,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:_b;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Yy(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Jb(n),p=Zb(n),m={x:Math.min(i===K.Right?p.right-p.width/2:p.right,Math.max(i===K.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===K.Down?p.bottom-p.height/2:p.bottom,Math.max(i===K.Down?p.top:p.top+p.height/2,u.y))},h=i===K.Right&&!s||i===K.Left&&!c,g=i===K.Down&&!l||i===K.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===K.Right&&e<=d.x||i===K.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===K.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===K.Down&&e<=d.y||i===K.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===K.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Jy(Yy(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};fx.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=ux,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function px(e){return!!(e&&`distance`in e)}function mx(e){return!!(e&&`delay`in e)}var hx=class{constructor(e,t,n){n===void 0&&(n=ax(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Ly(i),this.documentListeners=new ix(this.document),this.listeners=new ix(n),this.windowListeners=new ix(Ny(i)),this.initialCoordinates=$y(r)??_b,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(sx.Resize,this.handleCancel),this.windowListeners.add(sx.DragStart,cx),this.windowListeners.add(sx.VisibilityChange,this.handleCancel),this.windowListeners.add(sx.ContextMenu,cx),this.documentListeners.add(sx.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(mx(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(px(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(sx.Click,lx,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(sx.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=$y(e)??_b,s=Yy(n,o);if(!t&&a){if(px(a)){if(a.tolerance!=null&&ox(s,a.tolerance))return this.handleCancel();if(ox(s,a.distance))return this.handleStart()}if(mx(a)&&ox(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===K.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},gx={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},_x=class extends hx{constructor(e){let{event:t}=e,n=Ly(t.target);super(e,gx,n)}};_x.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var vx={move:{name:`mousemove`},end:{name:`mouseup`}},yx;(function(e){e[e.RightClick=2]=`RightClick`})(yx||={});var bx=class extends hx{constructor(e){super(e,vx,Ly(e.event.target))}};bx.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==yx.RightClick&&(r?.({event:n}),!0)}}];var xx={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Sx=class extends hx{constructor(e){super(e,xx)}static setup(){return window.addEventListener(xx.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(xx.move.name,e)};function e(){}}};Sx.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Cx;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Cx||={});var wx;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(wx||={});function Tx(e){let{acceleration:t,activator:n=Cx.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:s=5,order:c=wx.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=Dx({delta:f,disabled:!a}),[h,g]=By(),_=(0,o.useRef)({x:0,y:0}),v=(0,o.useRef)({x:0,y:0}),y=(0,o.useMemo)(()=>{switch(n){case Cx.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Cx.DraggableRect:return i}},[n,i,l]),b=(0,o.useRef)(null),x=(0,o.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>c===wx.TreeOrder?[...u].reverse():u,[c,u]);(0,o.useEffect)(()=>{if(!a||!u.length||!y){g();return}for(let e of S){if(r?.(e)===!1)continue;let n=u.indexOf(e),i=d[n];if(!i)continue;let{direction:a,speed:o}=Xb(e,i,y,t,p);for(let e of[`x`,`y`])m[e][a[e]]||(o[e]=0,a[e]=0);if(o.x>0||o.y>0){g(),b.current=e,h(x,s),_.current=o,v.current=a;return}}_.current={x:0,y:0},v.current={x:0,y:0},g()},[t,x,r,g,a,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}var Ex={x:{[Kb.Backward]:!1,[Kb.Forward]:!1},y:{[Kb.Backward]:!1,[Kb.Forward]:!1}};function Dx(e){let{delta:t,disabled:n}=e,r=Wy(t);return Hy(e=>{if(n||!r||!e)return Ex;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Kb.Backward]:e.x[Kb.Backward]||i.x===-1,[Kb.Forward]:e.x[Kb.Forward]||i.x===1},y:{[Kb.Backward]:e.y[Kb.Backward]||i.y===-1,[Kb.Forward]:e.y[Kb.Forward]||i.y===1}}},[n,t,r])}function Ox(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Hy(e=>t==null?null:r??e??null,[r,t])}function kx(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Ax;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Ax||={});var jx;(function(e){e.Optimized=`optimized`})(jx||={});var Mx=new Map;function Nx(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,s]=(0,o.useState)(null),{frequency:c,measure:l,strategy:u}=i,d=(0,o.useRef)(e),f=_(),p=Vy(f),m=(0,o.useCallback)(function(e){e===void 0&&(e=[]),!p.current&&s(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),h=(0,o.useRef)(null),g=Hy(t=>{if(f&&!n)return Mx;if(!t||t===Mx||d.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new rx(l(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,f,l]);return(0,o.useEffect)(()=>{d.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{a&&a.length>0&&s(null)},[JSON.stringify(a)]),(0,o.useEffect)(()=>{f||typeof c!=`number`||h.current!==null||(h.current=setTimeout(()=>{m(),h.current=null},c))},[c,f,m,...r]),{droppableRects:g,measureDroppableContainers:m,measuringScheduled:a!=null};function _(){switch(u){case Ax.Always:return!1;case Ax.BeforeDragging:return n;default:return!n}}}function Px(e,t){return Hy(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Fx(e,t){return Px(e,t)}function Ix(e){let{callback:t,disabled:n}=e,r=zy(t),i=(0,o.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Lx(e){let{callback:t,disabled:n}=e,r=zy(t),i=(0,o.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Rx(e){return new rx(Fb(e),e)}function zx(e,t,n){t===void 0&&(t=Rx);let[r,i]=(0,o.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let s=Ix({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),c=Lx({callback:a});return Ry(()=>{a(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),r}function Bx(e){return kb(e,Px(e))}var Vx=[];function Hx(e){let t=(0,o.useRef)(e),n=Hy(n=>e?n&&n!==Vx&&e&&t.current&&e.parentNode===t.current.parentNode?n:Bb(e):Vx,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}function Ux(e){let[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),i=(0,o.useCallback)(e=>{let t=Hb(e.target);t&&n(e=>e?(e.set(t,Gb(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Hb(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Gb(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Hb(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Jy(e,t),_b):Qb(e):_b,[e,t])}function Wx(e,t){t===void 0&&(t=[]);let n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{let t=e!==_b;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Yy(e,n.current):_b}function Gx(e){(0,o.useEffect)(()=>{if(!Ay)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Kx(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function qx(e){return(0,o.useMemo)(()=>e?Lb(e):null,[e])}var Jx=[];function Yx(e,t){t===void 0&&(t=Fb);let[n]=e,r=qx(n?Ny(n):null),[i,a]=(0,o.useState)(Jx);function s(){a(()=>e.length?e.map(e=>qb(e)?r:new rx(t(e),e)):Jx)}let c=Lx({callback:s});return Ry(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),i}function Xx(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Fy(t)?t:e}function Zx(e){let{measure:t}=e,[n,r]=(0,o.useState)(null),i=Lx({callback:(0,o.useCallback)(e=>{for(let{target:n}of e)if(Fy(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,s]=Uy((0,o.useCallback)(e=>{let n=Xx(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,o.useMemo)(()=>({nodeRef:a,rect:n,setRef:s}),[n,a,s])}var Qx=[{sensor:_x,options:{}},{sensor:fx,options:{}}],$x={current:{}},eS={draggable:{measure:Ib},droppable:{measure:Ib,strategy:Ax.WhileDragging,frequency:jx.Optimized},dragOverlay:{measure:Fb}},tS=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},nS={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new tS,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:mb},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:eS,measureDroppableContainers:mb,windowRect:null,measuringScheduled:!1},rS={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:mb,draggableNodes:new Map,over:null,measureDroppableContainers:mb},iS=(0,o.createContext)(rS),aS=(0,o.createContext)(nS);function oS(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new tS}}}function sS(e,t){switch(t.type){case pb.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case pb.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case pb.DragEnd:case pb.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case pb.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new tS(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case pb.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new tS(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case pb.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new tS(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function cS(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,o.useContext)(iS),a=Wy(r),s=Wy(n?.id);return(0,o.useEffect)(()=>{if(!t&&!r&&a&&s!=null){if(!Zy(a)||document.activeElement===a.target)return;let e=i.get(s);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=nb(e);if(t){t.focus();break}}})}},[r,t,i,s,a]),null}function lS(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function uS(e){return(0,o.useMemo)(()=>({draggable:{...eS.draggable,...e?.draggable},droppable:{...eS.droppable,...e?.droppable},dragOverlay:{...eS.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function dS(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,o.useRef)(!1),{x:s,y:c}=typeof i==`boolean`?{x:i,y:i}:i;Ry(()=>{if(!s&&!c||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=kb(n(e),r);if(s||(i.x=0),c||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Vb(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,s,c,r,n])}var fS=(0,o.createContext)({..._b,scaleX:1,scaleY:1}),pS;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(pS||={});var mS=(0,o.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Qx,collisionDetection:s=Db,measuring:c,modifiers:l,...u}=e,[d,f]=(0,o.useReducer)(sS,void 0,oS),[p,m]=lb(),[h,g]=(0,o.useState)(pS.Uninitialized),_=h===pS.Initialized,{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=d,S=v==null?null:y.get(v),C=(0,o.useRef)({initial:null,translated:null}),w=(0,o.useMemo)(()=>v==null?null:{id:v,data:S?.data??$x,rect:C},[v,S]),T=(0,o.useRef)(null),[E,D]=(0,o.useState)(null),[O,k]=(0,o.useState)(null),A=Vy(u,Object.values(u)),j=Ky(`DndDescribedBy`,t),M=(0,o.useMemo)(()=>x.getEnabled(),[x]),N=uS(c),{droppableRects:ee,measureDroppableContainers:te,measuringScheduled:ne}=Nx(M,{dragging:_,dependencies:[b.x,b.y],config:N.droppable}),re=Ox(y,v),ie=(0,o.useMemo)(()=>O?$y(O):null,[O]),ae=Fe(),oe=Fx(re,N.draggable.measure);dS({activeNode:v==null?null:y.get(v),config:ae.layoutShiftCompensation,initialRect:oe,measure:N.draggable.measure});let se=zx(re,N.draggable.measure,oe),ce=zx(re?re.parentElement:null),le=(0,o.useRef)({activatorEvent:null,active:null,activeNode:re,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:y,draggingNode:null,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ue=x.getNodeFor(le.current.over?.id),P=Zx({measure:N.dragOverlay.measure}),de=P.nodeRef.current??re,fe=_?P.rect??se:null,pe=!!(P.nodeRef.current&&P.rect),me=Bx(pe?null:se),he=qx(de?Ny(de):null),ge=Hx(_?ue??re:null),_e=Yx(ge),ve=lS(l,{transform:{x:b.x-me.x,y:b.y-me.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:se,containerNodeRect:ce,draggingNodeRect:fe,over:le.current.over,overlayNodeRect:P.rect,scrollableAncestors:ge,scrollableAncestorRects:_e,windowRect:he}),ye=ie?Jy(ie,b):null,be=Ux(ge),xe=Wx(be),Se=Wx(be,[se]),Ce=Jy(ve,xe),we=fe?jb(fe,ve):null,Te=w&&we?s({active:w,collisionRect:we,droppableRects:ee,droppableContainers:M,pointerCoordinates:ye}):null,Ee=Sb(Te,`id`),[De,Oe]=(0,o.useState)(null),ke=Ob(pe?ve:Jy(ve,Se),De?.rect??null,se),Ae=(0,o.useRef)(null),je=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=y.get(T.current);if(!i)return;let a=e.nativeEvent,o=new n({active:T.current,activeNode:i,event:a,options:r,context:le,onAbort(e){if(!y.get(e))return;let{onDragAbort:t}=A.current,n={id:e};t?.(n),p({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!y.get(e))return;let{onDragPending:i}=A.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),p({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=y.get(t);if(!n)return;let{onDragStart:r}=A.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:C}};(0,Pn.unstable_batchedUpdates)(()=>{r?.(i),g(pS.Initializing),f({type:pb.DragStart,initialCoordinates:e,active:t}),p({type:`onDragStart`,event:i}),D(Ae.current),k(a)})},onMove(e){f({type:pb.DragMove,coordinates:e})},onEnd:s(pb.DragEnd),onCancel:s(pb.DragCancel)});Ae.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=le.current,o=null;if(t&&i){let{cancelDrop:s}=A.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===pb.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=pb.DragCancel)}T.current=null,(0,Pn.unstable_batchedUpdates)(()=>{f({type:e}),g(pS.Uninitialized),Oe(null),D(null),k(null),Ae.current=null;let t=e===pb.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=A.current[t];e?.(o),p({type:t,event:o})}})}}},[y]),Me=kx(a,(0,o.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=y.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,je(n,t))},[y,je]));Gx(a),Ry(()=>{se&&h===pS.Initializing&&g(pS.Initialized)},[se,h]),(0,o.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=le.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:Ce.x,y:Ce.y},over:i};(0,Pn.unstable_batchedUpdates)(()=>{e?.(a),p({type:`onDragMove`,event:a})})},[Ce.x,Ce.y]),(0,o.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=le.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=A.current,o=r.get(Ee),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Pn.unstable_batchedUpdates)(()=>{Oe(s),a?.(c),p({type:`onDragOver`,event:c})})},[Ee]),Ry(()=>{le.current={activatorEvent:O,active:w,activeNode:re,collisionRect:we,collisions:Te,droppableRects:ee,draggableNodes:y,draggingNode:de,draggingNodeRect:fe,droppableContainers:x,over:De,scrollableAncestors:ge,scrollAdjustedTranslate:Ce},C.current={initial:fe,translated:we}},[w,re,Te,we,y,de,fe,ee,x,De,ge,Ce]),Tx({...ae,delta:b,draggingRect:we,pointerCoordinates:ye,scrollableAncestors:ge,scrollableAncestorRects:_e});let Ne=(0,o.useMemo)(()=>({active:w,activeNode:re,activeNodeRect:se,activatorEvent:O,collisions:Te,containerNodeRect:ce,dragOverlay:P,draggableNodes:y,droppableContainers:x,droppableRects:ee,over:De,measureDroppableContainers:te,scrollableAncestors:ge,scrollableAncestorRects:_e,measuringConfiguration:N,measuringScheduled:ne,windowRect:he}),[w,re,se,O,Te,ce,P,y,x,ee,De,te,ge,_e,N,ne,he]),Pe=(0,o.useMemo)(()=>({activatorEvent:O,activators:Me,active:w,activeNodeRect:se,ariaDescribedById:{draggable:j},dispatch:f,draggableNodes:y,over:De,measureDroppableContainers:te}),[O,Me,w,se,f,j,y,De,te]);return o.createElement(sb.Provider,{value:m},o.createElement(iS.Provider,{value:Pe},o.createElement(aS.Provider,{value:Ne},o.createElement(fS.Provider,{value:ke},i)),o.createElement(cS,{disabled:n?.restoreFocus===!1})),o.createElement(fb,{...n,hiddenTextDescribedById:j}));function Fe(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=_&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),hS=(0,o.createContext)(null),gS=`button`,_S=`Draggable`;function vS(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Ky(_S),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,o.useContext)(iS),{role:m=gS,roleDescription:h=`draggable`,tabIndex:g=0}=i??{},_=l?.id===t,v=(0,o.useContext)(_?fS:hS),[y,b]=Uy(),[x,S]=Uy(),C=Kx(s,t),w=Vy(n);return Ry(()=>(f.set(t,{id:t,key:a,node:y,activatorNode:x,data:w}),()=>{let e=f.get(t);e&&e.key===a&&f.delete(t)}),[f,t]),{active:l,activatorEvent:c,activeNodeRect:u,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":r,"aria-pressed":_&&m===gS?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[r,m,g,_,h,d.draggable]),isDragging:_,listeners:r?void 0:C,node:y,over:p,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function yS(){return(0,o.useContext)(aS)}var bS=`Droppable`,xS={timeout:25};function SS(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Ky(bS),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,o.useContext)(iS),d=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),p=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...xS,...i},v=Vy(g??r),y=Lx({callback:(0,o.useCallback)(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),m.current=null},_)},[_]),disabled:h||!s}),[b,x]=Uy((0,o.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),S=Vy(t);return(0,o.useEffect)(()=>{y&&b.current&&(y.disconnect(),f.current=!1,y.observe(b.current))},[b,y]),(0,o.useEffect)(()=>(c({type:pb.RegisterDroppable,element:{id:r,key:a,disabled:n,node:b,rect:p,data:S}}),()=>c({type:pb.UnregisterDroppable,key:a,id:r})),[r]),(0,o.useEffect)(()=>{n!==d.current.disabled&&(c({type:pb.SetDroppableDisabled,id:r,key:a,disabled:n}),d.current.disabled=n)},[r,a,n,c]),{active:s,rect:p,isOver:l?.id===r,node:b,over:l,setNodeRef:x}}function CS(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wS(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function TS(e){return e!==null&&e>=0}function ES(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function DS(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var OS=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=CS(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},kS={scaleX:1,scaleY:1},AS=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...kS}:null}let s=jS(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...kS}:r<t&&r>=a?{x:0,y:o.height+s,...kS}:{x:0,y:0,...kS}};function jS(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var MS=`Sortable`,NS=o.createContext({activeIndex:-1,containerId:MS,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:OS,disabled:{draggable:!1,droppable:!1}});function PS(e){let{children:t,id:n,items:r,strategy:i=OS,disabled:a=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=yS(),f=Ky(MS,n),p=c.rect!==null,m=(0,o.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),h=s!=null,g=s?m.indexOf(s.id):-1,_=u?m.indexOf(u.id):-1,v=(0,o.useRef)(m),y=!ES(m,v.current),b=_!==-1&&g===-1||y,x=DS(a);Ry(()=>{y&&h&&d(m)},[y,m,h,d]),(0,o.useEffect)(()=>{v.current=m},[m]);let S=(0,o.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:wS(m,l),strategy:i}),[g,f,x.draggable,x.droppable,b,m,_,l,p,i]);return o.createElement(NS.Provider,{value:S},t)}var FS=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return CS(n,r,i).indexOf(t)},IS=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},LS={duration:200,easing:`ease`},RS=`transform`,zS=eb.Transition.toString({property:RS,duration:0,easing:`linear`}),BS={roleDescription:`sortable`};function VS(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,s]=(0,o.useState)(null),c=(0,o.useRef)(n);return Ry(()=>{if(!t&&n!==c.current&&r.current){let e=i.current;if(e){let t=Fb(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&s(n)}}n!==c.current&&(c.current=n)},[t,n,r,i]),(0,o.useEffect)(()=>{a&&s(null)},[a]),a}function HS(e){let{animateLayoutChanges:t=IS,attributes:n,disabled:r,data:i,getNewIndex:a=FS,id:s,strategy:c,resizeObserverConfig:l,transition:u=LS}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,o.useContext)(NS),b=US(r,m),x=d.indexOf(s),S=(0,o.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...i}),[f,i,x,d]),C=(0,o.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:D}=SS({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:O,activatorEvent:k,activeNodeRect:A,attributes:j,setNodeRef:M,listeners:N,isDragging:ee,over:te,setActivatorNodeRef:ne,transform:re}=vS({id:s,data:S,attributes:{...BS,...n},disabled:b.draggable}),ie=ky(D,M),ae=!!O,oe=ae&&!h&&TS(p)&&TS(_),se=!v&&ee,ce=oe?(se&&oe?re:null)??(c??y)({rects:g,activeNodeRect:A,activeIndex:p,overIndex:_,index:x}):null,le=TS(p)&&TS(_)?a({id:s,items:d,activeIndex:p,overIndex:_}):x,ue=O?.id,P=(0,o.useRef)({activeId:ue,items:d,newIndex:le,containerId:f}),de=d!==P.current.items,fe=t({active:O,containerId:f,isDragging:ee,isSorting:ae,id:s,index:x,items:d,newIndex:P.current.newIndex,previousItems:P.current.items,previousContainerId:P.current.containerId,transition:u,wasDragging:P.current.activeId!=null}),pe=VS({disabled:!fe,index:x,node:T,rect:w});return(0,o.useEffect)(()=>{ae&&P.current.newIndex!==le&&(P.current.newIndex=le),f!==P.current.containerId&&(P.current.containerId=f),d!==P.current.items&&(P.current.items=d)},[ae,le,f,d]),(0,o.useEffect)(()=>{if(ue===P.current.activeId)return;if(ue!=null&&P.current.activeId==null){P.current.activeId=ue;return}let e=setTimeout(()=>{P.current.activeId=ue},50);return()=>clearTimeout(e)},[ue]),{active:O,activeIndex:p,attributes:j,data:S,rect:w,index:x,newIndex:le,items:d,isOver:E,isSorting:ae,isDragging:ee,listeners:N,node:T,overIndex:_,over:te,setNodeRef:ie,setActivatorNodeRef:ne,setDroppableNodeRef:D,setDraggableNodeRef:M,transform:pe??ce,transition:me()};function me(){if(pe||de&&P.current.newIndex===x)return zS;if(!(se&&!Zy(k)||!u)&&(ae||fe))return eb.Transition.toString({...u,property:RS})}}function US(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function WS(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var GS=[K.Down,K.Right,K.Up,K.Left],KS=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(GS.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case K.Down:r.top<a.top&&t.push(n);break;case K.Up:r.top>a.top&&t.push(n);break;case K.Left:r.left>a.left&&t.push(n);break;case K.Right:r.left<a.left&&t.push(n)}});let c=Tb({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=Sb(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Bb(c).some((e,t)=>s[t]!==e),i=qS(e,t),a=JS(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Yy(u,l)}}}};function qS(e,t){return!WS(e)||!WS(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function JS(e,t){return!WS(e)||!WS(t)||!qS(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var YS=Date.UTC(2026,9,6,9,41),XS=(e,t)=>{let n=(e^Math.imul(t+2654435769,2246822507))>>>0;return n=Math.imul(n^n>>>16,2246822507),n=Math.imul(n^n>>>13,3266489909),(n^n>>>16)>>>0},ZS=(e,t)=>{let n=XS(e,t);return()=>{n=n+1831565813>>>0;let e=n;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}},QS=[{id:`u1`,name:`Sanne M.`,initials:`SM`,hue:250,role:`Admin`},{id:`u2`,name:`Jonas K.`,initials:`JK`,hue:160,role:`Sales`},{id:`u3`,name:`Lieke D.`,initials:`LD`,hue:20,role:`Finance`},{id:`u4`,name:`Tobias R.`,initials:`TR`,hue:310,role:`Warehouse`},{id:`u5`,name:`Imke V.`,initials:`IV`,hue:200,role:`Sales`},{id:`u6`,name:`Marek W.`,initials:`MW`,hue:80,role:`Warehouse`},{id:`u7`,name:`Hanna B.`,initials:`HB`,hue:350,role:`Finance`},{id:`u8`,name:`Daan P.`,initials:`DP`,hue:120,role:`Sales`}],$S=e=>QS.find(t=>t.id===e)??QS[0];QS.filter(e=>e.role===`Sales`);var eC=[[`M8 hex bolt A2, 100 pcs`,`FST`,1890],[`M10 hex nut A2, 100 pcs`,`FST`,1240],[`Stainless washer 8 mm, 250 pcs`,`FST`,990],[`Cable tie 300 mm, 100 pcs`,`ELC`,650],[`Cable gland M20, 25 pcs`,`ELC`,2340],[`Junction box IP65`,`ELC`,1480],[`Hydraulic hose 1/2 in, 5 m`,`HYD`,8650],[`Hydraulic coupling 3/8 in`,`HYD`,1895],[`Pallet wrap 500 mm`,`PKG`,740],[`Corrugated box 400 x 300`,`PKG`,215],[`Bubble wrap roll 50 m`,`PKG`,1990],[`Safety gloves, size L`,`PPE`,395],[`Safety glasses, clear`,`PPE`,450],[`Ear defenders SNR 31`,`PPE`,1295],[`Ball bearing 6204-2RS`,`BRG`,685],[`Taper roller bearing 30205`,`BRG`,1420],[`Timing belt HTD 5M, 600 mm`,`BLT`,2780],[`V-belt SPA 1250`,`BLT`,1360],[`Grease cartridge, 400 g`,`LUB`,920],[`Machine oil ISO 68, 5 l`,`LUB`,3950],[`Angle grinder disc 125 mm, 10 pcs`,`ABR`,1880],[`Drill bit set HSS, 19 pcs`,`TLS`,3490],[`Torque wrench 20-100 Nm`,`TLS`,14900],[`Pneumatic cylinder 40 x 100`,`PNE`,6120],[`Air hose PU 8 mm, 20 m`,`PNE`,2475],[`LED panel 600 x 600, 40 W`,`LGT`,3290],[`Pallet label roll 100 x 150`,`LBL`,1175],[`Thermal printer ribbon`,`LBL`,890],[`Euro pallet EPAL, used`,`PLT`,1150],[`Roll container, galvanised`,`PLT`,9800]];eC.length;var tC=e=>{let[t,n,r]=eC[e%eC.length],i=e%eC.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},nC=e=>e.quantity*e.unitPriceCents,rC=(e,t=.21)=>{let n=e.reduce((e,t)=>e+nC(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},iC=864e5,aC=e=>Array.from({length:e},(t,n)=>{let r=YS-(e-1-n)*iC,i=new Date(r).getUTCDay();return{at:r,count:Math.round((i===0||i===6?120:410)*(.8+ZS(71,n)()*.45)*(1+n/e/3))}}),oC=e=>{if(e===`day`)return aC(30);let t=aC(84);return Array.from({length:12},(e,n)=>{let r=t.slice(n*7,n*7+7);return{at:r[0].at,count:r.reduce((e,t)=>e+t.count,0)}})},sC=`grid grid-cols-[28px_minmax(0,1fr)_88px_112px_112px_32px] items-center gap-2 pointer-coarse:grid-cols-[44px_minmax(0,1fr)_88px_112px_112px_44px]`,cC=({items:e,label:t})=>{let[n,r]=(0,o.useState)(!1),i=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!n)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!i.current?.contains(e.target))&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[n]),(0,z.jsxs)(`div`,{ref:i,className:`relative flex justify-center`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex size-7 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,z.jsx)(ze,{className:`size-4`})}),n&&(0,z.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:e.map(e=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:R(`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted disabled:text-faint-foreground disabled:hover:bg-transparent`,e.destructive&&`text-danger-text`),onClick:()=>{r(!1),e.onSelect()},children:e.label})},e.label))})]})},lC=({value:e,onCommit:t,format:n,parse:r,label:i,width:a=`w-full`})=>{let[s,c]=(0,o.useState)(null);return(0,z.jsx)(`input`,{"aria-label":i,inputMode:`decimal`,value:s??n(e),onFocus:e=>e.currentTarget.select(),onChange:e=>c(e.target.value),onBlur:()=>{if(s===null)return;let e=r(s);c(null),Number.isFinite(e)&&e>=0&&t(e)},onKeyDown:e=>e.key===`Enter`&&e.currentTarget.blur(),className:R(`h-7 rounded-md border border-transparent bg-transparent px-2 text-right text-[13px] tabular-nums text-foreground outline-none hover:border-border-strong focus:border-primary focus:bg-background focus:ring-2 focus:ring-primary/20`,a)})},uC=e=>Math.round(Number(e.replace(`,`,`.`).replace(/[^0-9.]/g,``))*100),dC=({line:e,position:t,count:n,reorderable:r,editable:i,onChange:a,onRemove:o,onMove:s})=>{let{attributes:c,listeners:l,setNodeRef:u,setActivatorNodeRef:d,transform:f,transition:p,isDragging:m}=HS({id:e.id,disabled:!r}),h=[...r?[{label:`Move up`,disabled:t===0,onSelect:()=>s(t-1)},{label:`Move down`,disabled:t===n-1,onSelect:()=>s(t+1)}]:[],...i?[{label:`Remove line`,destructive:!0,onSelect:o}]:[]];return(0,z.jsxs)(`div`,{ref:u,"data-line-id":e.id,style:{transform:f?`translate3d(0, ${f.y}px, 0)`:void 0,transition:p},className:R(`group relative border-b border-border bg-background px-2 py-1 last:border-b-0 hover:bg-surface`,sC,m&&`z-10 bg-surface opacity-80 shadow-pop`),children:[r?(0,z.jsx)(`button`,{ref:d,type:`button`,"aria-label":`Drag to reorder ${e.description}`,...c,...l,style:{touchAction:`none`},className:`flex size-7 cursor-grab items-center justify-center rounded text-faint-foreground opacity-60 hover:bg-muted hover:opacity-100 focus-visible:opacity-100 active:cursor-grabbing pointer-coarse:size-11`,children:(0,z.jsx)(Xe,{className:`size-4`})}):(0,z.jsx)(`span`,{}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`truncate text-[13px] text-foreground`,children:e.description}),(0,z.jsx)(`p`,{className:`font-mono text-[11px] text-faint-foreground`,children:e.productId})]}),i?(0,z.jsx)(lC,{label:`Quantity`,value:e.quantity,format:String,parse:e=>Math.round(Number(e)),onCommit:e=>a({quantity:e})}):(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] tabular-nums`,children:e.quantity}),i?(0,z.jsx)(lC,{label:`Unit price`,value:e.unitPriceCents,format:e=>(e/100).toFixed(2),parse:uC,onCommit:e=>a({unitPriceCents:e})}):(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] tabular-nums`,children:(e.unitPriceCents/100).toFixed(2)}),(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] font-medium tabular-nums text-foreground`,children:df(nC(e))}),h.length>0?(0,z.jsx)(cC,{label:`Actions for ${e.description}`,items:h}):(0,z.jsx)(`span`,{})]})},fC=(e,t,n)=>{if(t===n||t<0||t>=e.length)return[...e];let r=[...e],[i]=r.splice(t,1);return r.splice(Math.min(Math.max(n,0),r.length),0,i),r},pC=({lines:e,vatRate:t})=>{let n=rC(e,t);return(0,z.jsxs)(`dl`,{className:`ml-auto grid w-64 grid-cols-[1fr_auto] gap-x-6 gap-y-1 px-2 pt-3 text-[13px] tabular-nums`,children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:`Subtotal`}),(0,z.jsx)(`dd`,{className:`text-right text-foreground`,children:df(n.subtotalCents)}),(0,z.jsxs)(`dt`,{className:`text-muted-foreground`,children:[`VAT `,Math.round(t*100),`%`]}),(0,z.jsx)(`dd`,{className:`text-right text-foreground`,children:df(n.vatCents)}),(0,z.jsx)(`dt`,{className:`mt-1 border-t border-border pt-2 font-semibold text-foreground`,children:`Total`}),(0,z.jsx)(`dd`,{className:`mt-1 border-t border-border pt-2 text-right text-[15px] font-semibold text-foreground`,children:df(n.totalCents)})]})},mC=`px-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,hC=`To pick up a line, press space or enter on its drag handle. Use the up and down arrow keys to move it, space or enter to drop it, and escape to cancel. The row menu also has Move up and Move down.`,gC=e=>{let t=t=>e.find(e=>e.id===t)?.description??`line`,n=t=>e.findIndex(e=>e.id===t)+1;return{onDragStart:({active:r})=>`Picked up ${t(r.id)}, line ${n(r.id)} of ${e.length}.`,onDragOver:({active:r,over:i})=>i?`${t(r.id)} is over line ${n(i.id)} of ${e.length}.`:void 0,onDragEnd:({active:r,over:i})=>i?`${t(r.id)} was dropped at line ${n(i.id)} of ${e.length}.`:`${t(r.id)} was dropped where it started.`,onDragCancel:({active:e})=>`Moving ${t(e.id)} was cancelled. It is back at line ${n(e.id)}.`}},_C=({lines:e,onChange:t,onReorder:n,vatRate:r=.21,readOnly:i,reorderable:a=!i})=>{let o=gb(hb(bx,{activationConstraint:{distance:4}}),hb(Sx,{activationConstraint:{delay:250,tolerance:5}}),hb(fx,{coordinateGetter:KS})),s=(r,i)=>{let a=e[r];!a||i<0||i>=e.length||r===i||(n??(e=>t(e)))(fC(e,r,i),{id:a.id,from:r,to:i})};return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,z.jsxs)(`div`,{className:`${sC} border-b border-border bg-surface px-2 py-2`,children:[(0,z.jsx)(`span`,{}),(0,z.jsx)(`span`,{className:mC,children:`Item`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Qty`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Unit price`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Line total`}),(0,z.jsx)(`span`,{})]}),(0,z.jsx)(mS,{sensors:o,collisionDetection:wb,onDragEnd:({active:t,over:n})=>{n&&t.id!==n.id&&s(e.findIndex(e=>e.id===t.id),e.findIndex(e=>e.id===n.id))},accessibility:{announcements:gC(e),screenReaderInstructions:{draggable:hC}},children:(0,z.jsx)(PS,{items:e.map(e=>e.id),strategy:AS,children:e.map((n,r)=>(0,z.jsx)(dC,{line:n,position:r,count:e.length,reorderable:a,editable:!i,onChange:r=>t(e.map(e=>e.id===n.id?{...e,...r}:e)),onRemove:()=>t(e.filter(e=>e.id!==n.id)),onMove:e=>s(r,e)},n.id))})}),!i&&(0,z.jsx)(`div`,{className:`border-t border-border bg-surface px-2 py-1.5`,children:(0,z.jsxs)(V,{variant:`ghost`,size:`sm`,onClick:()=>{let n=tC(e.length*3+1);t([...e,{id:`new-${e.length}-${n.id}`,productId:n.id,description:n.name,quantity:1,unitPriceCents:n.priceCents}])},children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`Add line`]})})]}),(0,z.jsx)(pC,{lines:e,vatRate:r})]})},vC=({label:e,required:t,help:n,example:r,error:i,conflict:a,children:o})=>(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2`,children:[(0,z.jsxs)(`label`,{className:`text-[13px] font-medium text-foreground`,children:[e,t&&(0,z.jsx)(`span`,{className:`ml-0.5 text-danger-text`,"aria-label":`required`,children:`*`})]}),a&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-warning-text`,title:`${a.user.name} saved a different value`,children:[(0,z.jsx)(vn,{className:`size-3.5`}),(0,z.jsx)(Ju,{initials:a.user.initials,hue:a.user.hue,size:`xs`})]})]}),o,n&&(0,z.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:n}),r&&(0,z.jsxs)(`p`,{className:`mt-0.5 text-xs text-faint-foreground`,children:[`Example: `,r]}),i&&(0,z.jsx)(`p`,{className:`mt-1.5 text-xs font-medium text-danger-text`,children:i}),a&&(0,z.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-3 rounded-md border border-warning/30 bg-warning-soft px-3 py-2 text-xs text-warning-text`,children:[(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:a.user.name}),` saved this `,a.ago,`: `,(0,z.jsx)(`strong`,{children:a.theirValue})]}),(0,z.jsxs)(`span`,{className:`flex gap-1.5`,children:[(0,z.jsx)(V,{size:`sm`,onClick:a.onKeepMine,children:`Keep mine`}),(0,z.jsx)(V,{size:`sm`,onClick:a.onUseTheirs,children:`Use theirs`})]})]})]}),yC=({title:e,help:t,actions:n,children:r})=>{let i=(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold text-foreground`,children:e});return(0,z.jsxs)(`section`,{className:`py-8 first:pt-8`,children:[n?(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[i,n]}):i,t&&(0,z.jsx)(`p`,{className:`mt-1 max-w-xl text-[13px] leading-relaxed text-muted-foreground`,children:t}),(0,z.jsx)(`div`,{className:`mt-5`,children:r})]})},bC=({actions:e})=>(0,z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,z.jsx)(`h3`,{className:`hidden border-b border-border px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground md:block`,children:`Actions`}),(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-2 p-2 md:block md:divide-y md:divide-border md:p-0`,children:e.map(({name:e,description:t,icon:n,onRun:r,blocked:i,running:a})=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:r,disabled:!!i||a,title:i,className:`flex min-h-11 items-center gap-2 rounded-md border border-border-strong px-3 text-left hover:bg-surface disabled:cursor-default disabled:opacity-60 md:min-h-0 md:w-full md:items-start md:gap-3 md:rounded-none md:border-0 md:px-4 md:py-3`,children:[(0,z.jsx)(n,{className:`size-4 shrink-0 text-muted-foreground md:mt-0.5`}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`span`,{className:`block text-[13px] font-medium text-foreground`,children:e}),t&&(0,z.jsx)(`span`,{className:`mt-0.5 hidden text-xs leading-snug text-muted-foreground md:block`,children:t})]})]})},e))})]}),xC=({rows:e})=>(0,z.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-[13px]`,children:e.map(e=>(0,z.jsxs)(`div`,{className:`contents`,children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,z.jsx)(`dd`,{className:`text-right tabular-nums text-foreground`,children:e.value})]},e.label))}),SC=({records:e,onNavigate:t})=>(0,z.jsx)(`ul`,{className:`-mx-2`,children:e.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`a`,{href:e.href??`#`,onClick:n=>{n.preventDefault(),e.href&&t?.(e.href)},className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-[11px] uppercase tracking-wide text-faint-foreground`,children:e.kind}),(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium text-primary-text`,children:e.label}),e.meta&&(0,z.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.meta})]}),(0,z.jsx)(_e,{className:`size-4 shrink-0 text-faint-foreground group-hover:text-foreground`})]})},e.label))}),CC=({title:e,children:t})=>(0,z.jsxs)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,z.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),wC=({title:e,rows:t})=>t.length===0?null:(0,z.jsx)(CC,{title:e,children:(0,z.jsx)(xC,{rows:t})}),TC=({collection:e,title:t,status:n,lastEditedBy:r,presence:i=[],actions:a})=>(0,z.jsxs)(`header`,{className:`flex flex-col gap-4 border-b border-border pb-6 md:flex-row md:items-end md:justify-between md:gap-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,z.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground md:text-2xl`,children:t}),(0,z.jsx)(rd,{tone:n.tone,children:n.label})]}),(0,z.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:r.name?(0,z.jsxs)(z.Fragment,{children:[`Last edited by `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:r.name}),` `,r.ago]}):(0,z.jsxs)(z.Fragment,{children:[`Last updated `,r.ago]})})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-4`,children:[i.length>0&&(0,z.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(Yu,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),EC=({noun:e,collection:t,sections:n,saving:r,message:i,onSubmit:a,onCancel:o})=>(0,z.jsx)(`form`,{className:`min-h-0 flex-1 overflow-y-auto`,onSubmit:e=>{e.preventDefault(),a()},children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-[760px] px-4 py-6 md:px-10 md:py-8`,children:[(0,z.jsxs)(`header`,{className:`flex flex-col gap-4 border-b pb-6 sm:flex-row sm:items-end sm:justify-between sm:gap-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t}),(0,z.jsxs)(`h1`,{className:`mt-1 text-2xl font-semibold tracking-tight`,children:[`New `,e.toLowerCase()]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(V,{className:`max-sm:min-h-11`,onClick:o,children:`Cancel`}),(0,z.jsxs)(V,{variant:`primary`,type:`submit`,className:`max-sm:min-h-11 max-sm:flex-1`,loading:r,children:[`Create `,e.toLowerCase()]})]})]}),i&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`Not created`,error:Error(i)})}),(0,z.jsx)(`div`,{className:`divide-y divide-border`,children:n.map(e=>(0,z.jsx)(yC,{title:e.title,help:e.help,children:(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:e.fields.map(e=>(0,z.jsx)(vC,{label:e.label,required:e.required,help:e.help,error:e.error,children:e.editor},e.name))})},e.title))})]})}),DC=e=>typeof e==`object`&&!!e&&`key`in e,OC=(e,t)=>t.name!==e.tenant&&!t.readOnly&&(t.type===`relation`||Jv(t)),kC=(e,t)=>{let n=Object.values(e.fields).filter(t=>OC(e,t)).map(e=>e.name),r=new Set,i=(t?.layout??[]).flatMap(e=>{if(e.kind!==`section`)return[];let t=e.fields.filter(e=>n.includes(e)&&!r.has(e));return t.forEach(e=>r.add(e)),t.length>0?[{title:e.title,help:e.help,fields:t}]:[]}),a=n.filter(e=>!r.has(e));return a.length===0?i:[...i,{title:i.length===0?`Details`:`Other fields`,fields:a}]},AC=(e,t)=>(e?.primaryKey.length===1?e.fields[e.primaryKey[0]]?.type:void 0)===`integer`?Number(t):t,jC=(e,t,n)=>Object.fromEntries(Object.entries(n).flatMap(([n,r])=>{let i=e.fields[n];return i?DC(r)?[[n,AC(t[i.relation?.resource??``],r.key)]]:i.type===`boolean`?[[n,!!r]]:i.type===`file`?r?[[n,Yv(i,r)]]:[]:String(r).trim()===``?[]:[[n,Yv(i,r)]]:[]})),MC=e=>!e.nullable&&!e.default&&e.type!==`boolean`,NC=(e,t)=>e.type===`relation`?{key:t,label:t}:e.type===`boolean`?t===`true`:t,PC=(e,t,n={})=>Object.fromEntries(t.flatMap(t=>t.fields.flatMap(t=>{let r=e.fields[t];if(Object.hasOwn(n,t))return[[t,NC(r,n[t])]];let i=r.default;return!i||!(`value`in i)||i.value===null||i.value===void 0?[]:[[t,typeof i.value==`boolean`?i.value:String(i.value)]]}))),FC=e=>!!(e.default&&`db`in e.default),IC=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),LC=({resource:e,values:t})=>{let n=G(),r=n.resources[e],i=Vv(e);return r?wy(i,`create`)?(0,z.jsx)(RC,{resource:e,values:t}):(0,z.jsxs)(Rv,{title:`Not allowed`,children:[`You cannot create `,n.views[e]?.names?.plural.toLowerCase()??e,`.`]}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e,`.`]})},RC=({resource:e,values:t})=>{let n=G(),r=n.resources[e],i=n.views[e],a=U(),s=qp(),{go:c}=Hv(),l=i?.names?.singular??W(e),u=Oy(i?.saveFeedback??`toast`,`New ${l.toLowerCase()}`),d=kC(r,i),[f,p]=(0,o.useState)(()=>PC(r,d,t)),[m,h]=(0,o.useState)({});(0,o.useEffect)(()=>{for(let[e,i]of Object.entries(t??{})){let t=n.resources[r.fields[e]?.relation?.resource??``];t&&R_(s,a,t,[i],n.views[t.name]).then(t=>{let n=t.get(i);n&&p(t=>DC(t[e])&&t[e].key===i?{...t,[e]:{key:i,label:n}}:t)})}},[t,n,r,a,s]);let g=(e,t)=>{h(t=>IC(t,e)),p(n=>({...n,[e]:t}))},_=()=>u.run(async()=>{let t;try{t=await a.create(e,jC(r,n.resources,f))}catch(e){throw ds(e)&&h(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),e}for(let t of[`page`,`list`,`first-page`,`map`,`facets`,`series`])s.invalidateQueries({queryKey:[t,e]});c({kind:`record`,resource:e,key:vg(r,t.record)},{replace:!0})}),v=d.map(e=>({title:e.title,help:e.help,fields:e.fields.map(e=>{let t=r.fields[e],a=f[e],o=t.relation?n.resources[t.relation.resource]:void 0;return{name:e,label:i?.fields[e]?.label??W(e),help:i?.fields[e]?.help,required:MC(t),error:m[e],editor:(0,z.jsx)(Cy,{field:t,hints:i?.fields[e],value:DC(a)?a.key:a??(t.type!==`boolean`&&``),stored:void 0,relationLabel:DC(a)?a.label:void 0,placeholder:FC(t)?`Set by the database`:void 0,relationPicker:o?{target:o,view:n.views[o.name]}:void 0,invalid:!!m[e],resource:r.name,onChange:t=>g(e,t)})}})}));return(0,z.jsx)(EC,{noun:l,collection:i?.names?.plural??W(e),sections:v,saving:u.phase===`saving`,message:u.message,onSubmit:()=>void _(),onCancel:()=>c({kind:`list`,resource:e})})};function zC(e){return BC(e)||typeof e==`function`||VC(e)}function BC(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function VC(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function HC(e,t){return e==null?null:zC(e)?o.createElement(e,t):e}function UC(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?HC(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:HC(n.cell,t.getContext())}return`header`in e&&e.header?HC(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?HC(e.footer.column.columnDef.footer,e.footer.getContext()):null}function WC({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function GC(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var KC=[],qC=0,{link:JC,unlink:YC,propagate:XC,checkDirty:ZC,shallowPropagate:QC}=WC({update(e){return e._update()},notify(e){KC[ew++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,iw(e))}}),$C=0,ew=0,tw,nw=0;function rw(e){try{++nw,e()}finally{--nw||aw()}}function iw(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=YC(n,e)}function aw(){if(!(nw>0)){for(;$C<ew;){let e=KC[$C];KC[$C++]=void 0,e.notify()}$C=0,ew=0}}function ow(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return tw!==void 0&&JC(i,tw,qC),i._snapshot},subscribe(e){let t=GC(e),n={current:!1},r=sw(()=>{i.get(),n.current?(tw=void 0,t.next?.(i._snapshot)):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=tw,o=t?.compare??Object.is;if(n)tw=i,++qC,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{tw=a,n&&(i.flags&=-5),iw(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&ZC(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&QC(e)}}else e&32&&(i.flags=e&-33);return tw!==void 0&&JC(i,tw,qC),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(XC(e),QC(e),aw())}},i}function sw(e){let t=()=>{let t=tw;tw=n,++qC,n.depsTail=void 0,n.flags=6;try{return e()}finally{tw=t,n.flags&=-5,iw(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&ZC(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,iw(this)}};return t(),n}function cw(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=lw(e);if(n.length!==lw(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function lw(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}var uw=n((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),dw=n(((e,t)=>{t.exports=uw()})),fw=n((e=>{var t=r(),n=dw();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),pw=n(((e,t)=>{t.exports=fw()}))();function mw(e,t){return e===t}function hw(e,t=e=>e,n){let r=n?.compare??mw,i=(0,o.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,o.useCallback)(()=>e.get(),[e]);return(0,pw.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function gw(e){let t=hw(e.source,e.selector,{compare:cw});return typeof e.children==`function`?e.children(t):e.children}function _w(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function vw(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function yw(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function bw(){return vw({createAtom:ow,batch:rw})}function xw(e,t){return typeof e==`function`?e(t):e}function Sw(e){if(Array.isArray(e))return e.map(Sw);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?ww():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:Sw(e[i]),writable:!0})}return n}return e}function Cw(e,t){let n=Object.keys(t),r=e;for(let e=0;e<n.length;e++){let i=n[e];!i.startsWith(`_memo_`)&&i!==`_cellsCache`&&(r[i]=t[i])}return e}function ww(){return Object.create(null)}function Tw(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ew(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>xw(n,e))}}function Dw(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ow(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var kw=3;function Aw(e,t){return jw(e,t,kw)}function jw(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!Dw(e)||!Dw(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=Ow(e),i=Ow(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!jw(a[i],o[i],n-1))return!1}return!0}function Mw(e,t,n,r=Aw){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=xw(n,e);return r(e,t)?e:t})}function Nw(e){return e instanceof Function}function Pw(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var Fw=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function Iw(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function Lw({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return Fw({...a,...s})}function Rw(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function zw(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=Rw(r);t[n]=a?Lw({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function Bw(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=Rw(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=Lw({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function Vw(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function Hw(e){return e.row.getValue(e.column.id)}function Uw(e){return e.getValue()??e.table.options.renderFallbackValue}function Ww(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var Gw={assignCellPrototype:(e,t)=>{Bw(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>Hw(e)},cell_renderValue:{fn:e=>Uw(e)},cell_getContext:{fn:e=>Ww(e),memoDeps:e=>[e]}})}};function Kw(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function qw(e,t,n){let r=Kw(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Jw(){return{start:[],end:[]}}function Yw(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>Vw(e,`getIsVisible`,Yw)):(Tw(t,e.id)?t[e.id]:void 0)??!0}function Xw(e){return e.getAllLeafColumns().filter(e=>Vw(e,`getIsVisible`,Yw))}function Zw(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];Vw(i,`getIsVisible`,Yw)&&i.columns.length&&(n=Math.max(n,Zw(i.columns,t+1)))}return n}function Qw(e,t){return e?`${e}_${t}`:String(t)}function $w(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function eT(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function tT(e,t,n,r,i,a){let o={depth:t,id:Qw(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=qw(n,u,{id:$w(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(eT(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&tT(s,t-1,n,r,i,a)}function nT(e){for(let t=0;t<e.length;t++){let n=e[t];if(!Vw(n.column,`getIsVisible`,Yw))continue;let r=0;if(n.subHeaders.length){nT(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];Vw(t.column,`getIsVisible`,Yw)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function rT(e,t,n,r){let i=Zw(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=qw(n,t[e],{depth:i,index:e}));return tT(s,i-1,n,r,a,o),a.reverse(),nT(a[0]?.headers??[]),a}function iT(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function aT(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=iT(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function oT(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return sT(e,r)}}function sT(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function cT(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function lT(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return Vw(e.table,`getOrderColumns`,oT)(t)}return[e]}function uT(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function dT(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=aT(e,o,r,n),c=o;s.columns=c.columns?dT(e,c.columns,s,r+1):[],i[a]=s}return i}function fT(e){return dT(e,e.options.columns)}function pT(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function mT(e){let t=ww(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function hT(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return Vw(e,`getOrderColumns`,oT)(t)}function gT(e){let t=ww(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function _T(e,t){return e.getAllFlatColumnsById()[t]}var vT={assignColumnPrototype:(e,t)=>{Bw(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>cT(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>lT(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{zw(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>uT(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>fT(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>pT(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>mT(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>hT(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>gT(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>_T(e,t)}})}};function yT(e,t){for(let n=0;n<e.subHeaders.length;n++)yT(e.subHeaders[n],t);t.push(e)}function bT(e){let t=[];return yT(e,t),t}function xT(e){return{column:e.column,header:e,table:e.column.table}}function ST(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??Jw(),r=e.getAllColumns(),i=Vw(e,`getVisibleLeafColumns`,Xw);if(!t.length&&!n.length)return rT(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&Vw(n,`getIsVisible`,Yw)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&Vw(t,`getIsVisible`,Yw)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return rT(r,[...o,...c,...s],e)}function CT(e){return[...e.getHeaderGroups()].reverse()}function wT(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function TT(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var ET={assignHeaderPrototype:(e,t)=>{Bw(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>bT(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>xT(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{zw(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>ST(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>CT(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>wT(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>TT(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function DT(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var OT=(e,t,n,r,i,a,o)=>{let s=DT(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=ww(),c._valuesCache=ww(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c},kT=/([0-9]+)/gm;function AT(e){let t=Object.assign((e,n,r)=>{let i=e.getValue(r),a=n.getValue(r),o=t.resolveDataValue;return o&&(i=o(i),a=o(a)),t.sort(i,a,e,n,r)},e);return t}AT({resolveDataValue:e=>PT(e).toLowerCase(),sort:(e,t)=>FT(e,t)}),AT({resolveDataValue:e=>PT(e),sort:(e,t)=>FT(e,t)}),AT({resolveDataValue:e=>PT(e).toLowerCase(),sort:(e,t)=>MT(e,t)}),AT({resolveDataValue:e=>PT(e),sort:(e,t)=>MT(e,t)}),AT({resolveDataValue:e=>NT(e),sort:(e,t)=>e>t?1:e<t?-1:0});var jT=AT({sort:(e,t)=>MT(e,t)});function MT(e,t){return e===t?0:e>t?1:-1}function NT(e){return e instanceof Date?e.getTime():e}function PT(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function FT(e,t){let n=0,r=0,i=e.length,a=t.length;for(;n<i&&r<a;){let i=IT(e.charCodeAt(n)),a=IT(t.charCodeAt(r)),o=LT(e,n,i),s=LT(t,r,a);if(!i&&!a){let i=RT(e,n,o,t,r,s);if(i)return i;n=o,r=s;continue}if(i!==a)return i?1:-1;let c=zT(e,n,o,t,r,s);if(c)return c;n=o,r=s}return VT(e,n)-VT(t,r)}function IT(e){return e>=48&&e<=57}function LT(e,t,n){let r=t+1;for(;r<e.length&&IT(e.charCodeAt(r))===n;)r++;return r}function RT(e,t,n,r,i,a){let o=n-t,s=a-i,c=o<s?o:s;for(let n=0;n<c;n++){let a=e.charCodeAt(t+n),o=r.charCodeAt(i+n);if(a>o)return 1;if(o>a)return-1}return o>s?1:s>o?-1:0}function zT(e,t,n,r,i,a){let o=t;for(;o<n&&e.charCodeAt(o)===48;)o++;let s=i;for(;s<a&&r.charCodeAt(s)===48;)s++;let c=n-o,l=a-s;if(c===0&&l===0)return 0;if(c<=15&&l<=15){let t=BT(e,o,n),i=BT(r,s,a);return t>i?1:i>t?-1:0}let u=parseInt(e.slice(t,n),10),d=parseInt(r.slice(i,a),10);return u>d?1:d>u?-1:0}function BT(e,t,n){let r=0;for(let i=t;i<n;i++)r=r*10+e.charCodeAt(i)-48;return r}function VT(e,t){let n=0,r=t;for(;r<e.length;)n++,r=LT(e,r,IT(e.charCodeAt(r)));return n}function HT(){return[]}function UT(e,t){Mw(e,`cellSelection`,t?HT():Sw(e.initialState.cellSelection)??HT())}function WT(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>UT(e))}function GT(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>KT(e))}function KT(e,t){let n=e.initialState.expanded;Mw(e,`expanded`,t?ww():n===!0||Object.assign(ww(),Sw(n??{})))}var qT=0;function JT(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??qT)===qT)return;ZT(e,!0)}}function YT(e,t){Mw(e,`pagination`,t)}function XT(e,t){YT(e,n=>{let r=xw(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function ZT(e,t){XT(e,t?qT:e.initialState.pagination?.pageIndex??qT)}function QT(){return[]}function $T(e,t){Mw(e,`sorting`,t)}function eE(e,t){$T(e,t?[]:Sw(e.initialState.sorting??[]))}function tE(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&eE(e)}function nE(e){let t=e.table._rowModelFns.sortFns,n=e.table.getFilteredRowModel().flatRows.slice(0,10),r,i=!1;for(let t=0;t<n.length;t++){let a=n[t].getValue(e.id);if(Object.prototype.toString.call(a)===`[object Date]`){r=`datetime`;break}if(typeof a==`string`&&(i=!0,a.split(kT).length>1)){r=`alphanumeric`;break}}if(!r&&i&&(r=`text`),r){let e=t?.[r];if(e||r===`alphanumeric`&&(e=t?.text),e)return e}return jT}function rE(e){let t=e.table.getFilteredRowModel().flatRows.slice(0,10);for(let n=0;n<t.length;n++){let r=t[n].getValue(e.id);if(r!=null)return typeof r==`string`?`asc`:`desc`}return`desc`}function iE(e){let t=e.table._rowModelFns.sortFns;return Nw(e.columnDef.sortFn)?e.columnDef.sortFn:e.columnDef.sortFn===`auto`?nE(e):t?.[e.columnDef.sortFn]??jT}function aE(e,t,n){let r=sE(e,n&&lE(e)),i=t!==void 0;$T(e.table,a=>{let o=a.findIndex(t=>t.id===e.id),s=o===-1?void 0:a[o],c=[],l,u=i?t:r===`desc`,d=!!(a.length&&lE(e)&&n);return l=d?s?`toggle`:`add`:s?`toggle`:`replace`,l===`toggle`&&(i||r||(l=`remove`)),l===`add`?(c=[...a,{id:e.id,desc:u}],c.splice(0,c.length-(e.table.options.maxMultiSortColCount??2**53-1))):c=l===`toggle`?d?a.map(t=>t.id===e.id?{...t,desc:u}:t):[{id:e.id,desc:u}]:l===`remove`?d?a.filter(t=>t.id!==e.id):[]:[{id:e.id,desc:u}],c})}function oE(e){return e.columnDef.sortDescFirst??e.table.options.sortDescFirst??rE(e)===`desc`?`desc`:`asc`}function sE(e,t){let n=oE(e),r=uE(e);return r?r!==n&&(e.table.options.enableSortingRemoval??!0)&&(!t||(e.table.options.enableMultiRemove??!0))?!1:r===`desc`?`asc`:`desc`:n}function cE(e){return(e.columnDef.enableSorting??!0)&&(e.table.options.enableSorting??!0)&&!!e.accessorFn}function lE(e){return e.columnDef.enableMultiSort??e.table.options.enableMultiSort??!!e.accessorFn}function uE(e){let t=e.table.atoms.sorting?.get()?.find(t=>t.id===e.id);return t?t.desc?`desc`:`asc`:!1}function dE(e){return e.table.atoms.sorting?.get()?.findIndex(t=>t.id===e.id)??-1}function fE(e){$T(e.table,t=>t.length?t.filter(t=>t.id!==e.id):[])}function pE(e){let t=cE(e);return n=>{t&&aE(e,void 0,lE(e)?e.table.options.isMultiSortEvent?.(n):!1)}}function mE(){return e=>Lw({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>gE(e,e.options.data),onAfterUpdate:Iw(()=>{GT(e),JT(e),tE(e),WT(e)})})}function hE(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=OT(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=hE(e,t,c.originalSubRows,r+1,c)))}return a}function gE(e,t){let n={rows:[],flatRows:[],rowsById:ww()};return n.rows=hE(e,n,t),n}function _E(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??mE()(e)),e._rowModels.coreRowModel()}function vE(e){return e.getCoreRowModel()}function yE(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function bE(e){return e.getFilteredRowModel()}function xE(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function SE(e){return e.getGroupedRowModel()}function CE(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function wE(e){return e.getSortedRowModel()}function TE(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function EE(e){return e.getExpandedRowModel()}function DE(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function OE(e){return e.getPaginatedRowModel()}var kE={constructTableAPIs:e=>{zw(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>_E(e)},table_getPreFilteredRowModel:{fn:()=>vE(e)},table_getFilteredRowModel:{fn:()=>yE(e)},table_getPreGroupedRowModel:{fn:()=>bE(e)},table_getGroupedRowModel:{fn:()=>xE(e)},table_getPreSortedRowModel:{fn:()=>SE(e)},table_getSortedRowModel:{fn:()=>CE(e)},table_getPreExpandedRowModel:{fn:()=>wE(e)},table_getExpandedRowModel:{fn:()=>TE(e)},table_getPrePaginatedRowModel:{fn:()=>EE(e)},table_getPaginatedRowModel:{fn:()=>DE(e)},table_getRowModel:{fn:()=>OE(e)}})}};function AE(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function jE(e,t,n){let r=AE(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function ME(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function NE(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function PE(e,t){if(Tw(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function FE(e,t){if(Tw(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function IE(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function LE(e){return Pw(e.subRows,e=>e.subRows)}function RE(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function zE(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function BE(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function VE(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=jE(a,e,e.table),n.set(a,o)),r[i]=o}return r}function HE(e){let t=ww(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function UE(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function WE(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var GE={assignRowPrototype:(e,t)=>{Bw(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>ME(e)},row_getAllCellsByColumnId:{fn:e=>HE(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>VE(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>LE(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>zE(e)},row_getParentRows:{fn:e=>BE(e)},row_getUniqueValues:{fn:(e,t)=>FE(e,t)},row_getValue:{fn:(e,t)=>PE(e,t)},row_renderValue:{fn:(e,t)=>IE(e,t)}})},constructTableAPIs:e=>{zw(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>NE(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>UE(t,e,n,r)},table_getRow:{fn:(t,n)=>WE(e,t,n)},table_getMaxSubRowDepth:{fn:()=>RE(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function KE(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function qE(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{KE(e,t,n),e._reactivity.commit?.()})}function JE(e){let t=Sw(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function YE(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function XE(e,t,n){let r=YE(e,xw(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&qE(e,r.state??null)}var ZE={coreCellsFeature:Gw,coreColumnsFeature:vT,coreHeadersFeature:ET,coreRowModelsFeature:kE,coreRowsFeature:GE,coreTablesFeature:{constructTableAPIs:e=>{zw(`coreTablesFeature`,e,{table_reset:{fn:()=>JE(e)},table_setOptions:{fn:t=>XE(e,t)}})}}};function QE(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function $E(e){return e}function eD(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),Sw(t)}function tD(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...ZE,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=eD(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&Tw(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}KE(v),v.store=_w(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:cw,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}function nD(){return ww()}function rD(e,t){e.options.onRowSelectionChange?.(t)}function iD(e,t){e._lastSelectedRowId=null,rD(e,t?ww():Object.assign(ww(),Sw(e.initialState.rowSelection??{})))}function aD(e,t,n){e._lastSelectedRowId=null,rD(e,r=>{if(t=t===void 0?!Vw(e,`getIsAllRowsSelected`,fD):t,n?.deselectAll&&!t)return ww();let i=Object.assign(ww(),r),a=e.getPreGroupedRowModel().flatRows;if(t){let e=new Map;a.forEach(t=>{OD(t,e)&&(i[t.id]=!0)})}else a.forEach(e=>{SD(e)&&delete i[e.id]});return i})}function oD(e,t,n){e._lastSelectedRowId=null,rD(e,r=>{let i=t===void 0?!Vw(e,`getIsAllPageRowsSelected`,pD):t;if(n?.deselectAll&&!i)return ww();let a=Object.assign(ww(),r);return e.getRowModel().rows.forEach(t=>{DD(a,t.id,i,!0,e,!0)}),a})}function sD(e){return e.getCoreRowModel()}function cD(e){let t=e.getCoreRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function lD(e){let t=e.getFilteredRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function uD(e){let t=e.getSortedRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function dD(e){return Object.keys(e.atoms.rowSelection?.get()??{})}function fD(e){let t=e.getFilteredRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=!!(t.length&&Object.keys(n).length);if(r){let e=new Map;t.some(t=>!MD(t,n)&&OD(t,e))&&(r=!1)}return r}function pD(e){let t=e.getPaginatedRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=new Map,i=!1;for(let e=0;e<t.length;e++){let a=t[e];if(MD(a,n))!i&&OD(a,r)&&(i=!0);else if(OD(a,r))return!1}return i}function mD(e){return Vw(e,`getSelectedRowIds`,dD).length>0}function hD(e){return e.getPaginatedRowModel().flatRows.filter(e=>SD(e)).some(e=>yD(e)||Vw(e,`getIsSomeSelected`,bD))}function gD(e){return t=>{aD(e,t.target.checked)}}function _D(e){return t=>{oD(e,t.target.checked)}}function vD(e,t,n){let r=yD(e);rD(e.table,i=>{t=t===void 0?!r:t;let a=Object.assign(ww(),i);return DD(a,e.id,t,(n?.selectChildren??!0)&&wD(e),e.table),!t&&n?.deselectParents&&kD(a,e),a})}function yD(e){return MD(e,e.table.atoms.rowSelection?.get()??{})}function bD(e){return ND(e)===`some`}function xD(e){return ND(e)===`all`}function SD(e){let t=e.table.options;return typeof t.enableRowSelection==`function`?t.enableRowSelection(e):t.enableRowSelection??!0}function CD(e){let t=e.table.options;return typeof t.enableSubRowSelection==`function`?t.enableSubRowSelection(e):t.enableSubRowSelection??!0}function wD(e){let t=e.table.options;return typeof t.enableMultiRowSelection==`function`?t.enableMultiRowSelection(e):t.enableMultiRowSelection??!0}function TD(e,t){let n=SD(e);return r=>{if(!n)return;let i=r,a=e.table,o=i.target.checked,s=a._lastSelectedRowId;(!(a.options.enableRowRangeSelection!==!1&&s!==null&&wD(e)&&(a.options.isRowRangeSelectionEvent?.(r)??!1))||!ED(e,s,o,t))&&vD(e,o,t),a._lastSelectedRowId=e.id}}function ED(e,t,n,r){let i=r?.selectChildren??!0,a=e.table,o=a.getRowsInDisplayOrder(),s=a.getPrePaginatedRowModel().rowsById[t]??a.getCoreRowModel().rowsById[t];if(!s)return!1;let c=s.getDisplayIndex(),l=e.getDisplayIndex(),u=o[c],d=o[l];if(c<0||l<0||c>=o.length||l>=o.length||u?.id!==s.id||d?.id!==e.id||!wD(s)||!wD(e))return!1;let f=Math.min(c,l),p=Math.max(c,l);return rD(a,e=>{let t=Object.assign(ww(),e);for(let e=f;e<=p;e++){let s=o[e];SD(s)&&wD(s)&&(DD(t,s.id,n,i,a),!n&&r?.deselectParents&&kD(t,s))}return t}),!0}function DD(e,t,n,r,i,a){let o=i.getRow(t,!0);n?(wD(o)||Object.keys(e).forEach(t=>delete e[t]),SD(o)&&(e[t]=!0)):(!a||SD(o))&&delete e[t],r&&o.subRows.length&&CD(o)&&o.subRows.forEach(t=>DD(e,t.id,n,r,i,a))}function OD(e,t){if(!SD(e))return!1;let n=e.table;if(n.options.enableSubRowSelection===!0)return!0;let r=e.parentId;if(r===void 0)return!0;let i=t.get(r);if(i!==void 0)return i;let a=n.getCoreRowModel().rowsById,o=[],s=!0,c=r;for(;c!==void 0;){let e=t.get(c);if(e!==void 0){s=e;break}o.push(c);let r=a[c]??n.getRow(c,!0);if(!CD(r)){s=!1;break}c=r.parentId}return o.forEach(e=>t.set(e,s)),s}function kD(e,t){let n=t.table.getCoreRowModel().rowsById,r=t.parentId;for(;r!==void 0;)delete e[r],r=(n[r]??t.table.getRow(r,!0)).parentId}function AD(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=MD(o,t);if(s&&(n.push(o),r[o.id]=o),o.subRows.length){let e=AD(o.subRows,t,n,r);if(s){let t=Object.create(Object.getPrototypeOf(o));Cw(t,o),t.subRows=e,i.push(t)}}else s&&i.push(o)}return i}function jD(e,t){let n=[],r=ww(),i=t.atoms.rowSelection?.get()??{};return{rows:AD(e.rows,i,n,r),flatRows:n,rowsById:r}}function MD(e,t){return!!(Tw(t,e.id)&&t[e.id])}function ND(e){if(!e.subRows.length)return!1;let t=e.table.atoms.rowSelection?.get()??{},n=!1,r=!0,i=!1;for(let a=0;a<e.subRows.length;a++){let o=e.subRows[a];if(n&&!r)break;if(SD(o)&&(i=!0,MD(o,t)?n=!0:r=!1),o.subRows.length){let e=ND(o);e===`all`?(n=!0,i=!0):e===`some`?(n=!0,r=!1,i=!0):r=!1}}return i?r?`all`:n?`some`:!1:!1}var PD={initTableInstanceData:e=>{e._lastSelectedRowId=null},resetTableInstanceData:e=>{e._lastSelectedRowId=null},getInitialState:e=>({rowSelection:nD(),...e}),getDefaultTableOptions:e=>({onRowSelectionChange:Ew(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableRowRangeSelection:!0,enableSubRowSelection:!0,isRowRangeSelectionEvent:e=>{let t=e;return!!(t.shiftKey||t.nativeEvent?.shiftKey)}}),assignRowPrototype:(e,t)=>{Bw(`rowSelectionFeature`,e,t,{row_toggleSelected:{fn:(e,t,n)=>vD(e,t,n)},row_getIsSelected:{fn:e=>yD(e)},row_getIsSomeSelected:{fn:e=>bD(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getIsAllSubRowsSelected:{fn:e=>xD(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getCanSelect:{fn:e=>SD(e)},row_getCanSelectSubRows:{fn:e=>CD(e)},row_getCanMultiSelect:{fn:e=>wD(e)},row_getToggleSelectedHandler:{fn:(e,t)=>TD(e,t)}})},constructTableAPIs:e=>{zw(`rowSelectionFeature`,e,{table_setRowSelection:{fn:t=>rD(e,t)},table_resetRowSelection:{fn:t=>iD(e,t)},table_toggleAllRowsSelected:{fn:(t,n)=>aD(e,t,n)},table_toggleAllPageRowsSelected:{fn:(t,n)=>oD(e,t,n)},table_getPreSelectedRowModel:{fn:()=>sD(e)},table_getSelectedRowModel:{fn:()=>cD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getCoreRowModel()]},table_getFilteredSelectedRowModel:{fn:()=>lD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel()]},table_getGroupedSelectedRowModel:{fn:()=>uD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getSortedRowModel()]},table_getSelectedRowIds:{fn:()=>dD(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsAllRowsSelected:{fn:()=>fD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsAllPageRowsSelected:{fn:()=>pD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsSomeRowsSelected:{fn:()=>mD(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsSomePageRowsSelected:{fn:()=>hD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection]},table_getToggleAllRowsSelectedHandler:{fn:()=>gD(e)},table_getToggleAllPageRowsSelectedHandler:{fn:()=>_D(e)}})}},FD={getInitialState(e){return{sorting:QT(),...e}},getDefaultColumnDef(){return{sortFn:`auto`,sortUndefined:1}},getDefaultTableOptions(e){return{autoResetSorting:!1,onSortingChange:Ew(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}},assignColumnPrototype(e,t){Bw(`rowSortingFeature`,e,t,{column_getAutoSortFn:{fn:e=>nE(e)},column_getAutoSortDir:{fn:e=>rE(e)},column_getSortFn:{fn:e=>iE(e)},column_toggleSorting:{fn:(e,t,n)=>aE(e,t,n)},column_getFirstSortDir:{fn:e=>oE(e)},column_getNextSortingOrder:{fn:(e,t)=>sE(e,t)},column_getCanSort:{fn:e=>cE(e)},column_getCanMultiSort:{fn:e=>lE(e)},column_getIsSorted:{fn:e=>uE(e)},column_getSortIndex:{fn:e=>dE(e)},column_clearSorting:{fn:e=>fE(e)},column_getToggleSortingHandler:{fn:e=>pE(e)}})},constructTableAPIs(e){zw(`rowSortingFeature`,e,{table_setSorting:{fn:t=>$T(e,t)},table_resetSorting:{fn:t=>eE(e,t)}})}},ID=typeof window>`u`?o.useEffect:o.useLayoutEffect;function LD(e,t){let[{table:n,rootSource:r}]=(0,o.useState)(()=>{let t=tD({...e,features:{coreReactivityFeature:bw(),...e.features}});return t.Subscribe=(e=>gw({...e,source:e.source??t.store})),t.FlexRender=UC,{table:t,rootSource:yw(t.store,cw)}}),i=n;XE(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,s=r.get(),c=hw(r,t,{compare:cw});return ID(()=>{r.markCommitted(s),qE(i,a??null,cw)}),(0,o.useMemo)(()=>({...n,options:e,state:c}),[n,e,c])}var RD=(e,t)=>{let n=String(t);return e&&Object.hasOwn(e,n)?e[n]:void 0},zD=e=>(0,z.jsx)(`span`,{className:`text-faint-foreground`,children:e}),BD=e=>typeof e==`object`&&e&&`name`in e?String(e.name):String(e),VD=(e,t)=>{if(t==null)return zD(`—`);switch(e.kind){case`text`:return(0,z.jsx)(`span`,{className:`truncate`,children:String(t)});case`id`:return(0,z.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,children:String(t)});case`money`:return(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[df(Number(t),e.currency,e.decimals),e.suffix]});case`date`:return(0,z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:bf(Number(t))});case`datetime`:return(0,z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:Sf(Number(t))});case`number`:return(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[pf(Number(t)),e.suffix]});case`signed`:return(0,z.jsxs)(`span`,{className:R(`tabular-nums`,Number(t)<0?`text-danger-text`:`text-success-text`),children:[mf(Number(t)),e.suffix]});case`percent`:return Number(t)===0?zD(`—`):(0,z.jsx)(`span`,{className:`tabular-nums`,children:hf(Number(t))});case`status`:return(0,z.jsx)(rd,{tone:e.tones?.[String(t)]??`neutral`,color:RD(e.colors,t),shape:e.shape,children:Bo(String(t),e.labels)});case`relation`:return(0,z.jsx)(`span`,{className:`truncate font-medium text-primary-text hover:underline`,children:BD(t)});case`boolean`:return t?(0,z.jsx)(`span`,{className:`inline-flex size-4 items-center justify-center rounded-full bg-success-soft text-success-text`,children:(0,z.jsx)(de,{className:`size-3`,strokeWidth:3})}):zD(`No`);case`file`:{let e=G_(t);if(!e)return zD(`—`);if(`missing`in e)return(0,z.jsx)(`span`,{className:`truncate text-danger-text`,children:e.name});let n=$_(t,{width:20,height:20});return(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[n?(0,z.jsx)(dy,{image:n,className:`size-5 shrink-0 rounded-sm object-cover`}):(0,z.jsx)(Nt,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]})}case`user`:{let e=$S(String(t));return(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-2 truncate`,children:[(0,z.jsx)(Ju,{initials:e.initials,hue:e.hue,size:`xs`,className:`ring-0`}),(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:e.name})]})}}},HD=$E({rowSortingFeature:FD,rowSelectionFeature:PD}),UD=QE(),WD=e=>UD.columns(e.map(e=>UD.accessor(t=>e.value?e.value(t):t[e.id],{id:e.id,header:e.header,enableSorting:e.sortable??!1,cell:t=>e.render?e.render(t.row.original):VD(e,t.getValue())}))),GD=({total:e,selectedCount:t,bulkActions:n=[],className:r})=>(0,z.jsx)(`div`,{className:R(`flex h-9 shrink-0 items-center border-t bg-surface px-3 text-xs text-muted-foreground`,r),children:(0,z.jsxs)(`span`,{className:`flex items-center tabular-nums`,children:[gf(e),t>0&&(0,z.jsxs)(`span`,{className:`ml-3 font-medium text-primary-text`,children:[pf(t),` selected`]}),t>0&&n.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:e.onRun,className:R(`ml-3 rounded border bg-background px-2 py-0.5 font-medium hover:bg-muted`,e.destructive?`border-danger/40 text-danger-text`:`text-foreground`),children:e.label},e.label))]})}),KD=(e,t)=>e.filter(e=>e.available?.(t)??!0),qD=4,JD=(e,t)=>{let n=e.bottom+qD;return{top:n+t>window.innerHeight-qD?Math.max(qD,e.top-qD-t):n,right:window.innerWidth-e.right}},YD=({row:e,actions:t})=>{let[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(),s=(0,o.useRef)(null),c=(0,o.useRef)(null);return(0,o.useLayoutEffect)(()=>{if(!n||!s.current||!c.current){a(void 0);return}a(JD(s.current.getBoundingClientRect(),c.current.offsetHeight))},[n]),(0,o.useEffect)(()=>{if(!n)return;let e=e=>s.current?.contains(e)||c.current?.contains(e),t=t=>{(t instanceof KeyboardEvent?t.key===`Escape`:!e(t.target))&&r(!1)},i=()=>r(!1);return document.addEventListener(`mousedown`,t),document.addEventListener(`keydown`,t),document.addEventListener(`scroll`,i,!0),window.addEventListener(`resize`,i),()=>{document.removeEventListener(`mousedown`,t),document.removeEventListener(`keydown`,t),document.removeEventListener(`scroll`,i,!0),window.removeEventListener(`resize`,i)}},[n]),(0,z.jsxs)(`div`,{className:`relative flex justify-center bg-inherit`,onClick:e=>e.stopPropagation(),children:[(0,z.jsx)(`button`,{ref:s,type:`button`,"aria-label":`Row actions`,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex items-center justify-center rounded p-1 text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,z.jsx)(ze,{className:`size-4`})}),n&&(0,Pn.createPortal)((0,z.jsx)(`ul`,{ref:c,role:`menu`,onClick:e=>e.stopPropagation(),style:i??{visibility:`hidden`},className:`fixed z-50 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:t.map(t=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,className:R(`block w-full px-3 py-1.5 text-left hover:bg-muted`,t.destructive&&`text-danger-text`),onClick:()=>{r(!1),t.onSelect(e)},children:t.label})},t.label))}),document.body)]})},XD=e=>52+Math.ceil(String(e).length*1.33)*7,ZD=.6,QD=(e,t)=>Math.max(e.minWidth??0,e.width*t),$D=(e,t)=>e.fixed?`${Math.max(e.minWidth??0,e.width)}px`:`minmax(${QD(e,t)}px, ${e.width}fr)`,eO=(e,t,n=0,r=ZD)=>`${t}px ${e.map(e=>$D(e,r)).join(` `)}${n>0?` ${n}px`:``}`,tO=(e,t,n=0,r=ZD)=>t+n+e.reduce((e,t)=>e+(t.fixed?Math.max(t.minWidth??0,t.width):QD(t,r)),0),nO=()=>{let e=(0,o.useRef)(null),t=(0,o.useRef)(null),[n,r]=(0,o.useState)({scrolled:!1,more:!1}),i=(0,o.useCallback)(()=>{let t=e.current;if(!t)return;let n={scrolled:t.scrollLeft>1,more:t.scrollLeft+t.clientWidth<t.scrollWidth-1};r(e=>e.scrolled===n.scrolled&&e.more===n.more?e:n)},[]);return{ref:e,attach:(0,o.useCallback)(n=>{if(t.current?.disconnect(),t.current=null,e.current=n,!n)return;let r=new ResizeObserver(i);r.observe(n);for(let e of Array.from(n.children))r.observe(e);t.current=r,i()},[i]),onScroll:i,...n}},rO=`protobase:pinned:`,iO=(e,t)=>`${rO}${e}:${t}`,aO=(e,t)=>dd(()=>{let n=e.getItem(t);if(n===null)return;let r=JSON.parse(n);return Array.isArray(r)&&r.every(e=>typeof e==`string`)?r:void 0},void 0),oO=(e,t,n)=>dd(()=>n.length===0?e.removeItem(t):e.setItem(t,JSON.stringify(n)),void 0),sO=(e,t=[])=>{let[n,r]=(0,o.useState)(()=>(e?aO(localStorage,e):void 0)??t);return[n,(0,o.useCallback)(t=>{r(t),e&&oO(localStorage,e,t)},[e])]},cO=e=>e===`money`||e===`number`||e===`signed`||e===`percent`,lO=({header:e,pinned:t,onTogglePin:n})=>{let[r,i]=(0,o.useState)(!1),a=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!r)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!a.current?.contains(e.target))&&i(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[r]),(0,z.jsxs)(`div`,{ref:a,className:`relative ml-auto shrink-0`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`${e} column menu`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(!r),className:`relative inline-flex size-5 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground focus-visible:opacity-100 after:absolute after:-inset-2 after:content-[''] md:opacity-0 md:group-hover/cell:opacity-100 aria-expanded:opacity-100`,children:(0,z.jsx)(ze,{className:`size-3.5`})}),r&&(0,z.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-[13px] font-normal text-foreground shadow-pop`,children:(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,className:`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted`,onClick:()=>{i(!1),n()},children:t?`Unpin`:`Pin to left`})})})]})},uO=({sorted:e})=>e===`asc`?(0,z.jsx)(E,{className:`size-3 text-foreground`}):e===`desc`?(0,z.jsx)(S,{className:`size-3 text-foreground`}):(0,z.jsx)(ye,{className:`size-3 opacity-0 group-hover/head:opacity-100`}),dO=({cells:e,specs:t,gutter:n,selectedCount:r,selectable:i,trailing:a,minScale:o,pins:s={},lastPinned:c,scrolled:l,onTogglePin:u,onClearSelection:d})=>(0,z.jsxs)(`div`,{className:`grid h-8 shrink-0 items-center border-b bg-surface text-xs font-medium text-muted-foreground`,style:{gridTemplateColumns:eO(t,n,a,o)},role:`row`,children:[(0,z.jsxs)(`div`,{className:R(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,l&&!c&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:n},children:[i&&(0,z.jsx)(Vh,{checked:!1,indeterminate:r>0,label:`Clear selection`,onChange:d,className:R(r===0&&`opacity-60`)}),n>40&&(0,z.jsx)(`span`,{className:`w-6 text-right text-faint-foreground`,children:`#`})]}),e.map(({spec:e,sorted:t,onSort:n})=>{let r=e.id in s;return(0,z.jsxs)(`div`,{"data-col-id":e.id,style:r?{left:s[e.id]}:void 0,className:R(`group/cell flex h-full min-w-0 items-center`,r&&`sticky z-10 bg-inherit`,r&&l&&e.id===c&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`,e.highlight&&`bg-primary-soft text-primary-text`),children:[(0,z.jsxs)(`button`,{type:`button`,onClick:n,disabled:!e.sortable,className:R(`group/head flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,cO(e.kind)&&`justify-end`,e.sortable&&`hover:text-foreground`,t&&`text-foreground`),children:[(0,z.jsx)(`span`,{className:`truncate`,children:e.header}),e.highlight&&(0,z.jsx)(`span`,{className:`rounded bg-primary px-1 text-[10px] font-semibold uppercase leading-4 text-primary-foreground`,children:`New`}),e.sortable&&(0,z.jsx)(uO,{sorted:t})]}),(0,z.jsx)(`div`,{className:`pr-1.5`,children:(0,z.jsx)(lO,{header:e.header,pinned:r,onTogglePin:()=>u(e.id)})})]},e.id)}),a?(0,z.jsx)(`div`,{}):null]}),fO=e=>({gridTemplateColumns:eO(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,transform:`translateY(${e.offset}px)`}),pO=(e,t)=>R(`flex h-full min-w-0 items-center overflow-hidden whitespace-nowrap px-3`,cO(e.kind)&&`justify-end`,e.highlight&&`bg-primary-soft/60`,t.pins&&e.id in t.pins&&`sticky z-10 bg-inherit`,t.scrolled&&e.id===t.lastPinned&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),mO=(e,t)=>t&&e.id in t?{left:t[e.id]}:void 0,hO=({width:e,index:t,selectable:n,selected:r,onToggle:i,edge:a})=>(0,z.jsxs)(`div`,{className:R(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,a&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:e},children:[n&&(0,z.jsx)(`span`,{onClick:e=>e.stopPropagation(),children:(0,z.jsx)(Vh,{checked:!!r,onChange:i,label:`Select row ${t+1}`})}),e>40&&(0,z.jsx)(`span`,{className:`min-w-6 text-right text-[11px] tabular-nums text-faint-foreground`,children:pf(t+1)})]}),gO=({cells:e,selected:t,onToggle:n,onOpen:r,menu:i,...a})=>(0,z.jsxs)(`div`,{role:`row`,onClick:r,className:R(`absolute inset-x-0 top-0 grid items-center border-b text-[13px]`,t?`bg-primary-soft`:`bg-background hover:bg-surface`,r&&`cursor-pointer`),style:fO(a),children:[(0,z.jsx)(hO,{width:a.gutter,index:a.index,selectable:a.selectable,selected:t,onToggle:n,edge:a.scrolled&&!a.lastPinned}),e.map(({spec:e,content:t})=>(0,z.jsx)(`div`,{role:`cell`,className:pO(e,a),style:mO(e,a.pins),children:t},e.id)),i&&(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:i})]}),_O=[`w-3/4`,`w-1/2`,`w-2/3`,`w-5/6`,`w-2/5`],vO=e=>(0,z.jsxs)(`div`,{role:`row`,"aria-busy":!0,className:`absolute inset-x-0 top-0 grid items-center border-b bg-background`,style:fO(e),children:[(0,z.jsx)(hO,{width:e.gutter,index:e.index,selectable:!1,edge:e.scrolled&&!e.lastPinned}),e.specs.map((t,n)=>(0,z.jsx)(`div`,{className:pO(t,e),style:mO(t,e.pins),children:(0,z.jsx)(kd,{className:R(`h-2.5`,_O[(e.index+n)%_O.length],cO(t.kind)&&`ml-auto`)})},t.id))]}),yO=(e,t)=>{let n=new Map;return{get:t=>n.get(Math.floor(t/e))?.[t%e],hasPage:e=>n.has(e),setPage:(e,r)=>{if(n.delete(e),n.set(e,r),n.size<=t)return;let i=n.keys().next();i.done||n.delete(i.value)},get size(){return n.size}}},bO=(e,t,n)=>{let r=Math.floor(e/n),i=Math.floor(t/n);return Array.from({length:i-r+1},(e,t)=>r+t)},xO=({total:e,rowAt:t,loadRows:n,latencyMs:r},i,a)=>{let s=(0,o.useMemo)(()=>yO(40,60),[t,n]),[c,l]=(0,o.useState)(0),u=Math.floor(i/40),d=Math.floor(a/40),f=!n&&r===0;return(0,o.useEffect)(()=>{if(f)return;let i=bO(u*40,d*40,40).filter(e=>!s.hasPage(e)),a=t=>Math.max(0,Math.min(40,e-t*40)),o=(e,t)=>{s.setPage(e,t),l(e=>e+1)};if(n){let e=!1;for(let t of i)n(t*40,a(t)).then(n=>{e||o(t,n)});return()=>{e=!0}}let c=i.map(e=>setTimeout(()=>o(e,Array.from({length:a(e)},(n,r)=>t(e*40+r))),r));return()=>c.forEach(clearTimeout)},[s,u,d,r,e,t,n,f]),(0,o.useCallback)(e=>f?t(e):s.get(e),[s,f,t,c])},SO=1e7,CO=(e,t,n)=>{let r=e*t,i=Math.min(r,SO);return{rowHeight:t,trueHeight:r,contentHeight:i,scaled:r>i,maxTop:Math.max(0,r-n),maxScroll:Math.max(0,i-n)}},wO=(e,t)=>!e.scaled||t<=0?t:t>=e.maxScroll?e.maxTop+t-e.maxScroll:t/e.maxScroll*e.maxTop,TO=(e,t)=>!e.scaled||t<=0?t:t>=e.maxTop?e.maxScroll+t-e.maxTop:t/e.maxTop*e.maxScroll,EO=(e,t,n,r)=>{let i=t*e.rowHeight;return e.scaled?i-n+r:i},DO=(e,t,n,r,i)=>{let a=Math.min(e,Math.max(0,Math.floor(t/n)-i)),o=Math.min(e-1,Math.floor((t+r)/n)+i);return{first:a,last:Math.max(a-1,o)}},OO=e=>{let t=document.scrollingElement??document.documentElement;for(let n=e.parentElement;n&&n!==t&&n!==document.body;n=n.parentElement)if(/auto|scroll/.test(getComputedStyle(n).overflowY))return n;return t},kO=e=>e===(document.scrollingElement??document.documentElement),AO=e=>kO(e)?window:e,jO=e=>Number.parseFloat(e)||0,MO=e=>{let t=getComputedStyle(e),n=kO(e)?{top:0,height:e.clientHeight}:{top:e.getBoundingClientRect().top+e.clientTop,height:e.clientHeight},r=jO(t.scrollPaddingTop);return{top:n.top+r,height:Math.max(0,n.height-r-jO(t.scrollPaddingBottom))}},NO=6,PO=(e,t,n)=>{let r=CO(t,n,e.height),i=wO(r,e.position);return{geometry:r,top:i,topIndex:Math.floor(Math.max(0,i)/n),...DO(t,i,n,e.height,NO)}},FO=({total:e,rowHeight:t,initialIndex:n,inset:r=0,settle:i,ready:a=!0})=>{let s=(0,o.useRef)(null),c=(0,o.useRef)(null),[l,u]=(0,o.useState)({position:0,height:0}),d=(0,o.useRef)({total:e,rowHeight:t,initialIndex:n,inset:r,ready:a});d.current={total:e,rowHeight:t,initialIndex:n,inset:r,ready:a};let f=(0,o.useCallback)(()=>{let e=s.current;if(!e||!c.current)return;let t=MO(c.current),n=d.current.inset;return{position:t.top+n-e.getBoundingClientRect().top,height:Math.max(0,t.height-n)}},[]),p=(0,o.useRef)(l);p.current=l;let m=(0,o.useCallback)(()=>{let e=f();if(!e)return;let t=p.current,{total:n,rowHeight:r}=d.current,i=PO(t,n,r),a=PO(e,n,r),o=!a.geometry.scaled&&i.first===a.first&&i.last===a.last&&i.topIndex===a.topIndex;(t.height!==e.height||t.position!==e.position&&!o)&&(p.current=e,u(e))},[f]),h=(0,o.useRef)({pending:!0,laidOut:!1}),g=(0,o.useCallback)(()=>{if(!h.current.pending||!h.current.laidOut||!d.current.ready)return;let e=f(),t=c.current;if(!e||!t)return;h.current.pending=!1;let{total:n,rowHeight:r,initialIndex:i}=d.current;i>0?t.scrollTop+=TO(CO(n,r,e.height),i*r)-e.position:e.position>0&&(t.scrollTop=0)},[f]);(0,o.useLayoutEffect)(()=>{let e=s.current;if(!e)return;let t=OO(e);c.current=t;let n=AO(t);n.addEventListener(`scroll`,m,{passive:!0}),window.addEventListener(`resize`,m,{passive:!0});let r=new ResizeObserver(()=>{h.current.laidOut=!0,g(),m()});return r.observe(t),r.observe(e),m(),()=>{n.removeEventListener(`scroll`,m),window.removeEventListener(`resize`,m),r.disconnect(),c.current=null}},[m,g]),(0,o.useLayoutEffect)(()=>{g(),m()});let _=(0,o.useCallback)(e=>{let t=f();if(!t||!c.current)return;let n=CO(d.current.total,d.current.rowHeight,t.height);c.current.scrollTop+=TO(n,e)-t.position,m()},[f,m]),v=PO(l,e,t),y=i?i(v.top):v.top,{first:b,last:x}=i?DO(e,y,t,l.height,NO):v,S=Array.from({length:x-b+1},(e,t)=>({index:b+t,offset:EO(v.geometry,b+t,y,l.position)}));return{ref:s,height:l.height,top:y,geometry:v.geometry,rows:S,first:b,last:x,scrollTo:_}},IO=32,LO=({columns:e,source:t,naturalSort:n,initialScrollIndex:r=0,onScrollIndex:i,latencyMs:a=150,sort:s,onSortChange:c,onOpenRow:l,rowActions:u,bulkActions:d,pinKey:f,defaultPinned:p,rowNumbers:m=!0,compact:h=!1,selectable:g=!0,fit:_=!1,scroll:v=`own`,className:y})=>{let b=h?28:36,[x,S]=sO(f,p),C=(0,o.useMemo)(()=>[...x.flatMap(t=>e.find(e=>e.id===t)??[]),...e.filter(e=>!x.includes(e.id))],[e,x]),w=C.slice(0,C.filter(e=>x.includes(e.id)).length).map(e=>e.id),{total:T}=t,[E,D]=(0,o.useState)(n?[{id:n.columnId,desc:n.direction===`desc`}]:[]),O=s?[{id:s.columnId,desc:s.direction===`desc`}]:E,k=e=>{let t=typeof e==`function`?e(O):e,n=t[0];c&&n&&c({columnId:n.id,direction:n.desc?`desc`:`asc`}),s||D(t)},[A,j]=(0,o.useState)({}),M=(0,o.useMemo)(()=>WD(C),[C]),N=O[0],ee=!!(!s&&n&&N&&N.id===n.columnId&&(N.desc?`desc`:`asc`)!==n.direction),te=t.rowAt,ne=(0,o.useCallback)(e=>te(ee?T-1-e:e),[te,ee,T]),[re]=(0,o.useState)(r),{ref:ie,top:ae,geometry:oe,rows:se,first:ce,last:le}=FO({total:T,rowHeight:b,initialIndex:re,inset:IO}),ue=!Mu(),P=ue||!m?40:XD(T),de=Math.floor(Math.max(0,ae)/b);(0,o.useEffect)(()=>i?.(de),[de,i]);let fe=xO({total:T,rowAt:te?ne:void 0,loadRows:t.loadRows,latencyMs:a},ce,le),pe=se.map(({index:e,offset:t})=>({index:e,offset:t,row:fe(e)})),me=LD({features:HD,columns:M,data:(0,o.useMemo)(()=>pe.flatMap(({row:e})=>e?[e]:[]),[fe,ce,le]),state:{sorting:O,rowSelection:A},onSortingChange:k,onRowSelectionChange:j,manualSorting:!0,enableMultiSort:!1,enableSortingRemoval:!1,getRowId:e=>e.id}),he=new Map(me.getRowModel().rows.map(e=>[e.id,e])),ge=Object.keys(A).length,_e=(0,o.useRef)(new Map);for(let e of me.getRowModel().rows)e.getIsSelected()&&_e.current.set(e.id,e.original);let ve=u&&u.length>0?40:0,ye=ue?1:ZD,be=nO(),xe=(0,o.useRef)(null),Se=()=>{be.onScroll(),xe.current&&be.ref.current&&(xe.current.scrollLeft=be.ref.current.scrollLeft)},[Ce,we]=(0,o.useState)({});(0,o.useLayoutEffect)(()=>{let e=xe.current?.querySelector(`[role=row]`);if(!e)return;let t=P,n={};for(let r of w)n[r]=t,t+=e.querySelector(`[data-col-id="${r}"]`)?.offsetWidth??0;JSON.stringify(Ce)!==JSON.stringify(n)&&we(n)});let Te=w.at(-1),Ee=e=>S(x.includes(e)?x.filter(t=>t!==e):[...x,e]),De=me.getHeaderGroups().flatMap(e=>e.headers.map(e=>({spec:C.find(t=>t.id===e.column.id),sorted:e.column.getIsSorted(),onSort:t=>e.column.getToggleSortingHandler()?.(t)}))),Oe=tO(C,P,ve,ye),ke=v===`own`,Ae=(0,z.jsx)(`div`,{ref:xe,className:R(`sticky z-20 shrink-0 overflow-hidden`,ke?`top-0`:`top-[var(--pb-sticky-top,0px)]`),children:(0,z.jsx)(`div`,{style:{minWidth:Oe},children:(0,z.jsx)(dO,{cells:De,specs:C,gutter:P,trailing:ve,minScale:ye,pins:Ce,lastPinned:Te,scrolled:be.scrolled,onTogglePin:Ee,selectable:g,selectedCount:ge,onClearSelection:()=>j({})})})}),je=(0,z.jsx)(`div`,{ref:be.attach,onScroll:Se,className:`overflow-x-auto overflow-y-hidden overscroll-x-contain [-webkit-overflow-scrolling:touch]`,children:(0,z.jsx)(`div`,{ref:ie,className:`relative`,style:{minWidth:Oe,height:oe.contentHeight},children:pe.map(({index:e,offset:t,row:n})=>{let r={specs:C,gutter:P,index:e,offset:t,height:b,selectable:g,trailing:ve,minScale:ye,scrolled:be.scrolled,pins:Ce,lastPinned:Te},i=n?he.get(n.id):void 0;if(!i)return(0,z.jsx)(vO,{...r},`skeleton-${e}`);let a=ve&&n?KD(u,n):[];return(0,z.jsx)(gO,{...r,selected:i.getIsSelected(),onToggle:()=>i.toggleSelected(),onOpen:l&&n?()=>l(n):void 0,menu:n&&a.length>0?(0,z.jsx)(YD,{row:n,actions:a}):void 0,cells:i.getAllCells().map(e=>({spec:C.find(t=>t.id===e.column.id),content:(0,z.jsx)(me.FlexRender,{cell:e})}))},n?.id)})})});return(0,z.jsxs)(`div`,{role:`grid`,"aria-rowcount":T,className:R(`flex flex-col rounded-lg border bg-background`,ke?`min-h-0 overflow-hidden`:`overflow-clip`,y),style:_&&ke?{height:IO+T*b+2}:void 0,children:[(0,z.jsxs)(`div`,{className:R(`relative`,ke&&`flex min-h-0 flex-1 flex-col`),children:[ke?(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,children:[Ae,je]}):(0,z.jsxs)(z.Fragment,{children:[Ae,je]}),be.more&&(0,z.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 right-0 z-20 w-8 bg-gradient-to-l from-backdrop/15 to-transparent`})]}),!_&&(0,z.jsx)(GD,{total:T,className:ke?void 0:`sticky bottom-[var(--pb-sticky-bottom,0px)] z-20`,selectedCount:ge,bulkActions:d?.map(e=>({label:e.label(ge),destructive:e.destructive,onRun:()=>{e.onRun(Object.keys(A).flatMap(e=>_e.current.get(e)??[])),j({}),_e.current.clear()}}))})]})},RO=`inline-flex h-6 items-center gap-1 rounded-full border border-primary-border bg-primary-soft pl-2.5 pr-1.5 text-xs font-medium text-primary-text`,zO=({chips:e,lockedLabels:t=[],onRemove:n,onClear:r,scroll:i})=>e.length===0&&t.length===0?null:(0,z.jsxs)(`div`,{className:i?`flex flex-nowrap items-center gap-1.5 overflow-x-auto pb-1 [&>*]:shrink-0`:`flex flex-wrap items-center gap-1.5`,children:[t.map(e=>(0,z.jsxs)(`span`,{className:`inline-flex h-6 items-center gap-1.5 rounded-full border border-border-strong bg-muted px-2.5 text-xs font-medium text-foreground`,children:[(0,z.jsx)(nee,{className:`size-3 text-muted-foreground`}),e]},e)),e.map(e=>(0,z.jsxs)(`span`,{className:RO,children:[e.label,(0,z.jsx)(`button`,{type:`button`,"aria-label":`Remove ${e.label}`,onClick:()=>n(e.key),className:`rounded-full p-0.5 hover:bg-primary-border/60`,children:(0,z.jsx)(jn,{className:`size-3`})})]},e.key)),e.length>0&&(0,z.jsx)(`button`,{type:`button`,onClick:r,className:`ml-1 text-xs font-medium text-muted-foreground hover:text-foreground`,children:`Clear all`})]}),BO=[`7d`,`30d`,`year`],VO={today:`Today`,yesterday:`Yesterday`,"7d":`Last 7 days`,"30d":`Last 30 days`,"90d":`Last 90 days`,month:`This month`,quarter:`This quarter`,year:`This year`},HO=({value:e,presets:t=BO,onChange:n})=>(0,z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(t=>{let r=VO[t];return(0,z.jsx)(`button`,{type:`button`,disabled:!r,title:r?void 0:`The server offers the preset "${t}", which this UI does not know`,onClick:()=>n(e===t?void 0:t),className:R(`h-7 rounded-md border px-2.5 text-xs font-medium transition-colors`,!r&&`border-dashed text-danger-text`,e===t?`border-primary-border bg-primary-soft text-primary-text`:`border-border-strong bg-background text-muted-foreground hover:bg-muted`),children:r??`${t} (unsupported)`},t)})}),UO={facets:{},toggles:[]},WO=(e,t,n)=>{let r=e.facets[t]??[],i=r.includes(n)?r.filter(e=>e!==n):[...r,n];return{...e,facets:{...e.facets,[t]:i}}},GO=(e,t)=>({...e,toggles:e.toggles.includes(t)?e.toggles.filter(e=>e!==t):[...e.toggles,t]}),KO=(e,t,n)=>{let{[t]:r,...i}=e.ranges??{};return{...e,ranges:n?{...i,[t]:n}:i}},qO=(e,t)=>e.options.find(e=>e.value===t)?.label??e.labels?.[t]??t,JO=(e,t)=>{let n=e.facets.flatMap(e=>(t.facets[e.id]??[]).map(t=>({key:`facet:${e.id}:${t}`,label:`${e.label}: ${qO(e,t)}`}))),r=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[{key:`range:${e.id}`,label:`${e.label}: ${e.format(n[0])} – ${e.format(n[1])}`}]:[]}),i=t.date?[{key:`date`,label:VO[t.date]??t.date}]:[],a=t.toggles.map(t=>({key:`toggle:${t}`,label:e.toggles?.find(e=>e.id===t)?.label??t}));return[...n,...r,...i,...a]},YO=(e,t)=>{if(t===`date`)return{...e,date:void 0};let[n,r,i]=t.split(`:`);if(n===`range`)return KO(e,r,void 0);if(n===`toggle`)return GO(e,r);if(n===`facet`)return WO(e,r,i);throw Error(`Unknown filter chip key: ${t}`)},XO=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),ZO=(e,t)=>e.onSearch?e.options:e.options.filter(e=>XO(e.label,t)),QO=(e,t,n)=>t===0?-1:n===`ArrowDown`?e<0?0:(e+1)%t:e<0?t-1:(e-1+t)%t,$O=({config:e,selected:t,onToggle:n,inline:r=!1})=>{let i=(0,o.useId)(),a=(0,o.useRef)(null),[s,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(!1),[d,f]=(0,o.useState)(-1),p=r||l,m=ZO(e,s),h=(0,o.useRef)(e.onSearch);h.current=e.onSearch,(0,o.useEffect)(()=>()=>h.current?.(``),[]);let g=t=>{c(t),f(-1),e.onSearch?.(t)};return(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,z.jsxs)(`div`,{className:`flex min-h-8 cursor-text flex-wrap items-center gap-1 rounded-md border border-border-strong bg-background px-2 py-1 shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20`,onClick:()=>a.current?.focus(),children:[(0,z.jsx)(Ut,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.map(t=>(0,z.jsxs)(`span`,{className:`inline-flex h-5 max-w-full items-center gap-0.5 rounded bg-primary-soft pl-1.5 pr-0.5 text-xs font-medium text-primary-text`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:qO(e,t)}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Remove ${qO(e,t)}`,className:`rounded p-0.5 hover:bg-primary-border/60`,onMouseDown:e=>e.preventDefault(),onClick:()=>n(t),children:(0,z.jsx)(jn,{className:`size-3`})})]},t)),(0,z.jsx)(`input`,{ref:a,autoFocus:r,role:`combobox`,"aria-label":e.label,"aria-expanded":p,"aria-controls":`${i}-options`,"aria-autocomplete":`list`,"aria-activedescendant":m[d]?`${i}-${d}`:void 0,placeholder:t.length>0?``:`Search ${e.label.toLowerCase()}`,className:`h-6 min-w-16 flex-1 bg-transparent text-[13px] text-foreground outline-none placeholder:text-faint-foreground`,value:s,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),f(QO(d,m.length,e.key));return}if(e.key===`Enter`&&m[d]){e.preventDefault(),n(m[d].value);return}if(e.key===`Backspace`&&s===``&&t.length>0){n(t[t.length-1]);return}e.key===`Escape`&&s!==``&&(e.stopPropagation(),g(``))},onFocus:()=>u(!0),onBlur:()=>{u(!1),f(-1),!r&&s!==``&&g(``)}})]}),p&&(0,z.jsxs)(`ul`,{id:`${i}-options`,role:`listbox`,"aria-label":e.label,"aria-multiselectable":!0,className:R(`flex max-h-60 flex-col gap-px overflow-y-auto`,!r&&`rounded-md border bg-background p-1 shadow-sm`),children:[m.map((e,r)=>{let a=t.includes(e.value);return(0,z.jsxs)(`li`,{id:`${i}-${r}`,role:`option`,"aria-selected":a,tabIndex:-1,className:R(`flex cursor-pointer items-center gap-2 rounded px-1.5 py-1 hover:bg-muted`,r===d&&`bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:()=>n(e.value),children:[(0,z.jsx)(`span`,{className:R(`inline-flex size-4 shrink-0 items-center justify-center rounded border`,a?`border-primary bg-primary text-primary-foreground`:`border-border-strong bg-background`),children:a&&(0,z.jsx)(de,{className:`size-3`,strokeWidth:3})}),(0,z.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,z.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:pf(e.count)})]},e.value)}),m.length===0&&(0,z.jsx)(`li`,{className:`px-1.5 py-1 text-xs text-faint-foreground`,children:`No matches`})]})]})},ek=({config:e,selected:t,onToggle:n})=>{let[r,i]=(0,o.useState)(``),a=e.options.filter(e=>XO(e.label,r));return(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.searchable&&(0,z.jsx)(Md,{wrapperClassName:`mb-1 h-7`,leading:(0,z.jsx)(Ut,{className:`size-3.5`}),placeholder:`Search ${e.label.toLowerCase()}`,value:r,onChange:e=>i(e.target.value)}),a.map(e=>(0,z.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-1 hover:bg-muted`,children:[(0,z.jsx)(Vh,{checked:t.includes(e.value),onChange:()=>n(e.value),label:e.label}),(0,z.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,z.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:pf(e.count)})]},e.value)),a.length===0&&(0,z.jsx)(`span`,{className:`px-1 py-1 text-xs text-faint-foreground`,children:`No matches`})]})},tk=({label:e,activeCount:t,width:n=240,defaultOpen:r=!1,children:i})=>{let[a,s]=(0,o.useState)(r),[c,l]=(0,o.useState)(!1),u=(0,o.useRef)(null);return(0,o.useLayoutEffect)(()=>{a&&u.current&&l(u.current.getBoundingClientRect().left+n>document.documentElement.clientWidth)},[a,n]),(0,o.useEffect)(()=>{if(!a)return;let e=e=>{e.target instanceof Node&&!u.current?.contains(e.target)&&s(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[a]),(0,z.jsxs)(`div`,{ref:u,className:`relative`,children:[(0,z.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>s(!a),className:R(`inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5 text-[13px] font-medium shadow-sm transition-colors hover:bg-muted`,t>0?`border-primary-border text-primary-text`:`border-border-strong text-foreground`),children:[e,t>0&&(0,z.jsx)(`span`,{className:`rounded-full bg-primary px-1.5 text-[11px] leading-4 text-primary-foreground`,children:t}),(0,z.jsx)(pe,{className:`size-3.5 text-muted-foreground`})]}),a&&(0,z.jsx)(`div`,{className:R(`absolute top-full z-30 mt-1.5 rounded-lg border bg-background p-3 shadow-pop`,c?`right-0`:`left-0`),style:{width:n},children:i})]})},nk=({title:e,children:t})=>(0,z.jsxs)(`section`,{className:`flex flex-col gap-2 border-b py-3 last:border-b-0`,children:[(0,z.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),rk=(e,t)=>{let[n,r]=(0,o.useState)(e);return(0,o.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n},ik=(e,t,n,r,i)=>{let a=n+(r-n)*e/t;return n+(r-n)*(e+1)/t>i[0]&&a<i[1]},ak=(e,t,n)=>n===t?0:(e-t)/(n-t),ok=(e,t,n)=>t===0?[Math.min(n,e[1]),e[1]]:[e[0],Math.max(n,e[0])],sk=1e3,ck=({config:e,value:t,onChange:n})=>{let{min:r,max:i,step:a,histogram:s,format:c}=e,[l,u]=(0,o.useState)(),d=l??t??[r,i],f=Math.max(...s),p=()=>{l&&(u(void 0),n(l[0]===r&&l[1]===i?void 0:l))},m=rk(l,sk);return(0,o.useEffect)(()=>{m&&p()},[m]),(0,z.jsxs)(`div`,{className:`w-full`,children:[(0,z.jsxs)(`div`,{className:`px-[7px]`,children:[s.length>0&&(0,z.jsx)(`div`,{className:`mb-1 flex h-12 items-end gap-0.5`,children:s.map((e,t)=>(0,z.jsx)(`span`,{className:R(`flex-1 rounded-t-sm`,ik(t,s.length,r,i,d)?`bg-primary/70`:`bg-border`),style:{height:`${Math.max(6,e/f*100)}%`}},t))}),(0,z.jsxs)(`div`,{className:`relative h-4`,children:[(0,z.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border`}),(0,z.jsx)(`span`,{className:`absolute top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary`,style:{left:`${ak(d[0],r,i)*100}%`,right:`${100-ak(d[1],r,i)*100}%`}})]})]}),(0,z.jsx)(`div`,{className:`relative -mt-4 h-4`,children:[0,1].map(t=>(0,z.jsx)(`input`,{type:`range`,className:`pb-range`,"aria-label":`${e.label} ${t===0?`minimum`:`maximum`}`,min:r,max:i,step:a,value:d[t],onChange:e=>u(ok(d,t,Number(e.target.value))),onPointerUp:p,onTouchEnd:p,onBlur:p},t))}),(0,z.jsxs)(`div`,{className:`mt-2 flex justify-between text-xs tabular-nums text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:c(d[0])}),(0,z.jsx)(`span`,{children:c(d[1])})]})]})},lk=({label:e,checked:t,onChange:n})=>(0,z.jsxs)(`label`,{className:`flex cursor-pointer items-center justify-between gap-3 py-1`,children:[(0,z.jsx)(`span`,{children:e}),(0,z.jsx)(H_,{checked:t,onChange:n,label:e})]}),uk=(e,t)=>e.some(e=>e.length>0)||!!t,dk=({groups:e,trailing:t})=>{if(!uk(e,t))return null;let n=e.filter(e=>e.length>0);return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.map((e,t)=>(0,z.jsxs)(o.Fragment,{children:[t>0&&(0,z.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),e]},t)),t&&(0,z.jsx)(`div`,{className:`flex min-w-32 flex-1 justify-end`,children:t})]})},fk=(e,t,n)=>{let[r,i]=(0,o.useState)(t??UO);return[e??r,e=>{i(e),n?.(e)}]},pk=({config:e,layout:t,value:n,defaultValue:r,onChange:i,lockedLabels:a,defaultOpenMenu:s,fullWidth:c,leading:l,trailing:u})=>{let[d,f]=fk(n,r,i),p=JO(e,d),m=(0,z.jsx)(zO,{chips:p,lockedLabels:a,onRemove:e=>f(YO(d,e)),onClear:()=>f(UO)}),h=(e,t=!1)=>{let n=d.facets[e.id]??[],r=t=>f(WO(d,e.id,t));return e.combobox?(0,z.jsx)($O,{config:e,selected:n,onToggle:r,inline:t}):(0,z.jsx)(ek,{config:e,selected:n,onToggle:r})},g=e.ranges??[],_=e=>(0,z.jsx)(ck,{config:e,value:d.ranges?.[e.id],onChange:t=>f(KO(d,e.id,t))}),v=e.datePresets&&(0,z.jsx)(HO,{value:d.date,presets:Array.isArray(e.datePresets)?e.datePresets:void 0,onChange:e=>f({...d,date:e})}),y=(e.toggles??[]).map(e=>(0,z.jsx)(lk,{label:e.label,checked:d.toggles.includes(e.id),onChange:()=>f(GO(d,e.id))},e.id));if(t===`panel`)return(0,z.jsxs)(`aside`,{className:c?`flex w-full flex-col gap-1`:`flex w-64 shrink-0 flex-col gap-1 overflow-y-auto rounded-lg border bg-background px-4 py-3`,children:[(0,z.jsx)(`div`,{className:`flex items-center justify-between pb-1`,children:(0,z.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:`Filters`})}),(p.length>0||(a?.length??0)>0)&&(0,z.jsx)(`div`,{className:`border-b pb-3`,children:m}),l,e.facets.map(e=>(0,z.jsx)(nk,{title:e.label,children:h(e)},e.id)),g.map(e=>(0,z.jsx)(nk,{title:e.label,children:_(e)},e.id)),v&&(0,z.jsx)(nk,{title:`Date`,children:v}),y.length>0&&(0,z.jsx)(nk,{title:`Show only`,children:y})]});let b=[...e.facets.map(e=>(0,z.jsx)(tk,{label:e.label,activeCount:(d.facets[e.id]??[]).length,width:e.combobox?280:void 0,defaultOpen:s===e.id,children:h(e,!0)},e.id)),...g.map(e=>(0,z.jsx)(tk,{label:e.label,activeCount:+!!d.ranges?.[e.id],width:280,defaultOpen:s===e.id,children:_(e)},`range:${e.id}`)),...v?[(0,z.jsx)(o.Fragment,{children:v},`date`)]:[]],x=(e.toggles??[]).map(e=>(0,z.jsx)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:(0,z.jsx)(lk,{label:e.label,checked:d.toggles.includes(e.id),onChange:()=>f(GO(d,e.id))})},e.id)),S=[l?[(0,z.jsx)(o.Fragment,{children:l},`leading`)]:[],b,x];return!uk(S,u)&&p.length===0&&!a?.length?null:(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(dk,{groups:S,trailing:u}),m]})},mk={draft:`neutral`,confirmed:`blue`,picking:`amber`,shipped:`violet`,delivered:`green`,cancelled:`red`,sent:`blue`,paid:`green`,overdue:`red`,lead:`blue`,active:`green`,dormant:`neutral`,receipt:`green`,issue:`blue`,transfer:`violet`,adjustment:`amber`},hk=e=>mk[e]??`neutral`,gk={text:200,id:140,money:120,date:110,datetime:170,status:150,relation:200,boolean:64,number:100,signed:110,percent:110,user:130,file:180},_k=(e,t)=>Math.ceil(e.length*7.2)+24+(t?16:0)+28,vk=e=>Math.ceil(Math.max(0,...e.map(e=>e.length))*7.2)+56,yk=new Set([`datetime`,`date`,`boolean`,`percent`]),bk=/^(number|sku|reference|code)$/,xk=(e,t,n)=>{switch(e.type){case`relation`:return`relation`;case`file`:return`file`;case`enum`:return`status`;case`boolean`:return`boolean`;case`timestamp`:return`datetime`;case`date`:return`date`;case`decimal`:return t?.format===`percent`?`percent`:t?.prefix===`€`?`money`:`number`;case`integer`:case`bigint`:return/quantity|delta/.test(e.name)?`signed`:`number`;default:return bk.test(e.name)||n===0&&e.name===`id`?`id`:`text`}},Sk=e=>Math.round(Number.parseFloat(String(e))*100),Ck=(e,t)=>t?.list?.columns??Object.keys(e.fields).slice(0,6),wk=(e,t,n=[],r=Ck(e,t))=>r.flatMap((r,i)=>{let a=e.fields[r];if(!a)return[];let o=t?.fields[r],s=xk(a,o,i),c=Object.fromEntries((a.enumValues??[]).map(e=>[e,Bo(e,o?.valueLabels)])),l=o?.suffix?Math.ceil(o.suffix.length*7.2):0;return[{id:r,header:o?.label??W(r),kind:s,width:(r===`name`?260:gk[s])+l,sortable:a.sortable,minWidth:Math.max(s===`id`?150:0,_k(o?.label??W(r),a.sortable),s===`status`?vk(Object.values(c)):0,l>0?gk[s]+l:0),...yk.has(s)&&{fixed:!0},...n.includes(r)&&{highlight:!0},...a.type===`enum`&&{tones:Object.fromEntries((a.enumValues??[]).map(e=>[e,hk(e)])),labels:c},...a.type===`enum`&&o?.valueColors&&{colors:o.valueColors},...a.type===`enum`&&o?.badgeShape&&{shape:o.badgeShape},...o?.suffix!==void 0&&{suffix:o.suffix},...s===`money`&&o?.decimals!==void 0&&{decimals:o.decimals},...s===`money`&&{currency:`EUR`,value:e=>e[r]==null?null:Sk(e[r])},...(s===`datetime`||s===`date`)&&{value:e=>e[r]==null?null:Date.parse(String(e[r]))},...(s===`percent`||s===`number`&&a.type===`decimal`)&&{value:e=>e[r]==null?null:Number(e[r])}}]}),Tk=eo(),Ek={start:0,end:0},Dk={"7d":{amount:7,unit:`d`},"30d":{amount:30,unit:`d`},"90d":{amount:90,unit:`d`}},Ok=e=>new Date(e).toISOString().replace(`.000Z`,`Z`),kk=(e,t)=>{let[n,r,i]=[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()];return Ok(e===`year`?Date.UTC(n,0,1):e===`quarter`?Date.UTC(n,Math.floor(r/3)*3,1):e===`month`?Date.UTC(n,r,1):e===`yesterday`?Date.UTC(n,r,i-1):Date.UTC(n,r,i))},Ak=[`year`,`quarter`,`month`,`yesterday`,`today`],jk=(e,t)=>t===`date`?{kind:`string`,value:e.slice(0,10),span:Ek}:{kind:`timestamp`,value:e,span:Ek},Mk=(e,t,n,r)=>{if(t in Dk)return[Tk.gte(e,Tk.ago(t))];let i=Tk.gte(e,jk(kk(t,n),r));return t===`yesterday`?[i,Tk.lt(e,jk(kk(`today`,n),r))]:[i]},Nk=(e,t,n=new Date)=>{let r=e.facets.flatMap(e=>{let n=t.facets[e.id]??[];if(n.length===0)return[];if(e.flags){let t=e.options.filter(e=>n.includes(e.value)).map(e=>Tk.eq(e.value,!0));return t.length===0?[]:[t.length===1?t[0]:Tk.or(...t)]}return[n.length===1?Tk.eq(e.id,n[0]):Tk.in(e.id,n)]}),i=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[Tk.gte(e.id,n[0]),Tk.lte(e.id,n[1])]:[]}),a=e.dateField&&t.date?Mk(e.dateField,t.date,n,e.dateKind):[],o=(e.toggles??[]).filter(e=>t.toggles.includes(e.id)).map(e=>Tk.eq(e.id,!0));return[...r,...i,...a,...o]},Pk=e=>e.length===0?``:za(Tk.and(...e)),Fk=(e,t,n=[],r=new Date)=>Pk([...Nk(e,t,r),...n]),Ik=e=>e.kind===`and`?e.args.flatMap(Ik):[e],Lk=e=>e.field.path.join(`.`),Rk=e=>e.kind===`compare`&&e.op===`=`&&e.value.kind===`boolean`&&e.value.value,zk=(e,t)=>{let n=e.kind===`or`?e.args:[e];if(!n.every(Rk))return;let r=n.map(Lk),i=t.get(r[0]);return i!==void 0&&r.every(e=>t.get(e)===i)?{group:i,fields:r}:void 0},Bk=e=>e.kind===`number`?String(e.raw):e.kind===`string`?String(e.value):void 0,Vk=(e,t)=>{let n=e.value;if(n.kind===`now`&&n.offset?.sign===`-`){let{amount:e,unit:t}=n.offset.duration;return Object.entries(Dk).find(([,n])=>n.amount===e&&n.unit===t)?.[0]}if(n.kind===`timestamp`)return Ak.find(e=>kk(e,t)===n.value);if(n.kind===`string`)return Ak.find(e=>kk(e,t).slice(0,10)===n.value)},Hk=(e,t,n=new Date)=>{let r=na(t);if(!r.ok)return{ok:!1,errors:r.errors};let i={facets:{},toggles:[]},a=[],o=new Set(e.facets.filter(e=>!e.flags).map(e=>e.id)),s=new Map(e.facets.filter(e=>e.flags).flatMap(e=>e.options.map(t=>[t.value,e.id]))),c=new Set((e.toggles??[]).map(e=>e.id)),l=new Set((e.ranges??[]).map(e=>e.id)),u=new Map,d,f;for(let t of r.ast?Ik(r.ast):[]){let r=zk(t,s);if(r&&!i.facets[r.group])i.facets[r.group]=r.fields;else if(t.kind===`compare`&&o.has(Lk(t))&&t.op===`=`&&Bk(t.value)!==void 0)i.facets[Lk(t)]=[...i.facets[Lk(t)]??[],Bk(t.value)];else if(t.kind===`in`&&o.has(Lk(t))&&t.values.every(e=>Bk(e)!==void 0))i.facets[Lk(t)]=[...i.facets[Lk(t)]??[],...t.values.map(e=>Bk(e))];else if(t.kind===`compare`&&e.dateField===Lk(t)&&t.op===`>=`&&Vk(t,n)&&!i.date)i.date=Vk(t,n),d=t;else if(t.kind===`compare`&&e.dateField===Lk(t)&&t.op===`<`&&(t.value.kind===`timestamp`||t.value.kind===`string`)&&kk(`today`,n).startsWith(t.value.value.slice(0,10)))f=t;else if(t.kind===`compare`&&c.has(Lk(t))&&t.op===`=`&&t.value.kind===`boolean`&&t.value.value)i.toggles.push(Lk(t));else if(t.kind===`compare`&&l.has(Lk(t))&&(t.op===`>=`||t.op===`<=`)&&t.value.kind===`number`){let e=u.get(Lk(t))??{clauses:[]};t.op===`>=`?e.low=t.value.value:e.high=t.value.value,e.clauses.push(t),u.set(Lk(t),e)}else a.push(t)}i.date===`yesterday`&&!f&&(a.push(d),i.date=void 0),f&&i.date!==`yesterday`&&a.push(f);for(let[e,t]of u)t.low!==void 0&&t.high!==void 0?i.ranges={...i.ranges,[e]:[t.low,t.high]}:a.push(...t.clauses);return{ok:!0,state:i,extras:a}},Uk=(e,t)=>{let n=new Map(t.map(e=>[e.value,e.count]));return e.map(([e,t])=>({value:e,label:t,...n.get(e)!==void 0&&{count:n.get(e)}}))},Wk=(e,t)=>[...new Set(t.filter(t=>!e.includes(t)))],Gk=eo(),Kk=(e,t)=>{let n=U(),[r,i]=(0,o.useState)({}),a=e=>!!e?.search?.length&&e.primaryKey.length===1,s=_h({queries:e.map(({id:e,target:i})=>{let o=(r[e]??``).trim();return{queryKey:[`reference-search`,e,i?.name??``,o],enabled:a(i)&&o!==``,placeholderData:_m,queryFn:async()=>{let e=i.primaryKey[0],r=mg(i,t[i.name]);return(await n.list(i.name,{filter:za(Gk.search(o)),fields:[e,r],pageSize:20})).items.map(t=>[String(t[e]),String(t[r])])}}})});return e.map(({id:e,target:t},n)=>{if(!a(t))return{};let o=t=>i(n=>({...n,[e]:t}));return(r[e]??``).trim()===``?{onSearch:o}:{onSearch:o,matches:s[n]?.data??[]}})},qk=[`integer`,`bigint`,`decimal`],Jk=(e,t)=>{let n=e?.fields[t]?.type;return n!==void 0&&qk.includes(n)},Yk=(e,t)=>e.kind===`range`||e.kind===`facets`&&Jk(t,e.field),Xk=e=>({id:e,label:e,min:0,max:0,step:1,histogram:[],format:String}),Zk=(e,t)=>{let n=e?.filters??[],r=n.find(e=>e.kind===`dateRange`);return{facets:n.flatMap(e=>e.kind===`facets`&&!Yk(e,t)?[{id:e.field,label:e.field,options:[],searchable:e.search,...t?.fields[e.field]?.type===`relation`&&{combobox:!0}}]:e.kind===`flags`?[{id:e.fields.join(`|`),label:e.label,options:e.fields.map(e=>({value:e,label:e,count:0})),flags:!0}]:[]),ranges:n.flatMap(e=>e.kind!==`flags`&&Yk(e,t)?[Xk(e.field)]:[]),...r&&{dateField:r.field,dateKind:t?.fields[r.field]?.type===`date`?`date`:`timestamp`,...r.presets.length>0&&{datePresets:r.presets}},toggles:n.flatMap(e=>e.kind===`toggle`?[{id:e.field,label:e.field}]:[])}},Qk=(e,t)=>(e?.filters??[]).some(e=>e.kind===`range`&&e.field===t&&e.histogram),$k=(e,t)=>{let n=e?.fields[t],r=n?.suffix??``;return e=>`${n?.prefix===`€`?df(e*100).replace(`.00`,``):String(e)}${r}`},eA=24,tA=({model:e,resources:t,views:n,view:r,state:i,extras:a})=>{let o=U(),s=qp(),c=Zk(r,e),l=e=>r?.fields[e]?.label??W(e),u=n=>{let r=e.fields[n];return r?.type===`relation`&&r.relation?t[r.relation.resource]:void 0},d=c.facets.flatMap(e=>(e.flags?e.options.map(e=>e.value):[e.id]).map(t=>({group:e.id,field:t}))),f=_h({queries:d.map(({group:t,field:r})=>{let s=Fk(c,{...i,facets:{...i.facets,[t]:[]}},a),l=u(r),d=l?.primaryKey.length===1?mg(l,n[l.name]):void 0;return{queryKey:H.facets(e.name,r,s),queryFn:()=>o.facets(e.name,r,{filter:s,limit:50,...d&&{label:d}})}})}),p=(e,t)=>f[d.findIndex(n=>n.group===e&&n.field===t)]?.data,m=_h({queries:c.facets.map(t=>{let r=u(t.id),a=Wk((p(t.id,t.id)??[]).flatMap(e=>e.value===null?[]:[String(e.value)]),i.facets[t.id]??[]);return{queryKey:H.labels(`facet:${e.name}.${t.id}`,a.join(`,`)),enabled:!!r&&a.length>0,queryFn:async()=>[...await R_(s,o,r,a,n[r.name])]}})}),h=Kk(c.facets.map(e=>({id:e.id,target:e.combobox?u(e.id):void 0})),n),g=c.ranges??[],_=_h({queries:g.map(t=>{let n=Fk(c,KO(i,t.id,void 0),a),s=Qk(r,t.id)?eA:1;return{queryKey:H.histogram(e.name,t.id,s,n),queryFn:()=>o.histogram(e.name,t.id,{filter:n,buckets:s})}})});return{facets:c.facets.map((t,n)=>{if(t.flags){let e=t.options.map(({value:e})=>({value:e,label:l(e),count:p(t.id,e)?.find(e=>String(e.value)===`true`)?.count??0}));return{...t,options:e}}let i=e.fields[t.id],a=(p(t.id,t.id)??[]).flatMap(e=>e.label===void 0?[]:[[String(e.value),e.label]]),o=new Map([...a,...m[n]?.data??[]]),s=(p(t.id,t.id)??[]).flatMap(e=>e.value===null?[]:[{value:String(e.value),label:i?.type===`enum`?Bo(String(e.value),r?.fields[t.id]?.valueLabels):o.get(String(e.value))??String(e.value),count:e.count}]),c=h[n];return{...t,label:l(t.id),options:c.matches?Uk(c.matches,s):s,...o.size>0&&{labels:Object.fromEntries(o)},...c.onSearch&&{onSearch:c.onSearch}}}),ranges:g.flatMap((e,t)=>{let n=_[t]?.data;return!n||n.min===null||n.max===null?[]:[{...e,label:l(e.id),min:Math.floor(n.min),max:Math.ceil(n.max),step:Math.max(1,Math.round((n.max-n.min)/100)),histogram:Qk(r,e.id)?n.buckets.map(e=>e.count):[],format:$k(r,e.id)}]}),...c.dateField&&{datePresets:c.datePresets??!0,dateField:c.dateField,dateKind:c.dateKind},toggles:c.toggles?.map(e=>({...e,label:l(e.id)}))}},nA=5e3,rA=({queryClient:e,client:t,resources:n,views:r,model:i,columns:a,filter:o,orderBy:s})=>{let c=e=>H.page(i.name,o,s,40,e),l=B_(n,r,i,a),u=ov(r[i.name]),d=async e=>e.nextPageToken===``?e.items.length:e.totalSizeEstimate>nA?e.totalSizeEstimate:(await t.list(i.name,{filter:o,orderBy:s,pageSize:1,count:`exact`})).totalSize??e.totalSizeEstimate,f=async t=>{if(t===0)return``;let n=c(t-1),r=e.getQueryData(n);if(r)return r.nextPageToken;if(e.getQueryState(n)?.fetchStatus===`fetching`)return(await m(t-1)).nextPageToken},p=async e=>{let r=await f(e);if(e>0&&r===``)return{rows:[],total:0,nextPageToken:``};let c={filter:o,orderBy:s,pageSize:40,labels:l,photos:u},p=r===void 0?await t.seek(i.name,{...c,position:e*40}):await t.list(i.name,{...c,pageToken:r});if(p.items.length===0&&e>0)return{rows:[],total:0,nextPageToken:``};let m=p.items.map(e=>_g(i,e));return{rows:V_(n,i,a,sv(i,p.items,p.photos),p.labels).map((e,t)=>({...e,id:m[t]})),total:e===0?await d(p):p.totalSizeEstimate,nextPageToken:p.nextPageToken}},m=t=>e.fetchQuery({queryKey:c(t),staleTime:6e4,queryFn:()=>p(t)});return{page:m,loadRows:async e=>(await m(Math.floor(e/40))).rows}},iA=({resources:e,views:t,model:n,columns:r,filter:i,orderBy:a})=>{let s=U(),c=qp(),l=r.join(`,`),u=(0,o.useMemo)(()=>rA({queryClient:c,client:s,resources:e,views:t,model:n,columns:r,filter:i,orderBy:a}),[c,s,e,t,n,l,i,a]),d=yh({queryKey:[...H.first(n.name,i,a),l],queryFn:()=>u.page(0)});return{source:(0,o.useMemo)(()=>d.data?{total:d.data.total,loadRows:u.loadRows}:void 0,[d.data,u]),error:d.error,isLoading:d.isLoading,page:u.page,key:[...H.first(n.name,i,a),l]}},aA=({title:e,open:t,onClose:n,children:r})=>{let i=(0,o.useRef)(null);return Ru(i,t,n),t?(0,z.jsxs)(`div`,{className:`fixed inset-0 z-[80]`,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-backdrop/40`,onClick:n,"aria-hidden":!0}),(0,z.jsxs)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-label":e,tabIndex:-1,className:`absolute inset-x-0 bottom-0 flex max-h-[85vh] flex-col rounded-t-xl border-t bg-background shadow-pop outline-none`,children:[(0,z.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between border-b px-4`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:n,className:`-mr-2 inline-flex size-11 items-center justify-center rounded-md text-muted-foreground hover:bg-muted`,children:(0,z.jsx)(jn,{className:`size-5`})})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 pb-6`,children:r})]})]}):null},oA=({title:e,noun:t,busy:n,onConfirm:r,onCancel:i})=>(0,z.jsx)(kf,{title:`Delete ${e}?`,description:`This ${t.toLowerCase()} will be removed. This cannot be undone.`,onClose:i,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:i,children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:r,children:`Delete`})]})}),sA=({title:e,changes:t,busy:n,onReview:r,onDeleteAnyway:i,onCancel:a})=>(0,z.jsx)(kf,{title:`${e} was changed since you opened it`,description:`Someone saved this record in the meantime. Review what changed before you delete it.`,onClose:a,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:r,children:`Review changes`}),(0,z.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:i,children:`Delete anyway`})]}),children:t.length===0?(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`No visible fields differ; the record was saved again with the same values.`}):(0,z.jsx)(`ul`,{className:`divide-y rounded-md border text-[13px]`,children:t.map(e=>(0,z.jsxs)(`li`,{className:`grid grid-cols-[96px_1fr] gap-3 px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,z.jsx)(`span`,{className:`font-medium`,children:e.after})]})]},e.field))})}),cA=e=>{if(e.stage===`confirm`)return(0,z.jsx)(kf,{title:`Delete ${e.count} ${e.count===1?e.plural.replace(/s$/,``):e.plural.toLowerCase()}?`,description:`This cannot be undone. Each record is deleted only if it has not changed since the list loaded; anything that changed is reported and kept.`,onClose:e.onCancel,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:e.onCancel,children:`Cancel`}),(0,z.jsxs)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,onClick:e.onConfirm,children:[`Delete `,e.count]})]})});if(e.stage===`running`)return(0,z.jsx)(kf,{title:`Deleting`,description:`${e.done} of ${e.total} done`,onClose:()=>void 0,actions:(0,z.jsx)(V,{loading:!0,disabled:!0,children:`Working`})});let t=e.total-e.failures.length;return(0,z.jsx)(kf,{title:e.failures.length===0?`Deleted ${t}`:`Deleted ${t} of ${e.total}`,description:e.failures.length===0?void 0:`${e.failures.length} could not be deleted and were kept.`,onClose:e.onClose,actions:(0,z.jsx)(V,{variant:`primary`,onClick:e.onClose,children:`Done`}),children:e.failures.length>0&&(0,z.jsx)(`ul`,{className:`max-h-48 divide-y overflow-y-auto rounded-md border text-[13px]`,children:e.failures.map(e=>(0,z.jsxs)(`li`,{className:`px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`font-medium`,children:e.title}),(0,z.jsx)(`span`,{className:`block text-xs text-danger-text`,children:e.message})]},e.title))})})},lA=new Set([`updated_at`,`updatedAt`]),uA=(e,t,n,r)=>Object.values(e.fields).flatMap(e=>{if(lA.has(e.name)||JSON.stringify(n[e.name]??null)===JSON.stringify(r[e.name]??null))return[];let i=t?.fields[e.name];return[{field:e.name,label:i?.label??W(e.name),before:iv(e,n[e.name],i),after:iv(e,r[e.name],i)}]}),dA=4,fA=({model:e,view:t,onDeleted:n,onReview:r,restore:i})=>{let a=U(),s=qp(),c=Fg(),[l,u]=(0,o.useState)(),[d,f]=(0,o.useState)(!1),p=t?.names?.singular??W(e.name),m=t?.names?.plural??W(e.name),h=()=>{for(let t of[`page`,`list`,`first-page`,`map`])s.invalidateQueries({queryKey:[t,e.name]});for(let t of[`facets`,`series`,`histogram`])s.invalidateQueries({queryKey:[t,e.name]})},g=async(t,n)=>{let r=n??(await a.get(e.name,t.key)).etag;try{await a.remove(e.name,t.key,{etag:r})}catch(e){if(!(e instanceof us))throw e;return e}},_=t=>{h(),u(void 0),n?.(t),c.show({state:`success`,title:`${t.title} deleted`,...e.softDelete&&i&&{action:{label:`Undo`,onClick:()=>{i(t).then(()=>{h(),c.show({state:`success`,title:`${t.title} restored`})},e=>{if(!ds(e))throw e;h(),c.show({state:e.status===409?`success`:`error`,title:e.status===409?`${t.title} is already back`:`Could not restore ${t.title}`,description:e.status===409?void 0:e.message})})}}}})},v=async(n,r)=>{f(!0);try{if(!await g(n,r))return _(n);let i=(await a.get(e.name,n.key)).record;u({kind:`conflict`,target:n,fresh:i,changes:uA(e,t,n.snapshot,i)})}catch(e){if(!ds(e))throw e;u(void 0),c.show({state:`error`,title:`Could not delete ${n.title}`,description:e.message})}finally{f(!1)}},y=async e=>{try{return await g(e,e.etag)?{title:e.title,message:`Changed since the list loaded, so it was kept.`}:void 0}catch(t){if(!ds(t))throw t;return{title:e.title,message:t.message}}},b=async e=>{let t=[],n=0;u({kind:`bulk-running`,done:n,total:e.length});let r=[...e];await Promise.all(Array.from({length:Math.min(dA,e.length)},async()=>{for(let i=r.shift();i;i=r.shift()){let r=await y(i);r&&t.push(r),n+=1,u({kind:`bulk-running`,done:n,total:e.length})}})),h(),u({kind:`bulk-done`,total:e.length,failures:t})},x=()=>u(void 0);return{dialogs:l&&(0,z.jsxs)(z.Fragment,{children:[l.kind===`confirm`&&(0,z.jsx)(oA,{title:l.target.title,noun:p,busy:d,onCancel:x,onConfirm:()=>void v(l.target,l.target.etag)}),l.kind===`conflict`&&(0,z.jsx)(sA,{title:l.target.title,changes:l.changes,busy:d,onCancel:x,onReview:()=>{x(),r?.(l.target,l.fresh)},onDeleteAnyway:()=>void v(l.target,`*`)}),l.kind===`bulk-confirm`&&(0,z.jsx)(cA,{stage:`confirm`,count:l.targets.length,plural:m,onCancel:x,onConfirm:()=>void b(l.targets)}),l.kind===`bulk-running`&&(0,z.jsx)(cA,{stage:`running`,done:l.done,total:l.total}),l.kind===`bulk-done`&&(0,z.jsx)(cA,{stage:`done`,total:l.total,failures:l.failures,onClose:x})]}),start:t=>e.softDelete?v(t,t.etag):u({kind:`confirm`,target:t}),startBulk:e=>u({kind:`bulk-confirm`,targets:e})}},pA=e=>{let t=U();return e.softDelete?async n=>void await t.undelete(e.name,n.key):void 0},mA={wallet:iee,"file-text":Je,send:qt,ruler:Vt,bed:O,heart:Qe,bell:A,bookmark:ne,"external-link":Ve},hA=e=>e!==void 0&&Object.hasOwn(mA,e)?mA[e]:void 0,gA=({title:e,description:t,open:n,onClose:r,actions:i,children:a})=>{let o=Mu();return n?o?(0,z.jsx)(kf,{title:e,description:t,onClose:r,actions:i,children:a}):(0,z.jsx)(aA,{title:e,open:!0,onClose:r,children:(0,z.jsxs)(`div`,{className:`pt-3 text-[13px]`,children:[t&&(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:t}),a&&(0,z.jsx)(`div`,{className:`mt-4`,children:a}),(0,z.jsx)(`div`,{className:`mt-5 flex flex-col-reverse gap-2 [&>*]:min-h-11`,children:i})]})}):null},_A=({benefits:e})=>e&&e.length>0?(0,z.jsx)(`ul`,{className:`flex flex-col gap-2 text-left text-[13px]`,children:e.map(e=>(0,z.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,z.jsx)(de,{className:`mt-0.5 size-4 shrink-0 text-primary`,"aria-hidden":!0}),e]},e))}):null,vA=({prompt:e})=>{let{canSignUp:t}=B(),{open:n}=Hh();return(0,z.jsxs)(z.Fragment,{children:[e.signUp?(0,z.jsx)(`a`,{href:e.signUp.href,target:`_blank`,rel:`noreferrer`,className:Of(),children:e.signUp.label}):t&&(0,z.jsx)(V,{onClick:()=>n(`sign-up`),children:`Create an account`}),(0,z.jsx)(V,{variant:`primary`,onClick:()=>n(),children:`Sign in`})]})},yA=e=>{let{prompt:t}=e,n=(0,o.useId)();if(e.as===`dialog`)return(0,z.jsx)(gA,{title:t.title,description:t.description,open:e.open,onClose:e.onClose,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:e.onClose,children:`Not now`}),(0,z.jsx)(vA,{prompt:t})]}),children:(0,z.jsx)(_A,{benefits:t.benefits})});let r=hA(t.icon)??mt;return(0,z.jsxs)(`section`,{"aria-labelledby":n,className:`mx-auto flex w-full max-w-md flex-col items-center gap-4 px-5 py-10 text-center sm:py-16`,children:[(0,z.jsx)(`span`,{className:`flex size-12 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,z.jsx)(r,{className:`size-6`,"aria-hidden":!0})}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(`h1`,{id:n,className:`text-lg font-semibold`,children:t.title}),(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t.description})]}),(0,z.jsx)(_A,{benefits:t.benefits}),(0,z.jsx)(`div`,{className:`mt-2 flex w-full flex-col-reverse gap-2 sm:w-auto sm:flex-row sm:justify-center [&>*]:min-h-11 sm:[&>*]:min-h-0`,children:(0,z.jsx)(vA,{prompt:t})})]})},bA=(e,t)=>({model:e,record:t,key:po(vg(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),xA=(e,t,n=``)=>({queryKey:H.count(t.name,n),queryFn:async()=>{let r=await e.list(t.name,{filter:n||void 0,pageSize:1,count:`exact`,fields:t.primaryKey});return r.totalSize??r.totalSizeEstimate}}),Mte=(e,t=``)=>yh(xA(U(),e,t)),SA=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return yh({queryKey:r===void 0?H.firstRecord(e.name,t,n):H.record(e.name,r),queryFn:async()=>{if(r!==void 0){let t=await i.get(e.name,r);return{...bA(e,t.record),etag:t.etag,permissions:t.permissions}}let a=await i.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:1});return a.items[0]?bA(e,a.items[0]):null}})},Nte=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return yh({queryKey:H.list(e.name,t,n,r,i),placeholderData:_m,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},CA=()=>{let e=qp();return(0,o.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},Pte=eo(),wA=e=>{if(typeof e==`string`||typeof e==`number`)return e;if(e&&typeof e==`object`&&`id`in e)return wA(e.id)},Fte=(e,t,n)=>n.flatMap(n=>{let r=wA(n[t]);return r===void 0?[]:[{key:po(vg(e,n)),target:r}]}),Ite=(e,t)=>e.find(e=>po(e.target)===t),Lte=(e,t)=>[...e,{key:``,target:t}],Rte=(e,t)=>e.filter(e=>po(e.target)!==t),zte=(e,t)=>{let[n]=e.primaryKey;if(e.primaryKey.length!==1||n===void 0)throw Error(`${e.name} has a composite key, so its saved records cannot be listed`);let r=[...new Set(t.map(e=>e.target))];return r.length===0?void 0:Pte.in(n,r)},TA=(e,t)=>H.list(e,``,``,500,`saved:${t}`),EA=(e,t,n)=>{let r=U(),i=G().resources[e];return yh({queryKey:TA(e,t),enabled:n&&i!==void 0,queryFn:async()=>{let n=[],a;do{let o=await r.list(e,{pageSize:500,fields:[...i.primaryKey,t],...a&&{pageToken:a}});n.push(...o.items),a=o.nextPageToken||void 0}while(a);return Fte(i,t,n)}})},Bte=e=>e instanceof Error?e.message:`Something went wrong`,Vte=(e,t,n)=>{let r=G(),i=U(),a=qp(),o=Fg(),s=CA(),{resource:c,field:l}=e,u=r.permissions[c],d=r.resources[c]!==void 0&&u!==void 0&&wy(u,`create`)&&wy(u,`delete`),f=r.signIn?.[c]?.signIn,p=EA(c,l,d),m=p.data&&Ite(p.data,t),h=TA(c,l),g=bh({mutationFn:async e=>{e?await i.remove(c,e.key):await i.create(c,{[l]:n})},onMutate:async e=>{await a.cancelQueries({queryKey:h,exact:!0});let r=a.getQueryData(h);return a.setQueryData(h,(r=[])=>e?Rte(r,t):Lte(r,n)),{before:r}},onError:(e,t,n)=>{a.setQueryData(h,n?.before),o.show({state:`error`,title:t?`Could not take it off`:`Could not save it`,description:Bte(e)})},onSettled:()=>s(c)});return{mode:d?`save`:f?`sign-in`:void 0,prompt:f,saved:m!==void 0,ready:p.data!==void 0&&!g.isPending,toggle:()=>g.mutate(m)}},Hte=({favorite:e,recordKey:t,target:n,className:r})=>{let i=Vte(e,t,n),[a,s]=(0,o.useState)(!1);if(!i.mode)return null;let c=e.label??`Favorite`,l=R(`absolute right-2 top-2 flex size-8 items-center justify-center rounded-full bg-background/85 text-foreground shadow-sm transition-colors hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,r);return i.mode===`sign-in`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":c,"aria-haspopup":`dialog`,className:l,onClick:()=>s(!0),children:(0,z.jsx)(Qe,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsx)(yA,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>s(!1)})]}):(0,z.jsx)(`button`,{type:`button`,"aria-label":c,"aria-pressed":i.saved,"aria-disabled":!i.ready,className:l,onClick:()=>i.ready&&i.toggle(),children:(0,z.jsx)(Qe,{className:R(`size-4`,i.saved&&`fill-current text-danger`),"aria-hidden":!0})})},DA=({value:e,hints:t,children:n})=>(0,z.jsx)(rd,{tone:hk(String(e)),color:RD(t?.valueColors,e),shape:t?.badgeShape,children:n}),OA=({value:e})=>{let t=$_(e,{width:320,height:240});return t?(0,z.jsx)(dy,{image:t,loading:`lazy`,className:`size-full object-cover`}):null},kA=({children:e})=>(0,z.jsx)(`span`,{className:`-mx-3 -mt-3 mb-1.5 block aspect-[4/3] overflow-hidden rounded-t-lg border-b border-border bg-muted`,children:e}),Ute=({value:e})=>(0,z.jsx)(kA,{children:(0,z.jsx)(OA,{value:e})}),Wte=10,Gte=(e,t)=>{let n=U_(e)?e.uri:void 0,r=t.filter(e=>U_(e)&&e.uri!==n);return(n===void 0?r:[e,...r]).slice(0,Wte)},Kte=(e,t)=>t===0?0:(e%t+t)%t,qte=(e,t,n)=>t<=0||n===0?0:Math.min(n-1,Math.max(0,Math.round(e/t))),AA=`pointer-events-auto absolute top-1/2 flex size-7 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-sm opacity-0 transition-opacity group-has-[[data-card-photos]:hover]/card:opacity-100 group-hover/arrows:opacity-100 group-has-[:focus-visible]/arrows:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,jA=`[@media(hover:none)]:opacity-100`,Jte=({photos:e,cover:t,swipe:n=!0,children:r})=>{let i=(0,o.useRef)(null),a=(0,o.useRef)(void 0),[s,c]=(0,o.useState)(0),l=Gte(t,e),u=e=>{let t=i.current;t&&t.scrollTo({left:e*t.clientWidth})},d=e=>{a.current=Kte((a.current??s)+e,l.length),u(a.current)},f=()=>{a.current=void 0},p=e=>{c(qte(e.scrollLeft,e.clientWidth,l.length)),a.current!==void 0&&Math.abs(e.scrollLeft-a.current*e.clientWidth)<1&&(a.current=void 0)},m=(0,z.jsx)(kA,{children:(0,z.jsx)(`span`,{ref:i,tabIndex:-1,"data-card-photos":!0,onPointerDown:f,onScroll:e=>p(e.currentTarget),className:R(`flex size-full snap-x snap-mandatory outline-none [scrollbar-width:none] motion-safe:scroll-smooth [&::-webkit-scrollbar]:hidden`,n?`overflow-x-auto overscroll-x-contain`:`overflow-x-hidden`),children:l.map((e,t)=>(0,z.jsx)(`span`,{className:`block size-full shrink-0 snap-start snap-always`,children:(0,z.jsx)(OA,{value:e})},t))})});return(0,z.jsxs)(z.Fragment,{children:[r(m),l.length>1&&(0,z.jsxs)(`div`,{className:`group/arrows pointer-events-none absolute inset-x-px top-px aspect-[4/3]`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`Previous photo`,className:R(AA,!n&&jA,`left-2`),onClick:()=>d(-1),children:(0,z.jsx)(he,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Next photo`,className:R(AA,!n&&jA,`right-2`),onClick:()=>d(1),children:(0,z.jsx)(_e,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsxs)(`span`,{className:`absolute inset-x-0 bottom-2 flex justify-center`,"aria-live":`polite`,children:[(0,z.jsx)(`span`,{className:`sr-only`,children:`Photo ${s+1} of ${l.length}`}),(0,z.jsx)(`span`,{className:`flex items-center gap-1 rounded-full bg-background/70 px-1.5 py-1 leading-none`,"aria-hidden":!0,children:l.map((e,t)=>(0,z.jsx)(`span`,{className:R(`size-1.5 rounded-full`,t===s?`bg-foreground`:`bg-foreground/35`)},t))})]})]})]})},Yte=({icon:e,children:t})=>{let n=hA(e);return(0,z.jsxs)(`dd`,{className:`flex items-center gap-1 tabular-nums`,children:[n&&(0,z.jsx)(n,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t]})},MA=({model:e,view:t,display:n,row:r,swipe:i=!0})=>{let{image:a,title:o,subtitle:s,amount:c,badge:l,meta:u,footer:d,flags:f}=pv(e,t,n),p=e=>t?.fields[e]?.label??W(e),m=n=>{let i=e.fields[n];return i?r.labels[n]??iv(i,r.record[n],t?.fields[n]):``},{fields:h,components:g}=p_(),_=n.card===void 0?void 0:g?.[n.card],v=n=>{let i=e.fields[n],a=i&&hy(h,i,t?.fields[n]);return a?(0,z.jsx)(by,{shown:a,part:`display`,field:i,value:r.record[n],fallback:m(n)}):m(n)},y=n=>{let i=e.fields[n],a=t?.fields[n],o=r.record[n];return!i||a?.format!==`badge`||hy(h,i,a)||o==null||o===``?v(n):(0,z.jsx)(DA,{value:o,hints:a,children:m(n)})},b=n=>{let i=e.fields[n];if(!i)return;if(r.labels[n]!==void 0||hy(h,i,t?.fields[n]))return(0,z.jsx)(`strong`,{className:`font-semibold text-foreground`,children:v(n)});let a=gv(i,r.record[n],t?.fields[n]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a.amount}),a.suffix]})},x=_?void 0:n.photos,S=l===void 0?void 0:r.record[l],C=f.filter(e=>r.record[e]===!0),w=a===void 0?void 0:r.record[a],T=hv(r,c),E=mv(r,d),D=a!==void 0||x!==void 0,O=n.favorite,k=e=>(0,z.jsxs)(z.Fragment,{children:[D&&e,(0,z.jsxs)(`span`,{className:`flex items-start justify-between gap-2 ${O&&!D?`pr-8`:``}`,children:[(0,z.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:v(o)}),l!==void 0&&S!=null&&(0,z.jsx)(DA,{value:S,hints:t?.fields[l],children:m(l)})]}),s!==void 0&&(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:v(s)}),T!==void 0&&(0,z.jsx)(`span`,{className:`truncate tabular-nums text-muted-foreground`,children:b(T)}),u.length>0&&(0,z.jsx)(`dl`,{className:`mt-auto flex flex-wrap items-center gap-x-3 gap-y-0.5 pt-1 text-xs text-muted-foreground`,children:mv(r,u).map(e=>(0,z.jsxs)(`div`,{className:`flex gap-1`,children:[(0,z.jsx)(`dt`,{className:`sr-only`,children:p(e)}),(0,z.jsx)(Yte,{icon:t?.fields[e]?.icon,children:y(e)})]},e))}),C.length>0&&(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-1`,"aria-label":`Features`,children:C.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(rd,{dot:!1,children:p(e)})},e))}),E.length>0&&(0,z.jsx)(`span`,{className:`truncate text-xs text-muted-foreground ${u.length>0?``:`mt-auto`}`,children:E.map((e,t)=>(0,z.jsxs)(`span`,{children:[t>0&&(0,z.jsx)(`span`,{"aria-hidden":!0,children:` • `}),v(e)]},e))})]}),A=t=>(0,z.jsx)(Uv,{to:{kind:`record`,resource:e.name,key:r.key},className:`flex h-full flex-col gap-1.5 rounded-lg border border-border bg-background p-3 text-[13px] hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,children:_?(0,z.jsx)(vy,{name:n.card,fallback:k(t),children:(0,z.jsx)(_,{row:r})}):k(t)});return(0,z.jsxs)(`div`,{className:x?`group/card relative h-full`:O?`relative h-full`:`h-full`,children:[x?(0,z.jsx)(Jte,{photos:r.photos??[],cover:w,swipe:i,children:A}):A((0,z.jsx)(Ute,{value:w})),O&&(0,z.jsx)(Hte,{favorite:O,recordKey:r.key,target:vg(e,r.record),className:D?void 0:`right-1.5 top-1.5`})]})},Xte=e=>Math.max(1,Math.floor((e+12)/252)),Zte=(e,t)=>Math.max(0,(e-(t-1)*12)/t),Qte=(e,t,n,r)=>({start:e*n,end:Math.max(0,Math.min(r,(t+1)*n)-1)}),$te=(e,t,n)=>{let r=e/t.rowHeight;return t.columns===n.columns?r*n.rowHeight:Math.floor(Math.floor(r)*t.columns/n.columns)*n.rowHeight},ene=({source:e,label:t,initialIndex:n,onScrollIndex:r,minHeight:i,children:a})=>{let{total:s}=e,[c]=(0,o.useState)(n),[l,u]=(0,o.useState)(0),d=Xte(l),f=Zte(l,d),[p,m]=(0,o.useState)({width:0,height:0}),h=Math.ceil(Math.max(i(f),p.width===f?p.height:0)),g=h+12,_={columns:d,rowHeight:g},v=(0,o.useRef)({layout:_,top:0}),y=v.current.top>0&&(v.current.layout.columns!==d||v.current.layout.rowHeight!==g),b=e=>y?$te(v.current.top,v.current.layout,_):e,x=f>0&&p.width===f,S=FO({total:Math.ceil(s/d),rowHeight:g,initialIndex:Math.floor(c/d),settle:b,ready:x});(0,o.useLayoutEffect)(()=>{y&&S.scrollTo(S.top),v.current={layout:_,top:S.top},y||r(Math.floor(Math.max(0,S.top)/g)*d)});let C=Qte(S.first,S.last,d,s),w=xO({total:s,rowAt:e.rowAt,loadRows:e.loadRows,latencyMs:0},C.start,C.end);(0,o.useLayoutEffect)(()=>{let e=S.ref.current;if(!e)return;let t=new ResizeObserver(()=>u(e.clientWidth));return t.observe(e),u(e.clientWidth),()=>t.disconnect()},[]);let T=(0,o.useRef)(f);T.current=f;let[E]=(0,o.useState)(()=>new ResizeObserver(e=>{let t=Math.max(...e.map(e=>e.borderBoxSize[0]?.blockSize??e.contentRect.height)),n=T.current;m(e=>e.width===n&&e.height>=t?e:{width:n,height:Math.max(t,e.width===n?e.height:0)})}));(0,o.useLayoutEffect)(()=>()=>E.disconnect(),[E]);let D=(0,o.useCallback)(e=>{if(e)return E.observe(e),()=>E.unobserve(e)},[E]);return(0,z.jsx)(`ul`,{ref:S.ref,className:`relative min-w-0 flex-auto`,"aria-label":t,style:{height:S.geometry.contentHeight},children:S.rows.flatMap(({index:e,offset:t})=>Array.from({length:d},(n,r)=>{let i=e*d+r;if(i>=s)return[];let o=w(i),c={top:t,left:r*(f+12),width:f,minHeight:h};return o?(0,z.jsx)(`li`,{ref:D,"aria-posinset":i+1,"aria-setsize":s,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:a(o)},o.id):(0,z.jsx)(`li`,{"aria-hidden":!0,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:(0,z.jsx)(kd,{className:`h-full rounded-lg`})},`skeleton-${i}`)}))})},tne=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,nne=e=>e*.75,rne=44,ine=({model:e,view:t,display:n,list:r})=>{let i=t?.names?.plural??W(e.name),a=n.card===void 0&&(n.image!==void 0||n.photos!==void 0);return r.isLoading?(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden ${tne}`,children:Array.from({length:6},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}):r.error?(0,z.jsx)(ey,{title:`Could not load rows`,error:r.error}):!r.source||r.source.total===0?(0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,i.toLowerCase(),` match.`]}):(0,z.jsx)(ene,{source:r.source,label:i,initialIndex:r.initialIndex,onScrollIndex:r.onScrollIndex,minHeight:e=>(a?nne(e):0)+rne,children:r=>(0,z.jsx)(MA,{model:e,view:t,display:n,row:Sv(e,r)})})},NA=eo(),ane={bounds:{south:-90,west:-180,north:90,east:180},zoom:0},one=22,PA=e=>Math.floor(e*1e6)/1e6,FA=e=>Math.ceil(e*1e6)/1e6,IA=e=>((e+180)%360+360)%360-180,sne=(e,t)=>{let n=[NA.gte(e.latitude,PA(Math.max(t.south,-90))),NA.lte(e.latitude,FA(Math.min(t.north,90)))];if(t.east-t.west>=360)return NA.and(...n);let r=NA.gte(e.longitude,PA(IA(t.west))),i=NA.lte(e.longitude,FA(IA(t.east)));return IA(t.west)<=IA(t.east)?NA.and(...n,r,i):NA.and(...n,NA.or(r,i))},cne=(e,t,n)=>{let r=za(sne(t,n));return e.trim()===``?r:`(${e}) AND ${r}`},lne=e=>Math.min(Math.max(Math.floor(e),0),one),une=(e,t)=>{let n=[...e.map(e=>({south:e.latitude,west:e.longitude,north:e.latitude,east:e.longitude})),...t.map(e=>e.bounds)];if(n.length!==0)return{south:Math.min(...n.map(e=>e.south)),west:Math.min(...n.map(e=>e.west)),north:Math.max(...n.map(e=>e.north)),east:Math.max(...n.map(e=>e.east))}},LA=e=>{if(typeof e==`number`)return e;if(typeof e==`string`&&e.trim()!==``)return Number(e)},RA=(e,t)=>{let n=LA(e[t.latitude]),r=LA(e[t.longitude]);if(n!==void 0&&r!==void 0&&Math.abs(n)<=90&&Math.abs(r)<=180)return{latitude:n,longitude:r}},zA=(e,t)=>e.flatMap(e=>{let n=RA(e.record,t);return n?[{key:e.key,...n}]:[]}),dne=(e,t)=>{let n=[];for(let r of e){let e=n.find(e=>Math.hypot(e.at.x-r.x,e.at.y-r.y)<=t);e?e.keys.push(r.key):n.push({at:r,keys:[r.key]})}return n.map(e=>({keys:e.keys,at:e.at.key}))},fne=(e,t)=>{if(!e)return;let n=new Set(t.map(e=>e.key)),r=e.keys.filter(e=>n.has(e));if(r.length===0)return;let i=r.indexOf(e.keys[e.index]);return{keys:r,index:Math.max(i,0)}},BA=(e,t)=>({keys:e.keys,index:((e.index+t)%e.keys.length+e.keys.length)%e.keys.length}),pne=({model:e,display:t,fields:n,filter:r,orderBy:i,area:a})=>{let o=U(),{resources:s,views:c}=G(),l={latitude:t.latitude,longitude:t.longitude},u=a?cne(r,l,a.bounds):``,d=a?lne(a.zoom):0;return yh({queryKey:H.map(e.name,`${l.latitude},${l.longitude}`,d,u,i),enabled:a!==void 0,placeholderData:_m,queryFn:async()=>{let t=await o.map(e.name,{...l,zoom:d,filter:u,orderBy:i,labels:B_(s,c,e,n),photos:ov(c[e.name])});return{rows:V_(s,e,n,sv(e,t.items,t.photos),t.labels).map(t=>Sv(e,t)),buckets:t.buckets,total:t.totalSize}}})},mne=(0,o.lazy)(()=>a_(()=>import(`./records-map-CAj21Al1.js`).then(e=>({default:e.RecordsMap})),__vite__mapDeps([0,1,2,3,4,5,6]))),hne=250,VA=`flex size-8 items-center justify-center rounded-full border border-border bg-background hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,HA=({model:e,view:t,display:n,filter:r,orderBy:i,fields:a,at:s,onMove:c,footer:l=!0,flush:u=!1})=>{let d=G().maps?.style,[f,p]=(0,o.useState)(),[m,h]=(0,o.useState)(),g=rk(m,hne),[_,v]=(0,o.useState)(s===void 0),y=pne({model:e,display:n,fields:a,filter:r,orderBy:i,area:_?ane:g}),b=y.isPlaceholderData?void 0:y.data,x=y.data?.rows??[],S=y.data?.buckets??[],C=zA(x,n),w=_&&b?une(zA(b.rows,n),b.buckets):void 0,T=_v(t,n),E=(t?.names?.plural??W(e.name)).toLowerCase(),D=(t?.names?.singular??W(e.name)).toLowerCase(),O=fne(f,x),k=O&&x.find(e=>e.key===O.keys[O.index]),A=e=>e.length===1?`Show the ${D}`:`Show ${e.length} ${E}`,j=e=>`Zoom in on ${e.toLocaleString(`en-IE`)} ${e===1?D:E}`,M=(0,o.useRef)(null),[N,ee]=(0,o.useState)(0);if((0,o.useLayoutEffect)(()=>ee(M.current?.offsetHeight??0),[k?.key]),!d)return(0,z.jsx)(_y,{children:`The map display needs a map style: set PROTOBASE_MAP_STYLE_URL.`});let te=b?.total===0;return(0,z.jsxs)(`div`,{className:R(`flex h-full min-h-[36rem] flex-1 flex-col sm:min-h-[28rem]`,u&&`max-md:-mx-5 max-md:-mb-4 max-md:min-h-0`),children:[(0,z.jsxs)(`div`,{className:R(`relative min-h-0 flex-1 overflow-hidden rounded-lg border border-border bg-muted`,u&&`max-md:rounded-none max-md:border-0`),children:[(0,z.jsx)(o.Suspense,{fallback:null,children:(0,z.jsx)(mne,{style:d,initial:s,points:C,buckets:S,fit:w,onFitted:()=>v(!1),onMove:(e,t)=>{h(e),c?.(t)},selected:O?.keys,covered:O?N:0,onSelect:e=>p({keys:e,index:0}),onClear:()=>p(void 0),markerLabel:A,bucketLabel:j})}),y.error&&(0,z.jsx)(`div`,{className:`absolute inset-x-3 top-3 z-10`,children:(0,z.jsx)(ey,{title:`Could not load rows`,error:y.error})}),te&&(0,z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-3 top-3 z-10 flex justify-center`,children:(0,z.jsxs)(`p`,{className:`pointer-events-auto flex items-center gap-3 rounded-full border border-border bg-background px-4 py-1.5 text-[13px] text-muted-foreground shadow`,role:`status`,children:[_?`No ${E} match.`:`No ${E} in this part of the map.`,!_&&(0,z.jsx)(V,{size:`sm`,onClick:()=>v(!0),children:`Show all`})]})}),O&&k&&(0,z.jsx)(`div`,{ref:M,className:`pointer-events-none absolute inset-x-3 bottom-3 z-10 flex justify-center`,children:(0,z.jsxs)(`div`,{className:`pointer-events-auto flex w-full max-w-[16rem] flex-col gap-2 sm:max-w-xs`,role:`group`,"aria-label":`Chosen ${D}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[O.keys.length>1&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`Previous`,className:VA,onClick:()=>p(BA(O,-1)),children:(0,z.jsx)(he,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsxs)(`span`,{className:`rounded-full border border-border bg-background px-2 py-1 text-xs tabular-nums`,"aria-live":`polite`,children:[O.index+1,` / `,O.keys.length]}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Next`,className:VA,onClick:()=>p(BA(O,1)),children:(0,z.jsx)(_e,{className:`size-4`,"aria-hidden":!0})})]}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close`,className:VA,onClick:()=>p(void 0),children:(0,z.jsx)(jn,{className:`size-4`,"aria-hidden":!0})})]}),(0,z.jsx)(`div`,{className:`shadow-lg`,children:(0,z.jsx)(MA,{model:e,view:t,display:T,row:k})})]})})]}),l&&(0,z.jsx)(`p`,{className:`hidden py-3 text-xs text-muted-foreground md:block`,children:gne(y.data,E)})]})},gne=(e,t)=>{if(!e)return`\xA0`;let n=e.total.toLocaleString(`en-IE`);return e.buckets.length===0&&e.rows.length<e.total?`${e.rows.length.toLocaleString(`en-IE`)} of ${n} ${t} in view`:`${n} ${t} in view`},UA=(0,o.createContext)(void 0),_ne=({value:e,children:t})=>(0,z.jsx)(UA.Provider,{value:e,children:t}),vne=()=>{let e=(0,o.useContext)(UA);if(!e)throw Error(`useListDisplay is used inside a list display, which the list page draws`);return e},yne=()=>(0,o.useContext)(UA),WA=({display:e,list:t})=>{let{components:n}=p_(),r=n?.[e.component];return r?(0,z.jsx)(_ne,{value:t,children:(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,z.jsx)(vy,{name:e.component,children:(0,z.jsx)(r,{...ro(e.props??{})})})})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})},bne=(e,t,n)=>{if(n!==0){if(e===`Home`)return 0;if(e===`End`)return n-1;if(e===`ArrowDown`)return t<0?0:(t+1)%n;if(e===`ArrowUp`)return t<0?n-1:(t-1+n)%n}},xne=({value:e,options:t,onChange:n,label:r})=>{let[i,a]=(0,o.useState)(!1),s=(0,o.useRef)(null),c=(0,o.useRef)(null),l=(0,o.useRef)([]),u=t.findIndex(t=>t.value===e),d=t[u];(0,o.useEffect)(()=>{if(!i)return;l.current[Math.max(u,0)]?.focus();let e=e=>{e.target instanceof Node&&!s.current?.contains(e.target)&&a(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[i]);let f=()=>{a(!1),c.current?.focus()};return(0,z.jsxs)(`div`,{ref:s,className:`relative shrink-0`,children:[(0,z.jsxs)(`button`,{ref:c,type:`button`,"aria-label":d?`${r}: ${d.label}`:r,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(!i),className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-border-strong bg-background px-2.5 text-[13px] font-medium shadow-sm transition-colors hover:bg-muted pointer-coarse:h-11`,children:[d?.icon&&(0,z.jsx)(d.icon,{className:`size-3.5`}),d?.label??r,(0,z.jsx)(pe,{className:`size-3.5 text-muted-foreground`})]}),i&&(0,z.jsx)(`ul`,{role:`menu`,"aria-label":r,onKeyDown:e=>{if(e.key===`Escape`)return f();if(e.key===`Tab`)return a(!1);let n=bne(e.key,l.current.indexOf(document.activeElement),t.length);n!==void 0&&(e.preventDefault(),l.current[n]?.focus())},className:`absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:t.map((t,r)=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsxs)(`button`,{ref:e=>{l.current[r]=e},type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,onClick:()=>{f(),t.value!==e&&n(t.value)},className:R(`flex min-h-9 w-full items-center gap-2 whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted focus:bg-muted focus:outline-none pointer-coarse:min-h-11`,t.value===e&&`font-medium`),children:[t.icon?(0,z.jsx)(t.icon,{className:`size-3.5`}):(0,z.jsx)(`span`,{className:`size-3.5`}),(0,z.jsx)(`span`,{className:`flex-1`,children:t.label}),t.value===e&&(0,z.jsx)(de,{className:`size-3.5 text-primary-text`})]})},t.value))})]})},Sne={table:fn,cards:tee,kanban:on,board:ke,list:lt,calendar:ce,map:bt},GA=({view:e,value:t,onChange:n,menu:r=!1})=>{let i=fv(e);if(i.length<2)return null;let a=i.map(e=>({value:e.name,label:e.label,icon:e.icon===void 0?void 0:Sne[e.icon]}));return r?(0,z.jsx)(xne,{label:`Display`,value:t,onChange:n,options:a}):(0,z.jsx)(od,{label:`Display`,size:`md`,value:t,onChange:n,options:a})},Cne=[[`asc`,`ascending`],[`desc`,`descending`]],KA=({model:e,view:t,display:n,orderBy:r,onChange:i,className:a})=>{let o=wv(r),s=bv(e,t,n),c=s.includes(o.columnId)?s:[o.columnId,...s],l=e=>t?.fields[e]?.label??W(e);return(0,z.jsx)(`select`,{"aria-label":`Sort`,value:`${o.columnId} ${o.direction}`,onChange:e=>i(e.target.value),className:R(`h-8 rounded-md border border-border-strong bg-background px-2.5 text-[13px] shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,a),children:c.flatMap(e=>Cne.map(([t,n])=>(0,z.jsxs)(`option`,{value:`${e} ${t}`,children:[l(e),`, `,n]},`${e} ${t}`)))})},wne=(e,t,n,r)=>{let i=xh({queryKey:[...n,`display`],enabled:r,initialPageParam:0,queryFn:({pageParam:e})=>t(e),getNextPageParam:(e,t)=>e.rows.length===40&&t.length*40<(t[0]?.total??0)?t.length:void 0}),a=i.data?.pages??[];return{resource:e.name,rows:a.flatMap(t=>t.rows.map(t=>Sv(e,t))),total:a[0]?.total??0,loading:i.isPending,error:i.error,more:i.hasNextPage,loadMore:()=>void i.fetchNextPage()}},qA=new Map,Tne=()=>{let{entry:e,path:t,params:n}=Oh(),r=`${t}?${n.toString()}`,i=qA.get(e),a=(0,o.useCallback)(t=>void qA.set(e,{url:r,index:t}),[e,r]);return{initialIndex:i?.url===r?i.index:0,remember:a}},Ene=(e,t,n,r=!0)=>{let i=U(),a=Qo(n)??``;return yh({queryKey:H.facets(e,t,a),enabled:r,queryFn:()=>i.facets(e,t,{filter:a,limit:50})})},JA=(e,t,n=!0)=>{let r=U(),i=Qo(t.filter)??``;return yh({queryKey:H.series(e,t.field,`${t.range??``}${t.from??``}${t.to??``}`,t.granularity??``,i),enabled:n,queryFn:()=>r.series(e,{...t,filter:i})})},Dne=(e,t,n,r=20,i=!0)=>{let a=U(),o=Qo(n)??``;return yh({queryKey:H.histogram(e,t,r,o),enabled:i,queryFn:()=>a.histogram(e,t,{filter:o,buckets:r})})};function YA(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=YA(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function XA(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=YA(e))&&(r&&(r+=` `),r+=t);return r}var One=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function ZA(e){return typeof e==`string`&&One.includes(e)}var kne=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function QA(e){return typeof e==`string`&&kne.has(e)}function $A(e){return typeof e==`string`&&e.startsWith(`data-`)}function ej(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(QA(n)||$A(n))&&(t[n]=e[n]);return t}function tj(e){if(e==null)return null;if((0,o.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return ej(t)}return typeof e==`object`&&!Array.isArray(e)?ej(e):null}function nj(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(QA(n)||$A(n)||ZA(n))&&(t[n]=e[n]);return t}var Ane=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function rj(){return rj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rj.apply(null,arguments)}function jne(e,t){if(e==null)return{};var n,r,i=Mne(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Mne(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var ij=(0,o.forwardRef)((e,t)=>{var n=e.children,r=e.width,i=e.height,a=e.viewBox,s=e.className,c=e.style,l=e.title,u=e.desc,d=jne(e,Ane),f=a||{width:r,height:i,x:0,y:0},p=XA(`recharts-surface`,s);return o.createElement(`svg`,rj({},nj(d),{className:p,width:r,height:i,style:c,viewBox:`${f.x} ${f.y} ${f.width} ${f.height}`,ref:t}),o.createElement(`title`,null,l),o.createElement(`desc`,null,u),n)}),Nne=[`children`,`className`];function aj(){return aj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},aj.apply(null,arguments)}function Pne(e,t){if(e==null)return{};var n,r,i=Fne(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Fne(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var oj=o.forwardRef((e,t)=>{var n=e.children,r=e.className,i=Pne(e,Nne),a=XA(`recharts-layer`,r);return o.createElement(`g`,aj({className:a},nj(i),{ref:t}),n)});function sj(e){return e===`__proto__`}var Ine=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function cj(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:Ine.test(e);default:return!1}}function lj(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function uj(e){return typeof e==`symbol`||e instanceof Symbol}function Lne(e){return e==null?``:dj(e)}function dj(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(dj).join(`,`);if(uj(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function fj(e){if(Array.isArray(e))return e.map(lj);if(typeof e==`symbol`)return[e];e=Lne(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r<n;){let l=e[r];if(a)l===`\\`&&r+1<n?(r++,i+=e[r]):l===a?a=``:i+=l;else if(o){if(l===`"`||l===`'`)a=l,s=!0;else if(l===`]`){if(o=!1,!s&&i.includes(`.`)&&!c.test(i)){let e=i.split(`.`);for(let n=0;n<e.length;n++)e[n]!==``&&t.push(e[n])}else t.push(i);i=``}else i+=l}else if(l===`[`)o=!0,s=!1,i&&=(t.push(i),``);else if(l===`.`){i&&=(t.push(i),``);let n=e[r+1];(n===void 0||n===`.`)&&t.push(``)}else i+=l;r++}return i&&t.push(i),t}function pj(e,t,n){if(e==null)return n;switch(typeof t){case`string`:{if(sj(t))return n;let r=e[t];return r===void 0?cj(t)&&!Object.hasOwn(e,t)?pj(e,fj(t),n):n:r}case`number`:case`symbol`:{typeof t==`number`&&(t=lj(t));let r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return Rne(e,t,n);if(t=Object.is(t?.valueOf(),-0)?`-0`:String(t),sj(t))return n;let r=e[t];return r===void 0?n:r}}}function Rne(e,t,n){if(t.length===0)return n;let r=e;for(let e=0;e<t.length;e++){if(r==null||sj(t[e]))return n;r=r[t[e]]}return r===void 0?n:r}var zne=4;function mj(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:zne),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function hj(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+mj(i)+n},``)}var gj=e=>e===0?0:e>0?1:-1,_j=e=>typeof e==`number`&&e!=+e,vj=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,q=e=>(typeof e==`number`||e instanceof Number)&&!_j(e),yj=e=>q(e)||typeof e==`string`,Bne=0,bj=e=>{var t=++Bne;return`${e||``}${t}`},xj=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!q(e)&&typeof e!=`string`)return n;var i;if(vj(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return _j(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},Sj=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function Cj(e,t,n){return q(e)&&q(t)?mj(e+n*(t-e)):t}function Vne(e,t,n){if(e&&e.length)return e.find(e=>e&&(typeof t==`function`?t(e):pj(e,t))===n)}var wj=e=>e==null,Tj=e=>wj(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function Ej(e){return e!=null}function Dj(){}function Oj(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function kj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Aj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?kj(Object(n),!0).forEach(function(t){Hne(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kj(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Hne(e,t,n){return(t=Une(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Une(e){var t=Wne(e,`string`);return typeof t==`symbol`?t:t+``}function Wne(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Gne=e=>{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=Oj(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?Aj({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?Aj({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?Aj({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?Aj({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?Aj({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?Aj({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?Aj({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?Aj({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(q(n.x)||vj(n.x))&&(q(n.y)||vj(n.y))?Aj({x:c+xj(n.x,g),y:l+xj(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):Aj({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},Kne=[`top`,`left`,`right`,`bottom`];function qne(e){return e==null?!1:typeof e==`object`||Kne.includes(e)}var Jne=(0,o.createContext)(null);function jj(e){return function(){return e}}var Mj=Math.PI,Nj=2*Mj,Pj=1e-6,Yne=Nj-Pj;function Fj(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Xne(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Fj;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Ij=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Fj:Xne(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Pj){if(!(Math.abs(u*s-c*l)>Pj)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Mj-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Pj&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Pj||Math.abs(this._y1-l)>Pj)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Nj+Nj),d>Yne?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Pj&&this._append`A${n},${n},0,${+(d>=Mj)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Ij.prototype;function Lj(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Ij(t)}Array.prototype.slice;function Rj(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function zj(e){this._context=e}zj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function Bj(e){return new zj(e)}function Vj(e){return e[0]}function Hj(e){return e[1]}function Uj(e,t){var n=jj(!0),r=null,i=Bj,a=null,o=Lj(s);e=typeof e==`function`?e:e===void 0?Vj:jj(e),t=typeof t==`function`?t:t===void 0?Hj:jj(t);function s(s){var c,l=(s=Rj(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:jj(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Wj(e,t,n){var r=null,i=jj(!0),a=null,o=Bj,s=null,c=Lj(l);e=typeof e==`function`?e:e===void 0?Vj:jj(+e),t=typeof t==`function`?t:jj(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Hj:jj(+n);function l(l){var u,d,f,p=(l=Rj(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Uj().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:jj(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:jj(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:jj(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Gj=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function Kj(e){return new Gj(e,!0)}function qj(e){return new Gj(e,!1)}function Jj(){}function Yj(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Xj(e){this._context=e}Xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Yj(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Zj(e){return new Xj(e)}function Qj(e){this._context=e}Qj.prototype={areaStart:Jj,areaEnd:Jj,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $j(e){return new Qj(e)}function eM(e){this._context=e}eM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tM(e){return new eM(e)}function nM(e){this._context=e}nM.prototype={areaStart:Jj,areaEnd:Jj,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function rM(e){return new nM(e)}function iM(e){return e<0?-1:1}function aM(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(iM(a)+iM(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function oM(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function sM(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function cM(e){this._context=e}cM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:sM(this,this._t0,oM(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,sM(this,oM(this,n=aM(this,e,t)),n);break;default:sM(this,this._t0,n=aM(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function lM(e){this._context=new uM(e)}(lM.prototype=Object.create(cM.prototype)).point=function(e,t){cM.prototype.point.call(this,t,e)};function uM(e){this._context=e}uM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function dM(e){return new cM(e)}function fM(e){return new lM(e)}function pM(e){this._context=e}pM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=mM(e),i=mM(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o])}(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function mM(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function hM(e){return new pM(e)}function gM(e,t){this._context=e,this._t=t}gM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function _M(e){return new gM(e,.5)}function vM(e){return new gM(e,0)}function yM(e){return new gM(e,1)}function bM(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function xM(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function SM(e,t){return e[t]}function CM(e){let t=[];return t.key=e,t}function wM(){var e=jj([]),t=xM,n=bM,r=SM;function i(i){var a=Array.from(e.apply(this,arguments),CM),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=Rj(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:jj(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:jj(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?xM:typeof e==`function`?e:jj(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??bM,i):n},i}function TM(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}bM(e,t)}}function EM(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}bM(e,t)}}function DM(e,t){if((o=e.length)>0&&(a=(i=e[t[0]]).length)>0){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,bM(e,t)}}var OM=e=>`radius`in e&&`startAngle`in e&&`endAngle`in e,kM=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,o.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{ZA(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},AM=(e,t,n)=>r=>(e(t,n,r),null),jM=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];ZA(i)&&typeof a==`function`&&(r||={},r[i]=AM(a,t,n))}),r};function MM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function NM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?MM(Object(n),!0).forEach(function(t){PM(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MM(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function PM(e,t,n){return(t=FM(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FM(e){var t=IM(e,`string`);return typeof t==`symbol`?t:t+``}function IM(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function LM(e,t){var n=NM({},e),r=t;return Object.keys(t).reduce((e,t)=>(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function RM(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}function zM(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}function BM(e){return e}function VM(e){return Number.isSafeInteger(e)&&e>=0}function HM(e){return e!=null&&typeof e!=`function`&&VM(e.length)}function UM(e){return function(t){return pj(t,e)}}function WM(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function GM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function KM(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function qM(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var JM=`[object RegExp]`,YM=`[object String]`,XM=`[object Number]`,ZM=`[object Boolean]`,QM=`[object Arguments]`,$M=`[object Symbol]`,eN=`[object Date]`,tN=`[object Map]`,nN=`[object Set]`,rN=`[object Array]`,iN=`[object Function]`,aN=`[object ArrayBuffer]`,oN=`[object Object]`,sN=`[object Error]`,cN=`[object DataView]`,lN=`[object Uint8Array]`,uN=`[object Uint8ClampedArray]`,dN=`[object Uint16Array]`,fN=`[object Uint32Array]`,pN=`[object BigUint64Array]`,mN=`[object Int8Array]`,hN=`[object Int16Array]`,gN=`[object Int32Array]`,_N=`[object BigInt64Array]`,vN=`[object Float32Array]`,yN=`[object Float64Array]`,bN=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function xN(e){return bN.Buffer!==void 0&&bN.Buffer.isBuffer(e)}function SN(e,t){return CN(e,void 0,e,new Map,t)}function CN(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(WM(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=CN(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,CN(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(CN(a,void 0,n,r,i));return t}if(xN(e))return e.subarray();if(GM(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=CN(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),wN(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),wN(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,wN(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(typeof e==`object`&&TN(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),wN(t,e,n,r,i),t}return e}function wN(e,t,n=e,r,i){let a=[...Object.keys(t),...KM(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=CN(t[s],s,n,r,i))}}function TN(e){switch(qM(e)){case QM:case rN:case aN:case cN:case ZM:case eN:case vN:case yN:case mN:case hN:case gN:case tN:case XM:case oN:case JM:case nN:case YM:case $M:case lN:case uN:case dN:case fN:return!0;default:return!1}}function EN(e){return CN(e,void 0,e,new Map,void 0)}function DN(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function ON(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}function kN(e,t,n){return typeof n==`function`?AN(e,t,function e(t,r,i,a,o,s){let c=n(t,r,i,a,o,s);return c===void 0?AN(t,r,e,s,!1):!!c},new Map,!0):kN(e,t,()=>void 0)}function AN(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return jN(e,t,n,r,i);case`function`:return Object.keys(t).length>0?AN(e,{...t},n,r,i):DN(e,t);default:return ON(e)&&i?typeof t!=`string`||t===``:DN(e,t)}}function jN(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return NN(e,t,n,r);if(t instanceof Map)return MN(e,t,n,r);if(t instanceof Set)return PN(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)WM(e)&&(e=Object(e));else{let t=qM(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;i<a.length;i++){let o=a[i];if(!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!n(e[o],t[o],o,e,t,r))return!1}return!0}finally{r?.delete(t)}}function MN(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function NN(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function PN(e,t,n,r){return t.size===0||e instanceof Set&&NN([...e],[...t],n,r)}function FN(e,t){return kN(e,t,()=>void 0)}function IN(e){return e=EN(e),t=>FN(t,e)}function LN(e,t){return SN(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(qM(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),wN(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case XM:case YM:case ZM:{let t=new e.constructor(e?.valueOf());return wN(t,e),t}case QM:{let t={};return wN(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function RN(e){return LN(e)}var zN=/^(?:0|[1-9]\d*)$/;function BN(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<t;case`symbol`:return!1;case`string`:return zN.test(e)}}function VN(e){return typeof e==`object`&&!!e&&qM(e)===`[object Arguments]`}function HN(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&cj(t)&&!(t in Object(e))?fj(t):[t],n.length===0)return!1;let r=e;for(let e=0;e<n.length;e++){let t=lj(n[e]);if((r==null||!Object.hasOwn(r,t))&&!((Array.isArray(r)||VN(r))&&BN(t)&&Number(t)<r.length))return!1;r=r[t]}return!0}function UN(e,t){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=lj(e)}return t=RN(t),function(n){let r=pj(n,e);return r===void 0?HN(n,e):t===void 0?r===void 0:FN(r,t)}}function WN(e){if(e==null)return BM;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?UN(e[0],e[1]):IN(e);default:return UM(e)}}function GN(e){return e===0?0:e}function KN(e,t=BM){return HM(e)?RM(Array.from(e),zM(WN(t),1)).map(GN):[]}function qN(e,t,n){return t===!0?KN(e,n):typeof t==`function`?KN(e,t):e}var JN=(0,o.createContext)(null),YN=e=>e,XN=()=>{var e=(0,o.useContext)(JN);return e?e.store.dispatch:YN},ZN=()=>{},QN=()=>ZN,$N=(e,t)=>e===t;function J(e){var t=(0,o.useContext)(JN),n=(0,o.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:ZN,[t,e]);return(0,pw.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:QN,t?t.store.getState:ZN,t?t.store.getState:ZN,n,$N)}function eP(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function tP(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var nP=e=>Array.isArray(e)?e:[e];function rP(e){let t=Array.isArray(e[0])?e[0]:e;return tP(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function iP(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var aP=class{constructor(e){this.value=e}deref(){return this.value}},oP=typeof WeakRef>`u`?aP:WeakRef,sP=0,cP=1;function lP(){return{s:sP,v:void 0,o:null,p:null}}function uP(e){return e instanceof oP?e.deref():e}function dP(e,t={}){let n=lP(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=lP(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=lP(),e.set(n,t)):t=r}}let s=t,c;if(t.s===cP)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=uP(i);e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new oP(c):c}return s.s=cP,s.v=c,c}return o.clearCache=()=>{n=lP(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function fP(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),eP(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=dP,argsMemoizeOptions:u=[]}={...n,...a},d=nP(c),f=nP(u),p=rP(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=iP(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var Y=fP(dP);function pP(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}function mP(e,t,n){return ON(n)&&(typeof t==`number`&&HM(n)&&BN(t)&&t<n.length||typeof t==`string`&&t in n)?DN(n[t],e):!1}function hP(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}var gP=(e,t,n)=>{if(e!==t){let r=hP(e),i=hP(t);if(r===i&&r===0){if(e<t)return n===`desc`?1:-1;if(e>t)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},_P=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vP=/^\w*$/;function yP(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||uj(e)?!0:typeof e==`string`&&(vP.test(e)||!_P.test(e))||t!=null&&Object.hasOwn(t,e)}function bP(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=HM(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r<t.length&&n!=null;++r)n=n[t[r]];return r>0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||yP(e)?e:{key:e,path:fj(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;r<o.length;r++){let i=gP(e.criteria[r],t.criteria[r],n[r]);if(i!==0)return i}return 0}).map(e=>e.original)}function xP(e,...t){let n=t.length;return n>1&&mP(e,t[0],t[1])?t=[]:n>2&&mP(t[0],t[1],t[2])&&(t=[t[0]]),bP(e,pP(t),[`asc`])}var SP=e=>e.legend.settings,CP=e=>e.legend.size;Y([e=>e.legend.payload,SP],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?xP(r,n):r});function wP(e,t){return kP(e)||OP(e,t)||EP(e,t)||TP()}function TP(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
12
+ `},db={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function fb(e){let{announcements:t=db,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=ub}=e,{announce:a,announcement:s}=ob(),c=Ky(`DndLiveRegion`),[l,u]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{u(!0)},[]),cb((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!l)return null;let d=o.createElement(o.Fragment,null,o.createElement(ib,{id:r,value:i.draggable}),o.createElement(ab,{id:c,announcement:s}));return n?(0,Pn.createPortal)(d,n):d}var pb;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(pb||={});function mb(){}function hb(e,t){return(0,o.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function gb(){var e=[...arguments];return(0,o.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var _b=Object.freeze({x:0,y:0});function vb(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function yb(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function bb(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function xb(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Sb(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Cb(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var wb=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Cb(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=vb(Cb(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(yb)},Tb=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=xb(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=xb(r),o=i.reduce((e,t,r)=>e+vb(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(yb)};function Eb(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Db=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Eb(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(bb)};function Ob(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function kb(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:_b}function Ab(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var jb=Ab(1);function Mb(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Nb(e,t,n){let r=Mb(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Pb={ignoreTransform:!1};function Fb(e,t){t===void 0&&(t=Pb);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ny(e).getComputedStyle(e);t&&(n=Nb(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Ib(e){return Fb(e,{ignoreTransform:!0})}function Lb(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Rb(e,t){return t===void 0&&(t=Ny(e).getComputedStyle(e)),t.position===`fixed`}function zb(e,t){t===void 0&&(t=Ny(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Bb(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Py(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Fy(i)||Iy(i)||n.includes(i))return n;let a=Ny(e).getComputedStyle(i);return i!==e&&zb(i,a)&&n.push(i),Rb(i,a)?n:r(i.parentNode)}return e?r(e):n}function Vb(e){let[t]=Bb(e,1);return t??null}function Hb(e){return!Ay||!e?null:jy(e)?e:My(e)?Py(e)||e===Ly(e).scrollingElement?window:Fy(e)?e:null:null}function Ub(e){return jy(e)?e.scrollX:e.scrollLeft}function Wb(e){return jy(e)?e.scrollY:e.scrollTop}function Gb(e){return{x:Ub(e),y:Wb(e)}}var Kb;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Kb||={});function qb(e){return!Ay||!e?!1:e===document.scrollingElement}function Jb(e){let t={x:0,y:0},n=qb(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Yb={x:.2,y:.2};function Xb(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Yb);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Jb(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Kb.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Kb.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Kb.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Kb.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Zb(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Qb(e){return e.reduce((e,t)=>Jy(e,Gb(t)),_b)}function $b(e){return e.reduce((e,t)=>e+Ub(t),0)}function ex(e){return e.reduce((e,t)=>e+Wb(t),0)}function tx(e,t){if(t===void 0&&(t=Fb),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Vb(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var nx=[[`x`,[`left`,`right`],$b],[`y`,[`top`,`bottom`],ex]],rx=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Bb(t),r=Qb(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of nx)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},ix=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function ax(e){let{EventTarget:t}=Ny(e);return e instanceof t?e:Ly(e)}function ox(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var sx;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(sx||={});function cx(e){e.preventDefault()}function lx(e){e.stopPropagation()}var K;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(K||={});var ux={start:[K.Space,K.Enter],cancel:[K.Esc],end:[K.Space,K.Enter,K.Tab]},dx=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case K.Right:return{...n,x:n.x+25};case K.Left:return{...n,x:n.x-25};case K.Down:return{...n,y:n.y+25};case K.Up:return{...n,y:n.y-25}}},fx=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new ix(Ly(t)),this.windowListeners=new ix(Ny(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(sx.Resize,this.handleCancel),this.windowListeners.add(sx.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(sx.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&tx(n),t(_b)}handleKeyDown(e){if(Zy(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=ux,coordinateGetter:a=dx,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:_b;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Yy(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Jb(n),p=Zb(n),m={x:Math.min(i===K.Right?p.right-p.width/2:p.right,Math.max(i===K.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===K.Down?p.bottom-p.height/2:p.bottom,Math.max(i===K.Down?p.top:p.top+p.height/2,u.y))},h=i===K.Right&&!s||i===K.Left&&!c,g=i===K.Down&&!l||i===K.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===K.Right&&e<=d.x||i===K.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===K.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===K.Down&&e<=d.y||i===K.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===K.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Jy(Yy(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};fx.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=ux,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function px(e){return!!(e&&`distance`in e)}function mx(e){return!!(e&&`delay`in e)}var hx=class{constructor(e,t,n){n===void 0&&(n=ax(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Ly(i),this.documentListeners=new ix(this.document),this.listeners=new ix(n),this.windowListeners=new ix(Ny(i)),this.initialCoordinates=$y(r)??_b,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(sx.Resize,this.handleCancel),this.windowListeners.add(sx.DragStart,cx),this.windowListeners.add(sx.VisibilityChange,this.handleCancel),this.windowListeners.add(sx.ContextMenu,cx),this.documentListeners.add(sx.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(mx(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(px(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(sx.Click,lx,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(sx.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=$y(e)??_b,s=Yy(n,o);if(!t&&a){if(px(a)){if(a.tolerance!=null&&ox(s,a.tolerance))return this.handleCancel();if(ox(s,a.distance))return this.handleStart()}if(mx(a)&&ox(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===K.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},gx={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},_x=class extends hx{constructor(e){let{event:t}=e,n=Ly(t.target);super(e,gx,n)}};_x.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var vx={move:{name:`mousemove`},end:{name:`mouseup`}},yx;(function(e){e[e.RightClick=2]=`RightClick`})(yx||={});var bx=class extends hx{constructor(e){super(e,vx,Ly(e.event.target))}};bx.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==yx.RightClick&&(r?.({event:n}),!0)}}];var xx={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Sx=class extends hx{constructor(e){super(e,xx)}static setup(){return window.addEventListener(xx.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(xx.move.name,e)};function e(){}}};Sx.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Cx;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Cx||={});var wx;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(wx||={});function Tx(e){let{acceleration:t,activator:n=Cx.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:s=5,order:c=wx.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e,m=Dx({delta:f,disabled:!a}),[h,g]=By(),_=(0,o.useRef)({x:0,y:0}),v=(0,o.useRef)({x:0,y:0}),y=(0,o.useMemo)(()=>{switch(n){case Cx.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Cx.DraggableRect:return i}},[n,i,l]),b=(0,o.useRef)(null),x=(0,o.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>c===wx.TreeOrder?[...u].reverse():u,[c,u]);(0,o.useEffect)(()=>{if(!a||!u.length||!y){g();return}for(let e of S){if(r?.(e)===!1)continue;let n=u.indexOf(e),i=d[n];if(!i)continue;let{direction:a,speed:o}=Xb(e,i,y,t,p);for(let e of[`x`,`y`])m[e][a[e]]||(o[e]=0,a[e]=0);if(o.x>0||o.y>0){g(),b.current=e,h(x,s),_.current=o,v.current=a;return}}_.current={x:0,y:0},v.current={x:0,y:0},g()},[t,x,r,g,a,s,JSON.stringify(y),JSON.stringify(m),h,u,S,d,JSON.stringify(p)])}var Ex={x:{[Kb.Backward]:!1,[Kb.Forward]:!1},y:{[Kb.Backward]:!1,[Kb.Forward]:!1}};function Dx(e){let{delta:t,disabled:n}=e,r=Wy(t);return Hy(e=>{if(n||!r||!e)return Ex;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Kb.Backward]:e.x[Kb.Backward]||i.x===-1,[Kb.Forward]:e.x[Kb.Forward]||i.x===1},y:{[Kb.Backward]:e.y[Kb.Backward]||i.y===-1,[Kb.Forward]:e.y[Kb.Forward]||i.y===1}}},[n,t,r])}function Ox(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Hy(e=>t==null?null:r??e??null,[r,t])}function kx(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Ax;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Ax||={});var jx;(function(e){e.Optimized=`optimized`})(jx||={});var Mx=new Map;function Nx(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,s]=(0,o.useState)(null),{frequency:c,measure:l,strategy:u}=i,d=(0,o.useRef)(e),f=_(),p=Vy(f),m=(0,o.useCallback)(function(e){e===void 0&&(e=[]),!p.current&&s(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),h=(0,o.useRef)(null),g=Hy(t=>{if(f&&!n)return Mx;if(!t||t===Mx||d.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new rx(l(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,f,l]);return(0,o.useEffect)(()=>{d.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{a&&a.length>0&&s(null)},[JSON.stringify(a)]),(0,o.useEffect)(()=>{f||typeof c!=`number`||h.current!==null||(h.current=setTimeout(()=>{m(),h.current=null},c))},[c,f,m,...r]),{droppableRects:g,measureDroppableContainers:m,measuringScheduled:a!=null};function _(){switch(u){case Ax.Always:return!1;case Ax.BeforeDragging:return n;default:return!n}}}function Px(e,t){return Hy(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Fx(e,t){return Px(e,t)}function Ix(e){let{callback:t,disabled:n}=e,r=zy(t),i=(0,o.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Lx(e){let{callback:t,disabled:n}=e,r=zy(t),i=(0,o.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Rx(e){return new rx(Fb(e),e)}function zx(e,t,n){t===void 0&&(t=Rx);let[r,i]=(0,o.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let s=Ix({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),c=Lx({callback:a});return Ry(()=>{a(),e?(c?.observe(e),s?.observe(document.body,{childList:!0,subtree:!0})):(c?.disconnect(),s?.disconnect())},[e]),r}function Bx(e){return kb(e,Px(e))}var Vx=[];function Hx(e){let t=(0,o.useRef)(e),n=Hy(n=>e?n&&n!==Vx&&e&&t.current&&e.parentNode===t.current.parentNode?n:Bb(e):Vx,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}function Ux(e){let[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),i=(0,o.useCallback)(e=>{let t=Hb(e.target);t&&n(e=>e?(e.set(t,Gb(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Hb(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Gb(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Hb(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Jy(e,t),_b):Qb(e):_b,[e,t])}function Wx(e,t){t===void 0&&(t=[]);let n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{let t=e!==_b;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Yy(e,n.current):_b}function Gx(e){(0,o.useEffect)(()=>{if(!Ay)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Kx(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function qx(e){return(0,o.useMemo)(()=>e?Lb(e):null,[e])}var Jx=[];function Yx(e,t){t===void 0&&(t=Fb);let[n]=e,r=qx(n?Ny(n):null),[i,a]=(0,o.useState)(Jx);function s(){a(()=>e.length?e.map(e=>qb(e)?r:new rx(t(e),e)):Jx)}let c=Lx({callback:s});return Ry(()=>{c?.disconnect(),s(),e.forEach(e=>c?.observe(e))},[e]),i}function Xx(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Fy(t)?t:e}function Zx(e){let{measure:t}=e,[n,r]=(0,o.useState)(null),i=Lx({callback:(0,o.useCallback)(e=>{for(let{target:n}of e)if(Fy(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,s]=Uy((0,o.useCallback)(e=>{let n=Xx(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,o.useMemo)(()=>({nodeRef:a,rect:n,setRef:s}),[n,a,s])}var Qx=[{sensor:_x,options:{}},{sensor:fx,options:{}}],$x={current:{}},eS={draggable:{measure:Ib},droppable:{measure:Ib,strategy:Ax.WhileDragging,frequency:jx.Optimized},dragOverlay:{measure:Fb}},tS=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},nS={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new tS,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:mb},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:eS,measureDroppableContainers:mb,windowRect:null,measuringScheduled:!1},rS={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:mb,draggableNodes:new Map,over:null,measureDroppableContainers:mb},iS=(0,o.createContext)(rS),aS=(0,o.createContext)(nS);function oS(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new tS}}}function sS(e,t){switch(t.type){case pb.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case pb.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case pb.DragEnd:case pb.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case pb.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new tS(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case pb.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new tS(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case pb.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new tS(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function cS(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,o.useContext)(iS),a=Wy(r),s=Wy(n?.id);return(0,o.useEffect)(()=>{if(!t&&!r&&a&&s!=null){if(!Zy(a)||document.activeElement===a.target)return;let e=i.get(s);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=nb(e);if(t){t.focus();break}}})}},[r,t,i,s,a]),null}function lS(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function uS(e){return(0,o.useMemo)(()=>({draggable:{...eS.draggable,...e?.draggable},droppable:{...eS.droppable,...e?.droppable},dragOverlay:{...eS.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function dS(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,o.useRef)(!1),{x:s,y:c}=typeof i==`boolean`?{x:i,y:i}:i;Ry(()=>{if(!s&&!c||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=kb(n(e),r);if(s||(i.x=0),c||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Vb(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,s,c,r,n])}var fS=(0,o.createContext)({..._b,scaleX:1,scaleY:1}),pS;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(pS||={});var mS=(0,o.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Qx,collisionDetection:s=Db,measuring:c,modifiers:l,...u}=e,[d,f]=(0,o.useReducer)(sS,void 0,oS),[p,m]=lb(),[h,g]=(0,o.useState)(pS.Uninitialized),_=h===pS.Initialized,{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=d,S=v==null?null:y.get(v),C=(0,o.useRef)({initial:null,translated:null}),w=(0,o.useMemo)(()=>v==null?null:{id:v,data:S?.data??$x,rect:C},[v,S]),T=(0,o.useRef)(null),[E,D]=(0,o.useState)(null),[O,k]=(0,o.useState)(null),A=Vy(u,Object.values(u)),j=Ky(`DndDescribedBy`,t),M=(0,o.useMemo)(()=>x.getEnabled(),[x]),N=uS(c),{droppableRects:ee,measureDroppableContainers:te,measuringScheduled:ne}=Nx(M,{dragging:_,dependencies:[b.x,b.y],config:N.droppable}),re=Ox(y,v),ie=(0,o.useMemo)(()=>O?$y(O):null,[O]),ae=Fe(),oe=Fx(re,N.draggable.measure);dS({activeNode:v==null?null:y.get(v),config:ae.layoutShiftCompensation,initialRect:oe,measure:N.draggable.measure});let se=zx(re,N.draggable.measure,oe),ce=zx(re?re.parentElement:null),le=(0,o.useRef)({activatorEvent:null,active:null,activeNode:re,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:y,draggingNode:null,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ue=x.getNodeFor(le.current.over?.id),P=Zx({measure:N.dragOverlay.measure}),de=P.nodeRef.current??re,fe=_?P.rect??se:null,pe=!!(P.nodeRef.current&&P.rect),me=Bx(pe?null:se),he=qx(de?Ny(de):null),ge=Hx(_?ue??re:null),_e=Yx(ge),ve=lS(l,{transform:{x:b.x-me.x,y:b.y-me.y,scaleX:1,scaleY:1},activatorEvent:O,active:w,activeNodeRect:se,containerNodeRect:ce,draggingNodeRect:fe,over:le.current.over,overlayNodeRect:P.rect,scrollableAncestors:ge,scrollableAncestorRects:_e,windowRect:he}),ye=ie?Jy(ie,b):null,be=Ux(ge),xe=Wx(be),Se=Wx(be,[se]),Ce=Jy(ve,xe),we=fe?jb(fe,ve):null,Te=w&&we?s({active:w,collisionRect:we,droppableRects:ee,droppableContainers:M,pointerCoordinates:ye}):null,Ee=Sb(Te,`id`),[De,Oe]=(0,o.useState)(null),ke=Ob(pe?ve:Jy(ve,Se),De?.rect??null,se),Ae=(0,o.useRef)(null),je=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=y.get(T.current);if(!i)return;let a=e.nativeEvent,o=new n({active:T.current,activeNode:i,event:a,options:r,context:le,onAbort(e){if(!y.get(e))return;let{onDragAbort:t}=A.current,n={id:e};t?.(n),p({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!y.get(e))return;let{onDragPending:i}=A.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),p({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=y.get(t);if(!n)return;let{onDragStart:r}=A.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:C}};(0,Pn.unstable_batchedUpdates)(()=>{r?.(i),g(pS.Initializing),f({type:pb.DragStart,initialCoordinates:e,active:t}),p({type:`onDragStart`,event:i}),D(Ae.current),k(a)})},onMove(e){f({type:pb.DragMove,coordinates:e})},onEnd:s(pb.DragEnd),onCancel:s(pb.DragCancel)});Ae.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=le.current,o=null;if(t&&i){let{cancelDrop:s}=A.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===pb.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=pb.DragCancel)}T.current=null,(0,Pn.unstable_batchedUpdates)(()=>{f({type:e}),g(pS.Uninitialized),Oe(null),D(null),k(null),Ae.current=null;let t=e===pb.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=A.current[t];e?.(o),p({type:t,event:o})}})}}},[y]),Me=kx(a,(0,o.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=y.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,je(n,t))},[y,je]));Gx(a),Ry(()=>{se&&h===pS.Initializing&&g(pS.Initialized)},[se,h]),(0,o.useEffect)(()=>{let{onDragMove:e}=A.current,{active:t,activatorEvent:n,collisions:r,over:i}=le.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:Ce.x,y:Ce.y},over:i};(0,Pn.unstable_batchedUpdates)(()=>{e?.(a),p({type:`onDragMove`,event:a})})},[Ce.x,Ce.y]),(0,o.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=le.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=A.current,o=r.get(Ee),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Pn.unstable_batchedUpdates)(()=>{Oe(s),a?.(c),p({type:`onDragOver`,event:c})})},[Ee]),Ry(()=>{le.current={activatorEvent:O,active:w,activeNode:re,collisionRect:we,collisions:Te,droppableRects:ee,draggableNodes:y,draggingNode:de,draggingNodeRect:fe,droppableContainers:x,over:De,scrollableAncestors:ge,scrollAdjustedTranslate:Ce},C.current={initial:fe,translated:we}},[w,re,Te,we,y,de,fe,ee,x,De,ge,Ce]),Tx({...ae,delta:b,draggingRect:we,pointerCoordinates:ye,scrollableAncestors:ge,scrollableAncestorRects:_e});let Ne=(0,o.useMemo)(()=>({active:w,activeNode:re,activeNodeRect:se,activatorEvent:O,collisions:Te,containerNodeRect:ce,dragOverlay:P,draggableNodes:y,droppableContainers:x,droppableRects:ee,over:De,measureDroppableContainers:te,scrollableAncestors:ge,scrollableAncestorRects:_e,measuringConfiguration:N,measuringScheduled:ne,windowRect:he}),[w,re,se,O,Te,ce,P,y,x,ee,De,te,ge,_e,N,ne,he]),Pe=(0,o.useMemo)(()=>({activatorEvent:O,activators:Me,active:w,activeNodeRect:se,ariaDescribedById:{draggable:j},dispatch:f,draggableNodes:y,over:De,measureDroppableContainers:te}),[O,Me,w,se,f,j,y,De,te]);return o.createElement(sb.Provider,{value:m},o.createElement(iS.Provider,{value:Pe},o.createElement(aS.Provider,{value:Ne},o.createElement(fS.Provider,{value:ke},i)),o.createElement(cS,{disabled:n?.restoreFocus===!1})),o.createElement(fb,{...n,hiddenTextDescribedById:j}));function Fe(){let e=E?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=_&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),hS=(0,o.createContext)(null),gS=`button`,_S=`Draggable`;function vS(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Ky(_S),{activators:s,activatorEvent:c,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=(0,o.useContext)(iS),{role:m=gS,roleDescription:h=`draggable`,tabIndex:g=0}=i??{},_=l?.id===t,v=(0,o.useContext)(_?fS:hS),[y,b]=Uy(),[x,S]=Uy(),C=Kx(s,t),w=Vy(n);return Ry(()=>(f.set(t,{id:t,key:a,node:y,activatorNode:x,data:w}),()=>{let e=f.get(t);e&&e.key===a&&f.delete(t)}),[f,t]),{active:l,activatorEvent:c,activeNodeRect:u,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:g,"aria-disabled":r,"aria-pressed":_&&m===gS?!0:void 0,"aria-roledescription":h,"aria-describedby":d.draggable}),[r,m,g,_,h,d.draggable]),isDragging:_,listeners:r?void 0:C,node:y,over:p,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function yS(){return(0,o.useContext)(aS)}var bS=`Droppable`,xS={timeout:25};function SS(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Ky(bS),{active:s,dispatch:c,over:l,measureDroppableContainers:u}=(0,o.useContext)(iS),d=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),p=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:g,timeout:_}={...xS,...i},v=Vy(g??r),y=Lx({callback:(0,o.useCallback)(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{u(Array.isArray(v.current)?v.current:[v.current]),m.current=null},_)},[_]),disabled:h||!s}),[b,x]=Uy((0,o.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),S=Vy(t);return(0,o.useEffect)(()=>{y&&b.current&&(y.disconnect(),f.current=!1,y.observe(b.current))},[b,y]),(0,o.useEffect)(()=>(c({type:pb.RegisterDroppable,element:{id:r,key:a,disabled:n,node:b,rect:p,data:S}}),()=>c({type:pb.UnregisterDroppable,key:a,id:r})),[r]),(0,o.useEffect)(()=>{n!==d.current.disabled&&(c({type:pb.SetDroppableDisabled,id:r,key:a,disabled:n}),d.current.disabled=n)},[r,a,n,c]),{active:s,rect:p,isOver:l?.id===r,node:b,over:l,setNodeRef:x}}function CS(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wS(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function TS(e){return e!==null&&e>=0}function ES(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function DS(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var OS=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=CS(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},kS={scaleX:1,scaleY:1},AS=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...kS}:null}let s=jS(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...kS}:r<t&&r>=a?{x:0,y:o.height+s,...kS}:{x:0,y:0,...kS}};function jS(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var MS=`Sortable`,NS=o.createContext({activeIndex:-1,containerId:MS,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:OS,disabled:{draggable:!1,droppable:!1}});function PS(e){let{children:t,id:n,items:r,strategy:i=OS,disabled:a=!1}=e,{active:s,dragOverlay:c,droppableRects:l,over:u,measureDroppableContainers:d}=yS(),f=Ky(MS,n),p=c.rect!==null,m=(0,o.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),h=s!=null,g=s?m.indexOf(s.id):-1,_=u?m.indexOf(u.id):-1,v=(0,o.useRef)(m),y=!ES(m,v.current),b=_!==-1&&g===-1||y,x=DS(a);Ry(()=>{y&&h&&d(m)},[y,m,h,d]),(0,o.useEffect)(()=>{v.current=m},[m]);let S=(0,o.useMemo)(()=>({activeIndex:g,containerId:f,disabled:x,disableTransforms:b,items:m,overIndex:_,useDragOverlay:p,sortedRects:wS(m,l),strategy:i}),[g,f,x.draggable,x.droppable,b,m,_,l,p,i]);return o.createElement(NS.Provider,{value:S},t)}var FS=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return CS(n,r,i).indexOf(t)},IS=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},LS={duration:200,easing:`ease`},RS=`transform`,zS=eb.Transition.toString({property:RS,duration:0,easing:`linear`}),BS={roleDescription:`sortable`};function VS(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,s]=(0,o.useState)(null),c=(0,o.useRef)(n);return Ry(()=>{if(!t&&n!==c.current&&r.current){let e=i.current;if(e){let t=Fb(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&s(n)}}n!==c.current&&(c.current=n)},[t,n,r,i]),(0,o.useEffect)(()=>{a&&s(null)},[a]),a}function HS(e){let{animateLayoutChanges:t=IS,attributes:n,disabled:r,data:i,getNewIndex:a=FS,id:s,strategy:c,resizeObserverConfig:l,transition:u=LS}=e,{items:d,containerId:f,activeIndex:p,disabled:m,disableTransforms:h,sortedRects:g,overIndex:_,useDragOverlay:v,strategy:y}=(0,o.useContext)(NS),b=US(r,m),x=d.indexOf(s),S=(0,o.useMemo)(()=>({sortable:{containerId:f,index:x,items:d},...i}),[f,i,x,d]),C=(0,o.useMemo)(()=>d.slice(d.indexOf(s)),[d,s]),{rect:w,node:T,isOver:E,setNodeRef:D}=SS({id:s,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...l}}),{active:O,activatorEvent:k,activeNodeRect:A,attributes:j,setNodeRef:M,listeners:N,isDragging:ee,over:te,setActivatorNodeRef:ne,transform:re}=vS({id:s,data:S,attributes:{...BS,...n},disabled:b.draggable}),ie=ky(D,M),ae=!!O,oe=ae&&!h&&TS(p)&&TS(_),se=!v&&ee,ce=oe?(se&&oe?re:null)??(c??y)({rects:g,activeNodeRect:A,activeIndex:p,overIndex:_,index:x}):null,le=TS(p)&&TS(_)?a({id:s,items:d,activeIndex:p,overIndex:_}):x,ue=O?.id,P=(0,o.useRef)({activeId:ue,items:d,newIndex:le,containerId:f}),de=d!==P.current.items,fe=t({active:O,containerId:f,isDragging:ee,isSorting:ae,id:s,index:x,items:d,newIndex:P.current.newIndex,previousItems:P.current.items,previousContainerId:P.current.containerId,transition:u,wasDragging:P.current.activeId!=null}),pe=VS({disabled:!fe,index:x,node:T,rect:w});return(0,o.useEffect)(()=>{ae&&P.current.newIndex!==le&&(P.current.newIndex=le),f!==P.current.containerId&&(P.current.containerId=f),d!==P.current.items&&(P.current.items=d)},[ae,le,f,d]),(0,o.useEffect)(()=>{if(ue===P.current.activeId)return;if(ue!=null&&P.current.activeId==null){P.current.activeId=ue;return}let e=setTimeout(()=>{P.current.activeId=ue},50);return()=>clearTimeout(e)},[ue]),{active:O,activeIndex:p,attributes:j,data:S,rect:w,index:x,newIndex:le,items:d,isOver:E,isSorting:ae,isDragging:ee,listeners:N,node:T,overIndex:_,over:te,setNodeRef:ie,setActivatorNodeRef:ne,setDroppableNodeRef:D,setDraggableNodeRef:M,transform:pe??ce,transition:me()};function me(){if(pe||de&&P.current.newIndex===x)return zS;if(!(se&&!Zy(k)||!u)&&(ae||fe))return eb.Transition.toString({...u,property:RS})}}function US(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function WS(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var GS=[K.Down,K.Right,K.Up,K.Left],KS=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(GS.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case K.Down:r.top<a.top&&t.push(n);break;case K.Up:r.top>a.top&&t.push(n);break;case K.Left:r.left>a.left&&t.push(n);break;case K.Right:r.left<a.left&&t.push(n)}});let c=Tb({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=Sb(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Bb(c).some((e,t)=>s[t]!==e),i=qS(e,t),a=JS(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Yy(u,l)}}}};function qS(e,t){return!WS(e)||!WS(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function JS(e,t){return!WS(e)||!WS(t)||!qS(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var YS=Date.UTC(2026,9,6,9,41),XS=(e,t)=>{let n=(e^Math.imul(t+2654435769,2246822507))>>>0;return n=Math.imul(n^n>>>16,2246822507),n=Math.imul(n^n>>>13,3266489909),(n^n>>>16)>>>0},ZS=(e,t)=>{let n=XS(e,t);return()=>{n=n+1831565813>>>0;let e=n;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}},QS=[{id:`u1`,name:`Sanne M.`,initials:`SM`,hue:250,role:`Admin`},{id:`u2`,name:`Jonas K.`,initials:`JK`,hue:160,role:`Sales`},{id:`u3`,name:`Lieke D.`,initials:`LD`,hue:20,role:`Finance`},{id:`u4`,name:`Tobias R.`,initials:`TR`,hue:310,role:`Warehouse`},{id:`u5`,name:`Imke V.`,initials:`IV`,hue:200,role:`Sales`},{id:`u6`,name:`Marek W.`,initials:`MW`,hue:80,role:`Warehouse`},{id:`u7`,name:`Hanna B.`,initials:`HB`,hue:350,role:`Finance`},{id:`u8`,name:`Daan P.`,initials:`DP`,hue:120,role:`Sales`}],$S=e=>QS.find(t=>t.id===e)??QS[0];QS.filter(e=>e.role===`Sales`);var eC=[[`M8 hex bolt A2, 100 pcs`,`FST`,1890],[`M10 hex nut A2, 100 pcs`,`FST`,1240],[`Stainless washer 8 mm, 250 pcs`,`FST`,990],[`Cable tie 300 mm, 100 pcs`,`ELC`,650],[`Cable gland M20, 25 pcs`,`ELC`,2340],[`Junction box IP65`,`ELC`,1480],[`Hydraulic hose 1/2 in, 5 m`,`HYD`,8650],[`Hydraulic coupling 3/8 in`,`HYD`,1895],[`Pallet wrap 500 mm`,`PKG`,740],[`Corrugated box 400 x 300`,`PKG`,215],[`Bubble wrap roll 50 m`,`PKG`,1990],[`Safety gloves, size L`,`PPE`,395],[`Safety glasses, clear`,`PPE`,450],[`Ear defenders SNR 31`,`PPE`,1295],[`Ball bearing 6204-2RS`,`BRG`,685],[`Taper roller bearing 30205`,`BRG`,1420],[`Timing belt HTD 5M, 600 mm`,`BLT`,2780],[`V-belt SPA 1250`,`BLT`,1360],[`Grease cartridge, 400 g`,`LUB`,920],[`Machine oil ISO 68, 5 l`,`LUB`,3950],[`Angle grinder disc 125 mm, 10 pcs`,`ABR`,1880],[`Drill bit set HSS, 19 pcs`,`TLS`,3490],[`Torque wrench 20-100 Nm`,`TLS`,14900],[`Pneumatic cylinder 40 x 100`,`PNE`,6120],[`Air hose PU 8 mm, 20 m`,`PNE`,2475],[`LED panel 600 x 600, 40 W`,`LGT`,3290],[`Pallet label roll 100 x 150`,`LBL`,1175],[`Thermal printer ribbon`,`LBL`,890],[`Euro pallet EPAL, used`,`PLT`,1150],[`Roll container, galvanised`,`PLT`,9800]];eC.length;var tC=e=>{let[t,n,r]=eC[e%eC.length],i=e%eC.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},nC=e=>e.quantity*e.unitPriceCents,rC=(e,t=.21)=>{let n=e.reduce((e,t)=>e+nC(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},iC=864e5,aC=e=>Array.from({length:e},(t,n)=>{let r=YS-(e-1-n)*iC,i=new Date(r).getUTCDay();return{at:r,count:Math.round((i===0||i===6?120:410)*(.8+ZS(71,n)()*.45)*(1+n/e/3))}}),oC=e=>{if(e===`day`)return aC(30);let t=aC(84);return Array.from({length:12},(e,n)=>{let r=t.slice(n*7,n*7+7);return{at:r[0].at,count:r.reduce((e,t)=>e+t.count,0)}})},sC=`grid grid-cols-[28px_minmax(0,1fr)_88px_112px_112px_32px] items-center gap-2 pointer-coarse:grid-cols-[44px_minmax(0,1fr)_88px_112px_112px_44px]`,cC=({items:e,label:t})=>{let[n,r]=(0,o.useState)(!1),i=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!n)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!i.current?.contains(e.target))&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[n]),(0,z.jsxs)(`div`,{ref:i,className:`relative flex justify-center`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex size-7 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,z.jsx)(ze,{className:`size-4`})}),n&&(0,z.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:e.map(e=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:R(`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted disabled:text-faint-foreground disabled:hover:bg-transparent`,e.destructive&&`text-danger-text`),onClick:()=>{r(!1),e.onSelect()},children:e.label})},e.label))})]})},lC=({value:e,onCommit:t,format:n,parse:r,label:i,width:a=`w-full`})=>{let[s,c]=(0,o.useState)(null);return(0,z.jsx)(`input`,{"aria-label":i,inputMode:`decimal`,value:s??n(e),onFocus:e=>e.currentTarget.select(),onChange:e=>c(e.target.value),onBlur:()=>{if(s===null)return;let e=r(s);c(null),Number.isFinite(e)&&e>=0&&t(e)},onKeyDown:e=>e.key===`Enter`&&e.currentTarget.blur(),className:R(`h-7 rounded-md border border-transparent bg-transparent px-2 text-right text-[13px] tabular-nums text-foreground outline-none hover:border-border-strong focus:border-primary focus:bg-background focus:ring-2 focus:ring-primary/20`,a)})},uC=e=>Math.round(Number(e.replace(`,`,`.`).replace(/[^0-9.]/g,``))*100),dC=({line:e,position:t,count:n,reorderable:r,editable:i,onChange:a,onRemove:o,onMove:s})=>{let{attributes:c,listeners:l,setNodeRef:u,setActivatorNodeRef:d,transform:f,transition:p,isDragging:m}=HS({id:e.id,disabled:!r}),h=[...r?[{label:`Move up`,disabled:t===0,onSelect:()=>s(t-1)},{label:`Move down`,disabled:t===n-1,onSelect:()=>s(t+1)}]:[],...i?[{label:`Remove line`,destructive:!0,onSelect:o}]:[]];return(0,z.jsxs)(`div`,{ref:u,"data-line-id":e.id,style:{transform:f?`translate3d(0, ${f.y}px, 0)`:void 0,transition:p},className:R(`group relative border-b border-border bg-background px-2 py-1 last:border-b-0 hover:bg-surface`,sC,m&&`z-10 bg-surface opacity-80 shadow-pop`),children:[r?(0,z.jsx)(`button`,{ref:d,type:`button`,"aria-label":`Drag to reorder ${e.description}`,...c,...l,style:{touchAction:`none`},className:`flex size-7 cursor-grab items-center justify-center rounded text-faint-foreground opacity-60 hover:bg-muted hover:opacity-100 focus-visible:opacity-100 active:cursor-grabbing pointer-coarse:size-11`,children:(0,z.jsx)(Xe,{className:`size-4`})}):(0,z.jsx)(`span`,{}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`truncate text-[13px] text-foreground`,children:e.description}),(0,z.jsx)(`p`,{className:`font-mono text-[11px] text-faint-foreground`,children:e.productId})]}),i?(0,z.jsx)(lC,{label:`Quantity`,value:e.quantity,format:String,parse:e=>Math.round(Number(e)),onCommit:e=>a({quantity:e})}):(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] tabular-nums`,children:e.quantity}),i?(0,z.jsx)(lC,{label:`Unit price`,value:e.unitPriceCents,format:e=>(e/100).toFixed(2),parse:uC,onCommit:e=>a({unitPriceCents:e})}):(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] tabular-nums`,children:(e.unitPriceCents/100).toFixed(2)}),(0,z.jsx)(`span`,{className:`px-2 text-right text-[13px] font-medium tabular-nums text-foreground`,children:df(nC(e))}),h.length>0?(0,z.jsx)(cC,{label:`Actions for ${e.description}`,items:h}):(0,z.jsx)(`span`,{})]})},fC=(e,t,n)=>{if(t===n||t<0||t>=e.length)return[...e];let r=[...e],[i]=r.splice(t,1);return r.splice(Math.min(Math.max(n,0),r.length),0,i),r},pC=({lines:e,vatRate:t})=>{let n=rC(e,t);return(0,z.jsxs)(`dl`,{className:`ml-auto grid w-64 grid-cols-[1fr_auto] gap-x-6 gap-y-1 px-2 pt-3 text-[13px] tabular-nums`,children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:`Subtotal`}),(0,z.jsx)(`dd`,{className:`text-right text-foreground`,children:df(n.subtotalCents)}),(0,z.jsxs)(`dt`,{className:`text-muted-foreground`,children:[`VAT `,Math.round(t*100),`%`]}),(0,z.jsx)(`dd`,{className:`text-right text-foreground`,children:df(n.vatCents)}),(0,z.jsx)(`dt`,{className:`mt-1 border-t border-border pt-2 font-semibold text-foreground`,children:`Total`}),(0,z.jsx)(`dd`,{className:`mt-1 border-t border-border pt-2 text-right text-[15px] font-semibold text-foreground`,children:df(n.totalCents)})]})},mC=`px-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground`,hC=`To pick up a line, press space or enter on its drag handle. Use the up and down arrow keys to move it, space or enter to drop it, and escape to cancel. The row menu also has Move up and Move down.`,gC=e=>{let t=t=>e.find(e=>e.id===t)?.description??`line`,n=t=>e.findIndex(e=>e.id===t)+1;return{onDragStart:({active:r})=>`Picked up ${t(r.id)}, line ${n(r.id)} of ${e.length}.`,onDragOver:({active:r,over:i})=>i?`${t(r.id)} is over line ${n(i.id)} of ${e.length}.`:void 0,onDragEnd:({active:r,over:i})=>i?`${t(r.id)} was dropped at line ${n(i.id)} of ${e.length}.`:`${t(r.id)} was dropped where it started.`,onDragCancel:({active:e})=>`Moving ${t(e.id)} was cancelled. It is back at line ${n(e.id)}.`}},_C=({lines:e,onChange:t,onReorder:n,vatRate:r=.21,readOnly:i,reorderable:a=!i})=>{let o=gb(hb(bx,{activationConstraint:{distance:4}}),hb(Sx,{activationConstraint:{delay:250,tolerance:5}}),hb(fx,{coordinateGetter:KS})),s=(r,i)=>{let a=e[r];!a||i<0||i>=e.length||r===i||(n??(e=>t(e)))(fC(e,r,i),{id:a.id,from:r,to:i})};return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,z.jsxs)(`div`,{className:`${sC} border-b border-border bg-surface px-2 py-2`,children:[(0,z.jsx)(`span`,{}),(0,z.jsx)(`span`,{className:mC,children:`Item`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Qty`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Unit price`}),(0,z.jsx)(`span`,{className:`${mC} text-right`,children:`Line total`}),(0,z.jsx)(`span`,{})]}),(0,z.jsx)(mS,{sensors:o,collisionDetection:wb,onDragEnd:({active:t,over:n})=>{n&&t.id!==n.id&&s(e.findIndex(e=>e.id===t.id),e.findIndex(e=>e.id===n.id))},accessibility:{announcements:gC(e),screenReaderInstructions:{draggable:hC}},children:(0,z.jsx)(PS,{items:e.map(e=>e.id),strategy:AS,children:e.map((n,r)=>(0,z.jsx)(dC,{line:n,position:r,count:e.length,reorderable:a,editable:!i,onChange:r=>t(e.map(e=>e.id===n.id?{...e,...r}:e)),onRemove:()=>t(e.filter(e=>e.id!==n.id)),onMove:e=>s(r,e)},n.id))})}),!i&&(0,z.jsx)(`div`,{className:`border-t border-border bg-surface px-2 py-1.5`,children:(0,z.jsxs)(V,{variant:`ghost`,size:`sm`,onClick:()=>{let n=tC(e.length*3+1);t([...e,{id:`new-${e.length}-${n.id}`,productId:n.id,description:n.name,quantity:1,unitPriceCents:n.priceCents}])},children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`Add line`]})})]}),(0,z.jsx)(pC,{lines:e,vatRate:r})]})},vC=({label:e,required:t,help:n,example:r,error:i,conflict:a,children:o})=>(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2`,children:[(0,z.jsxs)(`label`,{className:`text-[13px] font-medium text-foreground`,children:[e,t&&(0,z.jsx)(`span`,{className:`ml-0.5 text-danger-text`,"aria-label":`required`,children:`*`})]}),a&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-warning-text`,title:`${a.user.name} saved a different value`,children:[(0,z.jsx)(vn,{className:`size-3.5`}),(0,z.jsx)(Ju,{initials:a.user.initials,hue:a.user.hue,size:`xs`})]})]}),o,n&&(0,z.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:n}),r&&(0,z.jsxs)(`p`,{className:`mt-0.5 text-xs text-faint-foreground`,children:[`Example: `,r]}),i&&(0,z.jsx)(`p`,{className:`mt-1.5 text-xs font-medium text-danger-text`,children:i}),a&&(0,z.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-3 rounded-md border border-warning/30 bg-warning-soft px-3 py-2 text-xs text-warning-text`,children:[(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`strong`,{children:a.user.name}),` saved this `,a.ago,`: `,(0,z.jsx)(`strong`,{children:a.theirValue})]}),(0,z.jsxs)(`span`,{className:`flex gap-1.5`,children:[(0,z.jsx)(V,{size:`sm`,onClick:a.onKeepMine,children:`Keep mine`}),(0,z.jsx)(V,{size:`sm`,onClick:a.onUseTheirs,children:`Use theirs`})]})]})]}),yC=({title:e,help:t,actions:n,children:r})=>{let i=(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold text-foreground`,children:e});return(0,z.jsxs)(`section`,{className:`py-8 first:pt-8`,children:[n?(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[i,n]}):i,t&&(0,z.jsx)(`p`,{className:`mt-1 max-w-xl text-[13px] leading-relaxed text-muted-foreground`,children:t}),(0,z.jsx)(`div`,{className:`mt-5`,children:r})]})},bC=({actions:e})=>(0,z.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,z.jsx)(`h3`,{className:`hidden border-b border-border px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground md:block`,children:`Actions`}),(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-2 p-2 md:block md:divide-y md:divide-border md:p-0`,children:e.map(({name:e,description:t,icon:n,onRun:r,blocked:i,running:a})=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`button`,{type:`button`,onClick:r,disabled:!!i||a,title:i,className:`flex min-h-11 items-center gap-2 rounded-md border border-border-strong px-3 text-left hover:bg-surface disabled:cursor-default disabled:opacity-60 md:min-h-0 md:w-full md:items-start md:gap-3 md:rounded-none md:border-0 md:px-4 md:py-3`,children:[(0,z.jsx)(n,{className:`size-4 shrink-0 text-muted-foreground md:mt-0.5`}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`span`,{className:`block text-[13px] font-medium text-foreground`,children:e}),t&&(0,z.jsx)(`span`,{className:`mt-0.5 hidden text-xs leading-snug text-muted-foreground md:block`,children:t})]})]})},e))})]}),xC=({rows:e})=>(0,z.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-[13px]`,children:e.map(e=>(0,z.jsxs)(`div`,{className:`contents`,children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,z.jsx)(`dd`,{className:`text-right tabular-nums text-foreground`,children:e.value})]},e.label))}),SC=({records:e,onNavigate:t})=>(0,z.jsx)(`ul`,{className:`-mx-2`,children:e.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsxs)(`a`,{href:e.href??`#`,onClick:n=>{n.preventDefault(),e.href&&t?.(e.href)},className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,z.jsxs)(`span`,{className:`min-w-0`,children:[(0,z.jsx)(`span`,{className:`block text-[11px] uppercase tracking-wide text-faint-foreground`,children:e.kind}),(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium text-primary-text`,children:e.label}),e.meta&&(0,z.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.meta})]}),(0,z.jsx)(_e,{className:`size-4 shrink-0 text-faint-foreground group-hover:text-foreground`})]})},e.label))}),CC=({title:e,children:t})=>(0,z.jsxs)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,z.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),wC=({title:e,rows:t})=>t.length===0?null:(0,z.jsx)(CC,{title:e,children:(0,z.jsx)(xC,{rows:t})}),TC=({collection:e,title:t,status:n,lastEditedBy:r,presence:i=[],actions:a})=>(0,z.jsxs)(`header`,{className:`flex flex-col gap-4 border-b border-border pb-6 md:flex-row md:items-end md:justify-between md:gap-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,z.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,z.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground md:text-2xl`,children:t}),(0,z.jsx)(rd,{tone:n.tone,children:n.label})]}),(0,z.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:r.name?(0,z.jsxs)(z.Fragment,{children:[`Last edited by `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:r.name}),` `,r.ago]}):(0,z.jsxs)(z.Fragment,{children:[`Last updated `,r.ago]})})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-4`,children:[i.length>0&&(0,z.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(Yu,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),EC=({noun:e,collection:t,sections:n,saving:r,message:i,onSubmit:a,onCancel:o})=>(0,z.jsx)(`form`,{className:`flex-1`,onSubmit:e=>{e.preventDefault(),a()},children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-[760px] px-4 py-6 md:px-10 md:py-8`,children:[(0,z.jsxs)(`header`,{className:`flex flex-col gap-4 border-b pb-6 sm:flex-row sm:items-end sm:justify-between sm:gap-6`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t}),(0,z.jsxs)(`h1`,{className:`mt-1 text-2xl font-semibold tracking-tight`,children:[`New `,e.toLowerCase()]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(V,{className:`max-sm:min-h-11`,onClick:o,children:`Cancel`}),(0,z.jsxs)(V,{variant:`primary`,type:`submit`,className:`max-sm:min-h-11 max-sm:flex-1`,loading:r,children:[`Create `,e.toLowerCase()]})]})]}),i&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`Not created`,error:Error(i)})}),(0,z.jsx)(`div`,{className:`divide-y divide-border`,children:n.map(e=>(0,z.jsx)(yC,{title:e.title,help:e.help,children:(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:e.fields.map(e=>(0,z.jsx)(vC,{label:e.label,required:e.required,help:e.help,error:e.error,children:e.editor},e.name))})},e.title))})]})}),DC=e=>typeof e==`object`&&!!e&&`key`in e,OC=(e,t)=>t.name!==e.tenant&&!t.readOnly&&(t.type===`relation`||Jv(t)),kC=(e,t)=>{let n=Object.values(e.fields).filter(t=>OC(e,t)).map(e=>e.name),r=new Set,i=(t?.layout??[]).flatMap(e=>{if(e.kind!==`section`)return[];let t=e.fields.filter(e=>n.includes(e)&&!r.has(e));return t.forEach(e=>r.add(e)),t.length>0?[{title:e.title,help:e.help,fields:t}]:[]}),a=n.filter(e=>!r.has(e));return a.length===0?i:[...i,{title:i.length===0?`Details`:`Other fields`,fields:a}]},AC=(e,t)=>(e?.primaryKey.length===1?e.fields[e.primaryKey[0]]?.type:void 0)===`integer`?Number(t):t,jC=(e,t,n)=>Object.fromEntries(Object.entries(n).flatMap(([n,r])=>{let i=e.fields[n];return i?DC(r)?[[n,AC(t[i.relation?.resource??``],r.key)]]:i.type===`boolean`?[[n,!!r]]:i.type===`file`?r?[[n,Yv(i,r)]]:[]:String(r).trim()===``?[]:[[n,Yv(i,r)]]:[]})),MC=e=>!e.nullable&&!e.default&&e.type!==`boolean`,NC=(e,t)=>e.type===`relation`?{key:t,label:t}:e.type===`boolean`?t===`true`:t,PC=(e,t,n={})=>Object.fromEntries(t.flatMap(t=>t.fields.flatMap(t=>{let r=e.fields[t];if(Object.hasOwn(n,t))return[[t,NC(r,n[t])]];let i=r.default;return!i||!(`value`in i)||i.value===null||i.value===void 0?[]:[[t,typeof i.value==`boolean`?i.value:String(i.value)]]}))),FC=e=>!!(e.default&&`db`in e.default),IC=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),LC=({resource:e,values:t})=>{let n=G(),r=n.resources[e],i=Vv(e);return r?wy(i,`create`)?(0,z.jsx)(RC,{resource:e,values:t}):(0,z.jsxs)(Rv,{title:`Not allowed`,children:[`You cannot create `,n.views[e]?.names?.plural.toLowerCase()??e,`.`]}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e,`.`]})},RC=({resource:e,values:t})=>{let n=G(),r=n.resources[e],i=n.views[e],a=U(),s=qp(),{go:c}=Hv(),l=i?.names?.singular??W(e),u=Oy(i?.saveFeedback??`toast`,`New ${l.toLowerCase()}`),d=kC(r,i),[f,p]=(0,o.useState)(()=>PC(r,d,t)),[m,h]=(0,o.useState)({});(0,o.useEffect)(()=>{for(let[e,i]of Object.entries(t??{})){let t=n.resources[r.fields[e]?.relation?.resource??``];t&&R_(s,a,t,[i],n.views[t.name]).then(t=>{let n=t.get(i);n&&p(t=>DC(t[e])&&t[e].key===i?{...t,[e]:{key:i,label:n}}:t)})}},[t,n,r,a,s]);let g=(e,t)=>{h(t=>IC(t,e)),p(n=>({...n,[e]:t}))},_=()=>u.run(async()=>{let t;try{t=await a.create(e,jC(r,n.resources,f))}catch(e){throw ds(e)&&h(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),e}for(let t of[`page`,`list`,`first-page`,`map`,`facets`,`series`])s.invalidateQueries({queryKey:[t,e]});c({kind:`record`,resource:e,key:vg(r,t.record)},{replace:!0})}),v=d.map(e=>({title:e.title,help:e.help,fields:e.fields.map(e=>{let t=r.fields[e],a=f[e],o=t.relation?n.resources[t.relation.resource]:void 0;return{name:e,label:i?.fields[e]?.label??W(e),help:i?.fields[e]?.help,required:MC(t),error:m[e],editor:(0,z.jsx)(Cy,{field:t,hints:i?.fields[e],value:DC(a)?a.key:a??(t.type!==`boolean`&&``),stored:void 0,relationLabel:DC(a)?a.label:void 0,placeholder:FC(t)?`Set by the database`:void 0,relationPicker:o?{target:o,view:n.views[o.name]}:void 0,invalid:!!m[e],resource:r.name,onChange:t=>g(e,t)})}})}));return(0,z.jsx)(EC,{noun:l,collection:i?.names?.plural??W(e),sections:v,saving:u.phase===`saving`,message:u.message,onSubmit:()=>void _(),onCancel:()=>c({kind:`list`,resource:e})})};function zC(e){return BC(e)||typeof e==`function`||VC(e)}function BC(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function VC(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function HC(e,t){return e==null?null:zC(e)?o.createElement(e,t):e}function UC(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?HC(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:HC(n.cell,t.getContext())}return`header`in e&&e.header?HC(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?HC(e.footer.column.columnDef.footer,e.footer.getContext()):null}function WC({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function GC(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var KC=[],qC=0,{link:JC,unlink:YC,propagate:XC,checkDirty:ZC,shallowPropagate:QC}=WC({update(e){return e._update()},notify(e){KC[ew++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,iw(e))}}),$C=0,ew=0,tw,nw=0;function rw(e){try{++nw,e()}finally{--nw||aw()}}function iw(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=YC(n,e)}function aw(){if(!(nw>0)){for(;$C<ew;){let e=KC[$C];KC[$C++]=void 0,e.notify()}$C=0,ew=0}}function ow(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return tw!==void 0&&JC(i,tw,qC),i._snapshot},subscribe(e){let t=GC(e),n={current:!1},r=sw(()=>{i.get(),n.current?(tw=void 0,t.next?.(i._snapshot)):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=tw,o=t?.compare??Object.is;if(n)tw=i,++qC,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{tw=a,n&&(i.flags&=-5),iw(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&ZC(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&QC(e)}}else e&32&&(i.flags=e&-33);return tw!==void 0&&JC(i,tw,qC),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(XC(e),QC(e),aw())}},i}function sw(e){let t=()=>{let t=tw;tw=n,++qC,n.depsTail=void 0,n.flags=6;try{return e()}finally{tw=t,n.flags&=-5,iw(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&ZC(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,iw(this)}};return t(),n}function cw(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=lw(e);if(n.length!==lw(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function lw(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}var uw=n((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),dw=n(((e,t)=>{t.exports=uw()})),fw=n((e=>{var t=r(),n=dw();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),pw=n(((e,t)=>{t.exports=fw()}))();function mw(e,t){return e===t}function hw(e,t=e=>e,n){let r=n?.compare??mw,i=(0,o.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,o.useCallback)(()=>e.get(),[e]);return(0,pw.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function gw(e){let t=hw(e.source,e.selector,{compare:cw});return typeof e.children==`function`?e.children(t):e.children}function _w(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function vw(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function yw(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function bw(){return vw({createAtom:ow,batch:rw})}function xw(e,t){return typeof e==`function`?e(t):e}function Sw(e){if(Array.isArray(e))return e.map(Sw);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?ww():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:Sw(e[i]),writable:!0})}return n}return e}function Cw(e,t){let n=Object.keys(t),r=e;for(let e=0;e<n.length;e++){let i=n[e];!i.startsWith(`_memo_`)&&i!==`_cellsCache`&&(r[i]=t[i])}return e}function ww(){return Object.create(null)}function Tw(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ew(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>xw(n,e))}}function Dw(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ow(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var kw=3;function Aw(e,t){return jw(e,t,kw)}function jw(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!Dw(e)||!Dw(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=Ow(e),i=Ow(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!jw(a[i],o[i],n-1))return!1}return!0}function Mw(e,t,n,r=Aw){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=xw(n,e);return r(e,t)?e:t})}function Nw(e){return e instanceof Function}function Pw(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var Fw=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function Iw(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function Lw({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return Fw({...a,...s})}function Rw(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function zw(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=Rw(r);t[n]=a?Lw({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function Bw(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=Rw(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=Lw({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function Vw(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function Hw(e){return e.row.getValue(e.column.id)}function Uw(e){return e.getValue()??e.table.options.renderFallbackValue}function Ww(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var Gw={assignCellPrototype:(e,t)=>{Bw(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>Hw(e)},cell_renderValue:{fn:e=>Uw(e)},cell_getContext:{fn:e=>Ww(e),memoDeps:e=>[e]}})}};function Kw(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function qw(e,t,n){let r=Kw(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Jw(){return{start:[],end:[]}}function Yw(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>Vw(e,`getIsVisible`,Yw)):(Tw(t,e.id)?t[e.id]:void 0)??!0}function Xw(e){return e.getAllLeafColumns().filter(e=>Vw(e,`getIsVisible`,Yw))}function Zw(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];Vw(i,`getIsVisible`,Yw)&&i.columns.length&&(n=Math.max(n,Zw(i.columns,t+1)))}return n}function Qw(e,t){return e?`${e}_${t}`:String(t)}function $w(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function eT(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function tT(e,t,n,r,i,a){let o={depth:t,id:Qw(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=qw(n,u,{id:$w(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(eT(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&tT(s,t-1,n,r,i,a)}function nT(e){for(let t=0;t<e.length;t++){let n=e[t];if(!Vw(n.column,`getIsVisible`,Yw))continue;let r=0;if(n.subHeaders.length){nT(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];Vw(t.column,`getIsVisible`,Yw)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function rT(e,t,n,r){let i=Zw(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=qw(n,t[e],{depth:i,index:e}));return tT(s,i-1,n,r,a,o),a.reverse(),nT(a[0]?.headers??[]),a}function iT(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function aT(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=iT(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function oT(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return sT(e,r)}}function sT(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function cT(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function lT(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return Vw(e.table,`getOrderColumns`,oT)(t)}return[e]}function uT(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function dT(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=aT(e,o,r,n),c=o;s.columns=c.columns?dT(e,c.columns,s,r+1):[],i[a]=s}return i}function fT(e){return dT(e,e.options.columns)}function pT(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function mT(e){let t=ww(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function hT(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return Vw(e,`getOrderColumns`,oT)(t)}function gT(e){let t=ww(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function _T(e,t){return e.getAllFlatColumnsById()[t]}var vT={assignColumnPrototype:(e,t)=>{Bw(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>cT(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>lT(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{zw(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>uT(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>fT(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>pT(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>mT(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>hT(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>gT(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>_T(e,t)}})}};function yT(e,t){for(let n=0;n<e.subHeaders.length;n++)yT(e.subHeaders[n],t);t.push(e)}function bT(e){let t=[];return yT(e,t),t}function xT(e){return{column:e.column,header:e,table:e.column.table}}function ST(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??Jw(),r=e.getAllColumns(),i=Vw(e,`getVisibleLeafColumns`,Xw);if(!t.length&&!n.length)return rT(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&Vw(n,`getIsVisible`,Yw)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&Vw(t,`getIsVisible`,Yw)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return rT(r,[...o,...c,...s],e)}function CT(e){return[...e.getHeaderGroups()].reverse()}function wT(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function TT(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var ET={assignHeaderPrototype:(e,t)=>{Bw(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>bT(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>xT(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{zw(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>ST(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>CT(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>wT(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>TT(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function DT(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var OT=(e,t,n,r,i,a,o)=>{let s=DT(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=ww(),c._valuesCache=ww(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c},kT=/([0-9]+)/gm;function AT(e){let t=Object.assign((e,n,r)=>{let i=e.getValue(r),a=n.getValue(r),o=t.resolveDataValue;return o&&(i=o(i),a=o(a)),t.sort(i,a,e,n,r)},e);return t}AT({resolveDataValue:e=>PT(e).toLowerCase(),sort:(e,t)=>FT(e,t)}),AT({resolveDataValue:e=>PT(e),sort:(e,t)=>FT(e,t)}),AT({resolveDataValue:e=>PT(e).toLowerCase(),sort:(e,t)=>MT(e,t)}),AT({resolveDataValue:e=>PT(e),sort:(e,t)=>MT(e,t)}),AT({resolveDataValue:e=>NT(e),sort:(e,t)=>e>t?1:e<t?-1:0});var jT=AT({sort:(e,t)=>MT(e,t)});function MT(e,t){return e===t?0:e>t?1:-1}function NT(e){return e instanceof Date?e.getTime():e}function PT(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function FT(e,t){let n=0,r=0,i=e.length,a=t.length;for(;n<i&&r<a;){let i=IT(e.charCodeAt(n)),a=IT(t.charCodeAt(r)),o=LT(e,n,i),s=LT(t,r,a);if(!i&&!a){let i=RT(e,n,o,t,r,s);if(i)return i;n=o,r=s;continue}if(i!==a)return i?1:-1;let c=zT(e,n,o,t,r,s);if(c)return c;n=o,r=s}return VT(e,n)-VT(t,r)}function IT(e){return e>=48&&e<=57}function LT(e,t,n){let r=t+1;for(;r<e.length&&IT(e.charCodeAt(r))===n;)r++;return r}function RT(e,t,n,r,i,a){let o=n-t,s=a-i,c=o<s?o:s;for(let n=0;n<c;n++){let a=e.charCodeAt(t+n),o=r.charCodeAt(i+n);if(a>o)return 1;if(o>a)return-1}return o>s?1:s>o?-1:0}function zT(e,t,n,r,i,a){let o=t;for(;o<n&&e.charCodeAt(o)===48;)o++;let s=i;for(;s<a&&r.charCodeAt(s)===48;)s++;let c=n-o,l=a-s;if(c===0&&l===0)return 0;if(c<=15&&l<=15){let t=BT(e,o,n),i=BT(r,s,a);return t>i?1:i>t?-1:0}let u=parseInt(e.slice(t,n),10),d=parseInt(r.slice(i,a),10);return u>d?1:d>u?-1:0}function BT(e,t,n){let r=0;for(let i=t;i<n;i++)r=r*10+e.charCodeAt(i)-48;return r}function VT(e,t){let n=0,r=t;for(;r<e.length;)n++,r=LT(e,r,IT(e.charCodeAt(r)));return n}function HT(){return[]}function UT(e,t){Mw(e,`cellSelection`,t?HT():Sw(e.initialState.cellSelection)??HT())}function WT(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>UT(e))}function GT(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>KT(e))}function KT(e,t){let n=e.initialState.expanded;Mw(e,`expanded`,t?ww():n===!0||Object.assign(ww(),Sw(n??{})))}var qT=0;function JT(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??qT)===qT)return;ZT(e,!0)}}function YT(e,t){Mw(e,`pagination`,t)}function XT(e,t){YT(e,n=>{let r=xw(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function ZT(e,t){XT(e,t?qT:e.initialState.pagination?.pageIndex??qT)}function QT(){return[]}function $T(e,t){Mw(e,`sorting`,t)}function eE(e,t){$T(e,t?[]:Sw(e.initialState.sorting??[]))}function tE(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&eE(e)}function nE(e){let t=e.table._rowModelFns.sortFns,n=e.table.getFilteredRowModel().flatRows.slice(0,10),r,i=!1;for(let t=0;t<n.length;t++){let a=n[t].getValue(e.id);if(Object.prototype.toString.call(a)===`[object Date]`){r=`datetime`;break}if(typeof a==`string`&&(i=!0,a.split(kT).length>1)){r=`alphanumeric`;break}}if(!r&&i&&(r=`text`),r){let e=t?.[r];if(e||r===`alphanumeric`&&(e=t?.text),e)return e}return jT}function rE(e){let t=e.table.getFilteredRowModel().flatRows.slice(0,10);for(let n=0;n<t.length;n++){let r=t[n].getValue(e.id);if(r!=null)return typeof r==`string`?`asc`:`desc`}return`desc`}function iE(e){let t=e.table._rowModelFns.sortFns;return Nw(e.columnDef.sortFn)?e.columnDef.sortFn:e.columnDef.sortFn===`auto`?nE(e):t?.[e.columnDef.sortFn]??jT}function aE(e,t,n){let r=sE(e,n&&lE(e)),i=t!==void 0;$T(e.table,a=>{let o=a.findIndex(t=>t.id===e.id),s=o===-1?void 0:a[o],c=[],l,u=i?t:r===`desc`,d=!!(a.length&&lE(e)&&n);return l=d?s?`toggle`:`add`:s?`toggle`:`replace`,l===`toggle`&&(i||r||(l=`remove`)),l===`add`?(c=[...a,{id:e.id,desc:u}],c.splice(0,c.length-(e.table.options.maxMultiSortColCount??2**53-1))):c=l===`toggle`?d?a.map(t=>t.id===e.id?{...t,desc:u}:t):[{id:e.id,desc:u}]:l===`remove`?d?a.filter(t=>t.id!==e.id):[]:[{id:e.id,desc:u}],c})}function oE(e){return e.columnDef.sortDescFirst??e.table.options.sortDescFirst??rE(e)===`desc`?`desc`:`asc`}function sE(e,t){let n=oE(e),r=uE(e);return r?r!==n&&(e.table.options.enableSortingRemoval??!0)&&(!t||(e.table.options.enableMultiRemove??!0))?!1:r===`desc`?`asc`:`desc`:n}function cE(e){return(e.columnDef.enableSorting??!0)&&(e.table.options.enableSorting??!0)&&!!e.accessorFn}function lE(e){return e.columnDef.enableMultiSort??e.table.options.enableMultiSort??!!e.accessorFn}function uE(e){let t=e.table.atoms.sorting?.get()?.find(t=>t.id===e.id);return t?t.desc?`desc`:`asc`:!1}function dE(e){return e.table.atoms.sorting?.get()?.findIndex(t=>t.id===e.id)??-1}function fE(e){$T(e.table,t=>t.length?t.filter(t=>t.id!==e.id):[])}function pE(e){let t=cE(e);return n=>{t&&aE(e,void 0,lE(e)?e.table.options.isMultiSortEvent?.(n):!1)}}function mE(){return e=>Lw({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>gE(e,e.options.data),onAfterUpdate:Iw(()=>{GT(e),JT(e),tE(e),WT(e)})})}function hE(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=OT(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=hE(e,t,c.originalSubRows,r+1,c)))}return a}function gE(e,t){let n={rows:[],flatRows:[],rowsById:ww()};return n.rows=hE(e,n,t),n}function _E(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??mE()(e)),e._rowModels.coreRowModel()}function vE(e){return e.getCoreRowModel()}function yE(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function bE(e){return e.getFilteredRowModel()}function xE(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function SE(e){return e.getGroupedRowModel()}function CE(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function wE(e){return e.getSortedRowModel()}function TE(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function EE(e){return e.getExpandedRowModel()}function DE(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function OE(e){return e.getPaginatedRowModel()}var kE={constructTableAPIs:e=>{zw(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>_E(e)},table_getPreFilteredRowModel:{fn:()=>vE(e)},table_getFilteredRowModel:{fn:()=>yE(e)},table_getPreGroupedRowModel:{fn:()=>bE(e)},table_getGroupedRowModel:{fn:()=>xE(e)},table_getPreSortedRowModel:{fn:()=>SE(e)},table_getSortedRowModel:{fn:()=>CE(e)},table_getPreExpandedRowModel:{fn:()=>wE(e)},table_getExpandedRowModel:{fn:()=>TE(e)},table_getPrePaginatedRowModel:{fn:()=>EE(e)},table_getPaginatedRowModel:{fn:()=>DE(e)},table_getRowModel:{fn:()=>OE(e)}})}};function AE(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function jE(e,t,n){let r=AE(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function ME(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function NE(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function PE(e,t){if(Tw(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function FE(e,t){if(Tw(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function IE(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function LE(e){return Pw(e.subRows,e=>e.subRows)}function RE(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function zE(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function BE(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function VE(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=jE(a,e,e.table),n.set(a,o)),r[i]=o}return r}function HE(e){let t=ww(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function UE(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function WE(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var GE={assignRowPrototype:(e,t)=>{Bw(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>ME(e)},row_getAllCellsByColumnId:{fn:e=>HE(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>VE(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>LE(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>zE(e)},row_getParentRows:{fn:e=>BE(e)},row_getUniqueValues:{fn:(e,t)=>FE(e,t)},row_getValue:{fn:(e,t)=>PE(e,t)},row_renderValue:{fn:(e,t)=>IE(e,t)}})},constructTableAPIs:e=>{zw(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>NE(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>UE(t,e,n,r)},table_getRow:{fn:(t,n)=>WE(e,t,n)},table_getMaxSubRowDepth:{fn:()=>RE(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function KE(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function qE(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{KE(e,t,n),e._reactivity.commit?.()})}function JE(e){let t=Sw(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function YE(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function XE(e,t,n){let r=YE(e,xw(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&qE(e,r.state??null)}var ZE={coreCellsFeature:Gw,coreColumnsFeature:vT,coreHeadersFeature:ET,coreRowModelsFeature:kE,coreRowsFeature:GE,coreTablesFeature:{constructTableAPIs:e=>{zw(`coreTablesFeature`,e,{table_reset:{fn:()=>JE(e)},table_setOptions:{fn:t=>XE(e,t)}})}}};function QE(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function $E(e){return e}function eD(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),Sw(t)}function tD(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...ZE,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=eD(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&Tw(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}KE(v),v.store=_w(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:cw,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}function nD(){return ww()}function rD(e,t){e.options.onRowSelectionChange?.(t)}function iD(e,t){e._lastSelectedRowId=null,rD(e,t?ww():Object.assign(ww(),Sw(e.initialState.rowSelection??{})))}function aD(e,t,n){e._lastSelectedRowId=null,rD(e,r=>{if(t=t===void 0?!Vw(e,`getIsAllRowsSelected`,fD):t,n?.deselectAll&&!t)return ww();let i=Object.assign(ww(),r),a=e.getPreGroupedRowModel().flatRows;if(t){let e=new Map;a.forEach(t=>{OD(t,e)&&(i[t.id]=!0)})}else a.forEach(e=>{SD(e)&&delete i[e.id]});return i})}function oD(e,t,n){e._lastSelectedRowId=null,rD(e,r=>{let i=t===void 0?!Vw(e,`getIsAllPageRowsSelected`,pD):t;if(n?.deselectAll&&!i)return ww();let a=Object.assign(ww(),r);return e.getRowModel().rows.forEach(t=>{DD(a,t.id,i,!0,e,!0)}),a})}function sD(e){return e.getCoreRowModel()}function cD(e){let t=e.getCoreRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function lD(e){let t=e.getFilteredRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function uD(e){let t=e.getSortedRowModel();return Vw(e,`getIsSomeRowsSelected`,mD)?jD(t,e):{rows:[],flatRows:[],rowsById:ww()}}function dD(e){return Object.keys(e.atoms.rowSelection?.get()??{})}function fD(e){let t=e.getFilteredRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=!!(t.length&&Object.keys(n).length);if(r){let e=new Map;t.some(t=>!MD(t,n)&&OD(t,e))&&(r=!1)}return r}function pD(e){let t=e.getPaginatedRowModel().flatRows,n=e.atoms.rowSelection?.get()??{},r=new Map,i=!1;for(let e=0;e<t.length;e++){let a=t[e];if(MD(a,n))!i&&OD(a,r)&&(i=!0);else if(OD(a,r))return!1}return i}function mD(e){return Vw(e,`getSelectedRowIds`,dD).length>0}function hD(e){return e.getPaginatedRowModel().flatRows.filter(e=>SD(e)).some(e=>yD(e)||Vw(e,`getIsSomeSelected`,bD))}function gD(e){return t=>{aD(e,t.target.checked)}}function _D(e){return t=>{oD(e,t.target.checked)}}function vD(e,t,n){let r=yD(e);rD(e.table,i=>{t=t===void 0?!r:t;let a=Object.assign(ww(),i);return DD(a,e.id,t,(n?.selectChildren??!0)&&wD(e),e.table),!t&&n?.deselectParents&&kD(a,e),a})}function yD(e){return MD(e,e.table.atoms.rowSelection?.get()??{})}function bD(e){return ND(e)===`some`}function xD(e){return ND(e)===`all`}function SD(e){let t=e.table.options;return typeof t.enableRowSelection==`function`?t.enableRowSelection(e):t.enableRowSelection??!0}function CD(e){let t=e.table.options;return typeof t.enableSubRowSelection==`function`?t.enableSubRowSelection(e):t.enableSubRowSelection??!0}function wD(e){let t=e.table.options;return typeof t.enableMultiRowSelection==`function`?t.enableMultiRowSelection(e):t.enableMultiRowSelection??!0}function TD(e,t){let n=SD(e);return r=>{if(!n)return;let i=r,a=e.table,o=i.target.checked,s=a._lastSelectedRowId;(!(a.options.enableRowRangeSelection!==!1&&s!==null&&wD(e)&&(a.options.isRowRangeSelectionEvent?.(r)??!1))||!ED(e,s,o,t))&&vD(e,o,t),a._lastSelectedRowId=e.id}}function ED(e,t,n,r){let i=r?.selectChildren??!0,a=e.table,o=a.getRowsInDisplayOrder(),s=a.getPrePaginatedRowModel().rowsById[t]??a.getCoreRowModel().rowsById[t];if(!s)return!1;let c=s.getDisplayIndex(),l=e.getDisplayIndex(),u=o[c],d=o[l];if(c<0||l<0||c>=o.length||l>=o.length||u?.id!==s.id||d?.id!==e.id||!wD(s)||!wD(e))return!1;let f=Math.min(c,l),p=Math.max(c,l);return rD(a,e=>{let t=Object.assign(ww(),e);for(let e=f;e<=p;e++){let s=o[e];SD(s)&&wD(s)&&(DD(t,s.id,n,i,a),!n&&r?.deselectParents&&kD(t,s))}return t}),!0}function DD(e,t,n,r,i,a){let o=i.getRow(t,!0);n?(wD(o)||Object.keys(e).forEach(t=>delete e[t]),SD(o)&&(e[t]=!0)):(!a||SD(o))&&delete e[t],r&&o.subRows.length&&CD(o)&&o.subRows.forEach(t=>DD(e,t.id,n,r,i,a))}function OD(e,t){if(!SD(e))return!1;let n=e.table;if(n.options.enableSubRowSelection===!0)return!0;let r=e.parentId;if(r===void 0)return!0;let i=t.get(r);if(i!==void 0)return i;let a=n.getCoreRowModel().rowsById,o=[],s=!0,c=r;for(;c!==void 0;){let e=t.get(c);if(e!==void 0){s=e;break}o.push(c);let r=a[c]??n.getRow(c,!0);if(!CD(r)){s=!1;break}c=r.parentId}return o.forEach(e=>t.set(e,s)),s}function kD(e,t){let n=t.table.getCoreRowModel().rowsById,r=t.parentId;for(;r!==void 0;)delete e[r],r=(n[r]??t.table.getRow(r,!0)).parentId}function AD(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=MD(o,t);if(s&&(n.push(o),r[o.id]=o),o.subRows.length){let e=AD(o.subRows,t,n,r);if(s){let t=Object.create(Object.getPrototypeOf(o));Cw(t,o),t.subRows=e,i.push(t)}}else s&&i.push(o)}return i}function jD(e,t){let n=[],r=ww(),i=t.atoms.rowSelection?.get()??{};return{rows:AD(e.rows,i,n,r),flatRows:n,rowsById:r}}function MD(e,t){return!!(Tw(t,e.id)&&t[e.id])}function ND(e){if(!e.subRows.length)return!1;let t=e.table.atoms.rowSelection?.get()??{},n=!1,r=!0,i=!1;for(let a=0;a<e.subRows.length;a++){let o=e.subRows[a];if(n&&!r)break;if(SD(o)&&(i=!0,MD(o,t)?n=!0:r=!1),o.subRows.length){let e=ND(o);e===`all`?(n=!0,i=!0):e===`some`?(n=!0,r=!1,i=!0):r=!1}}return i?r?`all`:n?`some`:!1:!1}var PD={initTableInstanceData:e=>{e._lastSelectedRowId=null},resetTableInstanceData:e=>{e._lastSelectedRowId=null},getInitialState:e=>({rowSelection:nD(),...e}),getDefaultTableOptions:e=>({onRowSelectionChange:Ew(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableRowRangeSelection:!0,enableSubRowSelection:!0,isRowRangeSelectionEvent:e=>{let t=e;return!!(t.shiftKey||t.nativeEvent?.shiftKey)}}),assignRowPrototype:(e,t)=>{Bw(`rowSelectionFeature`,e,t,{row_toggleSelected:{fn:(e,t,n)=>vD(e,t,n)},row_getIsSelected:{fn:e=>yD(e)},row_getIsSomeSelected:{fn:e=>bD(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getIsAllSubRowsSelected:{fn:e=>xD(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getCanSelect:{fn:e=>SD(e)},row_getCanSelectSubRows:{fn:e=>CD(e)},row_getCanMultiSelect:{fn:e=>wD(e)},row_getToggleSelectedHandler:{fn:(e,t)=>TD(e,t)}})},constructTableAPIs:e=>{zw(`rowSelectionFeature`,e,{table_setRowSelection:{fn:t=>rD(e,t)},table_resetRowSelection:{fn:t=>iD(e,t)},table_toggleAllRowsSelected:{fn:(t,n)=>aD(e,t,n)},table_toggleAllPageRowsSelected:{fn:(t,n)=>oD(e,t,n)},table_getPreSelectedRowModel:{fn:()=>sD(e)},table_getSelectedRowModel:{fn:()=>cD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getCoreRowModel()]},table_getFilteredSelectedRowModel:{fn:()=>lD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel()]},table_getGroupedSelectedRowModel:{fn:()=>uD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getSortedRowModel()]},table_getSelectedRowIds:{fn:()=>dD(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsAllRowsSelected:{fn:()=>fD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsAllPageRowsSelected:{fn:()=>pD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsSomeRowsSelected:{fn:()=>mD(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsSomePageRowsSelected:{fn:()=>hD(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection]},table_getToggleAllRowsSelectedHandler:{fn:()=>gD(e)},table_getToggleAllPageRowsSelectedHandler:{fn:()=>_D(e)}})}},FD={getInitialState(e){return{sorting:QT(),...e}},getDefaultColumnDef(){return{sortFn:`auto`,sortUndefined:1}},getDefaultTableOptions(e){return{autoResetSorting:!1,onSortingChange:Ew(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}},assignColumnPrototype(e,t){Bw(`rowSortingFeature`,e,t,{column_getAutoSortFn:{fn:e=>nE(e)},column_getAutoSortDir:{fn:e=>rE(e)},column_getSortFn:{fn:e=>iE(e)},column_toggleSorting:{fn:(e,t,n)=>aE(e,t,n)},column_getFirstSortDir:{fn:e=>oE(e)},column_getNextSortingOrder:{fn:(e,t)=>sE(e,t)},column_getCanSort:{fn:e=>cE(e)},column_getCanMultiSort:{fn:e=>lE(e)},column_getIsSorted:{fn:e=>uE(e)},column_getSortIndex:{fn:e=>dE(e)},column_clearSorting:{fn:e=>fE(e)},column_getToggleSortingHandler:{fn:e=>pE(e)}})},constructTableAPIs(e){zw(`rowSortingFeature`,e,{table_setSorting:{fn:t=>$T(e,t)},table_resetSorting:{fn:t=>eE(e,t)}})}},ID=typeof window>`u`?o.useEffect:o.useLayoutEffect;function LD(e,t){let[{table:n,rootSource:r}]=(0,o.useState)(()=>{let t=tD({...e,features:{coreReactivityFeature:bw(),...e.features}});return t.Subscribe=(e=>gw({...e,source:e.source??t.store})),t.FlexRender=UC,{table:t,rootSource:yw(t.store,cw)}}),i=n;XE(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,s=r.get(),c=hw(r,t,{compare:cw});return ID(()=>{r.markCommitted(s),qE(i,a??null,cw)}),(0,o.useMemo)(()=>({...n,options:e,state:c}),[n,e,c])}var RD=(e,t)=>{let n=String(t);return e&&Object.hasOwn(e,n)?e[n]:void 0},zD=e=>(0,z.jsx)(`span`,{className:`text-faint-foreground`,children:e}),BD=e=>typeof e==`object`&&e&&`name`in e?String(e.name):String(e),VD=(e,t)=>{if(t==null)return zD(`—`);switch(e.kind){case`text`:return(0,z.jsx)(`span`,{className:`truncate`,children:String(t)});case`id`:return(0,z.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,children:String(t)});case`money`:return(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[df(Number(t),e.currency,e.decimals),e.suffix]});case`date`:return(0,z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:bf(Number(t))});case`datetime`:return(0,z.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:Sf(Number(t))});case`number`:return(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[pf(Number(t)),e.suffix]});case`signed`:return(0,z.jsxs)(`span`,{className:R(`tabular-nums`,Number(t)<0?`text-danger-text`:`text-success-text`),children:[mf(Number(t)),e.suffix]});case`percent`:return Number(t)===0?zD(`—`):(0,z.jsx)(`span`,{className:`tabular-nums`,children:hf(Number(t))});case`status`:return(0,z.jsx)(rd,{tone:e.tones?.[String(t)]??`neutral`,color:RD(e.colors,t),shape:e.shape,children:Bo(String(t),e.labels)});case`relation`:return(0,z.jsx)(`span`,{className:`truncate font-medium text-primary-text hover:underline`,children:BD(t)});case`boolean`:return t?(0,z.jsx)(`span`,{className:`inline-flex size-4 items-center justify-center rounded-full bg-success-soft text-success-text`,children:(0,z.jsx)(de,{className:`size-3`,strokeWidth:3})}):zD(`No`);case`file`:{let e=G_(t);if(!e)return zD(`—`);if(`missing`in e)return(0,z.jsx)(`span`,{className:`truncate text-danger-text`,children:e.name});let n=$_(t,{width:20,height:20});return(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[n?(0,z.jsx)(dy,{image:n,className:`size-5 shrink-0 rounded-sm object-cover`}):(0,z.jsx)(Nt,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]})}case`user`:{let e=$S(String(t));return(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-2 truncate`,children:[(0,z.jsx)(Ju,{initials:e.initials,hue:e.hue,size:`xs`,className:`ring-0`}),(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:e.name})]})}}},HD=$E({rowSortingFeature:FD,rowSelectionFeature:PD}),UD=QE(),WD=e=>UD.columns(e.map(e=>UD.accessor(t=>e.value?e.value(t):t[e.id],{id:e.id,header:e.header,enableSorting:e.sortable??!1,cell:t=>e.render?e.render(t.row.original):VD(e,t.getValue())}))),GD=({total:e,selectedCount:t,bulkActions:n=[],className:r})=>(0,z.jsx)(`div`,{className:R(`flex h-9 shrink-0 items-center border-t bg-surface px-3 text-xs text-muted-foreground`,r),children:(0,z.jsxs)(`span`,{className:`flex items-center tabular-nums`,children:[gf(e),t>0&&(0,z.jsxs)(`span`,{className:`ml-3 font-medium text-primary-text`,children:[pf(t),` selected`]}),t>0&&n.map(e=>(0,z.jsx)(`button`,{type:`button`,onClick:e.onRun,className:R(`ml-3 rounded border bg-background px-2 py-0.5 font-medium hover:bg-muted`,e.destructive?`border-danger/40 text-danger-text`:`text-foreground`),children:e.label},e.label))]})}),KD=(e,t)=>e.filter(e=>e.available?.(t)??!0),qD=4,JD=(e,t)=>{let n=e.bottom+qD;return{top:n+t>window.innerHeight-qD?Math.max(qD,e.top-qD-t):n,right:window.innerWidth-e.right}},YD=({row:e,actions:t})=>{let[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(),s=(0,o.useRef)(null),c=(0,o.useRef)(null);return(0,o.useLayoutEffect)(()=>{if(!n||!s.current||!c.current){a(void 0);return}a(JD(s.current.getBoundingClientRect(),c.current.offsetHeight))},[n]),(0,o.useEffect)(()=>{if(!n)return;let e=e=>s.current?.contains(e)||c.current?.contains(e),t=t=>{(t instanceof KeyboardEvent?t.key===`Escape`:!e(t.target))&&r(!1)},i=()=>r(!1);return document.addEventListener(`mousedown`,t),document.addEventListener(`keydown`,t),document.addEventListener(`scroll`,i,!0),window.addEventListener(`resize`,i),()=>{document.removeEventListener(`mousedown`,t),document.removeEventListener(`keydown`,t),document.removeEventListener(`scroll`,i,!0),window.removeEventListener(`resize`,i)}},[n]),(0,z.jsxs)(`div`,{className:`relative flex justify-center bg-inherit`,onClick:e=>e.stopPropagation(),children:[(0,z.jsx)(`button`,{ref:s,type:`button`,"aria-label":`Row actions`,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex items-center justify-center rounded p-1 text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,z.jsx)(ze,{className:`size-4`})}),n&&(0,Pn.createPortal)((0,z.jsx)(`ul`,{ref:c,role:`menu`,onClick:e=>e.stopPropagation(),style:i??{visibility:`hidden`},className:`fixed z-50 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:t.map(t=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,className:R(`block w-full px-3 py-1.5 text-left hover:bg-muted`,t.destructive&&`text-danger-text`),onClick:()=>{r(!1),t.onSelect(e)},children:t.label})},t.label))}),document.body)]})},XD=e=>52+Math.ceil(String(e).length*1.33)*7,ZD=.6,QD=(e,t)=>Math.max(e.minWidth??0,e.width*t),$D=(e,t)=>e.fixed?`${Math.max(e.minWidth??0,e.width)}px`:`minmax(${QD(e,t)}px, ${e.width}fr)`,eO=(e,t,n=0,r=ZD)=>`${t}px ${e.map(e=>$D(e,r)).join(` `)}${n>0?` ${n}px`:``}`,tO=(e,t,n=0,r=ZD)=>t+n+e.reduce((e,t)=>e+(t.fixed?Math.max(t.minWidth??0,t.width):QD(t,r)),0),nO=()=>{let e=(0,o.useRef)(null),t=(0,o.useRef)(null),[n,r]=(0,o.useState)({scrolled:!1,more:!1}),i=(0,o.useCallback)(()=>{let t=e.current;if(!t)return;let n={scrolled:t.scrollLeft>1,more:t.scrollLeft+t.clientWidth<t.scrollWidth-1};r(e=>e.scrolled===n.scrolled&&e.more===n.more?e:n)},[]);return{ref:e,attach:(0,o.useCallback)(n=>{if(t.current?.disconnect(),t.current=null,e.current=n,!n)return;let r=new ResizeObserver(i);r.observe(n);for(let e of Array.from(n.children))r.observe(e);t.current=r,i()},[i]),onScroll:i,...n}},rO=`protobase:pinned:`,iO=(e,t)=>`${rO}${e}:${t}`,aO=(e,t)=>dd(()=>{let n=e.getItem(t);if(n===null)return;let r=JSON.parse(n);return Array.isArray(r)&&r.every(e=>typeof e==`string`)?r:void 0},void 0),oO=(e,t,n)=>dd(()=>n.length===0?e.removeItem(t):e.setItem(t,JSON.stringify(n)),void 0),sO=(e,t=[])=>{let[n,r]=(0,o.useState)(()=>(e?aO(localStorage,e):void 0)??t);return[n,(0,o.useCallback)(t=>{r(t),e&&oO(localStorage,e,t)},[e])]},cO=e=>e===`money`||e===`number`||e===`signed`||e===`percent`,lO=({header:e,pinned:t,onTogglePin:n})=>{let[r,i]=(0,o.useState)(!1),a=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(!r)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!a.current?.contains(e.target))&&i(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[r]),(0,z.jsxs)(`div`,{ref:a,className:`relative ml-auto shrink-0`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`${e} column menu`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(!r),className:`relative inline-flex size-5 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground focus-visible:opacity-100 after:absolute after:-inset-2 after:content-[''] md:opacity-0 md:group-hover/cell:opacity-100 aria-expanded:opacity-100`,children:(0,z.jsx)(ze,{className:`size-3.5`})}),r&&(0,z.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-[13px] font-normal text-foreground shadow-pop`,children:(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsx)(`button`,{type:`button`,role:`menuitem`,className:`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted`,onClick:()=>{i(!1),n()},children:t?`Unpin`:`Pin to left`})})})]})},uO=({sorted:e})=>e===`asc`?(0,z.jsx)(E,{className:`size-3 text-foreground`}):e===`desc`?(0,z.jsx)(S,{className:`size-3 text-foreground`}):(0,z.jsx)(ye,{className:`size-3 opacity-0 group-hover/head:opacity-100`}),dO=({cells:e,specs:t,gutter:n,selectedCount:r,selectable:i,trailing:a,minScale:o,pins:s={},lastPinned:c,scrolled:l,onTogglePin:u,onClearSelection:d})=>(0,z.jsxs)(`div`,{className:`grid h-8 shrink-0 items-center border-b bg-surface text-xs font-medium text-muted-foreground`,style:{gridTemplateColumns:eO(t,n,a,o)},role:`row`,children:[(0,z.jsxs)(`div`,{className:R(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,l&&!c&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:n},children:[i&&(0,z.jsx)(Vh,{checked:!1,indeterminate:r>0,label:`Clear selection`,onChange:d,className:R(r===0&&`opacity-60`)}),n>40&&(0,z.jsx)(`span`,{className:`w-6 text-right text-faint-foreground`,children:`#`})]}),e.map(({spec:e,sorted:t,onSort:n})=>{let r=e.id in s;return(0,z.jsxs)(`div`,{"data-col-id":e.id,style:r?{left:s[e.id]}:void 0,className:R(`group/cell flex h-full min-w-0 items-center`,r&&`sticky z-10 bg-inherit`,r&&l&&e.id===c&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`,e.highlight&&`bg-primary-soft text-primary-text`),children:[(0,z.jsxs)(`button`,{type:`button`,onClick:n,disabled:!e.sortable,className:R(`group/head flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,cO(e.kind)&&`justify-end`,e.sortable&&`hover:text-foreground`,t&&`text-foreground`),children:[(0,z.jsx)(`span`,{className:`truncate`,children:e.header}),e.highlight&&(0,z.jsx)(`span`,{className:`rounded bg-primary px-1 text-[10px] font-semibold uppercase leading-4 text-primary-foreground`,children:`New`}),e.sortable&&(0,z.jsx)(uO,{sorted:t})]}),(0,z.jsx)(`div`,{className:`pr-1.5`,children:(0,z.jsx)(lO,{header:e.header,pinned:r,onTogglePin:()=>u(e.id)})})]},e.id)}),a?(0,z.jsx)(`div`,{}):null]}),fO=e=>({gridTemplateColumns:eO(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,transform:`translateY(${e.offset}px)`}),pO=(e,t)=>R(`flex h-full min-w-0 items-center overflow-hidden whitespace-nowrap px-3`,cO(e.kind)&&`justify-end`,e.highlight&&`bg-primary-soft/60`,t.pins&&e.id in t.pins&&`sticky z-10 bg-inherit`,t.scrolled&&e.id===t.lastPinned&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),mO=(e,t)=>t&&e.id in t?{left:t[e.id]}:void 0,hO=({width:e,index:t,selectable:n,selected:r,onToggle:i,edge:a})=>(0,z.jsxs)(`div`,{className:R(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,a&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:e},children:[n&&(0,z.jsx)(`span`,{onClick:e=>e.stopPropagation(),children:(0,z.jsx)(Vh,{checked:!!r,onChange:i,label:`Select row ${t+1}`})}),e>40&&(0,z.jsx)(`span`,{className:`min-w-6 text-right text-[11px] tabular-nums text-faint-foreground`,children:pf(t+1)})]}),gO=({cells:e,selected:t,onToggle:n,onOpen:r,menu:i,...a})=>(0,z.jsxs)(`div`,{role:`row`,onClick:r,className:R(`absolute inset-x-0 top-0 grid items-center border-b text-[13px]`,t?`bg-primary-soft`:`bg-background hover:bg-surface`,r&&`cursor-pointer`),style:fO(a),children:[(0,z.jsx)(hO,{width:a.gutter,index:a.index,selectable:a.selectable,selected:t,onToggle:n,edge:a.scrolled&&!a.lastPinned}),e.map(({spec:e,content:t})=>(0,z.jsx)(`div`,{role:`cell`,className:pO(e,a),style:mO(e,a.pins),children:t},e.id)),i&&(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:i})]}),_O=[`w-3/4`,`w-1/2`,`w-2/3`,`w-5/6`,`w-2/5`],vO=e=>(0,z.jsxs)(`div`,{role:`row`,"aria-busy":!0,className:`absolute inset-x-0 top-0 grid items-center border-b bg-background`,style:fO(e),children:[(0,z.jsx)(hO,{width:e.gutter,index:e.index,selectable:!1,edge:e.scrolled&&!e.lastPinned}),e.specs.map((t,n)=>(0,z.jsx)(`div`,{className:pO(t,e),style:mO(t,e.pins),children:(0,z.jsx)(kd,{className:R(`h-2.5`,_O[(e.index+n)%_O.length],cO(t.kind)&&`ml-auto`)})},t.id))]}),yO=(e,t)=>{let n=new Map;return{get:t=>n.get(Math.floor(t/e))?.[t%e],hasPage:e=>n.has(e),setPage:(e,r)=>{if(n.delete(e),n.set(e,r),n.size<=t)return;let i=n.keys().next();i.done||n.delete(i.value)},get size(){return n.size}}},bO=(e,t,n)=>{let r=Math.floor(e/n),i=Math.floor(t/n);return Array.from({length:i-r+1},(e,t)=>r+t)},xO=({total:e,rowAt:t,loadRows:n,latencyMs:r},i,a)=>{let s=(0,o.useMemo)(()=>yO(40,60),[t,n]),[c,l]=(0,o.useState)(0),u=Math.floor(i/40),d=Math.floor(a/40),f=!n&&r===0;return(0,o.useEffect)(()=>{if(f)return;let i=bO(u*40,d*40,40).filter(e=>!s.hasPage(e)),a=t=>Math.max(0,Math.min(40,e-t*40)),o=(e,t)=>{s.setPage(e,t),l(e=>e+1)};if(n){let e=!1;for(let t of i)n(t*40,a(t)).then(n=>{e||o(t,n)});return()=>{e=!0}}let c=i.map(e=>setTimeout(()=>o(e,Array.from({length:a(e)},(n,r)=>t(e*40+r))),r));return()=>c.forEach(clearTimeout)},[s,u,d,r,e,t,n,f]),(0,o.useCallback)(e=>f?t(e):s.get(e),[s,f,t,c])},SO=1e7,CO=(e,t,n)=>{let r=e*t,i=Math.min(r,SO);return{rowHeight:t,trueHeight:r,contentHeight:i,scaled:r>i,maxTop:Math.max(0,r-n),maxScroll:Math.max(0,i-n)}},wO=(e,t)=>!e.scaled||t<=0?t:t>=e.maxScroll?e.maxTop+t-e.maxScroll:t/e.maxScroll*e.maxTop,TO=(e,t)=>!e.scaled||t<=0?t:t>=e.maxTop?e.maxScroll+t-e.maxTop:t/e.maxTop*e.maxScroll,EO=(e,t,n,r)=>{let i=t*e.rowHeight;return e.scaled?i-n+r:i},DO=(e,t,n,r,i)=>{let a=Math.min(e,Math.max(0,Math.floor(t/n)-i)),o=Math.min(e-1,Math.floor((t+r)/n)+i);return{first:a,last:Math.max(a-1,o)}},OO=e=>{let t=document.scrollingElement??document.documentElement;for(let n=e.parentElement;n&&n!==t&&n!==document.body;n=n.parentElement)if(/auto|scroll/.test(getComputedStyle(n).overflowY))return n;return t},kO=e=>e===(document.scrollingElement??document.documentElement),AO=e=>kO(e)?window:e,jO=e=>Number.parseFloat(e)||0,MO=e=>{let t=getComputedStyle(e),n=kO(e)?{top:0,height:e.clientHeight}:{top:e.getBoundingClientRect().top+e.clientTop,height:e.clientHeight},r=jO(t.scrollPaddingTop);return{top:n.top+r,height:Math.max(0,n.height-r-jO(t.scrollPaddingBottom))}},NO=6,PO=(e,t,n)=>{let r=CO(t,n,e.height),i=wO(r,e.position);return{geometry:r,top:i,topIndex:Math.floor(Math.max(0,i)/n),...DO(t,i,n,e.height,NO)}},FO=({total:e,rowHeight:t,initialIndex:n,inset:r=0,settle:i,ready:a=!0})=>{let s=(0,o.useRef)(null),c=(0,o.useRef)(null),[l,u]=(0,o.useState)({position:0,height:0}),d=(0,o.useRef)({total:e,rowHeight:t,initialIndex:n,inset:r,ready:a});d.current={total:e,rowHeight:t,initialIndex:n,inset:r,ready:a};let f=(0,o.useCallback)(()=>{let e=s.current;if(!e||!c.current)return;let t=MO(c.current),n=d.current.inset;return{position:t.top+n-e.getBoundingClientRect().top,height:Math.max(0,t.height-n)}},[]),p=(0,o.useRef)(l);p.current=l;let m=(0,o.useCallback)(()=>{let e=f();if(!e)return;let t=p.current,{total:n,rowHeight:r}=d.current,i=PO(t,n,r),a=PO(e,n,r),o=!a.geometry.scaled&&i.first===a.first&&i.last===a.last&&i.topIndex===a.topIndex;(t.height!==e.height||t.position!==e.position&&!o)&&(p.current=e,u(e))},[f]),h=(0,o.useRef)({pending:!0,laidOut:!1}),g=(0,o.useCallback)(()=>{if(!h.current.pending||!h.current.laidOut||!d.current.ready)return;let e=f(),t=c.current;if(!e||!t)return;h.current.pending=!1;let{total:n,rowHeight:r,initialIndex:i}=d.current;i>0?t.scrollTop+=TO(CO(n,r,e.height),i*r)-e.position:e.position>0&&(t.scrollTop=0)},[f]);(0,o.useLayoutEffect)(()=>{let e=s.current;if(!e)return;let t=OO(e);c.current=t;let n=AO(t);n.addEventListener(`scroll`,m,{passive:!0}),window.addEventListener(`resize`,m,{passive:!0});let r=new ResizeObserver(()=>{h.current.laidOut=!0,g(),m()});return r.observe(t),r.observe(e),m(),()=>{n.removeEventListener(`scroll`,m),window.removeEventListener(`resize`,m),r.disconnect(),c.current=null}},[m,g]),(0,o.useLayoutEffect)(()=>{g(),m()});let _=(0,o.useCallback)(e=>{let t=f();if(!t||!c.current)return;let n=CO(d.current.total,d.current.rowHeight,t.height);c.current.scrollTop+=TO(n,e)-t.position,m()},[f,m]),v=PO(l,e,t),y=i?i(v.top):v.top,{first:b,last:x}=i?DO(e,y,t,l.height,NO):v,S=Array.from({length:x-b+1},(e,t)=>({index:b+t,offset:EO(v.geometry,b+t,y,l.position)}));return{ref:s,height:l.height,top:y,geometry:v.geometry,rows:S,first:b,last:x,scrollTo:_}},IO=32,LO=({columns:e,source:t,naturalSort:n,initialScrollIndex:r=0,onScrollIndex:i,latencyMs:a=150,sort:s,onSortChange:c,onOpenRow:l,rowActions:u,bulkActions:d,pinKey:f,defaultPinned:p,rowNumbers:m=!0,compact:h=!1,selectable:g=!0,fit:_=!1,scroll:v=`own`,className:y})=>{let b=h?28:36,[x,S]=sO(f,p),C=(0,o.useMemo)(()=>[...x.flatMap(t=>e.find(e=>e.id===t)??[]),...e.filter(e=>!x.includes(e.id))],[e,x]),w=C.slice(0,C.filter(e=>x.includes(e.id)).length).map(e=>e.id),{total:T}=t,[E,D]=(0,o.useState)(n?[{id:n.columnId,desc:n.direction===`desc`}]:[]),O=s?[{id:s.columnId,desc:s.direction===`desc`}]:E,k=e=>{let t=typeof e==`function`?e(O):e,n=t[0];c&&n&&c({columnId:n.id,direction:n.desc?`desc`:`asc`}),s||D(t)},[A,j]=(0,o.useState)({}),M=(0,o.useMemo)(()=>WD(C),[C]),N=O[0],ee=!!(!s&&n&&N&&N.id===n.columnId&&(N.desc?`desc`:`asc`)!==n.direction),te=t.rowAt,ne=(0,o.useCallback)(e=>te(ee?T-1-e:e),[te,ee,T]),[re]=(0,o.useState)(r),{ref:ie,top:ae,geometry:oe,rows:se,first:ce,last:le}=FO({total:T,rowHeight:b,initialIndex:re,inset:IO}),ue=!Mu(),P=ue||!m?40:XD(T),de=Math.floor(Math.max(0,ae)/b);(0,o.useEffect)(()=>i?.(de),[de,i]);let fe=xO({total:T,rowAt:te?ne:void 0,loadRows:t.loadRows,latencyMs:a},ce,le),pe=se.map(({index:e,offset:t})=>({index:e,offset:t,row:fe(e)})),me=LD({features:HD,columns:M,data:(0,o.useMemo)(()=>pe.flatMap(({row:e})=>e?[e]:[]),[fe,ce,le]),state:{sorting:O,rowSelection:A},onSortingChange:k,onRowSelectionChange:j,manualSorting:!0,enableMultiSort:!1,enableSortingRemoval:!1,getRowId:e=>e.id}),he=new Map(me.getRowModel().rows.map(e=>[e.id,e])),ge=Object.keys(A).length,_e=(0,o.useRef)(new Map);for(let e of me.getRowModel().rows)e.getIsSelected()&&_e.current.set(e.id,e.original);let ve=u&&u.length>0?40:0,ye=ue?1:ZD,be=nO(),xe=(0,o.useRef)(null),Se=()=>{be.onScroll(),xe.current&&be.ref.current&&(xe.current.scrollLeft=be.ref.current.scrollLeft)},[Ce,we]=(0,o.useState)({});(0,o.useLayoutEffect)(()=>{let e=xe.current?.querySelector(`[role=row]`);if(!e)return;let t=P,n={};for(let r of w)n[r]=t,t+=e.querySelector(`[data-col-id="${r}"]`)?.offsetWidth??0;JSON.stringify(Ce)!==JSON.stringify(n)&&we(n)});let Te=w.at(-1),Ee=e=>S(x.includes(e)?x.filter(t=>t!==e):[...x,e]),De=me.getHeaderGroups().flatMap(e=>e.headers.map(e=>({spec:C.find(t=>t.id===e.column.id),sorted:e.column.getIsSorted(),onSort:t=>e.column.getToggleSortingHandler()?.(t)}))),Oe=tO(C,P,ve,ye),ke=v===`own`,Ae=(0,z.jsx)(`div`,{ref:xe,className:R(`sticky z-20 shrink-0 overflow-hidden`,ke?`top-0`:`top-[var(--pb-sticky-top,0px)]`),children:(0,z.jsx)(`div`,{style:{minWidth:Oe},children:(0,z.jsx)(dO,{cells:De,specs:C,gutter:P,trailing:ve,minScale:ye,pins:Ce,lastPinned:Te,scrolled:be.scrolled,onTogglePin:Ee,selectable:g,selectedCount:ge,onClearSelection:()=>j({})})})}),je=(0,z.jsx)(`div`,{ref:be.attach,onScroll:Se,className:`overflow-x-auto overflow-y-hidden overscroll-x-contain [-webkit-overflow-scrolling:touch]`,children:(0,z.jsx)(`div`,{ref:ie,className:`relative`,style:{minWidth:Oe,height:oe.contentHeight},children:pe.map(({index:e,offset:t,row:n})=>{let r={specs:C,gutter:P,index:e,offset:t,height:b,selectable:g,trailing:ve,minScale:ye,scrolled:be.scrolled,pins:Ce,lastPinned:Te},i=n?he.get(n.id):void 0;if(!i)return(0,z.jsx)(vO,{...r},`skeleton-${e}`);let a=ve&&n?KD(u,n):[];return(0,z.jsx)(gO,{...r,selected:i.getIsSelected(),onToggle:()=>i.toggleSelected(),onOpen:l&&n?()=>l(n):void 0,menu:n&&a.length>0?(0,z.jsx)(YD,{row:n,actions:a}):void 0,cells:i.getAllCells().map(e=>({spec:C.find(t=>t.id===e.column.id),content:(0,z.jsx)(me.FlexRender,{cell:e})}))},n?.id)})})});return(0,z.jsxs)(`div`,{role:`grid`,"aria-rowcount":T,className:R(`flex flex-col rounded-lg border bg-background`,ke?`min-h-0 overflow-hidden`:`overflow-clip`,y),style:_&&ke?{height:IO+T*b+2}:void 0,children:[(0,z.jsxs)(`div`,{className:R(`relative`,ke&&`flex min-h-0 flex-1 flex-col`),children:[ke?(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,children:[Ae,je]}):(0,z.jsxs)(z.Fragment,{children:[Ae,je]}),be.more&&(0,z.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 right-0 z-20 w-8 bg-gradient-to-l from-backdrop/15 to-transparent`})]}),!_&&(0,z.jsx)(GD,{total:T,className:ke?void 0:`sticky bottom-[var(--pb-sticky-bottom,0px)] z-20`,selectedCount:ge,bulkActions:d?.map(e=>({label:e.label(ge),destructive:e.destructive,onRun:()=>{e.onRun(Object.keys(A).flatMap(e=>_e.current.get(e)??[])),j({}),_e.current.clear()}}))})]})},RO=`inline-flex h-6 items-center gap-1 rounded-full border border-primary-border bg-primary-soft pl-2.5 pr-1.5 text-xs font-medium text-primary-text`,zO=({chips:e,lockedLabels:t=[],onRemove:n,onClear:r,scroll:i})=>e.length===0&&t.length===0?null:(0,z.jsxs)(`div`,{className:i?`flex flex-nowrap items-center gap-1.5 overflow-x-auto pb-1 [&>*]:shrink-0`:`flex flex-wrap items-center gap-1.5`,children:[t.map(e=>(0,z.jsxs)(`span`,{className:`inline-flex h-6 items-center gap-1.5 rounded-full border border-border-strong bg-muted px-2.5 text-xs font-medium text-foreground`,children:[(0,z.jsx)(nee,{className:`size-3 text-muted-foreground`}),e]},e)),e.map(e=>(0,z.jsxs)(`span`,{className:RO,children:[e.label,(0,z.jsx)(`button`,{type:`button`,"aria-label":`Remove ${e.label}`,onClick:()=>n(e.key),className:`rounded-full p-0.5 hover:bg-primary-border/60`,children:(0,z.jsx)(jn,{className:`size-3`})})]},e.key)),e.length>0&&(0,z.jsx)(`button`,{type:`button`,onClick:r,className:`ml-1 text-xs font-medium text-muted-foreground hover:text-foreground`,children:`Clear all`})]}),BO=[`7d`,`30d`,`year`],VO={today:`Today`,yesterday:`Yesterday`,"7d":`Last 7 days`,"30d":`Last 30 days`,"90d":`Last 90 days`,month:`This month`,quarter:`This quarter`,year:`This year`},HO=({value:e,presets:t=BO,onChange:n})=>(0,z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(t=>{let r=VO[t];return(0,z.jsx)(`button`,{type:`button`,disabled:!r,title:r?void 0:`The server offers the preset "${t}", which this UI does not know`,onClick:()=>n(e===t?void 0:t),className:R(`h-7 rounded-md border px-2.5 text-xs font-medium transition-colors`,!r&&`border-dashed text-danger-text`,e===t?`border-primary-border bg-primary-soft text-primary-text`:`border-border-strong bg-background text-muted-foreground hover:bg-muted`),children:r??`${t} (unsupported)`},t)})}),UO={facets:{},toggles:[]},WO=(e,t,n)=>{let r=e.facets[t]??[],i=r.includes(n)?r.filter(e=>e!==n):[...r,n];return{...e,facets:{...e.facets,[t]:i}}},GO=(e,t)=>({...e,toggles:e.toggles.includes(t)?e.toggles.filter(e=>e!==t):[...e.toggles,t]}),KO=(e,t,n)=>{let{[t]:r,...i}=e.ranges??{};return{...e,ranges:n?{...i,[t]:n}:i}},qO=(e,t)=>e.options.find(e=>e.value===t)?.label??e.labels?.[t]??t,JO=(e,t)=>{let n=e.facets.flatMap(e=>(t.facets[e.id]??[]).map(t=>({key:`facet:${e.id}:${t}`,label:`${e.label}: ${qO(e,t)}`}))),r=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[{key:`range:${e.id}`,label:`${e.label}: ${e.format(n[0])} – ${e.format(n[1])}`}]:[]}),i=t.date?[{key:`date`,label:VO[t.date]??t.date}]:[],a=t.toggles.map(t=>({key:`toggle:${t}`,label:e.toggles?.find(e=>e.id===t)?.label??t}));return[...n,...r,...i,...a]},YO=(e,t)=>{if(t===`date`)return{...e,date:void 0};let[n,r,i]=t.split(`:`);if(n===`range`)return KO(e,r,void 0);if(n===`toggle`)return GO(e,r);if(n===`facet`)return WO(e,r,i);throw Error(`Unknown filter chip key: ${t}`)},XO=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),ZO=(e,t)=>e.onSearch?e.options:e.options.filter(e=>XO(e.label,t)),QO=(e,t,n)=>t===0?-1:n===`ArrowDown`?e<0?0:(e+1)%t:e<0?t-1:(e-1+t)%t,$O=({config:e,selected:t,onToggle:n,inline:r=!1})=>{let i=(0,o.useId)(),a=(0,o.useRef)(null),[s,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(!1),[d,f]=(0,o.useState)(-1),p=r||l,m=ZO(e,s),h=(0,o.useRef)(e.onSearch);h.current=e.onSearch,(0,o.useEffect)(()=>()=>h.current?.(``),[]);let g=t=>{c(t),f(-1),e.onSearch?.(t)};return(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,z.jsxs)(`div`,{className:`flex min-h-8 cursor-text flex-wrap items-center gap-1 rounded-md border border-border-strong bg-background px-2 py-1 shadow-sm focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20`,onClick:()=>a.current?.focus(),children:[(0,z.jsx)(Ut,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.map(t=>(0,z.jsxs)(`span`,{className:`inline-flex h-5 max-w-full items-center gap-0.5 rounded bg-primary-soft pl-1.5 pr-0.5 text-xs font-medium text-primary-text`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:qO(e,t)}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Remove ${qO(e,t)}`,className:`rounded p-0.5 hover:bg-primary-border/60`,onMouseDown:e=>e.preventDefault(),onClick:()=>n(t),children:(0,z.jsx)(jn,{className:`size-3`})})]},t)),(0,z.jsx)(`input`,{ref:a,autoFocus:r,role:`combobox`,"aria-label":e.label,"aria-expanded":p,"aria-controls":`${i}-options`,"aria-autocomplete":`list`,"aria-activedescendant":m[d]?`${i}-${d}`:void 0,placeholder:t.length>0?``:`Search ${e.label.toLowerCase()}`,className:`h-6 min-w-16 flex-1 bg-transparent text-[13px] text-foreground outline-none placeholder:text-faint-foreground`,value:s,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),f(QO(d,m.length,e.key));return}if(e.key===`Enter`&&m[d]){e.preventDefault(),n(m[d].value);return}if(e.key===`Backspace`&&s===``&&t.length>0){n(t[t.length-1]);return}e.key===`Escape`&&s!==``&&(e.stopPropagation(),g(``))},onFocus:()=>u(!0),onBlur:()=>{u(!1),f(-1),!r&&s!==``&&g(``)}})]}),p&&(0,z.jsxs)(`ul`,{id:`${i}-options`,role:`listbox`,"aria-label":e.label,"aria-multiselectable":!0,className:R(`flex max-h-60 flex-col gap-px overflow-y-auto`,!r&&`rounded-md border bg-background p-1 shadow-sm`),children:[m.map((e,r)=>{let a=t.includes(e.value);return(0,z.jsxs)(`li`,{id:`${i}-${r}`,role:`option`,"aria-selected":a,tabIndex:-1,className:R(`flex cursor-pointer items-center gap-2 rounded px-1.5 py-1 hover:bg-muted`,r===d&&`bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:()=>n(e.value),children:[(0,z.jsx)(`span`,{className:R(`inline-flex size-4 shrink-0 items-center justify-center rounded border`,a?`border-primary bg-primary text-primary-foreground`:`border-border-strong bg-background`),children:a&&(0,z.jsx)(de,{className:`size-3`,strokeWidth:3})}),(0,z.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,z.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:pf(e.count)})]},e.value)}),m.length===0&&(0,z.jsx)(`li`,{className:`px-1.5 py-1 text-xs text-faint-foreground`,children:`No matches`})]})]})},ek=({config:e,selected:t,onToggle:n})=>{let[r,i]=(0,o.useState)(``),a=e.options.filter(e=>XO(e.label,r));return(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.searchable&&(0,z.jsx)(Md,{wrapperClassName:`mb-1 h-7`,leading:(0,z.jsx)(Ut,{className:`size-3.5`}),placeholder:`Search ${e.label.toLowerCase()}`,value:r,onChange:e=>i(e.target.value)}),a.map(e=>(0,z.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-1 hover:bg-muted`,children:[(0,z.jsx)(Vh,{checked:t.includes(e.value),onChange:()=>n(e.value),label:e.label}),(0,z.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,z.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:pf(e.count)})]},e.value)),a.length===0&&(0,z.jsx)(`span`,{className:`px-1 py-1 text-xs text-faint-foreground`,children:`No matches`})]})},tk=({label:e,activeCount:t,width:n=240,defaultOpen:r=!1,children:i})=>{let[a,s]=(0,o.useState)(r),[c,l]=(0,o.useState)(!1),u=(0,o.useRef)(null);return(0,o.useLayoutEffect)(()=>{a&&u.current&&l(u.current.getBoundingClientRect().left+n>document.documentElement.clientWidth)},[a,n]),(0,o.useEffect)(()=>{if(!a)return;let e=e=>{e.target instanceof Node&&!u.current?.contains(e.target)&&s(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[a]),(0,z.jsxs)(`div`,{ref:u,className:`relative`,children:[(0,z.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>s(!a),className:R(`inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5 text-[13px] font-medium shadow-sm transition-colors hover:bg-muted`,t>0?`border-primary-border text-primary-text`:`border-border-strong text-foreground`),children:[e,t>0&&(0,z.jsx)(`span`,{className:`rounded-full bg-primary px-1.5 text-[11px] leading-4 text-primary-foreground`,children:t}),(0,z.jsx)(pe,{className:`size-3.5 text-muted-foreground`})]}),a&&(0,z.jsx)(`div`,{className:R(`absolute top-full z-30 mt-1.5 rounded-lg border bg-background p-3 shadow-pop`,c?`right-0`:`left-0`),style:{width:n},children:i})]})},nk=({title:e,children:t})=>(0,z.jsxs)(`section`,{className:`flex flex-col gap-2 border-b py-3 last:border-b-0`,children:[(0,z.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),rk=(e,t)=>{let[n,r]=(0,o.useState)(e);return(0,o.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n},ik=(e,t,n,r,i)=>{let a=n+(r-n)*e/t;return n+(r-n)*(e+1)/t>i[0]&&a<i[1]},ak=(e,t,n)=>n===t?0:(e-t)/(n-t),ok=(e,t,n)=>t===0?[Math.min(n,e[1]),e[1]]:[e[0],Math.max(n,e[0])],sk=1e3,ck=({config:e,value:t,onChange:n})=>{let{min:r,max:i,step:a,histogram:s,format:c}=e,[l,u]=(0,o.useState)(),d=l??t??[r,i],f=Math.max(...s),p=()=>{l&&(u(void 0),n(l[0]===r&&l[1]===i?void 0:l))},m=rk(l,sk);return(0,o.useEffect)(()=>{m&&p()},[m]),(0,z.jsxs)(`div`,{className:`w-full`,children:[(0,z.jsxs)(`div`,{className:`px-[7px]`,children:[s.length>0&&(0,z.jsx)(`div`,{className:`mb-1 flex h-12 items-end gap-0.5`,children:s.map((e,t)=>(0,z.jsx)(`span`,{className:R(`flex-1 rounded-t-sm`,ik(t,s.length,r,i,d)?`bg-primary/70`:`bg-border`),style:{height:`${Math.max(6,e/f*100)}%`}},t))}),(0,z.jsxs)(`div`,{className:`relative h-4`,children:[(0,z.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border`}),(0,z.jsx)(`span`,{className:`absolute top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary`,style:{left:`${ak(d[0],r,i)*100}%`,right:`${100-ak(d[1],r,i)*100}%`}})]})]}),(0,z.jsx)(`div`,{className:`relative -mt-4 h-4`,children:[0,1].map(t=>(0,z.jsx)(`input`,{type:`range`,className:`pb-range`,"aria-label":`${e.label} ${t===0?`minimum`:`maximum`}`,min:r,max:i,step:a,value:d[t],onChange:e=>u(ok(d,t,Number(e.target.value))),onPointerUp:p,onTouchEnd:p,onBlur:p},t))}),(0,z.jsxs)(`div`,{className:`mt-2 flex justify-between text-xs tabular-nums text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:c(d[0])}),(0,z.jsx)(`span`,{children:c(d[1])})]})]})},lk=({label:e,checked:t,onChange:n})=>(0,z.jsxs)(`label`,{className:`flex cursor-pointer items-center justify-between gap-3 py-1`,children:[(0,z.jsx)(`span`,{children:e}),(0,z.jsx)(H_,{checked:t,onChange:n,label:e})]}),uk=(e,t)=>e.some(e=>e.length>0)||!!t,dk=({groups:e,trailing:t})=>{if(!uk(e,t))return null;let n=e.filter(e=>e.length>0);return(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.map((e,t)=>(0,z.jsxs)(o.Fragment,{children:[t>0&&(0,z.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),e]},t)),t&&(0,z.jsx)(`div`,{className:`flex min-w-32 flex-1 justify-end`,children:t})]})},fk=(e,t,n)=>{let[r,i]=(0,o.useState)(t??UO);return[e??r,e=>{i(e),n?.(e)}]},pk=({config:e,layout:t,value:n,defaultValue:r,onChange:i,lockedLabels:a,defaultOpenMenu:s,fullWidth:c,leading:l,trailing:u})=>{let[d,f]=fk(n,r,i),p=JO(e,d),m=(0,z.jsx)(zO,{chips:p,lockedLabels:a,onRemove:e=>f(YO(d,e)),onClear:()=>f(UO)}),h=(e,t=!1)=>{let n=d.facets[e.id]??[],r=t=>f(WO(d,e.id,t));return e.combobox?(0,z.jsx)($O,{config:e,selected:n,onToggle:r,inline:t}):(0,z.jsx)(ek,{config:e,selected:n,onToggle:r})},g=e.ranges??[],_=e=>(0,z.jsx)(ck,{config:e,value:d.ranges?.[e.id],onChange:t=>f(KO(d,e.id,t))}),v=e.datePresets&&(0,z.jsx)(HO,{value:d.date,presets:Array.isArray(e.datePresets)?e.datePresets:void 0,onChange:e=>f({...d,date:e})}),y=(e.toggles??[]).map(e=>(0,z.jsx)(lk,{label:e.label,checked:d.toggles.includes(e.id),onChange:()=>f(GO(d,e.id))},e.id));if(t===`panel`)return(0,z.jsxs)(`aside`,{className:c?`flex w-full flex-col gap-1`:`flex w-64 shrink-0 flex-col gap-1 overflow-y-auto rounded-lg border bg-background px-4 py-3`,children:[(0,z.jsx)(`div`,{className:`flex items-center justify-between pb-1`,children:(0,z.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:`Filters`})}),(p.length>0||(a?.length??0)>0)&&(0,z.jsx)(`div`,{className:`border-b pb-3`,children:m}),l,e.facets.map(e=>(0,z.jsx)(nk,{title:e.label,children:h(e)},e.id)),g.map(e=>(0,z.jsx)(nk,{title:e.label,children:_(e)},e.id)),v&&(0,z.jsx)(nk,{title:`Date`,children:v}),y.length>0&&(0,z.jsx)(nk,{title:`Show only`,children:y})]});let b=[...e.facets.map(e=>(0,z.jsx)(tk,{label:e.label,activeCount:(d.facets[e.id]??[]).length,width:e.combobox?280:void 0,defaultOpen:s===e.id,children:h(e,!0)},e.id)),...g.map(e=>(0,z.jsx)(tk,{label:e.label,activeCount:+!!d.ranges?.[e.id],width:280,defaultOpen:s===e.id,children:_(e)},`range:${e.id}`)),...v?[(0,z.jsx)(o.Fragment,{children:v},`date`)]:[]],x=(e.toggles??[]).map(e=>(0,z.jsx)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:(0,z.jsx)(lk,{label:e.label,checked:d.toggles.includes(e.id),onChange:()=>f(GO(d,e.id))})},e.id)),S=[l?[(0,z.jsx)(o.Fragment,{children:l},`leading`)]:[],b,x];return!uk(S,u)&&p.length===0&&!a?.length?null:(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(dk,{groups:S,trailing:u}),m]})},mk={draft:`neutral`,confirmed:`blue`,picking:`amber`,shipped:`violet`,delivered:`green`,cancelled:`red`,sent:`blue`,paid:`green`,overdue:`red`,lead:`blue`,active:`green`,dormant:`neutral`,receipt:`green`,issue:`blue`,transfer:`violet`,adjustment:`amber`},hk=e=>mk[e]??`neutral`,gk={text:200,id:140,money:120,date:110,datetime:170,status:150,relation:200,boolean:64,number:100,signed:110,percent:110,user:130,file:180},_k=(e,t)=>Math.ceil(e.length*7.2)+24+(t?16:0)+28,vk=e=>Math.ceil(Math.max(0,...e.map(e=>e.length))*7.2)+56,yk=new Set([`datetime`,`date`,`boolean`,`percent`]),bk=/^(number|sku|reference|code)$/,xk=(e,t,n)=>{switch(e.type){case`relation`:return`relation`;case`file`:return`file`;case`enum`:return`status`;case`boolean`:return`boolean`;case`timestamp`:return`datetime`;case`date`:return`date`;case`decimal`:return t?.format===`percent`?`percent`:t?.prefix===`€`?`money`:`number`;case`integer`:case`bigint`:return/quantity|delta/.test(e.name)?`signed`:`number`;default:return bk.test(e.name)||n===0&&e.name===`id`?`id`:`text`}},Sk=e=>Math.round(Number.parseFloat(String(e))*100),Ck=(e,t)=>t?.list?.columns??Object.keys(e.fields).slice(0,6),wk=(e,t,n=[],r=Ck(e,t))=>r.flatMap((r,i)=>{let a=e.fields[r];if(!a)return[];let o=t?.fields[r],s=xk(a,o,i),c=Object.fromEntries((a.enumValues??[]).map(e=>[e,Bo(e,o?.valueLabels)])),l=o?.suffix?Math.ceil(o.suffix.length*7.2):0;return[{id:r,header:o?.label??W(r),kind:s,width:(r===`name`?260:gk[s])+l,sortable:a.sortable,minWidth:Math.max(s===`id`?150:0,_k(o?.label??W(r),a.sortable),s===`status`?vk(Object.values(c)):0,l>0?gk[s]+l:0),...yk.has(s)&&{fixed:!0},...n.includes(r)&&{highlight:!0},...a.type===`enum`&&{tones:Object.fromEntries((a.enumValues??[]).map(e=>[e,hk(e)])),labels:c},...a.type===`enum`&&o?.valueColors&&{colors:o.valueColors},...a.type===`enum`&&o?.badgeShape&&{shape:o.badgeShape},...o?.suffix!==void 0&&{suffix:o.suffix},...s===`money`&&o?.decimals!==void 0&&{decimals:o.decimals},...s===`money`&&{currency:`EUR`,value:e=>e[r]==null?null:Sk(e[r])},...(s===`datetime`||s===`date`)&&{value:e=>e[r]==null?null:Date.parse(String(e[r]))},...(s===`percent`||s===`number`&&a.type===`decimal`)&&{value:e=>e[r]==null?null:Number(e[r])}}]}),Tk=eo(),Ek={start:0,end:0},Dk={"7d":{amount:7,unit:`d`},"30d":{amount:30,unit:`d`},"90d":{amount:90,unit:`d`}},Ok=e=>new Date(e).toISOString().replace(`.000Z`,`Z`),kk=(e,t)=>{let[n,r,i]=[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()];return Ok(e===`year`?Date.UTC(n,0,1):e===`quarter`?Date.UTC(n,Math.floor(r/3)*3,1):e===`month`?Date.UTC(n,r,1):e===`yesterday`?Date.UTC(n,r,i-1):Date.UTC(n,r,i))},Ak=[`year`,`quarter`,`month`,`yesterday`,`today`],jk=(e,t)=>t===`date`?{kind:`string`,value:e.slice(0,10),span:Ek}:{kind:`timestamp`,value:e,span:Ek},Mk=(e,t,n,r)=>{if(t in Dk)return[Tk.gte(e,Tk.ago(t))];let i=Tk.gte(e,jk(kk(t,n),r));return t===`yesterday`?[i,Tk.lt(e,jk(kk(`today`,n),r))]:[i]},Nk=(e,t,n=new Date)=>{let r=e.facets.flatMap(e=>{let n=t.facets[e.id]??[];if(n.length===0)return[];if(e.flags){let t=e.options.filter(e=>n.includes(e.value)).map(e=>Tk.eq(e.value,!0));return t.length===0?[]:[t.length===1?t[0]:Tk.or(...t)]}return[n.length===1?Tk.eq(e.id,n[0]):Tk.in(e.id,n)]}),i=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[Tk.gte(e.id,n[0]),Tk.lte(e.id,n[1])]:[]}),a=e.dateField&&t.date?Mk(e.dateField,t.date,n,e.dateKind):[],o=(e.toggles??[]).filter(e=>t.toggles.includes(e.id)).map(e=>Tk.eq(e.id,!0));return[...r,...i,...a,...o]},Pk=e=>e.length===0?``:za(Tk.and(...e)),Fk=(e,t,n=[],r=new Date)=>Pk([...Nk(e,t,r),...n]),Ik=e=>e.kind===`and`?e.args.flatMap(Ik):[e],Lk=e=>e.field.path.join(`.`),Rk=e=>e.kind===`compare`&&e.op===`=`&&e.value.kind===`boolean`&&e.value.value,zk=(e,t)=>{let n=e.kind===`or`?e.args:[e];if(!n.every(Rk))return;let r=n.map(Lk),i=t.get(r[0]);return i!==void 0&&r.every(e=>t.get(e)===i)?{group:i,fields:r}:void 0},Bk=e=>e.kind===`number`?String(e.raw):e.kind===`string`?String(e.value):void 0,Vk=(e,t)=>{let n=e.value;if(n.kind===`now`&&n.offset?.sign===`-`){let{amount:e,unit:t}=n.offset.duration;return Object.entries(Dk).find(([,n])=>n.amount===e&&n.unit===t)?.[0]}if(n.kind===`timestamp`)return Ak.find(e=>kk(e,t)===n.value);if(n.kind===`string`)return Ak.find(e=>kk(e,t).slice(0,10)===n.value)},Hk=(e,t,n=new Date)=>{let r=na(t);if(!r.ok)return{ok:!1,errors:r.errors};let i={facets:{},toggles:[]},a=[],o=new Set(e.facets.filter(e=>!e.flags).map(e=>e.id)),s=new Map(e.facets.filter(e=>e.flags).flatMap(e=>e.options.map(t=>[t.value,e.id]))),c=new Set((e.toggles??[]).map(e=>e.id)),l=new Set((e.ranges??[]).map(e=>e.id)),u=new Map,d,f;for(let t of r.ast?Ik(r.ast):[]){let r=zk(t,s);if(r&&!i.facets[r.group])i.facets[r.group]=r.fields;else if(t.kind===`compare`&&o.has(Lk(t))&&t.op===`=`&&Bk(t.value)!==void 0)i.facets[Lk(t)]=[...i.facets[Lk(t)]??[],Bk(t.value)];else if(t.kind===`in`&&o.has(Lk(t))&&t.values.every(e=>Bk(e)!==void 0))i.facets[Lk(t)]=[...i.facets[Lk(t)]??[],...t.values.map(e=>Bk(e))];else if(t.kind===`compare`&&e.dateField===Lk(t)&&t.op===`>=`&&Vk(t,n)&&!i.date)i.date=Vk(t,n),d=t;else if(t.kind===`compare`&&e.dateField===Lk(t)&&t.op===`<`&&(t.value.kind===`timestamp`||t.value.kind===`string`)&&kk(`today`,n).startsWith(t.value.value.slice(0,10)))f=t;else if(t.kind===`compare`&&c.has(Lk(t))&&t.op===`=`&&t.value.kind===`boolean`&&t.value.value)i.toggles.push(Lk(t));else if(t.kind===`compare`&&l.has(Lk(t))&&(t.op===`>=`||t.op===`<=`)&&t.value.kind===`number`){let e=u.get(Lk(t))??{clauses:[]};t.op===`>=`?e.low=t.value.value:e.high=t.value.value,e.clauses.push(t),u.set(Lk(t),e)}else a.push(t)}i.date===`yesterday`&&!f&&(a.push(d),i.date=void 0),f&&i.date!==`yesterday`&&a.push(f);for(let[e,t]of u)t.low!==void 0&&t.high!==void 0?i.ranges={...i.ranges,[e]:[t.low,t.high]}:a.push(...t.clauses);return{ok:!0,state:i,extras:a}},Uk=(e,t)=>{let n=new Map(t.map(e=>[e.value,e.count]));return e.map(([e,t])=>({value:e,label:t,...n.get(e)!==void 0&&{count:n.get(e)}}))},Wk=(e,t)=>[...new Set(t.filter(t=>!e.includes(t)))],Gk=eo(),Kk=(e,t)=>{let n=U(),[r,i]=(0,o.useState)({}),a=e=>!!e?.search?.length&&e.primaryKey.length===1,s=_h({queries:e.map(({id:e,target:i})=>{let o=(r[e]??``).trim();return{queryKey:[`reference-search`,e,i?.name??``,o],enabled:a(i)&&o!==``,placeholderData:_m,queryFn:async()=>{let e=i.primaryKey[0],r=mg(i,t[i.name]);return(await n.list(i.name,{filter:za(Gk.search(o)),fields:[e,r],pageSize:20})).items.map(t=>[String(t[e]),String(t[r])])}}})});return e.map(({id:e,target:t},n)=>{if(!a(t))return{};let o=t=>i(n=>({...n,[e]:t}));return(r[e]??``).trim()===``?{onSearch:o}:{onSearch:o,matches:s[n]?.data??[]}})},qk=[`integer`,`bigint`,`decimal`],Jk=(e,t)=>{let n=e?.fields[t]?.type;return n!==void 0&&qk.includes(n)},Yk=(e,t)=>e.kind===`range`||e.kind===`facets`&&Jk(t,e.field),Xk=e=>({id:e,label:e,min:0,max:0,step:1,histogram:[],format:String}),Zk=(e,t)=>{let n=e?.filters??[],r=n.find(e=>e.kind===`dateRange`);return{facets:n.flatMap(e=>e.kind===`facets`&&!Yk(e,t)?[{id:e.field,label:e.field,options:[],searchable:e.search,...t?.fields[e.field]?.type===`relation`&&{combobox:!0}}]:e.kind===`flags`?[{id:e.fields.join(`|`),label:e.label,options:e.fields.map(e=>({value:e,label:e,count:0})),flags:!0}]:[]),ranges:n.flatMap(e=>e.kind!==`flags`&&Yk(e,t)?[Xk(e.field)]:[]),...r&&{dateField:r.field,dateKind:t?.fields[r.field]?.type===`date`?`date`:`timestamp`,...r.presets.length>0&&{datePresets:r.presets}},toggles:n.flatMap(e=>e.kind===`toggle`?[{id:e.field,label:e.field}]:[])}},Qk=(e,t)=>(e?.filters??[]).some(e=>e.kind===`range`&&e.field===t&&e.histogram),$k=(e,t)=>{let n=e?.fields[t],r=n?.suffix??``;return e=>`${n?.prefix===`€`?df(e*100).replace(`.00`,``):String(e)}${r}`},eA=24,tA=({model:e,resources:t,views:n,view:r,state:i,extras:a})=>{let o=U(),s=qp(),c=Zk(r,e),l=e=>r?.fields[e]?.label??W(e),u=n=>{let r=e.fields[n];return r?.type===`relation`&&r.relation?t[r.relation.resource]:void 0},d=c.facets.flatMap(e=>(e.flags?e.options.map(e=>e.value):[e.id]).map(t=>({group:e.id,field:t}))),f=_h({queries:d.map(({group:t,field:r})=>{let s=Fk(c,{...i,facets:{...i.facets,[t]:[]}},a),l=u(r),d=l?.primaryKey.length===1?mg(l,n[l.name]):void 0;return{queryKey:H.facets(e.name,r,s),queryFn:()=>o.facets(e.name,r,{filter:s,limit:50,...d&&{label:d}})}})}),p=(e,t)=>f[d.findIndex(n=>n.group===e&&n.field===t)]?.data,m=_h({queries:c.facets.map(t=>{let r=u(t.id),a=Wk((p(t.id,t.id)??[]).flatMap(e=>e.value===null?[]:[String(e.value)]),i.facets[t.id]??[]);return{queryKey:H.labels(`facet:${e.name}.${t.id}`,a.join(`,`)),enabled:!!r&&a.length>0,queryFn:async()=>[...await R_(s,o,r,a,n[r.name])]}})}),h=Kk(c.facets.map(e=>({id:e.id,target:e.combobox?u(e.id):void 0})),n),g=c.ranges??[],_=_h({queries:g.map(t=>{let n=Fk(c,KO(i,t.id,void 0),a),s=Qk(r,t.id)?eA:1;return{queryKey:H.histogram(e.name,t.id,s,n),queryFn:()=>o.histogram(e.name,t.id,{filter:n,buckets:s})}})});return{facets:c.facets.map((t,n)=>{if(t.flags){let e=t.options.map(({value:e})=>({value:e,label:l(e),count:p(t.id,e)?.find(e=>String(e.value)===`true`)?.count??0}));return{...t,options:e}}let i=e.fields[t.id],a=(p(t.id,t.id)??[]).flatMap(e=>e.label===void 0?[]:[[String(e.value),e.label]]),o=new Map([...a,...m[n]?.data??[]]),s=(p(t.id,t.id)??[]).flatMap(e=>e.value===null?[]:[{value:String(e.value),label:i?.type===`enum`?Bo(String(e.value),r?.fields[t.id]?.valueLabels):o.get(String(e.value))??String(e.value),count:e.count}]),c=h[n];return{...t,label:l(t.id),options:c.matches?Uk(c.matches,s):s,...o.size>0&&{labels:Object.fromEntries(o)},...c.onSearch&&{onSearch:c.onSearch}}}),ranges:g.flatMap((e,t)=>{let n=_[t]?.data;return!n||n.min===null||n.max===null?[]:[{...e,label:l(e.id),min:Math.floor(n.min),max:Math.ceil(n.max),step:Math.max(1,Math.round((n.max-n.min)/100)),histogram:Qk(r,e.id)?n.buckets.map(e=>e.count):[],format:$k(r,e.id)}]}),...c.dateField&&{datePresets:c.datePresets??!0,dateField:c.dateField,dateKind:c.dateKind},toggles:c.toggles?.map(e=>({...e,label:l(e.id)}))}},nA=5e3,rA=({queryClient:e,client:t,resources:n,views:r,model:i,columns:a,filter:o,orderBy:s})=>{let c=e=>H.page(i.name,o,s,40,e),l=B_(n,r,i,a),u=ov(r[i.name]),d=async e=>e.nextPageToken===``?e.items.length:e.totalSizeEstimate>nA?e.totalSizeEstimate:(await t.list(i.name,{filter:o,orderBy:s,pageSize:1,count:`exact`})).totalSize??e.totalSizeEstimate,f=async t=>{if(t===0)return``;let n=c(t-1),r=e.getQueryData(n);if(r)return r.nextPageToken;if(e.getQueryState(n)?.fetchStatus===`fetching`)return(await m(t-1)).nextPageToken},p=async e=>{let r=await f(e);if(e>0&&r===``)return{rows:[],total:0,nextPageToken:``};let c={filter:o,orderBy:s,pageSize:40,labels:l,photos:u},p=r===void 0?await t.seek(i.name,{...c,position:e*40}):await t.list(i.name,{...c,pageToken:r});if(p.items.length===0&&e>0)return{rows:[],total:0,nextPageToken:``};let m=p.items.map(e=>_g(i,e));return{rows:V_(n,i,a,sv(i,p.items,p.photos),p.labels).map((e,t)=>({...e,id:m[t]})),total:e===0?await d(p):p.totalSizeEstimate,nextPageToken:p.nextPageToken}},m=t=>e.fetchQuery({queryKey:c(t),staleTime:6e4,queryFn:()=>p(t)});return{page:m,loadRows:async e=>(await m(Math.floor(e/40))).rows}},iA=({resources:e,views:t,model:n,columns:r,filter:i,orderBy:a})=>{let s=U(),c=qp(),l=r.join(`,`),u=(0,o.useMemo)(()=>rA({queryClient:c,client:s,resources:e,views:t,model:n,columns:r,filter:i,orderBy:a}),[c,s,e,t,n,l,i,a]),d=yh({queryKey:[...H.first(n.name,i,a),l],queryFn:()=>u.page(0)});return{source:(0,o.useMemo)(()=>d.data?{total:d.data.total,loadRows:u.loadRows}:void 0,[d.data,u]),error:d.error,isLoading:d.isLoading,page:u.page,key:[...H.first(n.name,i,a),l]}},aA=({title:e,open:t,onClose:n,children:r})=>{let i=(0,o.useRef)(null);return Ru(i,t,n),t?(0,z.jsxs)(`div`,{className:`fixed inset-0 z-[80]`,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-backdrop/40`,onClick:n,"aria-hidden":!0}),(0,z.jsxs)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-label":e,tabIndex:-1,className:`absolute inset-x-0 bottom-0 flex max-h-[85vh] flex-col rounded-t-xl border-t bg-background shadow-pop outline-none`,children:[(0,z.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between border-b px-4`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:e}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:n,className:`-mr-2 inline-flex size-11 items-center justify-center rounded-md text-muted-foreground hover:bg-muted`,children:(0,z.jsx)(jn,{className:`size-5`})})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 pb-6`,children:r})]})]}):null},oA=({title:e,noun:t,busy:n,onConfirm:r,onCancel:i})=>(0,z.jsx)(kf,{title:`Delete ${e}?`,description:`This ${t.toLowerCase()} will be removed. This cannot be undone.`,onClose:i,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:i,children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:r,children:`Delete`})]})}),sA=({title:e,changes:t,busy:n,onReview:r,onDeleteAnyway:i,onCancel:a})=>(0,z.jsx)(kf,{title:`${e} was changed since you opened it`,description:`Someone saved this record in the meantime. Review what changed before you delete it.`,onClose:a,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:r,children:`Review changes`}),(0,z.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:i,children:`Delete anyway`})]}),children:t.length===0?(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`No visible fields differ; the record was saved again with the same values.`}):(0,z.jsx)(`ul`,{className:`divide-y rounded-md border text-[13px]`,children:t.map(e=>(0,z.jsxs)(`li`,{className:`grid grid-cols-[96px_1fr] gap-3 px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,z.jsx)(`span`,{className:`font-medium`,children:e.after})]})]},e.field))})}),cA=e=>{if(e.stage===`confirm`)return(0,z.jsx)(kf,{title:`Delete ${e.count} ${e.count===1?e.plural.replace(/s$/,``):e.plural.toLowerCase()}?`,description:`This cannot be undone. Each record is deleted only if it has not changed since the list loaded; anything that changed is reported and kept.`,onClose:e.onCancel,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:e.onCancel,children:`Cancel`}),(0,z.jsxs)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,onClick:e.onConfirm,children:[`Delete `,e.count]})]})});if(e.stage===`running`)return(0,z.jsx)(kf,{title:`Deleting`,description:`${e.done} of ${e.total} done`,onClose:()=>void 0,actions:(0,z.jsx)(V,{loading:!0,disabled:!0,children:`Working`})});let t=e.total-e.failures.length;return(0,z.jsx)(kf,{title:e.failures.length===0?`Deleted ${t}`:`Deleted ${t} of ${e.total}`,description:e.failures.length===0?void 0:`${e.failures.length} could not be deleted and were kept.`,onClose:e.onClose,actions:(0,z.jsx)(V,{variant:`primary`,onClick:e.onClose,children:`Done`}),children:e.failures.length>0&&(0,z.jsx)(`ul`,{className:`max-h-48 divide-y overflow-y-auto rounded-md border text-[13px]`,children:e.failures.map(e=>(0,z.jsxs)(`li`,{className:`px-3 py-2`,children:[(0,z.jsx)(`span`,{className:`font-medium`,children:e.title}),(0,z.jsx)(`span`,{className:`block text-xs text-danger-text`,children:e.message})]},e.title))})})},lA=new Set([`updated_at`,`updatedAt`]),uA=(e,t,n,r)=>Object.values(e.fields).flatMap(e=>{if(lA.has(e.name)||JSON.stringify(n[e.name]??null)===JSON.stringify(r[e.name]??null))return[];let i=t?.fields[e.name];return[{field:e.name,label:i?.label??W(e.name),before:iv(e,n[e.name],i),after:iv(e,r[e.name],i)}]}),dA=4,fA=({model:e,view:t,onDeleted:n,onReview:r,restore:i})=>{let a=U(),s=qp(),c=Fg(),[l,u]=(0,o.useState)(),[d,f]=(0,o.useState)(!1),p=t?.names?.singular??W(e.name),m=t?.names?.plural??W(e.name),h=()=>{for(let t of[`page`,`list`,`first-page`,`map`])s.invalidateQueries({queryKey:[t,e.name]});for(let t of[`facets`,`series`,`histogram`])s.invalidateQueries({queryKey:[t,e.name]})},g=async(t,n)=>{let r=n??(await a.get(e.name,t.key)).etag;try{await a.remove(e.name,t.key,{etag:r})}catch(e){if(!(e instanceof us))throw e;return e}},_=t=>{h(),u(void 0),n?.(t),c.show({state:`success`,title:`${t.title} deleted`,...e.softDelete&&i&&{action:{label:`Undo`,onClick:()=>{i(t).then(()=>{h(),c.show({state:`success`,title:`${t.title} restored`})},e=>{if(!ds(e))throw e;h(),c.show({state:e.status===409?`success`:`error`,title:e.status===409?`${t.title} is already back`:`Could not restore ${t.title}`,description:e.status===409?void 0:e.message})})}}}})},v=async(n,r)=>{f(!0);try{if(!await g(n,r))return _(n);let i=(await a.get(e.name,n.key)).record;u({kind:`conflict`,target:n,fresh:i,changes:uA(e,t,n.snapshot,i)})}catch(e){if(!ds(e))throw e;u(void 0),c.show({state:`error`,title:`Could not delete ${n.title}`,description:e.message})}finally{f(!1)}},y=async e=>{try{return await g(e,e.etag)?{title:e.title,message:`Changed since the list loaded, so it was kept.`}:void 0}catch(t){if(!ds(t))throw t;return{title:e.title,message:t.message}}},b=async e=>{let t=[],n=0;u({kind:`bulk-running`,done:n,total:e.length});let r=[...e];await Promise.all(Array.from({length:Math.min(dA,e.length)},async()=>{for(let i=r.shift();i;i=r.shift()){let r=await y(i);r&&t.push(r),n+=1,u({kind:`bulk-running`,done:n,total:e.length})}})),h(),u({kind:`bulk-done`,total:e.length,failures:t})},x=()=>u(void 0);return{dialogs:l&&(0,z.jsxs)(z.Fragment,{children:[l.kind===`confirm`&&(0,z.jsx)(oA,{title:l.target.title,noun:p,busy:d,onCancel:x,onConfirm:()=>void v(l.target,l.target.etag)}),l.kind===`conflict`&&(0,z.jsx)(sA,{title:l.target.title,changes:l.changes,busy:d,onCancel:x,onReview:()=>{x(),r?.(l.target,l.fresh)},onDeleteAnyway:()=>void v(l.target,`*`)}),l.kind===`bulk-confirm`&&(0,z.jsx)(cA,{stage:`confirm`,count:l.targets.length,plural:m,onCancel:x,onConfirm:()=>void b(l.targets)}),l.kind===`bulk-running`&&(0,z.jsx)(cA,{stage:`running`,done:l.done,total:l.total}),l.kind===`bulk-done`&&(0,z.jsx)(cA,{stage:`done`,total:l.total,failures:l.failures,onClose:x})]}),start:t=>e.softDelete?v(t,t.etag):u({kind:`confirm`,target:t}),startBulk:e=>u({kind:`bulk-confirm`,targets:e})}},pA=e=>{let t=U();return e.softDelete?async n=>void await t.undelete(e.name,n.key):void 0},mA={wallet:iee,"file-text":Je,send:qt,ruler:Vt,bed:O,heart:Qe,bell:A,bookmark:ne,"external-link":Ve},hA=e=>e!==void 0&&Object.hasOwn(mA,e)?mA[e]:void 0,gA=({title:e,description:t,open:n,onClose:r,actions:i,children:a})=>{let o=Mu();return n?o?(0,z.jsx)(kf,{title:e,description:t,onClose:r,actions:i,children:a}):(0,z.jsx)(aA,{title:e,open:!0,onClose:r,children:(0,z.jsxs)(`div`,{className:`pt-3 text-[13px]`,children:[t&&(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:t}),a&&(0,z.jsx)(`div`,{className:`mt-4`,children:a}),(0,z.jsx)(`div`,{className:`mt-5 flex flex-col-reverse gap-2 [&>*]:min-h-11`,children:i})]})}):null},_A=({benefits:e})=>e&&e.length>0?(0,z.jsx)(`ul`,{className:`flex flex-col gap-2 text-left text-[13px]`,children:e.map(e=>(0,z.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,z.jsx)(de,{className:`mt-0.5 size-4 shrink-0 text-primary`,"aria-hidden":!0}),e]},e))}):null,vA=({prompt:e})=>{let{canSignUp:t}=B(),{open:n}=Hh();return(0,z.jsxs)(z.Fragment,{children:[e.signUp?(0,z.jsx)(`a`,{href:e.signUp.href,target:`_blank`,rel:`noreferrer`,className:Of(),children:e.signUp.label}):t&&(0,z.jsx)(V,{onClick:()=>n(`sign-up`),children:`Create an account`}),(0,z.jsx)(V,{variant:`primary`,onClick:()=>n(),children:`Sign in`})]})},yA=e=>{let{prompt:t}=e,n=(0,o.useId)();if(e.as===`dialog`)return(0,z.jsx)(gA,{title:t.title,description:t.description,open:e.open,onClose:e.onClose,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:e.onClose,children:`Not now`}),(0,z.jsx)(vA,{prompt:t})]}),children:(0,z.jsx)(_A,{benefits:t.benefits})});let r=hA(t.icon)??mt;return(0,z.jsxs)(`section`,{"aria-labelledby":n,className:`mx-auto flex w-full max-w-md flex-col items-center gap-4 px-5 py-10 text-center sm:py-16`,children:[(0,z.jsx)(`span`,{className:`flex size-12 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,z.jsx)(r,{className:`size-6`,"aria-hidden":!0})}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,z.jsx)(`h1`,{id:n,className:`text-lg font-semibold`,children:t.title}),(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t.description})]}),(0,z.jsx)(_A,{benefits:t.benefits}),(0,z.jsx)(`div`,{className:`mt-2 flex w-full flex-col-reverse gap-2 sm:w-auto sm:flex-row sm:justify-center [&>*]:min-h-11 sm:[&>*]:min-h-0`,children:(0,z.jsx)(vA,{prompt:t})})]})},bA=(e,t)=>({model:e,record:t,key:po(vg(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),xA=(e,t,n=``)=>({queryKey:H.count(t.name,n),queryFn:async()=>{let r=await e.list(t.name,{filter:n||void 0,pageSize:1,count:`exact`,fields:t.primaryKey});return r.totalSize??r.totalSizeEstimate}}),Mte=(e,t=``)=>yh(xA(U(),e,t)),SA=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return yh({queryKey:r===void 0?H.firstRecord(e.name,t,n):H.record(e.name,r),queryFn:async()=>{if(r!==void 0){let t=await i.get(e.name,r);return{...bA(e,t.record),etag:t.etag,permissions:t.permissions}}let a=await i.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:1});return a.items[0]?bA(e,a.items[0]):null}})},Nte=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return yh({queryKey:H.list(e.name,t,n,r,i),placeholderData:_m,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},CA=()=>{let e=qp();return(0,o.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},Pte=eo(),wA=e=>{if(typeof e==`string`||typeof e==`number`)return e;if(e&&typeof e==`object`&&`id`in e)return wA(e.id)},Fte=(e,t,n)=>n.flatMap(n=>{let r=wA(n[t]);return r===void 0?[]:[{key:po(vg(e,n)),target:r}]}),Ite=(e,t)=>e.find(e=>po(e.target)===t),Lte=(e,t)=>[...e,{key:``,target:t}],Rte=(e,t)=>e.filter(e=>po(e.target)!==t),zte=(e,t)=>{let[n]=e.primaryKey;if(e.primaryKey.length!==1||n===void 0)throw Error(`${e.name} has a composite key, so its saved records cannot be listed`);let r=[...new Set(t.map(e=>e.target))];return r.length===0?void 0:Pte.in(n,r)},TA=(e,t)=>H.list(e,``,``,500,`saved:${t}`),EA=(e,t,n)=>{let r=U(),i=G().resources[e];return yh({queryKey:TA(e,t),enabled:n&&i!==void 0,queryFn:async()=>{let n=[],a;do{let o=await r.list(e,{pageSize:500,fields:[...i.primaryKey,t],...a&&{pageToken:a}});n.push(...o.items),a=o.nextPageToken||void 0}while(a);return Fte(i,t,n)}})},Bte=e=>e instanceof Error?e.message:`Something went wrong`,Vte=(e,t,n)=>{let r=G(),i=U(),a=qp(),o=Fg(),s=CA(),{resource:c,field:l}=e,u=r.permissions[c],d=r.resources[c]!==void 0&&u!==void 0&&wy(u,`create`)&&wy(u,`delete`),f=r.signIn?.[c]?.signIn,p=EA(c,l,d),m=p.data&&Ite(p.data,t),h=TA(c,l),g=bh({mutationFn:async e=>{e?await i.remove(c,e.key):await i.create(c,{[l]:n})},onMutate:async e=>{await a.cancelQueries({queryKey:h,exact:!0});let r=a.getQueryData(h);return a.setQueryData(h,(r=[])=>e?Rte(r,t):Lte(r,n)),{before:r}},onError:(e,t,n)=>{a.setQueryData(h,n?.before),o.show({state:`error`,title:t?`Could not take it off`:`Could not save it`,description:Bte(e)})},onSettled:()=>s(c)});return{mode:d?`save`:f?`sign-in`:void 0,prompt:f,saved:m!==void 0,ready:p.data!==void 0&&!g.isPending,toggle:()=>g.mutate(m)}},Hte=({favorite:e,recordKey:t,target:n,className:r})=>{let i=Vte(e,t,n),[a,s]=(0,o.useState)(!1);if(!i.mode)return null;let c=e.label??`Favorite`,l=R(`absolute right-2 top-2 flex size-8 items-center justify-center rounded-full bg-background/85 text-foreground shadow-sm transition-colors hover:bg-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,r);return i.mode===`sign-in`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":c,"aria-haspopup":`dialog`,className:l,onClick:()=>s(!0),children:(0,z.jsx)(Qe,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsx)(yA,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>s(!1)})]}):(0,z.jsx)(`button`,{type:`button`,"aria-label":c,"aria-pressed":i.saved,"aria-disabled":!i.ready,className:l,onClick:()=>i.ready&&i.toggle(),children:(0,z.jsx)(Qe,{className:R(`size-4`,i.saved&&`fill-current text-danger`),"aria-hidden":!0})})},DA=({value:e,hints:t,children:n})=>(0,z.jsx)(rd,{tone:hk(String(e)),color:RD(t?.valueColors,e),shape:t?.badgeShape,children:n}),OA=({value:e})=>{let t=$_(e,{width:320,height:240});return t?(0,z.jsx)(dy,{image:t,loading:`lazy`,className:`size-full object-cover`}):null},kA=({children:e})=>(0,z.jsx)(`span`,{className:`-mx-3 -mt-3 mb-1.5 block aspect-[4/3] overflow-hidden rounded-t-lg border-b border-border bg-muted`,children:e}),Ute=({value:e})=>(0,z.jsx)(kA,{children:(0,z.jsx)(OA,{value:e})}),Wte=10,Gte=(e,t)=>{let n=U_(e)?e.uri:void 0,r=t.filter(e=>U_(e)&&e.uri!==n);return(n===void 0?r:[e,...r]).slice(0,Wte)},Kte=(e,t)=>t===0?0:(e%t+t)%t,qte=(e,t,n)=>t<=0||n===0?0:Math.min(n-1,Math.max(0,Math.round(e/t))),AA=`pointer-events-auto absolute top-1/2 flex size-7 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-sm opacity-0 transition-opacity group-has-[[data-card-photos]:hover]/card:opacity-100 group-hover/arrows:opacity-100 group-has-[:focus-visible]/arrows:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,jA=`[@media(hover:none)]:opacity-100`,Jte=({photos:e,cover:t,swipe:n=!0,children:r})=>{let i=(0,o.useRef)(null),a=(0,o.useRef)(void 0),[s,c]=(0,o.useState)(0),l=Gte(t,e),u=e=>{let t=i.current;t&&t.scrollTo({left:e*t.clientWidth})},d=e=>{a.current=Kte((a.current??s)+e,l.length),u(a.current)},f=()=>{a.current=void 0},p=e=>{c(qte(e.scrollLeft,e.clientWidth,l.length)),a.current!==void 0&&Math.abs(e.scrollLeft-a.current*e.clientWidth)<1&&(a.current=void 0)},m=(0,z.jsx)(kA,{children:(0,z.jsx)(`span`,{ref:i,tabIndex:-1,"data-card-photos":!0,onPointerDown:f,onScroll:e=>p(e.currentTarget),className:R(`flex size-full snap-x snap-mandatory outline-none [scrollbar-width:none] motion-safe:scroll-smooth [&::-webkit-scrollbar]:hidden`,n?`overflow-x-auto overscroll-x-contain`:`overflow-x-hidden`),children:l.map((e,t)=>(0,z.jsx)(`span`,{className:`block size-full shrink-0 snap-start snap-always`,children:(0,z.jsx)(OA,{value:e})},t))})});return(0,z.jsxs)(z.Fragment,{children:[r(m),l.length>1&&(0,z.jsxs)(`div`,{className:`group/arrows pointer-events-none absolute inset-x-px top-px aspect-[4/3]`,children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`Previous photo`,className:R(AA,!n&&jA,`left-2`),onClick:()=>d(-1),children:(0,z.jsx)(he,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Next photo`,className:R(AA,!n&&jA,`right-2`),onClick:()=>d(1),children:(0,z.jsx)(_e,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsxs)(`span`,{className:`absolute inset-x-0 bottom-2 flex justify-center`,"aria-live":`polite`,children:[(0,z.jsx)(`span`,{className:`sr-only`,children:`Photo ${s+1} of ${l.length}`}),(0,z.jsx)(`span`,{className:`flex items-center gap-1 rounded-full bg-background/70 px-1.5 py-1 leading-none`,"aria-hidden":!0,children:l.map((e,t)=>(0,z.jsx)(`span`,{className:R(`size-1.5 rounded-full`,t===s?`bg-foreground`:`bg-foreground/35`)},t))})]})]})]})},Yte=({icon:e,children:t})=>{let n=hA(e);return(0,z.jsxs)(`dd`,{className:`flex items-center gap-1 tabular-nums`,children:[n&&(0,z.jsx)(n,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t]})},MA=({model:e,view:t,display:n,row:r,swipe:i=!0})=>{let{image:a,title:o,subtitle:s,amount:c,badge:l,meta:u,footer:d,flags:f}=pv(e,t,n),p=e=>t?.fields[e]?.label??W(e),m=n=>{let i=e.fields[n];return i?r.labels[n]??iv(i,r.record[n],t?.fields[n]):``},{fields:h,components:g}=p_(),_=n.card===void 0?void 0:g?.[n.card],v=n=>{let i=e.fields[n],a=i&&hy(h,i,t?.fields[n]);return a?(0,z.jsx)(by,{shown:a,part:`display`,field:i,value:r.record[n],fallback:m(n)}):m(n)},y=n=>{let i=e.fields[n],a=t?.fields[n],o=r.record[n];return!i||a?.format!==`badge`||hy(h,i,a)||o==null||o===``?v(n):(0,z.jsx)(DA,{value:o,hints:a,children:m(n)})},b=n=>{let i=e.fields[n];if(!i)return;if(r.labels[n]!==void 0||hy(h,i,t?.fields[n]))return(0,z.jsx)(`strong`,{className:`font-semibold text-foreground`,children:v(n)});let a=gv(i,r.record[n],t?.fields[n]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a.amount}),a.suffix]})},x=_?void 0:n.photos,S=l===void 0?void 0:r.record[l],C=f.filter(e=>r.record[e]===!0),w=a===void 0?void 0:r.record[a],T=hv(r,c),E=mv(r,d),D=a!==void 0||x!==void 0,O=n.favorite,k=e=>(0,z.jsxs)(z.Fragment,{children:[D&&e,(0,z.jsxs)(`span`,{className:`flex items-start justify-between gap-2 ${O&&!D?`pr-8`:``}`,children:[(0,z.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:v(o)}),l!==void 0&&S!=null&&(0,z.jsx)(DA,{value:S,hints:t?.fields[l],children:m(l)})]}),s!==void 0&&(0,z.jsx)(`span`,{className:`truncate text-muted-foreground`,children:v(s)}),T!==void 0&&(0,z.jsx)(`span`,{className:`truncate tabular-nums text-muted-foreground`,children:b(T)}),u.length>0&&(0,z.jsx)(`dl`,{className:`mt-auto flex flex-wrap items-center gap-x-3 gap-y-0.5 pt-1 text-xs text-muted-foreground`,children:mv(r,u).map(e=>(0,z.jsxs)(`div`,{className:`flex gap-1`,children:[(0,z.jsx)(`dt`,{className:`sr-only`,children:p(e)}),(0,z.jsx)(Yte,{icon:t?.fields[e]?.icon,children:y(e)})]},e))}),C.length>0&&(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-1`,"aria-label":`Features`,children:C.map(e=>(0,z.jsx)(`li`,{children:(0,z.jsx)(rd,{dot:!1,children:p(e)})},e))}),E.length>0&&(0,z.jsx)(`span`,{className:`truncate text-xs text-muted-foreground ${u.length>0?``:`mt-auto`}`,children:E.map((e,t)=>(0,z.jsxs)(`span`,{children:[t>0&&(0,z.jsx)(`span`,{"aria-hidden":!0,children:` • `}),v(e)]},e))})]}),A=t=>(0,z.jsx)(Uv,{to:{kind:`record`,resource:e.name,key:r.key},className:`flex h-full flex-col gap-1.5 rounded-lg border border-border bg-background p-3 text-[13px] hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,children:_?(0,z.jsx)(vy,{name:n.card,fallback:k(t),children:(0,z.jsx)(_,{row:r})}):k(t)});return(0,z.jsxs)(`div`,{className:x?`group/card relative h-full`:O?`relative h-full`:`h-full`,children:[x?(0,z.jsx)(Jte,{photos:r.photos??[],cover:w,swipe:i,children:A}):A((0,z.jsx)(Ute,{value:w})),O&&(0,z.jsx)(Hte,{favorite:O,recordKey:r.key,target:vg(e,r.record),className:D?void 0:`right-1.5 top-1.5`})]})},Xte=e=>Math.max(1,Math.floor((e+12)/252)),Zte=(e,t)=>Math.max(0,(e-(t-1)*12)/t),Qte=(e,t,n,r)=>({start:e*n,end:Math.max(0,Math.min(r,(t+1)*n)-1)}),$te=(e,t,n)=>{let r=e/t.rowHeight;return t.columns===n.columns?r*n.rowHeight:Math.floor(Math.floor(r)*t.columns/n.columns)*n.rowHeight},ene=({source:e,label:t,initialIndex:n,onScrollIndex:r,minHeight:i,children:a})=>{let{total:s}=e,[c]=(0,o.useState)(n),[l,u]=(0,o.useState)(0),d=Xte(l),f=Zte(l,d),[p,m]=(0,o.useState)({width:0,height:0}),h=Math.ceil(Math.max(i(f),p.width===f?p.height:0)),g=h+12,_={columns:d,rowHeight:g},v=(0,o.useRef)({layout:_,top:0}),y=v.current.top>0&&(v.current.layout.columns!==d||v.current.layout.rowHeight!==g),b=e=>y?$te(v.current.top,v.current.layout,_):e,x=f>0&&p.width===f,S=FO({total:Math.ceil(s/d),rowHeight:g,initialIndex:Math.floor(c/d),settle:b,ready:x});(0,o.useLayoutEffect)(()=>{y&&S.scrollTo(S.top),v.current={layout:_,top:S.top},y||r(Math.floor(Math.max(0,S.top)/g)*d)});let C=Qte(S.first,S.last,d,s),w=xO({total:s,rowAt:e.rowAt,loadRows:e.loadRows,latencyMs:0},C.start,C.end);(0,o.useLayoutEffect)(()=>{let e=S.ref.current;if(!e)return;let t=new ResizeObserver(()=>u(e.clientWidth));return t.observe(e),u(e.clientWidth),()=>t.disconnect()},[]);let T=(0,o.useRef)(f);T.current=f;let[E]=(0,o.useState)(()=>new ResizeObserver(e=>{let t=Math.max(...e.map(e=>e.borderBoxSize[0]?.blockSize??e.contentRect.height)),n=T.current;m(e=>e.width===n&&e.height>=t?e:{width:n,height:Math.max(t,e.width===n?e.height:0)})}));(0,o.useLayoutEffect)(()=>()=>E.disconnect(),[E]);let D=(0,o.useCallback)(e=>{if(e)return E.observe(e),()=>E.unobserve(e)},[E]);return(0,z.jsx)(`ul`,{ref:S.ref,className:`relative min-w-0 flex-auto`,"aria-label":t,style:{height:S.geometry.contentHeight},children:S.rows.flatMap(({index:e,offset:t})=>Array.from({length:d},(n,r)=>{let i=e*d+r;if(i>=s)return[];let o=w(i),c={top:t,left:r*(f+12),width:f,minHeight:h};return o?(0,z.jsx)(`li`,{ref:D,"aria-posinset":i+1,"aria-setsize":s,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:a(o)},o.id):(0,z.jsx)(`li`,{"aria-hidden":!0,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:(0,z.jsx)(kd,{className:`h-full rounded-lg`})},`skeleton-${i}`)}))})},tne=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,nne=e=>e*.75,rne=44,ine=({model:e,view:t,display:n,list:r})=>{let i=t?.names?.plural??W(e.name),a=n.card===void 0&&(n.image!==void 0||n.photos!==void 0);return r.isLoading?(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden ${tne}`,children:Array.from({length:6},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}):r.error?(0,z.jsx)(ey,{title:`Could not load rows`,error:r.error}):!r.source||r.source.total===0?(0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,i.toLowerCase(),` match.`]}):(0,z.jsx)(ene,{source:r.source,label:i,initialIndex:r.initialIndex,onScrollIndex:r.onScrollIndex,minHeight:e=>(a?nne(e):0)+rne,children:r=>(0,z.jsx)(MA,{model:e,view:t,display:n,row:Sv(e,r)})})},NA=eo(),ane={bounds:{south:-90,west:-180,north:90,east:180},zoom:0},one=22,PA=e=>Math.floor(e*1e6)/1e6,FA=e=>Math.ceil(e*1e6)/1e6,IA=e=>((e+180)%360+360)%360-180,sne=(e,t)=>{let n=[NA.gte(e.latitude,PA(Math.max(t.south,-90))),NA.lte(e.latitude,FA(Math.min(t.north,90)))];if(t.east-t.west>=360)return NA.and(...n);let r=NA.gte(e.longitude,PA(IA(t.west))),i=NA.lte(e.longitude,FA(IA(t.east)));return IA(t.west)<=IA(t.east)?NA.and(...n,r,i):NA.and(...n,NA.or(r,i))},cne=(e,t,n)=>{let r=za(sne(t,n));return e.trim()===``?r:`(${e}) AND ${r}`},lne=e=>Math.min(Math.max(Math.floor(e),0),one),une=(e,t)=>{let n=[...e.map(e=>({south:e.latitude,west:e.longitude,north:e.latitude,east:e.longitude})),...t.map(e=>e.bounds)];if(n.length!==0)return{south:Math.min(...n.map(e=>e.south)),west:Math.min(...n.map(e=>e.west)),north:Math.max(...n.map(e=>e.north)),east:Math.max(...n.map(e=>e.east))}},LA=e=>{if(typeof e==`number`)return e;if(typeof e==`string`&&e.trim()!==``)return Number(e)},RA=(e,t)=>{let n=LA(e[t.latitude]),r=LA(e[t.longitude]);if(n!==void 0&&r!==void 0&&Math.abs(n)<=90&&Math.abs(r)<=180)return{latitude:n,longitude:r}},zA=(e,t)=>e.flatMap(e=>{let n=RA(e.record,t);return n?[{key:e.key,...n}]:[]}),dne=(e,t)=>{let n=[];for(let r of e){let e=n.find(e=>Math.hypot(e.at.x-r.x,e.at.y-r.y)<=t);e?e.keys.push(r.key):n.push({at:r,keys:[r.key]})}return n.map(e=>({keys:e.keys,at:e.at.key}))},fne=(e,t)=>{if(!e)return;let n=new Set(t.map(e=>e.key)),r=e.keys.filter(e=>n.has(e));if(r.length===0)return;let i=r.indexOf(e.keys[e.index]);return{keys:r,index:Math.max(i,0)}},BA=(e,t)=>({keys:e.keys,index:((e.index+t)%e.keys.length+e.keys.length)%e.keys.length}),pne=({model:e,display:t,fields:n,filter:r,orderBy:i,area:a})=>{let o=U(),{resources:s,views:c}=G(),l={latitude:t.latitude,longitude:t.longitude},u=a?cne(r,l,a.bounds):``,d=a?lne(a.zoom):0;return yh({queryKey:H.map(e.name,`${l.latitude},${l.longitude}`,d,u,i),enabled:a!==void 0,placeholderData:_m,queryFn:async()=>{let t=await o.map(e.name,{...l,zoom:d,filter:u,orderBy:i,labels:B_(s,c,e,n),photos:ov(c[e.name])});return{rows:V_(s,e,n,sv(e,t.items,t.photos),t.labels).map(t=>Sv(e,t)),buckets:t.buckets,total:t.totalSize}}})},mne=(0,o.lazy)(()=>a_(()=>import(`./records-map-DgtD0cK5.js`).then(e=>({default:e.RecordsMap})),__vite__mapDeps([0,1,2,3,4,5,6]))),hne=250,VA=`flex size-8 items-center justify-center rounded-full border border-border bg-background hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,HA=({model:e,view:t,display:n,filter:r,orderBy:i,fields:a,at:s,onMove:c,footer:l=!0,flush:u=!1})=>{let d=G().maps?.style,[f,p]=(0,o.useState)(),[m,h]=(0,o.useState)(),g=rk(m,hne),[_,v]=(0,o.useState)(s===void 0),y=pne({model:e,display:n,fields:a,filter:r,orderBy:i,area:_?ane:g}),b=y.isPlaceholderData?void 0:y.data,x=y.data?.rows??[],S=y.data?.buckets??[],C=zA(x,n),w=_&&b?une(zA(b.rows,n),b.buckets):void 0,T=_v(t,n),E=(t?.names?.plural??W(e.name)).toLowerCase(),D=(t?.names?.singular??W(e.name)).toLowerCase(),O=fne(f,x),k=O&&x.find(e=>e.key===O.keys[O.index]),A=e=>e.length===1?`Show the ${D}`:`Show ${e.length} ${E}`,j=e=>`Zoom in on ${e.toLocaleString(`en-IE`)} ${e===1?D:E}`,M=(0,o.useRef)(null),[N,ee]=(0,o.useState)(0);if((0,o.useLayoutEffect)(()=>ee(M.current?.offsetHeight??0),[k?.key]),!d)return(0,z.jsx)(_y,{children:`The map display needs a map style: set PROTOBASE_MAP_STYLE_URL.`});let te=b?.total===0;return(0,z.jsxs)(`div`,{className:R(`flex h-full min-h-[36rem] flex-1 flex-col sm:min-h-[28rem]`,u&&`max-md:-mx-5 max-md:-mb-4 max-md:min-h-0`),children:[(0,z.jsxs)(`div`,{className:R(`relative min-h-0 flex-1 overflow-hidden rounded-lg border border-border bg-muted`,u&&`max-md:rounded-none max-md:border-0`),children:[(0,z.jsx)(o.Suspense,{fallback:null,children:(0,z.jsx)(mne,{style:d,initial:s,points:C,buckets:S,fit:w,onFitted:()=>v(!1),onMove:(e,t)=>{h(e),c?.(t)},selected:O?.keys,covered:O?N:0,onSelect:e=>p({keys:e,index:0}),onClear:()=>p(void 0),markerLabel:A,bucketLabel:j})}),y.error&&(0,z.jsx)(`div`,{className:`absolute inset-x-3 top-3 z-10`,children:(0,z.jsx)(ey,{title:`Could not load rows`,error:y.error})}),te&&(0,z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-3 top-3 z-10 flex justify-center`,children:(0,z.jsxs)(`p`,{className:`pointer-events-auto flex items-center gap-3 rounded-full border border-border bg-background px-4 py-1.5 text-[13px] text-muted-foreground shadow`,role:`status`,children:[_?`No ${E} match.`:`No ${E} in this part of the map.`,!_&&(0,z.jsx)(V,{size:`sm`,onClick:()=>v(!0),children:`Show all`})]})}),O&&k&&(0,z.jsx)(`div`,{ref:M,className:`pointer-events-none absolute inset-x-3 bottom-3 z-10 flex justify-center`,children:(0,z.jsxs)(`div`,{className:`pointer-events-auto flex w-full max-w-[16rem] flex-col gap-2 sm:max-w-xs`,role:`group`,"aria-label":`Chosen ${D}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[O.keys.length>1&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":`Previous`,className:VA,onClick:()=>p(BA(O,-1)),children:(0,z.jsx)(he,{className:`size-4`,"aria-hidden":!0})}),(0,z.jsxs)(`span`,{className:`rounded-full border border-border bg-background px-2 py-1 text-xs tabular-nums`,"aria-live":`polite`,children:[O.index+1,` / `,O.keys.length]}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Next`,className:VA,onClick:()=>p(BA(O,1)),children:(0,z.jsx)(_e,{className:`size-4`,"aria-hidden":!0})})]}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Close`,className:VA,onClick:()=>p(void 0),children:(0,z.jsx)(jn,{className:`size-4`,"aria-hidden":!0})})]}),(0,z.jsx)(`div`,{className:`shadow-lg`,children:(0,z.jsx)(MA,{model:e,view:t,display:T,row:k})})]})})]}),l&&(0,z.jsx)(`p`,{className:`hidden py-3 text-xs text-muted-foreground md:block`,children:gne(y.data,E)})]})},gne=(e,t)=>{if(!e)return`\xA0`;let n=e.total.toLocaleString(`en-IE`);return e.buckets.length===0&&e.rows.length<e.total?`${e.rows.length.toLocaleString(`en-IE`)} of ${n} ${t} in view`:`${n} ${t} in view`},UA=(0,o.createContext)(void 0),_ne=({value:e,children:t})=>(0,z.jsx)(UA.Provider,{value:e,children:t}),vne=()=>{let e=(0,o.useContext)(UA);if(!e)throw Error(`useListDisplay is used inside a list display, which the list page draws`);return e},yne=()=>(0,o.useContext)(UA),WA=({display:e,list:t})=>{let{components:n}=p_(),r=n?.[e.component];return r?(0,z.jsx)(_ne,{value:t,children:(0,z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-x-auto`,children:(0,z.jsx)(vy,{name:e.component,children:(0,z.jsx)(r,{...ro(e.props??{})})})})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})},bne=(e,t,n)=>{if(n!==0){if(e===`Home`)return 0;if(e===`End`)return n-1;if(e===`ArrowDown`)return t<0?0:(t+1)%n;if(e===`ArrowUp`)return t<0?n-1:(t-1+n)%n}},xne=({value:e,options:t,onChange:n,label:r})=>{let[i,a]=(0,o.useState)(!1),s=(0,o.useRef)(null),c=(0,o.useRef)(null),l=(0,o.useRef)([]),u=t.findIndex(t=>t.value===e),d=t[u];(0,o.useEffect)(()=>{if(!i)return;l.current[Math.max(u,0)]?.focus();let e=e=>{e.target instanceof Node&&!s.current?.contains(e.target)&&a(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[i]);let f=()=>{a(!1),c.current?.focus()};return(0,z.jsxs)(`div`,{ref:s,className:`relative shrink-0`,children:[(0,z.jsxs)(`button`,{ref:c,type:`button`,"aria-label":d?`${r}: ${d.label}`:r,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(!i),className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-border-strong bg-background px-2.5 text-[13px] font-medium shadow-sm transition-colors hover:bg-muted pointer-coarse:h-11`,children:[d?.icon&&(0,z.jsx)(d.icon,{className:`size-3.5`}),d?.label??r,(0,z.jsx)(pe,{className:`size-3.5 text-muted-foreground`})]}),i&&(0,z.jsx)(`ul`,{role:`menu`,"aria-label":r,onKeyDown:e=>{if(e.key===`Escape`)return f();if(e.key===`Tab`)return a(!1);let n=bne(e.key,l.current.indexOf(document.activeElement),t.length);n!==void 0&&(e.preventDefault(),l.current[n]?.focus())},className:`absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:t.map((t,r)=>(0,z.jsx)(`li`,{role:`none`,children:(0,z.jsxs)(`button`,{ref:e=>{l.current[r]=e},type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,onClick:()=>{f(),t.value!==e&&n(t.value)},className:R(`flex min-h-9 w-full items-center gap-2 whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted focus:bg-muted focus:outline-none pointer-coarse:min-h-11`,t.value===e&&`font-medium`),children:[t.icon?(0,z.jsx)(t.icon,{className:`size-3.5`}):(0,z.jsx)(`span`,{className:`size-3.5`}),(0,z.jsx)(`span`,{className:`flex-1`,children:t.label}),t.value===e&&(0,z.jsx)(de,{className:`size-3.5 text-primary-text`})]})},t.value))})]})},Sne={table:fn,cards:tee,kanban:on,board:ke,list:lt,calendar:ce,map:bt},GA=({view:e,value:t,onChange:n,menu:r=!1})=>{let i=fv(e);if(i.length<2)return null;let a=i.map(e=>({value:e.name,label:e.label,icon:e.icon===void 0?void 0:Sne[e.icon]}));return r?(0,z.jsx)(xne,{label:`Display`,value:t,onChange:n,options:a}):(0,z.jsx)(od,{label:`Display`,size:`md`,value:t,onChange:n,options:a})},Cne=[[`asc`,`ascending`],[`desc`,`descending`]],KA=({model:e,view:t,display:n,orderBy:r,onChange:i,className:a})=>{let o=wv(r),s=bv(e,t,n),c=s.includes(o.columnId)?s:[o.columnId,...s],l=e=>t?.fields[e]?.label??W(e);return(0,z.jsx)(`select`,{"aria-label":`Sort`,value:`${o.columnId} ${o.direction}`,onChange:e=>i(e.target.value),className:R(`h-8 rounded-md border border-border-strong bg-background px-2.5 text-[13px] shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,a),children:c.flatMap(e=>Cne.map(([t,n])=>(0,z.jsxs)(`option`,{value:`${e} ${t}`,children:[l(e),`, `,n]},`${e} ${t}`)))})},wne=(e,t,n,r)=>{let i=xh({queryKey:[...n,`display`],enabled:r,initialPageParam:0,queryFn:({pageParam:e})=>t(e),getNextPageParam:(e,t)=>e.rows.length===40&&t.length*40<(t[0]?.total??0)?t.length:void 0}),a=i.data?.pages??[];return{resource:e.name,rows:a.flatMap(t=>t.rows.map(t=>Sv(e,t))),total:a[0]?.total??0,loading:i.isPending,error:i.error,more:i.hasNextPage,loadMore:()=>void i.fetchNextPage()}},qA=new Map,Tne=()=>{let{entry:e,path:t,params:n}=Oh(),r=`${t}?${n.toString()}`,i=qA.get(e),a=(0,o.useCallback)(t=>void qA.set(e,{url:r,index:t}),[e,r]);return{initialIndex:i?.url===r?i.index:0,remember:a}},Ene=(e,t,n,r=!0)=>{let i=U(),a=Qo(n)??``;return yh({queryKey:H.facets(e,t,a),enabled:r,queryFn:()=>i.facets(e,t,{filter:a,limit:50})})},JA=(e,t,n=!0)=>{let r=U(),i=Qo(t.filter)??``;return yh({queryKey:H.series(e,t.field,`${t.range??``}${t.from??``}${t.to??``}`,t.granularity??``,i),enabled:n,queryFn:()=>r.series(e,{...t,filter:i})})},Dne=(e,t,n,r=20,i=!0)=>{let a=U(),o=Qo(n)??``;return yh({queryKey:H.histogram(e,t,r,o),enabled:i,queryFn:()=>a.histogram(e,t,{filter:o,buckets:r})})};function YA(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=YA(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function XA(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=YA(e))&&(r&&(r+=` `),r+=t);return r}var One=`dangerouslySetInnerHTML.onCopy.onCopyCapture.onCut.onCutCapture.onPaste.onPasteCapture.onCompositionEnd.onCompositionEndCapture.onCompositionStart.onCompositionStartCapture.onCompositionUpdate.onCompositionUpdateCapture.onFocus.onFocusCapture.onBlur.onBlurCapture.onChange.onChangeCapture.onBeforeInput.onBeforeInputCapture.onInput.onInputCapture.onReset.onResetCapture.onSubmit.onSubmitCapture.onInvalid.onInvalidCapture.onLoad.onLoadCapture.onError.onErrorCapture.onKeyDown.onKeyDownCapture.onKeyPress.onKeyPressCapture.onKeyUp.onKeyUpCapture.onAbort.onAbortCapture.onCanPlay.onCanPlayCapture.onCanPlayThrough.onCanPlayThroughCapture.onDurationChange.onDurationChangeCapture.onEmptied.onEmptiedCapture.onEncrypted.onEncryptedCapture.onEnded.onEndedCapture.onLoadedData.onLoadedDataCapture.onLoadedMetadata.onLoadedMetadataCapture.onLoadStart.onLoadStartCapture.onPause.onPauseCapture.onPlay.onPlayCapture.onPlaying.onPlayingCapture.onProgress.onProgressCapture.onRateChange.onRateChangeCapture.onSeeked.onSeekedCapture.onSeeking.onSeekingCapture.onStalled.onStalledCapture.onSuspend.onSuspendCapture.onTimeUpdate.onTimeUpdateCapture.onVolumeChange.onVolumeChangeCapture.onWaiting.onWaitingCapture.onAuxClick.onAuxClickCapture.onClick.onClickCapture.onContextMenu.onContextMenuCapture.onDoubleClick.onDoubleClickCapture.onDrag.onDragCapture.onDragEnd.onDragEndCapture.onDragEnter.onDragEnterCapture.onDragExit.onDragExitCapture.onDragLeave.onDragLeaveCapture.onDragOver.onDragOverCapture.onDragStart.onDragStartCapture.onDrop.onDropCapture.onMouseDown.onMouseDownCapture.onMouseEnter.onMouseLeave.onMouseMove.onMouseMoveCapture.onMouseOut.onMouseOutCapture.onMouseOver.onMouseOverCapture.onMouseUp.onMouseUpCapture.onSelect.onSelectCapture.onTouchCancel.onTouchCancelCapture.onTouchEnd.onTouchEndCapture.onTouchMove.onTouchMoveCapture.onTouchStart.onTouchStartCapture.onPointerDown.onPointerDownCapture.onPointerMove.onPointerMoveCapture.onPointerUp.onPointerUpCapture.onPointerCancel.onPointerCancelCapture.onPointerEnter.onPointerEnterCapture.onPointerLeave.onPointerLeaveCapture.onPointerOver.onPointerOverCapture.onPointerOut.onPointerOutCapture.onGotPointerCapture.onGotPointerCaptureCapture.onLostPointerCapture.onLostPointerCaptureCapture.onScroll.onScrollCapture.onWheel.onWheelCapture.onAnimationStart.onAnimationStartCapture.onAnimationEnd.onAnimationEndCapture.onAnimationIteration.onAnimationIterationCapture.onTransitionEnd.onTransitionEndCapture`.split(`.`);function ZA(e){return typeof e==`string`&&One.includes(e)}var kne=new Set(`aria-activedescendant.aria-atomic.aria-autocomplete.aria-busy.aria-checked.aria-colcount.aria-colindex.aria-colspan.aria-controls.aria-current.aria-describedby.aria-details.aria-disabled.aria-errormessage.aria-expanded.aria-flowto.aria-haspopup.aria-hidden.aria-invalid.aria-keyshortcuts.aria-label.aria-labelledby.aria-level.aria-live.aria-modal.aria-multiline.aria-multiselectable.aria-orientation.aria-owns.aria-placeholder.aria-posinset.aria-pressed.aria-readonly.aria-relevant.aria-required.aria-roledescription.aria-rowcount.aria-rowindex.aria-rowspan.aria-selected.aria-setsize.aria-sort.aria-valuemax.aria-valuemin.aria-valuenow.aria-valuetext.className.color.height.id.lang.max.media.method.min.name.style.target.width.role.tabIndex.accentHeight.accumulate.additive.alignmentBaseline.allowReorder.alphabetic.amplitude.arabicForm.ascent.attributeName.attributeType.autoReverse.azimuth.baseFrequency.baselineShift.baseProfile.bbox.begin.bias.by.calcMode.capHeight.clip.clipPath.clipPathUnits.clipRule.colorInterpolation.colorInterpolationFilters.colorProfile.colorRendering.contentScriptType.contentStyleType.cursor.cx.cy.d.decelerate.descent.diffuseConstant.direction.display.divisor.dominantBaseline.dur.dx.dy.edgeMode.elevation.enableBackground.end.exponent.externalResourcesRequired.fill.fillOpacity.fillRule.filter.filterRes.filterUnits.floodColor.floodOpacity.focusable.fontFamily.fontSize.fontSizeAdjust.fontStretch.fontStyle.fontVariant.fontWeight.format.from.fx.fy.g1.g2.glyphName.glyphOrientationHorizontal.glyphOrientationVertical.glyphRef.gradientTransform.gradientUnits.hanging.horizAdvX.horizOriginX.href.ideographic.imageRendering.in2.in.intercept.k1.k2.k3.k4.k.kernelMatrix.kernelUnitLength.kerning.keyPoints.keySplines.keyTimes.lengthAdjust.letterSpacing.lightingColor.limitingConeAngle.local.markerEnd.markerHeight.markerMid.markerStart.markerUnits.markerWidth.mask.maskContentUnits.maskUnits.mathematical.mode.numOctaves.offset.opacity.operator.order.orient.orientation.origin.overflow.overlinePosition.overlineThickness.paintOrder.panose1.pathLength.patternContentUnits.patternTransform.patternUnits.pointerEvents.pointsAtX.pointsAtY.pointsAtZ.preserveAlpha.preserveAspectRatio.primitiveUnits.r.radius.refX.refY.renderingIntent.repeatCount.repeatDur.requiredExtensions.requiredFeatures.restart.result.rotate.rx.ry.seed.shapeRendering.slope.spacing.specularConstant.specularExponent.speed.spreadMethod.startOffset.stdDeviation.stemh.stemv.stitchTiles.stopColor.stopOpacity.strikethroughPosition.strikethroughThickness.string.stroke.strokeDasharray.strokeDashoffset.strokeLinecap.strokeLinejoin.strokeMiterlimit.strokeOpacity.strokeWidth.surfaceScale.systemLanguage.tableValues.targetX.targetY.textAnchor.textDecoration.textLength.textRendering.to.transform.u1.u2.underlinePosition.underlineThickness.unicode.unicodeBidi.unicodeRange.unitsPerEm.vAlphabetic.values.vectorEffect.version.vertAdvY.vertOriginX.vertOriginY.vHanging.vIdeographic.viewTarget.visibility.vMathematical.widths.wordSpacing.writingMode.x1.x2.x.xChannelSelector.xHeight.xlinkActuate.xlinkArcrole.xlinkHref.xlinkRole.xlinkShow.xlinkTitle.xlinkType.xmlBase.xmlLang.xmlns.xmlnsXlink.xmlSpace.y1.y2.y.yChannelSelector.z.zoomAndPan.ref.key.angle`.split(`.`));function QA(e){return typeof e==`string`&&kne.has(e)}function $A(e){return typeof e==`string`&&e.startsWith(`data-`)}function ej(e){if(typeof e!=`object`||!e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(QA(n)||$A(n))&&(t[n]=e[n]);return t}function tj(e){if(e==null)return null;if((0,o.isValidElement)(e)&&typeof e.props==`object`&&e.props!==null){var t=e.props;return ej(t)}return typeof e==`object`&&!Array.isArray(e)?ej(e):null}function nj(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(QA(n)||$A(n)||ZA(n))&&(t[n]=e[n]);return t}var Ane=[`children`,`width`,`height`,`viewBox`,`className`,`style`,`title`,`desc`];function rj(){return rj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rj.apply(null,arguments)}function jne(e,t){if(e==null)return{};var n,r,i=Mne(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Mne(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var ij=(0,o.forwardRef)((e,t)=>{var n=e.children,r=e.width,i=e.height,a=e.viewBox,s=e.className,c=e.style,l=e.title,u=e.desc,d=jne(e,Ane),f=a||{width:r,height:i,x:0,y:0},p=XA(`recharts-surface`,s);return o.createElement(`svg`,rj({},nj(d),{className:p,width:r,height:i,style:c,viewBox:`${f.x} ${f.y} ${f.width} ${f.height}`,ref:t}),o.createElement(`title`,null,l),o.createElement(`desc`,null,u),n)}),Nne=[`children`,`className`];function aj(){return aj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},aj.apply(null,arguments)}function Pne(e,t){if(e==null)return{};var n,r,i=Fne(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Fne(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var oj=o.forwardRef((e,t)=>{var n=e.children,r=e.className,i=Pne(e,Nne),a=XA(`recharts-layer`,r);return o.createElement(`g`,aj({className:a},nj(i),{ref:t}),n)});function sj(e){return e===`__proto__`}var Ine=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function cj(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:Ine.test(e);default:return!1}}function lj(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function uj(e){return typeof e==`symbol`||e instanceof Symbol}function Lne(e){return e==null?``:dj(e)}function dj(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(dj).join(`,`);if(uj(e))return e.toString();let t=e+``;return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function fj(e){if(Array.isArray(e))return e.map(lj);if(typeof e==`symbol`)return[e];e=Lne(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r<n;){let l=e[r];if(a)l===`\\`&&r+1<n?(r++,i+=e[r]):l===a?a=``:i+=l;else if(o){if(l===`"`||l===`'`)a=l,s=!0;else if(l===`]`){if(o=!1,!s&&i.includes(`.`)&&!c.test(i)){let e=i.split(`.`);for(let n=0;n<e.length;n++)e[n]!==``&&t.push(e[n])}else t.push(i);i=``}else i+=l}else if(l===`[`)o=!0,s=!1,i&&=(t.push(i),``);else if(l===`.`){i&&=(t.push(i),``);let n=e[r+1];(n===void 0||n===`.`)&&t.push(``)}else i+=l;r++}return i&&t.push(i),t}function pj(e,t,n){if(e==null)return n;switch(typeof t){case`string`:{if(sj(t))return n;let r=e[t];return r===void 0?cj(t)&&!Object.hasOwn(e,t)?pj(e,fj(t),n):n:r}case`number`:case`symbol`:{typeof t==`number`&&(t=lj(t));let r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return Rne(e,t,n);if(t=Object.is(t?.valueOf(),-0)?`-0`:String(t),sj(t))return n;let r=e[t];return r===void 0?n:r}}}function Rne(e,t,n){if(t.length===0)return n;let r=e;for(let e=0;e<t.length;e++){if(r==null||sj(t[e]))return n;r=r[t[e]]}return r===void 0?n:r}var zne=4;function mj(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:zne),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function hj(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+mj(i)+n},``)}var gj=e=>e===0?0:e>0?1:-1,_j=e=>typeof e==`number`&&e!=+e,vj=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,q=e=>(typeof e==`number`||e instanceof Number)&&!_j(e),yj=e=>q(e)||typeof e==`string`,Bne=0,bj=e=>{var t=++Bne;return`${e||``}${t}`},xj=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(!q(e)&&typeof e!=`string`)return n;var i;if(vj(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return _j(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},Sj=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function Cj(e,t,n){return q(e)&&q(t)?mj(e+n*(t-e)):t}function Vne(e,t,n){if(e&&e.length)return e.find(e=>e&&(typeof t==`function`?t(e):pj(e,t))===n)}var wj=e=>e==null,Tj=e=>wj(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function Ej(e){return e!=null}function Dj(){}function Oj(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function kj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Aj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?kj(Object(n),!0).forEach(function(t){Hne(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kj(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Hne(e,t,n){return(t=Une(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Une(e){var t=Wne(e,`string`);return typeof t==`symbol`?t:t+``}function Wne(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Gne=e=>{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=Oj(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?Aj({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?Aj({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?Aj({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?Aj({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?Aj({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?Aj({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?Aj({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?Aj({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(q(n.x)||vj(n.x))&&(q(n.y)||vj(n.y))?Aj({x:c+xj(n.x,g),y:l+xj(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):Aj({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},Kne=[`top`,`left`,`right`,`bottom`];function qne(e){return e==null?!1:typeof e==`object`||Kne.includes(e)}var Jne=(0,o.createContext)(null);function jj(e){return function(){return e}}var Mj=Math.PI,Nj=2*Mj,Pj=1e-6,Yne=Nj-Pj;function Fj(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Xne(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Fj;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Ij=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Fj:Xne(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Pj){if(!(Math.abs(u*s-c*l)>Pj)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Mj-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Pj&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Pj||Math.abs(this._y1-l)>Pj)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Nj+Nj),d>Yne?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Pj&&this._append`A${n},${n},0,${+(d>=Mj)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Ij.prototype;function Lj(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Ij(t)}Array.prototype.slice;function Rj(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function zj(e){this._context=e}zj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function Bj(e){return new zj(e)}function Vj(e){return e[0]}function Hj(e){return e[1]}function Uj(e,t){var n=jj(!0),r=null,i=Bj,a=null,o=Lj(s);e=typeof e==`function`?e:e===void 0?Vj:jj(e),t=typeof t==`function`?t:t===void 0?Hj:jj(t);function s(s){var c,l=(s=Rj(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:jj(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Wj(e,t,n){var r=null,i=jj(!0),a=null,o=Bj,s=null,c=Lj(l);e=typeof e==`function`?e:e===void 0?Vj:jj(+e),t=typeof t==`function`?t:jj(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Hj:jj(+n);function l(l){var u,d,f,p=(l=Rj(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Uj().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:jj(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:jj(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:jj(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:jj(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:jj(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Gj=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}};function Kj(e){return new Gj(e,!0)}function qj(e){return new Gj(e,!1)}function Jj(){}function Yj(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Xj(e){this._context=e}Xj.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Yj(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Zj(e){return new Xj(e)}function Qj(e){this._context=e}Qj.prototype={areaStart:Jj,areaEnd:Jj,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $j(e){return new Qj(e)}function eM(e){this._context=e}eM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Yj(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tM(e){return new eM(e)}function nM(e){this._context=e}nM.prototype={areaStart:Jj,areaEnd:Jj,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function rM(e){return new nM(e)}function iM(e){return e<0?-1:1}function aM(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(iM(a)+iM(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function oM(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function sM(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function cM(e){this._context=e}cM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:sM(this,this._t0,oM(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,sM(this,oM(this,n=aM(this,e,t)),n);break;default:sM(this,this._t0,n=aM(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function lM(e){this._context=new uM(e)}(lM.prototype=Object.create(cM.prototype)).point=function(e,t){cM.prototype.point.call(this,t,e)};function uM(e){this._context=e}uM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function dM(e){return new cM(e)}function fM(e){return new lM(e)}function pM(e){this._context=e}pM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=mM(e),i=mM(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o])}(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function mM(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function hM(e){return new pM(e)}function gM(e,t){this._context=e,this._t=t}gM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function _M(e){return new gM(e,.5)}function vM(e){return new gM(e,0)}function yM(e){return new gM(e,1)}function bM(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function xM(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function SM(e,t){return e[t]}function CM(e){let t=[];return t.key=e,t}function wM(){var e=jj([]),t=xM,n=bM,r=SM;function i(i){var a=Array.from(e.apply(this,arguments),CM),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=Rj(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:jj(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:jj(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?xM:typeof e==`function`?e:jj(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??bM,i):n},i}function TM(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}bM(e,t)}}function EM(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}bM(e,t)}}function DM(e,t){if((o=e.length)>0&&(a=(i=e[t[0]]).length)>0){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,bM(e,t)}}var OM=e=>`radius`in e&&`startAngle`in e&&`endAngle`in e,kM=(e,t)=>{if(!e||typeof e==`function`||typeof e==`boolean`)return null;var n=e;if((0,o.isValidElement)(e)&&(n=e.props),typeof n!=`object`&&typeof n!=`function`)return null;var r={};return Object.keys(n).forEach(e=>{ZA(e)&&typeof n[e]==`function`&&(r[e]=t||(t=>n[e](n,t)))}),r},AM=(e,t,n)=>r=>(e(t,n,r),null),jM=(e,t,n)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return null;var r=null;return Object.keys(e).forEach(i=>{var a=e[i];ZA(i)&&typeof a==`function`&&(r||={},r[i]=AM(a,t,n))}),r};function MM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function NM(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?MM(Object(n),!0).forEach(function(t){PM(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MM(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function PM(e,t,n){return(t=FM(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FM(e){var t=IM(e,`string`);return typeof t==`symbol`?t:t+``}function IM(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function LM(e,t){var n=NM({},e),r=t;return Object.keys(t).reduce((e,t)=>(e[t]===void 0&&r[t]!==void 0&&(e[t]=r[t]),e),n)}function RM(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}function zM(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}function BM(e){return e}function VM(e){return Number.isSafeInteger(e)&&e>=0}function HM(e){return e!=null&&typeof e!=`function`&&VM(e.length)}function UM(e){return function(t){return pj(t,e)}}function WM(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function GM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function KM(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function qM(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var JM=`[object RegExp]`,YM=`[object String]`,XM=`[object Number]`,ZM=`[object Boolean]`,QM=`[object Arguments]`,$M=`[object Symbol]`,eN=`[object Date]`,tN=`[object Map]`,nN=`[object Set]`,rN=`[object Array]`,iN=`[object Function]`,aN=`[object ArrayBuffer]`,oN=`[object Object]`,sN=`[object Error]`,cN=`[object DataView]`,lN=`[object Uint8Array]`,uN=`[object Uint8ClampedArray]`,dN=`[object Uint16Array]`,fN=`[object Uint32Array]`,pN=`[object BigUint64Array]`,mN=`[object Int8Array]`,hN=`[object Int16Array]`,gN=`[object Int32Array]`,_N=`[object BigInt64Array]`,vN=`[object Float32Array]`,yN=`[object Float64Array]`,bN=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function xN(e){return bN.Buffer!==void 0&&bN.Buffer.isBuffer(e)}function SN(e,t){return CN(e,void 0,e,new Map,t)}function CN(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(WM(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=CN(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,CN(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(CN(a,void 0,n,r,i));return t}if(xN(e))return e.subarray();if(GM(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=CN(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),wN(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),wN(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,wN(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),wN(t,e,n,r,i),t}if(typeof e==`object`&&TN(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),wN(t,e,n,r,i),t}return e}function wN(e,t,n=e,r,i){let a=[...Object.keys(t),...KM(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=CN(t[s],s,n,r,i))}}function TN(e){switch(qM(e)){case QM:case rN:case aN:case cN:case ZM:case eN:case vN:case yN:case mN:case hN:case gN:case tN:case XM:case oN:case JM:case nN:case YM:case $M:case lN:case uN:case dN:case fN:return!0;default:return!1}}function EN(e){return CN(e,void 0,e,new Map,void 0)}function DN(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function ON(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}function kN(e,t,n){return typeof n==`function`?AN(e,t,function e(t,r,i,a,o,s){let c=n(t,r,i,a,o,s);return c===void 0?AN(t,r,e,s,!1):!!c},new Map,!0):kN(e,t,()=>void 0)}function AN(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return jN(e,t,n,r,i);case`function`:return Object.keys(t).length>0?AN(e,{...t},n,r,i):DN(e,t);default:return ON(e)&&i?typeof t!=`string`||t===``:DN(e,t)}}function jN(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return NN(e,t,n,r);if(t instanceof Map)return MN(e,t,n,r);if(t instanceof Set)return PN(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)WM(e)&&(e=Object(e));else{let t=qM(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;i<a.length;i++){let o=a[i];if(!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!n(e[o],t[o],o,e,t,r))return!1}return!0}finally{r?.delete(t)}}function MN(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function NN(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function PN(e,t,n,r){return t.size===0||e instanceof Set&&NN([...e],[...t],n,r)}function FN(e,t){return kN(e,t,()=>void 0)}function IN(e){return e=EN(e),t=>FN(t,e)}function LN(e,t){return SN(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(qM(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),wN(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case XM:case YM:case ZM:{let t=new e.constructor(e?.valueOf());return wN(t,e),t}case QM:{let t={};return wN(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function RN(e){return LN(e)}var zN=/^(?:0|[1-9]\d*)$/;function BN(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<t;case`symbol`:return!1;case`string`:return zN.test(e)}}function VN(e){return typeof e==`object`&&!!e&&qM(e)===`[object Arguments]`}function HN(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&cj(t)&&!(t in Object(e))?fj(t):[t],n.length===0)return!1;let r=e;for(let e=0;e<n.length;e++){let t=lj(n[e]);if((r==null||!Object.hasOwn(r,t))&&!((Array.isArray(r)||VN(r))&&BN(t)&&Number(t)<r.length))return!1;r=r[t]}return!0}function UN(e,t){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=lj(e)}return t=RN(t),function(n){let r=pj(n,e);return r===void 0?HN(n,e):t===void 0?r===void 0:FN(r,t)}}function WN(e){if(e==null)return BM;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?UN(e[0],e[1]):IN(e);default:return UM(e)}}function GN(e){return e===0?0:e}function KN(e,t=BM){return HM(e)?RM(Array.from(e),zM(WN(t),1)).map(GN):[]}function qN(e,t,n){return t===!0?KN(e,n):typeof t==`function`?KN(e,t):e}var JN=(0,o.createContext)(null),YN=e=>e,XN=()=>{var e=(0,o.useContext)(JN);return e?e.store.dispatch:YN},ZN=()=>{},QN=()=>ZN,$N=(e,t)=>e===t;function J(e){var t=(0,o.useContext)(JN),n=(0,o.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:ZN,[t,e]);return(0,pw.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:QN,t?t.store.getState:ZN,t?t.store.getState:ZN,n,$N)}function eP(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function tP(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var nP=e=>Array.isArray(e)?e:[e];function rP(e){let t=Array.isArray(e[0])?e[0]:e;return tP(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function iP(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var aP=class{constructor(e){this.value=e}deref(){return this.value}},oP=typeof WeakRef>`u`?aP:WeakRef,sP=0,cP=1;function lP(){return{s:sP,v:void 0,o:null,p:null}}function uP(e){return e instanceof oP?e.deref():e}function dP(e,t={}){let n=lP(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=lP(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=lP(),e.set(n,t)):t=r}}let s=t,c;if(t.s===cP)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=uP(i);e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new oP(c):c}return s.s=cP,s.v=c,c}return o.clearCache=()=>{n=lP(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function fP(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),eP(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=dP,argsMemoizeOptions:u=[]}={...n,...a},d=nP(c),f=nP(u),p=rP(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=iP(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var Y=fP(dP);function pP(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}function mP(e,t,n){return ON(n)&&(typeof t==`number`&&HM(n)&&BN(t)&&t<n.length||typeof t==`string`&&t in n)?DN(n[t],e):!1}function hP(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}var gP=(e,t,n)=>{if(e!==t){let r=hP(e),i=hP(t);if(r===i&&r===0){if(e<t)return n===`desc`?1:-1;if(e>t)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0},_P=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vP=/^\w*$/;function yP(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||uj(e)?!0:typeof e==`string`&&(vP.test(e)||!_P.test(e))||t!=null&&Object.hasOwn(t,e)}function bP(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=HM(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r<t.length&&n!=null;++r)n=n[t[r]];return r>0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||yP(e)?e:{key:e,path:fj(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;r<o.length;r++){let i=gP(e.criteria[r],t.criteria[r],n[r]);if(i!==0)return i}return 0}).map(e=>e.original)}function xP(e,...t){let n=t.length;return n>1&&mP(e,t[0],t[1])?t=[]:n>2&&mP(t[0],t[1],t[2])&&(t=[t[0]]),bP(e,pP(t),[`asc`])}var SP=e=>e.legend.settings,CP=e=>e.legend.size;Y([e=>e.legend.payload,SP],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?xP(r,n):r});function wP(e,t){return kP(e)||OP(e,t)||EP(e,t)||TP()}function TP(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
13
13
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EP(e,t){if(e){if(typeof e==`string`)return DP(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?DP(e,t):void 0}}function DP(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function OP(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function kP(e){if(Array.isArray(e))return e}var AP=1;function jP(e,t){return Math.abs(e.height-t.height)>AP||Math.abs(e.left-t.left)>AP||Math.abs(e.top-t.top)>AP||Math.abs(e.width-t.width)>AP}function MP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function NP(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=wP((0,o.useState)({height:0,left:0,top:0,width:0}),2),n=t[0],r=t[1],i=(0,o.useRef)(null),a=(0,o.useRef)(n);a.current=n;var s=(0,o.useCallback)(e=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),e!=null){var t=MP(e);if(jP(t,a.current)&&r(t),typeof ResizeObserver<`u`){var n=new ResizeObserver(()=>{var t=MP(e);jP(t,a.current)&&r(t)});n.observe(e),i.current=n}}},[...e]);return(0,o.useEffect)(()=>()=>{var e;(e=i.current)==null||e.disconnect()},[]),[n,s]}function PP(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var FP=typeof Symbol==`function`&&Symbol.observable||`@@observable`,IP=()=>Math.random().toString(36).substring(7).split(``).join(`.`),LP={INIT:`@@redux/INIT${IP()}`,REPLACE:`@@redux/REPLACE${IP()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${IP()}`};function RP(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function zP(e,t,n){if(typeof e!=`function`)throw Error(PP(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(PP(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(PP(1));return n(zP)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(PP(3));return i}function d(e){if(typeof e!=`function`)throw Error(PP(4));if(c)throw Error(PP(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(PP(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!RP(e))throw Error(PP(7));if(e.type===void 0)throw Error(PP(8));if(typeof e.type!=`string`)throw Error(PP(17));if(c)throw Error(PP(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(PP(10));r=e,f({type:LP.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(PP(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[FP](){return this}}}return f({type:LP.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[FP]:m}}function BP(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:LP.INIT})===void 0)throw Error(PP(12));if(n(void 0,{type:LP.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(PP(13))})}function VP(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{BP(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(PP(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function HP(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function UP(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(PP(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=HP(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function WP(e){return RP(e)&&`type`in e&&typeof e.type==`string`}var GP=Symbol.for(`immer-nothing`),KP=Symbol.for(`immer-draftable`),qP=Symbol.for(`immer-state`);function JP(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var YP=Object,XP=YP.getPrototypeOf,ZP=`constructor`,QP=`prototype`,$P=`configurable`,eF=`enumerable`,tF=`writable`,nF=`value`,rF=e=>!!e&&!!e[qP];function iF(e){return e?sF(e)||mF(e)||!!e[KP]||!!e[ZP]?.[KP]||hF(e)||gF(e):!1}var aF=YP[QP][ZP].toString(),oF=new WeakMap;function sF(e){if(!e||!_F(e))return!1;let t=XP(e);if(t===null||t===YP[QP])return!0;let n=YP.hasOwnProperty.call(t,ZP)&&t[ZP];if(n===Object)return!0;if(!vF(n))return!1;let r=oF.get(n);return r===void 0&&(r=Function.toString.call(n),oF.set(n,r)),r===aF}function cF(e,t,n=!0){lF(e)===0?(n?Reflect.ownKeys(e):YP.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function lF(e){let t=e[qP];return t?t.type_:mF(e)?1:hF(e)?2:gF(e)?3:0}var uF=(e,t,n=lF(e))=>n===2?e.has(t):YP[QP].hasOwnProperty.call(e,t),dF=(e,t,n=lF(e))=>n===2?e.get(t):e[t],fF=(e,t,n,r=lF(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function pF(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var mF=Array.isArray,hF=e=>e instanceof Map,gF=e=>e instanceof Set,_F=e=>typeof e==`object`,vF=e=>typeof e==`function`,yF=e=>typeof e==`boolean`;function bF(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var xF=e=>e.copy_||e.base_,SF=e=>e.modified_?e.copy_:e.base_;function CF(e,t){if(hF(e))return new Map(e);if(gF(e))return new Set(e);if(mF(e))return Array[QP].slice.call(e);let n=sF(e);if(t===!0||t===`class_only`&&!n){let t=YP.getOwnPropertyDescriptors(e);delete t[qP];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[tF]===!1&&(a[tF]=!0,a[$P]=!0),(a.get||a.set)&&(t[i]={[$P]:!0,[tF]:!0,[eF]:a[eF],[nF]:e[i]})}return YP.create(XP(e),t)}{let t=XP(e);if(t!==null&&n)return{...e};let r=YP.create(t);return YP.assign(r,e)}}function wF(e,t=!1){return DF(e)||rF(e)||!iF(e)?e:(lF(e)>1&&YP.defineProperties(e,{set:EF,add:EF,clear:EF,delete:EF}),YP.freeze(e),t&&cF(e,(e,t)=>{wF(t,!0)},!1),e)}function TF(){JP(2)}var EF={[nF]:TF};function DF(e){return e===null||!_F(e)||YP.isFrozen(e)}var OF=`MapSet`,kF=`Patches`,AF=`ArrayMethods`,jF={};function MF(e){let t=jF[e];return t||JP(0,e),t}var NF=e=>!!jF[e],PF,FF=()=>PF,IF=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:NF(OF)?MF(OF):void 0,arrayMethodsPlugin_:NF(AF)?MF(AF):void 0});function LF(e,t){t&&(e.patchPlugin_=MF(kF),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function RF(e){zF(e),e.drafts_.forEach(VF),e.drafts_=null}function zF(e){e===PF&&(PF=e.parent_)}var BF=e=>PF=IF(PF,e);function VF(e){let t=e[qP];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function HF(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[qP].modified_&&(RF(t),JP(4)),iF(e)&&(e=UF(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[qP].base_,e,t)}else e=UF(t,n);return WF(t,e,!0),RF(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===GP?void 0:e}function UF(e,t){if(DF(t))return t;let n=t[qP];if(!n)return QF(t,e.handledSet_,e);if(!KF(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);XF(n,e)}return n.copy_}function WF(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&wF(t,n)}function GF(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var KF=(e,t)=>e.scope_===t,qF=[];function JF(e,t,n,r){let i=xF(e),a=e.type_;if(r!==void 0&&dF(i,r,a)===t){fF(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;cF(i,(e,n)=>{if(rF(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??qF;for(let e of o)fF(i,e,n,a)}function YF(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!KF(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=SF(i);JF(e,i.draft_??i,a,n),XF(i,r)})}function XF(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}GF(e)}}function ZF(e,t,n){let{scope_:r}=e;if(rF(n)){let i=n[qP];KF(i,r)&&i.callbacks_.push(function(){sI(e),JF(e,n,SF(i),t)})}else iF(n)&&e.callbacks_.push(function(){let i=xF(e);e.type_===3?i.has(n)&&QF(n,r.handledSet_,r):dF(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&QF(dF(e.copy_,t,e.type_),r.handledSet_,r)})}function QF(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||rF(e)||t.has(e)||!iF(e)||DF(e)?e:(t.add(e),cF(e,(r,i)=>{if(rF(i)){let t=i[qP];KF(t,n)&&(fF(e,r,SF(t),e.type_),GF(t))}else iF(i)&&QF(i,t,n)}),e)}function $F(e,t){let n=mF(e),r={type_:+!!n,scope_:t?t.scope_:FF(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=eI;n&&(i=[r],a=tI);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var eI={get(e,t){if(t===qP)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=xF(e);if(!uF(i,t,e.type_))return iI(e,i,t);let a=i[t];if(e.finalized_||!iF(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&bF(t))return a;if(a===nI(e.base_,t)||rI(e,t,a)){sI(e);let n=e.type_===1?+t:t,r=lI(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in xF(e)},ownKeys(e){return Reflect.ownKeys(xF(e))},set(e,t,n){let r=aI(xF(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=nI(xF(e),t),i=r?.[qP];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(pF(n,r)&&(n!==void 0||uF(e.base_,t,e.type_)))return!0;sI(e),oI(e)}return e.copy_[t]===n&&(n!==void 0||uF(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),ZF(e,t,n),!0)},deleteProperty(e,t){return sI(e),nI(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),oI(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=xF(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[tF]:!0,[$P]:e.type_!==1||t!==`length`,[eF]:r[eF],[nF]:n[t]}},defineProperty(){JP(11)},getPrototypeOf(e){return XP(e.base_)},setPrototypeOf(){JP(12)}},tI={};for(let e in eI){let t=eI[e];tI[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}tI.deleteProperty=function(e,t){return tI.set.call(this,e,t,void 0)},tI.set=function(e,t,n){return eI.set.call(this,e[0],t,n,e[0])};function nI(e,t){let n=e[qP];return(n?xF(n):e)[t]}function rI(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!iF(n)||n[qP]?!1:e.baseRefs_.has(n)}function iI(e,t,n){let r=aI(t,n);return r?nF in r?r[nF]:r.get?.call(e.draft_):void 0}function aI(e,t){if(!(t in e))return;let n=XP(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=XP(n)}}function oI(e){e.modified_||(e.modified_=!0,e.parent_&&oI(e.parent_))}function sI(e){e.copy_||=(e.assigned_=new Map,CF(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var cI=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(vF(e)&&!vF(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}vF(t)||JP(6),n!==void 0&&!vF(n)&&JP(7);let r;if(iF(e)){let i=BF(this),a=lI(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?RF(i):zF(i)}return LF(i,n),HF(r,i)}if(!e||!_F(e)){if(r=t(e),r===void 0&&(r=e),r===GP&&(r=void 0),this.autoFreeze_&&wF(r,!0),n){let t=[],i=[];MF(kF).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}JP(1,e)},this.produceWithPatches=(e,t)=>{if(vF(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},yF(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),yF(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),yF(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){iF(e)||JP(8),rF(e)&&(e=uI(e));let t=BF(this),n=lI(t,e,void 0);return n[qP].isManual_=!0,zF(t),n}finishDraft(e,t){let n=e&&e[qP];(!n||!n.isManual_)&&JP(9);let{scope_:r}=n;return LF(r,t),HF(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=MF(kF).applyPatches_;return rF(e)?r(e,t):this.produce(e,e=>r(e,t))}};function lI(e,t,n,r){let[i,a]=hF(t)?MF(OF).proxyMap_(t,n):gF(t)?MF(OF).proxySet_(t,n):$F(t,n);return(n?.scope_??FF()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?YF(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function uI(e){return rF(e)||JP(10,e),dI(e)}function dI(e){if(!iF(e)||DF(e))return e;let t=e[qP],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=CF(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=CF(e,!0);return cF(n,(e,t)=>{fF(n,e,dI(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var fI=new cI().produce,X=e=>e;function pI(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var mI=pI(),hI=pI,gI=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?HP:HP.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function _I(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(EL(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>WP(t)&&t.type===e,n}var vI=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function yI(e){return iF(e)?fI(e,()=>{}):e}function bI(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function xI(e){return typeof e==`boolean`}var SI=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new vI;return t&&(xI(t)?a.push(mI):a.push(hI(t.extraArgument))),a},CI=`RTK_autoBatch`,wI=()=>e=>({payload:e,meta:{[CI]:!0}}),TI=e=>t=>{setTimeout(t,e)},EI=(e,t)=>n=>{let r=!1,i,a,o=()=>{r||(r=!0,cancelAnimationFrame(i),clearTimeout(a),n())};i=e(o),a=setTimeout(o,t)},DI=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?EI(window.requestAnimationFrame,100):TI(10):e.type===`callback`?e.queueNotification:TI(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[CI],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},OI=e=>function(t){let{autoBatch:n=!0}=t??{},r=new vI(e);return n&&r.push(DI(typeof n==`object`?n:void 0)),r};function kI(e){let t=SI(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(RP(n))c=VP(n);else throw Error(EL(1));let l;l=typeof r==`function`?r(t):t();let u=HP;i&&(u=gI({trace:!1,...typeof i==`object`&&i}));let d=OI(UP(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return zP(c,o,p)}function AI(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(EL(28));if(r in t)throw Error(EL(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function jI(e){return typeof e==`function`}function MI(e,t){let[n,r,i]=AI(t),a;if(jI(e))a=()=>yI(e());else{let t=yI(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n){if(rF(e)){let r=n(e,t);return r===void 0?e:r}if(iF(e))return fI(e,e=>n(e,t));{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(EL(9))}return r}}return e},e)}return o.getInitialState=a,o}var NI=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,PI=(e=21)=>{let t=``,n=e;for(;n--;)t+=NI[Math.random()*64|0];return t},FI=Symbol.for(`rtk-slice-createasyncthunk`);function II(e,t){return`${e}/${t}`}function LI({creators:e}={}){let t=e?.asyncThunk?.[FI];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(EL(11));let i=(typeof e.reducers==`function`?e.reducers(BI()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(EL(12));if(n in o.sliceCaseReducersByType)throw Error(EL(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:II(n,r),createNotation:typeof e.reducers==`function`};HI(a)?WI(o,a,s,t):VI(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?AI(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return MI(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=bI(d,r,m)),i}function i(t=l){return bI(bI(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=RI(a,t,()=>bI(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function RI(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var zI=LI();function BI(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function VI({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!UI(r))throw Error(EL(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?_I(e,o):_I(e))}function HI(e){return e._reducerDefinitionType===`asyncThunk`}function UI(e){return e._reducerDefinitionType===`reducerWithPrepare`}function WI({type:e,reducerName:t},n,r,i){if(!i)throw Error(EL(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||GI,pending:s||GI,rejected:c||GI,settled:l||GI})}function GI(){}var KI=`task`,qI=`listener`,JI=`completed`,YI=`cancelled`,XI=`task-${YI}`,ZI=`task-${JI}`,QI=`${qI}-${YI}`,$I=`${qI}-${JI}`,eL=class{code;name=`TaskAbortError`;message;constructor(e){this.code=e,this.message=`${KI} ${YI} (reason: ${e})`}},tL=(e,t)=>{if(typeof e!=`function`)throw TypeError(EL(32))},nL=()=>{},rL=(e,t=nL)=>(e.catch(t),e),iL=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),aL=e=>{if(e.aborted)throw new eL(e.reason)};function oL(e,t){let n=nL;return new Promise((r,i)=>{let a=()=>i(new eL(e.reason));if(e.aborted){a();return}n=iL(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=nL})}var sL=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof eL?`cancelled`:`rejected`,error:e}}finally{t?.()}},cL=e=>t=>rL(oL(e,t).then(t=>(aL(e),t))),lL=e=>{let t=cL(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:uL}=Object,dL={},fL=`listenerMiddleware`,pL=(e,t)=>{let n=t=>iL(e,()=>t.abort(e.reason));return(r,i)=>{tL(r,`taskExecutor`);let a=new AbortController;n(a);let o=sL(async()=>{aL(e),aL(a.signal);let t=await r({pause:cL(a.signal),delay:lL(a.signal),signal:a.signal});return aL(a.signal),t},()=>a.abort(ZI));return i?.autoJoin&&t.push(o.catch(nL)),{result:cL(e)(o),cancel(){a.abort(XI)}}}},mL=(e,t)=>{let n=async(n,r)=>{aL(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await oL(t,Promise.race(a));return aL(t),e}finally{i()}};return((e,t)=>rL(n(e,t)))},hL=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=_I(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(EL(21));return tL(a,`options.listener`),{predicate:i,type:t,effect:a}},gL=uL(e=>{let{type:t,predicate:n,effect:r}=hL(e);return{id:PI(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(EL(22))}}},{withTypes:()=>gL}),_L=(e,t)=>{let{type:n,effect:r,predicate:i}=hL(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},vL=e=>{e.pending.forEach(e=>{e.abort(QI)})},yL=(e,t)=>()=>{for(let e of t.keys())vL(e);e.clear()},bL=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},xL=uL(_I(`${fL}/add`),{withTypes:()=>xL}),SL=_I(`${fL}/removeAll`),CL=uL(_I(`${fL}/remove`),{withTypes:()=>CL}),wL=(...e)=>{console.error(`${fL}/error`,...e)},TL=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=wL}=e;tL(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&vL(e)}),c=(e=>{let n=_L(t,e)??gL(e);return s(n)});uL(c,{withTypes:()=>c});let l=e=>{let n=_L(t,e);return n&&(n.unsubscribe(),e.cancelActive&&vL(n)),!!n};uL(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=mL(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,uL({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:lL(u.signal),pause:cL(u.signal),extra:a,signal:u.signal,fork:pL(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(QI),n.delete(e))})},cancel:()=>{u.abort(QI),e.pending.delete(u)},throwIfCancelled:()=>{aL(u.signal)}})))}catch(e){e instanceof eL||bL(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort($I),i(e),e.pending.delete(u)}},d=yL(t,n);return{middleware:e=>n=>r=>{if(!WP(r))return n(r);if(xL.match(r))return c(r.payload);if(SL.match(r)){d();return}if(CL.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===dL)throw Error(EL(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,bL(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=dL}return s},startListening:c,stopListening:l,clearListeners:d}};function EL(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var DL=zI({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),OL=DL.actions,kL=OL.setMargin,AL=OL.setLayout,jL=OL.setChartSize,ML=OL.setScale,NL=DL.reducer;function PL(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function Z(e){return Number.isFinite(e)}function FL(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function IL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function LL(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?IL(Object(n),!0).forEach(function(t){RL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function RL(e,t,n){return(t=zL(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zL(e){var t=BL(e,`string`);return typeof t==`symbol`?t:t+``}function BL(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function VL(e,t,n){return wj(e)||wj(t)?n:yj(t)?pj(e,t,n):typeof t==`function`?t(e):n}var HL=(e,t,n)=>{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(qne(c)){if(c===`top`&&q(e.top))return LL(LL({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&q(e.bottom))return LL(LL({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&q(e.left))return LL(LL({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&q(e.right))return LL(LL({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&q(e[a]))return LL(LL({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&q(e[o]))return LL(LL({},e),{},{[o]:e[o]+(i||0)})}return e},UL=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,WL=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},GL=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?gj(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return Z(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(Ej):c&&l?l.map((e,t)=>{var n=o.map(e);return Z(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(Ej):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return Z(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(Ej):o.domain().map((e,t)=>{var n=o.map(e);return Z(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(Ej)},KL=(e,t)=>{if(!t||t.length!==2||!q(t[0])||!q(t[1]))return e;var n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]),i=[e[0],e[1]];return(!q(e[0])||e[0]<n)&&(i[0]=n),(!q(e[1])||e[1]>r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]<n&&(i[1]=n),i},qL={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0,o=0;o<t;++o){var s=e[o]?.[r];if(s!=null){var c=s[1],l=s[0],u=_j(c)?l:c;u>=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:TM,none:bM,silhouette:EM,wiggle:DM,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0;a<t;++a){var o=e[a]?.[r];if(o!=null){var s=_j(o[1])?o[0]:o[1];s>=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},JL=(e,t,n)=>{var r=qL[n]??bM,i=wM().keys(t).value((e,t)=>Number(VL(e,t,0))).order(xM).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=VL(e[i],t[r],0);Array.isArray(a)&&a.length===2&&q(a[0])&&q(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function YL(e){return e==null?void 0:String(e)}var XL=e=>{var t=e.axis,n=e.ticks,r=e.offset,i=e.bandSize,a=e.entry,o=e.index;if(t.type===`category`)return n[o]?n[o].coordinate+r:null;var s=VL(a,t.dataKey,t.scale.domain()[o]);if(wj(s))return null;var c=t.scale.map(s);return q(c)?c-i/2+r:null},ZL=e=>{var t=e.numericAxis,n=t.scale.domain();if(t.type===`number`){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},QL=e=>{var t=e.flat(2).filter(q);return[Math.min(...t),Math.max(...t)]},$L=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],eR=(e,t,n)=>{if(e!=null&&Object.keys(e).length!==0)return $L(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=QL(PL(r,t,n));return!Z(i[0])||!Z(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},tR=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,nR=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,rR=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=xP(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;s<c;s++){var l=(i[s]?.coordinate||0)-(i[s-1]?.coordinate||0);a.push(l),o=Math.max(l,o)}var u=o*1e-4,d=1/0;for(var f of a)f>u&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function iR(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return LL(LL({},t),{},{dataKey:n,payload:r,value:i,name:a})}function aR(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var oR=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},sR=(e,t)=>t===`centric`?e.angle:e.radius,cR=e=>e.layout.width,lR=e=>e.layout.height,uR=e=>e.layout.scale,dR=e=>e.layout.margin,fR=Y(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),pR=Y(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),mR=`data-recharts-item-index`;function hR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gR(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?hR(Object(n),!0).forEach(function(t){_R(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _R(e,t,n){return(t=vR(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vR(e){var t=yR(e,`string`);return typeof t==`symbol`?t:t+``}function yR(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var bR=e=>e.brush.height;function xR(e){return pR(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function SR(e){return pR(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function CR(e){return fR(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function wR(e){return fR(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var TR=Y([cR,lR,dR,bR,xR,SR,CR,wR,SP,CP],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=gR(gR({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=HL(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return gR(gR({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),ER=Y(TR,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),DR=Y(cR,lR,(e,t)=>({x:0,y:0,width:e,height:t})),OR=(0,o.createContext)(null),kR=()=>(0,o.useContext)(OR)!=null,AR=e=>e.brush,jR=Y([AR,TR,dR],(e,t,n)=>({height:e.height,x:q(e.x)?e.x:t.left,y:q(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:q(e.width)?e.width:t.width}));function MR(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function NR(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=MR(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?((r||i)&&(s=e.apply(this,t)),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function PR(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return NR(e,t,{leading:r,maxWait:t,trailing:i})}var FR=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e)){if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}}},IR={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},LR=(e,t,n)=>{var r=n.width,i=r===void 0?IR.width:r,a=n.height,o=a===void 0?IR.height:a,s=n.aspect,c=n.maxHeight,l=vj(i)?e:Number(i),u=vj(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},RR={width:0,height:0,overflow:`visible`},zR={width:0,overflowX:`visible`},BR={height:0,overflowY:`visible`},VR={},HR=e=>{var t=e.width,n=e.height,r=vj(t),i=vj(n);return r&&i?RR:r?zR:i?BR:VR};function UR(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=IR.width,a=IR.height):i===void 0?i=r&&r>0?void 0:IR.width:a===void 0&&(a=r&&r>0?void 0:IR.height),{width:i,height:a}}var WR=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function GR(){return GR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},GR.apply(null,arguments)}function KR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qR(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?KR(Object(n),!0).forEach(function(t){JR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):KR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function JR(e,t,n){return(t=YR(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function YR(e){var t=XR(e,`string`);return typeof t==`symbol`?t:t+``}function XR(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ZR(e,t){return nz(e)||tz(e,t)||$R(e,t)||QR()}function QR(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
14
14
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $R(e,t){if(e){if(typeof e==`string`)return ez(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ez(e,t):void 0}}function ez(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function tz(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function nz(e){if(Array.isArray(e))return e}function rz(e,t){if(e==null)return{};var n,r,i=iz(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function iz(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var az=(0,o.createContext)(IR.initialDimension);function oz(e){return FL(e.width)&&FL(e.height)}function sz(e){var t=e.children,n=e.width,r=e.height,i=(0,o.useMemo)(()=>({width:n,height:r}),[n,r]);return oz(i)?o.createElement(az.Provider,{value:i},t):null}var cz=()=>(0,o.useContext)(az),lz=(0,o.forwardRef)((e,t)=>{var n=e.aspect,r=e.initialDimension,i=r===void 0?IR.initialDimension:r,a=e.width,s=e.height,c=e.minWidth,l=c===void 0?IR.minWidth:c,u=e.minHeight,d=e.maxHeight,f=e.children,p=e.debounce,m=p===void 0?IR.debounce:p,h=e.id,g=e.className,_=e.onResize,v=e.style,y=v===void 0?{}:v,b=rz(e,WR),x=(0,o.useRef)(null),S=(0,o.useRef)();S.current=_,(0,o.useImperativeHandle)(t,()=>x.current);var C=ZR((0,o.useState)({containerWidth:i.width,containerHeight:i.height}),2),w=C[0],T=C[1],E=(0,o.useCallback)((e,t)=>{T(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,o.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>`u`)return Dj;var e=e=>{var t,n=e[0];if(n!=null){var r=n.contentRect,i=r.width,a=r.height;E(i,a),(t=S.current)==null||t.call(S,i,a)}};m>0&&(e=PR(e,m,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=x.current.getBoundingClientRect(),r=n.width,i=n.height;return E(r,i),t.observe(x.current),()=>{t.disconnect()}},[E,m]);var D=w.containerWidth,O=w.containerHeight;FR(!n||n>0,`The aspect(%s) must be greater than zero.`,n);var k=LR(D,O,{width:a,height:s,aspect:n,maxHeight:d}),A=k.calculatedWidth,j=k.calculatedHeight;return FR(D<0||O<0||A!=null&&A>0||j!=null&&j>0,`The width(%s) and height(%s) of chart should be greater than 0,
15
15
  please check the style of container, or the props width(%s) and height(%s),
@@ -63,4 +63,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
63
63
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B8(e,t){if(e){if(typeof e==`string`)return V8(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?V8(e,t):void 0}}function V8(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function H8(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function U8(e){if(Array.isArray(e))return e}function W8(e,t){if(e==null)return{};var n,r,i=G8(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function G8(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function K8(){return K8=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},K8.apply(null,arguments)}function q8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J8(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?q8(Object(n),!0).forEach(function(t){Y8(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Y8(e,t,n){return(t=X8(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X8(e){var t=Z8(e,`string`);return typeof t==`symbol`?t:t+``}function Z8(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Q8={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:`bottom`,ticks:[],stroke:`#666`,tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:`preserveEnd`,zIndex:WU.axis};function $8(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.orientation,s=e.mirror,c=e.axisLine,l=e.otherSvgProps;if(!c)return null;var u=J8(J8(J8({},l),ej(c)),{},{fill:`none`});if(a===`top`||a===`bottom`){var d=+(a===`top`&&!s||a===`bottom`&&s);u=J8(J8({},u),{},{x1:t,y1:n+d*i,x2:t+r,y2:n+d*i})}else{var f=+(a===`left`&&!s||a===`right`&&s);u=J8(J8({},u),{},{x1:t+f*r,y1:n,x2:t+f*r,y2:n+i})}return o.createElement(`line`,K8({},u,{className:XA(`recharts-cartesian-axis-line`,pj(c,`className`))}))}function e5(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h=s?-1:1,g=e.tickSize||o,_=q(e.tickCoord)?e.tickCoord:e.coordinate;switch(a){case`top`:l=u=e.coordinate,f=n+ +!s*i,d=f-h*g,m=d-h*c,p=_;break;case`left`:d=f=e.coordinate,u=t+ +!s*r,l=u-h*g,p=l-h*c,m=_;break;case`right`:d=f=e.coordinate,u=t+ +s*r,l=u+h*g,p=l+h*c,m=_;break;default:l=u=e.coordinate,f=n+ +s*i,d=f+h*g,m=d+h*c,p=_}return{line:{x1:l,y1:d,x2:u,y2:f},tick:{x:p,y:m}}}function t5(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function n5(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function Qne(e){var t=e.option,n=e.tickProps,r=e.value,i,a=XA(n.className,`recharts-cartesian-axis-tick-value`);if(o.isValidElement(t))i=o.cloneElement(t,J8(J8({},n),{},{className:a}));else if(typeof t==`function`)i=t(J8(J8({},n),{},{className:a}));else{var s=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(s=XA(s,e3(t))),i=o.createElement(d4,K8({},n,{className:s}),r)}return i}function $ne(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=XN(),a=(0,o.useRef)(null);return(0,o.useEffect)(()=>{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&m8(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(P8({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,o.useEffect)(()=>r==null||n==null?Dj:()=>{i(F8({axisId:r,axisType:n}))},[i,r,n]),null}var ere=(0,o.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,s=e.stroke,c=e.tickFormatter,l=e.unit,u=e.padding,d=e.tickTextProps,f=e.orientation,p=e.mirror,m=e.x,h=e.y,g=e.width,_=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,C=e.events,w=e.axisType,T=e.axisId,E=k8(J8(J8({},S),{},{ticks:r}),b,x),D=ej(S),O=tj(i),k=e4(D.textAnchor)?D.textAnchor:t5(f,p),A=n5(f,p),j={};typeof a==`object`&&(j=a);var M=J8(J8({},D),{},{fill:`none`},j),N=E.map(e=>J8({entry:e},e5(e,m,h,g,_,f,v,p,y))),ee=N.map(e=>{var t=e.entry,n=e.line;return o.createElement(oj,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&o.createElement(`line`,K8({},M,n,{className:XA(`recharts-cartesian-axis-tick-line`,pj(a,`className`))})))}),te=N.map((e,t)=>{var n=e.entry,r=e.tick,a=J8(J8({},J8(J8(J8(J8({verticalAnchor:A},D),{},{textAnchor:k,stroke:`none`,fill:s},r),{},{index:t,payload:n,visibleTicksCount:E.length,tickFormatter:c,padding:u},d),{},{angle:d?.angle??D.angle??0})),O);return o.createElement(oj,K8({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},jM(C,n,t)),i&&o.createElement(Qne,{option:i,tickProps:a,value:`${typeof c==`function`?c(n.value,t):n.value}${l||``}`}))});return o.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${w}-ticks`},o.createElement($ne,{ticks:E,axisId:T,axisType:w}),te.length>0&&o.createElement(Q1,{zIndex:WU.label},o.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${w}-tick-labels`,ref:t},te)),ee.length>0&&o.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${w}-tick-lines`},ee))}),tre=(0,o.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,s=e.hide,c=e.ticks,l=e.axisType,u=e.axisId,d=W8(e,L8),f=R8((0,o.useState)(``),2),p=f[0],m=f[1],h=R8((0,o.useState)(``),2),g=h[0],_=h[1],v=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>A8({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>j8({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var y=(0,o.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);v.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==p||a!==g)&&(m(i),_(a))}}},[p,g]);return s||r!=null&&r<=0||i!=null&&i<=0?null:o.createElement(Q1,{zIndex:e.zIndex},o.createElement(oj,{className:XA(`recharts-cartesian-axis`,a)},o.createElement($8,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:ej(e)}),o.createElement(ere,{ref:y,axisType:l,events:d,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:g,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:c,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),o.createElement(C4,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},o.createElement(L4,{label:e.label,labelRef:e.labelRef}),e.children)))}),r5=o.forwardRef((e,t)=>{var n=LM(e,Q8);return o.createElement(tre,K8({},n,{ref:t}))});r5.displayName=`CartesianAxis`;var i5=(0,o.createContext)({grid:{stroke:`#ccc`,fill:`none`}});i5.Provider;var nre=()=>(0,o.useContext)(i5),rre=[`x1`,`y1`,`x2`,`y2`,`key`],ire=[`offset`],are=[`xAxisId`,`yAxisId`],ore=[`xAxisId`,`yAxisId`];function a5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?a5(Object(n),!0).forEach(function(t){sre(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function sre(e,t,n){return(t=cre(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cre(e){var t=lre(e,`string`);return typeof t==`symbol`?t:t+``}function lre(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s5(){return s5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s5.apply(null,arguments)}function c5(e,t){if(e==null)return{};var n,r,i=ure(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function ure(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var dre=e=>{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,s=e.height,c=e.ry;return o.createElement(`rect`,{x:r,y:i,ry:c,width:a,height:s,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function l5(e){var t=e.option,n=e.lineItemProps,r;if(o.isValidElement(t))r=o.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,s=n.x2,c=n.y2,l=n.key,u=ej(c5(n,rre))??{};u.offset;var d=c5(u,ire),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=o.createElement(`line`,s5({},d,{strokeDasharray:f,x1:i,y1:a,x2:s,y2:c,fill:`none`,key:l}))}return r}function fre(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var s=c5(e,are),c=a.map((e,r)=>{var a=o5(o5({},s),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return o.createElement(l5,{key:`line-${r}`,option:i,lineItemProps:a})});return o.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},c)}function pre(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var s=c5(e,ore),c=a.map((e,r)=>{var a=o5(o5({},s),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return o.createElement(l5,{option:i,lineItemProps:a,key:`line-${r}`})});return o.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},c)}function mre(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,s=e.height,c=e.horizontalPoints,l=e.horizontal;if(!(l===void 0||l)||!t||!t.length||c==null)return null;var u=c.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==u[0]&&u.unshift(0);var d=u.map((e,c)=>{var l=u[c+1],d=l==null?i+s-e:l-e;if(d<=0)return null;var f=c%t.length;return o.createElement(`rect`,{key:`react-${c}`,y:e,x:r,height:d,width:a,stroke:`none`,fill:t[f],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return o.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},d)}function hre(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,s=e.y,c=e.width,l=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var d=u.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==d[0]&&d.unshift(0);var f=d.map((e,t)=>{var n=d[t+1],u=n==null?a+c-e:n-e;if(u<=0)return null;var f=t%r.length;return o.createElement(`rect`,{key:`react-${t}`,x:e,y:s,width:u,height:l,stroke:`none`,fill:r[f],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return o.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},f)}var gre=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return WL(k8(o5(o5(o5({},Q8),n),{},{ticks:GL(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},_re=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return WL(k8(o5(o5(o5({},Q8),n),{},{ticks:GL(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},vre={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:WU.grid};function u5(e){var t=mz(),n=hz(),r=pz(),i=o5(o5({},LM(e,vre)),{},{x:q(e.x)?e.x:r.left,y:q(e.y)?e.y:r.top,width:q(e.width)?e.width:r.width,height:q(e.height)?e.height:r.height}),a=i.xAxisId,s=i.yAxisId,c=i.x,l=i.y,u=i.width,d=i.height,f=i.syncWithTicks,p=i.horizontalValues,m=i.verticalValues,h=kR(),g=J(e=>wQ(e,`xAxis`,a,h)),_=J(e=>wQ(e,`yAxis`,s,h)),v=nre(),y={stroke:i.stroke??v.grid.stroke,strokeWidth:i.strokeWidth??v.grid.strokeWidth,strokeOpacity:i.strokeOpacity??v.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??v.grid.strokeDasharray};if(!FL(u)||!FL(d)||!q(c)||!q(l))return null;var b=i.verticalCoordinatesGenerator||gre,x=i.horizontalCoordinatesGenerator||_re,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=p&&p.length,T=x({yAxis:_?o5(o5({},_),{},{ticks:w?p:_.ticks}):void 0,width:t??u,height:n??d,offset:r},w?!0:f);FR(Array.isArray(T),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof T}]`),Array.isArray(T)&&(S=T)}if((!C||!C.length)&&typeof b==`function`){var E=m&&m.length,D=b({xAxis:g?o5(o5({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??u,height:n??d,offset:r},E?!0:f);FR(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return o.createElement(Q1,{zIndex:i.zIndex},o.createElement(`g`,{className:`recharts-cartesian-grid`},o.createElement(dre,{fill:i.fill??v.grid.fill,fillOpacity:i.fillOpacity??v.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),o.createElement(mre,s5({},i,{horizontalPoints:S})),o.createElement(hre,s5({},i,{verticalPoints:C})),o.createElement(fre,s5({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),o.createElement(pre,s5({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}u5.displayName=`CartesianGrid`;var d5=zI({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),f5=d5.actions;f5.addErrorBar,f5.replaceErrorBar,f5.removeErrorBar;var yre=d5.reducer,bre=[`children`];function xre(e,t){if(e==null)return{};var n,r,i=Sre(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Sre(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Cre=(0,o.createContext)({data:[],xAxisId:`xAxis-0`,yAxisId:`yAxis-0`,dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function wre(e){var t=e.children,n=xre(e,bre);return o.createElement(Cre.Provider,{value:n},t)}function p5(e,t){var n=J(t=>TX(t,e)),r=J(e=>OX(e,t)),i=n?.allowDataOverflow??CX.allowDataOverflow,a=r?.allowDataOverflow??EX.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function Tre(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=D6(),a=p5(t,n),s=a.needClipX,c=a.needClipY,l=a.needClip,u=J(e=>QZ(e,t,!1)),d=J(e=>$Z(e,n,!1));if(!l||!i)return null;var f=i.x,p=i.y,m=i.width,h=i.height,g=s&&u?Math.min(u[0],u[1]):f-m/2,_=c&&d?Math.min(d[0],d[1]):p-h/2,v=s&&u?Math.abs(u[1]-u[0]):m*2,y=c&&d?Math.abs(d[1]-d[0]):h*2;return o.createElement(`clipPath`,{id:`clipPath-${r}`},o.createElement(`rect`,{x:g,y:_,width:v,height:y}))}function m5(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function h5(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var Ere=`Invariant failed`;function Dre(e,t){if(!e)throw Error(Ere)}var Ore=[`option`];function kre(e,t){if(e==null)return{};var n,r,i=Are(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Are(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var g5=SH;function _5(e){var t=e.option,n=kre(e,Ore);return o.createElement(v3,{option:t,DefaultShape:g5,shapeProps:n,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`})}var jre=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(q(e))return e;var i=q(n)||wj(n);return i?e(n,r):(!i&&Dre(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},Mre=(e,t,n)=>n,v5=Y([IX,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Nre=Y([v5],e=>e?.maxBarSize),Pre=(e,t,n,r)=>r,Fre=Y([gz,IX,m5,h5,Mre],(e,t,n,r,i)=>t.filter(t=>e===`horizontal`?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>e.hide===!1).filter(e=>e.type===`bar`)),Ire=(e,t,n)=>{var r=gz(e),i=m5(e,t),a=h5(e,t);if(i!=null&&a!=null)return r===`horizontal`?cZ(e,`yAxis`,a,n):cZ(e,`xAxis`,i,n)},Lre=Y([Fre,LU,(e,t)=>{var n=gz(e),r=m5(e,t),i=h5(e,t);if(r!=null&&i!=null)return n===`horizontal`?xQ(e,`xAxis`,r):xQ(e,`yAxis`,i)}],F6),Rre=(e,t,n)=>{var r=v5(e,t);if(r==null)return 0;var i=m5(e,t),a=h5(e,t);if(i==null||a==null)return 0;var o=gz(e),s=PU(e),c=r.maxBarSize,l=wj(c)?s:c,u,d;return o===`horizontal`?(u=DQ(e,`xAxis`,i,n),d=EQ(e,`xAxis`,i,n)):(u=DQ(e,`yAxis`,a,n),d=EQ(e,`yAxis`,a,n)),rR(u,d,!0)??l??0},y5=(e,t,n)=>{var r=gz(e),i=m5(e,t),a=h5(e,t);if(i!=null&&a!=null){var o,s;return r===`horizontal`?(o=DQ(e,`xAxis`,i,n),s=EQ(e,`xAxis`,i,n)):(o=DQ(e,`yAxis`,a,n),s=EQ(e,`yAxis`,a,n)),rR(o,s)}},zre=Y([TR,DR,(e,t,n)=>{var r=m5(e,t);if(r!=null)return DQ(e,`xAxis`,r,n)},(e,t,n)=>{var r=h5(e,t);if(r!=null)return DQ(e,`yAxis`,r,n)},(e,t,n)=>{var r=m5(e,t);if(r!=null)return EQ(e,`xAxis`,r,n)},(e,t,n)=>{var r=h5(e,t);if(r!=null)return EQ(e,`yAxis`,r,n)},Y([Y([Lre,PU,FU,IU,Rre,y5,Nre],H6),v5],W6),gz,oU,y5,Y([Ire,v5],U6),v5,Pre],(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{var p=c.chartData,m=c.dataStartIndex,h=c.dataEndIndex;if(!(d==null||o==null||t==null||s!==`horizontal`&&s!==`vertical`||n==null||r==null||i==null||a==null||l==null)){var g=d.data,_=g!=null&&g.length>0?g:p?.slice(m,h+1);if(_!=null)return vie({layout:s,barSettings:d,pos:o,parentViewBox:t,bandSize:l,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:_,offset:e,cells:f,dataStartIndex:m})}}),Bre=[`index`];function b5(){return b5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b5.apply(null,arguments)}function Vre(e,t){if(e==null)return{};var n,r,i=Hre(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Hre(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var x5=(0,o.createContext)(void 0),Ure=e=>{var t=(0,o.useContext)(x5);if(t!=null)return t.stackId;if(e!=null)return YL(e)},Wre=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,Gre=e=>{var t=(0,o.useContext)(x5);if(t!=null){var n=t.stackId;return`url(#${Wre(n,e)})`}},S5=e=>{var t=e.index,n=Vre(e,Bre),r=Gre(t);return o.createElement(oj,b5({className:`recharts-bar-stack-layer`,clipPath:r},n))},Kre=[`onMouseEnter`,`onMouseLeave`,`onClick`],qre=[`value`,`background`,`tooltipPosition`],Jre=[`id`],Yre=[`onMouseEnter`,`onClick`,`onMouseLeave`];function C5(e,t){return $re(e)||Qre(e,t)||Zre(e,t)||Xre()}function Xre(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
64
64
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zre(e,t){if(e){if(typeof e==`string`)return w5(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w5(e,t):void 0}}function w5(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Qre(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function $re(e){if(Array.isArray(e))return e}function T5(){return T5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},T5.apply(null,arguments)}function E5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function D5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?E5(Object(n),!0).forEach(function(t){eie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function eie(e,t,n){return(t=tie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tie(e){var t=nie(e,`string`);return typeof t==`symbol`?t:t+``}function nie(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O5(e,t){if(e==null)return{};var n,r,i=rie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function rie(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var iie=e=>{var t=e.dataKey,n=e.name,r=e.fill,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:aR(n,t),payload:e}]},aie=o.memo(e=>{var t=e.dataKey,n=e.stroke,r=e.strokeWidth,i=e.fill,a=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:void 0,getPosition:Dj,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:aR(a,t),hide:s,type:u,color:i,unit:c,formatter:l,graphicalItemId:d}};return o.createElement(S3,{tooltipEntrySettings:f})});function oie(e){var t=J(Y$),n=e.data,r=e.dataKey,i=e.background,a=e.allOtherBarProps,s=a.onMouseEnter,c=a.onMouseLeave,l=a.onClick,u=O5(a,Kre),d=y3(s,r,a.id),f=b3(c),p=x3(l,r,a.id);if(!i||n==null)return null;var m=tj(i);return o.createElement(Q1,{zIndex:G6(i,WU.barBackground)},n.map((e,n)=>{e.value;var a=e.background;e.tooltipPosition;var s=O5(e,qre);if(!a)return null;var c=d(e,e.originalDataIndex),l=f(e,e.originalDataIndex),h=p(e,e.originalDataIndex),g=D5(D5(D5(D5(D5({option:i,isActive:String(e.originalDataIndex)===t},s),{},{fill:`#eee`},a),m),jM(u,e,n)),{},{onMouseEnter:c,onMouseLeave:l,onClick:h,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return o.createElement(_5,T5({key:`background-bar-${n}`},g))}))}function sie(e){var t=e.showLabels,n=e.children,r=e.rects?.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return D5(D5({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return o.createElement(G4,{value:t?r:void 0},n)}function cie(e){var t=e.shape,n=e.activeBar,r=e.baseProps,i=e.entry,a=e.index,s=e.dataKey,c=J(Y$),l=J(Z$),u=n&&String(i.originalDataIndex)===c&&(l==null||s===l),d=c!=null&&(String(i.originalDataIndex)!==c||l!=null&&s!==l),f=C5((0,o.useState)(!1),2),p=f[0],m=f[1],h=C5((0,o.useState)(!1),2),g=h[0],_=h[1];(0,o.useEffect)(()=>{var e;return u?(m(!0),e=requestAnimationFrame(()=>{_(!0)})):(_(!1),d&&m(!1)),()=>{cancelAnimationFrame(e)}},[u,d]);var v=(0,o.useCallback)(()=>{u||m(!1)},[u]),y=u&&g,b=u||p,x=u?n===!0?t:n:t,S=o.createElement(_5,T5({},r,{name:String(r.name)},i,{isActive:y,option:x,index:a,dataKey:s,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:v}));return b?o.createElement(Q1,{zIndex:WU.activeBar},o.createElement(S5,{index:i.originalDataIndex},S)):S}function lie(e){var t=e.shape,n=e.baseProps,r=e.entry,i=e.index,a=e.dataKey;return o.createElement(_5,T5({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function uie(e){var t=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,a=e.isEntrance,s=ej(n)??{},c=s.id,l=O5(s,Jre),u=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,h=n.onMouseLeave,g=O5(n,Yre),_=y3(p,d,c),v=b3(h),y=x3(m,d,c);return t?o.createElement(o.Fragment,null,t.map((e,t)=>o.createElement(S5,T5({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},jM(g,e,t),{onMouseEnter:_(e,e.originalDataIndex),onMouseLeave:v(e,e.originalDataIndex),onClick:y(e,e.originalDataIndex)}),f?o.createElement(cie,{shape:u,activeBar:f,baseProps:l,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a}):o.createElement(lie,{shape:u,baseProps:l,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a})))):null}var die=(e,t,n)=>e==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>{if(e.status===`removed`)return n===`horizontal`?[D5(D5({},e.prev),{},{height:Cj(e.prev.height,0,t),y:Cj(e.prev.y,e.prev.y+e.prev.height,t)})]:[D5(D5({},e.prev),{},{width:Cj(e.prev.width,0,t)})];if(e.status===`matched`)return[D5(D5({},e.next),{},{x:Cj(e.prev.x,e.next.x,t),y:Cj(e.prev.y,e.next.y,t),width:Cj(e.prev.width,e.next.width,t),height:Cj(e.prev.height,e.next.height,t)})];var r=e.next;return n===`horizontal`?[D5(D5({},r),{},{height:Cj(0,r.height,t),y:Cj(r.stackedBarStart,r.y,t)})]:[D5(D5({},r),{},{width:Cj(0,r.width,t),x:Cj(r.stackedBarStart,r.x,t)})]});function fie(e){var t=e.props,n=e.previousRectanglesRef,r=t.data,i=t.isAnimationActive,a=t.animationBegin,s=t.animationDuration,c=t.animationEasing,l=t.animationInterpolateFn,u=t.layout,d=G3(t.onAnimationStart,t.onAnimationEnd),f=d.isAnimating,p=d.handleAnimationStart,m=d.handleAnimationEnd;return o.createElement(sie,{showLabels:!f,rects:r},o.createElement(K3,{animationInput:r,animationIdPrefix:`recharts-bar-`,items:r,previousItemsRef:n,isAnimationActive:i,animationBegin:a,animationDuration:s,animationEasing:c,onAnimationStart:p,onAnimationEnd:m,animationInterpolateFn:l,animationMatchBy:t.animationMatchBy,layout:u},(e,n,r)=>o.createElement(oj,null,o.createElement(uie,{props:t,data:e,animationElapsedTime:n,isAnimating:f||n<1,isEntrance:r}))),o.createElement(X4,{label:t.label}),t.children)}function pie(e){var t=(0,o.useRef)(null);return o.createElement(fie,{previousRectanglesRef:t,props:e})}var k5=0,mie=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:VL(e,t)}},hie=class extends o.PureComponent{render(){var e=this.props,t=e.hide,n=e.data,r=e.dataKey,i=e.className,a=e.xAxisId,s=e.yAxisId,c=e.needClip,l=e.background,u=e.id;if(t||n==null)return null;var d=XA(`recharts-bar`,i),f=u;return o.createElement(oj,{className:d,id:u},c&&o.createElement(`defs`,null,o.createElement(Tre,{clipPathId:f,xAxisId:a,yAxisId:s})),o.createElement(oj,{className:`recharts-bar-rectangles`,clipPath:c?`url(#clipPath-${f})`:void 0},o.createElement(oie,{data:n,dataKey:r,background:l,allOtherBarProps:this.props}),o.createElement(pie,this.props)))}},gie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,animationInterpolateFn:die,animationMatchBy:j3,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:k5,shape:g5,xAxisId:0,yAxisId:0,zIndex:WU.bar};function _ie(e){var t=e.xAxisId,n=e.yAxisId,r=e.hide,i=e.legendType,a=e.minPointSize,s=e.activeBar,c=e.animationBegin,l=e.animationDuration,u=e.animationEasing,d=e.isAnimationActive,f=p5(t,n).needClip,p=_z(),m=kR(),h=s3(e.children,Q0),g=J(t=>zre(t,e.id,m,h));if(p!==`vertical`&&p!==`horizontal`)return null;var _,v=g?.[0];return _=v==null||v.height==null||v.width==null?0:p===`vertical`?v.height/2:v.width/2,o.createElement(wre,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:mie,errorBarOffset:_},o.createElement(hie,T5({},e,{layout:p,needClip:f,data:g,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:s,animationBegin:c,animationDuration:l,animationEasing:u,isAnimationActive:d})))}function vie(e){var t=e.layout,n=e.barSettings,r=n.dataKey,i=n.minPointSize,a=n.hasCustomShape,o=e.pos,s=e.bandSize,c=e.xAxis,l=e.yAxis,u=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,h=e.cells,g=e.parentViewBox,_=e.dataStartIndex,v=t===`horizontal`?l:c,y=f?v.scale.domain():null,b=ZL({numericAxis:v}),x=v.scale.map(b);return p.map((e,n)=>{var p,v,S,C,w,T;if(f){var E=f[n+_];if(E==null)return null;p=KL(E,y)}else p=VL(e,r),Array.isArray(p)||(p=[b,p]);var D=jre(i,k5)(p[1],n);if(t===`horizontal`){var O=l.scale.map(p[0]),k=l.scale.map(p[1]);if(O==null||k==null)return null;v=XL({axis:c,ticks:u,bandSize:s,offset:o.offset,entry:e,index:n}),S=k??O??void 0,C=o.size;var A=O-k;if(w=_j(A)?0:A,T={x:v,y:m.top,width:C,height:m.height},Math.abs(D)>0&&Math.abs(w)<Math.abs(D)){var j=gj(w||D)*(Math.abs(D)-Math.abs(w));S-=j,w+=j}}else{var M=c.scale.map(p[0]),N=c.scale.map(p[1]);if(M==null||N==null)return null;if(v=M,S=XL({axis:l,ticks:d,bandSize:s,offset:o.offset,entry:e,index:n}),C=N-M,w=o.size,T={x:m.left,y:S,width:m.width,height:w},Math.abs(D)>0&&Math.abs(C)<Math.abs(D)){var ee=gj(C||D)*(Math.abs(D)-Math.abs(C));C+=ee}}return v==null||S==null||C==null||w==null||!a&&(C===0||w===0)?null:D5(D5({},e),{},{stackedBarStart:x,x:v,y:S,width:C,height:w,value:f?p:p[1],payload:e,background:T,tooltipPosition:{x:v+C/2,y:S+w/2},parentViewBox:g,originalDataIndex:n},h&&h[n]&&h[n].props)}).filter(Boolean)}function yie(e){var t=LM(e,gie),n=Ure(t.stackId),r=kR();return o.createElement(n6,{id:t.id,type:`bar`},e=>o.createElement(o.Fragment,null,o.createElement(C3,{legendPayload:iie(t)}),o.createElement(aie,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),o.createElement(l6,{type:`bar`,id:e,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null&&t.shape!==g5}),o.createElement(Q1,{zIndex:t.zIndex},o.createElement(_ie,T5({},t,{id:e})))))}var A5=o.memo(yie,Kz);A5.displayName=`Bar`;var bie=[`domain`,`range`],xie=[`domain`,`range`];function j5(e,t){if(e==null)return{};var n,r,i=Sie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Sie(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function M5(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function N5(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=j5(e,bie),a=t.domain,o=t.range,s=j5(t,xie);return!M5(n,a)||!M5(r,o)?!1:Kz(i,s)}var Cie=[`type`],wie=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Tie=[`id`,`scale`];function P5(){return P5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P5.apply(null,arguments)}function F5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F5(Object(n),!0).forEach(function(t){Eie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Eie(e,t,n){return(t=Die(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Die(e){var t=Oie(e,`string`);return typeof t==`symbol`?t:t+``}function Oie(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function L5(e,t){if(e==null)return{};var n,r,i=kie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function kie(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Aie(e){var t=XN(),n=(0,o.useRef)(null),r=vz(),i=e.type,a=L5(e,Cie),s=JU(r,`xAxis`,i),c=(0,o.useMemo)(()=>{if(s!=null)return I5(I5({},a),{},{type:s})},[a,s]);return(0,o.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(_6(c)):n.current!==c&&t(v6({prev:n.current,next:c})),n.current=c)},[c,t]),(0,o.useLayoutEffect)(()=>()=>{n.current&&=(t(y6(n.current)),null)},[t]),null}var jie=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,a=(0,o.useRef)(null),s=(0,o.useRef)(null),c=J(DR),l=kR(),u=XN(),d=`xAxis`,f=J(e=>TQ(e,d,t,l)),p=J(e=>pQ(e,t)),m=J(e=>vQ(e,t)),h=J(e=>wX(e,t));if((0,o.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||O4(i)||(0,o.isValidElement)(i)||h==null)){var e=a.current;if(e){var n=e.getCalculatedHeight();Math.round(p.height)!==Math.round(n)&&u(w6({id:t,height:n}))}}},[f,p,u,i,t,r,h]),p==null||m==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var g=L5(e,wie);h.id,h.scale;var _=L5(h,Tie);return o.createElement(r5,P5({},g,_,{ref:a,labelRef:s,x:m.x,y:m.y,width:p.width,height:p.height,className:XA(`recharts-${d} ${d}`,n),viewBox:c,ticks:f,axisType:d,axisId:t}))},Mie={allowDataOverflow:CX.allowDataOverflow,allowDecimals:CX.allowDecimals,allowDuplicatedCategory:CX.allowDuplicatedCategory,angle:CX.angle,axisLine:Q8.axisLine,height:CX.height,hide:!1,includeHidden:CX.includeHidden,interval:CX.interval,label:!1,minTickGap:CX.minTickGap,mirror:CX.mirror,orientation:CX.orientation,padding:CX.padding,reversed:CX.reversed,scale:CX.scale,tick:CX.tick,tickCount:CX.tickCount,tickLine:Q8.tickLine,tickSize:Q8.tickSize,type:CX.type,niceTicks:CX.niceTicks,xAxisId:0},R5=o.memo(e=>{var t=LM(e,Mie);return o.createElement(o.Fragment,null,o.createElement(Aie,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),o.createElement(jie,t))},N5);R5.displayName=`XAxis`;var Nie=[`type`],Pie=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Fie=[`id`,`scale`];function z5(){return z5=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},z5.apply(null,arguments)}function B5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V5(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?B5(Object(n),!0).forEach(function(t){Iie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Iie(e,t,n){return(t=Lie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lie(e){var t=Rie(e,`string`);return typeof t==`symbol`?t:t+``}function Rie(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function H5(e,t){if(e==null)return{};var n,r,i=zie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function zie(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Bie(e){var t=XN(),n=(0,o.useRef)(null),r=vz(),i=e.type,a=H5(e,Nie),s=JU(r,`yAxis`,i),c=(0,o.useMemo)(()=>{if(s!=null)return V5(V5({},a),{},{type:s})},[s,a]);return(0,o.useLayoutEffect)(()=>{c!=null&&(n.current===null?t(b6(c)):n.current!==c&&t(x6({prev:n.current,next:c})),n.current=c)},[c,t]),(0,o.useLayoutEffect)(()=>()=>{n.current&&=(t(S6(n.current)),null)},[t]),null}function Vie(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,o.useRef)(null),s=(0,o.useRef)(null),c=J(DR),l=kR(),u=XN(),d=`yAxis`,f=J(e=>bQ(e,t)),p=J(e=>yQ(e,t)),m=J(e=>TQ(e,d,t,l)),h=J(e=>DX(e,t));if((0,o.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||O4(i)||(0,o.isValidElement)(i)||h==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(f.width)!==Math.round(n)&&u(C6({id:t,width:n}))}}},[m,f,u,i,t,r,h]),f==null||p==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var g=H5(e,Pie);h.id,h.scale;var _=H5(h,Fie);return o.createElement(r5,z5({},g,_,{ref:a,labelRef:s,x:p.x,y:p.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:f.width,height:f.height,className:XA(`recharts-${d} ${d}`,n),viewBox:c,ticks:m,axisType:d,axisId:t}))}var Hie={allowDataOverflow:EX.allowDataOverflow,allowDecimals:EX.allowDecimals,allowDuplicatedCategory:EX.allowDuplicatedCategory,angle:EX.angle,axisLine:Q8.axisLine,hide:!1,includeHidden:EX.includeHidden,interval:EX.interval,label:!1,minTickGap:EX.minTickGap,mirror:EX.mirror,orientation:EX.orientation,padding:EX.padding,reversed:EX.reversed,scale:EX.scale,tick:EX.tick,tickCount:EX.tickCount,tickLine:Q8.tickLine,tickSize:Q8.tickSize,type:EX.type,niceTicks:EX.niceTicks,width:EX.width,yAxisId:0},U5=o.memo(e=>{var t=LM(e,Hie);return o.createElement(o.Fragment,null,o.createElement(Bie,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),o.createElement(Vie,t))},N5);U5.displayName=`YAxis`;var W5=Y([(e,t)=>t,gz,uW,yW,H$,W$,S1,TR],P1);function Uie(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function G5(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(Uie(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var K5=_I(`mouseClick`),q5=TL();q5.startListening({actionCreator:K5,effect:(e,t)=>{var n=e.payload,r=W5(t.getState(),G5(n));r?.activeIndex!=null&&t.dispatch(JQ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var J5=_I(`mouseMove`),Y5=TL(),X5=null,Z5=null,Q5=null;Y5.startListening({actionCreator:J5,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);X5!==null&&(cancelAnimationFrame(X5),X5=null),Z5!==null&&(typeof i!=`number`||!o)&&(clearTimeout(Z5),Z5=null),Q5=G5(n);var s=()=>{var e=t.getState(),n=MQ(e,e.tooltip.settings.shared);if(!Q5){X5=null,Z5=null;return}if(n===`axis`){var r=W5(e,Q5);r?.activeIndex==null?t.dispatch(GQ()):t.dispatch(qQ({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}X5=null,Z5=null};if(!o){s();return}i===`raf`?X5=requestAnimationFrame(s):typeof i==`number`&&Z5===null&&(Z5=setTimeout(s,i))}});function Wie(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<<CHILDREN>>`:t}var $5={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},e7=zI({name:`rootProps`,initialState:$5,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??$5.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),Gie=e7.reducer,Kie=e7.actions.updateOptions,t7=zI({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});t7.actions.updatePolarOptions;var qie=t7.reducer,n7=_I(`keyDown`),r7=_I(`focus`),i7=_I(`blur`),a7=TL(),o7=null,s7=null,c7=null;a7.startListening({actionCreator:n7,effect:(e,t)=>{c7=e.payload,o7!==null&&(cancelAnimationFrame(o7),o7=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);s7!==null&&(typeof r!=`number`||!a)&&(clearTimeout(s7),s7=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=c7;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=l$(n,A$(e),aZ(e),z$(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=W$(e),c=A$(e),l=MQ(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=D1(e,l,`hover`,String(n.index));t.dispatch(XQ({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=OQ(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=aZ(e),h=z$(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v<c.length;v++)if(l$(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(l$(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=D1(e,l,`hover`,String(p));t.dispatch(XQ({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{o7=null,s7=null}};if(!a){o();return}r===`raf`?o7=requestAnimationFrame(o):typeof r==`number`&&s7===null&&(o(),c7=null,s7=setTimeout(()=>{c7?o():(s7=null,o7=null)},r))}}),a7.startListening({actionCreator:r7,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=D1(n,MQ(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(XQ({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),a7.startListening({actionCreator:i7,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(XQ({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function l7(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var u7=_I(`externalEvent`),d7=TL(),f7=new Map,p7=new Map,m7=new Map;d7.startListening({actionCreator:u7,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=l7(i);m7.set(a,{handler:r,reactEvent:o});var s=f7.get(a);s!==void 0&&(cancelAnimationFrame(s),f7.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=p7.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),p7.delete(a));var p=()=>{var e=m7.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:e1(i),activeDataKey:Z$(i),activeIndex:Y$(i),activeLabel:X$(i),activeTooltipIndex:Y$(i),isTooltipActive:t1(i)};n&&n(o,r)}finally{f7.delete(a),p7.delete(a),m7.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);f7.set(a,m)}else if(typeof l==`number`){if(!p7.has(a)){p();var h=setTimeout(p,l);p7.set(a,h)}}else p()}}});var Jie=Y([Y([p$],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),h7=_I(`touchMove`),g7=TL(),_7=null,v7=null,y7=null,b7=null;g7.startListening({actionCreator:h7,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){b7=l7(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);_7!==null&&(cancelAnimationFrame(_7),_7=null),v7!==null&&(typeof i!=`number`||!o)&&(clearTimeout(v7),v7=null),y7=Array.from(n.touches).map(e=>G5({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(b7!=null){var e=t.getState(),n=MQ(e,e.tooltip.settings.shared);if(n===`axis`){var r=y7?.[0];if(r==null){_7=null,v7=null;return}var i=W5(e,r);i?.activeIndex!=null&&t.dispatch(qQ({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=b7.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(mR),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=D$(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=Jie(e,s,c);t.dispatch(UQ({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}_7=null,v7=null}};if(!o){s();return}i===`raf`?_7=requestAnimationFrame(s):typeof i==`number`&&v7===null&&(s(),b7=null,v7=setTimeout(()=>{b7?s():(v7=null,_7=null)},i))}}});var x7={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},S7=zI({name:`eventSettings`,initialState:x7,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=X(t.payload.throttledEvents))}}}),Yie=S7.actions.setEventSettings,Xie=S7.reducer,Zie=VP({brush:Y6,cartesianAxis:T6,chartData:C0,errorBars:yre,eventSettings:Xie,graphicalItems:c6,layout:NL,legend:Dz,options:g0,polarAxis:$4,polarOptions:qie,referenceElements:e8,renderedTicks:I8,rootProps:Gie,tooltip:ZQ,zIndex:Z1}),Qie=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return kI({reducer:Zie,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([q5.middleware,Y5.middleware,a7.middleware,d7.middleware,g7.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(DI({type:`raf`}))},devTools:hB.devToolsEnabled&&{serialize:{replacer:Wie},name:`recharts-${t}`}})};function $ie(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=kR(),a=(0,o.useRef)(null);if(i)return n;a.current??=Qie(t,r);var s=JN;return o.createElement(Uz,{context:s,store:a.current},n)}function eae(e){var t=e.layout,n=e.margin,r=XN(),i=kR();return(0,o.useEffect)(()=>{i||(r(AL(t)),r(kL(n)))},[r,i,t,n]),null}var tae=(0,o.memo)(eae,Kz);function nae(e){var t=XN();return(0,o.useEffect)(()=>{t(Kie(e))},[t,e]),null}var rae=(0,o.memo)(e=>{var t=XN();return(0,o.useEffect)(()=>{t(Yie(e))},[t,e]),null},Kz);function C7(e){var t=e.zIndex,n=e.isPanorama,r=(0,o.useRef)(null),i=XN();return(0,o.useLayoutEffect)(()=>(r.current&&i(Y1({zIndex:t,element:r.current,isPanorama:n})),()=>{i(X1({zIndex:t,isPanorama:n}))}),[i,t,n]),o.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function w7(e){var t=e.children,n=e.isPanorama,r=J(I1);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return o.createElement(o.Fragment,null,i.map(e=>o.createElement(C7,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>o.createElement(C7,{key:e,zIndex:e,isPanorama:n})))}var iae=[`children`];function aae(e,t){if(e==null)return{};var n,r,i=oae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function oae(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function T7(){return T7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},T7.apply(null,arguments)}var sae={width:`100%`,height:`100%`,display:`block`},cae=(0,o.forwardRef)((e,t)=>{var n=mz(),r=hz(),i=LB();if(!FL(n)||!FL(r))return null;var a=e.children,s=e.otherAttributes,c=e.title,l=e.desc,u,d;return s!=null&&(u=typeof s.tabIndex==`number`?s.tabIndex:i?0:void 0,d=typeof s.role==`string`?s.role:i?`application`:void 0),o.createElement(ij,T7({},s,{title:c,desc:l,role:d,tabIndex:u,width:n,height:r,style:sae,ref:t}),a)}),lae=e=>{var t=e.children,n=J(jR);if(!n)return null;var r=n.width,i=n.height,a=n.y,s=n.x;return o.createElement(ij,{width:r,height:i,x:s,y:a},t)},E7=(0,o.forwardRef)((e,t)=>{var n=e.children,r=aae(e,iae);return kR()?o.createElement(lae,null,o.createElement(w7,{isPanorama:!0},n)):o.createElement(cae,T7({ref:t},r),o.createElement(w7,{isPanorama:!1},n))});function uae(e,t){return mae(e)||pae(e,t)||fae(e,t)||dae()}function dae(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
65
65
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fae(e,t){if(e){if(typeof e==`string`)return D7(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?D7(e,t):void 0}}function D7(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function pae(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function mae(e){if(Array.isArray(e))return e}function hae(){var e=XN(),t=uae((0,o.useState)(null),2),n=t[0],r=t[1],i=J(uR);return(0,o.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;Z(t)&&t!==i&&e(ML(t))}},[n,e,i]),r}function O7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?O7(Object(n),!0).forEach(function(t){_ae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O7(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _ae(e,t,n){return(t=vae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vae(e){var t=yae(e,`string`);return typeof t==`symbol`?t:t+``}function yae(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function k7(){return k7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k7.apply(null,arguments)}function A7(e,t){return Cae(e)||Sae(e,t)||xae(e,t)||bae()}function bae(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
66
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xae(e,t){if(e){if(typeof e==`string`)return j7(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?j7(e,t):void 0}}function j7(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Sae(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Cae(e){if(Array.isArray(e))return e}var wae=()=>(P0(),null);function M7(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Tae=(0,o.forwardRef)((e,t)=>{var n=(0,o.useRef)(null),r=A7((0,o.useState)({containerWidth:M7(e.style?.width),containerHeight:M7(e.style?.height)}),2),i=r[0],a=r[1],s=(0,o.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,o.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;s(i,a);var o=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;s(r,i)}});o.observe(e),n.current=o}},[t,s]);return(0,o.useEffect)(()=>()=>{n.current?.disconnect()},[s]),o.createElement(o.Fragment,null,o.createElement(xz,{width:i.containerWidth,height:i.containerHeight}),o.createElement(`div`,k7({ref:c},e)))}),Eae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=A7((0,o.useState)({containerWidth:M7(n),containerHeight:M7(r)}),2),a=i[0],s=i[1],c=(0,o.useCallback)((e,t)=>{s(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),l=(0,o.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;c(r,i)}},[t,c]);return o.createElement(o.Fragment,null,o.createElement(xz,{width:a.containerWidth,height:a.containerHeight}),o.createElement(`div`,k7({ref:l},e)))}),Dae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height;return o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(`div`,k7({ref:t},e)))}),Oae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?o.createElement(Eae,k7({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?o.createElement(Dae,k7({},e,{width:n,height:r,ref:t})):o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(`div`,k7({ref:t},e)))});function kae(e){return e?Tae:Oae}var Aae=(0,o.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,s=e.onContextMenu,c=e.onDoubleClick,l=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,f=e.onMouseMove,p=e.onMouseUp,m=e.onTouchEnd,h=e.onTouchMove,g=e.onTouchStart,_=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0||b,S=(0,o.useRef)(null),C=XN(),w=A7((0,o.useState)(null),2),T=w[0],E=w[1],D=A7((0,o.useState)(null),2),O=D[0],k=D[1],A=hae(),j=cz(),M=j?.width>0?j.width:v,N=j?.height>0?j.height:i,ee=(0,o.useCallback)(e=>{A(e),typeof t==`function`&&t(e),E(e),k(e),e!=null&&(S.current=e)},[A,t,E,k]),te=(0,o.useCallback)(e=>{C(K5(e)),C(u7({handler:a,reactEvent:e}))},[C,a]),ne=(0,o.useCallback)(e=>{C(J5(e)),C(u7({handler:u,reactEvent:e}))},[C,u]),re=(0,o.useCallback)(e=>{C(GQ()),C(u7({handler:d,reactEvent:e}))},[C,d]),ie=(0,o.useCallback)(e=>{C(J5(e)),C(u7({handler:f,reactEvent:e}))},[C,f]),ae=(0,o.useCallback)(()=>{C(r7())},[C]),oe=(0,o.useCallback)(()=>{C(i7())},[C]),se=(0,o.useCallback)(e=>{C(n7(e.key))},[C]),ce=(0,o.useCallback)(e=>{C(u7({handler:s,reactEvent:e}))},[C,s]),le=(0,o.useCallback)(e=>{C(u7({handler:c,reactEvent:e}))},[C,c]),ue=(0,o.useCallback)(e=>{C(u7({handler:l,reactEvent:e}))},[C,l]),P=(0,o.useCallback)(e=>{C(u7({handler:p,reactEvent:e}))},[C,p]),de=(0,o.useCallback)(e=>{C(u7({handler:g,reactEvent:e}))},[C,g]),fe=(0,o.useCallback)(e=>{x&&C(h7(e)),C(u7({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,o.useCallback)(e=>{C(u7({handler:m,reactEvent:e}))},[C,m]),me=kae(y);return o.createElement(c0.Provider,{value:T},o.createElement(Jne.Provider,{value:O},o.createElement(me,{width:M??_?.width,height:N??_?.height,className:XA(`recharts-wrapper`,r),style:gae({position:`relative`,cursor:`default`,width:M,height:N},_),onClick:te,onContextMenu:ce,onDoubleClick:le,onFocus:ae,onBlur:oe,onKeyDown:se,onMouseDown:ue,onMouseEnter:ne,onMouseLeave:re,onMouseMove:ie,onMouseUp:P,onTouchEnd:pe,onTouchMove:fe,onTouchStart:de,ref:ee},o.createElement(wae,null),n)))}),jae=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Mae(e,t){if(e==null)return{};var n,r,i=Nae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Nae(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Pae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,s=e.className,c=e.style,l=e.compact,u=e.title,d=e.desc,f=ej(Mae(e,jae));return l?o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(E7,{otherAttributes:f,title:u,desc:d},a)):o.createElement(Aae,{className:s,style:c,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},o.createElement(E7,{otherAttributes:f,title:u,desc:d,ref:t},o.createElement(c8,null,a)))});function N7(){return N7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},N7.apply(null,arguments)}function P7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Fae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?P7(Object(n),!0).forEach(function(t){Iae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P7(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Iae(e,t,n){return(t=Lae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lae(e){var t=Rae(e,`string`);return typeof t==`symbol`?t:t+``}function Rae(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var zae=Fae({accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,layout:`horizontal`,margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:`none`,syncMethod:`index`},x7),Bae=(0,o.forwardRef)(function(e,t){var n=LM(e.categoricalChartProps,zae),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,s=e.tooltipPayloadSearcher,c=e.categoricalChartProps,l={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:s,eventEmitter:void 0};return o.createElement($ie,{preloadedState:{options:l},reduxStoreName:c.id??r},o.createElement(K6,{chartData:c.data}),o.createElement(tae,{layout:n.layout,margin:n.margin}),o.createElement(rae,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),o.createElement(nae,{baseValue:n.baseValue,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),o.createElement(Pae,N7({},n,{ref:t})))}),Vae=[`axis`,`item`],Hae=(0,o.forwardRef)((e,t)=>o.createElement(Bae,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:Vae,tooltipPayloadSearcher:m0,categoricalChartProps:e,ref:t})),F7=e=>e.reduce((e,t)=>e+t.count,0),Uae=e=>{let t=Math.floor(e.length/2),n=F7(e.slice(0,t)),r=F7(e.slice(e.length-t));return n===0?0:(r-n)/n*100},Wae=({active:e,payload:t,noun:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,z.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,z.jsx)(`div`,{className:`text-muted-foreground`,children:bf(r.at)}),(0,z.jsxs)(`div`,{className:`font-semibold tabular-nums`,children:[pf(r.count),` `,n]})]})},I7={fontSize:11,fill:`var(--muted-foreground)`},Gae=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:s,className:c})=>{let[l,u]=(0,o.useState)(n),d=i??l,f=a??u,p=r??oC(d),m=ju(`(min-width: 640px)`),h=Uae(p);return(0,z.jsxs)(`section`,{className:R(`rounded-lg border bg-background px-4 pb-2 pt-3`,c),children:[(0,z.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:e}),(0,z.jsx)(`span`,{className:`text-[13px] font-semibold tabular-nums`,children:pf(F7(p))}),(0,z.jsxs)(`span`,{className:R(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,z.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:s??`last ${d===`day`?`30 days`:`12 weeks`}`})]}),(0,z.jsx)(od,{value:d,onChange:f,options:[{value:`day`,label:`Day`},{value:`week`,label:`Week`}]})]}),(0,z.jsx)(`div`,{className:`mt-2 h-24`,children:(0,z.jsx)(uz,{width:`100%`,height:`100%`,children:(0,z.jsxs)(Hae,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,z.jsx)(u5,{vertical:!1,stroke:`var(--border)`}),(0,z.jsx)(R5,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:xf,tick:I7,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,z.jsx)(U5,{width:m?36:28,tick:I7,axisLine:!1,tickLine:!1,tickCount:3}),(0,z.jsx)(Z0,{cursor:{fill:`var(--muted)`},content:(0,z.jsx)(Wae,{noun:t}),isAnimationActive:!1}),(0,z.jsx)(A5,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},Kae={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},qae=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,s]=(0,o.useState)(t.granularity===`week`?`week`:`day`),c=a===`week`?`90d`:t.range,l=JA(e,{field:t.field,range:c,granularity:a,filter:i}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,z.jsx)(Gae,{title:n,noun:r,data:l,granularity:a,onGranularityChange:s,periodLabel:a===`week`?`last 12 weeks`:Kae[c]})},Jae=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,o.useState)(e);return(0,o.useEffect)(()=>a(e),[e]),(0,o.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,z.jsx)(Md,{wrapperClassName:R(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,z.jsx)(Ut,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},L7=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&hy(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,z.jsx)(by,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:VD(e,e.value?e.value(t):t[e.id])})}:e}),Yae=({model:e,view:t,target:n,children:r})=>{let i=EA(e.name,t.listOf,!0),a=t.names?.plural??W(e.name),o=e=>(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[(0,z.jsx)(Hd,{title:a,subtitle:t.help}),e]});if(i.error)return o((0,z.jsx)(ey,{title:`Could not load your ${a.toLowerCase()}`,error:i.error}));if(!i.data)return o((0,z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}));let s=zte(n,i.data);return s?r(s):o((0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,a.toLowerCase(),` yet.`]}))},R7=eo(),Xae={start:0,end:0},Zae=(e,t,n)=>{let r=Hk(Zk(t,e),n);return r.ok?Object.fromEntries(Object.entries(r.state.facets).filter(([t,n])=>e.fields[t]?.type===`relation`&&n.length>0)):{}},Qae=(e,t,n)=>{let r=e=>t?.fields[e]?.label??W(e),i=Zk(t,e);return{...i,facets:i.facets.map(i=>{if(i.flags)return{...i,options:i.options.map(e=>({...e,label:r(e.value)}))};let a=e.fields[i.id]?.enumValues??[],o=e.fields[i.id]?.type===`enum`?Object.fromEntries(a.map(e=>[e,Bo(e,t?.fields[i.id]?.valueLabels)])):n[i.id]??{};return{...i,label:r(i.id),labels:o}}),ranges:(i.ranges??[]).map(e=>({...e,label:r(e.id),format:$k(t,e.id)})),toggles:i.toggles?.map(e=>({...e,label:r(e.id)}))}},z7=(e,t,n,r={})=>{let i=Qae(e,t,r),a=Hk(i,n);if(!a.ok)return[{key:`unreadable`,label:`A filter that cannot be read`}];let o=a.extras.map((e,t)=>({key:`extra:${t}`,label:e.kind===`search`?`"${e.text}"`:za(e)}));return[...JO(i,a.state),...o]},$ae=e=>Object.fromEntries(e.facets.filter(e=>!e.flags).map(e=>[e.id,{...e.labels,...Object.fromEntries(e.options.map(e=>[e.value,e.label]))}])),B7=e=>e.map(e=>e.label).join(`, `),eoe=(e,t,n)=>{if(typeof n!=`string`||n===``)return e;let r=R7.gt(t,{kind:`timestamp`,value:new Date(n).toISOString(),span:Xae}),i=na(e);if(!i.ok)throw Error(`The saved filter cannot be read: ${i.errors.map(e=>e.message).join(`; `)}`);return za(i.ast?R7.and(i.ast,r):r)},toe=e=>H.list(e,``,``,500,`saved-searches`),V7=(e,t)=>{let n=U(),{resources:r,views:i}=G(),a=r[e];return yh({queryKey:toe(e),enabled:t&&a!==void 0,queryFn:async()=>{let t=[],r;do{let o=await n.list(e,{pageSize:500,orderBy:Cv(a,i[e]),...r&&{pageToken:r}});t.push(...o.items),r=o.nextPageToken||void 0}while(r);return t}})},noe=e=>e instanceof Error?e.message:`Something went wrong`,roe=(e,t,n)=>{let r=G(),i=U(),a=Fg(),o=CA(),{go:s}=Hv(),{resource:c}=e,l=r.resources[c],u=r.views[c]?.searchesOf,d=r.permissions[c],f=l!==void 0&&u!==void 0&&d!==void 0&&wy(d,`create`)&&wy(d,`delete`),p=r.signIn?.[c]?.signIn,m=V7(c,f),h=u&&m.data?.find(e=>e[u.filter]===t),g=r.views[c]?.names?.plural??`saved searches`,_=bh({mutationFn:async e=>{e?await i.remove(c,po(vg(l,e))):await i.create(c,{[u.filter]:t,...u.name&&{[u.name]:n}})},onSuccess:(e,t)=>{t||a.show({state:`success`,title:`Search saved`,action:{label:`Open ${g.toLowerCase()}`,onClick:()=>s({kind:`list`,resource:c})}})},onError:(e,t)=>a.show({state:`error`,title:t?`Could not take the search off`:`Could not save the search`,description:noe(e)}),onSettled:()=>o(c)});return{mode:f?`save`:p?`sign-in`:void 0,prompt:p,saved:h!==void 0,ready:m.data!==void 0&&!_.isPending,toggle:()=>_.mutate(h)}},H7=({search:e,filter:t,name:n,className:r})=>{let i=roe(e,t,n),[a,s]=(0,o.useState)(!1);if(!i.mode)return null;let c=e.label??`Save search`;if(i.mode===`sign-in`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(V,{className:r,"aria-haspopup":`dialog`,onClick:()=>s(!0),children:[(0,z.jsx)(ne,{className:`size-3.5`,"aria-hidden":!0}),c]}),(0,z.jsx)(yA,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>s(!1)})]});let l=i.saved?ee:ne;return(0,z.jsxs)(V,{className:r,"aria-pressed":i.saved,"aria-disabled":!i.ready,onClick:()=>i.ready&&i.toggle(),children:[(0,z.jsx)(l,{className:i.saved?`size-3.5 text-primary`:`size-3.5`,"aria-hidden":!0}),c]})},ioe=({list:e,empty:t,loading:n,children:r})=>(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.loading?n:e.error?(0,z.jsx)(ey,{title:`Could not load rows`,error:e.error}):e.rows.length===0?(0,z.jsx)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:t}):r}),aoe=({list:e})=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{children:[e.rows.length.toLocaleString(`en-IE`),` of `,e.total.toLocaleString(`en-IE`)]}),e.more&&(0,z.jsx)(V,{size:`sm`,onClick:e.loadMore,children:`Show more`})]}),U7=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,ooe=`flex snap-x snap-mandatory gap-3 overflow-x-auto pb-1`,soe=({model:e,view:t,display:n,list:r,row:i=!1,footer:a=!0})=>{let o=(t?.names?.plural??W(e.name)).toLowerCase();return(0,z.jsxs)(ioe,{list:r,empty:`No ${o} match.`,loading:(0,z.jsx)(`div`,{className:U7,children:Array.from({length:6},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}),children:[(0,z.jsx)(`ul`,{className:i?ooe:U7,"aria-label":t?.names?.plural??W(e.name),children:r.rows.map(r=>(0,z.jsx)(`li`,{className:R(i&&`w-64 shrink-0 snap-start`),children:(0,z.jsx)(MA,{model:e,view:t,display:n,row:r,swipe:!i})},r.key))}),a&&(0,z.jsx)(aoe,{list:r})]})},coe=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=qp(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=yh({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await R_(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,z.jsx)(Uv,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,z.jsx)(`span`,{children:c})},loe=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=G(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,z.jsx)(coe,{field:t,value:n,known:i});let s=t.type===`file`?G_(n):void 0;if(s&&`url`in s&&s.url){let e=$_(n,{width:40,height:40});return(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[e&&(0,z.jsx)(dy,{image:e,className:`size-10 shrink-0 rounded border border-border object-cover`}),(0,z.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`truncate font-medium text-primary-text hover:underline`,children:s.name})]})}let c=iv(t,n,o);return t.type===`enum`||o.format===`badge`?(0,z.jsx)(DA,{value:n,hints:o,children:c}):(0,z.jsx)(`span`,{className:R(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`),children:c})},W7=e=>{let{views:t}=G(),n=gy(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,z.jsx)(loe,{...e});return n?(0,z.jsx)(by,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},G7=(e,t,n)=>{if(!t)return[];let r=Ns(e,t.model.name,n);return r.ok?r.steps:[]},K7=(e,t,n,r,i)=>({queryKey:H.pathValue(n?.model.name??``,n?.key??``,r),enabled:i.length>1,queryFn:async()=>{let r=n.record;for(let n of i.slice(0,-1)){let i=r[n.field.name];if(i==null)return null;let a=n.field.relation.resource;r=(await t.fetchQuery({queryKey:H.record(a,String(i)),queryFn:()=>e.get(a,String(i))})).record}return r[i.at(-1).field.name]??null}}),q7=(e,t,n)=>{let r=t.at(-1);return!e||!r?{state:`missing`}:t.length===1?{state:`ready`,value:e.record[r.field.name],field:r.field,model:r.model}:n.isPending?{state:`loading`}:{state:`ready`,value:n.data??null,field:r.field,model:r.model}},J7=(e,t)=>{let{resources:n}=G(),r=G7(n,e,t);return q7(e,r,yh(K7(U(),qp(),e,t,r)))},uoe=(e,t)=>{let{resources:n}=G(),r=U(),i=qp(),a=t.map(t=>G7(n,e,t)),o=_h({queries:t.map((t,n)=>K7(r,i,e,t,a[n]))});return t.map((t,n)=>q7(e,a[n],o[n]))},Y7=e=>e.includes(`.`),doe=({model:e,row:t,column:n})=>{let r=J7(bA(e,Sv(e,t).record),n);return r.state===`loading`?(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,z.jsx)(W7,{model:r.model,field:r.field,value:r.value})},foe=(e,t,{resources:n,views:r})=>{let i=Ns(n,e.name,t),a=i.ok?i.steps.at(-1):void 0,o=a?.field.name??t;return{id:t,header:r[a?.model.name??e.name]?.fields[o]?.label??W(o),kind:`text`,width:200,render:n=>(0,z.jsx)(doe,{model:e,row:n,column:t})}},poe=(e,t,n,r)=>{let i=new Map(L7(wk(e,t,[],n.filter(e=>!Y7(e))),e,t,r.fieldTypes).map(e=>[e.id,e]));return n.flatMap(t=>Y7(t)?[foe(e,t,r)]:i.get(t)??[])},moe=`protobase:embedded-display:`,hoe=e=>`${moe}${e}`,goe=(e,t)=>dd(()=>e.getItem(t)??void 0,void 0),_oe=(e,t,n)=>dd(()=>e.setItem(t,n),void 0),voe=(e,t,{picked:n,preferred:r})=>{let i=fv(e).map(e=>e.name);return n!==void 0&&i.includes(n)?n:lv(e,t,r!==void 0&&i.includes(r)?r:void 0)},yoe=(e,t,n,r)=>kv({kind:`list`,resource:e.name},r,Dv(e,t,n)),boe=({model:e,filter:t,orderBy:n,limit:r,fields:i})=>{let a=U(),{resources:o,views:s}=G();return yh({queryKey:[...H.list(e.name,t,n,r,`embedded`),i.join(`,`)],placeholderData:_m,queryFn:async()=>{let c=B_(o,s,e,i),l=ov(s[e.name]),u=await a.search(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,labels:c,photos:l});return V_(o,e,i,sv(e,u.items,u.photos),u.labels).map((t,n)=>({...t,id:_g(e,u.items[n])}))}})},X7=({view:e,value:t,onChange:n})=>(0,z.jsx)(GA,{view:e,value:t,onChange:n,menu:!Mu()}),xoe=()=>(0,z.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-4 w-full`},t))}),Z7=({model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:s,empty:c,row:l=!1,viewAll:u})=>{let{resources:d,views:f}=G(),{fields:p}=p_(),{go:m}=Hv(),h=Nu(),[g,_]=(0,o.useState)(r||Cv(e,t)),v=i??Ck(e,t),y=(0,o.useMemo)(()=>poe(e,t,v,{resources:d,views:f,fieldTypes:p}),[e,t,v.join(`,`),d,f,p]),b=(0,o.useMemo)(()=>yv(e,t,y.map(e=>e.id)),[e,t,y]),x=boe({model:e,filter:n,orderBy:g,limit:a,fields:b}),S=x.data,C=(0,o.useMemo)(()=>S&&{total:S.length,rowAt:e=>S[e]},[S]),T=uv(t,s),E=t?.names?.plural??W(e.name),D=(0,z.jsxs)(Uv,{to:yoe(e,t,h,u?{filter:u.filter,orderBy:Cv(e,t),display:s}:{filter:n,orderBy:g,display:s}),onClick:u?.onOpen,className:`flex items-center gap-1 self-end text-[13px] font-medium text-primary-text hover:underline`,children:[u?u.label:(0,z.jsxs)(z.Fragment,{children:[`View all `,(0,z.jsx)(`span`,{className:`sr-only`,children:E.toLowerCase()})]}),(0,z.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})]});if(x.isPending)return(0,z.jsx)(xoe,{});if(x.error)return(0,z.jsx)(ey,{title:`Could not load`,error:x.error});if(!C||C.total===0){let e=(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:c??`Nothing here yet.`});return u?(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e,D]}):e}let O={resource:e.name,rows:x.data.map(t=>Sv(e,t)),total:x.data.length,loading:!1,error:null,more:!1,loadMore:()=>void 0},k=t=>m({kind:`record`,resource:e.name,key:vg(e,t)}),A=t?.names?.singular??W(e.name);return(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[T?T.kind===`cards`?(0,z.jsx)(soe,{model:e,view:t,display:T,list:O,row:l||h,footer:!1}):T.kind===`map`?(0,z.jsx)(HA,{model:e,view:t,display:T,filter:n,orderBy:g,fields:b,footer:!1}):(0,z.jsx)(WA,{display:T,list:O}):(0,z.jsx)(LO,{fit:!0,columns:y,source:C,latencyMs:0,sort:wv(g),onSortChange:e=>_(Tv(e)),onOpenRow:k,rowActions:[{label:`Open ${A.toLowerCase()}`,onSelect:k}],rowNumbers:!1,selectable:!1}),D]})},Soe=e=>e instanceof Error?e.message:`Something went wrong`,Coe=({model:e,view:t,name:n,value:r,onChange:i})=>{let a=(0,o.useId)(),s=e.fields[n],c=t.fields[n],l=c?.label??W(n);if(s?.type===`boolean`)return(0,z.jsx)(H_,{checked:r===!0,onChange:i,label:l});if(s?.type!==`enum`)throw Error(`Not implemented: "${n}" is ${s?.type??`unknown`}, and a saved search's controls are enums or booleans`);return(0,z.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[l,(0,z.jsx)(`select`,{id:a,value:String(r??``),onChange:e=>i(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px] text-foreground shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:(s.enumValues??[]).map(e=>(0,z.jsx)(`option`,{value:e,children:Bo(e,c?.valueLabels)},e))})]})},woe=({model:e,view:t,recordKey:n,row:r,fields:i})=>{let a=U(),o=Fg(),s=CA(),c=bh({mutationFn:t=>a.update(e.name,n,t,r.etag??`*`),onError:e=>o.show({state:`error`,title:`Could not change the search`,description:Soe(e)}),onSettled:()=>s(e.name)});return(0,z.jsx)(`div`,{className:`flex flex-wrap items-center gap-3`,children:i.map(n=>(0,z.jsx)(Coe,{model:e,view:t,name:n,value:c.isPending&&n in(c.variables??{})?c.variables[n]:r[n],onChange:e=>c.mutate({[n]:e})},n))})},Toe=(e,t)=>{let n=U(),r=qp(),{resources:i,views:a}=G(),o=a[e.name],s=Object.entries(Zae(e,o,t)),c=_h({queries:s.map(([t,o])=>{let s=i[e.fields[t].relation.resource];return{queryKey:H.labels(`chips:${e.name}.${t}`,o.join(`,`)),enabled:s!==void 0,queryFn:async()=>Object.fromEntries(await R_(r,n,s,o,a[s.name]))}})});return z7(e,o,t,Object.fromEntries(s.flatMap(([e],t)=>c[t]?.data?[[e,c[t].data]]:[])))},Eoe=`inline-flex h-6 items-center rounded-full border border-primary-border bg-primary-soft px-2.5 text-xs font-medium text-primary-text`,Doe=12,Ooe=({model:e,view:t,of:n,target:r,targetView:i,row:a,recordKey:o,title:s,onDelete:c})=>{let l=U(),u=CA(),d=String(a[n.filter]??``),f=Toe(r,d),p=n.unseen,m=bh({mutationFn:t=>l.update(e.name,o,{[p.seenAt]:t},a.etag??`*`),onSettled:()=>u(e.name)}),h=i?.list?.displays?.find(e=>e.kind===`cards`),g=(i?.names?.plural??W(r.name)).toLowerCase();return(0,z.jsxs)(`section`,{"aria-label":s,className:`flex flex-col gap-3 rounded-lg border bg-surface p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:(0,z.jsx)(Uv,{to:{kind:`record`,resource:e.name,key:o},className:`hover:underline`,children:s})}),f.length>0&&B7(f)!==s&&(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-1.5`,"aria-label":`Filters`,children:f.map(e=>(0,z.jsx)(`li`,{className:Eoe,children:e.label},e.key))})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.controls&&(0,z.jsx)(woe,{model:e,view:t,recordKey:o,row:a,fields:n.controls}),c&&(0,z.jsx)(V,{variant:`ghost`,"aria-label":`Delete ${s}`,onClick:c,children:(0,z.jsx)(gn,{className:`size-3.5`,"aria-hidden":!0})})]})]}),(0,z.jsx)(Z7,{model:r,view:i,filter:p?eoe(d,p.field,a[p.seenAt]):d,sort:p?`${p.field} desc`:Cv(r,i),limit:n.limit??Doe,display:h?.name??`table`,row:!0,empty:p?`No new ${g} since you last looked.`:`No ${g} match.`,viewAll:{filter:d,label:`View all results`,...p&&{onOpen:()=>m.mutate(new Date().toISOString())}}})]})},koe=({model:e,view:t})=>{let{resources:n,views:r}=G(),i=t.searchesOf,a=n[i.resource],o=r[i.resource],s=V7(e.name,!0),c=Vv(e.name),l=fA({model:e,view:t}),u=t.names?.plural??W(e.name),d=hg(e,t),f=e=>(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[l.dialogs,(0,z.jsx)(Hd,{title:u,subtitle:t.help}),e]});if(!a)return f((0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,i.resource,`.`]}));if(s.error)return f((0,z.jsx)(ey,{title:`Could not load your ${u.toLowerCase()}`,error:s.error}));if(!s.data)return f((0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,z.jsx)(kd,{className:`h-56`},t))}));if(s.data.length===0){let e=(o?.names?.plural??W(a.name)).toLowerCase();return f((0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,u.toLowerCase(),` yet. Filter the`,` `,(0,z.jsx)(Uv,{to:{kind:`list`,resource:a.name},className:`font-medium text-primary-text hover:underline`,children:e}),` `,`and save the search.`]}))}return f((0,z.jsx)(`div`,{className:`flex flex-col gap-4`,children:s.data.map(n=>{let r=po(vg(e,n)),s=String(n[d]??r),u=wy(c,`delete`)?()=>void l.start({key:r,title:s,etag:n.etag,snapshot:n}):void 0;return(0,z.jsx)(Ooe,{model:e,view:t,of:i,target:a,targetView:o,row:n,recordKey:r,title:s,onDelete:u},r)})}))},Aoe=eo(),joe=e=>e.find(e=>e.kind===`search`),Moe=({address:e})=>{let{resources:t,views:n,signIn:r}=G(),i=t[e.resource],a=r?.[e.resource];if(!i)return a?(0,z.jsx)(yA,{as:`page`,prompt:a.signIn}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]});let o=n[e.resource];if(o?.searchesOf)return(0,z.jsx)(koe,{model:i,view:o});let s=Ev(t,n,e.resource);if(o&&s.listOf){let t=s.model;return(0,z.jsx)(Yae,{model:i,view:o,target:t,children:n=>(0,z.jsx)(Q7,{model:t,address:e,scope:n,heading:{title:o.names?.plural??W(i.name),subtitle:o.help}})})}return(0,z.jsx)(Q7,{model:i,address:e})},Q7=({model:e,address:t,scope:n,heading:r})=>{let i=G(),{set:a,go:s}=Hv(),c=e.name,l=i.views[c],u=(0,o.useMemo)(()=>Zk(l,e),[l,e]),{fields:d}=p_(),f=(0,o.useMemo)(()=>L7(wk(e,l),e,l,d),[e,l,d]),p=t.filter,m=(0,o.useMemo)(()=>Hk(u,p),[u,p]),h=m.ok?m.state:UO,g=m.ok?m.extras:[],{orderBy:_,filterLayout:v}=t,y=Mu(),[b,x]=(0,o.useState)(!1),S=n?[...g,n]:g,C=tA({model:e,resources:i.resources,views:i.views,view:l,state:h,extras:S}),w=n?Fk(u,h,S):m.ok?p:``,T=(0,o.useMemo)(()=>yv(e,l,f.map(e=>e.id)),[e,l,f]),E=iA({resources:i.resources,views:i.views,model:e,columns:T,filter:w,orderBy:_}),D=uv(l,t.display),O=!D||D.kind===`cards`;Vu(O);let k=wne(e,E.page,E.key,D?.kind===`custom`),A=Tne(),j=hg(e,l),M=e=>({key:e.id,title:String(typeof e[j]==`object`?e[j].name:e[j]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),N=l?.names?.singular??W(c),ee=Vv(c),{state:te}=B(),ne=fA({model:e,view:l,restore:pA(e),onReview:e=>s({kind:`record`,resource:c,key:e.key})}),re=(e,t=g)=>a({filter:Fk(u,e,t)}),ie=joe(g),ae=e=>{let t=g.filter(e=>e.kind!==`search`);re(h,e?[...t,Aoe.search(e)]:t)},oe=l?.names?.plural??W(c),se=D&&(0,z.jsx)(KA,{model:e,view:l,display:D,orderBy:_,onChange:e=>a({orderBy:e})}),ce=e.search?.length?(0,z.jsx)(Jae,{value:ie?.kind===`search`?ie.text:``,onCommit:ae,placeholder:`Search ${oe.toLowerCase()}`,className:y?void 0:`min-h-11`}):null,le=(0,z.jsx)(pk,{layout:v,config:C,value:h,onChange:re,leading:v===`bar`?se:void 0,trailing:ce}),ue=v===`bar`?le:(0,z.jsx)(dk,{groups:[se?[se]:[]],trailing:ce}),P=JO(C,h),de=(0,z.jsx)(zO,{scroll:!0,chips:P,onRemove:e=>re(YO(h,e)),onClear:()=>re(UO)}),fe=D&&(0,z.jsx)(nk,{title:`Sort`,children:(0,z.jsx)(KA,{model:e,view:l,display:D,orderBy:_,onChange:e=>a({orderBy:e}),className:`min-h-11 w-full`})}),pe=(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(V,{className:`min-h-11`,onClick:()=>x(!0),"aria-haspopup":`dialog`,children:[(0,z.jsx)(tn,{className:`size-3.5`}),`Filters`,P.length>0&&` (${P.length})`]}),ce??(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:de})]}),ce&&de,(0,z.jsx)(aA,{title:`Filters`,open:b,onClose:()=>x(!1),children:(0,z.jsx)(pk,{layout:`panel`,fullWidth:!0,config:C,value:h,onChange:re,leading:fe})})]}),me=!n&&wy(ee,`create`)&&(0,z.jsxs)(V,{variant:`primary`,onClick:()=>s({kind:`create`,resource:c}),children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`New `,N.toLowerCase()]}),he=l?.saveSearch&&!n&&m.ok&&p&&(0,z.jsx)(H7,{search:l.saveSearch,filter:p,name:B7(z7(e,l,p,$ae(C)))}),ge=e=>(0,z.jsx)(GA,{view:l,value:D?.name??`table`,onChange:e=>a({display:e}),menu:e}),_e=t=>s({kind:`record`,resource:c,key:vg(e,t)}),ve=E.source?(0,z.jsx)(LO,{columns:f,source:E.source,sort:wv(_),onSortChange:e=>a({orderBy:Tv(e)}),onOpenRow:_e,initialScrollIndex:A.initialIndex,onScrollIndex:A.remember,rowActions:[{label:`Open ${N.toLowerCase()}`,onSelect:_e},...wy(ee,`delete`)?[{label:`Delete`,destructive:!0,available:e=>Ty(e,`delete`),onSelect:e=>void ne.start(M(e))}]:[]],bulkActions:wy(ee,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>ne.startBulk(e.map(M))}]:[],rowNumbers:!1,pinKey:te.kind===`signed-in`?iO(te.user.id,c):void 0,scroll:`parent`,className:`flex-1`}):(0,z.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),ye={...E,initialIndex:A.initialIndex,onScrollIndex:A.remember},be=D?D.kind===`cards`?(0,z.jsx)(ine,{model:e,view:l,display:D,list:ye},E.key.join(` `)):D.kind===`map`?(0,z.jsx)(HA,{model:e,view:l,display:D,filter:w,orderBy:_,fields:T,at:t.map,onMove:e=>a({map:e}),flush:!0}):(0,z.jsx)(WA,{display:D,list:k}):ve;return(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[ne.dialogs,(0,z.jsx)(Hd,{title:r?.title??oe,subtitle:r?r.subtitle:l?.help,aside:!y&&ge(!0),actions:y?(0,z.jsxs)(z.Fragment,{children:[ge(!1),he,me]}):(0,z.jsxs)(z.Fragment,{children:[he,me]})}),!m.ok&&(0,z.jsx)(ey,{title:`The filter in the address could not be read`,error:Error(m.errors.map(e=>e.message).join(`; `))}),E.error&&!D&&(0,z.jsx)(ey,{title:`Could not load rows`,error:E.error}),l?.chart&&(0,z.jsx)(qae,{resource:c,chart:l.chart,title:`${oe} created`,noun:oe.toLowerCase(),filter:w}),y?ue:pe,y&&v===`panel`?(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[(0,z.jsx)(`div`,{className:O?`sticky top-[calc(var(--pb-sticky-top,0px)+1rem)] flex max-h-[calc(100dvh-var(--pb-sticky-top,0px)-var(--pb-sticky-bottom,0px)-2rem)] shrink-0 self-start`:`flex shrink-0`,children:le}),be]}):be]})},$7=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,z.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.filter(e=>e.membership).map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,z.jsxs)(`label`,{title:o&&!r?`You cannot give or take away this role`:void 0,className:R(`inline-flex items-center gap-1.5 text-[13px]`,o&&`text-muted-foreground`),children:[(0,z.jsx)(Vh,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:R(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),e9=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],Noe=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Qh(),l=i?.roles??[],u=e.id===t.memberId,d=e9(t),f=e.role===`owner`&&t.role!==`owner`;return(0,z.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`span`,{className:`block truncate text-[13px] font-medium`,children:[e.name,u&&` (you)`]}),(0,z.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.email})]}),(0,z.jsx)(`select`,{"aria-label":`Organization role of ${e.name}`,value:e.role,disabled:o||f,onChange:t=>void c(async()=>{await r.organizations.setRole(a,e.id,t.target.value),n()}),className:`h-7 rounded-md border border-border-strong bg-background px-2 text-xs`,children:(f?[e.role]:d).map(e=>(0,z.jsx)(`option`,{value:e,children:qh[e]},e))}),!u&&(0,z.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:`Remove`})]}),(0,z.jsx)($7,{roles:l,selected:e.appRoles,grantable:Zh(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,z.jsx)(jf,{message:s})]})},Poe=({current:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(),[i,a]=(0,o.useState)(),s=e?.organization?.id,c=(0,o.useCallback)(()=>{s&&t.organizations.members(s).then(r,e=>a(e instanceof zs?qd(e):`Could not read the members`))},[t,s]);return(0,o.useEffect)(c,[c]),e?.organization?(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,z.jsxs)(Af,{title:`Members`,description:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,children:[(0,z.jsx)(jf,{message:i}),n?(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,z.jsx)(Noe,{member:t,current:e,onChanged:c},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})]})]}):null},t9=({link:e})=>e?(0,z.jsxs)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:[`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: `,(0,z.jsx)(`span`,{className:`font-mono`,children:e})]}):null,Foe=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,s]=(0,o.useState)(``),[c,l]=(0,o.useState)(`member`),[u,d]=(0,o.useState)([]),[f,p]=(0,o.useState)(),{busy:m,error:h,run:g}=Qh(),_=()=>g(async()=>{let r=await n.organizations.invite(e.organization.id,{email:a.trim(),role:c,appRoles:u});p(r.link),s(``),d([]),t()});return(0,z.jsxs)(Af,{title:`Invite someone`,description:`They get an email with a link to join, or to make an account first. You can give the app roles you hold, and those your roles grant.`,children:[(0,z.jsx)(jf,{message:h}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),_()},children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsx)(Md,{"aria-label":`Email`,type:`email`,placeholder:`name@example.com`,value:a,onChange:e=>s(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(`select`,{"aria-label":`Organization role`,value:c,onChange:e=>l(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:e9(e).map(e=>(0,z.jsx)(`option`,{value:e,children:qh[e]},e))}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,z.jsx)($7,{roles:i,selected:u,grantable:Zh(i,e),onChange:d})]}),(0,z.jsx)(t9,{link:f})]})},Ioe=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,s]=(0,o.useState)(),{busy:c,error:l,run:u}=Qh(),d=new Date(e.expiresAt).getTime()<Date.now();return(0,z.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.email}),(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[qh[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>Jh(i?.roles??[],e)).join(`, `)}`,` · `,d?`Expired`:`Until ${new Date(e.expiresAt).toLocaleDateString()}`]})]}),(0,z.jsx)(V,{size:`sm`,loading:c,onClick:()=>void u(async()=>{s((await r.organizations.resend(t,e)).link),n()}),children:`Send again`}),(0,z.jsx)(V,{size:`sm`,variant:`danger`,loading:c,onClick:()=>void u(async()=>{await r.organizations.revoke(e.id),n()}),children:`Revoke`})]}),(0,z.jsx)(jf,{message:l}),(0,z.jsx)(t9,{link:a})]})},Loe=({current:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)([]),i=e?.organization?.id,a=(0,o.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,o.useEffect)(a,[a]),!e?.organization||!i?null:(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,z.jsx)(Foe,{current:e,onSent:a}),(0,z.jsx)(Af,{title:`Not accepted yet`,description:n.length>0?`Sending again gives a new link, which replaces the earlier one.`:`Nobody is waiting.`,children:n.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,z.jsx)(Ioe,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},Roe=e=>{let{session:t}=B(),[n,r]=(0,o.useState)(),[i,a]=(0,o.useState)([]),[s,c]=(0,o.useState)(),[l,u]=(0,o.useState)(0),d=(0,o.useCallback)(()=>u(e=>e+1),[]);return(0,o.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>c(e instanceof zs?qd(e):`Could not read your organizations`))},[e,t,l]),{current:n,organizations:i,...s&&{error:s},reload:d}},n9=e=>window.location.assign(`${e}/`),zoe=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,o.useState)(e.name),[s,c]=(0,o.useState)(e.slug),{busy:l,error:u,run:d}=Qh(),f=i.trim()!==e.name||s!==e.slug;return(0,z.jsxs)(Af,{title:`Details`,description:t?`The name people see, and the slug that names it in links.`:`Owners and admins can change these.`,children:[(0,z.jsx)(jf,{message:u}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),d(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:s}),n()})},children:[(0,z.jsx)(Md,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(Md,{"aria-label":`Slug`,value:s,disabled:!t,onChange:e=>c(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:l,disabled:!f||!i.trim(),children:`Save`})]})]})},Boe=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)([]),[a,s]=(0,o.useState)(``),{busy:c,error:l,run:u}=Qh();return(0,o.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,z.jsxs)(Af,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,z.jsx)(jf,{message:l}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsxs)(`select`,{"aria-label":`New owner`,value:a,onChange:e=>s(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:[(0,z.jsx)(`option`,{value:``,children:`Choose a member`}),r.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,z.jsx)(V,{loading:c,disabled:!a,onClick:()=>void u(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:`Hand over`})]})]})},Voe=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(``),{busy:c,error:l,run:u}=Qh(),d=()=>u(async()=>{await n.organizations.remove(e.id),n9(t)});return(0,z.jsxs)(Af,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,z.jsx)(jf,{message:r?void 0:l}),(0,z.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,z.jsxs)(kf,{title:`Delete ${e.name}?`,description:`Type its name to confirm. This cannot be undone.`,onClose:()=>i(!1),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>i(!1),children:`Cancel`}),(0,z.jsx)(V,{variant:`danger`,loading:c,disabled:a!==e.name,onClick:()=>void d(),children:`Delete`})]}),children:[(0,z.jsx)(jf,{message:l}),(0,z.jsx)(Md,{"aria-label":`Organization name`,value:a,onChange:e=>s(e.target.value)})]})]})},Hoe=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Qh();return(0,z.jsxs)(Af,{title:`Leave`,description:n?`An organization keeps an owner: hand it over before you leave, unless it has another owner.`:`You stop being a member, and lose your roles here.`,children:[(0,z.jsx)(jf,{message:a}),(0,z.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),n9(t)}),children:[`Leave `,e.name]})]})},Uoe=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,z.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,z.jsx)(Hd,{title:`Organization`,subtitle:`You do not work in an organization now. Choose one under Organizations.`})});let i=e.role===`owner`;return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:r.name,subtitle:e.role?`You are ${qh[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,z.jsx)(zoe,{organization:r,editable:Yh(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,z.jsx)(Boe,{organization:r,memberId:e.memberId}),e.role&&(0,z.jsx)(Hoe,{organization:r,basePath:t,owner:i}),i&&(0,z.jsx)(Voe,{organization:r,basePath:t})]})},r9=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),i9=({organization:e,current:t,busy:n,onOpen:r})=>(0,z.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,z.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,z.jsx)(rd,{tone:`green`,children:`Current`}):(0,z.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),Woe=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(``),[i,a]=(0,o.useState)(),{busy:s,error:c,run:l}=Qh(),u=()=>l(async()=>{await t.organizations.create({name:n.trim(),slug:i??r9(n)}),n9(e)});return(0,z.jsxs)(Af,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,z.jsx)(jf,{message:c}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,z.jsx)(Md,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(Md,{"aria-label":`Slug`,placeholder:`slug`,value:i??r9(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:s,disabled:!n.trim(),children:`Create`})]})]})},Goe=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)(``),[a,s]=(0,o.useState)([]),{busy:c,error:l,run:u}=Qh();return(0,o.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(s,()=>s([])),200);return()=>clearTimeout(e)},[n,r]),(0,z.jsxs)(Af,{title:`Find an organization`,description:`Your global roles let you work in any organization, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,children:[(0,z.jsx)(jf,{message:l}),(0,z.jsx)(Md,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,z.jsx)(Ut,{className:`size-3.5`}),wrapperClassName:`mb-3`}),a.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:a.map(r=>(0,z.jsx)(i9,{organization:r,current:r.id===t,busy:c,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),n9(e)})},r.id))})]})},Koe=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,o.useState)([]);if((0,o.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,z.jsx)(Af,{title:`Invitations for you`,description:`Open the link in the invitation email to accept one.`,children:(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,z.jsxs)(`li`,{className:`px-3 py-2.5 text-[13px]`,children:[(0,z.jsx)(`span`,{className:`font-medium`,children:e.organizationName??`An organization`}),`: `,e.appRoles.map(e=>Jh(i,e)).join(`, `)||`no app roles`,(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[`Until `,new Date(e.expiresAt).toLocaleDateString()]})]},e.id))})})},qoe=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Qh(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&sg(c),u=e.current?.organization?.id;return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,z.jsxs)(Af,{title:`Your organizations`,description:e.organizations.length>0?`The organizations you are a member of.`:`You are not a member of an organization yet.`,children:[(0,z.jsx)(jf,{message:o??e.error}),e.organizations.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,z.jsx)(i9,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),n9(t)})},e.id))})]}),(0,z.jsx)(Koe,{}),l&&(0,z.jsx)(Woe,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,z.jsx)(Goe,{basePath:t,currentId:u})]})},Joe=(e,t)=>t?.active?{...e,role:t.active}:e,a9=(e,t)=>e instanceof zs?qd(e):t,Yoe=(e,t=!0)=>{let{session:n}=B(),r=Fg(),[i,a]=(0,o.useState)();(0,o.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:a9(e,`Could not read your roles`)}))},[n,r,t]);let s=(0,o.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:a9(e,`Could not switch the role`)})),[n,r,e]);return{...i&&{current:i},switchTo:s}},o9=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),Xoe=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:P_(r.icon,Ve),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??W(r.page),icon:P_(r.icon??i?.icon,nt),href:qo({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??W(r.resource),icon:P_(r.icon,M_(r.resource)),href:qo({kind:`list`,resource:r.resource},t),active:r.resource===n}}),Zoe={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},Qoe=(e,t=``,n={})=>{let r=new Map,i=new Map,a=o9(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??`Pages`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:P_(n.icon,nt),href:qo({kind:`page`,page:n.name},t)}),r.set(e,o),i.set(n.name,n.nav?.order??2**53-1)}for(let o of Object.values(e.resources)){let s=e.views[o.name];if(!s||s.nav?.hidden||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??Zoe[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:M_(o.name),href:qo({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}}),r.set(l,u),i.set(o.name,s.nav?.order??2**53-1)}for(let n of Object.values(e.signIn??{})){if(n.nav?.hidden||a.has(n.resource))continue;let e=n.nav?.group??`Account`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.resource,label:n.names?.plural??W(n.resource),icon:M_(n.resource),href:qo({kind:`list`,resource:n.resource},t)}),r.set(e,o),i.set(n.resource,n.nav?.order??2**53-1)}for(let n of e.sources??[]){if(n.state!==`error`)continue;let e=r.get(n.source.label)??{label:n.source.label,items:[]};for(let r of n.source.resources)e.items.push({id:r,label:W(r),icon:M_(r),href:qo({kind:`list`,resource:r},t),problem:`Cannot reach ${n.source.label}`});r.set(n.source.label,e)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},s9=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,z.jsx)(kf,{title:`${t}?`,description:e.confirm,onClose:r,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:r,children:`Cancel`}),(0,z.jsx)(V,{variant:n?`danger`:`primary`,onClick:i,children:t})]})}),c9=(0,o.createContext)(void 0),l9=({value:e,children:t})=>(0,z.jsx)(c9.Provider,{value:e,children:t}),u9=()=>(0,o.useContext)(c9),$oe=(e,t={})=>e.replace(/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(e,n)=>encodeURIComponent(t[n]===null||t[n]===void 0?``:String(t[n]))),ese=e=>{if(typeof e!=`string`||!URL.canParse(e))return;let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0},d9=(e,t={})=>{let n=fo(e);return n===void 0?$oe(e,t):ese(t[n])},tse=e=>{e!==void 0&&(/^https?:/i.test(e)?window.open(e,`_blank`,`noopener,noreferrer`):window.location.assign(e))},nse=e=>URL.canParse(e)?new URL(e).hostname.replace(/^www\./,``):``,rse=(e,t)=>{let n=e.run;if(n?.kind!==`link`||!(`href`in n))return e;let r=d9(n.href,t);if(r!==void 0)return e.label.includes(`{host}`)?{...e,label:e.label.replaceAll(`{host}`,nse(r))}:e},ise=e=>e instanceof Error?e.message:`Something went wrong`,f9=(e,t,n)=>{let{views:r}=G(),{actions:i}=p_(),a=Vv(e),s=U(),c=Th(e),l=Fg(),u=CA(),{go:d}=Hv(),[f,p]=(0,o.useState)(),m=(r[e]?.actions??[]).flatMap(e=>rse(e,t?.record)??[]),h=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!wy(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!wy(a,`delete`)||t?.permissions?.delete===!1))return`You cannot delete this record`;if(!e.run&&!i?.[e.name])return`The app has no handler for "${e.name}"`},g=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?d(uo(a.to,t?.record)):tse(d9(a.href,t?.record));return}a?.kind===`update`?await s.update(e,t.key,a.values,t.etag??`*`):a?.kind===`delete`?await s.remove(e,t.key,{etag:t.etag}):await i[r.name]({resource:e,record:t?.record,recordKey:t?.key,etag:t?.etag,client:c,navigate:d}),await u(e),l.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:m,blocked:h,running:f,run:async e=>{h(e)||(p(e.name),await g(e).catch(t=>l.show({state:`error`,title:`${e.label} failed`,description:ise(t)})),p(void 0))}}},ase=(e,t,n)=>{let r=f9(e,n),i=r.actions.find(e=>e.name===t);return{action:i,blocked:i?r.blocked(i):`No action "${t}"`,running:r.running===t,run:()=>i?r.run(i):Promise.resolve()}},p9=e=>e.props,ose=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=p9(e),a=u9(),s=ase(n??a?.model.name??``,t,n===void 0||n===a?.model.name?a:void 0),[c,l]=(0,o.useState)(!1);if(!s.action)return null;let u=r??s.action.label;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{size:`sm`,variant:i??`secondary`,loading:s.running,disabled:!!s.blocked,title:s.blocked,onClick:()=>s.action.confirm?l(!0):void s.run(),children:u}),c&&(0,z.jsx)(s9,{action:s.action,label:u,danger:i===`danger`,onCancel:()=>l(!1),onConfirm:()=>{l(!1),s.run()}})]})},m9=({title:e,description:t,actions:n,className:r,children:i})=>(0,z.jsxs)(`section`,{className:R(`flex min-w-0 flex-col rounded-lg border border-border bg-background`,r),"aria-label":e,children:[(e||t||n)&&(0,z.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 px-4 pt-4`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[e&&(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold tracking-tight`,children:e}),t&&(0,z.jsx)(`p`,{className:`mt-0.5 text-[13px] text-muted-foreground`,children:t})]}),n&&(0,z.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 p-4 text-[13px]`,children:i})]}),h9=({children:e})=>(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),sse=({node:e,children:t,slots:n})=>{let{title:r,description:i}=p9(e);return(0,z.jsx)(m9,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},cse=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=Nte(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,z.jsx)(m9,{title:i,description:a,actions:s,children:l.isPending?(0,z.jsx)(`div`,{className:`flex gap-3`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-24 w-56`},t))}):l.error?(0,z.jsx)(ey,{title:`Could not load`,error:l.error}):u.length===0?(0,z.jsx)(h9,{children:o??`Nothing here yet.`}):(0,z.jsx)(`ul`,{className:`-mx-4 flex snap-x gap-3 overflow-x-auto px-4 pb-1`,children:u.map(t=>{let n=bA(e,t);return(0,z.jsx)(`li`,{className:`flex w-60 shrink-0 snap-start flex-col gap-2 rounded-lg border border-border bg-surface p-3`,children:(0,z.jsx)(l9,{value:n,children:c})},n.key)})})})},lse=({node:e,children:t,slots:n})=>{let{resource:r,...i}=p9(e),a=G().resources[r];return a?(0,z.jsx)(cse,{...i,model:a,actions:n.actions,children:t}):null},use=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},dse=({node:e})=>{let{name:t,label:n,format:r}=p9(e),{views:i}=G(),a=J7(u9(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,z.jsx)(kd,{className:`h-4 w-24`}):(0,z.jsx)(W7,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,z.jsx)(`div`,{className:`text-[13px]`,children:o});let s=n??use(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:s}),(0,z.jsx)(`div`,{className:`mt-0.5 truncate text-[13px]`,children:o})]})},fse={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},pse={1:``,2:`md:col-span-2`,3:`md:col-span-2 xl:col-span-3`,4:`sm:col-span-2 md:col-span-2 xl:col-span-4`},mse=({node:e,children:t})=>{let{columns:n=2}=p9(e),r=e.children;return(0,z.jsx)(`div`,{className:R(`grid grid-cols-1 gap-4`,fse[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,z.jsx)(`div`,{className:R(`min-w-0`,i&&pse[i]),children:e},t)})})},g9=`font-medium text-primary-text hover:underline`,hse=({node:e})=>{let t=p9(e),n=u9()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=uo(t.to,n);return(0,z.jsx)(Uv,{to:e,className:g9,children:r||qo(e)})}let i=t.href??``;return(0,z.jsx)(`a`,{href:i,className:g9,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},gse=(e,t,n)=>Object.fromEntries(t.map(t=>{let r=e.fields[t];if(r.type===`file`)return[t,n?.record[t]??null];if(n)return[t,r.type===`boolean`?!!n.record[t]:Kv(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:Kv(i)]})),_se=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return DC(r)?r.key===Kv(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:Qv(i,r,n.record[t])?[[t,Yv(i,r)]]:[]})),vse=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:s,onClose:c})=>{let{resources:l,views:u}=G(),d=U(),f=Fg(),p=CA(),m=u[e.name],[h,g]=(0,o.useState)(()=>gse(e,a,t)),[_,v]=(0,o.useState)({}),[y,b]=(0,o.useState)(),[x,S]=(0,o.useState)(!1),C=async()=>{S(!0),b(void 0),await(n===`create`?d.create(e.name,{...jC(e,l,h),...s}):d.update(e.name,t.key,_se(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),c()},e=>{ds(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,z.jsx)(kf,{title:i??r,onClose:c,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:c,children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,loading:x,onClick:()=>void C(),children:n===`create`?`Create`:`Save`})]}),children:(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C()},children:[y!==void 0&&Object.keys(_).length===0&&(0,z.jsx)(ey,{title:`Not saved`,error:y}),a.map(n=>{let r=e.fields[n],i=h[n],a=r.relation?l[r.relation.resource]:void 0;return(0,z.jsx)(vC,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,z.jsx)(Cy,{field:r,hints:m?.fields[n],value:DC(i)?i.key:i,stored:t?.record[n],relationLabel:DC(i)?i.label:void 0,relationPicker:a?{target:a,view:u[a.name]}:void 0,invalid:!!_[n],resource:e.name,onChange:e=>{v(({[n]:e,...t})=>t),g(t=>({...t,[n]:e}))}})},n)})]})})},yse=({model:e,recordKey:t,children:n})=>{let r=SA(e,{key:t});return(0,z.jsx)(z.Fragment,{children:n(r.data??void 0)})},bse=({node:e})=>{let t=p9(e),n=u9(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=Vv(i?.name??``),[s,c]=(0,o.useState)(!1);if(!i||!(t.mode===`create`?wy(a,`create`):wy(a,`update`)&&n?.permissions?.update!==!1))return null;let l=e=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>c(!0),children:t.label}),s&&(0,z.jsx)(vse,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>c(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,z.jsx)(yse,{model:i,recordKey:t.recordKey,children:l}):l(t.mode===`edit`?n:void 0)},xse=({node:e,children:t,slots:n})=>{let{title:r,description:i}=p9(e);return(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,z.jsxs)(`div`,{className:`mx-auto flex max-w-[1200px] flex-col gap-6 px-4 pb-16 pt-6 md:px-10 md:py-8`,children:[(0,z.jsx)(Hd,{title:r,subtitle:i,actions:n.actions}),t]})})},_9=(e,t)=>{let n=u9(),r=J7(typeof e==`string`?n:void 0,typeof e==`string`?e:``);return typeof e==`number`?e:e===void 0?t:r.state===`ready`?Number(r.value):r.state===`loading`?void 0:NaN},Sse=({node:e})=>{let{value:t,max:n,label:r}=p9(e),i=_9(t,0),a=_9(n,100);if(i===void 0||a===void 0)return(0,z.jsx)(kd,{className:`h-6 w-full`});if(!Number.isFinite(i)||!Number.isFinite(a))return null;let o=a>0?Math.min(1,Math.max(0,i/a)):0;return(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(`en-IE`),` / `,a.toLocaleString(`en-IE`)]})]}),(0,z.jsx)(`div`,{role:`progressbar`,"aria-label":r,"aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":a,className:`mt-1.5 h-2 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},Cse=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=SA(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,z.jsx)(l9,{value:l.data,children:e}):void 0,d=l.isPending?(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(kd,{className:`h-4 w-1/2`}),(0,z.jsx)(kd,{className:`h-4 w-1/3`})]}):l.error?(0,z.jsx)(ey,{title:`Could not load`,error:l.error}):l.data?u((0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,z.jsx)(h9,{children:o??`Nothing here yet.`});return(0,z.jsx)(m9,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},wse=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=p9(e),u=G().resources[r];return u?(0,z.jsx)(Cse,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},Tse=({node:e,children:t})=>{let{when:n}=p9(e),{resources:r}=G(),i=U(),a=u9(),s=(0,o.useMemo)(()=>As(n),[n]),c=s.ok?s.paths:[],l=c.map(e=>Ms(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=c.filter((e,t)=>l[t]===void 0),d=uoe(a,u),f=_h({queries:l.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[xA(i,t)]:[]})});if(!s.ok||d.some(e=>e.state===`loading`)||f.some(e=>e.isPending))return null;let p={};u.forEach((e,t)=>{let n=d[t];n.state===`ready`&&(p[e]=n.value)});let m=0;return c.forEach((e,t)=>{l[t]!==void 0&&(p[e]=r[l[t]]?f[m++]?.data??0:0)}),js(s,p)?(0,z.jsx)(z.Fragment,{children:t}):null},v9=`text-2xl font-semibold tracking-tight tabular-nums`,Ese=({model:e,filter:t})=>{let n=Mte(e,t);return n.isPending?(0,z.jsx)(kd,{className:`h-8 w-16`}):n.error?(0,z.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,z.jsx)(Uv,{to:{kind:`list`,resource:e.name,filter:t},className:`${v9} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},Dse=({field:e,format:t})=>{let n=J7(u9(),e);return n.state===`loading`?(0,z.jsx)(kd,{className:`h-8 w-16`}):n.state===`missing`?null:(0,z.jsx)(`span`,{className:v9,children:(0,z.jsx)(W7,{model:n.model,field:n.field,value:n.value,format:t})})},Ose=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=p9(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,z.jsxs)(m9,{className:`h-full`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t}),(0,z.jsxs)(`div`,{className:`mt-1`,children:[n!==void 0&&(0,z.jsx)(`span`,{className:v9,children:n}),l&&(0,z.jsx)(Ese,{model:l,filter:i}),a!==void 0&&(0,z.jsx)(Dse,{field:a,format:o})]}),s&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},y9=(e,t,n)=>{let r=Nu(),i=hoe(t),[a,s]=(0,o.useState)(()=>goe(localStorage,i)),c=(0,o.useCallback)(e=>{s(e),_oe(localStorage,i,e)},[i]);return[voe(e,r,{picked:a,preferred:n}),c]},kse=({model:e,view:t,filter:n=``,sort:r=``,columns:i,limit:a=10,display:o,title:s,description:c,empty:l,actions:u})=>{let[d,f]=y9(t,`page:${e.name}:${s??``}:${n}`,o);return(0,z.jsx)(m9,{title:s,description:c,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(X7,{view:t,value:d,onChange:f}),u]}),className:`h-full`,children:(0,z.jsx)(Z7,{model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:d,empty:l})})},Ase={Page:xse,Grid:mse,Card:sse,Stat:Ose,RecordCard:wse,Field:dse,Table:({node:e,slots:t})=>{let n=p9(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,z.jsx)(kse,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:lse,Progress:Sse,ModalForm:bse,Action:ose,Show:Tse,Link:hse},b9=e=>typeof e==`string`||!e.custom&&e.type===`Link`,x9=e=>{let t=[];for(let n of e){let e=t.at(-1);b9(n)&&e&&b9(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return b9(n)?(0,z.jsx)(`p`,{className:`text-[13px] leading-relaxed`,children:e.map((e,t)=>typeof e==`string`?(0,z.jsx)(o.Fragment,{children:e},t):(0,z.jsx)(S9,{node:e},t))},t):(0,z.jsx)(S9,{node:n},t)})},jse=e=>Es(e)||Array.isArray(e)&&e.length>0&&e.every(Es),Mse=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>jse(t)?[[e,(0,z.jsx)(z.Fragment,{children:x9(Array.isArray(t)?t:[t])})]]:[])),S9=({node:e})=>{let{components:t}=p_();if(e.custom){let n=t?.[e.type];return n?(0,z.jsx)(vy,{name:e.type,children:(0,z.jsx)(n,{...ro(e.props),children:e.children.length>0?x9(e.children):void 0})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=Ase[e.type];return n?(0,z.jsx)(n,{node:e,slots:Mse(e),children:x9(e.children)}):(0,z.jsxs)(_y,{children:[e.type,` is not a block this version of the app knows.`]})},Nse=({name:e})=>{let t=G().pages[e];return t?(0,z.jsx)(S9,{node:t.tree}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no page called `,e,`.`]})},C9=e=>typeof e==`string`&&e.trim()!==``,Pse=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:`its plugin.json is not an object`};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return C9(t)?Number.isInteger(r)?C9(i)?C9(a)?o!==void 0&&!C9(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!C9(n)?{problem:`its plugin.json has a version that is no text`}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:`its plugin.json names no module`}:{problem:`its plugin.json names no Protobase versions`}:{problem:`its plugin.json names no plugin API`}:{problem:`its plugin.json names no plugin`}},Fse=/^[A-Z][A-Za-z0-9]*$/,Ise=e=>typeof e==`function`||typeof e==`object`&&!!e&&`$$typeof`in e,w9=e=>{let t=e.default??{},n=Object.entries(e).filter(e=>e[0]!=="default"&&Fse.test(e[0])&&Ise(e[1]));if(n.length===0)return t;for(let[e,r]of n)if(t.components&&Object.hasOwn(t.components,e)&&t.components[e]!==r)throw Error(`The component "${e}" is exported by name and given in components as another one; keep the export`);return{...t,components:{...t.components,...Object.fromEntries(n)}}},T9=class extends Error{name=`UiConflictError`},Lse=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?w9(e):e,E9=(e,t)=>[...(e.extends??[]).map(Lse).flatMap((e,n)=>E9(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],D9=(e,t,n)=>{let r={},i=new Map;for(let{ui:a,label:o}of t)for(let[t,s]of Object.entries(n(a)??{})){if(Object.hasOwn(r,t)&&r[t]!==s)throw new T9(`${e} "${t}" is defined twice, by ${i.get(t)} and by ${o}; rename one of them`);r[t]=s,i.set(t,i.get(t)??o)}return r},O9=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,z.jsx)(e,{},t)),k9=(...e)=>{let t=e.flatMap((e,t)=>E9(e,e.name??`UI config ${t+1}`)),n=D9(`The component`,t,e=>e.components),r=D9(`The action handler`,t,e=>e.actions),i=D9(`The field type`,t,e=>e.fields),a=O9(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=O9(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),s=e.at(-1)?.name;return{...s&&{name:s},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...(a||o)&&{shell:{...a&&{actions:a},...o&&{rightPanel:o}}}}},A9=(0,o.createContext)(null),Rse=A9.Provider,zse=()=>{let e=(0,o.useContext)(A9);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},j9=(e,t,n)=>{let r=n=>(0,z.jsx)(Rse,{value:e,children:(0,z.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Bse=(e,t,n)=>({of:n.of,display:j9(e,n.display,`fields.${t}.display`),...n.editor&&{editor:j9(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:j9(e,n.cell,`fields.${t}.cell`)}}),Vse=(e,t)=>{let n=k9({...w9(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,j9(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Bse(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:j9(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:j9(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},M9={name:`@protobase/ui`,version:`0.15.4`,description:`The Protobase admin app and the React hooks and components for custom UI.`,license:`Apache-2.0`,repository:{type:`git`,url:`git+https://github.com/PrototeamHQ/protobase.git`,directory:`packages/ui`},homepage:`https://docs.protobase.net`,type:`module`,protobase:{pluginApi:1},sideEffects:[`*.css`,`./dist/app/main.js`],engines:{node:`>=22.12.0`},exports:{".":`./src/index.ts`,"./theme.css":`./src/theme.css`},types:`./src/index.ts`,files:[`dist`],scripts:{build:`tsdown && protobase build-shell dist/shell`,prepack:`tsdown && protobase build-shell dist/shell`},publishConfig:{access:`public`,exports:{".":`./dist/index.js`,"./theme.css":`./dist/theme.css`},types:`./dist/index.d.ts`},dependencies:{"@dnd-kit/core":`^6.3.1`,"@dnd-kit/sortable":`^10.0.0`,"@protobase/client":`workspace:*`,"@protobase/layout":`workspace:*`,"@protobase/schema":`workspace:*`,"@sentry/browser":`^11.7.0`,"@tanstack/react-query":`^5.104.1`,"@tanstack/react-table":`^9.2.6`,"lucide-react":`^1.52.0`,"maplibre-gl":`^6.14.0`,pmtiles:`^4.5.0`,react:`^19.3.0`,"react-dom":`^19.3.0`,"react-map-gl":`^8.1.3`,recharts:`^3.10.1`,tailwindcss:`^4.3.3`,thumbhash:`^0.1.1`,uqr:`^0.1.3`}},N9=M9.protobase.pluginApi,P9=M9.version,Hse={readJson:async e=>{let t=await fetch(e,{cache:`no-cache`,credentials:`same-origin`});return t.ok?{json:await t.json()}:{status:t.status}},addStylesheet:e=>{if([...document.querySelectorAll(`link[rel="stylesheet"]`)].some(t=>t.href===e))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.append(t)},importModule:e=>a_(()=>import(e),[])},Use={api:N9,version:P9},Wse=e=>e instanceof Error?e.message:String(e),Gse=async(e,t,n,r=Use)=>{let i=new URL(e.url,n).href,a=(e,t)=>({kind:`off`,url:i,...t&&{name:t},reason:e}),o;try{let n=await t.readJson(i);if(`status`in n)return a(`its plugin.json answered ${n.status}`);let s=Pse(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=bo(c,r);if(l)return a(l,o);c.css&&t.addStylesheet(new URL(c.css,i).href);let u=await t.importModule(new URL(c.entry,i).href),d={name:o,...c.version&&{version:c.version},url:i,settings:e.settings??{}};return{kind:`loaded`,plugin:d,ui:Vse(d,u)}}catch(e){return a(`it could not be loaded: ${Wse(e)}`,o)}},Kse=(e,t)=>{let n=k9(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{k9(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof T9))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:k9(...r,n),off:i}},qse=1e4,F9=[],Jse=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,o.useState)({key:`[]`,loads:F9,settled:!0});return(0,o.useEffect)(()=>{if(e.length===0)return;let r=!0,a=!1,o=e.map(()=>void 0),s=()=>{if(!r)return;let t=o.filter(e=>e!==void 0);i({key:n,loads:t,settled:a||t.length===e.length})},c=setTimeout(()=>{a=!0,s()},qse);return e.forEach((e,n)=>{Gse(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:F9,settled:!0}:r.key===n?r:{loads:F9,settled:!1}},I9=(0,o.createContext)([]),Yse=()=>(0,o.useContext)(I9),Xse=({ui:e,loader:t=Hse,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=Jse(r,t),s=(0,o.useMemo)(()=>Kse(e,i),[e,i]);return a?(0,z.jsx)(f_.Provider,{value:s.ui,children:(0,z.jsx)(I9.Provider,{value:s.off,children:n})}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})},Zse=({off:e})=>{let[t,n]=(0,o.useState)(!1);return t||e.length===0?null:(0,z.jsxs)(`div`,{role:`region`,"aria-label":`Plugins off`,className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,z.jsx)(Lt,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,z.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,z.jsxs)(`li`,{children:[`The plugin `,(0,z.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,z.jsx)(jn,{"aria-hidden":!0,className:`size-4`})})]})},L9=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),R9=({item:e,scope:t})=>{let{components:n}=p_(),r=n?.[e.component],i=r?(0,z.jsx)(l9,{value:t,children:(0,z.jsx)(vy,{name:e.component,children:(0,z.jsx)(r,{...ro(e.props??{})})})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]});return e.sidebar?e.title?(0,z.jsx)(CC,{title:e.title,children:i}):i:e.title?(0,z.jsx)(yC,{title:e.title,children:i}):(0,z.jsx)(`section`,{className:`py-8`,children:i})},Qse=(0,o.lazy)(()=>a_(()=>import(`./record-map-B2mkMEcE.js`).then(e=>({default:e.RecordMap})),__vite__mapDeps([4,1,2,5,3,6]))),$se=15,z9=({item:e,record:t})=>{let n=G().maps?.style,r=RA(t,e);if(!n||!r)return null;let i=(0,z.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-muted ${e.sidebar?`h-48`:`h-64 md:h-80`}`,children:(0,z.jsx)(o.Suspense,{fallback:null,children:(0,z.jsx)(Qse,{style:n,position:r,zoom:e.zoom??$se},`${r.latitude},${r.longitude}`)})});return e.sidebar?(0,z.jsx)(CC,{title:e.title,children:i}):(0,z.jsx)(yC,{title:e.title,children:i})},ece=e=>hA(e)??Nn,tce=({model:e,stored:t,recordKey:n})=>{let{go:r}=Hv(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=f9(e.name,i,t=>t.run?.kind===`delete`&&r({kind:`list`,resource:e.name},{replace:!0})),[s,c]=(0,o.useState)();return a.actions.length===0?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bC,{actions:a.actions.map(e=>({name:e.label,icon:ece(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?c(e):void a.run(e)}))}),s&&(0,z.jsx)(s9,{action:s,label:s.label,danger:s.run?.kind===`delete`,onCancel:()=>c(void 0),onConfirm:()=>{c(void 0),a.run(s)}})]})},nce=(e,t)=>Object.values(e).find(e=>e.name!==t.name&&e.fields.position&&e.fields.quantity&&Object.values(e.fields).some(e=>e.type===`relation`&&e.relation?.resource===t.name)),rce=e=>({id:String(e.id),productId:String(e.productId??``),description:String(e.description??``),quantity:Number(e.quantity),unitPriceCents:Math.round(Number(e.unitPrice)*100)}),ice=({lines:e,draft:t,vatRate:n,saving:r})=>{let i=wy(Vv(e.name),`update`);return(0,z.jsx)(yC,{title:`Lines`,help:`What the document bills for. Drag the handle, or use the menu, to change the order; Save applies it.`,children:(0,z.jsx)(`div`,{className:`-mx-4 overflow-x-auto px-4 [-webkit-overflow-scrolling:touch] md:mx-0 md:px-0`,children:(0,z.jsx)(`div`,{className:`min-w-[560px]`,children:(0,z.jsx)(_C,{lines:t.shown.map(rce),onChange:()=>void 0,onReorder:e=>t.setOrder(e.map(e=>e.id)),vatRate:n,readOnly:!0,reorderable:i&&!r})})})})},ace=(e,t,n)=>`protobase:draft:${e}:${t}:${n}`,oce=(e,t,n)=>dd(()=>{let r=e.getItem(t);if(r===null)return;let i=JSON.parse(r);if(i&&i.etag===n&&typeof i.fields==`object`&&i.fields!==null)return{etag:n,fields:i.fields,...Array.isArray(i.order)&&{order:i.order.map(String)}}},void 0),sce=(e,t,n)=>dd(()=>n?e.setItem(t,JSON.stringify(n)):e.removeItem(t),void 0),B9=(e,{filter:t,orderBy:n,pageSize:r=50,fields:i,startToken:a=``,enabled:o=!0}={})=>{let s=U(),c=Qo(t)??``,l=xh({queryKey:[...H.list(e,c,n??``,r,a),i?.join(`,`)??``],enabled:o,initialPageParam:a,queryFn:({pageParam:t})=>s.list(e,{filter:c,orderBy:n,pageSize:r,fields:i,pageToken:t}),getNextPageParam:e=>e.nextPageToken||void 0}),u=l.data?.pages??[];return{...l,items:u.flatMap(e=>e.items),totalEstimate:u[0]?.totalSizeEstimate}},cce=(e,t)=>Number(e.position)-Number(t.position),lce=(e,t,n)=>{let r=e&&Object.values(e.fields).find(e=>e.type===`relation`&&e.relation?.resource===t.name),i=B9(e?.name??``,{enabled:!!(e&&r),filter:r?`${r.name} = "${n}"`:void 0,pageSize:200,...e?.fields.position?.sortable&&{orderBy:`position asc`}});return{items:[...i.items].sort(cce),loading:i.isPending&&!!e}},uce=(e,t)=>{let[n,r]=(0,o.useState)(),i=t.map(e=>String(e.id)),a=(0,o.useMemo)(()=>{if(!n)return t;let e=n.flatMap(e=>t.filter(t=>String(t.id)===e)),r=t.filter(e=>!n.includes(String(e.id)));return[...e,...r]},[n,t]),s=a.map(e=>String(e.id)),c=n!==void 0&&s.some((e,t)=>e!==i[t]),l=(0,o.useCallback)(()=>!e||!c?[]:[{op:`reorder`,resource:e.name,field:`position`,keys:a.map(t=>vg(e,t)),etags:Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[po(vg(e,t)),t.etag]]:[]))}],[e,c,a]);return{shown:a,dirty:c,order:c?s:void 0,setOrder:e=>r(e),reset:()=>r(void 0),op:l}},V9=(e,t)=>{let n=U(),r=qp(),i=po(t);return bh({mutationFn:({patch:r,etag:i})=>n.update(e,t,r,i),onSuccess:t=>{r.setQueryData(H.record(e,i),t),r.invalidateQueries({queryKey:[`page`,e]}),r.invalidateQueries({queryKey:[`list`,e]}),r.invalidateQueries({queryKey:[`map`,e]})}})},H9=e=>e instanceof us,dce=e=>{let t=typeof e.resource==`string`?e.resource:e.resource.toModel().name;return e.op===`reorder`?`reorder ${t} by ${e.field}`:`${e.op} ${t}`},fce=(e,t)=>{let n=e.operation,r=n===void 0?void 0:t[n];return r?`Operation ${n+1} (${dce(r)}) failed: ${e.message} Nothing was saved.`:`${e.message} Nothing was saved.`},pce=(e,t)=>new e.constructor({...e.problem,detail:fce(e,t)}),U9=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),mce=({model:e,stored:t,recordKey:n,mode:r,subject:i,draftKey:a,lines:s})=>{let c=U(),l=qp(),u=V9(e.name,n),d=Oy(r,i),[f]=(0,o.useState)(()=>a?oce(localStorage,a,t.etag):void 0),[p,m]=(0,o.useState)(f?.fields??{}),[h,g]=(0,o.useState)(!!f),[_,v]=(0,o.useState)(!1),[y,b]=(0,o.useState)({}),[x,S]=(0,o.useState)({}),C=Object.keys(p).length>0,w=C||!!s?.dirty;(0,o.useEffect)(()=>{f?.order&&s?.setOrder(f.order)},[]),(0,o.useEffect)(()=>{if(!a)return;let n=Object.fromEntries(Object.entries(p).filter(([t])=>!e.fields[t]?.sensitive)),r=Object.keys(n).length>0||!!s?.dirty;sce(localStorage,a,r?{etag:t.etag,fields:n,...s?.order&&{order:s.order}}:void 0)},[a,e,p,s?.dirty,s?.order,t.etag]);let T=n=>n in p?p[n]:[`boolean`,`file`].includes(e.fields[n].type)?t.record[n]:Kv(t.record[n]),E=(n,r)=>{S(e=>U9(e,n)),m(i=>Qv(e.fields[n],r,t.record[n])?{...i,[n]:r}:U9(i,n))},D=async()=>{let r=await c.get(e.name,n);l.setQueryData(H.record(e.name,n),r);let i={},a={};for(let[n,o]of Object.entries(p)){let s=e.fields[n];Qv(s,o,r.record[n])&&(a[n]=o,Kv(r.record[n])!==Kv(t.record[n])&&(i[n]=s.type===`file`?iv(s,r.record[n]):Kv(r.record[n])))}m(a),b(i)},O=()=>Object.fromEntries(Object.entries(p).map(([t,n])=>[t,Yv(e.fields[t],n)])),k=e=>ds(e)?Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[])):{},A=async()=>{try{await u.mutateAsync({patch:O(),etag:t.etag})}catch(e){throw H9(e)?await D():ds(e)&&S(k(e)),e}},j=async r=>{let i=[...C?[{op:`update`,resource:e.name,key:n,data:O(),etag:t.etag}]:[],...r];try{await c.batchWrite(i)}catch(e){throw H9(e)?(await D(),await l.invalidateQueries({queryKey:[`list`]}),v(!0)):ds(e)&&S(k(e)),ds(e)?pce(e,i):e}await Promise.all([l.invalidateQueries({queryKey:H.record(e.name,n)}),l.invalidateQueries({queryKey:[`list`]}),l.invalidateQueries({queryKey:[`page`]}),l.invalidateQueries({queryKey:[`map`]})]),s?.reset()};return{value:T,change:E,save:()=>d.run(async()=>{let e=s?.op()??[];e.length>0?await j(e):await A(),m({}),b({}),S({}),v(!1),g(!1)}),dirty:w,discard:()=>{m({}),b({}),S({}),v(!1),g(!1),s?.reset()},restored:h&&w,dismissRestored:()=>g(!1),linesConflict:_,saving:d.phase===`saving`,phase:d.phase,message:d.message,conflicts:y,errors:x,keepMine:e=>b(t=>U9(t,e)),useTheirs:e=>{b(t=>U9(t,e)),m(t=>U9(t,e))}}},hce=(e,t,n,r,i,a)=>{let o=U(),s=qp(),c=Object.values(e.fields).filter(t=>t.type===`relation`&&t.relation&&t.name!==e.tenant&&i[t.name]!=null&&n[t.relation.resource]?.primaryKey.length===1),l=_h({queries:c.map(e=>{let t=n[e.relation.resource],a=String(i[e.name]);return{queryKey:H.relatedLabel(t.name,a),queryFn:async()=>(await R_(s,o,t,[a],r[t.name])).get(a)??a}})}),u=c.map(e=>({kind:`record`,resource:e.relation.resource,key:String(i[e.name])}));return{addresses:Object.fromEntries(c.map((e,t)=>[e.name,u[t]])),labels:Object.fromEntries(c.map((e,t)=>[e.name,l[t]?.data])),records:c.map((e,n)=>({kind:t?.fields[e.name]?.label??W(e.name),label:l[n]?.data??String(i[e.name]),href:qo(u[n],a)}))}},W9=eo(),G9=500,K9=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},gce=(e,t)=>{let n=U(),{resources:r}=G(),i=e.through,a=i?r[i.resource]:void 0,o=i?.key??a?.primaryKey[0],s=i?K9(za(W9.eq(i.field,t)),i.filter):``,c=yh({queryKey:H.list(a?.name??``,s,``,G9,`related:${o}`),enabled:!!(a&&o),queryFn:async()=>{let e=await n.search(a.name,{filter:s,fields:[o],pageSize:G9});return[...new Set(e.items.flatMap(e=>e[o]===null||e[o]===void 0?[]:[String(e[o])]))]}});return i?c.data?{filter:c.data.length===0?null:K9(za(W9.in(e.field,c.data)),e.filter),isPending:!1,error:null}:{filter:void 0,isPending:c.isPending,error:c.error}:{filter:K9(za(W9.eq(e.field,t)),e.filter),isPending:!1,error:null}},_ce=()=>(0,z.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-4 w-full`},t))}),vce=({text:e})=>(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e??`Nothing here yet.`}),yce=({item:e,recordKey:t,owner:n})=>{let{resources:r,views:i}=G(),a=r[e.resource],o=a&&i[a.name],s=gce(e,t),[c,l]=y9(o,`related:${n}:${e.title}`,e.display);if(!a)return null;let u=e.columns??Ck(a,o).filter(t=>t!==e.field);return(0,z.jsx)(yC,{title:e.title,help:e.help,actions:(0,z.jsx)(X7,{view:o,value:c,onChange:l}),children:s.isPending?(0,z.jsx)(_ce,{}):s.error?(0,z.jsx)(ey,{title:`Could not load`,error:s.error}):s.filter===null||s.filter===void 0?(0,z.jsx)(vce,{text:e.empty}):(0,z.jsx)(Z7,{model:a,view:o,filter:s.filter,sort:e.sort??``,columns:u,limit:e.limit??10,display:c,empty:e.empty},s.filter)})},bce=(e,t)=>t===e.tenant||e.primaryKey.includes(t),xce=(e,t)=>{if(t&&t.layout.length>0)return t.layout;let n=Object.values(e.fields).filter(t=>!bce(e,t.name)),r=n.filter(e=>!e.readOnly);return[{kind:`section`,title:`Details`,fields:(r.length>0?r:n).map(e=>e.name)}]},Sce=({resource:e,recordKey:t})=>{let{resources:n}=G(),r=n[e],i=fg(e,t);return r?i.isPending?(0,z.jsx)(Rv,{title:`Loading`,children:`Fetching the record.`}):i.error?(0,z.jsx)(`div`,{className:`p-8`,children:ds(i.error)&&i.error.status===404?(0,z.jsx)(Rv,{title:`Not found`,children:`This record does not exist, or you cannot see it.`}):(0,z.jsx)(ey,{title:`Could not load the record`,error:i.error})}):(0,z.jsx)(Cce,{model:r,recordKey:t,stored:i.data}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e,`.`]})},Cce=({model:e,recordKey:t,stored:n})=>{let r=G(),{basePath:i}=Oh(),{go:a,open:s}=Hv(),c=r.views[e.name],l=c?.names?.singular??W(e.name),u=gg(e,c,n.record,t),{state:d}=B(),f=(0,o.useMemo)(()=>nce(r.resources,e),[r.resources,e]),p=uce(f,lce(f,e,t).items),m=mce({model:e,stored:n,recordKey:t,mode:c?.saveFeedback??`toast`,subject:u,draftKey:d.kind===`signed-in`?ace(d.user.id,e.name,t):void 0,lines:p});qee(m.dirty);let h=qp(),g=U(),_=Vv(e.name),v=pA(e),y=wy(_,`update`)&&n.permissions?.update!==!1,b=wy(_,`delete`)&&n.permissions?.delete!==!1,x=fA({model:e,view:c,restore:v,onDeleted:()=>a({kind:`list`,resource:e.name},{replace:!0}),onReview:()=>void h.invalidateQueries({queryKey:H.record(e.name,t)})}),S=hce(e,c,r.resources,r.views,n.record,i),{fields:C}=p_(),w=xce(e,c),T=w.flatMap(e=>e.kind===`sidebar`?e.fields:[]),E=e.fields.status?.type===`enum`?String(n.record.status):void 0,D=L9(e,`updated`),O=D&&n.record[D]?Math.max(0,Math.round((Date.now()-Date.parse(String(n.record[D])))/1e3)):void 0,k=e=>c?.fields[e],A=e=>Ey(n.permissions,e)!==`hidden`,j=r=>{let i=e.fields[r],a=Ey(n.permissions,r);if(!i||a===`hidden`)return null;let o=m.conflicts[r];return(0,z.jsx)(vC,{label:k(r)?.label??W(r),help:k(r)?.help,error:m.errors[r],conflict:o===void 0?void 0:{user:{name:`Someone else`,initials:`?`,hue:40},ago:`just now`,theirValue:o||`—`,onKeepMine:()=>m.keepMine(r),onUseTheirs:()=>m.useTheirs(r)},children:(0,z.jsx)(Cy,{field:i,hints:k(r),value:m.value(r),stored:n.record[r],relationLabel:S.labels[r],relationTo:S.addresses[r],locked:!y||a===`read`,invalid:!!m.errors[r],reveal:i.sensitive?()=>g.reveal(e.name,t,r):void 0,resource:e.name,onChange:e=>m.change(r,e)})},i.sensitive?`${r}:${n.etag}`:r)},M=w.findIndex(e=>e.kind===`sidebar`),N=(0,z.jsx)(wC,{title:`Summary`,rows:T.flatMap(t=>{let r=e.fields[t];if(!r||!A(t))return[];let i=iv(r,n.record[t],k(t)),a=r.type===`enum`?(0,z.jsx)(DA,{value:n.record[t],hints:k(t),children:i}):(0,z.jsx)(`strong`,{children:i}),o=hy(C,r,k(t));return[{label:k(t)?.label??W(t),value:o?(0,z.jsx)(by,{shown:o,part:`display`,field:r,value:n.record[t],fallback:a}):a}]})}),ee={model:e,record:n.record,key:t,etag:n.etag,permissions:n.permissions},te=(0,z.jsxs)(z.Fragment,{children:[m.dirty&&(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Unsaved changes`}),m.dirty&&y&&(0,z.jsx)(V,{className:`max-md:min-h-11`,disabled:m.saving,onClick:m.discard,children:`Discard`}),b&&(0,z.jsx)(V,{variant:`danger`,className:`max-md:min-h-11`,onClick:()=>void x.start({key:t,title:u,etag:n.etag,snapshot:n.record}),children:`Delete`}),y&&(0,z.jsxs)(V,{variant:`primary`,className:`max-md:min-h-11 max-md:flex-1`,loading:m.saving,disabled:!m.dirty&&m.phase!==`saved`,onClick:()=>void m.save(),children:[m.phase===`saved`&&(0,z.jsx)(de,{className:`size-4`}),m.phase===`saved`?`Saved`:`Save`]})]});return(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[x.dialogs,(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-[1100px] px-4 pb-8 pt-6 md:px-10 md:py-8`,children:[(0,z.jsx)(TC,{collection:c?.names?.plural??W(e.name),title:u,status:{label:E?Bo(E,k(`status`)?.valueLabels):l,tone:E?hk(E):`neutral`},lastEditedBy:{ago:O===void 0?`recently`:Tf(O)},actions:(0,z.jsx)(`div`,{className:`hidden items-center gap-4 md:flex`,children:te})}),m.message&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`Not saved`,error:Error(m.message)})}),m.linesConflict&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`The lines were changed by someone else`,error:Error(`The lines were reloaded. Your new order is kept: Save again to apply it, or Discard to drop it.`)})}),m.restored&&(0,z.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2 text-[13px]`,role:`status`,children:[(0,z.jsx)(`span`,{children:`Your unsaved changes were restored.`}),(0,z.jsxs)(`span`,{className:`flex gap-2`,children:[(0,z.jsx)(V,{size:`sm`,onClick:m.dismissRestored,children:`Keep`}),(0,z.jsx)(V,{size:`sm`,onClick:m.discard,children:`Discard`})]})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-1 gap-8 md:grid-cols-[minmax(0,1fr)_300px] md:gap-12`,children:[(0,z.jsxs)(`main`,{className:`divide-y divide-border`,children:[w.flatMap((r,i)=>{if(r.kind===`related`)return[(0,z.jsx)(yce,{item:r,recordKey:t,owner:e.name},`related:${r.title}`)];if(r.kind===`custom`)return r.sidebar?[]:[(0,z.jsx)(R9,{item:r,scope:ee},`custom:${i}`)];if(r.kind===`map`)return r.sidebar?[]:[(0,z.jsx)(z9,{item:r,record:n.record},`map:${i}`)];if(r.kind!==`section`)return[];let a=r.fields.filter(t=>e.fields[t]&&A(t));return a.length===0?[]:[(0,z.jsx)(yC,{title:r.title,help:r.help,children:(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:a.map(j)})},r.title)]}),f&&(0,z.jsx)(ice,{lines:f,draft:p,vatRate:Number(n.record.vatRate??21)/100,saving:m.saving})]}),(0,z.jsxs)(`aside`,{className:`space-y-4 md:pt-8`,children:[(0,z.jsx)(tce,{model:e,stored:n,recordKey:t}),M===-1&&N,w.map((e,t)=>e.kind===`custom`&&e.sidebar?(0,z.jsx)(R9,{item:e,scope:ee},`custom:${t}`):e.kind===`map`&&e.sidebar?(0,z.jsx)(z9,{item:e,record:n.record},`map:${t}`):t===M?(0,z.jsx)(o.Fragment,{children:N},`summary`):null),(0,z.jsx)(wC,{title:`Details`,rows:[L9(e,`created`),D].flatMap(t=>{let r=t?e.fields[t]:void 0;return t&&r&&A(t)?[{label:k(t)?.label??W(t),value:iv(r,n.record[t],k(t))}]:[]})}),S.records.length>0&&(0,z.jsx)(CC,{title:`Related records`,children:(0,z.jsx)(SC,{records:S.records,onNavigate:s})})]})]})]})}),(m.dirty||b||y)&&(0,z.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 border-t bg-background p-3 md:hidden`,children:te})]})},wce=e=>ds(e)?e.status===401||e.status===403?`It did not accept your sign-in: ${e.message}`:e.message:`It did not answer.`,Tce=({status:e})=>{let t=qp();return e.state===`error`?(0,z.jsx)(`div`,{className:`flex h-full min-h-48 items-center justify-center p-8`,children:(0,z.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,z.jsxs)(`h1`,{className:`text-[15px] font-semibold`,children:[`Cannot reach `,e.source.label]}),(0,z.jsxs)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:[wce(e.error),` The rest of the app works as before.`]}),(0,z.jsx)(V,{className:`mt-3`,onClick:()=>void t.refetchQueries({queryKey:H.sourceMetas(e.source.url)}),children:`Try again`})]})}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading from `,e.source.label]})},Ece=eo(),Dce=e=>Object.values(e.resources).flatMap(t=>{let n=e.views[t.name];return!t.search?.length||!n||n.nav?.hidden||e.permissions[t.name]?.read===!1?[]:[{model:t,view:n,label:n.names?.plural??W(t.name)}]}),Oce=e=>{let t=e.map(e=>e.label.toLowerCase());return t.length===0?`Search`:t.length===1?`Search ${t[0]}`:t.length===2?`Search ${t[0]} and ${t[1]}`:`Search ${t[0]}, ${t[1]} and more`},kce=e=>za(Ece.search(e.trim())),q9=e=>{let t=e.view?.searchResult?.title;return t?.length?t:[hg(e.model,e.view)]},J9=e=>{let t=q9(e);return e.view?.searchResult?.subtitle??e.model.search?.find(e=>!t.includes(e))},Ace=e=>{let t=J9(e),n=[...q9(e),...t?[t]:[],...e.model.search??[]];return[...new Set([...e.model.primaryKey,...n.filter(t=>Object.hasOwn(e.model.fields,t))])]},Y9=(e,t,n)=>{let r=t[n];return r==null?``:e.model.fields[n]?.type===`enum`?Bo(String(r),e.view?.fields[n]?.valueLabels):String(r)},jce=(e,t,n,r=``)=>{let i=po(vg(e.model,t)),a=q9(e),o=J9(e),s=Ra(e.model,t,n,[...a,...o?[o]:[]])??o,c=s?Y9(e,t,s):``;return{id:i,title:a.map(n=>Y9(e,t,n)).filter(Boolean).join(` `)||i,...c&&{subtitle:c},href:qo({kind:`record`,resource:e.model.name,key:i},r)}},Mce=()=>{let e=G(),t=U(),{basePath:n}=Oh(),r=(0,o.useMemo)(()=>Dce(e),[e]),[i,a]=(0,o.useState)(``),s=i.trim(),c=rk(s,200),l=s.length>=2,u=l&&c.length>=2,d=_h({queries:r.map(e=>({queryKey:[`global-search`,e.model.name,c],enabled:u,staleTime:1/0,gcTime:0,queryFn:()=>t.list(e.model.name,{filter:kce(c),pageSize:5,fields:Ace(e)})}))}),f=r.flatMap((e,t)=>{let r=d[t];if(!u||!r)return[];if(r.error)return[{id:e.model.name,label:e.label,hits:[],failed:!0}];let i=(r.data?.items??[]).map(t=>jce(e,t,c,n));return i.length>0?[{id:e.model.name,label:e.label,hits:i}]:[]});return{available:r.length>0,placeholder:Oce(r),text:i,setText:a,query:u?c:``,loading:l&&(s!==c||d.some(e=>e.isFetching)),groups:f}},Nce=e=>!!(e?.updateAvailable&&e.indicator),X9={immediate:`Updates as soon as a release is out`,weekly:`Updates at a set time every week`,scheduled:`Updates at the time set for this release`,manual:`Updates only when asked to`},Pce=e=>e.updating?`Updating now`:e.nextUpdateAt?`${X9[e.policy]}: next on ${Sf(Date.parse(e.nextUpdateAt))} UTC`:X9[e.policy],Fce=e=>ds(e)&&e.status===409?`Already on the latest version, or an update is running.`:ds(e)&&e.status===403?`Only an admin can update the runtime.`:`The update could not be started. Try again later.`,Ice=18e5,Lce=3e4,Rce=e=>{let t=dg(),n=(0,o.useRef)(t);n.current=t;let r=t!==void 0;return(0,o.useMemo)(()=>r?Au({url:e,token:()=>n.current}):void 0,[e,r])},zce=e=>{let[t,n]=(0,o.useState)(),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(),[c,l]=(0,o.useState)(),u=t?.updating??!1;return(0,o.useEffect)(()=>{if(!e)return;let t=!0,r=()=>e.status().then(e=>{t&&(n(e),l(void 0))},e=>t&&l(e));r();let i=setInterval(()=>void r(),u?Lce:Ice);return()=>{t=!1,clearInterval(i)}},[e,u]),{status:t,update:(0,o.useCallback)(async()=>{e&&(i(!0),s(void 0),await e.update().then(n,s),i(!1))},[e]),requesting:r,error:a,checkError:c}},Z9=({label:e,value:t})=>(0,z.jsxs)(`div`,{className:`flex justify-between gap-4 py-1 text-[13px]`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,z.jsx)(`span`,{className:`font-medium tabular-nums`,children:t})]}),Q9=({client:e})=>{let{status:t,update:n,requesting:r,error:i,checkError:a}=zce(e),[s,c]=(0,o.useState)(!1);return!t||!s&&!Nce(t)?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(V,{size:`sm`,variant:`ghost`,"aria-label":`Update available`,title:`Update available`,onClick:()=>c(!0),className:`max-md:size-9 max-md:p-0`,children:[(0,z.jsx)(xe,{className:`size-3.5 text-primary`}),(0,z.jsx)(`span`,{className:`max-md:sr-only`,children:`Update`})]}),s&&(0,z.jsxs)(kf,{title:`Runtime update`,description:Pce(t),onClose:()=>c(!1),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>c(!1),children:`Close`}),(0,z.jsx)(V,{variant:`primary`,loading:r,disabled:t.updating||!t.updateAvailable,onClick:()=>void n(),children:t.updating?`Updating…`:`Update now`})]}),children:[(0,z.jsx)(Z9,{label:`Current version`,value:t.version}),(0,z.jsx)(Z9,{label:`Latest version`,value:t.latest}),i!==void 0&&(0,z.jsx)(`p`,{role:`alert`,className:`mt-3 text-[13px] text-danger-text`,children:Fce(i)}),a!==void 0&&(0,z.jsx)(`p`,{className:`mt-3 text-[13px] text-muted-foreground`,children:`The status could not be checked again; this is the last one read.`})]})]})},Bce=({url:e})=>(0,z.jsx)(Q9,{client:Rce(e)}),Vce=({url:e,client:t})=>t?(0,z.jsx)(Q9,{client:t}):(0,z.jsx)(Bce,{url:e}),Hce=({signIn:e,onStop:t})=>{let[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(),s=async()=>{r(!0),a(void 0);try{await t()}catch(e){if(!(e instanceof zs))throw e;a(qd(e)),r(!1)}};return(0,z.jsxs)(`div`,{role:`region`,"aria-label":`Staff session`,className:`flex flex-wrap items-center gap-x-3 gap-y-2 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,z.jsx)(wn,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,z.jsxs)(`p`,{className:`min-w-64 flex-1 break-words`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:e.staffName??e.staff}),` is signed in as `,(0,z.jsx)(`span`,{className:`font-semibold`,children:e.user}),` until`,` `,Sf(Date.parse(e.expiresAt)),`. Reason: `,e.reason]}),i&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:i}),(0,z.jsx)(V,{size:`sm`,loading:n,onClick:()=>void s(),children:`Stop staff session`})]})},Uce=(e,t,n)=>({filter:n.filter??``,orderBy:n.orderBy??Cv(e,t),pageSize:n.limit??3,fields:[...new Set([...e.primaryKey,hg(e,t),n.status])]}),Wce=(e,t,n,r,i,a)=>r.map(r=>{let o=po(vg(e,r)),s=String(r[n.status]??``);return{id:o,label:gg(e,t,r,o),href:qo({kind:`record`,resource:e.name,key:o},i),status:e.fields[n.status]?.type===`enum`&&s?Bo(s,t.fields[n.status]?.valueLabels):s,tone:n.tones[s]??`neutral`,pulse:n.pulse?.includes(s)??!1,active:o===a}}),Gce=(e,t,n,r,i)=>{let a=n.find(t=>po(vg(e,t))===r);return a!==void 0&&t.some(e=>!Object.is(a[e],i[e]))},$9=({model:e,request:t})=>H.navRecent(e.name,t.filter,t.orderBy,t.pageSize),Kce=e=>{let t=qp();(0,o.useEffect)(()=>t.getQueryCache().subscribe(n=>{if(n.type!==`updated`||n.action.type!==`success`)return;let[r,i,a]=n.query.queryKey,o=n.action.data?.record;if(r===`record`&&typeof a==`string`&&o)for(let n of e){if(n.model.name!==i)continue;let e=t.getQueryData($9(n));e&&Gce(n.model,n.request.fields,e.items,a,o)&&t.invalidateQueries({queryKey:$9(n),exact:!0})}}),[t,e])},qce=(e,t,n)=>{let r=U(),i=(0,o.useMemo)(()=>{let t=o9(e);return Object.values(e.views).flatMap(n=>{let r=e.resources[n.resource],i=n.nav?.recent;return r&&i&&!n.nav?.hidden&&!t.has(r.name)?[{model:r,view:n,recent:i,request:Uce(r,n,i)}]:[]})},[e]);Kce(i);let a=_h({queries:i.map(e=>({queryKey:$9(e),queryFn:()=>r.list(e.model.name,e.request),refetchOnWindowFocus:!0}))});return Object.fromEntries(i.map(({model:e,view:r,recent:i},o)=>{let s=a[o];if(s.isPending)return[e.name,{state:`loading`}];if(s.isError)return[e.name,{state:`error`}];let c=n.resource===e.name?n.key:void 0;return[e.name,{state:`ready`,records:Wce(e,r,i,s.data.items,t,c)}]}))},Jce=e=>e?.kind===`page`?e.page:e?.resource,Yce=e=>e?.kind===`record`?e:void 0,Xce=({workspace:e,sidebarMode:t,assistant:n,runtime:r})=>{let i=G(),{state:a,session:s,signOut:c,stopStaffSession:l,organizations:u}=B(),d=Hh();if(a.kind!==`signed-in`&&a.kind!==`visitor`)throw Error(`The shell is only rendered for a signed-in user or a visitor`);let f=a.kind===`signed-in`?a.user:void 0,p=a.kind===`signed-in`?a.staff:void 0,{path:m,params:h,basePath:g}=Oh(),{address:_,go:v,open:y}=Hv(),b=Jce(_),x=Yce(_),S=Mce(),C=kg(),w=Qoe(i,g,qce(i,g,{resource:b,key:x?.key})),T=Object.keys(i.pages)[0],E=Object.keys(i.resources)[0],D=_?.kind===`page`?i.pages[_.page]:void 0;(0,o.useEffect)(()=>{m===`/`&&(T?v({kind:`page`,page:T},{replace:!0}):E&&v({kind:`list`,resource:E},{replace:!0}))},[m,T,E,v]);let O=_?.kind===`page`?void 0:_?.resource,k=O?Lv(i,O):void 0,A=O?i.views[O]:void 0,j=w.find(e=>e.items.some(e=>e.id===b)),M=O?i.resources[O]:void 0,N=fg(x?.resource??``,x?.key??``,!!(M&&x)),ee=M&&x&&N.data?gg(M,A,N.data.record,x.key):void 0,te=!!x&&(N.isLoading||k?.state===`loading`),{shell:ne}=p_(),re=ne?.actions,ie=ne?.rightPanel,[ae,oe]=(0,o.useState)(!1),se=i.assistant?.url,ce=se&&(0,z.jsx)(D_,{open:ae,onToggle:()=>oe(!ae)}),le=se&&ae&&(0,z.jsx)(A_,{url:se,client:n,page:h.size>0?`${m}?${h}`:m,onClose:()=>oe(!1)}),ue=i.errorReporting;(0,o.useEffect)(()=>{ue&&c_(ue)},[ue]);let P=i.runtime?.url,de=P&&(0,z.jsx)(Vce,{url:P,client:r}),fe=Yoe((0,o.useCallback)(()=>n9(g),[g]),!!f),pe=f&&Joe(f,fe.current),me=pe?sg(pe):!1,he=Yse(),ge=Roe(!!(u&&f)),_e=ge.current,ve=!!u&&_e!==void 0&&!_e.organization,ye=u&&f?jte[m]:void 0,be=f?m===`/-/account`?`Sign-in & security`:m===`/-/sign-in-policy`?`Sign-in policy`:ye:void 0,xe=be?[be]:I_({basePath:g,address:_,group:j?.label,page:D,resourceLabel:A?.names?.plural??(O&&W(O)),recordTitle:ee,recordLoading:te}),Se=f&&m===`/-/account`?(0,z.jsx)(Np,{email:f.email}):f&&m===`/-/sign-in-policy`?me?(0,z.jsx)(Gp,{}):(0,z.jsx)(Rv,{title:`Admins only`,children:`Only an admin can change how people sign in.`}):ye&&m===`/-/organization`?(0,z.jsx)(Uoe,{current:_e,basePath:g,onChanged:ge.reload}):ye&&(m===`/-/organization/members`||m===`/-/organization/invitations`)?Yh(_e)?m===`/-/organization/members`?(0,z.jsx)(Poe,{current:_e}):(0,z.jsx)(Loe,{current:_e}):(0,z.jsx)(Rv,{title:`Owners and admins only`,children:`Only the organization's owners and admins manage its members.`}):ye&&m===`/-/organizations`||ve?(0,z.jsx)(qoe,{state:ge,basePath:g}):_?_.kind===`page`?D?(0,z.jsx)(Nse,{name:D.name},D.name):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no page called `,_.page,`.`]}):k&&k.state!==`ready`?(0,z.jsx)(Tce,{status:k}):_.kind===`create`?(0,z.jsx)(LC,{resource:_.resource,values:_.values},`${_.resource}/new?${new URLSearchParams(_.values).toString()}`):_.kind===`record`?(0,z.jsx)(Sce,{resource:_.resource,recordKey:_.key},`${_.resource}/${_.key}`):(0,z.jsx)(Moe,{address:_},_.resource):m===`/`?(0,z.jsx)(Rv,{title:`Choose a resource`,children:`Pick one from the sidebar.`}):(0,z.jsx)(Rv,{title:`Not found`,children:`There is nothing at this address.`}),Ce=(0,z.jsx)(Vd,{sidebarMode:t??`text-small`,activeItem:b??``,breadcrumb:xe,user:pe&&cg(pe),onSignOut:f&&(()=>void c()),onSignIn:f?void 0:()=>d.open(),workspace:_e?.organization?.name??e,navGroups:w,bottomBar:F_(i,g,b),userMenu:[...Xoe(i,g,b),...u&&f?Xh(g,m,_e):[],...f?Ln(g,m,me):[]],organizations:u&&{..._e?.organization&&{current:{id:_e.organization.id,name:_e.organization.name}},others:ge.organizations.filter(e=>e.id!==_e?.organization?.id),onSwitch:e=>void s.organizations.switchTo(e).then(()=>n9(g))},theme:{preference:C.preference,onChange:C.choose},roles:fe.current?.active?{active:fe.current.active,roles:fe.current.roles,onSwitch:fe.switchTo}:void 0,onNavigate:y,search:S.available?{placeholder:S.placeholder,text:S.text,onTextChange:S.setText,query:S.query,loading:S.loading,groups:S.groups,onSelect:y}:void 0,actions:(re||de||ce)&&(0,z.jsxs)(z.Fragment,{children:[re&&(0,z.jsx)(vy,{name:`shell.actions`,fallback:null,children:(0,z.jsx)(re,{})}),de,ce]}),rightPanel:(ie||le)&&(0,z.jsxs)(z.Fragment,{children:[ie&&(0,z.jsx)(vy,{name:`shell.rightPanel`,fallback:null,children:(0,z.jsx)(ie,{})}),le]}),children:Se}),we=me&&he.length>0;return!p&&!we?Ce:(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[p&&(0,z.jsx)(Hce,{signIn:p,onStop:l}),we&&(0,z.jsx)(Zse,{off:he}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1`,children:Ce})]})},Zce=({baseUrl:e,client:t,sources:n,workspace:r,sidebarMode:i,ui:a,assistant:o,runtime:s,pluginLoader:c})=>{let{state:l,session:u,markSignedOut:d}=B();return(0,z.jsx)(Eh,{baseUrl:e,client:t,sources:n,token:l.kind===`visitor`?void 0:u.token,onUnauthenticated:d,children:(0,z.jsx)(Bv,{children:(0,z.jsx)(Ig,{children:(0,z.jsx)(Xse,{ui:a,...c&&{loader:c},children:(0,z.jsx)(Xce,{workspace:r,sidebarMode:i,assistant:o,runtime:s})})})})})},Qce=({auth:e,workspace:t,basePath:n,initialUrl:r,...i})=>(0,z.jsx)(Og,{children:(0,z.jsx)(cf,{session:e,children:(0,z.jsx)(Gee,{basePath:n,initialUrl:r,children:(0,z.jsx)(rg,{workspace:t,children:(0,z.jsx)(Zce,{workspace:t,...i})})})})});export{e_ as A,Lg as B,T_ as C,d_ as D,__ as E,Wg as F,Th as G,dg as H,Ug as I,R as K,Vg as L,Jg as M,qg as N,u_ as O,Kg as P,zg as R,E_ as S,x_ as T,Eh as U,fg as V,U as W,yA as _,N9 as a,Hv as b,k9 as c,Ene as d,Dne as f,dne as g,yne as h,B9 as i,Zg as j,a_ as k,w9 as l,vne as m,H9 as n,P9 as o,JA as p,b as q,V9 as r,zse as s,Qce as t,u9 as u,gA as v,C_ as w,Mv as x,Uv as y,Rg as z};
66
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xae(e,t){if(e){if(typeof e==`string`)return j7(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?j7(e,t):void 0}}function j7(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Sae(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Cae(e){if(Array.isArray(e))return e}var wae=()=>(P0(),null);function M7(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Tae=(0,o.forwardRef)((e,t)=>{var n=(0,o.useRef)(null),r=A7((0,o.useState)({containerWidth:M7(e.style?.width),containerHeight:M7(e.style?.height)}),2),i=r[0],a=r[1],s=(0,o.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,o.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;s(i,a);var o=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;s(r,i)}});o.observe(e),n.current=o}},[t,s]);return(0,o.useEffect)(()=>()=>{n.current?.disconnect()},[s]),o.createElement(o.Fragment,null,o.createElement(xz,{width:i.containerWidth,height:i.containerHeight}),o.createElement(`div`,k7({ref:c},e)))}),Eae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=A7((0,o.useState)({containerWidth:M7(n),containerHeight:M7(r)}),2),a=i[0],s=i[1],c=(0,o.useCallback)((e,t)=>{s(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),l=(0,o.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;c(r,i)}},[t,c]);return o.createElement(o.Fragment,null,o.createElement(xz,{width:a.containerWidth,height:a.containerHeight}),o.createElement(`div`,k7({ref:l},e)))}),Dae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height;return o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(`div`,k7({ref:t},e)))}),Oae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?o.createElement(Eae,k7({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?o.createElement(Dae,k7({},e,{width:n,height:r,ref:t})):o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(`div`,k7({ref:t},e)))});function kae(e){return e?Tae:Oae}var Aae=(0,o.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,s=e.onContextMenu,c=e.onDoubleClick,l=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,f=e.onMouseMove,p=e.onMouseUp,m=e.onTouchEnd,h=e.onTouchMove,g=e.onTouchStart,_=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0||b,S=(0,o.useRef)(null),C=XN(),w=A7((0,o.useState)(null),2),T=w[0],E=w[1],D=A7((0,o.useState)(null),2),O=D[0],k=D[1],A=hae(),j=cz(),M=j?.width>0?j.width:v,N=j?.height>0?j.height:i,ee=(0,o.useCallback)(e=>{A(e),typeof t==`function`&&t(e),E(e),k(e),e!=null&&(S.current=e)},[A,t,E,k]),te=(0,o.useCallback)(e=>{C(K5(e)),C(u7({handler:a,reactEvent:e}))},[C,a]),ne=(0,o.useCallback)(e=>{C(J5(e)),C(u7({handler:u,reactEvent:e}))},[C,u]),re=(0,o.useCallback)(e=>{C(GQ()),C(u7({handler:d,reactEvent:e}))},[C,d]),ie=(0,o.useCallback)(e=>{C(J5(e)),C(u7({handler:f,reactEvent:e}))},[C,f]),ae=(0,o.useCallback)(()=>{C(r7())},[C]),oe=(0,o.useCallback)(()=>{C(i7())},[C]),se=(0,o.useCallback)(e=>{C(n7(e.key))},[C]),ce=(0,o.useCallback)(e=>{C(u7({handler:s,reactEvent:e}))},[C,s]),le=(0,o.useCallback)(e=>{C(u7({handler:c,reactEvent:e}))},[C,c]),ue=(0,o.useCallback)(e=>{C(u7({handler:l,reactEvent:e}))},[C,l]),P=(0,o.useCallback)(e=>{C(u7({handler:p,reactEvent:e}))},[C,p]),de=(0,o.useCallback)(e=>{C(u7({handler:g,reactEvent:e}))},[C,g]),fe=(0,o.useCallback)(e=>{x&&C(h7(e)),C(u7({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,o.useCallback)(e=>{C(u7({handler:m,reactEvent:e}))},[C,m]),me=kae(y);return o.createElement(c0.Provider,{value:T},o.createElement(Jne.Provider,{value:O},o.createElement(me,{width:M??_?.width,height:N??_?.height,className:XA(`recharts-wrapper`,r),style:gae({position:`relative`,cursor:`default`,width:M,height:N},_),onClick:te,onContextMenu:ce,onDoubleClick:le,onFocus:ae,onBlur:oe,onKeyDown:se,onMouseDown:ue,onMouseEnter:ne,onMouseLeave:re,onMouseMove:ie,onMouseUp:P,onTouchEnd:pe,onTouchMove:fe,onTouchStart:de,ref:ee},o.createElement(wae,null),n)))}),jae=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Mae(e,t){if(e==null)return{};var n,r,i=Nae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Nae(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var Pae=(0,o.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,s=e.className,c=e.style,l=e.compact,u=e.title,d=e.desc,f=ej(Mae(e,jae));return l?o.createElement(o.Fragment,null,o.createElement(xz,{width:n,height:r}),o.createElement(E7,{otherAttributes:f,title:u,desc:d},a)):o.createElement(Aae,{className:s,style:c,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},o.createElement(E7,{otherAttributes:f,title:u,desc:d,ref:t},o.createElement(c8,null,a)))});function N7(){return N7=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},N7.apply(null,arguments)}function P7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Fae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?P7(Object(n),!0).forEach(function(t){Iae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P7(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Iae(e,t,n){return(t=Lae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lae(e){var t=Rae(e,`string`);return typeof t==`symbol`?t:t+``}function Rae(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var zae=Fae({accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,layout:`horizontal`,margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:`none`,syncMethod:`index`},x7),Bae=(0,o.forwardRef)(function(e,t){var n=LM(e.categoricalChartProps,zae),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,s=e.tooltipPayloadSearcher,c=e.categoricalChartProps,l={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:s,eventEmitter:void 0};return o.createElement($ie,{preloadedState:{options:l},reduxStoreName:c.id??r},o.createElement(K6,{chartData:c.data}),o.createElement(tae,{layout:n.layout,margin:n.margin}),o.createElement(rae,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),o.createElement(nae,{baseValue:n.baseValue,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),o.createElement(Pae,N7({},n,{ref:t})))}),Vae=[`axis`,`item`],Hae=(0,o.forwardRef)((e,t)=>o.createElement(Bae,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:Vae,tooltipPayloadSearcher:m0,categoricalChartProps:e,ref:t})),F7=e=>e.reduce((e,t)=>e+t.count,0),Uae=e=>{let t=Math.floor(e.length/2),n=F7(e.slice(0,t)),r=F7(e.slice(e.length-t));return n===0?0:(r-n)/n*100},Wae=({active:e,payload:t,noun:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,z.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,z.jsx)(`div`,{className:`text-muted-foreground`,children:bf(r.at)}),(0,z.jsxs)(`div`,{className:`font-semibold tabular-nums`,children:[pf(r.count),` `,n]})]})},I7={fontSize:11,fill:`var(--muted-foreground)`},Gae=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:s,className:c})=>{let[l,u]=(0,o.useState)(n),d=i??l,f=a??u,p=r??oC(d),m=ju(`(min-width: 640px)`),h=Uae(p);return(0,z.jsxs)(`section`,{className:R(`rounded-lg border bg-background px-4 pb-2 pt-3`,c),children:[(0,z.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:e}),(0,z.jsx)(`span`,{className:`text-[13px] font-semibold tabular-nums`,children:pf(F7(p))}),(0,z.jsxs)(`span`,{className:R(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,z.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:s??`last ${d===`day`?`30 days`:`12 weeks`}`})]}),(0,z.jsx)(od,{value:d,onChange:f,options:[{value:`day`,label:`Day`},{value:`week`,label:`Week`}]})]}),(0,z.jsx)(`div`,{className:`mt-2 h-24`,children:(0,z.jsx)(uz,{width:`100%`,height:`100%`,children:(0,z.jsxs)(Hae,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,z.jsx)(u5,{vertical:!1,stroke:`var(--border)`}),(0,z.jsx)(R5,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:xf,tick:I7,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,z.jsx)(U5,{width:m?36:28,tick:I7,axisLine:!1,tickLine:!1,tickCount:3}),(0,z.jsx)(Z0,{cursor:{fill:`var(--muted)`},content:(0,z.jsx)(Wae,{noun:t}),isAnimationActive:!1}),(0,z.jsx)(A5,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},Kae={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},qae=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,s]=(0,o.useState)(t.granularity===`week`?`week`:`day`),c=a===`week`?`90d`:t.range,l=JA(e,{field:t.field,range:c,granularity:a,filter:i}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,z.jsx)(Gae,{title:n,noun:r,data:l,granularity:a,onGranularityChange:s,periodLabel:a===`week`?`last 12 weeks`:Kae[c]})},Jae=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,o.useState)(e);return(0,o.useEffect)(()=>a(e),[e]),(0,o.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,z.jsx)(Md,{wrapperClassName:R(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,z.jsx)(Ut,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},L7=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&hy(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,z.jsx)(by,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:VD(e,e.value?e.value(t):t[e.id])})}:e}),Yae=({model:e,view:t,target:n,children:r})=>{let i=EA(e.name,t.listOf,!0),a=t.names?.plural??W(e.name),o=e=>(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[(0,z.jsx)(Hd,{title:a,subtitle:t.help}),e]});if(i.error)return o((0,z.jsx)(ey,{title:`Could not load your ${a.toLowerCase()}`,error:i.error}));if(!i.data)return o((0,z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}));let s=zte(n,i.data);return s?r(s):o((0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,a.toLowerCase(),` yet.`]}))},R7=eo(),Xae={start:0,end:0},Zae=(e,t,n)=>{let r=Hk(Zk(t,e),n);return r.ok?Object.fromEntries(Object.entries(r.state.facets).filter(([t,n])=>e.fields[t]?.type===`relation`&&n.length>0)):{}},Qae=(e,t,n)=>{let r=e=>t?.fields[e]?.label??W(e),i=Zk(t,e);return{...i,facets:i.facets.map(i=>{if(i.flags)return{...i,options:i.options.map(e=>({...e,label:r(e.value)}))};let a=e.fields[i.id]?.enumValues??[],o=e.fields[i.id]?.type===`enum`?Object.fromEntries(a.map(e=>[e,Bo(e,t?.fields[i.id]?.valueLabels)])):n[i.id]??{};return{...i,label:r(i.id),labels:o}}),ranges:(i.ranges??[]).map(e=>({...e,label:r(e.id),format:$k(t,e.id)})),toggles:i.toggles?.map(e=>({...e,label:r(e.id)}))}},z7=(e,t,n,r={})=>{let i=Qae(e,t,r),a=Hk(i,n);if(!a.ok)return[{key:`unreadable`,label:`A filter that cannot be read`}];let o=a.extras.map((e,t)=>({key:`extra:${t}`,label:e.kind===`search`?`"${e.text}"`:za(e)}));return[...JO(i,a.state),...o]},$ae=e=>Object.fromEntries(e.facets.filter(e=>!e.flags).map(e=>[e.id,{...e.labels,...Object.fromEntries(e.options.map(e=>[e.value,e.label]))}])),B7=e=>e.map(e=>e.label).join(`, `),eoe=(e,t,n)=>{if(typeof n!=`string`||n===``)return e;let r=R7.gt(t,{kind:`timestamp`,value:new Date(n).toISOString(),span:Xae}),i=na(e);if(!i.ok)throw Error(`The saved filter cannot be read: ${i.errors.map(e=>e.message).join(`; `)}`);return za(i.ast?R7.and(i.ast,r):r)},toe=e=>H.list(e,``,``,500,`saved-searches`),V7=(e,t)=>{let n=U(),{resources:r,views:i}=G(),a=r[e];return yh({queryKey:toe(e),enabled:t&&a!==void 0,queryFn:async()=>{let t=[],r;do{let o=await n.list(e,{pageSize:500,orderBy:Cv(a,i[e]),...r&&{pageToken:r}});t.push(...o.items),r=o.nextPageToken||void 0}while(r);return t}})},noe=e=>e instanceof Error?e.message:`Something went wrong`,roe=(e,t,n)=>{let r=G(),i=U(),a=Fg(),o=CA(),{go:s}=Hv(),{resource:c}=e,l=r.resources[c],u=r.views[c]?.searchesOf,d=r.permissions[c],f=l!==void 0&&u!==void 0&&d!==void 0&&wy(d,`create`)&&wy(d,`delete`),p=r.signIn?.[c]?.signIn,m=V7(c,f),h=u&&m.data?.find(e=>e[u.filter]===t),g=r.views[c]?.names?.plural??`saved searches`,_=bh({mutationFn:async e=>{e?await i.remove(c,po(vg(l,e))):await i.create(c,{[u.filter]:t,...u.name&&{[u.name]:n}})},onSuccess:(e,t)=>{t||a.show({state:`success`,title:`Search saved`,action:{label:`Open ${g.toLowerCase()}`,onClick:()=>s({kind:`list`,resource:c})}})},onError:(e,t)=>a.show({state:`error`,title:t?`Could not take the search off`:`Could not save the search`,description:noe(e)}),onSettled:()=>o(c)});return{mode:f?`save`:p?`sign-in`:void 0,prompt:p,saved:h!==void 0,ready:m.data!==void 0&&!_.isPending,toggle:()=>_.mutate(h)}},H7=({search:e,filter:t,name:n,className:r})=>{let i=roe(e,t,n),[a,s]=(0,o.useState)(!1);if(!i.mode)return null;let c=e.label??`Save search`;if(i.mode===`sign-in`)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(V,{className:r,"aria-haspopup":`dialog`,onClick:()=>s(!0),children:[(0,z.jsx)(ne,{className:`size-3.5`,"aria-hidden":!0}),c]}),(0,z.jsx)(yA,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>s(!1)})]});let l=i.saved?ee:ne;return(0,z.jsxs)(V,{className:r,"aria-pressed":i.saved,"aria-disabled":!i.ready,onClick:()=>i.ready&&i.toggle(),children:[(0,z.jsx)(l,{className:i.saved?`size-3.5 text-primary`:`size-3.5`,"aria-hidden":!0}),c]})},ioe=({list:e,empty:t,loading:n,children:r})=>(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.loading?n:e.error?(0,z.jsx)(ey,{title:`Could not load rows`,error:e.error}):e.rows.length===0?(0,z.jsx)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:t}):r}),aoe=({list:e})=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{children:[e.rows.length.toLocaleString(`en-IE`),` of `,e.total.toLocaleString(`en-IE`)]}),e.more&&(0,z.jsx)(V,{size:`sm`,onClick:e.loadMore,children:`Show more`})]}),U7=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,ooe=`flex snap-x snap-mandatory gap-3 overflow-x-auto pb-1`,soe=({model:e,view:t,display:n,list:r,row:i=!1,footer:a=!0})=>{let o=(t?.names?.plural??W(e.name)).toLowerCase();return(0,z.jsxs)(ioe,{list:r,empty:`No ${o} match.`,loading:(0,z.jsx)(`div`,{className:U7,children:Array.from({length:6},(e,t)=>(0,z.jsx)(kd,{className:`h-24`},t))}),children:[(0,z.jsx)(`ul`,{className:i?ooe:U7,"aria-label":t?.names?.plural??W(e.name),children:r.rows.map(r=>(0,z.jsx)(`li`,{className:R(i&&`w-64 shrink-0 snap-start`),children:(0,z.jsx)(MA,{model:e,view:t,display:n,row:r,swipe:!i})},r.key))}),a&&(0,z.jsx)(aoe,{list:r})]})},coe=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=qp(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=yh({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await R_(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,z.jsx)(Uv,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,z.jsx)(`span`,{children:c})},loe=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=G(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,z.jsx)(coe,{field:t,value:n,known:i});let s=t.type===`file`?G_(n):void 0;if(s&&`url`in s&&s.url){let e=$_(n,{width:40,height:40});return(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[e&&(0,z.jsx)(dy,{image:e,className:`size-10 shrink-0 rounded border border-border object-cover`}),(0,z.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`truncate font-medium text-primary-text hover:underline`,children:s.name})]})}let c=iv(t,n,o);return t.type===`enum`||o.format===`badge`?(0,z.jsx)(DA,{value:n,hints:o,children:c}):(0,z.jsx)(`span`,{className:R(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`),children:c})},W7=e=>{let{views:t}=G(),n=gy(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,z.jsx)(loe,{...e});return n?(0,z.jsx)(by,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},G7=(e,t,n)=>{if(!t)return[];let r=Ns(e,t.model.name,n);return r.ok?r.steps:[]},K7=(e,t,n,r,i)=>({queryKey:H.pathValue(n?.model.name??``,n?.key??``,r),enabled:i.length>1,queryFn:async()=>{let r=n.record;for(let n of i.slice(0,-1)){let i=r[n.field.name];if(i==null)return null;let a=n.field.relation.resource;r=(await t.fetchQuery({queryKey:H.record(a,String(i)),queryFn:()=>e.get(a,String(i))})).record}return r[i.at(-1).field.name]??null}}),q7=(e,t,n)=>{let r=t.at(-1);return!e||!r?{state:`missing`}:t.length===1?{state:`ready`,value:e.record[r.field.name],field:r.field,model:r.model}:n.isPending?{state:`loading`}:{state:`ready`,value:n.data??null,field:r.field,model:r.model}},J7=(e,t)=>{let{resources:n}=G(),r=G7(n,e,t);return q7(e,r,yh(K7(U(),qp(),e,t,r)))},uoe=(e,t)=>{let{resources:n}=G(),r=U(),i=qp(),a=t.map(t=>G7(n,e,t)),o=_h({queries:t.map((t,n)=>K7(r,i,e,t,a[n]))});return t.map((t,n)=>q7(e,a[n],o[n]))},Y7=e=>e.includes(`.`),doe=({model:e,row:t,column:n})=>{let r=J7(bA(e,Sv(e,t).record),n);return r.state===`loading`?(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,z.jsx)(W7,{model:r.model,field:r.field,value:r.value})},foe=(e,t,{resources:n,views:r})=>{let i=Ns(n,e.name,t),a=i.ok?i.steps.at(-1):void 0,o=a?.field.name??t;return{id:t,header:r[a?.model.name??e.name]?.fields[o]?.label??W(o),kind:`text`,width:200,render:n=>(0,z.jsx)(doe,{model:e,row:n,column:t})}},poe=(e,t,n,r)=>{let i=new Map(L7(wk(e,t,[],n.filter(e=>!Y7(e))),e,t,r.fieldTypes).map(e=>[e.id,e]));return n.flatMap(t=>Y7(t)?[foe(e,t,r)]:i.get(t)??[])},moe=`protobase:embedded-display:`,hoe=e=>`${moe}${e}`,goe=(e,t)=>dd(()=>e.getItem(t)??void 0,void 0),_oe=(e,t,n)=>dd(()=>e.setItem(t,n),void 0),voe=(e,t,{picked:n,preferred:r})=>{let i=fv(e).map(e=>e.name);return n!==void 0&&i.includes(n)?n:lv(e,t,r!==void 0&&i.includes(r)?r:void 0)},yoe=(e,t,n,r)=>kv({kind:`list`,resource:e.name},r,Dv(e,t,n)),boe=({model:e,filter:t,orderBy:n,limit:r,fields:i})=>{let a=U(),{resources:o,views:s}=G();return yh({queryKey:[...H.list(e.name,t,n,r,`embedded`),i.join(`,`)],placeholderData:_m,queryFn:async()=>{let c=B_(o,s,e,i),l=ov(s[e.name]),u=await a.search(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,labels:c,photos:l});return V_(o,e,i,sv(e,u.items,u.photos),u.labels).map((t,n)=>({...t,id:_g(e,u.items[n])}))}})},X7=({view:e,value:t,onChange:n})=>(0,z.jsx)(GA,{view:e,value:t,onChange:n,menu:!Mu()}),xoe=()=>(0,z.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-4 w-full`},t))}),Z7=({model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:s,empty:c,row:l=!1,viewAll:u})=>{let{resources:d,views:f}=G(),{fields:p}=p_(),{go:m}=Hv(),h=Nu(),[g,_]=(0,o.useState)(r||Cv(e,t)),v=i??Ck(e,t),y=(0,o.useMemo)(()=>poe(e,t,v,{resources:d,views:f,fieldTypes:p}),[e,t,v.join(`,`),d,f,p]),b=(0,o.useMemo)(()=>yv(e,t,y.map(e=>e.id)),[e,t,y]),x=boe({model:e,filter:n,orderBy:g,limit:a,fields:b}),S=x.data,C=(0,o.useMemo)(()=>S&&{total:S.length,rowAt:e=>S[e]},[S]),T=uv(t,s),E=t?.names?.plural??W(e.name),D=(0,z.jsxs)(Uv,{to:yoe(e,t,h,u?{filter:u.filter,orderBy:Cv(e,t),display:s}:{filter:n,orderBy:g,display:s}),onClick:u?.onOpen,className:`flex items-center gap-1 self-end text-[13px] font-medium text-primary-text hover:underline`,children:[u?u.label:(0,z.jsxs)(z.Fragment,{children:[`View all `,(0,z.jsx)(`span`,{className:`sr-only`,children:E.toLowerCase()})]}),(0,z.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})]});if(x.isPending)return(0,z.jsx)(xoe,{});if(x.error)return(0,z.jsx)(ey,{title:`Could not load`,error:x.error});if(!C||C.total===0){let e=(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:c??`Nothing here yet.`});return u?(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e,D]}):e}let O={resource:e.name,rows:x.data.map(t=>Sv(e,t)),total:x.data.length,loading:!1,error:null,more:!1,loadMore:()=>void 0},k=t=>m({kind:`record`,resource:e.name,key:vg(e,t)}),A=t?.names?.singular??W(e.name);return(0,z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[T?T.kind===`cards`?(0,z.jsx)(soe,{model:e,view:t,display:T,list:O,row:l||h,footer:!1}):T.kind===`map`?(0,z.jsx)(HA,{model:e,view:t,display:T,filter:n,orderBy:g,fields:b,footer:!1}):(0,z.jsx)(WA,{display:T,list:O}):(0,z.jsx)(LO,{fit:!0,columns:y,source:C,latencyMs:0,sort:wv(g),onSortChange:e=>_(Tv(e)),onOpenRow:k,rowActions:[{label:`Open ${A.toLowerCase()}`,onSelect:k}],rowNumbers:!1,selectable:!1}),D]})},Soe=e=>e instanceof Error?e.message:`Something went wrong`,Coe=({model:e,view:t,name:n,value:r,onChange:i})=>{let a=(0,o.useId)(),s=e.fields[n],c=t.fields[n],l=c?.label??W(n);if(s?.type===`boolean`)return(0,z.jsx)(H_,{checked:r===!0,onChange:i,label:l});if(s?.type!==`enum`)throw Error(`Not implemented: "${n}" is ${s?.type??`unknown`}, and a saved search's controls are enums or booleans`);return(0,z.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[l,(0,z.jsx)(`select`,{id:a,value:String(r??``),onChange:e=>i(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px] text-foreground shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:(s.enumValues??[]).map(e=>(0,z.jsx)(`option`,{value:e,children:Bo(e,c?.valueLabels)},e))})]})},woe=({model:e,view:t,recordKey:n,row:r,fields:i})=>{let a=U(),o=Fg(),s=CA(),c=bh({mutationFn:t=>a.update(e.name,n,t,r.etag??`*`),onError:e=>o.show({state:`error`,title:`Could not change the search`,description:Soe(e)}),onSettled:()=>s(e.name)});return(0,z.jsx)(`div`,{className:`flex flex-wrap items-center gap-3`,children:i.map(n=>(0,z.jsx)(Coe,{model:e,view:t,name:n,value:c.isPending&&n in(c.variables??{})?c.variables[n]:r[n],onChange:e=>c.mutate({[n]:e})},n))})},Toe=(e,t)=>{let n=U(),r=qp(),{resources:i,views:a}=G(),o=a[e.name],s=Object.entries(Zae(e,o,t)),c=_h({queries:s.map(([t,o])=>{let s=i[e.fields[t].relation.resource];return{queryKey:H.labels(`chips:${e.name}.${t}`,o.join(`,`)),enabled:s!==void 0,queryFn:async()=>Object.fromEntries(await R_(r,n,s,o,a[s.name]))}})});return z7(e,o,t,Object.fromEntries(s.flatMap(([e],t)=>c[t]?.data?[[e,c[t].data]]:[])))},Eoe=`inline-flex h-6 items-center rounded-full border border-primary-border bg-primary-soft px-2.5 text-xs font-medium text-primary-text`,Doe=12,Ooe=({model:e,view:t,of:n,target:r,targetView:i,row:a,recordKey:o,title:s,onDelete:c})=>{let l=U(),u=CA(),d=String(a[n.filter]??``),f=Toe(r,d),p=n.unseen,m=bh({mutationFn:t=>l.update(e.name,o,{[p.seenAt]:t},a.etag??`*`),onSettled:()=>u(e.name)}),h=i?.list?.displays?.find(e=>e.kind===`cards`),g=(i?.names?.plural??W(r.name)).toLowerCase();return(0,z.jsxs)(`section`,{"aria-label":s,className:`flex flex-col gap-3 rounded-lg border bg-surface p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold`,children:(0,z.jsx)(Uv,{to:{kind:`record`,resource:e.name,key:o},className:`hover:underline`,children:s})}),f.length>0&&B7(f)!==s&&(0,z.jsx)(`ul`,{className:`flex flex-wrap gap-1.5`,"aria-label":`Filters`,children:f.map(e=>(0,z.jsx)(`li`,{className:Eoe,children:e.label},e.key))})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.controls&&(0,z.jsx)(woe,{model:e,view:t,recordKey:o,row:a,fields:n.controls}),c&&(0,z.jsx)(V,{variant:`ghost`,"aria-label":`Delete ${s}`,onClick:c,children:(0,z.jsx)(gn,{className:`size-3.5`,"aria-hidden":!0})})]})]}),(0,z.jsx)(Z7,{model:r,view:i,filter:p?eoe(d,p.field,a[p.seenAt]):d,sort:p?`${p.field} desc`:Cv(r,i),limit:n.limit??Doe,display:h?.name??`table`,row:!0,empty:p?`No new ${g} since you last looked.`:`No ${g} match.`,viewAll:{filter:d,label:`View all results`,...p&&{onOpen:()=>m.mutate(new Date().toISOString())}}})]})},koe=({model:e,view:t})=>{let{resources:n,views:r}=G(),i=t.searchesOf,a=n[i.resource],o=r[i.resource],s=V7(e.name,!0),c=Vv(e.name),l=fA({model:e,view:t}),u=t.names?.plural??W(e.name),d=hg(e,t),f=e=>(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[l.dialogs,(0,z.jsx)(Hd,{title:u,subtitle:t.help}),e]});if(!a)return f((0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,i.resource,`.`]}));if(s.error)return f((0,z.jsx)(ey,{title:`Could not load your ${u.toLowerCase()}`,error:s.error}));if(!s.data)return f((0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,z.jsx)(kd,{className:`h-56`},t))}));if(s.data.length===0){let e=(o?.names?.plural??W(a.name)).toLowerCase();return f((0,z.jsxs)(`p`,{className:`py-8 text-center text-[13px] text-muted-foreground`,children:[`No `,u.toLowerCase(),` yet. Filter the`,` `,(0,z.jsx)(Uv,{to:{kind:`list`,resource:a.name},className:`font-medium text-primary-text hover:underline`,children:e}),` `,`and save the search.`]}))}return f((0,z.jsx)(`div`,{className:`flex flex-col gap-4`,children:s.data.map(n=>{let r=po(vg(e,n)),s=String(n[d]??r),u=wy(c,`delete`)?()=>void l.start({key:r,title:s,etag:n.etag,snapshot:n}):void 0;return(0,z.jsx)(Ooe,{model:e,view:t,of:i,target:a,targetView:o,row:n,recordKey:r,title:s,onDelete:u},r)})}))},Aoe=eo(),joe=e=>e.find(e=>e.kind===`search`),Moe=({address:e})=>{let{resources:t,views:n,signIn:r}=G(),i=t[e.resource],a=r?.[e.resource];if(!i)return a?(0,z.jsx)(yA,{as:`page`,prompt:a.signIn}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]});let o=n[e.resource];if(o?.searchesOf)return(0,z.jsx)(koe,{model:i,view:o});let s=Ev(t,n,e.resource);if(o&&s.listOf){let t=s.model;return(0,z.jsx)(Yae,{model:i,view:o,target:t,children:n=>(0,z.jsx)(Q7,{model:t,address:e,scope:n,heading:{title:o.names?.plural??W(i.name),subtitle:o.help}})})}return(0,z.jsx)(Q7,{model:i,address:e})},Q7=({model:e,address:t,scope:n,heading:r})=>{let i=G(),{set:a,go:s}=Hv(),c=e.name,l=i.views[c],u=(0,o.useMemo)(()=>Zk(l,e),[l,e]),{fields:d}=p_(),f=(0,o.useMemo)(()=>L7(wk(e,l),e,l,d),[e,l,d]),p=t.filter,m=(0,o.useMemo)(()=>Hk(u,p),[u,p]),h=m.ok?m.state:UO,g=m.ok?m.extras:[],{orderBy:_,filterLayout:v}=t,y=Mu(),[b,x]=(0,o.useState)(!1),S=n?[...g,n]:g,C=tA({model:e,resources:i.resources,views:i.views,view:l,state:h,extras:S}),w=n?Fk(u,h,S):m.ok?p:``,T=(0,o.useMemo)(()=>yv(e,l,f.map(e=>e.id)),[e,l,f]),E=iA({resources:i.resources,views:i.views,model:e,columns:T,filter:w,orderBy:_}),D=uv(l,t.display),O=D?.kind!==`map`;Vu(O);let k=wne(e,E.page,E.key,D?.kind===`custom`),A=Tne(),j=hg(e,l),M=e=>({key:e.id,title:String(typeof e[j]==`object`?e[j].name:e[j]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),N=l?.names?.singular??W(c),ee=Vv(c),{state:te}=B(),ne=fA({model:e,view:l,restore:pA(e),onReview:e=>s({kind:`record`,resource:c,key:e.key})}),re=(e,t=g)=>a({filter:Fk(u,e,t)}),ie=joe(g),ae=e=>{let t=g.filter(e=>e.kind!==`search`);re(h,e?[...t,Aoe.search(e)]:t)},oe=l?.names?.plural??W(c),se=D&&(0,z.jsx)(KA,{model:e,view:l,display:D,orderBy:_,onChange:e=>a({orderBy:e})}),ce=e.search?.length?(0,z.jsx)(Jae,{value:ie?.kind===`search`?ie.text:``,onCommit:ae,placeholder:`Search ${oe.toLowerCase()}`,className:y?void 0:`min-h-11`}):null,le=(0,z.jsx)(pk,{layout:v,config:C,value:h,onChange:re,leading:v===`bar`?se:void 0,trailing:ce}),ue=v===`bar`?le:(0,z.jsx)(dk,{groups:[se?[se]:[]],trailing:ce}),P=JO(C,h),de=(0,z.jsx)(zO,{scroll:!0,chips:P,onRemove:e=>re(YO(h,e)),onClear:()=>re(UO)}),fe=D&&(0,z.jsx)(nk,{title:`Sort`,children:(0,z.jsx)(KA,{model:e,view:l,display:D,orderBy:_,onChange:e=>a({orderBy:e}),className:`min-h-11 w-full`})}),pe=(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsxs)(V,{className:`min-h-11`,onClick:()=>x(!0),"aria-haspopup":`dialog`,children:[(0,z.jsx)(tn,{className:`size-3.5`}),`Filters`,P.length>0&&` (${P.length})`]}),ce??(0,z.jsx)(`div`,{className:`min-w-0 flex-1`,children:de})]}),ce&&de,(0,z.jsx)(aA,{title:`Filters`,open:b,onClose:()=>x(!1),children:(0,z.jsx)(pk,{layout:`panel`,fullWidth:!0,config:C,value:h,onChange:re,leading:fe})})]}),me=!n&&wy(ee,`create`)&&(0,z.jsxs)(V,{variant:`primary`,onClick:()=>s({kind:`create`,resource:c}),children:[(0,z.jsx)(Ft,{className:`size-3.5`}),`New `,N.toLowerCase()]}),he=l?.saveSearch&&!n&&m.ok&&p&&(0,z.jsx)(H7,{search:l.saveSearch,filter:p,name:B7(z7(e,l,p,$ae(C)))}),ge=e=>(0,z.jsx)(GA,{view:l,value:D?.name??`table`,onChange:e=>a({display:e}),menu:e}),_e=t=>s({kind:`record`,resource:c,key:vg(e,t)}),ve=E.source?(0,z.jsx)(LO,{columns:f,source:E.source,sort:wv(_),onSortChange:e=>a({orderBy:Tv(e)}),onOpenRow:_e,initialScrollIndex:A.initialIndex,onScrollIndex:A.remember,rowActions:[{label:`Open ${N.toLowerCase()}`,onSelect:_e},...wy(ee,`delete`)?[{label:`Delete`,destructive:!0,available:e=>Ty(e,`delete`),onSelect:e=>void ne.start(M(e))}]:[]],bulkActions:wy(ee,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>ne.startBulk(e.map(M))}]:[],rowNumbers:!1,pinKey:te.kind===`signed-in`?iO(te.user.id,c):void 0,scroll:`parent`,className:`flex-1`}):(0,z.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),ye={...E,initialIndex:A.initialIndex,onScrollIndex:A.remember},be=D?D.kind===`cards`?(0,z.jsx)(ine,{model:e,view:l,display:D,list:ye},E.key.join(` `)):D.kind===`map`?(0,z.jsx)(HA,{model:e,view:l,display:D,filter:w,orderBy:_,fields:T,at:t.map,onMove:e=>a({map:e}),flush:!0}):(0,z.jsx)(WA,{display:D,list:k}):ve;return(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[ne.dialogs,(0,z.jsx)(Hd,{title:r?.title??oe,subtitle:r?r.subtitle:l?.help,aside:!y&&ge(!0),actions:y?(0,z.jsxs)(z.Fragment,{children:[ge(!1),he,me]}):(0,z.jsxs)(z.Fragment,{children:[he,me]})}),!m.ok&&(0,z.jsx)(ey,{title:`The filter in the address could not be read`,error:Error(m.errors.map(e=>e.message).join(`; `))}),E.error&&!D&&(0,z.jsx)(ey,{title:`Could not load rows`,error:E.error}),l?.chart&&(0,z.jsx)(qae,{resource:c,chart:l.chart,title:`${oe} created`,noun:oe.toLowerCase(),filter:w}),y?ue:pe,y&&v===`panel`?(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[(0,z.jsx)(`div`,{className:O?`sticky top-[calc(var(--pb-sticky-top,0px)+1rem)] flex max-h-[calc(100dvh-var(--pb-sticky-top,0px)-var(--pb-sticky-bottom,0px)-2rem)] shrink-0 self-start`:`flex shrink-0`,children:le}),be]}):be]})},$7=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,z.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.filter(e=>e.membership).map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,z.jsxs)(`label`,{title:o&&!r?`You cannot give or take away this role`:void 0,className:R(`inline-flex items-center gap-1.5 text-[13px]`,o&&`text-muted-foreground`),children:[(0,z.jsx)(Vh,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:R(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),e9=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],Noe=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Qh(),l=i?.roles??[],u=e.id===t.memberId,d=e9(t),f=e.role===`owner`&&t.role!==`owner`;return(0,z.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`span`,{className:`block truncate text-[13px] font-medium`,children:[e.name,u&&` (you)`]}),(0,z.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.email})]}),(0,z.jsx)(`select`,{"aria-label":`Organization role of ${e.name}`,value:e.role,disabled:o||f,onChange:t=>void c(async()=>{await r.organizations.setRole(a,e.id,t.target.value),n()}),className:`h-7 rounded-md border border-border-strong bg-background px-2 text-xs`,children:(f?[e.role]:d).map(e=>(0,z.jsx)(`option`,{value:e,children:qh[e]},e))}),!u&&(0,z.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:`Remove`})]}),(0,z.jsx)($7,{roles:l,selected:e.appRoles,grantable:Zh(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,z.jsx)(jf,{message:s})]})},Poe=({current:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(),[i,a]=(0,o.useState)(),s=e?.organization?.id,c=(0,o.useCallback)(()=>{s&&t.organizations.members(s).then(r,e=>a(e instanceof zs?qd(e):`Could not read the members`))},[t,s]);return(0,o.useEffect)(c,[c]),e?.organization?(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,z.jsxs)(Af,{title:`Members`,description:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,children:[(0,z.jsx)(jf,{message:i}),n?(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,z.jsx)(Noe,{member:t,current:e,onChanged:c},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})]})]}):null},t9=({link:e})=>e?(0,z.jsxs)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:[`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: `,(0,z.jsx)(`span`,{className:`font-mono`,children:e})]}):null,Foe=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,s]=(0,o.useState)(``),[c,l]=(0,o.useState)(`member`),[u,d]=(0,o.useState)([]),[f,p]=(0,o.useState)(),{busy:m,error:h,run:g}=Qh(),_=()=>g(async()=>{let r=await n.organizations.invite(e.organization.id,{email:a.trim(),role:c,appRoles:u});p(r.link),s(``),d([]),t()});return(0,z.jsxs)(Af,{title:`Invite someone`,description:`They get an email with a link to join, or to make an account first. You can give the app roles you hold, and those your roles grant.`,children:[(0,z.jsx)(jf,{message:h}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),_()},children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsx)(Md,{"aria-label":`Email`,type:`email`,placeholder:`name@example.com`,value:a,onChange:e=>s(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(`select`,{"aria-label":`Organization role`,value:c,onChange:e=>l(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:e9(e).map(e=>(0,z.jsx)(`option`,{value:e,children:qh[e]},e))}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,z.jsx)($7,{roles:i,selected:u,grantable:Zh(i,e),onChange:d})]}),(0,z.jsx)(t9,{link:f})]})},Ioe=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,s]=(0,o.useState)(),{busy:c,error:l,run:u}=Qh(),d=new Date(e.expiresAt).getTime()<Date.now();return(0,z.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.email}),(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[qh[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>Jh(i?.roles??[],e)).join(`, `)}`,` · `,d?`Expired`:`Until ${new Date(e.expiresAt).toLocaleDateString()}`]})]}),(0,z.jsx)(V,{size:`sm`,loading:c,onClick:()=>void u(async()=>{s((await r.organizations.resend(t,e)).link),n()}),children:`Send again`}),(0,z.jsx)(V,{size:`sm`,variant:`danger`,loading:c,onClick:()=>void u(async()=>{await r.organizations.revoke(e.id),n()}),children:`Revoke`})]}),(0,z.jsx)(jf,{message:l}),(0,z.jsx)(t9,{link:a})]})},Loe=({current:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)([]),i=e?.organization?.id,a=(0,o.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,o.useEffect)(a,[a]),!e?.organization||!i?null:(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,z.jsx)(Foe,{current:e,onSent:a}),(0,z.jsx)(Af,{title:`Not accepted yet`,description:n.length>0?`Sending again gives a new link, which replaces the earlier one.`:`Nobody is waiting.`,children:n.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,z.jsx)(Ioe,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},Roe=e=>{let{session:t}=B(),[n,r]=(0,o.useState)(),[i,a]=(0,o.useState)([]),[s,c]=(0,o.useState)(),[l,u]=(0,o.useState)(0),d=(0,o.useCallback)(()=>u(e=>e+1),[]);return(0,o.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>c(e instanceof zs?qd(e):`Could not read your organizations`))},[e,t,l]),{current:n,organizations:i,...s&&{error:s},reload:d}},n9=e=>window.location.assign(`${e}/`),zoe=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,o.useState)(e.name),[s,c]=(0,o.useState)(e.slug),{busy:l,error:u,run:d}=Qh(),f=i.trim()!==e.name||s!==e.slug;return(0,z.jsxs)(Af,{title:`Details`,description:t?`The name people see, and the slug that names it in links.`:`Owners and admins can change these.`,children:[(0,z.jsx)(jf,{message:u}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),d(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:s}),n()})},children:[(0,z.jsx)(Md,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(Md,{"aria-label":`Slug`,value:s,disabled:!t,onChange:e=>c(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:l,disabled:!f||!i.trim(),children:`Save`})]})]})},Boe=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)([]),[a,s]=(0,o.useState)(``),{busy:c,error:l,run:u}=Qh();return(0,o.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,z.jsxs)(Af,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,z.jsx)(jf,{message:l}),(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsxs)(`select`,{"aria-label":`New owner`,value:a,onChange:e=>s(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:[(0,z.jsx)(`option`,{value:``,children:`Choose a member`}),r.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,z.jsx)(V,{loading:c,disabled:!a,onClick:()=>void u(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:`Hand over`})]})]})},Voe=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(``),{busy:c,error:l,run:u}=Qh(),d=()=>u(async()=>{await n.organizations.remove(e.id),n9(t)});return(0,z.jsxs)(Af,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,z.jsx)(jf,{message:r?void 0:l}),(0,z.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,z.jsxs)(kf,{title:`Delete ${e.name}?`,description:`Type its name to confirm. This cannot be undone.`,onClose:()=>i(!1),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>i(!1),children:`Cancel`}),(0,z.jsx)(V,{variant:`danger`,loading:c,disabled:a!==e.name,onClick:()=>void d(),children:`Delete`})]}),children:[(0,z.jsx)(jf,{message:l}),(0,z.jsx)(Md,{"aria-label":`Organization name`,value:a,onChange:e=>s(e.target.value)})]})]})},Hoe=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Qh();return(0,z.jsxs)(Af,{title:`Leave`,description:n?`An organization keeps an owner: hand it over before you leave, unless it has another owner.`:`You stop being a member, and lose your roles here.`,children:[(0,z.jsx)(jf,{message:a}),(0,z.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),n9(t)}),children:[`Leave `,e.name]})]})},Uoe=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,z.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,z.jsx)(Hd,{title:`Organization`,subtitle:`You do not work in an organization now. Choose one under Organizations.`})});let i=e.role===`owner`;return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:r.name,subtitle:e.role?`You are ${qh[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,z.jsx)(zoe,{organization:r,editable:Yh(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,z.jsx)(Boe,{organization:r,memberId:e.memberId}),e.role&&(0,z.jsx)(Hoe,{organization:r,basePath:t,owner:i}),i&&(0,z.jsx)(Voe,{organization:r,basePath:t})]})},r9=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),i9=({organization:e,current:t,busy:n,onOpen:r})=>(0,z.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,z.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,z.jsx)(rd,{tone:`green`,children:`Current`}):(0,z.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),Woe=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,o.useState)(``),[i,a]=(0,o.useState)(),{busy:s,error:c,run:l}=Qh(),u=()=>l(async()=>{await t.organizations.create({name:n.trim(),slug:i??r9(n)}),n9(e)});return(0,z.jsxs)(Af,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,z.jsx)(jf,{message:c}),(0,z.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,z.jsx)(Md,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,z.jsx)(Md,{"aria-label":`Slug`,placeholder:`slug`,value:i??r9(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,z.jsx)(V,{type:`submit`,variant:`primary`,loading:s,disabled:!n.trim(),children:`Create`})]})]})},Goe=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,o.useState)(``),[a,s]=(0,o.useState)([]),{busy:c,error:l,run:u}=Qh();return(0,o.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(s,()=>s([])),200);return()=>clearTimeout(e)},[n,r]),(0,z.jsxs)(Af,{title:`Find an organization`,description:`Your global roles let you work in any organization, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,children:[(0,z.jsx)(jf,{message:l}),(0,z.jsx)(Md,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,z.jsx)(Ut,{className:`size-3.5`}),wrapperClassName:`mb-3`}),a.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:a.map(r=>(0,z.jsx)(i9,{organization:r,current:r.id===t,busy:c,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),n9(e)})},r.id))})]})},Koe=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,o.useState)([]);if((0,o.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,z.jsx)(Af,{title:`Invitations for you`,description:`Open the link in the invitation email to accept one.`,children:(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,z.jsxs)(`li`,{className:`px-3 py-2.5 text-[13px]`,children:[(0,z.jsx)(`span`,{className:`font-medium`,children:e.organizationName??`An organization`}),`: `,e.appRoles.map(e=>Jh(i,e)).join(`, `)||`no app roles`,(0,z.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[`Until `,new Date(e.expiresAt).toLocaleDateString()]})]},e.id))})})},qoe=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Qh(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&sg(c),u=e.current?.organization?.id;return(0,z.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,z.jsx)(Hd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,z.jsxs)(Af,{title:`Your organizations`,description:e.organizations.length>0?`The organizations you are a member of.`:`You are not a member of an organization yet.`,children:[(0,z.jsx)(jf,{message:o??e.error}),e.organizations.length>0&&(0,z.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,z.jsx)(i9,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),n9(t)})},e.id))})]}),(0,z.jsx)(Koe,{}),l&&(0,z.jsx)(Woe,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,z.jsx)(Goe,{basePath:t,currentId:u})]})},Joe=(e,t)=>t?.active?{...e,role:t.active}:e,a9=(e,t)=>e instanceof zs?qd(e):t,Yoe=(e,t=!0)=>{let{session:n}=B(),r=Fg(),[i,a]=(0,o.useState)();(0,o.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:a9(e,`Could not read your roles`)}))},[n,r,t]);let s=(0,o.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:a9(e,`Could not switch the role`)})),[n,r,e]);return{...i&&{current:i},switchTo:s}},o9=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),Xoe=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:P_(r.icon,Ve),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??W(r.page),icon:P_(r.icon??i?.icon,nt),href:qo({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??W(r.resource),icon:P_(r.icon,M_(r.resource)),href:qo({kind:`list`,resource:r.resource},t),active:r.resource===n}}),Zoe={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},Qoe=(e,t=``,n={})=>{let r=new Map,i=new Map,a=o9(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??`Pages`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:P_(n.icon,nt),href:qo({kind:`page`,page:n.name},t)}),r.set(e,o),i.set(n.name,n.nav?.order??2**53-1)}for(let o of Object.values(e.resources)){let s=e.views[o.name];if(!s||s.nav?.hidden||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??Zoe[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:M_(o.name),href:qo({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}}),r.set(l,u),i.set(o.name,s.nav?.order??2**53-1)}for(let n of Object.values(e.signIn??{})){if(n.nav?.hidden||a.has(n.resource))continue;let e=n.nav?.group??`Account`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.resource,label:n.names?.plural??W(n.resource),icon:M_(n.resource),href:qo({kind:`list`,resource:n.resource},t)}),r.set(e,o),i.set(n.resource,n.nav?.order??2**53-1)}for(let n of e.sources??[]){if(n.state!==`error`)continue;let e=r.get(n.source.label)??{label:n.source.label,items:[]};for(let r of n.source.resources)e.items.push({id:r,label:W(r),icon:M_(r),href:qo({kind:`list`,resource:r},t),problem:`Cannot reach ${n.source.label}`});r.set(n.source.label,e)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},s9=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,z.jsx)(kf,{title:`${t}?`,description:e.confirm,onClose:r,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:r,children:`Cancel`}),(0,z.jsx)(V,{variant:n?`danger`:`primary`,onClick:i,children:t})]})}),c9=(0,o.createContext)(void 0),l9=({value:e,children:t})=>(0,z.jsx)(c9.Provider,{value:e,children:t}),u9=()=>(0,o.useContext)(c9),$oe=(e,t={})=>e.replace(/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(e,n)=>encodeURIComponent(t[n]===null||t[n]===void 0?``:String(t[n]))),ese=e=>{if(typeof e!=`string`||!URL.canParse(e))return;let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0},d9=(e,t={})=>{let n=fo(e);return n===void 0?$oe(e,t):ese(t[n])},tse=e=>{e!==void 0&&(/^https?:/i.test(e)?window.open(e,`_blank`,`noopener,noreferrer`):window.location.assign(e))},nse=e=>URL.canParse(e)?new URL(e).hostname.replace(/^www\./,``):``,rse=(e,t)=>{let n=e.run;if(n?.kind!==`link`||!(`href`in n))return e;let r=d9(n.href,t);if(r!==void 0)return e.label.includes(`{host}`)?{...e,label:e.label.replaceAll(`{host}`,nse(r))}:e},ise=e=>e instanceof Error?e.message:`Something went wrong`,f9=(e,t,n)=>{let{views:r}=G(),{actions:i}=p_(),a=Vv(e),s=U(),c=Th(e),l=Fg(),u=CA(),{go:d}=Hv(),[f,p]=(0,o.useState)(),m=(r[e]?.actions??[]).flatMap(e=>rse(e,t?.record)??[]),h=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!wy(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!wy(a,`delete`)||t?.permissions?.delete===!1))return`You cannot delete this record`;if(!e.run&&!i?.[e.name])return`The app has no handler for "${e.name}"`},g=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?d(uo(a.to,t?.record)):tse(d9(a.href,t?.record));return}a?.kind===`update`?await s.update(e,t.key,a.values,t.etag??`*`):a?.kind===`delete`?await s.remove(e,t.key,{etag:t.etag}):await i[r.name]({resource:e,record:t?.record,recordKey:t?.key,etag:t?.etag,client:c,navigate:d}),await u(e),l.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:m,blocked:h,running:f,run:async e=>{h(e)||(p(e.name),await g(e).catch(t=>l.show({state:`error`,title:`${e.label} failed`,description:ise(t)})),p(void 0))}}},ase=(e,t,n)=>{let r=f9(e,n),i=r.actions.find(e=>e.name===t);return{action:i,blocked:i?r.blocked(i):`No action "${t}"`,running:r.running===t,run:()=>i?r.run(i):Promise.resolve()}},p9=e=>e.props,ose=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=p9(e),a=u9(),s=ase(n??a?.model.name??``,t,n===void 0||n===a?.model.name?a:void 0),[c,l]=(0,o.useState)(!1);if(!s.action)return null;let u=r??s.action.label;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{size:`sm`,variant:i??`secondary`,loading:s.running,disabled:!!s.blocked,title:s.blocked,onClick:()=>s.action.confirm?l(!0):void s.run(),children:u}),c&&(0,z.jsx)(s9,{action:s.action,label:u,danger:i===`danger`,onCancel:()=>l(!1),onConfirm:()=>{l(!1),s.run()}})]})},m9=({title:e,description:t,actions:n,className:r,children:i})=>(0,z.jsxs)(`section`,{className:R(`flex min-w-0 flex-col rounded-lg border border-border bg-background`,r),"aria-label":e,children:[(e||t||n)&&(0,z.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 px-4 pt-4`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[e&&(0,z.jsx)(`h2`,{className:`text-[15px] font-semibold tracking-tight`,children:e}),t&&(0,z.jsx)(`p`,{className:`mt-0.5 text-[13px] text-muted-foreground`,children:t})]}),n&&(0,z.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]}),(0,z.jsx)(`div`,{className:`min-w-0 flex-1 p-4 text-[13px]`,children:i})]}),h9=({children:e})=>(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),sse=({node:e,children:t,slots:n})=>{let{title:r,description:i}=p9(e);return(0,z.jsx)(m9,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},cse=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=Nte(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,z.jsx)(m9,{title:i,description:a,actions:s,children:l.isPending?(0,z.jsx)(`div`,{className:`flex gap-3`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-24 w-56`},t))}):l.error?(0,z.jsx)(ey,{title:`Could not load`,error:l.error}):u.length===0?(0,z.jsx)(h9,{children:o??`Nothing here yet.`}):(0,z.jsx)(`ul`,{className:`-mx-4 flex snap-x gap-3 overflow-x-auto px-4 pb-1`,children:u.map(t=>{let n=bA(e,t);return(0,z.jsx)(`li`,{className:`flex w-60 shrink-0 snap-start flex-col gap-2 rounded-lg border border-border bg-surface p-3`,children:(0,z.jsx)(l9,{value:n,children:c})},n.key)})})})},lse=({node:e,children:t,slots:n})=>{let{resource:r,...i}=p9(e),a=G().resources[r];return a?(0,z.jsx)(cse,{...i,model:a,actions:n.actions,children:t}):null},use=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},dse=({node:e})=>{let{name:t,label:n,format:r}=p9(e),{views:i}=G(),a=J7(u9(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,z.jsx)(kd,{className:`h-4 w-24`}):(0,z.jsx)(W7,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,z.jsx)(`div`,{className:`text-[13px]`,children:o});let s=n??use(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:s}),(0,z.jsx)(`div`,{className:`mt-0.5 truncate text-[13px]`,children:o})]})},fse={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},pse={1:``,2:`md:col-span-2`,3:`md:col-span-2 xl:col-span-3`,4:`sm:col-span-2 md:col-span-2 xl:col-span-4`},mse=({node:e,children:t})=>{let{columns:n=2}=p9(e),r=e.children;return(0,z.jsx)(`div`,{className:R(`grid grid-cols-1 gap-4`,fse[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,z.jsx)(`div`,{className:R(`min-w-0`,i&&pse[i]),children:e},t)})})},g9=`font-medium text-primary-text hover:underline`,hse=({node:e})=>{let t=p9(e),n=u9()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=uo(t.to,n);return(0,z.jsx)(Uv,{to:e,className:g9,children:r||qo(e)})}let i=t.href??``;return(0,z.jsx)(`a`,{href:i,className:g9,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},gse=(e,t,n)=>Object.fromEntries(t.map(t=>{let r=e.fields[t];if(r.type===`file`)return[t,n?.record[t]??null];if(n)return[t,r.type===`boolean`?!!n.record[t]:Kv(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:Kv(i)]})),_se=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return DC(r)?r.key===Kv(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:Qv(i,r,n.record[t])?[[t,Yv(i,r)]]:[]})),vse=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:s,onClose:c})=>{let{resources:l,views:u}=G(),d=U(),f=Fg(),p=CA(),m=u[e.name],[h,g]=(0,o.useState)(()=>gse(e,a,t)),[_,v]=(0,o.useState)({}),[y,b]=(0,o.useState)(),[x,S]=(0,o.useState)(!1),C=async()=>{S(!0),b(void 0),await(n===`create`?d.create(e.name,{...jC(e,l,h),...s}):d.update(e.name,t.key,_se(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),c()},e=>{ds(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,z.jsx)(kf,{title:i??r,onClose:c,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:c,children:`Cancel`}),(0,z.jsx)(V,{variant:`primary`,loading:x,onClick:()=>void C(),children:n===`create`?`Create`:`Save`})]}),children:(0,z.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C()},children:[y!==void 0&&Object.keys(_).length===0&&(0,z.jsx)(ey,{title:`Not saved`,error:y}),a.map(n=>{let r=e.fields[n],i=h[n],a=r.relation?l[r.relation.resource]:void 0;return(0,z.jsx)(vC,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,z.jsx)(Cy,{field:r,hints:m?.fields[n],value:DC(i)?i.key:i,stored:t?.record[n],relationLabel:DC(i)?i.label:void 0,relationPicker:a?{target:a,view:u[a.name]}:void 0,invalid:!!_[n],resource:e.name,onChange:e=>{v(({[n]:e,...t})=>t),g(t=>({...t,[n]:e}))}})},n)})]})})},yse=({model:e,recordKey:t,children:n})=>{let r=SA(e,{key:t});return(0,z.jsx)(z.Fragment,{children:n(r.data??void 0)})},bse=({node:e})=>{let t=p9(e),n=u9(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=Vv(i?.name??``),[s,c]=(0,o.useState)(!1);if(!i||!(t.mode===`create`?wy(a,`create`):wy(a,`update`)&&n?.permissions?.update!==!1))return null;let l=e=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>c(!0),children:t.label}),s&&(0,z.jsx)(vse,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>c(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,z.jsx)(yse,{model:i,recordKey:t.recordKey,children:l}):l(t.mode===`edit`?n:void 0)},xse=({node:e,children:t,slots:n})=>{let{title:r,description:i}=p9(e);return(0,z.jsx)(`div`,{className:`flex-1`,children:(0,z.jsxs)(`div`,{className:`mx-auto flex max-w-[1200px] flex-col gap-6 px-4 pb-16 pt-6 md:px-10 md:py-8`,children:[(0,z.jsx)(Hd,{title:r,subtitle:i,actions:n.actions}),t]})})},_9=(e,t)=>{let n=u9(),r=J7(typeof e==`string`?n:void 0,typeof e==`string`?e:``);return typeof e==`number`?e:e===void 0?t:r.state===`ready`?Number(r.value):r.state===`loading`?void 0:NaN},Sse=({node:e})=>{let{value:t,max:n,label:r}=p9(e),i=_9(t,0),a=_9(n,100);if(i===void 0||a===void 0)return(0,z.jsx)(kd,{className:`h-6 w-full`});if(!Number.isFinite(i)||!Number.isFinite(a))return null;let o=a>0?Math.min(1,Math.max(0,i/a)):0;return(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,z.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(`en-IE`),` / `,a.toLocaleString(`en-IE`)]})]}),(0,z.jsx)(`div`,{role:`progressbar`,"aria-label":r,"aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":a,className:`mt-1.5 h-2 overflow-hidden rounded-full bg-muted`,children:(0,z.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},Cse=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=SA(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,z.jsx)(l9,{value:l.data,children:e}):void 0,d=l.isPending?(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(kd,{className:`h-4 w-1/2`}),(0,z.jsx)(kd,{className:`h-4 w-1/3`})]}):l.error?(0,z.jsx)(ey,{title:`Could not load`,error:l.error}):l.data?u((0,z.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,z.jsx)(h9,{children:o??`Nothing here yet.`});return(0,z.jsx)(m9,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},wse=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=p9(e),u=G().resources[r];return u?(0,z.jsx)(Cse,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},Tse=({node:e,children:t})=>{let{when:n}=p9(e),{resources:r}=G(),i=U(),a=u9(),s=(0,o.useMemo)(()=>As(n),[n]),c=s.ok?s.paths:[],l=c.map(e=>Ms(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=c.filter((e,t)=>l[t]===void 0),d=uoe(a,u),f=_h({queries:l.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[xA(i,t)]:[]})});if(!s.ok||d.some(e=>e.state===`loading`)||f.some(e=>e.isPending))return null;let p={};u.forEach((e,t)=>{let n=d[t];n.state===`ready`&&(p[e]=n.value)});let m=0;return c.forEach((e,t)=>{l[t]!==void 0&&(p[e]=r[l[t]]?f[m++]?.data??0:0)}),js(s,p)?(0,z.jsx)(z.Fragment,{children:t}):null},v9=`text-2xl font-semibold tracking-tight tabular-nums`,Ese=({model:e,filter:t})=>{let n=Mte(e,t);return n.isPending?(0,z.jsx)(kd,{className:`h-8 w-16`}):n.error?(0,z.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,z.jsx)(Uv,{to:{kind:`list`,resource:e.name,filter:t},className:`${v9} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},Dse=({field:e,format:t})=>{let n=J7(u9(),e);return n.state===`loading`?(0,z.jsx)(kd,{className:`h-8 w-16`}):n.state===`missing`?null:(0,z.jsx)(`span`,{className:v9,children:(0,z.jsx)(W7,{model:n.model,field:n.field,value:n.value,format:t})})},Ose=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=p9(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,z.jsxs)(m9,{className:`h-full`,children:[(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t}),(0,z.jsxs)(`div`,{className:`mt-1`,children:[n!==void 0&&(0,z.jsx)(`span`,{className:v9,children:n}),l&&(0,z.jsx)(Ese,{model:l,filter:i}),a!==void 0&&(0,z.jsx)(Dse,{field:a,format:o})]}),s&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},y9=(e,t,n)=>{let r=Nu(),i=hoe(t),[a,s]=(0,o.useState)(()=>goe(localStorage,i)),c=(0,o.useCallback)(e=>{s(e),_oe(localStorage,i,e)},[i]);return[voe(e,r,{picked:a,preferred:n}),c]},kse=({model:e,view:t,filter:n=``,sort:r=``,columns:i,limit:a=10,display:o,title:s,description:c,empty:l,actions:u})=>{let[d,f]=y9(t,`page:${e.name}:${s??``}:${n}`,o);return(0,z.jsx)(m9,{title:s,description:c,actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(X7,{view:t,value:d,onChange:f}),u]}),className:`h-full`,children:(0,z.jsx)(Z7,{model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:d,empty:l})})},Ase={Page:xse,Grid:mse,Card:sse,Stat:Ose,RecordCard:wse,Field:dse,Table:({node:e,slots:t})=>{let n=p9(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,z.jsx)(kse,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:lse,Progress:Sse,ModalForm:bse,Action:ose,Show:Tse,Link:hse},b9=e=>typeof e==`string`||!e.custom&&e.type===`Link`,x9=e=>{let t=[];for(let n of e){let e=t.at(-1);b9(n)&&e&&b9(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return b9(n)?(0,z.jsx)(`p`,{className:`text-[13px] leading-relaxed`,children:e.map((e,t)=>typeof e==`string`?(0,z.jsx)(o.Fragment,{children:e},t):(0,z.jsx)(S9,{node:e},t))},t):(0,z.jsx)(S9,{node:n},t)})},jse=e=>Es(e)||Array.isArray(e)&&e.length>0&&e.every(Es),Mse=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>jse(t)?[[e,(0,z.jsx)(z.Fragment,{children:x9(Array.isArray(t)?t:[t])})]]:[])),S9=({node:e})=>{let{components:t}=p_();if(e.custom){let n=t?.[e.type];return n?(0,z.jsx)(vy,{name:e.type,children:(0,z.jsx)(n,{...ro(e.props),children:e.children.length>0?x9(e.children):void 0})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=Ase[e.type];return n?(0,z.jsx)(n,{node:e,slots:Mse(e),children:x9(e.children)}):(0,z.jsxs)(_y,{children:[e.type,` is not a block this version of the app knows.`]})},Nse=({name:e})=>{let t=G().pages[e];return t?(0,z.jsx)(S9,{node:t.tree}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no page called `,e,`.`]})},C9=e=>typeof e==`string`&&e.trim()!==``,Pse=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:`its plugin.json is not an object`};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return C9(t)?Number.isInteger(r)?C9(i)?C9(a)?o!==void 0&&!C9(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!C9(n)?{problem:`its plugin.json has a version that is no text`}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:`its plugin.json names no module`}:{problem:`its plugin.json names no Protobase versions`}:{problem:`its plugin.json names no plugin API`}:{problem:`its plugin.json names no plugin`}},Fse=/^[A-Z][A-Za-z0-9]*$/,Ise=e=>typeof e==`function`||typeof e==`object`&&!!e&&`$$typeof`in e,w9=e=>{let t=e.default??{},n=Object.entries(e).filter(e=>e[0]!=="default"&&Fse.test(e[0])&&Ise(e[1]));if(n.length===0)return t;for(let[e,r]of n)if(t.components&&Object.hasOwn(t.components,e)&&t.components[e]!==r)throw Error(`The component "${e}" is exported by name and given in components as another one; keep the export`);return{...t,components:{...t.components,...Object.fromEntries(n)}}},T9=class extends Error{name=`UiConflictError`},Lse=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?w9(e):e,E9=(e,t)=>[...(e.extends??[]).map(Lse).flatMap((e,n)=>E9(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],D9=(e,t,n)=>{let r={},i=new Map;for(let{ui:a,label:o}of t)for(let[t,s]of Object.entries(n(a)??{})){if(Object.hasOwn(r,t)&&r[t]!==s)throw new T9(`${e} "${t}" is defined twice, by ${i.get(t)} and by ${o}; rename one of them`);r[t]=s,i.set(t,i.get(t)??o)}return r},O9=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,z.jsx)(e,{},t)),k9=(...e)=>{let t=e.flatMap((e,t)=>E9(e,e.name??`UI config ${t+1}`)),n=D9(`The component`,t,e=>e.components),r=D9(`The action handler`,t,e=>e.actions),i=D9(`The field type`,t,e=>e.fields),a=O9(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=O9(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),s=e.at(-1)?.name;return{...s&&{name:s},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...(a||o)&&{shell:{...a&&{actions:a},...o&&{rightPanel:o}}}}},A9=(0,o.createContext)(null),Rse=A9.Provider,zse=()=>{let e=(0,o.useContext)(A9);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},j9=(e,t,n)=>{let r=n=>(0,z.jsx)(Rse,{value:e,children:(0,z.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Bse=(e,t,n)=>({of:n.of,display:j9(e,n.display,`fields.${t}.display`),...n.editor&&{editor:j9(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:j9(e,n.cell,`fields.${t}.cell`)}}),Vse=(e,t)=>{let n=k9({...w9(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,j9(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Bse(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:j9(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:j9(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},M9={name:`@protobase/ui`,version:`0.15.5`,description:`The Protobase admin app and the React hooks and components for custom UI.`,license:`Apache-2.0`,repository:{type:`git`,url:`git+https://github.com/PrototeamHQ/protobase.git`,directory:`packages/ui`},homepage:`https://docs.protobase.net`,type:`module`,protobase:{pluginApi:1},sideEffects:[`*.css`,`./dist/app/main.js`],engines:{node:`>=22.12.0`},exports:{".":`./src/index.ts`,"./theme.css":`./src/theme.css`},types:`./src/index.ts`,files:[`dist`],scripts:{build:`tsdown && protobase build-shell dist/shell`,prepack:`tsdown && protobase build-shell dist/shell`},publishConfig:{access:`public`,exports:{".":`./dist/index.js`,"./theme.css":`./dist/theme.css`},types:`./dist/index.d.ts`},dependencies:{"@dnd-kit/core":`^6.3.1`,"@dnd-kit/sortable":`^10.0.0`,"@protobase/client":`workspace:*`,"@protobase/layout":`workspace:*`,"@protobase/schema":`workspace:*`,"@sentry/browser":`^11.7.0`,"@tanstack/react-query":`^5.104.1`,"@tanstack/react-table":`^9.2.6`,"lucide-react":`^1.52.0`,"maplibre-gl":`^6.14.0`,pmtiles:`^4.5.0`,react:`^19.3.0`,"react-dom":`^19.3.0`,"react-map-gl":`^8.1.3`,recharts:`^3.10.1`,tailwindcss:`^4.3.3`,thumbhash:`^0.1.1`,uqr:`^0.1.3`}},N9=M9.protobase.pluginApi,P9=M9.version,Hse={readJson:async e=>{let t=await fetch(e,{cache:`no-cache`,credentials:`same-origin`});return t.ok?{json:await t.json()}:{status:t.status}},addStylesheet:e=>{if([...document.querySelectorAll(`link[rel="stylesheet"]`)].some(t=>t.href===e))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.append(t)},importModule:e=>a_(()=>import(e),[])},Use={api:N9,version:P9},Wse=e=>e instanceof Error?e.message:String(e),Gse=async(e,t,n,r=Use)=>{let i=new URL(e.url,n).href,a=(e,t)=>({kind:`off`,url:i,...t&&{name:t},reason:e}),o;try{let n=await t.readJson(i);if(`status`in n)return a(`its plugin.json answered ${n.status}`);let s=Pse(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=bo(c,r);if(l)return a(l,o);c.css&&t.addStylesheet(new URL(c.css,i).href);let u=await t.importModule(new URL(c.entry,i).href),d={name:o,...c.version&&{version:c.version},url:i,settings:e.settings??{}};return{kind:`loaded`,plugin:d,ui:Vse(d,u)}}catch(e){return a(`it could not be loaded: ${Wse(e)}`,o)}},Kse=(e,t)=>{let n=k9(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{k9(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof T9))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:k9(...r,n),off:i}},qse=1e4,F9=[],Jse=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,o.useState)({key:`[]`,loads:F9,settled:!0});return(0,o.useEffect)(()=>{if(e.length===0)return;let r=!0,a=!1,o=e.map(()=>void 0),s=()=>{if(!r)return;let t=o.filter(e=>e!==void 0);i({key:n,loads:t,settled:a||t.length===e.length})},c=setTimeout(()=>{a=!0,s()},qse);return e.forEach((e,n)=>{Gse(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:F9,settled:!0}:r.key===n?r:{loads:F9,settled:!1}},I9=(0,o.createContext)([]),Yse=()=>(0,o.useContext)(I9),Xse=({ui:e,loader:t=Hse,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=Jse(r,t),s=(0,o.useMemo)(()=>Kse(e,i),[e,i]);return a?(0,z.jsx)(f_.Provider,{value:s.ui,children:(0,z.jsx)(I9.Provider,{value:s.off,children:n})}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading`]})},Zse=({off:e})=>{let[t,n]=(0,o.useState)(!1);return t||e.length===0?null:(0,z.jsxs)(`div`,{role:`region`,"aria-label":`Plugins off`,className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,z.jsx)(Lt,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,z.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,z.jsxs)(`li`,{children:[`The plugin `,(0,z.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,z.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,z.jsx)(jn,{"aria-hidden":!0,className:`size-4`})})]})},L9=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),R9=({item:e,scope:t})=>{let{components:n}=p_(),r=n?.[e.component],i=r?(0,z.jsx)(l9,{value:t,children:(0,z.jsx)(vy,{name:e.component,children:(0,z.jsx)(r,{...ro(e.props??{})})})}):(0,z.jsxs)(_y,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]});return e.sidebar?e.title?(0,z.jsx)(CC,{title:e.title,children:i}):i:e.title?(0,z.jsx)(yC,{title:e.title,children:i}):(0,z.jsx)(`section`,{className:`py-8`,children:i})},Qse=(0,o.lazy)(()=>a_(()=>import(`./record-map-CL9bBLic.js`).then(e=>({default:e.RecordMap})),__vite__mapDeps([4,1,2,5,3,6]))),$se=15,z9=({item:e,record:t})=>{let n=G().maps?.style,r=RA(t,e);if(!n||!r)return null;let i=(0,z.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-muted ${e.sidebar?`h-48`:`h-64 md:h-80`}`,children:(0,z.jsx)(o.Suspense,{fallback:null,children:(0,z.jsx)(Qse,{style:n,position:r,zoom:e.zoom??$se},`${r.latitude},${r.longitude}`)})});return e.sidebar?(0,z.jsx)(CC,{title:e.title,children:i}):(0,z.jsx)(yC,{title:e.title,children:i})},ece=e=>hA(e)??Nn,tce=({model:e,stored:t,recordKey:n})=>{let{go:r}=Hv(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=f9(e.name,i,t=>t.run?.kind===`delete`&&r({kind:`list`,resource:e.name},{replace:!0})),[s,c]=(0,o.useState)();return a.actions.length===0?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(bC,{actions:a.actions.map(e=>({name:e.label,icon:ece(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?c(e):void a.run(e)}))}),s&&(0,z.jsx)(s9,{action:s,label:s.label,danger:s.run?.kind===`delete`,onCancel:()=>c(void 0),onConfirm:()=>{c(void 0),a.run(s)}})]})},nce=(e,t)=>Object.values(e).find(e=>e.name!==t.name&&e.fields.position&&e.fields.quantity&&Object.values(e.fields).some(e=>e.type===`relation`&&e.relation?.resource===t.name)),rce=e=>({id:String(e.id),productId:String(e.productId??``),description:String(e.description??``),quantity:Number(e.quantity),unitPriceCents:Math.round(Number(e.unitPrice)*100)}),ice=({lines:e,draft:t,vatRate:n,saving:r})=>{let i=wy(Vv(e.name),`update`);return(0,z.jsx)(yC,{title:`Lines`,help:`What the document bills for. Drag the handle, or use the menu, to change the order; Save applies it.`,children:(0,z.jsx)(`div`,{className:`-mx-4 overflow-x-auto px-4 [-webkit-overflow-scrolling:touch] md:mx-0 md:px-0`,children:(0,z.jsx)(`div`,{className:`min-w-[560px]`,children:(0,z.jsx)(_C,{lines:t.shown.map(rce),onChange:()=>void 0,onReorder:e=>t.setOrder(e.map(e=>e.id)),vatRate:n,readOnly:!0,reorderable:i&&!r})})})})},ace=(e,t,n)=>`protobase:draft:${e}:${t}:${n}`,oce=(e,t,n)=>dd(()=>{let r=e.getItem(t);if(r===null)return;let i=JSON.parse(r);if(i&&i.etag===n&&typeof i.fields==`object`&&i.fields!==null)return{etag:n,fields:i.fields,...Array.isArray(i.order)&&{order:i.order.map(String)}}},void 0),sce=(e,t,n)=>dd(()=>n?e.setItem(t,JSON.stringify(n)):e.removeItem(t),void 0),B9=(e,{filter:t,orderBy:n,pageSize:r=50,fields:i,startToken:a=``,enabled:o=!0}={})=>{let s=U(),c=Qo(t)??``,l=xh({queryKey:[...H.list(e,c,n??``,r,a),i?.join(`,`)??``],enabled:o,initialPageParam:a,queryFn:({pageParam:t})=>s.list(e,{filter:c,orderBy:n,pageSize:r,fields:i,pageToken:t}),getNextPageParam:e=>e.nextPageToken||void 0}),u=l.data?.pages??[];return{...l,items:u.flatMap(e=>e.items),totalEstimate:u[0]?.totalSizeEstimate}},cce=(e,t)=>Number(e.position)-Number(t.position),lce=(e,t,n)=>{let r=e&&Object.values(e.fields).find(e=>e.type===`relation`&&e.relation?.resource===t.name),i=B9(e?.name??``,{enabled:!!(e&&r),filter:r?`${r.name} = "${n}"`:void 0,pageSize:200,...e?.fields.position?.sortable&&{orderBy:`position asc`}});return{items:[...i.items].sort(cce),loading:i.isPending&&!!e}},uce=(e,t)=>{let[n,r]=(0,o.useState)(),i=t.map(e=>String(e.id)),a=(0,o.useMemo)(()=>{if(!n)return t;let e=n.flatMap(e=>t.filter(t=>String(t.id)===e)),r=t.filter(e=>!n.includes(String(e.id)));return[...e,...r]},[n,t]),s=a.map(e=>String(e.id)),c=n!==void 0&&s.some((e,t)=>e!==i[t]),l=(0,o.useCallback)(()=>!e||!c?[]:[{op:`reorder`,resource:e.name,field:`position`,keys:a.map(t=>vg(e,t)),etags:Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[po(vg(e,t)),t.etag]]:[]))}],[e,c,a]);return{shown:a,dirty:c,order:c?s:void 0,setOrder:e=>r(e),reset:()=>r(void 0),op:l}},V9=(e,t)=>{let n=U(),r=qp(),i=po(t);return bh({mutationFn:({patch:r,etag:i})=>n.update(e,t,r,i),onSuccess:t=>{r.setQueryData(H.record(e,i),t),r.invalidateQueries({queryKey:[`page`,e]}),r.invalidateQueries({queryKey:[`list`,e]}),r.invalidateQueries({queryKey:[`map`,e]})}})},H9=e=>e instanceof us,dce=e=>{let t=typeof e.resource==`string`?e.resource:e.resource.toModel().name;return e.op===`reorder`?`reorder ${t} by ${e.field}`:`${e.op} ${t}`},fce=(e,t)=>{let n=e.operation,r=n===void 0?void 0:t[n];return r?`Operation ${n+1} (${dce(r)}) failed: ${e.message} Nothing was saved.`:`${e.message} Nothing was saved.`},pce=(e,t)=>new e.constructor({...e.problem,detail:fce(e,t)}),U9=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),mce=({model:e,stored:t,recordKey:n,mode:r,subject:i,draftKey:a,lines:s})=>{let c=U(),l=qp(),u=V9(e.name,n),d=Oy(r,i),[f]=(0,o.useState)(()=>a?oce(localStorage,a,t.etag):void 0),[p,m]=(0,o.useState)(f?.fields??{}),[h,g]=(0,o.useState)(!!f),[_,v]=(0,o.useState)(!1),[y,b]=(0,o.useState)({}),[x,S]=(0,o.useState)({}),C=Object.keys(p).length>0,w=C||!!s?.dirty;(0,o.useEffect)(()=>{f?.order&&s?.setOrder(f.order)},[]),(0,o.useEffect)(()=>{if(!a)return;let n=Object.fromEntries(Object.entries(p).filter(([t])=>!e.fields[t]?.sensitive)),r=Object.keys(n).length>0||!!s?.dirty;sce(localStorage,a,r?{etag:t.etag,fields:n,...s?.order&&{order:s.order}}:void 0)},[a,e,p,s?.dirty,s?.order,t.etag]);let T=n=>n in p?p[n]:[`boolean`,`file`].includes(e.fields[n].type)?t.record[n]:Kv(t.record[n]),E=(n,r)=>{S(e=>U9(e,n)),m(i=>Qv(e.fields[n],r,t.record[n])?{...i,[n]:r}:U9(i,n))},D=async()=>{let r=await c.get(e.name,n);l.setQueryData(H.record(e.name,n),r);let i={},a={};for(let[n,o]of Object.entries(p)){let s=e.fields[n];Qv(s,o,r.record[n])&&(a[n]=o,Kv(r.record[n])!==Kv(t.record[n])&&(i[n]=s.type===`file`?iv(s,r.record[n]):Kv(r.record[n])))}m(a),b(i)},O=()=>Object.fromEntries(Object.entries(p).map(([t,n])=>[t,Yv(e.fields[t],n)])),k=e=>ds(e)?Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[])):{},A=async()=>{try{await u.mutateAsync({patch:O(),etag:t.etag})}catch(e){throw H9(e)?await D():ds(e)&&S(k(e)),e}},j=async r=>{let i=[...C?[{op:`update`,resource:e.name,key:n,data:O(),etag:t.etag}]:[],...r];try{await c.batchWrite(i)}catch(e){throw H9(e)?(await D(),await l.invalidateQueries({queryKey:[`list`]}),v(!0)):ds(e)&&S(k(e)),ds(e)?pce(e,i):e}await Promise.all([l.invalidateQueries({queryKey:H.record(e.name,n)}),l.invalidateQueries({queryKey:[`list`]}),l.invalidateQueries({queryKey:[`page`]}),l.invalidateQueries({queryKey:[`map`]})]),s?.reset()};return{value:T,change:E,save:()=>d.run(async()=>{let e=s?.op()??[];e.length>0?await j(e):await A(),m({}),b({}),S({}),v(!1),g(!1)}),dirty:w,discard:()=>{m({}),b({}),S({}),v(!1),g(!1),s?.reset()},restored:h&&w,dismissRestored:()=>g(!1),linesConflict:_,saving:d.phase===`saving`,phase:d.phase,message:d.message,conflicts:y,errors:x,keepMine:e=>b(t=>U9(t,e)),useTheirs:e=>{b(t=>U9(t,e)),m(t=>U9(t,e))}}},hce=(e,t,n,r,i,a)=>{let o=U(),s=qp(),c=Object.values(e.fields).filter(t=>t.type===`relation`&&t.relation&&t.name!==e.tenant&&i[t.name]!=null&&n[t.relation.resource]?.primaryKey.length===1),l=_h({queries:c.map(e=>{let t=n[e.relation.resource],a=String(i[e.name]);return{queryKey:H.relatedLabel(t.name,a),queryFn:async()=>(await R_(s,o,t,[a],r[t.name])).get(a)??a}})}),u=c.map(e=>({kind:`record`,resource:e.relation.resource,key:String(i[e.name])}));return{addresses:Object.fromEntries(c.map((e,t)=>[e.name,u[t]])),labels:Object.fromEntries(c.map((e,t)=>[e.name,l[t]?.data])),records:c.map((e,n)=>({kind:t?.fields[e.name]?.label??W(e.name),label:l[n]?.data??String(i[e.name]),href:qo(u[n],a)}))}},W9=eo(),G9=500,K9=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},gce=(e,t)=>{let n=U(),{resources:r}=G(),i=e.through,a=i?r[i.resource]:void 0,o=i?.key??a?.primaryKey[0],s=i?K9(za(W9.eq(i.field,t)),i.filter):``,c=yh({queryKey:H.list(a?.name??``,s,``,G9,`related:${o}`),enabled:!!(a&&o),queryFn:async()=>{let e=await n.search(a.name,{filter:s,fields:[o],pageSize:G9});return[...new Set(e.items.flatMap(e=>e[o]===null||e[o]===void 0?[]:[String(e[o])]))]}});return i?c.data?{filter:c.data.length===0?null:K9(za(W9.in(e.field,c.data)),e.filter),isPending:!1,error:null}:{filter:void 0,isPending:c.isPending,error:c.error}:{filter:K9(za(W9.eq(e.field,t)),e.filter),isPending:!1,error:null}},_ce=()=>(0,z.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,z.jsx)(kd,{className:`h-4 w-full`},t))}),vce=({text:e})=>(0,z.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e??`Nothing here yet.`}),yce=({item:e,recordKey:t,owner:n})=>{let{resources:r,views:i}=G(),a=r[e.resource],o=a&&i[a.name],s=gce(e,t),[c,l]=y9(o,`related:${n}:${e.title}`,e.display);if(!a)return null;let u=e.columns??Ck(a,o).filter(t=>t!==e.field);return(0,z.jsx)(yC,{title:e.title,help:e.help,actions:(0,z.jsx)(X7,{view:o,value:c,onChange:l}),children:s.isPending?(0,z.jsx)(_ce,{}):s.error?(0,z.jsx)(ey,{title:`Could not load`,error:s.error}):s.filter===null||s.filter===void 0?(0,z.jsx)(vce,{text:e.empty}):(0,z.jsx)(Z7,{model:a,view:o,filter:s.filter,sort:e.sort??``,columns:u,limit:e.limit??10,display:c,empty:e.empty},s.filter)})},bce=(e,t)=>t===e.tenant||e.primaryKey.includes(t),xce=(e,t)=>{if(t&&t.layout.length>0)return t.layout;let n=Object.values(e.fields).filter(t=>!bce(e,t.name)),r=n.filter(e=>!e.readOnly);return[{kind:`section`,title:`Details`,fields:(r.length>0?r:n).map(e=>e.name)}]},Sce=({resource:e,recordKey:t})=>{let{resources:n}=G(),r=n[e],i=fg(e,t);return r?i.isPending?(0,z.jsx)(Rv,{title:`Loading`,children:`Fetching the record.`}):i.error?(0,z.jsx)(`div`,{className:`p-8`,children:ds(i.error)&&i.error.status===404?(0,z.jsx)(Rv,{title:`Not found`,children:`This record does not exist, or you cannot see it.`}):(0,z.jsx)(ey,{title:`Could not load the record`,error:i.error})}):(0,z.jsx)(Cce,{model:r,recordKey:t,stored:i.data}):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no resource called `,e,`.`]})},Cce=({model:e,recordKey:t,stored:n})=>{let r=G(),{basePath:i}=Oh(),{go:a,open:s}=Hv(),c=r.views[e.name],l=c?.names?.singular??W(e.name),u=gg(e,c,n.record,t),{state:d}=B(),f=(0,o.useMemo)(()=>nce(r.resources,e),[r.resources,e]),p=uce(f,lce(f,e,t).items),m=mce({model:e,stored:n,recordKey:t,mode:c?.saveFeedback??`toast`,subject:u,draftKey:d.kind===`signed-in`?ace(d.user.id,e.name,t):void 0,lines:p});qee(m.dirty);let h=qp(),g=U(),_=Vv(e.name),v=pA(e),y=wy(_,`update`)&&n.permissions?.update!==!1,b=wy(_,`delete`)&&n.permissions?.delete!==!1,x=fA({model:e,view:c,restore:v,onDeleted:()=>a({kind:`list`,resource:e.name},{replace:!0}),onReview:()=>void h.invalidateQueries({queryKey:H.record(e.name,t)})}),S=hce(e,c,r.resources,r.views,n.record,i),{fields:C}=p_(),w=xce(e,c),T=w.flatMap(e=>e.kind===`sidebar`?e.fields:[]),E=e.fields.status?.type===`enum`?String(n.record.status):void 0,D=L9(e,`updated`),O=D&&n.record[D]?Math.max(0,Math.round((Date.now()-Date.parse(String(n.record[D])))/1e3)):void 0,k=e=>c?.fields[e],A=e=>Ey(n.permissions,e)!==`hidden`,j=r=>{let i=e.fields[r],a=Ey(n.permissions,r);if(!i||a===`hidden`)return null;let o=m.conflicts[r];return(0,z.jsx)(vC,{label:k(r)?.label??W(r),help:k(r)?.help,error:m.errors[r],conflict:o===void 0?void 0:{user:{name:`Someone else`,initials:`?`,hue:40},ago:`just now`,theirValue:o||`—`,onKeepMine:()=>m.keepMine(r),onUseTheirs:()=>m.useTheirs(r)},children:(0,z.jsx)(Cy,{field:i,hints:k(r),value:m.value(r),stored:n.record[r],relationLabel:S.labels[r],relationTo:S.addresses[r],locked:!y||a===`read`,invalid:!!m.errors[r],reveal:i.sensitive?()=>g.reveal(e.name,t,r):void 0,resource:e.name,onChange:e=>m.change(r,e)})},i.sensitive?`${r}:${n.etag}`:r)},M=w.findIndex(e=>e.kind===`sidebar`),N=(0,z.jsx)(wC,{title:`Summary`,rows:T.flatMap(t=>{let r=e.fields[t];if(!r||!A(t))return[];let i=iv(r,n.record[t],k(t)),a=r.type===`enum`?(0,z.jsx)(DA,{value:n.record[t],hints:k(t),children:i}):(0,z.jsx)(`strong`,{children:i}),o=hy(C,r,k(t));return[{label:k(t)?.label??W(t),value:o?(0,z.jsx)(by,{shown:o,part:`display`,field:r,value:n.record[t],fallback:a}):a}]})}),ee={model:e,record:n.record,key:t,etag:n.etag,permissions:n.permissions},te=(0,z.jsxs)(z.Fragment,{children:[m.dirty&&(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Unsaved changes`}),m.dirty&&y&&(0,z.jsx)(V,{className:`max-md:min-h-11`,disabled:m.saving,onClick:m.discard,children:`Discard`}),b&&(0,z.jsx)(V,{variant:`danger`,className:`max-md:min-h-11`,onClick:()=>void x.start({key:t,title:u,etag:n.etag,snapshot:n.record}),children:`Delete`}),y&&(0,z.jsxs)(V,{variant:`primary`,className:`max-md:min-h-11 max-md:flex-1`,loading:m.saving,disabled:!m.dirty&&m.phase!==`saved`,onClick:()=>void m.save(),children:[m.phase===`saved`&&(0,z.jsx)(de,{className:`size-4`}),m.phase===`saved`?`Saved`:`Save`]})]});return(0,z.jsxs)(`div`,{className:`flex flex-1 flex-col`,children:[x.dialogs,(0,z.jsx)(`div`,{className:`flex-1`,children:(0,z.jsxs)(`div`,{className:`mx-auto max-w-[1100px] px-4 pb-8 pt-6 md:px-10 md:py-8`,children:[(0,z.jsx)(TC,{collection:c?.names?.plural??W(e.name),title:u,status:{label:E?Bo(E,k(`status`)?.valueLabels):l,tone:E?hk(E):`neutral`},lastEditedBy:{ago:O===void 0?`recently`:Tf(O)},actions:(0,z.jsx)(`div`,{className:`hidden items-center gap-4 md:flex`,children:te})}),m.message&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`Not saved`,error:Error(m.message)})}),m.linesConflict&&(0,z.jsx)(`div`,{className:`mt-4`,children:(0,z.jsx)(ey,{title:`The lines were changed by someone else`,error:Error(`The lines were reloaded. Your new order is kept: Save again to apply it, or Discard to drop it.`)})}),m.restored&&(0,z.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2 text-[13px]`,role:`status`,children:[(0,z.jsx)(`span`,{children:`Your unsaved changes were restored.`}),(0,z.jsxs)(`span`,{className:`flex gap-2`,children:[(0,z.jsx)(V,{size:`sm`,onClick:m.dismissRestored,children:`Keep`}),(0,z.jsx)(V,{size:`sm`,onClick:m.discard,children:`Discard`})]})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-1 gap-8 md:grid-cols-[minmax(0,1fr)_300px] md:gap-12`,children:[(0,z.jsxs)(`main`,{className:`divide-y divide-border`,children:[w.flatMap((r,i)=>{if(r.kind===`related`)return[(0,z.jsx)(yce,{item:r,recordKey:t,owner:e.name},`related:${r.title}`)];if(r.kind===`custom`)return r.sidebar?[]:[(0,z.jsx)(R9,{item:r,scope:ee},`custom:${i}`)];if(r.kind===`map`)return r.sidebar?[]:[(0,z.jsx)(z9,{item:r,record:n.record},`map:${i}`)];if(r.kind!==`section`)return[];let a=r.fields.filter(t=>e.fields[t]&&A(t));return a.length===0?[]:[(0,z.jsx)(yC,{title:r.title,help:r.help,children:(0,z.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:a.map(j)})},r.title)]}),f&&(0,z.jsx)(ice,{lines:f,draft:p,vatRate:Number(n.record.vatRate??21)/100,saving:m.saving})]}),(0,z.jsxs)(`aside`,{className:`space-y-4 md:pt-8`,children:[(0,z.jsx)(tce,{model:e,stored:n,recordKey:t}),M===-1&&N,w.map((e,t)=>e.kind===`custom`&&e.sidebar?(0,z.jsx)(R9,{item:e,scope:ee},`custom:${t}`):e.kind===`map`&&e.sidebar?(0,z.jsx)(z9,{item:e,record:n.record},`map:${t}`):t===M?(0,z.jsx)(o.Fragment,{children:N},`summary`):null),(0,z.jsx)(wC,{title:`Details`,rows:[L9(e,`created`),D].flatMap(t=>{let r=t?e.fields[t]:void 0;return t&&r&&A(t)?[{label:k(t)?.label??W(t),value:iv(r,n.record[t],k(t))}]:[]})}),S.records.length>0&&(0,z.jsx)(CC,{title:`Related records`,children:(0,z.jsx)(SC,{records:S.records,onNavigate:s})})]})]})]})}),(m.dirty||b||y)&&(0,z.jsx)(`div`,{className:`sticky bottom-[var(--pb-sticky-bottom,0px)] z-20 flex shrink-0 items-center gap-2 border-t bg-background p-3 md:hidden`,children:te})]})},wce=e=>ds(e)?e.status===401||e.status===403?`It did not accept your sign-in: ${e.message}`:e.message:`It did not answer.`,Tce=({status:e})=>{let t=qp();return e.state===`error`?(0,z.jsx)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center p-8`,children:(0,z.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,z.jsxs)(`h1`,{className:`text-[15px] font-semibold`,children:[`Cannot reach `,e.source.label]}),(0,z.jsxs)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:[wce(e.error),` The rest of the app works as before.`]}),(0,z.jsx)(V,{className:`mt-3`,onClick:()=>void t.refetchQueries({queryKey:H.sourceMetas(e.source.url)}),children:`Try again`})]})}):(0,z.jsxs)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,z.jsx)(Pd,{}),` Loading from `,e.source.label]})},Ece=eo(),Dce=e=>Object.values(e.resources).flatMap(t=>{let n=e.views[t.name];return!t.search?.length||!n||n.nav?.hidden||e.permissions[t.name]?.read===!1?[]:[{model:t,view:n,label:n.names?.plural??W(t.name)}]}),Oce=e=>{let t=e.map(e=>e.label.toLowerCase());return t.length===0?`Search`:t.length===1?`Search ${t[0]}`:t.length===2?`Search ${t[0]} and ${t[1]}`:`Search ${t[0]}, ${t[1]} and more`},kce=e=>za(Ece.search(e.trim())),q9=e=>{let t=e.view?.searchResult?.title;return t?.length?t:[hg(e.model,e.view)]},J9=e=>{let t=q9(e);return e.view?.searchResult?.subtitle??e.model.search?.find(e=>!t.includes(e))},Ace=e=>{let t=J9(e),n=[...q9(e),...t?[t]:[],...e.model.search??[]];return[...new Set([...e.model.primaryKey,...n.filter(t=>Object.hasOwn(e.model.fields,t))])]},Y9=(e,t,n)=>{let r=t[n];return r==null?``:e.model.fields[n]?.type===`enum`?Bo(String(r),e.view?.fields[n]?.valueLabels):String(r)},jce=(e,t,n,r=``)=>{let i=po(vg(e.model,t)),a=q9(e),o=J9(e),s=Ra(e.model,t,n,[...a,...o?[o]:[]])??o,c=s?Y9(e,t,s):``;return{id:i,title:a.map(n=>Y9(e,t,n)).filter(Boolean).join(` `)||i,...c&&{subtitle:c},href:qo({kind:`record`,resource:e.model.name,key:i},r)}},Mce=()=>{let e=G(),t=U(),{basePath:n}=Oh(),r=(0,o.useMemo)(()=>Dce(e),[e]),[i,a]=(0,o.useState)(``),s=i.trim(),c=rk(s,200),l=s.length>=2,u=l&&c.length>=2,d=_h({queries:r.map(e=>({queryKey:[`global-search`,e.model.name,c],enabled:u,staleTime:1/0,gcTime:0,queryFn:()=>t.list(e.model.name,{filter:kce(c),pageSize:5,fields:Ace(e)})}))}),f=r.flatMap((e,t)=>{let r=d[t];if(!u||!r)return[];if(r.error)return[{id:e.model.name,label:e.label,hits:[],failed:!0}];let i=(r.data?.items??[]).map(t=>jce(e,t,c,n));return i.length>0?[{id:e.model.name,label:e.label,hits:i}]:[]});return{available:r.length>0,placeholder:Oce(r),text:i,setText:a,query:u?c:``,loading:l&&(s!==c||d.some(e=>e.isFetching)),groups:f}},Nce=e=>!!(e?.updateAvailable&&e.indicator),X9={immediate:`Updates as soon as a release is out`,weekly:`Updates at a set time every week`,scheduled:`Updates at the time set for this release`,manual:`Updates only when asked to`},Pce=e=>e.updating?`Updating now`:e.nextUpdateAt?`${X9[e.policy]}: next on ${Sf(Date.parse(e.nextUpdateAt))} UTC`:X9[e.policy],Fce=e=>ds(e)&&e.status===409?`Already on the latest version, or an update is running.`:ds(e)&&e.status===403?`Only an admin can update the runtime.`:`The update could not be started. Try again later.`,Ice=18e5,Lce=3e4,Rce=e=>{let t=dg(),n=(0,o.useRef)(t);n.current=t;let r=t!==void 0;return(0,o.useMemo)(()=>r?Au({url:e,token:()=>n.current}):void 0,[e,r])},zce=e=>{let[t,n]=(0,o.useState)(),[r,i]=(0,o.useState)(!1),[a,s]=(0,o.useState)(),[c,l]=(0,o.useState)(),u=t?.updating??!1;return(0,o.useEffect)(()=>{if(!e)return;let t=!0,r=()=>e.status().then(e=>{t&&(n(e),l(void 0))},e=>t&&l(e));r();let i=setInterval(()=>void r(),u?Lce:Ice);return()=>{t=!1,clearInterval(i)}},[e,u]),{status:t,update:(0,o.useCallback)(async()=>{e&&(i(!0),s(void 0),await e.update().then(n,s),i(!1))},[e]),requesting:r,error:a,checkError:c}},Z9=({label:e,value:t})=>(0,z.jsxs)(`div`,{className:`flex justify-between gap-4 py-1 text-[13px]`,children:[(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,z.jsx)(`span`,{className:`font-medium tabular-nums`,children:t})]}),Q9=({client:e})=>{let{status:t,update:n,requesting:r,error:i,checkError:a}=zce(e),[s,c]=(0,o.useState)(!1);return!t||!s&&!Nce(t)?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(V,{size:`sm`,variant:`ghost`,"aria-label":`Update available`,title:`Update available`,onClick:()=>c(!0),className:`max-md:size-9 max-md:p-0`,children:[(0,z.jsx)(xe,{className:`size-3.5 text-primary`}),(0,z.jsx)(`span`,{className:`max-md:sr-only`,children:`Update`})]}),s&&(0,z.jsxs)(kf,{title:`Runtime update`,description:Pce(t),onClose:()=>c(!1),actions:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(V,{onClick:()=>c(!1),children:`Close`}),(0,z.jsx)(V,{variant:`primary`,loading:r,disabled:t.updating||!t.updateAvailable,onClick:()=>void n(),children:t.updating?`Updating…`:`Update now`})]}),children:[(0,z.jsx)(Z9,{label:`Current version`,value:t.version}),(0,z.jsx)(Z9,{label:`Latest version`,value:t.latest}),i!==void 0&&(0,z.jsx)(`p`,{role:`alert`,className:`mt-3 text-[13px] text-danger-text`,children:Fce(i)}),a!==void 0&&(0,z.jsx)(`p`,{className:`mt-3 text-[13px] text-muted-foreground`,children:`The status could not be checked again; this is the last one read.`})]})]})},Bce=({url:e})=>(0,z.jsx)(Q9,{client:Rce(e)}),Vce=({url:e,client:t})=>t?(0,z.jsx)(Q9,{client:t}):(0,z.jsx)(Bce,{url:e}),Hce=({signIn:e,onStop:t})=>{let[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(),s=async()=>{r(!0),a(void 0);try{await t()}catch(e){if(!(e instanceof zs))throw e;a(qd(e)),r(!1)}};return(0,z.jsxs)(`div`,{role:`region`,"aria-label":`Staff session`,className:`flex flex-wrap items-center gap-x-3 gap-y-2 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,z.jsx)(wn,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,z.jsxs)(`p`,{className:`min-w-64 flex-1 break-words`,children:[(0,z.jsx)(`span`,{className:`font-semibold`,children:e.staffName??e.staff}),` is signed in as `,(0,z.jsx)(`span`,{className:`font-semibold`,children:e.user}),` until`,` `,Sf(Date.parse(e.expiresAt)),`. Reason: `,e.reason]}),i&&(0,z.jsx)(`p`,{role:`alert`,className:`text-xs font-medium text-danger-text`,children:i}),(0,z.jsx)(V,{size:`sm`,loading:n,onClick:()=>void s(),children:`Stop staff session`})]})},Uce=(e,t,n)=>({filter:n.filter??``,orderBy:n.orderBy??Cv(e,t),pageSize:n.limit??3,fields:[...new Set([...e.primaryKey,hg(e,t),n.status])]}),Wce=(e,t,n,r,i,a)=>r.map(r=>{let o=po(vg(e,r)),s=String(r[n.status]??``);return{id:o,label:gg(e,t,r,o),href:qo({kind:`record`,resource:e.name,key:o},i),status:e.fields[n.status]?.type===`enum`&&s?Bo(s,t.fields[n.status]?.valueLabels):s,tone:n.tones[s]??`neutral`,pulse:n.pulse?.includes(s)??!1,active:o===a}}),Gce=(e,t,n,r,i)=>{let a=n.find(t=>po(vg(e,t))===r);return a!==void 0&&t.some(e=>!Object.is(a[e],i[e]))},$9=({model:e,request:t})=>H.navRecent(e.name,t.filter,t.orderBy,t.pageSize),Kce=e=>{let t=qp();(0,o.useEffect)(()=>t.getQueryCache().subscribe(n=>{if(n.type!==`updated`||n.action.type!==`success`)return;let[r,i,a]=n.query.queryKey,o=n.action.data?.record;if(r===`record`&&typeof a==`string`&&o)for(let n of e){if(n.model.name!==i)continue;let e=t.getQueryData($9(n));e&&Gce(n.model,n.request.fields,e.items,a,o)&&t.invalidateQueries({queryKey:$9(n),exact:!0})}}),[t,e])},qce=(e,t,n)=>{let r=U(),i=(0,o.useMemo)(()=>{let t=o9(e);return Object.values(e.views).flatMap(n=>{let r=e.resources[n.resource],i=n.nav?.recent;return r&&i&&!n.nav?.hidden&&!t.has(r.name)?[{model:r,view:n,recent:i,request:Uce(r,n,i)}]:[]})},[e]);Kce(i);let a=_h({queries:i.map(e=>({queryKey:$9(e),queryFn:()=>r.list(e.model.name,e.request),refetchOnWindowFocus:!0}))});return Object.fromEntries(i.map(({model:e,view:r,recent:i},o)=>{let s=a[o];if(s.isPending)return[e.name,{state:`loading`}];if(s.isError)return[e.name,{state:`error`}];let c=n.resource===e.name?n.key:void 0;return[e.name,{state:`ready`,records:Wce(e,r,i,s.data.items,t,c)}]}))},Jce=e=>e?.kind===`page`?e.page:e?.resource,Yce=e=>e?.kind===`record`?e:void 0,Xce=({workspace:e,sidebarMode:t,assistant:n,runtime:r})=>{let i=G(),{state:a,session:s,signOut:c,stopStaffSession:l,organizations:u}=B(),d=Hh();if(a.kind!==`signed-in`&&a.kind!==`visitor`)throw Error(`The shell is only rendered for a signed-in user or a visitor`);let f=a.kind===`signed-in`?a.user:void 0,p=a.kind===`signed-in`?a.staff:void 0,{path:m,params:h,basePath:g}=Oh(),{address:_,go:v,open:y}=Hv(),b=Jce(_),x=Yce(_),S=Mce(),C=kg(),w=Qoe(i,g,qce(i,g,{resource:b,key:x?.key})),T=Object.keys(i.pages)[0],E=Object.keys(i.resources)[0],D=_?.kind===`page`?i.pages[_.page]:void 0;(0,o.useEffect)(()=>{m===`/`&&(T?v({kind:`page`,page:T},{replace:!0}):E&&v({kind:`list`,resource:E},{replace:!0}))},[m,T,E,v]);let O=_?.kind===`page`?void 0:_?.resource,k=O?Lv(i,O):void 0,A=O?i.views[O]:void 0,j=w.find(e=>e.items.some(e=>e.id===b)),M=O?i.resources[O]:void 0,N=fg(x?.resource??``,x?.key??``,!!(M&&x)),ee=M&&x&&N.data?gg(M,A,N.data.record,x.key):void 0,te=!!x&&(N.isLoading||k?.state===`loading`),{shell:ne}=p_(),re=ne?.actions,ie=ne?.rightPanel,[ae,oe]=(0,o.useState)(!1),se=i.assistant?.url,ce=se&&(0,z.jsx)(D_,{open:ae,onToggle:()=>oe(!ae)}),le=se&&ae&&(0,z.jsx)(A_,{url:se,client:n,page:h.size>0?`${m}?${h}`:m,onClose:()=>oe(!1)}),ue=i.errorReporting;(0,o.useEffect)(()=>{ue&&c_(ue)},[ue]);let P=i.runtime?.url,de=P&&(0,z.jsx)(Vce,{url:P,client:r}),fe=Yoe((0,o.useCallback)(()=>n9(g),[g]),!!f),pe=f&&Joe(f,fe.current),me=pe?sg(pe):!1,he=Yse(),ge=Roe(!!(u&&f)),_e=ge.current,ve=!!u&&_e!==void 0&&!_e.organization,ye=u&&f?jte[m]:void 0,be=f?m===`/-/account`?`Sign-in & security`:m===`/-/sign-in-policy`?`Sign-in policy`:ye:void 0,xe=be?[be]:I_({basePath:g,address:_,group:j?.label,page:D,resourceLabel:A?.names?.plural??(O&&W(O)),recordTitle:ee,recordLoading:te}),Se=f&&m===`/-/account`?(0,z.jsx)(Np,{email:f.email}):f&&m===`/-/sign-in-policy`?me?(0,z.jsx)(Gp,{}):(0,z.jsx)(Rv,{title:`Admins only`,children:`Only an admin can change how people sign in.`}):ye&&m===`/-/organization`?(0,z.jsx)(Uoe,{current:_e,basePath:g,onChanged:ge.reload}):ye&&(m===`/-/organization/members`||m===`/-/organization/invitations`)?Yh(_e)?m===`/-/organization/members`?(0,z.jsx)(Poe,{current:_e}):(0,z.jsx)(Loe,{current:_e}):(0,z.jsx)(Rv,{title:`Owners and admins only`,children:`Only the organization's owners and admins manage its members.`}):ye&&m===`/-/organizations`||ve?(0,z.jsx)(qoe,{state:ge,basePath:g}):_?_.kind===`page`?D?(0,z.jsx)(Nse,{name:D.name},D.name):(0,z.jsxs)(Rv,{title:`Not found`,children:[`There is no page called `,_.page,`.`]}):k&&k.state!==`ready`?(0,z.jsx)(Tce,{status:k}):_.kind===`create`?(0,z.jsx)(LC,{resource:_.resource,values:_.values},`${_.resource}/new?${new URLSearchParams(_.values).toString()}`):_.kind===`record`?(0,z.jsx)(Sce,{resource:_.resource,recordKey:_.key},`${_.resource}/${_.key}`):(0,z.jsx)(Moe,{address:_},_.resource):m===`/`?(0,z.jsx)(Rv,{title:`Choose a resource`,children:`Pick one from the sidebar.`}):(0,z.jsx)(Rv,{title:`Not found`,children:`There is nothing at this address.`}),Ce=(0,z.jsx)(Vd,{pageScroll:!0,sidebarMode:t??`text-small`,activeItem:b??``,breadcrumb:xe,user:pe&&cg(pe),onSignOut:f&&(()=>void c()),onSignIn:f?void 0:()=>d.open(),workspace:_e?.organization?.name??e,navGroups:w,bottomBar:F_(i,g,b),userMenu:[...Xoe(i,g,b),...u&&f?Xh(g,m,_e):[],...f?Ln(g,m,me):[]],organizations:u&&{..._e?.organization&&{current:{id:_e.organization.id,name:_e.organization.name}},others:ge.organizations.filter(e=>e.id!==_e?.organization?.id),onSwitch:e=>void s.organizations.switchTo(e).then(()=>n9(g))},theme:{preference:C.preference,onChange:C.choose},roles:fe.current?.active?{active:fe.current.active,roles:fe.current.roles,onSwitch:fe.switchTo}:void 0,onNavigate:y,search:S.available?{placeholder:S.placeholder,text:S.text,onTextChange:S.setText,query:S.query,loading:S.loading,groups:S.groups,onSelect:y}:void 0,actions:(re||de||ce)&&(0,z.jsxs)(z.Fragment,{children:[re&&(0,z.jsx)(vy,{name:`shell.actions`,fallback:null,children:(0,z.jsx)(re,{})}),de,ce]}),rightPanel:(ie||le)&&(0,z.jsxs)(z.Fragment,{children:[ie&&(0,z.jsx)(vy,{name:`shell.rightPanel`,fallback:null,children:(0,z.jsx)(ie,{})}),le]}),children:Se}),we=me&&he.length>0;return!p&&!we?Ce:(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[p&&(0,z.jsx)(Hce,{signIn:p,onStop:l}),we&&(0,z.jsx)(Zse,{off:he}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1`,children:Ce})]})},Zce=({baseUrl:e,client:t,sources:n,workspace:r,sidebarMode:i,ui:a,assistant:o,runtime:s,pluginLoader:c})=>{let{state:l,session:u,markSignedOut:d}=B();return(0,z.jsx)(Eh,{baseUrl:e,client:t,sources:n,token:l.kind===`visitor`?void 0:u.token,onUnauthenticated:d,children:(0,z.jsx)(Bv,{children:(0,z.jsx)(Ig,{children:(0,z.jsx)(Xse,{ui:a,...c&&{loader:c},children:(0,z.jsx)(Xce,{workspace:r,sidebarMode:i,assistant:o,runtime:s})})})})})},Qce=({auth:e,workspace:t,basePath:n,initialUrl:r,...i})=>(0,z.jsx)(Og,{children:(0,z.jsx)(cf,{session:e,children:(0,z.jsx)(Gee,{basePath:n,initialUrl:r,children:(0,z.jsx)(rg,{workspace:t,children:(0,z.jsx)(Zce,{workspace:t,...i})})})})});export{e_ as A,Lg as B,T_ as C,d_ as D,__ as E,Wg as F,Th as G,dg as H,Ug as I,R as K,Vg as L,Jg as M,qg as N,u_ as O,Kg as P,zg as R,E_ as S,x_ as T,Eh as U,fg as V,U as W,yA as _,N9 as a,Hv as b,k9 as c,Ene as d,Dne as f,dne as g,yne as h,B9 as i,Zg as j,a_ as k,w9 as l,vne as m,H9 as n,P9 as o,JA as p,b as q,V9 as r,zse as s,Qce as t,u9 as u,gA as v,C_ as w,Mv as x,Uv as y,Rg as z};