@protobase/ui 0.25.7 → 0.25.8

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,10 +1,10 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/markdown-content-CtGUP4W6.js","assets/rolldown-runtime-hePW80VL.js","assets/react-Cvdyeg_0.js","assets/cn-Bi0ZEjD9.js","assets/jsx-runtime-NZYk81nU.js","assets/records-map-BvwXRw3F.js","assets/maplibre-DUTS_eJM.js","assets/react-dom-B-VxWsjA.js","assets/preload-helper-BZ3hrQDD.js","assets/maplibre-DBE96hFo.css","assets/record-map-DFy7sJEU.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/markdown-content-CtGUP4W6.js","assets/rolldown-runtime-hePW80VL.js","assets/react-Cvdyeg_0.js","assets/cn-Bi0ZEjD9.js","assets/jsx-runtime-NZYk81nU.js","assets/records-map-DqN8afWx.js","assets/maplibre-DUTS_eJM.js","assets/react-dom-B-VxWsjA.js","assets/preload-helper-BZ3hrQDD.js","assets/maplibre-DBE96hFo.css","assets/record-map-DFy7sJEU.js"])))=>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{a,d as o,f as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./preload-helper-BZ3hrQDD.js";import{t as g}from"./cn-Bi0ZEjD9.js";import{t as _}from"./jsx-runtime-NZYk81nU.js";var v=(e,t,n,r)=>({code:e,message:t,hint:n,span:r}),y=(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]},b=(e,t)=>{let n=e.toLowerCase(),r=t.map(e=>({candidate:e,score:y(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},x=(e,t)=>({start:e.start,end:t.end}),S=(e,t)=>t===2?e%4==0&&(e%100!=0||e%400==0)?29:28:[4,6,9,11].includes(t)?30:31,C=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<=S(n,r)},w=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 C(t[1])&&n<=23&&r<=59&&i<=59&&a<=23&&o<=59},T={s:1,m:60,h:3600,d:86400,w:604800},E=e=>w(e)?Date.parse(e.toUpperCase()):void 0,D=/^(\d+(?:\.\d+)?)(s|m|h|d|w)$/,O=e=>{let t=D.exec(e);return t?Number(t[1])*T[t[2]]:void 0},k=/\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})/y,A=/\d{4}-\d{2}-\d{2}/y,j=/[TtZz0-9:.+-]*/y,M=/0[xX][0-9a-fA-F]+/y,N=/\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y,ee=(e,t,n)=>(e.lastIndex=n,e.exec(t)?.[0]),te=(e,t,n,r)=>{let i=ee(k,e,t);if(i&&w(i))return{kind:`timestamp`,end:t+i.length};if(i||ee(A,e,t)){let n=t+(ee(j,e,t)??``).length;return{kind:`error`,end:n,error:v(`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=ee(M,e,t);if(a)return n(e[t+a.length])?{kind:`number`,end:t+a.length}:void 0;let o=t+ee(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},ne={a:`\x07`,b:`\b`,f:`\f`,n:`
3
3
  `,r:`\r`,t:` `,v:`\v`,"'":`'`,'"':`"`,"\\":`\\`,"?":`?`,"`":"`"},re=(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},ie=(e,t)=>{let n=e[t+1];if(n===void 0)return{error:`a backslash at the end`,end:t+1};if(Object.hasOwn(ne,n))return{text:ne[n],end:t+2};let r={x:2,u:4,U:8};if(Object.hasOwn(r,n)){let i=re(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}},ae=(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=ie(e,a);`text`in o?i+=o.text:r.push(v(`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(v(`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}},oe={"(":`lparen`,")":`rparen`,",":`comma`,".":`dot`,":":`has`,"=":`eq`,"<":`lt`,">":`gt`,"-":`minus`},se={AND:`and`,OR:`or`,NOT:`not`},ce=e=>{let[t,n,r]=[e.at(-1),e.at(-2),e.at(-3)];return t?.kind===`rparen`&&n?.kind===`lparen`&&r?.text===`now`},le=(e,t={})=>{let n=[],r=[],i=e=>e!==void 0&&(e in oe||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(v(`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=ae(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=te(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(v(`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(oe,i)){o(oe[i],c,c+1),c++;continue}let s=t.arithmetic===`now-offset`&&ce(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(se,u)?se[u]:`text`,c,l),c=l}return o(`eof`,e.length,e.length),{tokens:n,errors:r}},ue=class extends Error{error;constructor(e){super(e.message),this.error=e}},de=(e,t,n,r)=>{throw new ue(v(e,t,n,r))},P=(e,t=0)=>e.tokens[Math.min(e.pos+t,e.tokens.length-1)],fe=e=>{let t=P(e);return t.kind!==`eof`&&e.pos++,t},pe=(e,t)=>P(e).kind===t?fe(e):void 0,me=e=>e.kind===`eof`?`end of input`:`"${e.text}"`,he=(e,t,n,r)=>pe(e,t)??de(`expected-token`,`Expected ${n} but found ${me(P(e))}`,r,P(e).span),F=(e,t,n)=>{e.depth>=e.maxDepth&&de(`too-deep`,`The filter is nested too deeply`,`Nest at most ${e.maxDepth} levels`,t),e.depth++;try{return n()}finally{e.depth--}},ge=[`text`,`and`,`or`,`not`],_e=e=>{let t=he(e,`text`,`a field name or value`,`Text may not contain spaces or the characters ( ) - . = : < > ! ,`),n=[t.text],r=t.span;for(;P(e).kind===`dot`;){let t=P(e,1),i=t.kind===`number`&&/^\d+(\.\d+)?$/.test(t.text);!ge.includes(t.kind)&&!i&&de(`expected-token`,`Expected a field name after "." but found ${me(t)}`,`Write traversals like customer.country`,t.span),fe(e),fe(e),n.push(...i?t.text.split(`.`):[t.text]),r=x(r,t.span)}return{kind:`member`,path:n,span:r}},ve=e=>({kind:`duration`,amount:Number(e.text.slice(0,-1)),unit:e.text.slice(-1),span:e.span}),ye=[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`],be=e=>ye.includes(e.kind),xe=(e,t,n)=>F(e,n,()=>{fe(e);let r=[];if(P(e).kind!==`rparen`)do r.push(Ee(e));while(pe(e,`comma`));return{kind:`call`,name:t,args:r,span:x(n,he(e,`rparen`,`")"`,`Close the call to ${t}() with ")"`).span)}}),Se=e=>{let t=P(e);switch(t.kind){case`string`:return fe(e),{kind:`string`,value:t.value,span:t.span};case`number`:return fe(e),{kind:`number`,value:Number(t.text),raw:t.text,span:t.span};case`duration`:return fe(e),ve(t);case`timestamp`:return fe(e),{kind:`timestamp`,value:t.text,span:t.span};case`minus`:{let n=P(e,1);(n.kind!==`number`||n.span.start!==t.span.end)&&de(`unexpected-token`,`Expected a number after "-" but found ${me(n)}`,`Write negative numbers as -5, without a space`,n.span),fe(e),fe(e);let r=`-${n.text}`;return{kind:`number`,value:-Number(n.text),raw:r,span:x(t.span,n.span)}}case`text`:{if((t.text===`true`||t.text===`false`)&&P(e,1).kind!==`dot`&&(P(e,1).kind!==`lparen`||P(e,1).span.start!==t.span.end))return fe(e),{kind:`boolean`,value:t.text===`true`,span:t.span};let n=_e(e);return P(e).kind===`lparen`&&P(e).span.start===n.span.end?xe(e,n.path.join(`.`),n.span):n}default:return de(`unexpected-token`,`Expected a value but found ${me(t)}`,`Values are text, "strings", numbers, true/false, durations, timestamps or function calls`,t.span)}},Ce=e=>{let t=fe(e);return F(e,t.span,()=>{let n=e.expression(e);return he(e,`rparen`,`")"`,`Close the group opened here`),n?n.kind===`global`?n.value:n:de(`unexpected-token`,`Empty group`,`Put an expression inside the parentheses`,t.span)})},we=e=>P(e).kind===`lparen`?Ce(e):Se(e),Te=e=>[`text`,`string`,`number`,`duration`,`timestamp`,`lparen`,`minus`].includes(P(e,1).kind),Ee=e=>{let t=we(e);if(!e.extensions.arithmetic||!be(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()&&P(e,1).kind===`duration`;if(r&&i()&&(P(e).kind===`plus`||P(e).kind===`minus`)&&P(e,1).kind!==`duration`)return de(`expected-token`,`Expected a duration after "${P(e).text}" but found ${me(P(e,1))}`,`Durations need a unit, for example now() - 30d`,P(e,1).span);for(;(P(e).kind===`plus`||P(e).kind===`minus`)&&Te(e)&&a();){let t=fe(e).kind===`plus`?`+`:`-`,r=we(e);if(!be(r))return de(`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:x(n.span,r.span)}}return n},De=e=>{let t=P(e),n=Ee(e);return be(n)||de(`unexpected-token`,`A comparison needs a value on the right`,`Write field = value`,t.span),n},Oe={eq:`=`,ne:`!=`,lt:`<`,le:`<=`,gt:`>`,ge:`>=`},ke=[`text`,`string`,`number`,`duration`,`timestamp`,`not`,`minus`,`lparen`],Ae=(e,t)=>{let n=t.filter(e=>e!==void 0);return n.length<=1?n[0]:{kind:e,args:n,span:x(n[0].span,n[n.length-1].span)}},je=e=>{let t=0;for(;;){let{kind:n}=P(e);if(n===`eof`||t===0&&(n===`and`||n===`or`||n===`rparen`))return;n===`lparen`&&t++,n===`rparen`&&t--,fe(e)}},Me=e=>{let t=Se(e),n=P(e);if(n.kind===`has`){fe(e);let n=P(e);if(n.kind===`text`&&n.text===`*`)return fe(e),{kind:`present`,left:t,span:x(t.span,n.span)};let r=De(e);return{kind:`has`,left:t,right:r,span:x(t.span,r.span)}}let r=Oe[n.kind];if(r){fe(e);let n=De(e);return{kind:`compare`,op:r,left:t,right:n,span:x(t.span,n.span)}}return t.kind===`call`?t:{kind:`global`,value:t,span:t.span}},Ne=e=>{let t=P(e);return t.kind===`lparen`?(fe(e),F(e,t.span,()=>{let n=Re(e);return pe(e,`rparen`)||e.errors.push(v(`expected-token`,`Expected ")" but found ${me(P(e))}`,`Close the group opened here`,t.span)),n})):Me(e)},Pe=e=>{let t=P(e);if(t.kind!==`not`&&t.kind!==`minus`)return ke.includes(t.kind)?F(e,t.span,()=>Ne(e)):de(`unexpected-token`,`Unexpected ${me(t)}`,`Expected a field, a value or "("`,t.span);fe(e);let n=P(e),r=n.kind===`minus`&&P(e,1).kind===`number`&&P(e,1).span.start===n.span.end;(n.kind===`not`||n.kind===`minus`&&!r)&&de(`unexpected-token`,`Negations cannot be stacked`,`Group the inner one: NOT (NOT a)`,n.span);let i=F(e,t.span,()=>Ne(e));if(!i)return;let a=x(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}},Fe=e=>{try{return Pe(e)}catch(t){if(!(t instanceof ue))throw t;e.errors.push(t.error),je(e);return}},Ie=e=>{let t=[Fe(e)];for(;pe(e,`or`);)t.push(Fe(e));return Ae(`or`,t)},Le=e=>{let t=[Ie(e)];for(;ke.includes(P(e).kind);)t.push(Ie(e));return Ae(`sequence`,t)},Re=e=>{let t=[Le(e)];for(;pe(e,`and`);)t.push(Le(e));return Ae(`and`,t)},ze=(e,t={})=>{let n=t.maxLength??1e4;if(e.length>n)return{ok:!1,ast:void 0,errors:[v(`too-long`,`The filter is longer than ${n} characters`,`Shorten the filter`,{start:n,end:e.length})]};let r=t.extensions??{},i=le(e,r),a={tokens:i.tokens,pos:0,errors:i.errors,depth:0,maxDepth:t.maxDepth??64,extensions:r,expression:Re},o=[];for(;P(a).kind!==`eof`;){if(P(a).kind===`rparen`){let e=fe(a);a.errors.push(v(`unexpected-token`,`Unmatched ")"`,`Remove it or add a matching "("`,e.span));continue}o.push(Re(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}},Be=(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]}},Ve=(e,t)=>{let n=t.path[0],r=Be(e.schema.fields,n);if(!r){let r=Object.entries(e.schema.fields).filter(([,e])=>e.filterable!==!1).map(([e])=>e),i=b(n,r);e.errors.push(v(`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(v(`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(v(`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}}},He=(e,t)=>({message:e,hint:t}),Ue=(e,t)=>He(`Expected ${e}`,t),We=e=>e.kind===`string`?e.value:e.kind===`member`?e.path.join(`.`):void 0,eee={integer:/^-?(\d+|0[xX][0-9a-fA-F]+)$/,number:/^-?\d+(\.\d+)?([eE][+-]?\d+)?$|^-?0[xX][0-9a-fA-F]+$/},Ge=(e,t)=>e===t||e===`any`||t===`any`||[`integer`,`number`].includes(e)&&[`integer`,`number`].includes(t),Ke=(e,t,n)=>{let r=We(n);switch(e){case`any`:return;case`string`:return r===void 0?Ue(`a string`,`Quote text values: "..."`):void 0;case`enum`:return r!==void 0&&t?.values?.includes(r)?void 0:He(`Invalid enum value`,`Allowed values: ${(t?.values??[]).join(`, `)}`);case`integer`:case`number`:{let t=n.kind===`number`?n.raw:r;return t!==void 0&&eee[e].test(t)?void 0:Ue(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:Ue(`true or false`,`Write true or false`);case`timestamp`:return n.kind===`timestamp`||r!==void 0&&w(r)?void 0:Ue(`an RFC-3339 timestamp`,`Use "2012-04-21T11:30:00Z"`);case`duration`:return n.kind===`duration`||r!==void 0&&O(r)!==void 0?void 0:Ue(`a duration`,`Use a number with a unit, for example 20s or 1.5s`);case`map`:case`message`:return He(`${e} fields cannot be compared`,`Compare a nested field, or use field:key`)}},qe=e=>[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`].includes(e.kind),Je=(e,t,n,r)=>{if(!qe(n)){e.errors.push(v(`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(v(`wrong-argument`,`Argument "${t.name}" must be a field`,`Pass a field name without quotes`,n.span));return}let r=Ve(e,n);if(r&&t.of&&!t.of.includes(r.field.spec.type)){e.errors.push(v(`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`)?Ge(t.type,i.type)?void 0:{message:`Expected ${t.type}`,hint:`Argument "${t.name}" is ${i.type}`}:Ke(t.type,void 0,i.node);return a&&e.errors.push(v(`wrong-argument`,a.message,a.hint,n.span)),a?void 0:i.node},Ye=(e,t,n)=>{let r=e.schema.functions??{};if(!Object.hasOwn(r,t.name)){let n=b(t.name,Object.keys(r));e.errors.push(v(`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(v(`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)=>Je(e,i.params[r]??i.rest,t,n));if(!o.some(e=>e===void 0))return{call:{...t,args:o},returns:i.returns??`boolean`}},Xe=(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`},Ze={number:`number`,boolean:`boolean`,duration:`duration`,timestamp:`timestamp`},Qe=(e,t)=>{switch(t.kind){case`call`:{let n=Ye(e,t,Qe);return n&&{node:n.call,type:n.returns}}case`binary`:{let n=Qe(e,t.left),r=Qe(e,t.right);if(!n||!r)return;let i=n.type&&r.type?Xe(n.type,r.type,t.op):n.type??r.type??`number`;if(!i){e.errors.push(v(`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:Ze[t.kind]};default:return{node:t,type:void 0}}},$e=[`string`,`integer`,`number`,`timestamp`,`duration`,`any`],et=(e,t)=>{if(t.kind===`member`){let n=Ve(e,t);return n&&{node:n,type:n.field.spec.type,spec:n.field.spec}}let n=Qe(e,t);return n&&{...n,spec:void 0}},tt=(e,t,n,r)=>{e.errors.push(v(`operator-not-allowed`,t,n,r.span))},nt=(e,t,n)=>{if(!t.type)return Qe(e,n)?.node;let r=Qe(e,n);if(!r)return;let i=r.type&&(n.kind===`call`||n.kind===`binary`)?Ge(t.type,r.type)?void 0:{message:`Expected ${t.type} but got ${r.type}`,hint:`Compare values of the same type`}:Ke(t.type,t.spec,r.node);return i&&e.errors.push(v(`invalid-value`,i.message,i.hint,n.span)),i?void 0:r.node},rt=(e,t)=>{let n=et(e,t.left);if(!n)return;let r=n.type;if(n.spec?.repeated)return tt(e,`"${t.op}" is not supported on repeated fields`,`Use field:value to test membership`,t);if(r===`map`||r===`message`)return tt(e,`${r} fields cannot be compared`,`Use field:key, or compare a nested field`,t);if(r&&![`=`,`!=`].includes(t.op)&&!$e.includes(r))return tt(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(v(`wildcard-not-allowed`,`Wildcards are only supported on string fields, not ${r}`,`Remove the "*"`,t.right.span));return}let a=i?t.right:nt(e,n,t.right);return a&&{...t,left:n.node,right:a}},it=(e,t)=>{let n=et(e,t.left);if(!n)return;let{type:r,spec:i}=n,a=nt(e,!i?.repeated&&(r===`map`||r===`message`)?{...n,type:`string`}:n,t.right);return a&&{...t,left:n.node,right:a}},at=(e,t)=>{switch(t.kind){case`sequence`:case`and`:case`or`:{let n=t.args.map(t=>at(e,t));return n.every(e=>e)?{...t,args:n}:void 0}case`not`:{let n=at(e,t.arg);return n&&{...t,arg:n}}case`compare`:return rt(e,t);case`has`:return it(e,t);case`present`:{let n=et(e,t.left);return n&&{...t,left:n.node}}case`global`:return t;case`call`:{let n=Ye(e,t,Qe);if(n&&n.returns!==`boolean`){e.errors.push(v(`not-boolean`,`${t.name}() returns ${n.returns}, not a condition`,`Compare its result: f(x) > 1`,t.span));return}return n?.call}}},ot=(e,t)=>{let n={schema:t,errors:[]},r=at(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}},st={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\x07":`\\a`,"\b":`\\b`,"\f":`\\f`,"\v":`\\v`},ct=e=>{if(!e.isWellFormed())throw Error(`Strings with unpaired surrogates cannot be printed`);return`"${e.replace(/[\\"\u0000-\u001f\u007f-\u009f]/g,e=>st[e]??`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}"`},lt=e=>{switch(e.kind){case`string`:return ct(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}},ut=e=>e.kind===`number`&&e.raw.startsWith(`-`),dt=e=>{switch(e.kind){case`member`:return e.path.join(`.`);case`call`:return`${e.name}(${e.args.map(tee).join(`, `)})`;case`binary`:if(e.right.kind===`binary`)throw Error(`Arithmetic is left-associative; a binary on the right cannot be printed`);return`${dt(e.left)} ${e.op} ${dt(e.right)}`;default:return lt(e)}},tee=e=>ree(e)?`(${mt(e)})`:dt(e),nee=[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`binary`],ree=e=>!nee.includes(e.kind)&&e.kind!==`call`,ft=e=>{if(ut(e))throw Error(`A negative number cannot start a comparison; "-5 = x" parses as a negation`);return dt(e)},pt=(e,t)=>({and:[`and`,`or`],sequence:[`and`,`or`,`sequence`],or:[`and`,`or`,`sequence`],not:[`and`,`or`,`sequence`,`not`]})[e].includes(t.kind)?`(${mt(t)})`:mt(t),mt=e=>{switch(e.kind){case`and`:return e.args.map(e=>pt(`and`,e)).join(` AND `);case`or`:return e.args.map(e=>pt(`or`,e)).join(` OR `);case`sequence`:return e.args.map(e=>pt(`sequence`,e)).join(` `);case`not`:return`NOT ${pt(`not`,e.arg)}`;case`compare`:return`${ft(e.left)} ${e.op} ${dt(e.right)}`;case`has`:return`${ft(e.left)}:${dt(e.right)}`;case`present`:return`${ft(e.left)}:*`;case`global`:return dt(e.value);case`call`:return dt(e)}},ht=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}`)}},gt=/^(-?)(\d+)(?:\.(\d+))?$/,_t=e=>{let t=gt.exec(e);if(!t)return;let n=t[3]??``;return new ht(BigInt(`${t[1]}${t[2]}${n}`),n.length)},vt=/^-?(?:\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|0[xX][0-9a-fA-F]+)$/,yt=e=>{if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(e instanceof ht)return e.toNumber();if(typeof e==`string`&&vt.test(e))return e.startsWith(`-`)?-Number(e.slice(1)):Number(e)},bt=e=>typeof e==`bigint`?new ht(e,0):typeof e==`number`?Number.isFinite(e)?_t(String(e)):void 0:typeof e==`string`?_t(e):e instanceof ht?e:void 0,xt=(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},St=e=>typeof e==`object`&&!!e&&!(e instanceof Date)&&!(e instanceof ht)&&`seconds`in e&&typeof e.seconds==`number`,Ct=e=>{switch(e.kind){case`string`:return e.value;case`number`:return _t(e.raw)??e.value;case`boolean`:return e.value;case`duration`:return{seconds:e.amount*T[e.unit]};case`timestamp`:return new Date(E(e.value)??NaN)}},wt=e=>St(e)?e.seconds:typeof e==`number`?e:typeof e==`string`?O(e):void 0,Tt=e=>e instanceof Date?e.getTime():typeof e==`string`?E(e):void 0,Et=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}},Dt=(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}},Ot=(e,t)=>e<t?-1:+(e>t),kt=(e,t)=>{let n=bt(e),r=bt(t);if(n&&r)return n.compare(r);let i=yt(e),a=yt(t);return i===void 0||a===void 0||Number.isNaN(i)||Number.isNaN(a)?void 0:Ot(i,a)},iee=(e,t,n)=>{let r=(e===`=`||e===`!=`)&&n.includes(`*`);if(typeof t==`string`)return r?Dt(e,+!xt(n,t)):Dt(e,Ot(t,n));if(typeof t==`number`||typeof t==`bigint`){let r=kt(t,n);return r===void 0?void 0:Dt(e,r)}if(t instanceof Date){let r=Tt(n);return r===void 0?void 0:Dt(e,Ot(t.getTime(),r))}if(typeof t==`boolean`)return n===`true`||n===`false`?Dt(e,Ot(String(t),n)):void 0;if(St(t)){let r=wt(n);return r===void 0?void 0:Dt(e,Ot(t.seconds,r))}},At=(e,t,n)=>{if(t==null)return!1;if(typeof n==`string`)return iee(e,t,n)??!1;if(n instanceof ht||typeof n==`number`||typeof n==`bigint`){let r=kt(t,n);return r!==void 0&&Dt(e,r)}if(typeof n==`boolean`){let r=typeof t==`string`?t===`true`||t!==`false`&&void 0:t;return typeof r==`boolean`&&Dt(e,Ot(String(r),String(n)))}if(n instanceof Date){let r=Tt(t);return r===void 0||Number.isNaN(n.getTime())?!1:Dt(e,Ot(r,n.getTime()))}if(St(n)){let r=wt(t);return r!==void 0&&Dt(e,Ot(r,n.seconds))}return!1},jt=(e,t)=>{let n=[e];for(let e of t)n=n.flatMap(t=>Array.isArray(t)?t.flatMap(t=>Mt(t,e)):Mt(t,e));return n.filter(e=>e!=null)},Mt=(e,t)=>typeof e!=`object`||!e?[]:e instanceof Map?e.has(t)?[e.get(t)]:[]:Object.hasOwn(e,t)?[e[t]]:[],Nt=e=>e.flatMap(e=>Array.isArray(e)?e:[e]),aee=32,Pt=(e,t)=>t>aee||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=>Pt(e,t+1)):e instanceof Map?[...e.values()].flatMap(e=>Pt(e,t+1)):typeof e==`object`?Object.values(e).flatMap(e=>Pt(e,t+1)):[],Ft=(e,t)=>{let n=e.toLowerCase();return Pt(t,0).some(e=>e.toLowerCase().includes(n))},It=e=>[`member`,`string`,`number`,`boolean`,`duration`,`timestamp`,`call`,`binary`].includes(e.kind),Lt=(e,t,n)=>{let r=e===`+`?1:-1;if(t instanceof Date&&St(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(St(t)&&St(n))return{seconds:t.seconds+r*n.seconds};let i=t instanceof ht?t.toNumber():t,a=n instanceof ht?n.toNumber():n;return typeof i==`number`&&typeof a==`number`?i+r*a:void 0},Rt=(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`?Nt(jt(t.record,e.path)):It(e)?zt(e,t):Gt(e,t)});return n.evaluate(...r)},zt=(e,t)=>{switch(e.kind){case`member`:return e.path.join(`.`);case`call`:return Rt(e,t);case`binary`:return Lt(e.op,zt(e.left,t),zt(e.right,t));default:return Ct(e)}},Bt=(e,t)=>e.kind===`member`?jt(t.record,e.path):[zt(e,t)],Vt=(e,t,n)=>Nt(t).some(t=>At(e,t,n)),Ht=(e,t)=>{let n=e.kind===`member`?e.field?.spec.type:void 0;return typeof t!=`string`||!n?t:n===`timestamp`?Tt(t)===void 0?t:new Date(Tt(t)):n===`duration`?wt(t)===void 0?t:{seconds:wt(t)}:n===`integer`||n===`number`?bt(t)??t:n===`boolean`?t===`true`||t!==`false`&&t:t},Ut=(e,t)=>{let n=Ht(e.left,zt(e.right,t)),r=Bt(e.left,t);return e.op===`!=`?!Vt(`=`,r,n):Vt(e.op,r,n)},Wt=(e,t)=>{let n=zt(e.right,t),r=Et(e.right);return Bt(e.left,t).some(e=>Array.isArray(e)?e.some(e=>At(`=`,e,n)):e instanceof Map?r!==void 0&&e.has(r):typeof e==`object`&&e&&!(e instanceof Date)&&!St(e)&&!(e instanceof ht)?r!==void 0&&Object.hasOwn(e,r):At(`=`,e,n))},Gt=(e,t)=>{switch(e.kind){case`sequence`:case`and`:return e.args.every(e=>Gt(e,t));case`or`:return e.args.some(e=>Gt(e,t));case`not`:return!Gt(e.arg,t);case`compare`:return Ut(e,t);case`has`:return Wt(e,t);case`present`:return Bt(e.left,t).some(e=>e!=null);case`global`:return(t.options.search??Ft)(Et(e.value)??String(zt(e.value,t)),t.record);case`call`:return Rt(e,t)===!0}},Kt=(e,t,n={})=>Gt(e,{record:t,options:n}),qt=(e,t,n,r)=>({code:e,message:t,hint:n,span:r}),Jt=(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]},Yt=(e,t)=>{let n=e.toLowerCase(),r=t.map(e=>({candidate:e,score:Jt(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},Xt={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`}},Zt={extensions:{arithmetic:`now-offset`,durationUnits:!0}},Qt=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`}},$t=e=>({fields:Object.fromEntries(Object.values(e.fields).map(e=>[e.name,{type:Qt(e),filterable:e.filterable,sortable:e.sortable,aliases:e.aliases,...e.enumValues&&{values:e.enumValues}}])),functions:Xt}),en=(e,t,n,r)=>{e.errors.push(qt(`unsupported`,t,n,r))},tn=(e,t)=>t.kind===`member`?{kind:`field`,path:t.path,span:t.span}:en(e,`Only fields can be compared`,`Put a field name on the left, for example total > 100`,t.span),nn=(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}:en(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}:en(e,`Arithmetic is only supported as now() +/- duration`,`Write now() - 30d`,t.span)}default:return t}},rn=(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}:en(e,`Expected a literal value`,`Use strings, numbers, true/false, durations or timestamps`,t.span)),an=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``}},on=(e,t)=>{let[n,r,...i]=t.args,a=n?.kind===`member`?tn(e,n):void 0,o=e=>e?.kind===`string`?e.value:void 0,s=n=>{e.errors.push(qt(`invalid-arguments`,`Invalid arguments to ${t.name}()`,`Usage: ${n}`,t.span))};switch(t.name){case`in`:{let n=t.args.slice(1).map(t=>rn(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(qt(`unknown-function`,`Unknown function "${t.name}"`,`Available functions: ${Object.keys(Xt).join(`, `)}`,t.span));return}},sn=e=>e.every(e=>e)?e:void 0,cn=(e,t)=>{switch(t.kind){case`sequence`:case`and`:case`or`:{let n=sn(t.args.map(t=>cn(e,t)));return n&&{kind:t.kind===`or`?`or`:`and`,args:n,span:t.span}}case`not`:{let n=cn(e,t.arg);return n&&{kind:`not`,arg:n,span:t.span}}case`compare`:{let n=tn(e,t.left),r=nn(e,t.right);return n&&r&&{kind:`compare`,op:t.op,field:n,value:r,span:t.span}}case`has`:{let n=tn(e,t.left),r=rn(e,t.right);return n&&r&&{kind:`has`,field:n,value:r,span:t.span}}case`present`:{let n=tn(e,t.left);return n&&{kind:`present`,field:n,span:t.span}}case`global`:return{kind:`search`,text:an(t.value),span:t.span};case`call`:return on(e,t)}},ln=(e,t={})=>{let n=ze(e,{...Zt,...t}),r={errors:[]},i=n.ast&&cn(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}},un=(e,t)=>t===2?e%4==0&&(e%100!=0||e%400==0)?29:28:[4,6,9,11].includes(t)?30:31,dn=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<=un(n,r)},fn=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 dn(t[1])&&n<=23&&r<=59&&i<=59&&a<=23&&o<=59},pn=(e,t)=>({message:e,hint:t}),oee=-(2n**63n),see=2n**63n-1n,cee=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,mn=e=>e.kind===`number`?e.raw:e.kind===`string`?e.value:void 0,hn=(e,t=`Write ${e} values like the examples in the docs`)=>pn(`Expected ${e}`,t),lee=e=>{let t=mn(e),n=t===void 0?NaN:Number(t);if(t===void 0||t.trim()===``||!Number.isSafeInteger(n))return hn(`a whole number`,`Use an integer such as 42, or a bigint field for larger values`)},uee=e=>{let t=mn(e);if(t===void 0||!/^-?\d+$/.test(t)||BigInt(t)<oee||BigInt(t)>see)return hn(`a 64-bit integer`,`Use plain digits such as 9007199254740993 (no exponent or fraction)`)},dee=e=>{let t=mn(e);if(t===void 0||!/^-?\d+(\.\d+)?$/.test(t))return hn(`a decimal number`,`Use plain digits such as 100.50, or quote it: "100.50" (no exponent)`)},fee=(e,t)=>{if(t.kind===`now`)return e.type===`date`||e.type===`timestamp`?void 0:pn(`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:hn(`a quoted string`,`Wrap the text in double quotes`);case`integer`:return lee(t);case`bigint`:return uee(t);case`decimal`:return dee(t);case`boolean`:return t.kind===`boolean`?void 0:hn(`true or false`);case`date`:return t.kind===`string`&&dn(t.value)?void 0:hn(`a date`,`Quote a calendar date: "2012-04-21"`);case`timestamp`:return t.kind===`timestamp`||t.kind===`string`&&fn(t.value)?void 0:hn(`an RFC-3339 timestamp`,`Use 2012-04-21T11:30:00Z, or now() - 7d`);case`uuid`:return t.kind===`string`&&cee.test(t.value)?void 0:hn(`a uuid`,`Quote a uuid like "0b5a4f0e-6f2a-4a3c-9d4e-1f2a3b4c5d6e"`);case`enum`:return t.kind===`string`&&e.enumValues?.includes(t.value)?void 0:pn(`Invalid enum value`,`Allowed values: ${(e.enumValues??[]).join(`, `)}`);case`currency`:return t.kind===`string`&&/^[A-Z]{3}$/.test(t.value)?void 0:hn(`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:hn(`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:hn(`a record key`,`Use the related record key: 42 or "abc"`);case`json`:case`file`:return pn(`${e.type} fields cannot be compared`,`Use field:value on json fields, or isNull(field)`)}},pee=(e,t)=>Object.hasOwn(e.fields,t)?e.fields[t]:Object.values(e.fields).find(e=>e.aliases.includes(t)),gn=(e,t,n)=>{if(t.path.length>1){e.errors.push(qt(`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=pee(e.model,r);if(!i){let i=Object.values(e.model.fields).filter(e=>e[n]).map(e=>e.name),a=Yt(r,i);e.errors.push(qt(`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(qt(n===`filterable`?`not-filterable`:`not-sortable`,`Field "${i.name}" is not ${r}`,`Mark it with .${r}() in data.ts`,t.span));return}return i},mee=[`=`,`!=`],hee=[`=`,`!=`,`<`,`<=`,`>`,`>=`],gee=e=>{switch(e){case`text`:case`integer`:case`bigint`:case`decimal`:case`date`:case`timestamp`:return hee;case`json`:case`file`:return[];default:return mee}},_ee=e=>e===`json`||e===`file`,_n=(e,t,n)=>{let r=fee(t,n);return r&&e.errors.push(qt(`invalid-value`,r.message,r.hint,n.span)),!r},vn=(e,t,n,r)=>{e.errors.push(qt(`operator-not-allowed`,t,n,r))},yn=(e,t)=>(e===`=`||e===`!=`)&&t.kind===`string`&&t.value.includes(`*`),bn=(e,t)=>{let n=gn(e,t.field,`filterable`);if(!n)return;let r=gee(n.type);if(!r.includes(t.op)){vn(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(yn(t.op,t.value)&&n.type!==`text`){e.errors.push(qt(`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(yn(t.op,t.value)||_n(e,n,t.value))return{...t,field:n}},xn=(e,t)=>{let n=gn(e,t.field,`filterable`);if(n){if(n.type!==`json`){vn(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}}},Sn=(e,t)=>{let n=gn(e,t.field,`filterable`);if(n){if(_ee(n.type)){vn(e,`in() is not supported for ${n.type} fields`,`Use field:value on json fields`,t.span);return}return t.values.map(t=>_n(e,n,t)).every(Boolean)?{...t,field:n}:void 0}},Cn=(e,t,n)=>{let r=gn(e,n,`filterable`);if(r&&r.type!==`text`){vn(e,`${t}() only works on text fields, not ${r.type}`,`Field "${r.name}" is ${r.type}`,n.span);return}return r},wn=(e,t)=>{switch(t.kind){case`and`:case`or`:{let n=t.args.map(t=>wn(e,t));return n.every(e=>e)?{...t,args:n}:void 0}case`not`:{let n=wn(e,t.arg);return n&&{...t,arg:n}}case`compare`:return bn(e,t);case`has`:return xn(e,t);case`in`:return Sn(e,t);case`search`:if(e.model.search?.length)return t;e.errors.push(qt(`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=gn(e,t.field,`filterable`);return n&&{...t,field:n}}case`similar`:case`regex`:{let n=Cn(e,t.kind,t.field);return n&&{...t,field:n}}}},Tn=(e,t)=>{let n={model:e,errors:[]},r=wn(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}},En=(e,t)=>`path`in e?{kind:`member`,path:e.path,span:e.span}:{kind:`member`,path:[e.name],field:{name:e.name,spec:{type:Qt(e)}},span:t},Dn=(e,t,n)=>({kind:`call`,name:e,args:t,span:n}),On=(e,t)=>({kind:`string`,value:e,span:t}),kn=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},An=(e,t={})=>{let n=e=>An(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:En(e.field,e.span),right:kn(e.value),span:e.span};case`has`:return{kind:`has`,left:En(e.field,e.span),right:e.value,span:e.span};case`present`:return{kind:`present`,left:En(e.field,e.span),span:e.span};case`in`:return t.expand?{kind:`or`,args:e.values.map(t=>({kind:`compare`,op:`=`,left:En(e.field,e.span),right:t,span:e.span})),span:e.span}:Dn(`in`,[En(e.field,e.span),...e.values],e.span);case`search`:return Dn(`search`,[On(e.text,e.span)],e.span);case`similar`:return Dn(`similar`,[En(e.field,e.span),On(e.text,e.span)],e.span);case`regex`:return Dn(`regex`,[En(e.field,e.span),On(e.pattern,e.span)],e.span);case`isNull`:return t.expand?{kind:`not`,arg:{kind:`present`,left:En(e.field,e.span),span:e.span},span:e.span}:Dn(`isNull`,[En(e.field,e.span)],e.span)}},jn=(e,t)=>{let n=Tn(e,t);if(!n.ok&&n.errors.some(e=>e.code===`unsupported-traversal`))return n;let r=ot(An(t),$t(e));return r.ok?Tn(e,t):{ok:!1,errors:r.errors}},Mn=/^[\d\s+\-().\/]+$/,Nn=e=>Mn.test(e)?e.replace(/\D/g,``):``,Pn=e=>{let t=e.split(/\s+/).filter(Boolean).map(e=>({text:e,digits:Nn(e),whole:!1})),n=t.length>1?Nn(e.trim()):``;return n?[{text:e.trim(),digits:n,whole:!0},...t]:t},Fn=(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()),In=(e,t,n)=>(e.search??[]).filter(r=>Fn(t[r],n,e.searchMatch?.[r])),Ln=(e,t,n)=>{let r=Pn(n),i=r.filter(e=>!e.whole),a=r.find(e=>e.whole);return a&&In(e,t,a).length>0?!0:i.length>0&&i.every(n=>In(e,t,n).length>0)},Rn=(e,t,n,r)=>{for(let i of Pn(n)){let n=In(e,t,i);if(n.length>0&&!n.some(e=>r.includes(e)))return n[0]}},zn=e=>()=>{throw Error(`Not implemented: ${e}() needs the database (the resource's search fields, trigram matching), so it cannot be evaluated against a record`)},Bn=(e,t,n)=>({...Xt,search:{...Xt.search,evaluate:n?e=>Ln(n,t,e):zn(`search`)},similar:{...Xt.similar,evaluate:zn(`similar`)},regex:{...Xt.regex,evaluate:(e,t)=>e.some(e=>typeof e==`string`&&new RegExp(t).test(e))},now:{...Xt.now,evaluate:e}}),Vn=(e,t,n={})=>Kt(An(e,{expand:!0}),t,{functions:Bn(n.now??(()=>new Date),t,n.search)}),Hn=e=>mt(An(e)),Un=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},Wn=e=>{let t=Un(e),n=[],r=[],i={start:e.length,end:e.length},a=0,o=(e,t,r,i)=>n.push(v(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}},Gn=(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]}},Kn=(e,t)=>{let n=[],r=[];for(let i of e){let e=Gn(t.fields,i.path[0]);if(!e){let e=Object.entries(t.fields).filter(([,e])=>e.sortable!==!1).map(([e])=>e),r=b(i.path[0],e);n.push(v(`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?Gn(o.fields,e)?.field:o.value;if(!t){n.push(v(`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?Gn(o.fields,e).name:e),o=t,s&&=o.sortable!==!1}if(!c){if(!s){n.push(v(`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}},qn=e=>e.map(e=>({path:e.path.path,direction:e.direction,span:e.span})),Jn=e=>e.replace(/([^\s,])(\s+)(asc|desc)(?=\s|,|$)/gi,(e,t,n,r)=>`${t}${n}${r.toLowerCase()}`),Yn=e=>{let t=Wn(Jn(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}},Xn=(e,t)=>{let n=t.filter(e=>e.path.path.length>1).map(e=>qt(`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=Kn(qn(t),$t(e));return r.ok?{ok:!0,sort:r.items.map(e=>[e.path[0],e.direction])}:{ok:!1,errors:r.errors}},Zn=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}}},Qn={start:0,end:0},$n=e=>({kind:`field`,path:e.split(`.`),span:Qn}),er=e=>{if(typeof e==`string`)return{kind:`string`,value:e,span:Qn};if(typeof e==`boolean`)return{kind:`boolean`,value:e,span:Qn};if(!Number.isFinite(e))throw Error(`Filter numbers must be finite`);return{kind:`number`,value:e,raw:String(e),span:Qn}},tr=e=>typeof e==`object`?e:er(e),nr=(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:Qn}},rr=()=>{let e=e=>(t,n)=>({kind:`compare`,op:e,field:$n(t),value:tr(n),span:Qn}),t=e=>t=>({kind:`now`,offset:{sign:e,duration:Zn(t)},span:Qn});return{eq:e(`=`),ne:e(`!=`),lt:e(`<`),lte:e(`<=`),gt:e(`>`),gte:e(`>=`),between:(t,n,r)=>nr(`and`,[e(`>=`)(t,n),e(`<=`)(t,r)]),has:(e,t)=>({kind:`has`,field:$n(e),value:er(t),span:Qn}),present:e=>({kind:`present`,field:$n(e),span:Qn}),in:(e,t)=>({kind:`in`,field:$n(e),values:t.map(er),span:Qn}),isNull:e=>({kind:`isNull`,field:$n(e),span:Qn}),search:e=>({kind:`search`,text:e,span:Qn}),similar:(e,t)=>({kind:`similar`,field:$n(e),text:t,span:Qn}),regex:(e,t)=>({kind:`regex`,field:$n(e),pattern:t,span:Qn}),and:(...e)=>nr(`and`,e),or:(...e)=>nr(`or`,e),not:e=>({kind:`not`,arg:e,span:Qn}),now:()=>({kind:`now`,span:Qn}),ago:t(`-`),fromNow:t(`+`)}},ir=rr(),ar=/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,or=e=>[...e.matchAll(ar)].map(e=>e[1]),sr=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??{}):[],cr=e=>[...new Set(sr(e).flatMap(or))],lr=(e,t)=>e.replace(ar,(e,n)=>t[n]===null||t[n]===void 0?``:String(t[n])),ur=(e,t={})=>{if(e.kind===`record`){let n=e=>typeof e==`string`?lr(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,lr(n,t)]))}:e:e.kind===`list`?{...e,...e.filter!==void 0&&{filter:lr(e.filter,t)},...e.orderBy!==void 0&&{orderBy:lr(e.orderBy,t)}}:e},dr=e=>/^\{([A-Za-z_][A-Za-z0-9_]*)\}$/.exec(e)?.[1],fr=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===1&&typeof e.$field==`string`,pr=e=>typeof e==`object`&&!!e&&!Array.isArray(e),mr=e=>fr(e)?e.$field:Array.isArray(e)?e.map(mr):pr(e)?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,mr(t)])):e,hr=`table`,gr=/^[a-z0-9][a-z0-9_-]*$/,_r=e=>{if(!e.startsWith(`/-/forms/`))return;let t=e.slice(9);return gr.test(t)?{name:t}:void 0},vr=e=>e.flatMap(e=>e.kind===`group`||e.kind===`tab`?vr(e.items):[e]),yr=(e,t)=>{if(t===void 0)return e;let n=e?.lists?.find(e=>e.name===t);if(!e||!n)return;let{list:r,chart:i,help:a,nav:o,lists:s,names:c,...l}=e,{name:u,...d}=n;return{...l,...d}},br={text:`text`,integer:`integer`,decimal:`decimal`,boolean:`boolean`,date:`date`,choice:`text`,custom:`json`},xr=e=>({name:e.name,column:e.name,type:e.options?`enum`:br[e.kind],nullable:!0,readOnly:!1,filterable:e.kind!==`custom`,sortable:!1,aliases:[],...e.options&&{enumValues:e.options.map(e=>e.value)}}),Sr=e=>({name:`inputs`,table:{name:`inputs`},fields:Object.fromEntries(e.map(e=>[e.name,xr(e)])),primaryKey:[]}),Cr=(e,t)=>{let n=e[t].when;if(n===void 0)return;let r=ln(n);if(!r.ok)return r.errors.map(e=>e.message).join(`; `);if(!r.ast)return`it is empty`;let i=jn(Sr(e.slice(0,t)),r.ast);return i.ok?i.filter:i.errors.map(e=>e.message).join(`; `)},wr=(e,t)=>{let n=new Set,r={};return e.forEach((i,a)=>{let o=Cr(e,a);if(typeof o==`string`)throw Error(`Input "${i.name}": ${o}`);let s=o===void 0||Vn(o,r)===!0;s&&n.add(i.name),r[i.name]=s?t[i.name]??null:null}),n},Tr=(e,t)=>Object.fromEntries(Object.entries(e).flatMap(([e,n])=>{let r=typeof n==`string`?dr(n):void 0;return r===void 0?[[e,n]]:Object.hasOwn(t,r)?[[e,t[r]]]:[]})),Er=e=>`groupBy`in e,Dr=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(`,`)},Or=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/,kr=e=>{let t=Or.exec(e);return t?[Number(t[1]),Number(t[2]),Number(t[3])]:void 0},Ar=(e,t)=>e[0]-t[0]||e[1]-t[1]||e[2]-t[2],jr=/^(>=|<=|>|<|=)?(.+)$/,Mr={">=":e=>e>=0,"<=":e=>e<=0,">":e=>e>0,"<":e=>e<0,"=":e=>e===0},Nr=(e,t)=>{let n=kr(e),r=t.trim().split(/\s+/);if(!n||t.trim()===``)return;let i=!0;for(let e of r){let[,t=`=`,r=``]=jr.exec(e)??[],a=kr(r);if(!a)return;i&&=Mr[t](Ar(n,a))}return i},Pr=(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=Nr(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}`},Fr=`[Filtered]`,Ir=/authorization|cookie|passw|secret|token|api[-_]?key|credential|session|csrf|signature|^sig$/i,vee=new Set([`url`,`query_string`,`from`,`to`]),yee=12,Lr=e=>e.replace(/(^|&)([^=&]*)=([^&]*)/g,(e,t,n)=>Ir.test(n)?`${t}${n}=${Fr}`:e),bee=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)}${Lr(r)}${n===-1?``:e.slice(n)}`},Rr=(e,t,n)=>Ir.test(e)?Fr:typeof t==`string`&&vee.has(e)?e===`query_string`?Lr(t):bee(t):zr(t,n+1),zr=(e,t)=>t>yee||typeof e!=`object`||!e?e:Array.isArray(e)?e.map(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`?[e[0],Rr(e[0],e[1],t)]:zr(e,t+1)):Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Rr(e,n,t)])),xee=e=>zr(e,0),See=[`unknown-field`,`not-filterable`,`not-sortable`,`unsupported-traversal`,`invalid-traversal`],Cee=e=>e.replace(/(["']?)\{[A-Za-z_][A-Za-z0-9_]*\}\1/g,(e,t)=>t?`${t}x${t}`:`0`),wee=(e,t)=>{let n=ln(Cee(t));if(!n.ok)return n.errors.map(e=>`filter: ${e.message}`);if(!n.ast)return[];let r=jn(e,n.ast);return r.ok?[]:r.errors.filter(e=>See.includes(e.code)).map(e=>`filter: ${e.message}`)},Tee=(e,t)=>{if(cr({kind:`list`,resource:e.name,orderBy:t}).length>0)return[];let n=Yn(t);if(!n.ok)return n.errors.map(e=>`orderBy: ${e.message}`);let r=Xn(e,n.items);return r.ok?[]:r.errors.map(e=>`orderBy: ${e.message}`)},Eee=(e,{models:t,pages:n,source:r,createPages:i})=>{let a=cr(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?.has(e.resource)?a:e.kind===`create`?[...a,...Object.keys(e.values??{}).filter(e=>!Object.hasOwn(n.fields,e)).map(t=>`values: unknown field "${t}" on ${e.resource}`)]:e.kind===`list`?[...a,...e.filter?wee(n,e.filter):[],...e.orderBy?Tee(n,e.orderBy):[]]:a:[`unknown resource "${e.resource}"`]}default:return[`an address's kind is list, record, create or page, not "${String(e.kind)}"`]}},Dee={messages:[],replying:!1},Br=(e,t)=>{let n=e.findIndex(e=>e.id===t.id);return n===-1?[...e,t]:e.map((e,r)=>r===n?t:e)},Oee=(e,t,n)=>{let r=e.find(e=>e.id===t);return Br(e,r?{...r,parts:Br(r.parts,n)}:{id:t,from:`assistant`,parts:[n]})},kee=(e,t)=>{switch(t.type){case`state`:return t.state;case`message`:return{...e,messages:Br(e.messages,t.message)};case`part`:return{...e,messages:Oee(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}}}}},Vr=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(``)}},Hr={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};Hr.node;var Ur=d(Hr),Wr={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Wr.node;var Gr=d(Wr),Kr={name:`arrow-up-down`,size:24,node:[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]};Kr.node;var Aee=d(Kr),qr={name:`arrow-up-right`,size:24,node:[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]};qr.node;var jee=d(qr),Jr={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]};Jr.node;var Yr=d(Jr),Xr={name:`ban`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]};Xr.node;var Mee=d(Xr),Zr={name:`bath`,size:24,node:[[`path`,{d:`M10 4 8 6`,key:`1rru8s`}],[`path`,{d:`M17 19v2`,key:`ts1sot`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M7 19v2`,key:`12npes`}],[`path`,{d:`M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`,key:`14ym8i`}]]};Zr.node;var Nee=d(Zr),Qr={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`}]]};Qr.node;var Pee=d(Qr),$r={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`}]]};$r.node;var ei=d($r),ti={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`}]]};ti.node;var ni=d(ti),ri={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`}]]};ri.node;var ii=d(ri),ai={name:`bookmark-plus`,size:24,node:[[`path`,{d:`M12 7v6`,key:`lw1j43`}],[`path`,{d:`M15 10H9`,key:`o6yqo3`}],[`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`}]]};ai.node;var oi=d(ai),si={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`}]]};si.node;var ci=d(si),li={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`}]]};li.node;var ui=d(li),di={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`]};di.node;var fi=d(di),pi={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`}]]};pi.node;var mi=d(pi),hi={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`]};hi.node;var gi=d(hi),_i={name:`chart-gantt`,size:24,node:[[`path`,{d:`M10 6h8`,key:`zvc2xc`}],[`path`,{d:`M12 16h6`,key:`yi5mkt`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M8 11h7`,key:`wz2hg0`}]]};_i.node;var vi=d(_i),yi={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};yi.node;var bi=d(yi),xi={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};xi.node;var Si=d(xi),Ci={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};Ci.node;var wi=d(Ci),Ti={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};Ti.node;var Ei=d(Ti),Di={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`}]]};Di.node;var Oi=d(Di),ki={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`]};ki.node;var Ai=d(ki),ji={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`]};ji.node;var Mi=d(ji),Ni={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};Ni.node;var Pi=d(Ni),Fi={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`]};Fi.node;var Ii=d(Fi),Li={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};Li.node;var Ri=d(Li),zi={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`]};zi.node;var Bi=d(zi),Vi={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`}]]};Vi.node;var Hi=d(Vi),Ui={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`}]]};Ui.node;var Wi=d(Ui),Gi={name:`door-open`,size:24,node:[[`path`,{d:`M10 21H2`,key:`1sthdo`}],[`path`,{d:`M10 3H7a2 2 0 00-2 2v16`,key:`15gt7x`}],[`path`,{d:`M14 12h.01`,key:`1jfl7z`}],[`path`,{d:`M19 21V5a2 2 0 00-1.675-1.974l-6.163-1.013A1 1 0 0010 3v18a1 1 0 001.124.992z`,key:`tyvg9a`}],[`path`,{d:`M22 21h-3`,key:`1ec3tr`}]]};Gi.node;var Ki=d(Gi),qi={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`}]]};qi.node;var Ji=d(qi),Yi={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`]};Yi.node;var Xi=d(Yi),Zi={name:`ellipsis-vertical`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]],aliases:[`more-vertical`]};Zi.node;var Qi=d(Zi),$i={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`]};$i.node;var ea=d($i),ta={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`}]]};ta.node;var na=d(ta),ra={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`}]]};ra.node;var ia=d(ra),aa={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`}]]};aa.node;var oa=d(aa),sa={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`]};sa.node;var ca=d(sa),la={name:`file-spreadsheet`,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:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]};la.node;var ua=d(la),da={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`}]]};da.node;var fa=d(da),pa={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`}]]};pa.node;var ma=d(pa),ha={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`}]]};ha.node;var ga=d(ha),_a={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]],aliases:[`home`]};_a.node;var va=d(_a),ya={name:`images`,size:24,node:[[`path`,{d:`m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16`,key:`9kzy35`}],[`path`,{d:`M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2`,key:`1t0f0t`}],[`circle`,{cx:`13`,cy:`7`,r:`1`,fill:`currentColor`,key:`1obus6`}],[`rect`,{x:`8`,y:`2`,width:`14`,height:`14`,rx:`2`,key:`1gvhby`}]]};ya.node;var ba=d(ya),xa={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]};xa.node;var Sa=d(xa),Ca={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`}]]};Ca.node;var wa=d(Ca),Ta={name:`land-plot`,size:24,node:[[`path`,{d:`m12 8 6-3-6-3v10`,key:`mvpnpy`}],[`path`,{d:`m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12`,key:`ek95tt`}],[`path`,{d:`m6.49 12.85 11.02 6.3`,key:`1kt42w`}],[`path`,{d:`M17.51 12.85 6.5 19.15`,key:`v55bdg`}]]};Ta.node;var Ea=d(Ta),Da={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`}]]};Da.node;var Oa=d(Da),ka={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`}]]};ka.node;var Aa=d(ka),ja={name:`leaf`,size:24,node:[[`path`,{d:`M11 20a10 10 0 0010-10 25.9 25.9 0 00-1.04-7.281 1 1 0 00-1.755-.325C15.833 5.5 13 5.5 9.8 6.1A7 7 0 0011 20`,key:`1wjnjv`}],[`path`,{d:`M2 21a5 5 0 012.911-4.544C7.613 15.212 8.351 15.24 11 13`,key:`c1ejpn`}]]};ja.node;var Ma=d(ja),Na={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`}]]};Na.node;var Pa=d(Na),Fa={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`}]]};Fa.node;var Ia=d(Fa),La={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`}]]};La.node;var Ra=d(La),za={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};za.node;var Ba=d(za),Va={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`}]]};Va.node;var Ha=d(Va),Ua={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`}]]};Ua.node;var Wa=d(Ua),Ga={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`}]]};Ga.node;var Ka=d(Ga),qa={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`}]]};qa.node;var Ja=d(qa),Ya={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`}]]};Ya.node;var Fee=d(Ya),Xa={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};Xa.node;var Iee=d(Xa),Za={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};Za.node;var Lee=d(Za),Qa={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`}]]};Qa.node;var Ree=d(Qa),$a={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`}]]};$a.node;var zee=d($a),eo={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`}]]};eo.node;var Bee=d(eo),to={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`}]]};to.node;var no=d(to),ro={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`}]]};ro.node;var io=d(ro),ao={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};ao.node;var oo=d(ao),so={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};so.node;var co=d(so),lo={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`}]]};lo.node;var Vee=d(lo),uo={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`}]]};uo.node;var fo=d(uo),po={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};po.node;var Hee=d(po),mo={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`}]]};mo.node;var Uee=d(mo),ho={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};ho.node;var go=d(ho),_o={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`]};_o.node;var Wee=d(_o),vo={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`}]]};vo.node;var Gee=d(vo),yo={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`}]]};yo.node;var bo=d(yo),xo={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`}]]};xo.node;var So=d(xo),Co={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`}]]};Co.node;var wo=d(Co),To={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`}]]};To.node;var Kee=d(To),Eo={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`]};Eo.node;var Do=d(Eo),Oo={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`]};Oo.node;var qee=d(Oo),ko={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`}]]};ko.node;var Jee=d(ko),Ao={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`}]]};Ao.node;var jo=d(Ao),Mo={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`}]]};Mo.node;var No=d(Mo),Po={name:`tag`,size:24,node:[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]};Po.node;var Fo=d(Po),Io={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`}]]};Io.node;var Lo=d(Io),Ro={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`]};Ro.node;var zo=d(Ro),Bo={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`]};Bo.node;var Vo=d(Bo),Ho={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`}]]};Ho.node;var Uo=d(Ho),Wo={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`}]]};Wo.node;var Go=d(Wo),Ko={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`]};Ko.node;var qo=d(Ko),Jo={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`}]]};Jo.node;var Yo=d(Jo),Xo={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`}]]};Xo.node;var Zo=d(Xo),Qo={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`}]]};Qo.node;var $o=d(Qo),es={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};es.node;var ts=d(es),ns={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`}]]};ns.node;var rs=d(ns),I=t(r(),1),L=a({en:{signInSecurity:`Sign-in & security`,signInPolicy:`Sign-in policy`,couldNotReadMethods:`Could not read your sign-in methods`,theProvider:`the provider`,loading:`Loading`,backupCodes:`Backup codes`,copied:`Copied`,copy:`Copy`,download:`Download`,cancel:`Cancel`,save:`Save`,name:`Name`,yourPassword:`Your password`,continue:`Continue`,on:`On`,off:`Off`,optional:`Optional`,required:`Required`,passkeys:`Passkeys`,passkey:`Passkey`,passkeysAllowed:`Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key instead of a password.`,passkeysRequired:`This app requires a passkey for every account. Sign in with Face ID, Touch ID, Windows Hello, your phone or a security key.`,passkeysForbidden:`Your admin turned passkeys off for this app, so they cannot be used to sign in.`,addedOn:e=>`Added ${e}`,addedEarlier:`Added earlier`,synced:`Synced across your devices`,oneDevice:`On one device`,rename:`Rename`,remove:`Remove`,keepLastPasskey:`Passkeys are required: add another one before removing this one.`,addPasskey:`Add a passkey`,renamePasskey:`Rename passkey`,renamePasskeyDescription:`A name that tells you where this passkey lives, such as the device or password manager.`,removePasskey:`Remove passkey?`,removePasskeyDescription:e=>`${e} will no longer sign you in here. It stays on the device until you delete it there.`,thisPasskey:`This passkey`,connectedAccounts:`Connected accounts`,connectedAccountsDescription:`Sign in with these instead of your password. Connecting one asks you to sign in there; its address may differ from yours here.`,connected:`Connected`,connect:e=>`Connect ${e}`,stopped:e=>`Stopped ${e}`,ended:e=>`Ended ${e}`,signedInUntil:e=>`Signed in until ${e}`,staffSignIns:`Staff sign-ins`,staffSignInsDescription:e=>`Each time staff of ${e} signed in as someone here, newest first.`,noStaffSignIns:`No staff has signed in as anyone yet.`,as:`as`,qrCode:`QR code for your authenticator app`,twoFactor:`Two-factor authentication`,twoFactorAllowed:`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.`,twoFactorRequired:`This app requires two-factor authentication for every account. Turn it on to keep using the app.`,twoFactorForbidden:`Your admin turned two-factor authentication off for this app.`,twoFactorOnWithApp:`Signing in with a password or an emailed sign-in code also asks for a code from your authenticator app. Backup codes work when you do not have the app.`,twoFactorOnWithAppOrMail:`Signing in with a password or an emailed sign-in code also asks for a code from your authenticator app, or one emailed to you. Backup codes work when you do not have the app.`,twoFactorOnWithMail:`Signing in with a password or an emailed sign-in code also asks for a code emailed to you.`,turnOn:`Turn on`,turnOff:`Turn off`,addAuthenticator:`Add an authenticator app`,newBackupCodes:`New backup codes`,twoFactorIsRequired:`This app requires two-factor authentication.`,turnOffTitle:`Turn off two-factor authentication?`,turnOffDescription:`Signing in then needs only your password or an emailed code. Your backup codes stop working.`,newCodesTitle:`Make new backup codes?`,newCodesDescription:`Your current backup codes stop working, and you get ten new ones.`,makeNewCodes:`Make new codes`,yourNewCodes:`Your new backup codes`,keepCodesSafe:`Keep them somewhere safe: each one signs you in once if you lose your phone. They are not shown again.`,savedCodes:`I saved my backup codes`,authenticatorApp:`Authenticator app`,authenticatorAppDescription:`A code from an app such as Google Authenticator, Microsoft Authenticator or 1Password. Comes with backup codes.`,emailedCode:`Emailed code`,emailedCodeDescription:`A code mailed to your address each time you sign in with a password or an emailed sign-in code.`,twoFactorIsOn:`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.`,scanCode:`Scan this code with your authenticator app, then enter the 6-digit code it shows.`,cannotScan:`Can't scan it? Enter this key in the app:`,codeFromApp:`Code from the app`,secondStep:`Second step`,password:`Password`,passwordDescription:`Sign in with the email address and a password.`,emailedSignInCode:`Emailed sign-in code`,emailedSignInCodeDescription:`Sign in with a one-time code mailed to the account's address.`,passkeysPolicyDescription:`Sign in with Face ID, Touch ID, Windows Hello, a phone or a security key. Required: everyone adds one after signing in.`,twoFactorPolicyDescription:`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.`,staffAccess:`Staff sign-in as a person`,staffAccessDescription:`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.`,emailThePerson:`Email the person`,platformSignIn:`Sign-in through the platform`,platformSignInDescription:`The sign-in provider the platform that runs this app adds, for people who have an account here already. It never creates accounts.`,platformSignInWith:e=>`Sign in with ${e} through the platform`,codeNeedsMail:`Needs mail settings (PROTOBASE_SMTP_URL and PROTOBASE_MAIL_FROM): off until they are set.`,passwordStaysOn:`Without mail settings, password sign-in stays on so nobody is locked out.`,staffNeedsMail:`Needs mail settings (PROTOBASE_SMTP_URL and PROTOBASE_MAIL_FROM): staff cannot sign in until they are set.`,platformOff:`Off while passkeys or two-factor authentication are required: it skips the second step.`,appliesAs:e=>`Applies as ${e} for now.`,lastSaved:e=>`Last saved on ${e}.`,lastSavedBy:(e,t)=>`Last saved by ${e} on ${t}.`,neverChanged:`Never changed: everything is on, nothing is required.`,reset:`Reset`,couldNotReadStaffSignIns:`Could not read the staff sign-ins`,couldNotReadPolicy:`Could not read the sign-in policy`,policySaved:`Saved. It applies to every sign-in from now on.`,policySubtitle:`How people sign in to this app. Signed-in people keep their session, and are asked for what is newly required within 15 minutes.`},nl:{signInSecurity:`Inloggen en beveiliging`,signInPolicy:`Inlogbeleid`,couldNotReadMethods:`Kon je inlogmethoden niet lezen`,theProvider:`de provider`,loading:`Laden`,backupCodes:`Back-upcodes`,copied:`Gekopieerd`,copy:`Kopiëren`,download:`Downloaden`,cancel:`Annuleren`,save:`Bewaren`,name:`Naam`,yourPassword:`Je wachtwoord`,continue:`Doorgaan`,on:`Aan`,off:`Uit`,optional:`Optioneel`,required:`Verplicht`,passkeys:`Passkeys`,passkey:`Passkey`,passkeysAllowed:`Log in met Face ID, Touch ID, Windows Hello, je telefoon of een beveiligingssleutel in plaats van een wachtwoord.`,passkeysRequired:`Deze app vraagt een passkey voor elk account. Log in met Face ID, Touch ID, Windows Hello, je telefoon of een beveiligingssleutel.`,passkeysForbidden:`Je beheerder heeft passkeys uitgezet voor deze app, dus je kunt er niet mee inloggen.`,addedOn:e=>`Toegevoegd ${e}`,addedEarlier:`Eerder toegevoegd`,synced:`Gesynchroniseerd op je apparaten`,oneDevice:`Op één apparaat`,rename:`Naam wijzigen`,remove:`Verwijderen`,keepLastPasskey:`Passkeys zijn verplicht: voeg er nog een toe voordat je deze verwijdert.`,addPasskey:`Passkey toevoegen`,renamePasskey:`Naam van passkey wijzigen`,renamePasskeyDescription:`Een naam die zegt waar deze passkey staat, zoals het apparaat of de wachtwoordbeheerder.`,removePasskey:`Passkey verwijderen?`,removePasskeyDescription:e=>`Met ${e} log je hier niet meer in. Die blijft op het apparaat tot je die daar verwijdert.`,thisPasskey:`deze passkey`,connectedAccounts:`Gekoppelde accounts`,connectedAccountsDescription:`Log hiermee in in plaats van met je wachtwoord. Koppelen vraagt je daar in te loggen; het adres daar kan anders zijn dan hier.`,connected:`Gekoppeld`,connect:e=>`${e} koppelen`,stopped:e=>`Gestopt ${e}`,ended:e=>`Afgelopen ${e}`,signedInUntil:e=>`Ingelogd tot ${e}`,staffSignIns:`Inlogs van medewerkers`,staffSignInsDescription:e=>`Elke keer dat een medewerker van ${e} hier als iemand anders inlogde, nieuwste eerst.`,noStaffSignIns:`Nog geen medewerker heeft als iemand anders ingelogd.`,as:`als`,qrCode:`QR-code voor je authenticator-app`,twoFactor:`Tweestapsverificatie`,twoFactorAllowed:`Vraag een tweede stap na je wachtwoord of een gemailde inlogcode: een code uit een authenticator-app, of een die je gemaild krijgt. Een passkey heeft geen tweede stap nodig.`,twoFactorRequired:`Deze app vraagt tweestapsverificatie voor elk account. Zet het aan om de app te blijven gebruiken.`,twoFactorForbidden:`Je beheerder heeft tweestapsverificatie uitgezet voor deze app.`,twoFactorOnWithApp:`Inloggen met een wachtwoord of een gemailde inlogcode vraagt ook een code uit je authenticator-app. Back-upcodes werken als je de app niet bij de hand hebt.`,twoFactorOnWithAppOrMail:`Inloggen met een wachtwoord of een gemailde inlogcode vraagt ook een code uit je authenticator-app, of een die je gemaild krijgt. Back-upcodes werken als je de app niet bij de hand hebt.`,twoFactorOnWithMail:`Inloggen met een wachtwoord of een gemailde inlogcode vraagt ook een code die je gemaild krijgt.`,turnOn:`Aanzetten`,turnOff:`Uitzetten`,addAuthenticator:`Authenticator-app toevoegen`,newBackupCodes:`Nieuwe back-upcodes`,twoFactorIsRequired:`Deze app vraagt tweestapsverificatie.`,turnOffTitle:`Tweestapsverificatie uitzetten?`,turnOffDescription:`Inloggen vraagt dan alleen je wachtwoord of een gemailde code. Je back-upcodes werken niet meer.`,newCodesTitle:`Nieuwe back-upcodes maken?`,newCodesDescription:`Je huidige back-upcodes werken niet meer, en je krijgt tien nieuwe.`,makeNewCodes:`Nieuwe codes maken`,yourNewCodes:`Je nieuwe back-upcodes`,keepCodesSafe:`Bewaar ze op een veilige plek: met elke code log je één keer in als je je telefoon kwijt bent. Ze worden niet opnieuw getoond.`,savedCodes:`Ik heb mijn back-upcodes bewaard`,authenticatorApp:`Authenticator-app`,authenticatorAppDescription:`Een code uit een app zoals Google Authenticator, Microsoft Authenticator of 1Password. Met back-upcodes.`,emailedCode:`Gemailde code`,emailedCodeDescription:`Een code naar je adres, elke keer dat je inlogt met een wachtwoord of een gemailde inlogcode.`,twoFactorIsOn:`Tweestapsverificatie staat aan. Bewaar deze back-upcodes op een veilige plek: met elke code log je één keer in als je je telefoon kwijt bent. Ze worden niet opnieuw getoond.`,scanCode:`Scan deze code met je authenticator-app en vul daarna de code van 6 cijfers in die de app toont.`,cannotScan:`Lukt scannen niet? Vul deze sleutel in de app in:`,codeFromApp:`Code uit de app`,secondStep:`Tweede stap`,password:`Wachtwoord`,passwordDescription:`Inloggen met het e-mailadres en een wachtwoord.`,emailedSignInCode:`Gemailde inlogcode`,emailedSignInCodeDescription:`Inloggen met een eenmalige code naar het adres van het account.`,passkeysPolicyDescription:`Inloggen met Face ID, Touch ID, Windows Hello, een telefoon of een beveiligingssleutel. Verplicht: iedereen voegt er een toe na het inloggen.`,twoFactorPolicyDescription:`Een code uit een authenticator-app, of een gemailde, na een wachtwoord of een gemailde inlogcode. Verplicht: iedereen zet het aan na het inloggen.`,staffAccess:`Medewerker logt in als iemand anders`,staffAccessDescription:`Het team dat deze app beheert, logt in als iemand om die te helpen, met een reden, voor een korte sessie. Elke keer staat in het logboek hieronder; met "De persoon mailen" krijgt die het ook te horen.`,emailThePerson:`De persoon mailen`,platformSignIn:`Inloggen via het platform`,platformSignInDescription:`De inlogprovider die het platform van deze app toevoegt, voor mensen die hier al een account hebben. Die maakt nooit accounts.`,platformSignInWith:e=>`Inloggen met ${e} via het platform`,codeNeedsMail:`Vraagt mailinstellingen (PROTOBASE_SMTP_URL en PROTOBASE_MAIL_FROM): uit tot die zijn ingesteld.`,passwordStaysOn:`Zonder mailinstellingen blijft inloggen met een wachtwoord aan, zodat niemand wordt buitengesloten.`,staffNeedsMail:`Vraagt mailinstellingen (PROTOBASE_SMTP_URL en PROTOBASE_MAIL_FROM): medewerkers kunnen niet inloggen tot die zijn ingesteld.`,platformOff:`Uit zolang passkeys of tweestapsverificatie verplicht zijn: het slaat de tweede stap over.`,appliesAs:e=>`Geldt voorlopig als ${e}.`,lastSaved:e=>`Laatst bewaard op ${e}.`,lastSavedBy:(e,t)=>`Laatst bewaard door ${e} op ${t}.`,neverChanged:`Nooit gewijzigd: alles staat aan, niets is verplicht.`,reset:`Terugzetten`,couldNotReadStaffSignIns:`Kon de inlogs van medewerkers niet lezen`,couldNotReadPolicy:`Kon het inlogbeleid niet lezen`,policySaved:`Bewaard. Het geldt vanaf nu voor elke inlog.`,policySubtitle:`Hoe mensen inloggen bij deze app. Wie is ingelogd, houdt de sessie en krijgt binnen 15 minuten de vraag naar wat nieuw verplicht is.`}}),is=t(i()),as=`/-/account`,os=`/-/sign-in-policy`,ss=(e,t,n)=>[{id:`account-security`,label:L(`signInSecurity`),icon:wa,href:`${e}${as}`,active:t===as},...n?[{id:`sign-in-policy`,label:L(`signInPolicy`),icon:So,href:`${e}${os}`,active:t===os}]:[]],cs=[`always`,`editing`,`reading`],ls=e=>e!==void 0&&!cs.includes(e),us=(e,t)=>t?.[e]??e,ds={list:`list`,filter:`filter`,orderBy:`order_by`,display:`display`,filterLayout:`layout`,map:`map`,calendar:`calendar`,timeline:`timeline`,savedSearch:`saved_search`,create:`new`,edit:`edit`,open:`open`,tab:`tab`},fs=[`list`,`display`,`filter`,`orderBy`,`filterLayout`,`savedSearch`],ps=e=>`${e.latitude.toFixed(5)},${e.longitude.toFixed(5)},${e.zoom.toFixed(2)}`,ms=(e,t,n=-t)=>Number.isFinite(e)&&e>=n&&e<=t,hs=e=>{let t=e?.split(`,`);if(t?.length!==3||t.some(e=>e.trim()===``))return;let[n,r,i]=t.map(Number);return ms(n,90)&&ms(r,180)&&ms(i,22,0)?{latitude:n,longitude:r,zoom:i}:void 0},gs=e=>`${e.scale},${e.day}`,_s=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[n,r,i]=t.slice(1).map(Number),a=new Date(Date.UTC(n,r-1,i));return a.getUTCFullYear()===n&&a.getUTCMonth()===r-1&&a.getUTCDate()===i},vs=(e,t)=>{let n=e?.split(`,`);if(n?.length!==2)return;let[r,i]=n;return t.includes(r)&&_s(i)?{scale:r,day:i}:void 0},ys=e=>{let t=new URLSearchParams;for(let n of fs){let r=e[n];r===void 0||r===``&&n!==`filter`||t.set(ds[n],r)}e.map&&t.set(ds.map,ps(e.map)),e.calendar&&t.set(ds.calendar,gs(e.calendar)),e.timeline&&t.set(ds.timeline,gs(e.timeline));let n=t.toString();return n?`?${n}`:``},bs=e=>{let t=new URLSearchParams;e.edit&&t.set(ds.edit,`true`);for(let n of e.open??[])t.append(ds.open,n);e.tab&&t.set(ds.tab,e.tab);let n=t.toString();return n?`?${n}`:``},xs=(e,t=``)=>{switch(e.kind){case`page`:return`${t}/${encodeURIComponent(e.page)}`;case`create`:return`${t}/${encodeURIComponent(e.resource)}/${ds.create}${Cs(e.values)}`;case`record`:return`${t}/${encodeURIComponent(e.resource)}/${encodeURIComponent(Dr(e.key))}${bs(e)}`;case`list`:return`${t}/${encodeURIComponent(e.resource)}${ys(e)}`}},Ss=e=>{try{return e.split(`/`).filter(Boolean).map(decodeURIComponent)}catch(e){if(e instanceof URIError)return;throw e}},Cs=(e={})=>{let t=new URLSearchParams(Object.entries(e).filter(([,e])=>e!==``)).toString();return t?`?${t}`:``},ws=e=>e===`bar`||e===`panel`?e:void 0,Ts=(e,t)=>{let n=new URL(e,`http://app`),r=Ss(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===ds.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){let e=[...new Set(n.searchParams.getAll(ds.open).filter(e=>e!==``))],t=n.searchParams.get(ds.tab)||void 0;return{kind:`record`,resource:i,key:a,...n.searchParams.get(ds.edit)===`true`&&{edit:!0},...e.length>0&&{open:e},...t&&{tab:t}}}let o=n.searchParams,s=o.get(ds.list)||void 0,c=o.get(ds.display)||void 0,l=o.get(ds.filter)??void 0,u=o.get(ds.orderBy)||void 0,d=ws(o.get(ds.filterLayout)),f=hs(o.get(ds.map)),p=vs(o.get(ds.calendar),[`month`,`week`]),m=vs(o.get(ds.timeline),[`week`,`month`,`quarter`]),h=o.get(ds.savedSearch)||void 0;return{kind:`list`,resource:i,...s&&{list:s},...c&&{display:c},...l!==void 0&&{filter:l},...u&&{orderBy:u},...d&&{filterLayout:d},...f&&{map:f},...p&&{calendar:p},...m&&{timeline:m},...h&&{savedSearch:h}}},Es=`/-/sign-in`,Ds={step:`step`,next:`next`},Os=[`sign-in`,`forgot-password`,`email-code`,`sign-up`,`sign-up-code`,`sign-up-details`],ks=e=>Os.includes(e),As=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}`},js=({step:e=`sign-in`,next:t}={})=>{let n=new URLSearchParams;e!==`sign-in`&&n.set(Ds.step,e);let r=As(t);r&&r!==`/`&&n.set(Ds.next,r);let i=n.toString();return i?`${Es}?${i}`:Es},Ms=(e,t)=>{if(e!==`/-/sign-in`)return;let n=t.get(Ds.step),r=As(t.get(Ds.next));return{step:ks(n)?n:`sign-in`,...r&&{next:r}}},Ns=e=>typeof e==`string`?e:e&&Hn(e),Ps=e=>{let t=Object.entries(e??{}).map(([e,t])=>`${e}.${t}`);return t.length>0?t:void 0},Fs=e=>({photos:e&&`${e.resource}.${e.field}.${e.image}`,photos_order_by:e?.sort}),Is=(e={})=>({filter:Ns(e.filter)||void 0,order_by:e.orderBy,page_size:e.pageSize,page_token:e.pageToken||void 0,fields:e.fields?.join(`,`),labels:Ps(e.labels)?.join(`,`),...Fs(e.photos),count:e.count}),Ls=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(`//`),zs=e=>{if(typeof e!=`object`||!e)return!1;let{uri:t,url:n}=e;return typeof t==`string`&&typeof n==`string`&&Rs(n)},Bs=e=>e!==void 0&&URL.canParse(e)?new URL(e).origin:void 0,Vs=(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]))}}),Hs=(e,t)=>t===void 0||typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[e,zs(n)?Vs(n,t):n])),Us=(e,t)=>t===void 0?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[e,n.map(e=>zs(e)?Vs(e,t):e)])),Ws=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 blockedBy(){return this.problem.blockedBy}get errors(){return this.problem.errors??[]}get filterErrors(){return this.slug===`invalid-filter`?this.errors:[]}},Gs=class extends Ws{constructor(e){super(e),this.name=`PreconditionFailedError`}},Ks=e=>e instanceof Ws,qs=e=>typeof e==`object`&&!!e&&`type`in e&&`status`in e,Js=async e=>{let t=e.headers.get(`content-type`)?.includes(`json`)??!1?await e.json():void 0,n=qs(t)?t:{type:`urn:protobase:problem:unknown`,title:e.statusText||`Request failed`,status:e.status};return n.status===412?new Gs(n):new Ws(n)},Ys=(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 Js(h);return h}},Xs=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()]})),Zs=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:Xs(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)}),Qs=e=>Math.min(3e4,1e3*2**e),$s=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})}),ec=(e,t,n=Qs)=>{let r=new AbortController,{signal:i}=r,a,o=0,s=e=>{o=0,a=e.cursor,e.type===`resync`&&t.onResync(),e.type===`changes`&&t.onChanges(e.changes)},c=async()=>{let t=await e({method:`GET`,path:`/live`,query:Ls({after:a}),headers:{accept:`text/event-stream`},system:!0,signal:i});if(!t.body)throw Error(`The server answered the live stream without a body`);await Vr(t.body,e=>s(JSON.parse(e)),i)};return(async()=>{for(;!i.aborted;){let e=await c().then(()=>void 0,e=>e);if(i.aborted)return;t.onRetry?.(e),await $s(n(o++),i)}})(),()=>r.abort()},tc=e=>typeof e==`string`?e:e.toModel().name,nc=(e,t)=>`/${tc(e)}/${Dr(t)}`,rc=(e,t,n)=>({items:e.items.map(e=>Hs(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:Us(e.photos,n)},...t.headers.get(`x-protobase-warning`)&&{warning:t.headers.get(`x-protobase-warning`)}}),ic=({created_at:e,...t})=>({...t,createdAt:e}),ac=e=>e.headers.get(`etag`)??``,oc=async(e,t)=>{let{permissions:n,...r}=await e.json();return{record:Hs(r,t),etag:ac(e),...n&&{permissions:n}}},sc=(e,t)=>({results:(e.results??[]).map(e=>e.op===`create`||e.op===`update`?{...e,record:Hs(e.record,t)}:e.op===`reorder`?{...e,records:e.records.map(e=>({...e,record:Hs(e.record,t)}))}:e)}),cc=(e={})=>{let t=Ys(e),n=Bs(e.baseUrl),r=async(e,r)=>{let i=await t({method:`GET`,path:`/${tc(e)}`,query:Ls(Is(r))});return rc(await i.json(),i,n)},i=async(e,r)=>{let i=Is(r),a=await t({method:`POST`,path:`/${tc(e)}:search`,body:{...i,fields:r?.fields,labels:Ps(r?.labels)}});return rc(await a.json(),a,n)},a=async(e,r)=>oc(await t({method:`GET`,path:nc(e,r)}),n),o=async(e,r)=>{let i=await t({method:`POST`,path:`/${tc(e)}`,body:r});return{record:Hs(await i.json(),n),etag:ac(i),location:i.headers.get(`location`)??``}},s=async(e,r,i,a)=>oc(await t({method:`PATCH`,path:nc(e,r),body:i,headers:{"if-match":a}}),n),c=async(e,n,{etag:r}={})=>{await t({method:`DELETE`,path:nc(e,n),headers:r?{"if-match":r}:void 0})},l=async(e,r)=>{let i=await t({method:`POST`,path:`${nc(e,r)}:undelete`});return{record:Hs(await i.json(),n),etag:ac(i)}},u=async(e,n,r)=>(await(await t({method:`POST`,path:`${nc(e,n)}:reveal`,body:{field:r}})).json()).value,d=async(e,r,i)=>oc(await t({method:`POST`,path:`${nc(e,r)}:generate`,body:{action:i}}),n),f=async(e,n,{pageSize:r,pageToken:i}={})=>{let a=Ls({page_size:r,page_token:i||void 0}),o=await(await t({method:`GET`,path:`${nc(e,n)}:history`,query:a})).json();return{items:o.items.map(({database_role:e,...t})=>({...t,databaseRole:e})),nextPageToken:o.next_page_token}},p=async(e,n,{pageSize:r,pageToken:i}={})=>{let a=Ls({page_size:r,page_token:i||void 0}),o=await(await t({method:`GET`,path:`${nc(e,n)}:comments`,query:a})).json();return{items:o.items.map(ic),nextPageToken:o.next_page_token}},m=async(e,n,{body:r,mentions:i=[]})=>ic(await(await t({method:`POST`,path:`${nc(e,n)}:comments`,body:{body:r,mentions:i}})).json()),h=async(e,n,r)=>(await(await t({method:`GET`,path:`${nc(e,n)}:mentionable`,query:Ls({q:r})})).json()).items,g=async e=>{let r=e=>typeof e==`object`&&e&&`$ref`in e?e:Dr(e),i=e.map(e=>({...e,resource:tc(e.resource),...`key`in e&&{key:r(e.key)},...e.op===`reorder`&&{keys:e.keys.map(r)}}));return sc(await(await t({method:`POST`,path:`:batchWrite`,body:{ops:i}})).json(),n)},_=async(e,n,r={})=>(await(await t({method:`GET`,path:`/${tc(e)}:facets`,query:Ls({field:n,filter:Ns(r.filter)||void 0,limit:r.limit,label:r.label})})).json()).facets,v=async(e,n)=>{let r=await(await t({method:`GET`,path:`/${tc(e)}:aggregate`,query:Ls({group_by:n.groupBy,filter:Ns(n.filter)||void 0,sum:n.sum,average:n.average,limit:n.limit,label:n.label,granularity:n.granularity,range:n.range,from:n.from,to:n.to,time_zone:n.timeZone,split_by:n.splitBy,split_limit:n.splitLimit,split_label:n.splitLabel})})).json();return{groupBy:r.group_by,granularity:r.granularity,timeZone:r.time_zone,groups:r.groups,...r.split_by!==void 0&&{splitBy:r.split_by,splits:r.splits}}},y=async(e,n)=>{let r=await(await t({method:`GET`,path:`/${tc(e)}:series`,query:Ls({field:n.field,range:n.range,from:n.from,to:n.to,granularity:n.granularity,time_zone:n.timeZone,filter:Ns(n.filter)||void 0})})).json();return{field:r.field,granularity:r.granularity,timeZone:r.time_zone,points:r.points}},b=async(e,n,r={})=>(await t({method:`GET`,path:`/${tc(e)}:histogram`,query:Ls({field:n,buckets:r.buckets,filter:Ns(r.filter)||void 0})})).json(),x=async(e,r)=>{let i=await(await t({method:`GET`,path:`/${tc(e)}:map`,query:Ls({latitude:r.latitude,longitude:r.longitude,zoom:r.zoom,filter:Ns(r.filter)||void 0,order_by:r.orderBy,fields:r.fields?.join(`,`),labels:Ps(r.labels)?.join(`,`),...Fs(r.photos)})})).json();return{items:i.items.map(e=>Hs(e,n)),buckets:i.buckets,totalSize:i.total_size,...i.labels!==void 0&&{labels:i.labels},...i.photos!==void 0&&{photos:Us(i.photos,n)}}},S=async(e,r)=>{let i=await t({method:`GET`,path:`/${tc(e)}:seek`,query:Ls({...Is(r),position:r.position})});return rc(await i.json(),i,n)},C=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:ac(r)}},w=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()},T=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`?Zs(i):void 0,c=await(await t({method:`POST`,path:`/${tc(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},E=e=>`/forms/${encodeURIComponent(e)}`;return{list:r,search:i,get:a,create:o,update:s,remove:c,undelete:l,generate:d,reveal:u,history:f,comments:p,comment:m,mentionable:h,batchWrite:g,facets:_,aggregate:v,series:y,histogram:b,map:x,seek:S,meta:C,invoke:w,upload:T,form:async e=>(await t({method:`GET`,path:E(e),system:!0})).json(),formChallenge:async e=>(await t({method:`GET`,path:`${E(e)}:challenge`,system:!0})).json(),submitForm:async(e,n,r)=>{await t({method:`POST`,path:E(e),body:{values:n,proof:r},system:!0})},live:e=>ec(t,e)}},lc=e=>typeof e==`string`?e:e.toModel().name,uc=(e,t)=>{let n=n=>t(lc(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),generate:(e,t,r)=>n(e).generate(e,t,r),reveal:(e,t,r)=>n(e).reveal(e,t,r),history:(e,t,r)=>n(e).history(e,t,r),comments:(e,t,r)=>n(e).comments(e,t,r),comment:(e,t,r)=>n(e).comment(e,t,r),mentionable:(e,t,r)=>n(e).mentionable(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=>lc(e.resource)))].join(`, `)}, which different APIs serve`)):(r[0]??e).batchWrite(t)},facets:(e,t,r)=>n(e).facets(e,t,r),aggregate:(e,t)=>n(e).aggregate(e,t),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),form:t=>e.form(t),formChallenge:t=>e.formChallenge(t),submitForm:(t,n,r)=>e.submitForm(t,n,r),live:t=>e.live(t)}},dc=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.type==`string`&&Array.isArray(e.children),fc=e=>typeof e==`object`&&!!e&&e.kind===`member`,pc=e=>fc(e)?[e.path.join(`.`)]:typeof e!=`object`||!e?[]:Object.values(e).flatMap(pc),mc=e=>fc(e)?{...e,path:[e.path.join(`.`)]}:Array.isArray(e)?e.map(mc):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,mc(t)])),hc=e=>{let t=ze(e);return t.ok?t.ast?{ok:!0,ast:t.ast,paths:[...new Set(pc(t.ast))]}:{ok:!1,message:`the condition is empty`}:{ok:!1,message:t.errors.map(e=>e.message).join(`; `)}},gc=(e,t)=>e.ast!==void 0&&Kt(mc(e.ast),t),_c=(e,t)=>{let[n,r,...i]=e.split(`.`);return n&&r===`count`&&i.length===0&&!t(n)?n:void 0},vc=(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}},yc=(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]}))}),bc=(e,t)=>{if(e.kind===`group`){let n=e.items.flatMap(e=>bc(e,t));return n.length>0?[{...e,items:n}]:[]}if(e.kind===`tab`){let n=e.items.flatMap(e=>bc(e,t));return n.length>0?[{...e,items:n}]:[]}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=>vc(t,e.resource,n).ok);return[i&&i.length>0?{...r,columns:i}:r]},xc=(e,t,n)=>e.run?.kind!==`link`||!(`to`in e.run)||Eee(e.run.to,{models:n,pages:new Set,source:t}).length===0,Sc=(e,t)=>({...e,layout:e.layout.flatMap(e=>bc(e,t)),actions:e.actions.filter(n=>xc(n,t[e.resource],t))}),Cc=(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=>yc(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=>Sc(e,a)),permissions:Object.fromEntries(n.flatMap(t=>e.permissions?.[t.name]?[[t.name,e.permissions[t.name]]]:[]))}},wc=class extends Error{status;code;constructor(e,t,n){super(e),this.status=t,this.code=n,this.name=`AuthError`}},Tc=(e,t)=>new wc(e?.message||t,e?.status??500,e?.code),Ec=e=>({signInMethods:async()=>{let{data:t,error:n}=await e.$fetch(`/account/sign-in-methods`);if(n||!t)throw Tc(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 Tc(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 Tc(n,`Could not add the passkey`)},renamePasskey:async(t,n)=>{let{error:r}=await e.passkey.updatePasskey({id:t,name:n});if(r)throw Tc(r,`Could not rename the passkey`)},removePasskey:async t=>{let{error:n}=await e.passkey.deletePasskey({id:t});if(n)throw Tc(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 Tc(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 Tc(n,`The code did not work`)},turnOnEmailedCodes:async t=>{let{error:n}=await e.twoFactor.enable({method:`otp`,...t&&{password:t}});if(n)throw Tc(n,`Could not turn on two-factor authentication`)},turnOffTwoFactor:async t=>{let{error:n}=await e.twoFactor.disable(t?{password:t}:{});if(n)throw Tc(n,`Could not turn off two-factor authentication`)},linkedProviders:async()=>{let{data:t,error:n}=await e.listAccounts();if(n||!t)throw Tc(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 Tc(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 Tc(r,`Could not make new backup codes`);return n.backupCodes}});function Dc(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]))}var Oc=Dc({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`}),kc=`1.7.7`;function Ac(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 jc(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 Mc(){return Nc.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Nc={stubThis:e=>e};function Pc(e){let{id:t}=e;return{...e,id:jc(t),transports:e.transports}}function Fc(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 Ic=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 Lc({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 Ic({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 Ic({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 Ic({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 Ic({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 Ic({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Ic({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 Ic({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Ic({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(!Fc(t))return new Ic({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Ic({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 Ic({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 Ic({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 Rc=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}}},zc=[`cross-platform`,`platform`];function Bc(e){if(e&&!(zc.indexOf(e)<0))return e}async function Vc(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(!Mc())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:jc(t.challenge),user:{...t.user,id:jc(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Pc)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Rc.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Lc({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){Hc(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Ac(e))}catch(e){Hc(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Ac(c.getAuthenticatorData())}catch(e){Hc(`getAuthenticatorData()`,e)}return{id:o,rawId:Ac(s),response:{attestationObject:Ac(c.attestationObject),clientDataJSON:Ac(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Bc(a.authenticatorAttachment)}}function Hc(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 Uc(){if(!Mc())return Wc.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Wc.stubThis(new Promise(e=>e(!1))):Wc.stubThis(e.isConditionalMediationAvailable())}var Wc={stubThis:e=>e};function Gc({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 Ic({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Ic({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Fc(t))return new Ic({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Ic({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 Ic({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 Kc(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(!Mc())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Pc));let a={...t,challenge:jc(t.challenge),allowCredentials:i},o={};if(n){if(!await Uc())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=Rc.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Gc({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=Ac(u.userHandle)),{id:c,rawId:Ac(l),response:{authenticatorData:Ac(u.authenticatorData),clientDataJSON:Ac(u.clientDataJSON),signature:Ac(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Bc(s.authenticatorAttachment)}}var qc=`1.7.7`,Jc=Symbol.for(`better-auth:broadcast-channel`),Yc=()=>Math.floor(Date.now()/1e3),Xc=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:Yc()}))}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 Zc(e=`better-auth.message`){return globalThis[Jc]||(globalThis[Jc]=new Xc(e)),globalThis[Jc]}var Qc=[],$c=0,el=null,tl=4,nl=globalThis.nanostoresGlobal||={epoch:0},rl=()=>{let e,t;for(;$c<Qc.length;){t=$c,$c+=tl;let n=el?.get(Qc[t]);if(n){if(!n.has(Qc[t+1]))continue;n.clear()}try{Qc[t](Qc[t+1].value,Qc[t+2],Qc[t+3])}catch(t){e=t}}if(Qc.length=$c=0,e)throw e},il=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),()=>{el?.get(e)?.delete(n);for(let t=$c;t<Qc.length;)Qc[t]===e&&Qc[t+1]===n?Qc.splice(t,tl):t+=tl;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){nl.epoch++;let i=!Qc.length&&!0;for(let i of t)Qc.push(i,n,e,r);i&&rl()},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},al=2,ol=5,sl=6,cl=10,ll=(e,t,n,r)=>(e.events=e.events||{},e.events[n+cl]||(e.events[n+cl]=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+cl](),delete e.events[n+cl]))}),ul=(e,t)=>ll(e,t,al,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}}),dl=1e3,fl=(e,t)=>ll(e,n=>{let r=t(n);r&&e.events[sl].push(r)},ol,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[sl]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[sl])t();e.events[sl]=[]}},dl)},()=>{e.listen=n,e.off=r}});function pl(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ml(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(!ml(e[n],t[n]))return!1;return!0}if(pl(e)&&pl(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)||!ml(e[r],t[r]))return!1;return!0}return!1}function hl(e,t){return ul(e,({newValue:n,abort:r})=>{t(e.value,n)&&r()})}var gl=Symbol.for(`better-auth:focus-manager`),_l=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 vl(){return globalThis[gl]||(globalThis[gl]=new _l),globalThis[gl]}var yl=Symbol.for(`better-auth:online-manager`),bl=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 xl(){return globalThis[yl]||(globalThis[yl]=new bl),globalThis[yl]}var Sl={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*:/},Cl=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,wl={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},Tl=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function El(e){return e instanceof Date&&!isNaN(e.getTime())}function Dl(e){let t=Tl.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 El(f)?f:null}function Yee(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 wl)return wl[s];if(!Cl.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(Sl).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=Dl(t);if(e)return e}return i?i(e,t):t})}catch(t){if(n)throw t;return e}}function Xee(e,t={strict:!0}){return Yee(e,t)}var Zee=Symbol.for(`better-auth:auth-query`);function Ol(e){let t=il(e);return Object.defineProperty(t,Zee,{value:!0}),t}var Qee=()=>typeof window>`u`;function $ee(e,t){return ml(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}var ete=(e,t,n,r)=>{let i=Ol({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>o(e)});fl(i,()=>hl(i,$ee));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&&ml(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 fl(i,()=>{if(Qee())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},kl=()=>Math.floor(Date.now()/1e3),tte=5;function nte(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||xl().isOnline,u=e=>{if(l()){if(e?.event===`storage`){t();return}if(e?.event===`poll`){c.lastSessionRequest=kl(),t();return}if(e?.event===`visibilitychange`){if(kl()-c.lastSessionRequest<tte)return;c.lastSessionRequest=kl(),t();return}t()}},d=e=>{Zc().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=Zc().subscribe(()=>{u({event:`storage`})})},m=()=>{o&&(c.unsubscribeFocus=vl().subscribe(()=>{u({event:`visibilitychange`})}))},h=()=>{c.unsubscribeOnline=xl().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=Zc().setup(),c.cleanupFocusSetup=vl().setup(),c.cleanupOnlineSetup=xl().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 Al=Object.create(null),jl=e=>({}),Ml=new Proxy(Al,{get(e,t){return jl()[t]??Al[t]},has(e,t){return t in jl()||t in Al},set(e,t,n){let r=jl(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=jl(!0);return delete n[t],!0},ownKeys(){let e=jl(!0);return Object.keys(e)}});Ml.NODE_ENV;function Nl(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 Nl(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return Nl(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return Nl(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return Nl(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return Nl(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return Nl(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return Nl(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}});function rte(){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 ite(e){let t=e.split(`
5
5
  at `);return t.length<=1?e:(t.splice(1,1),t.join(`
6
6
  at `))}function ate(e,t){class n extends e{#e;constructor(...e){if(rte()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=ite(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 ote={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};ate(class extends Error{status;body;headers;statusCode;constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:ote[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 Pl=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},ste=47;function Fl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===ste;)t--;return t===e.length?e:e.slice(0,t)}function cte(e){try{return(Fl(new URL(e).pathname)||`/`)!==`/`}catch{throw new Pl(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}function lte(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new Pl(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){throw t instanceof Pl?t:new Pl(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}}function Il(e,t=`/api/auth`){if(lte(e),cte(e))return e;let n=Fl(e);return!t||t===`/`?n:(t=t.startsWith(`/`)?t:`/${t}`,`${n}${t}`)}function Ll(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 ute(e,t,n,r,i){if(e)return Il(e,t);if(r!==!1){let e=Ml.BETTER_AUTH_URL||Ml.NEXT_PUBLIC_BETTER_AUTH_URL||Ml.PUBLIC_BETTER_AUTH_URL||Ml.NUXT_PUBLIC_BETTER_AUTH_URL||Ml.NUXT_PUBLIC_AUTH_URL||(Ml.BASE_URL===`/`?void 0:Ml.BASE_URL);if(e)return Il(e,t)}let a=n?.headers.get(`x-forwarded-host`),o=n?.headers.get(`x-forwarded-proto`);if(a&&o&&i&&Ll(o,`proto`)&&Ll(a,`host`))try{return Il(`${o}://${a}`,t)}catch{}if(n){let e=dte(n.url);if(!e)throw new Pl(`Could not get origin from request. Please provide a valid base URL.`);return Il(e,t)}if(typeof window<`u`&&window.location)return Il(window.location.origin,t)}function dte(e){try{let t=new URL(e);return t.origin===`null`?null:t.origin}catch{return null}}var fte=[`javascript:`,`data:`,`vbscript:`];function Rl(e){let t;try{t=new URL(e)}catch{return!0}return!fte.includes(t.protocol)}var pte={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&Rl(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},mte=()=>typeof window>`u`,hte=dl;function gte(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 zl(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}function _te(e){return!e||e.session===null&&e.user===null?null:e}function vte(e,t){return ml(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function yte(e,t){let n=il(!1),r,i=0,a=0;n.listen(()=>{a++,i=0});let o=e=>u(e),s=Ol({data:null,error:null,isPending:!0,isRefetching:!1,refetch:o});hl(s,vte);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}=zl(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}=zl(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=_te(i),u=s.value,d=u.data!=null&&l!=null&&ml(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()+hte,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 fl(s,()=>{let e;mte()||(e=setTimeout(()=>{d()},0));let r=nte({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 Bl(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 Vl(e,t,n=`.`,r){if(!Bl(t))return Vl(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]]:Bl(a)&&Bl(i[t])?Vl(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function bte(e){return(...t)=>t.reduce((t,n)=>Vl(t,n,``,e),{})}var xte=bte(),Ste=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)}},Cte=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}},Hl=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}},wte=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 Tte(e){if(typeof e==`number`)return new Hl({type:`linear`,attempts:e,delay:1e3});switch(e.type){case`linear`:return new Hl(e);case`exponential`:return new wte(e);default:throw Error(`Invalid retry strategy`)}}var Ete=[`get`,`post`,`put`,`patch`,`delete`];function Ul(e){if(!e.startsWith(`@`))return{method:void 0,path:e};let t=e.indexOf(`/`),n=e.slice(1,t===-1?void 0:t);return Ete.includes(n)?{method:n,path:t===-1?e:e.slice(t+1)}:{method:void 0,path:e}}var Dte=e=>e===`.`||e===`..`,Ote=e=>e.split(`:`).map(e=>encodeURIComponent(e)).join(`:`);function kte(e,t){let n=t.get(e);if(n===void 0)return Ote(e);if(Dte(n))throw TypeError(`Path parameters cannot be reserved path segments`);return encodeURIComponent(n)}function Ate(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}=Ul(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=>kte(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 jte=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},Mte=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Nte(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 Mte.test(r)?`json`:n.has(r)||r.startsWith(`text/`)?`text`:`blob`}function Pte(e){try{return JSON.parse(e),!0}catch{return!1}}function Wl(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 Gl(e){try{return JSON.parse(e)}catch{return e}}function Kl(e){return typeof e==`function`}function Fte(e){if(e?.customFetchImpl)return e.customFetchImpl;if(typeof globalThis<`u`&&Kl(globalThis.fetch))return globalThis.fetch;if(typeof window<`u`&&Kl(window.fetch))return window.fetch;throw Error(`No fetch implementation found`)}function ql(...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 Ite(e){let t=new Headers(ql(e?.headers,await jte(e)));if(!t.has(`content-type`)){let n=Lte(e?.body);n&&t.set(`content-type`,n)}return t}function Lte(e){return Wl(e)?`application/json`:null}function Rte(e){let t=e.get(`content-type`);return t?t.split(`;`)[0].trim().toLowerCase():null}function zte(e,t){let{body:n}=e;return n?!Wl(n)||typeof n==`string`?n:Rte(t)===`application/x-www-form-urlencoded`?new URLSearchParams(n).toString():JSON.stringify(n):null}function Bte(e,t){if(t?.method)return t.method.toUpperCase();let{method:n}=Ul(e);return n?n.toUpperCase():t?.body?`POST`:`GET`}function Vte(e,t){let n;return!e?.signal&&e?.timeout&&(n=setTimeout(()=>t?.abort(),e?.timeout)),{abortTimeout:n,clearTimeout:()=>{n&&clearTimeout(n)}}}var Hte=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function Jl(e,t){let n=await e[`~standard`].validate(t);if(n.issues)throw new Hte(n.issues);return n.value}function Yl(e){"@babel/helpers - typeof";return Yl=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},Yl(e)}function Ute(e,t){if(Yl(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Yl(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Wte(e){var t=Ute(e,`string`);return Yl(t)==`symbol`?t:t+``}function Gte(e,t,n){return(t=Wte(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xl(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 Zl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Xl(Object(n),!0).forEach(function(t){Gte(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ql=async(e,t)=>{var n;let{hooks:r,url:i,options:a}=await Cte(e,t),o=Fte(a),s=new AbortController,c=a.signal??s.signal,l=Ate(i,a),u=await Ite(a),d=zte(a,u),f=Bte(i,a),p=Zl(Zl({},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}=Vte(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(Zl(Zl({},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=Nte(h),n={data:null,response:h,request:p};if(e===`json`||e===`text`){let e=await h.text();n.data=await(p.jsonParser??Gl)(e)}else n.data=await h[e]();p?.output&&p.output&&!p.disableValidation&&(n.data=await Jl(p.output,n.data));for(let e of r.onSuccess)if(e){var v;await e(Zl(Zl({},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??Gl,b=await h.text(),x=Pte(b),S=x?await y(b):null,C={response:h,responseText:b,request:p,error:Zl(Zl({},S),{},{status:h.status,statusText:h.statusText})};for(let e of r.onError)if(e){var w;await e(Zl(Zl({},C),{},{response:t!=null&&(w=t.hookOptions)!=null&&w.cloneResponse?h.clone():h}))}if(t?.retry){let n=Tte(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 Ql(e,Zl(Zl({},t),{},{retryAttempt:i+1}))}}if(t?.throw)throw new Ste(h.status,h.statusText,x?S:b);return{data:null,error:Zl(Zl({},S),{},{status:h.status,statusText:h.statusText})}},Kte=e=>({id:`apply-schema`,name:`Apply Schema`,version:`1.0.0`,async init(t,n){var r;let i=Zl(Zl({},n),e.query!==void 0&&{query:Zl(Zl({},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}=Ul(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 Jl(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=Zl(Zl(Zl(Zl({},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 Jl(o.query,n?.query),i.query!==null&&typeof i.query==`object`)){let t=Zl({},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=Zl(Zl({},t),i.query)}i=Zl(Zl({},i),{},{body:o.input?await Jl(o.input,n?.body):n?.body,params:o.params?await Jl(o.params,n?.params):n?.params})}return{url:t,options:i}}}return Zl({url:t},(n!==void 0||e.query!==void 0)&&{options:i})}}),qte=e=>{async function t(t,n){let r=Zl(Zl(Zl({},e),n),{},{headers:ql(e?.headers,n?.headers),plugins:[...e?.plugins||[],Kte(e||{}),...n?.plugins||[]]});if(e?.catchAllError)try{return await Ql(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 Ql(t,r)}return t},Jte=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{}}},Yte=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`,Xte=(e,t)=>{let n=`credentials`in Request.prototype,r=ute(e?.baseURL,e?.basePath,void 0,t)??Jte(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=qte({baseURL:r,...n?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?Xee(e,{strict:!1}):null},customFetchImpl:fetch,...u,plugins:[a,...u.plugins||[],...e?.disableDefaultFetchPlugins?[]:[pte],...i]}),{$sessionSignal:f,session:p,broadcastSessionUpdate:m}=yte(d,e),h=!1,g=e=>{h||e===null||(h=!0,gte(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:Yte,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=xte(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 Zte(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function Qte(e){return e.charAt(0).toUpperCase()+e.slice(1)}var $te=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,ene=/['\u2019]/g;function tne(e){return e.replace(ene,``).match($te)??[]}function nne(e){return tne(e).map(e=>e.toLowerCase()).join(`-`)}function rne(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 ine(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`||Zte(i)?i:a(r)},apply:async(e,a,s)=>{let c=`/`+o.map(nne).join(`/`),l=s[0]||{},u=s[1]||{},{query:d,fetchOptions:f,...p}=l,m={...u,...f},h=rne(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 ane(e){let{pluginPathMethods:t,pluginsActions:n,pluginsAtoms:r,hydrateSession:i,$fetch:a,atomListeners:o,$store:s}=Xte(e),c={};for(let[e,t]of Object.entries(r))c[`use${Qte(e)}`]=t;return ine({...n,...c,hydrateSession:i,$fetch:a,$store:s},a,t,r,o)}var one=(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 Kc({optionsJSON:{...a.data,extensions:o},useBrowserAutofill:r?.autoFill})}catch(e){return{data:null,error:{code:e instanceof Ic?e.code:`AUTH_CANCELLED`,message:Oc.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:Oc.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 Vc({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 Ic?e.code===`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`?{data:null,error:{code:e.code,message:Oc.PREVIOUSLY_REGISTERED.message,status:400,statusText:`BAD_REQUEST`}}:e.code===`ERROR_CEREMONY_ABORTED`?{data:null,error:{code:e.code,message:Oc.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:Oc.UNKNOWN_ERROR.message,status:500,statusText:`INTERNAL_SERVER_ERROR`}}}}},$Infer:{}}),sne=()=>{let e=il();return{id:`passkey`,version:kc,$InferServerPlugin:{},getActions:(t,n)=>one(t,{$listPasskeys:e,$store:n}),getAtoms(t){return{listPasskeys:ete(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:Oc}},cne=Dc({OTP_EXPIRED:`OTP expired`,INVALID_OTP:`Invalid OTP`,TOO_MANY_ATTEMPTS:`Too many attempts`}),lne=()=>({id:`email-otp`,version:qc,$InferServerPlugin:{},atomListeners:[{matcher:e=>e===`/email-otp/verify-email`||e===`/sign-in/email-otp`||e===`/email-otp/request-email-change`,signal:`$sessionSignal`}],$ERROR_CODES:cne}),une=e=>{let t=e?.jwks?.jwksPath??`/jwks`;return{id:`better-auth-client`,version:qc,$InferServerPlugin:{},pathMethods:{[t]:`GET`},getActions:(e,n,r)=>({jwks:async n=>await e(t,{method:`GET`,...n})})}},dne=Dc({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`}),fne=e=>({id:`two-factor`,version:qc,$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`&&Rl(e.twoFactorPage)&&(window.location.href=e.twoFactorPage)}}}}],$ERROR_CODES:dne}),pne=(e,t,n)=>ane({baseURL:e,basePath:t,plugins:[une(),lne(),fne(),sne()],fetchOptions:{customFetchImpl:n}}),$l=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?JSON.parse(e):[],eu=e=>{let t=e.split(`,`);return t.includes(`owner`)?`owner`:t.includes(`admin`)?`admin`:`member`},mne=e=>({id:e.id,userId:e.userId,name:e.user.name||e.user.email,email:e.user.email,role:eu(e.role),appRoles:$l(e.appRoles),createdAt:new Date(e.createdAt).toISOString()}),tu=e=>({id:e.id,email:e.email,role:eu(e.role),appRoles:$l(e.appRoles),status:e.status,expiresAt:new Date(e.expiresAt).toISOString(),...e.organizationName&&{organizationName:e.organizationName}}),hne=(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 Tc(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:(e,t=0)=>n(`/organization/search`,`Could not search the organizations`,{query:{query:e,...t>0&&{offset:String(t)}}}),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(mne),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(tu),invite:async(e,t)=>{let r=await n(`/organization/invite-member`,`Could not send the invitation`,{body:{organizationId:e,...t}});return{invitation:tu(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:tu(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(tu),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}}))}},gne=(e,t)=>({current:async()=>{let{data:t,error:n}=await e.$fetch(`/role/current`,{method:`GET`});if(n)throw Tc(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 Tc(r,`Could not switch the role`);await t()}}),_ne=20,vne=e=>Array.isArray(e)?e:(e??``).split(`,`).map(e=>e.trim()).filter(Boolean),nu=e=>({id:e.id,name:e.name||e.email,email:e.email,roles:vne(e.role),blocked:!!e.banned,createdAt:new Date(e.createdAt).toISOString()}),ru=e=>({id:e.id,email:e.email,roles:e.roles,expiresAt:new Date(e.expiresAt).toISOString()}),yne=e=>({invitation:ru(e),...e.link&&{link:e.link}}),bne=e=>{let t=async(t,n,r={})=>{let{data:i,error:a}=await e.$fetch(t,{method:r.body?`POST`:`GET`,...r.body&&{body:r.body},...r.query&&{query:r.query}});if(a)throw Tc(a,n);return i};return{search:async(e,n=0)=>{let r=await t(`/admin/list-users`,`Could not read the users`,{query:{limit:String(_ne),sortBy:`createdAt`,sortDirection:`asc`,...n>0&&{offset:String(n)},...e&&{searchValue:e,searchField:`email`}}});return{users:r.users.map(nu),total:r.total}},create:async e=>nu((await t(`/admin/create-user`,`Could not create the account`,{body:{email:e.email,name:e.name,role:e.roles,...e.password&&{password:e.password}}})).user),setRoles:(e,n)=>t(`/admin/set-role`,`Could not change the roles`,{body:{userId:e,role:n}}),block:e=>t(`/admin/ban-user`,`Could not block the account`,{body:{userId:e}}),unblock:e=>t(`/admin/unban-user`,`Could not unblock the account`,{body:{userId:e}}),invite:async e=>yne(await t(`/users/invite`,`Could not send the invitation`,{body:e})),invitations:async()=>(await t(`/users/invitations`,`Could not read the invitations`)).invitations.map(ru),revoke:e=>t(`/users/invitations/cancel`,`Could not revoke the invitation`,{body:{id:e}}),roles:()=>t(`/users/roles`,`Could not read the roles`)}},xne=(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 Tc(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 Tc(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 Tc(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 Tc(n,`Could not send the code`)},verifySignUpCode:async(t,n)=>{let{data:r,error:i}=await e.$fetch(`/sign-up/verify-code`,{method:`POST`,body:{email:t,code:n}});if(i||!r)throw Tc(i,`Could not check the code`);return r.ticket},signUp:async n=>{let{data:r,error:i}=await e.$fetch(`/sign-up/create`,{method:`POST`,body:n});if(i||!r)throw Tc(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 Tc(r.error,`Sign-in failed`);let{clientExtensionResults:i,...a}=await Kc({optionsJSON:r.data}).catch(e=>{throw new wc(`Auth cancelled`,400,e instanceof Ic?e.code:`AUTH_CANCELLED`)}),o=await e.$fetch(`/passkey/verify-authentication`,{method:`POST`,body:{response:a}});if(o.error||!o.data)throw Tc(o.error,`Sign-in failed`);return await t(),o.data.user},sendTwoFactorCode:async()=>{let{error:t}=await e.twoFactor.sendOtp();if(t)throw Tc(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 Tc(o,`The code did not work`);return await t(),a.user}}},Sne=e=>({read:async()=>{let{data:t,error:n}=await e.$fetch(`/policy/sign-in`);if(n||!t)throw Tc(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 Tc(r,`Could not save the sign-in policy`);return n}}),iu=e=>new Date(e).toISOString(),au=({startedAt:e,expiresAt:t,endedAt:n,...r})=>({...r,startedAt:iu(e),expiresAt:iu(t),...n&&{endedAt:iu(n)}}),Cne=e=>({start:async t=>{let{data:n,error:r}=await e.$fetch(`/staff/sign-in`,{method:`POST`,body:t});if(r||!n?.url)throw Tc(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 Tc(n,`Could not read the session`);return t.staff?au(t.staff):void 0},stop:async()=>{let{error:t}=await e.$fetch(`/staff/stop`,{method:`POST`,body:{}});if(t)throw Tc(t,`Could not end the staff session`)},log:async()=>{let{data:t,error:n}=await e.$fetch(`/staff/sign-ins`);if(n||!t)throw Tc(n,`Could not read the staff sign-ins`);return t.signIns.map(au)}}),ou=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},wne=(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=pne(t,n,i),o=Cne(a),c,l,u,d=()=>{c=void 0,clearTimeout(u)},f=async()=>{let{data:t}=await a.$fetch(`/token`);if(!t?.token){d();return}return c={token:t.token,expiresAt:ou(t.token)},clearTimeout(u),u=setTimeout(()=>void p({refresh:!0}).then(t=>t||e.onSignedOut?.()),Math.max(1e3,c.expiresAt-Date.now()-r)),c.token},p=async({refresh:e=!1}={})=>!e&&c&&c.expiresAt-Date.now()>r?c.token:(l??=f().finally(()=>{l=void 0}),l);return{token:p,status:async()=>{let e=await i(`${t}${n}/status`);if(e.status===404)throw new wc(`This server has no sign-in. Is the API URL right?`,404);if(!e.ok)throw new wc(`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},samlProviders:r.samlProviders??[],...r.staffSignIn&&{staffSignIn:r.staffSignIn},...r.passkeyDomains&&{passkeyDomains:r.passkeyDomains},...r.organizations&&{organizations:r.organizations},...r.anonymous&&{anonymous:!0},...r.plugins&&r.plugins.length>0&&{plugins:r.plugins},...s(r.locale)&&{locale:r.locale}}},session:async()=>{let{data:e}=await a.getSession();return e?.user},...xne(a,()=>p({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 Tc(r,`Sign-in failed`);return n.url},signInSaml:async(e,t)=>{let{data:n,error:r}=await a.$fetch(`/sign-in/sso`,{method:`POST`,body:{providerId:e,callbackURL:t,errorCallbackURL:t}});if(r||!n?.url)throw Tc(r,`Sign-in failed`);return n.url},signOut:async()=>{d(),await a.signOut()},requestPasswordReset:async(e,t)=>{let{error:n}=await a.requestPasswordReset({email:e,redirectTo:t});if(n)throw Tc(n,`Could not send the reset link`)},resetPassword:async(e,t)=>{let{error:n}=await a.resetPassword({token:e,newPassword:t});if(n)throw Tc(n,`Could not set the password`)},account:Ec(a),organizations:hne(a,()=>p({refresh:!0})),roles:gne(a,()=>p({refresh:!0})),signInPolicy:Sne(a),users:bne(a),staff:{...o,stop:async()=>{d(),await o.stop()}}}},Tne=e=>Math.min(3e4,1e3*2**e),Ene=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})}),su=`http://same-origin.invalid`,Dne=(e,t)=>{let n=new URL(e,su),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===su?`${r.pathname}${r.search}`:r.href},One=e=>{let t=e.url.replace(/\/+$/,``),n=e.fetch??((e,t)=>fetch(e,t)),r=e.retryDelayMs??Tne,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 Js(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 Vr(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 Ene(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=Dne(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 Js(c);return c}}},kne=e=>typeof e==`object`&&!!e&&`error`in e&&typeof e.error==`object`&&e.error!==null&&`code`in e.error&&`message`in e.error,Ane=async e=>{let t=e.headers.get(`content-type`)?.includes(`json`)??!1?await e.clone().json():void 0;return kne(t)?new Ws({type:`urn:protobase:problem:${t.error.code}`,title:e.statusText||`Request failed`,status:e.status,detail:t.error.message}):Js(e)},jne=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 Ane(o);return await o.json()};return{status:()=>r(``,`GET`),update:()=>r(`/update`,`POST`)}},cu=e=>(0,I.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches,()=>!1),lu=()=>cu(`(min-width: 768px)`),uu=()=>cu(`not all and (min-width: 640px)`),du=a({en:{navigation:`Navigation`,resources:`Resources`,breadcrumb:`Breadcrumb`,tabs:`Tabs`,more:`More`,openNavigation:`Open navigation`,backTo:e=>`Back to ${e}`,search:`Search`,closeSearch:`Close search`,clearSearch:`Clear search`,globalSearch:`Global search`,searchResults:`Search results`,searching:`Searching`,noMatches:e=>`No matches for “${e}”`,profileMenu:`Profile menu`,organizations:`Organizations`,roles:`Roles`,signIn:`Sign in`,signOut:`Sign out`,theme:`Theme`,light:`Light`,dark:`Dark`,system:`System`,recent:e=>`Recent ${e}`,loading:`Loading...`,couldNotLoad:`Could not load`,viewAll:`View all`,couldNotSearch:e=>`Could not search ${e.toLowerCase()}`},nl:{navigation:`Navigatie`,resources:`Onderdelen`,breadcrumb:`Kruimelpad`,tabs:`Tabbladen`,more:`Meer`,openNavigation:`Navigatie openen`,backTo:e=>`Terug naar ${e}`,search:`Zoeken`,closeSearch:`Zoeken sluiten`,clearSearch:`Zoekopdracht wissen`,globalSearch:`Overal zoeken`,searchResults:`Zoekresultaten`,searching:`Zoeken`,noMatches:e=>`Niets gevonden voor “${e}”`,profileMenu:`Profielmenu`,organizations:`Organisaties`,roles:`Rollen`,signIn:`Inloggen`,signOut:`Uitloggen`,theme:`Thema`,light:`Licht`,dark:`Donker`,system:`Systeem`,recent:e=>`Recente ${e}`,loading:`Laden...`,couldNotLoad:`Kon niet laden`,viewAll:`Alles bekijken`,couldNotSearch:e=>`Kon niet zoeken in ${e.toLowerCase()}`}}),R=t(_(),1),Mne=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`,Nne=({tabs:e,onNavigate:t,onMore:n,moreOpen:r,moreControls:i,sticky:a,ref:o})=>{let s=!e.some(e=>e.active);return(0,R.jsxs)(`nav`,{ref:o,"aria-label":du(`tabs`),className:g(`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,R.jsxs)(`a`,{href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:n=>{!e.external&&t&&Mne(n)&&(n.preventDefault(),t(e.href))},className:g(fu,e.active?`text-primary-text`:`text-muted-foreground`),children:[(0,R.jsx)(n,{className:`size-6`,strokeWidth:e.active?2.2:1.9,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`max-w-full truncate px-0.5`,children:e.label})]},e.id)}),(0,R.jsxs)(`button`,{type:`button`,"aria-expanded":r,"aria-controls":i,"data-current":s||void 0,onClick:n,className:g(fu,s?`text-primary-text`:`text-muted-foreground`),children:[(0,R.jsx)(ea,{className:`size-6`,strokeWidth:s?2.2:1.9,"aria-hidden":!0}),du(`more`)]})]})},pu=`data-pb-scroll-locked`,Pne=()=>{let{body:e,documentElement:t}=document,n=e.style.overflow,r=t.hasAttribute(pu);return window.innerWidth>t.clientWidth&&t.setAttribute(pu,``),e.style.overflow=`hidden`,()=>{e.style.overflow=n,r||t.removeAttribute(pu)}},Fne=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`,mu=[],hu=(e,t,n)=>{let r=(0,I.useRef)(n);r.current=n,(0,I.useEffect)(()=>{if(!t||!e.current)return;let n=e.current,i=document.activeElement instanceof HTMLElement?document.activeElement:null,a=Pne(),o={};mu.push(o);let s=()=>[...n.querySelectorAll(Fne)];(s()[0]??n).focus();let c=e=>{if(mu.at(-1)!==o)return;if(e.key===`Escape`)return r.current();if(e.key!==`Tab`)return;let t=s();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`,c),()=>{document.removeEventListener(`keydown`,c),mu.splice(mu.indexOf(o),1),a(),i?.focus()}},[t,e])},Ine=({id:e,open:t,onClose:n,children:r})=>{let i=(0,I.useRef)(null);return hu(i,t,n),t?(0,R.jsxs)(`div`,{className:`fixed inset-0 z-50 md:hidden`,children:[(0,R.jsx)(`div`,{className:`absolute inset-0 bg-backdrop/40`,onClick:n,"aria-hidden":!0}),(0,R.jsx)(`div`,{ref:i,id:e,role:`dialog`,"aria-modal":`true`,"aria-label":du(`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},gu=(0,I.createContext)(()=>{}),Lne=e=>{let t=(0,I.useContext)(gu);(0,I.useLayoutEffect)(()=>(t(e),()=>t(void 0)),[t,e])},Rne=e=>{(0,I.useLayoutEffect)(()=>{if(!e)return;let t=document.documentElement;return t.style.setProperty(`scrollbar-gutter`,`stable`),()=>{t.style.removeProperty(`scrollbar-gutter`)}},[e])},zne=[`--pb-sticky-top`,`--pb-sticky-bottom`,`scroll-padding-top`,`scroll-padding-bottom`],Bne=(e,t,n,r)=>{(0,I.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 zne)r.style.removeProperty(e)}},[e,t,n,r])},_u=({className:e})=>(0,R.jsx)(`span`,{className:g(`block h-3 rounded bg-muted [animation:pb-shimmer_1.4s_ease-in-out_infinite]`,e)}),vu=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,Vne=({parts:e,onNavigate:t})=>(0,R.jsx)(`nav`,{"aria-label":du(`breadcrumb`),className:`flex min-w-0 items-center gap-1.5`,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,R.jsx)(_u,{className:`w-24`}):a,l=g(`truncate`,i?`font-semibold`:`text-muted-foreground`);return(0,R.jsxs)(`span`,{className:g(`min-w-0 items-center gap-1.5`,i?`flex`:`hidden md:flex`),children:[r>0&&(0,R.jsx)(Ei,{className:`hidden size-3.5 shrink-0 text-faint-foreground md:block`}),o?(0,R.jsx)(`a`,{href:o,"aria-current":i?`page`:void 0,"aria-label":s?a:void 0,"aria-busy":s||void 0,onClick:e=>{t&&vu(e)&&(e.preventDefault(),t(o))},className:g(l,`rounded-sm hover:text-foreground hover:underline`),children:c}):(0,R.jsx)(`span`,{className:l,"aria-label":s?a:void 0,"aria-busy":s||void 0,children:c})]},`${r}-${a}`)})}),yu=({to:e,onClick:t,...n})=>(0,R.jsx)(`a`,{href:e.href,onClick:n=>{t?.(n),!n.defaultPrevented&&vu(n)&&(n.preventDefault(),e.onFollow())},...n}),Hne=`M312.3 9.9Q257 9.9 217.1 -21.1Q177.3 -52.1 168.4 -108.8L181.1 -110.3V205H54.8V-510H176.7V-404.5L168.3 -407Q179.7 -460.8 221.2 -490.4Q262.7 -520 319.8 -520Q376.2 -520 417 -488.4Q457.8 -456.8 479.8 -398.6Q501.8 -340.5 501.8 -259.9Q501.8 -177.6 478.3 -116.8Q454.9 -55.9 412.5 -23Q370.1 9.9 312.3 9.9ZM274.4 -92.6Q320.2 -92.6 345.8 -133.8Q371.4 -175.1 371.4 -256.4Q371.4 -337.7 345.7 -377.6Q320.1 -417.5 274 -417.5Q228.6 -417.5 202.7 -376.4Q176.9 -335.3 176.9 -254Q176.9 -173.3 202.7 -132.9Q228.4 -92.6 274.4 -92.6Z M549.8 0V-510H671.7V-388.3H676.1V0H549.8ZM676.1 -286.5 661.3 -386.2Q677.9 -455.2 711.8 -487.6Q745.7 -520 794.3 -520Q809 -520 818 -516.6V-394.2Q814.2 -395.6 807.1 -396.1Q800 -396.6 789.4 -396.6Q734.6 -396.6 705.3 -370.5Q676.1 -344.4 676.1 -286.5Z M1043.8 10Q974.7 10 922.6 -23.6Q870.6 -57.2 842.1 -117.5Q813.6 -177.8 813.6 -257Q813.6 -336.5 842.2 -395.5Q870.8 -454.5 922.5 -487.2Q974.2 -520 1043.8 -520Q1113.7 -520 1165.4 -487.2Q1217.1 -454.5 1245.6 -395.5Q1274 -336.5 1274 -257Q1274 -177.8 1245.5 -117.5Q1217 -57.2 1165.3 -23.6Q1113.6 10 1043.8 10ZM1043.8 -90.5Q1073.5 -90.5 1095.9 -108.9Q1118.2 -127.3 1130.9 -164.4Q1143.6 -201.5 1143.6 -257.5Q1143.6 -339.8 1116 -379.7Q1088.4 -419.5 1043.8 -419.5Q999.3 -419.5 971.6 -379.5Q944 -339.5 944 -257.5Q944 -201.5 956.7 -164.4Q969.4 -127.3 991.8 -108.9Q1014.3 -90.5 1043.8 -90.5Z M1509 10.2Q1427.2 10.2 1387.6 -29.2Q1348 -68.6 1348 -147.7V-613.8L1474.2 -666.1V-146.7Q1474.2 -118.4 1489.9 -104.3Q1505.6 -90.3 1539.2 -90.3Q1552 -90.3 1562.7 -92.5Q1573.3 -94.8 1582.5 -98.7V-1.9Q1571.6 4 1552 7.1Q1532.4 10.2 1509 10.2ZM1270.1 -411V-510H1580.6V-411H1270.1Z M1810.8 10Q1741.7 10 1689.6 -23.6Q1637.6 -57.2 1609.1 -117.5Q1580.6 -177.8 1580.6 -257Q1580.6 -336.5 1609.2 -395.5Q1637.8 -454.5 1689.5 -487.2Q1741.2 -520 1810.8 -520Q1880.7 -520 1932.4 -487.2Q1984.1 -454.5 2012.6 -395.5Q2041 -336.5 2041 -257Q2041 -177.8 2012.5 -117.5Q1984 -57.2 1932.3 -23.6Q1880.6 10 1810.8 10ZM1810.8 -90.5Q1840.5 -90.5 1862.9 -108.9Q1885.2 -127.3 1897.9 -164.4Q1910.6 -201.5 1910.6 -257.5Q1910.6 -339.8 1883 -379.7Q1855.4 -419.5 1810.8 -419.5Q1766.3 -419.5 1738.6 -379.5Q1711 -339.5 1711 -257.5Q1711 -201.5 1723.7 -164.4Q1736.4 -127.3 1758.8 -108.9Q1781.3 -90.5 1810.8 -90.5Z M2343.3 9.9Q2288 9.9 2247.7 -21.1Q2207.4 -52.1 2198.5 -108.8L2205.8 -110.3V0H2085.8V-720H2212.1V-404.5L2203.7 -407Q2215.1 -460.8 2255.6 -490.4Q2296.2 -520 2351 -520Q2407.3 -520 2448 -488.4Q2488.8 -456.8 2510.8 -398.6Q2532.8 -340.5 2532.8 -259.9Q2532.8 -177.6 2509.3 -116.8Q2485.9 -55.9 2443.5 -23Q2401.1 9.9 2343.3 9.9ZM2305.4 -92.6Q2350.7 -92.6 2376.6 -133.8Q2402.4 -175.1 2402.4 -256.4Q2402.4 -337.7 2376.5 -377.6Q2350.6 -417.5 2305 -417.5Q2260.5 -417.5 2234.2 -376.4Q2207.9 -335.3 2207.9 -254Q2207.9 -173.3 2234.1 -132.9Q2260.3 -92.6 2305.4 -92.6Z M2834 0Q2828 -19.1 2825.7 -41.7Q2823.3 -64.2 2823.3 -91.8H2818.6V-356Q2818.6 -391.9 2803.1 -409.1Q2787.5 -426.3 2756.2 -426.3Q2724.2 -426.3 2706.4 -408.7Q2688.7 -391.2 2686.3 -358.9H2571.2Q2574.6 -429.6 2625.4 -474.8Q2676.1 -520 2763.5 -520Q2850.2 -520 2896.1 -476.5Q2941.9 -432.9 2941.9 -352.2V-91.8Q2941.9 -69.5 2944.7 -46.7Q2947.5 -23.8 2954.1 0H2834ZM2690.6 10Q2631.9 10 2595.4 -26.3Q2558.9 -62.5 2558.9 -124.5Q2558.9 -185 2594.3 -224Q2629.8 -263 2704.5 -287.6L2845.4 -337.4V-248.7L2753.4 -219.3Q2716.5 -206.1 2699.3 -186.6Q2682.2 -167.2 2682.2 -139Q2682.2 -112.4 2697.5 -98.4Q2712.9 -84.3 2739.4 -84.3Q2773.2 -84.3 2795.9 -104.1Q2818.6 -123.9 2818.6 -153.1L2829.9 -85.8Q2812.6 -37.4 2776.8 -13.7Q2741 10 2690.6 10Z M3168 10Q3080.6 10 3030.1 -34.2Q2979.6 -78.4 2974.7 -158.1H3082.4Q3086.3 -120 3108.9 -100.5Q3131.5 -80.9 3169.8 -80.9Q3202 -80.9 3218.9 -93.9Q3235.8 -106.9 3235.8 -131.3Q3235.8 -151.1 3224.3 -165.6Q3212.9 -180.1 3178.9 -195.4L3111.2 -224.8Q3053 -247.7 3023.8 -284.2Q2994.5 -320.8 2994.5 -373.9Q2994.5 -440.1 3040.1 -480Q3085.7 -520 3162.8 -520Q3242.2 -520 3288.4 -480Q3334.6 -440 3339.5 -367.9H3231.8Q3228.6 -399.7 3211.3 -414.4Q3194 -429.1 3164 -429.1Q3136.1 -429.1 3120.5 -417Q3104.8 -405 3104.8 -382.7Q3104.8 -364.2 3117.7 -349.8Q3130.6 -335.5 3162.4 -321.6L3236.6 -289.6Q3288.6 -269.2 3317.4 -229.2Q3346.1 -189.1 3346.1 -136.9Q3346.1 -69 3299.2 -29.5Q3252.3 10 3168 10Z M3587.8 10Q3520 10 3469.2 -23.3Q3418.5 -56.6 3390.5 -116.5Q3362.6 -176.3 3362.6 -255.8Q3362.6 -336.4 3390.9 -395.7Q3419.3 -454.9 3470.7 -487.5Q3522 -520 3591.1 -520Q3656.6 -520 3702.7 -489.8Q3748.8 -459.7 3773.7 -403.1Q3798.6 -346.5 3798.6 -266.5Q3798.6 -253.7 3798 -242.5Q3797.5 -231.3 3795.8 -221.4H3440V-306.9H3709L3681.8 -277.9Q3681.6 -355.2 3657.7 -390.7Q3633.8 -426.3 3589.3 -426.3Q3541.7 -426.3 3515.6 -384Q3489.5 -341.7 3489.5 -255Q3489.5 -168.4 3515 -126.1Q3540.5 -83.7 3590.6 -83.7Q3623.7 -83.7 3644.6 -102Q3665.5 -120.3 3673.8 -156.3H3788.9Q3772.2 -81.6 3721.5 -35.8Q3670.8 10 3587.8 10Z`,Une=`fill-[#ff5a1f] dark:fill-[#ff6a33]`,bu=`fill-[#14161a] dark:fill-[#f1f0ea]`,xu=({className:e})=>(0,R.jsxs)(`svg`,{viewBox:`0 0 32 32`,className:g(`size-7 shrink-0`,e),"aria-hidden":!0,children:[(0,R.jsx)(`path`,{className:Une,fillRule:`evenodd`,d:`M0 5a5 5 0 0 1 5-5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zM4 5a1 1 0 0 1 1-1h5v6H4z`}),(0,R.jsx)(`path`,{className:bu,d:`M17 0h10a5 5 0 0 1 5 5v22a5 5 0 0 1-5 5H5a5 5 0 0 1-5-5V17h17z`})]}),Wne=({className:e})=>(0,R.jsx)(`svg`,{viewBox:`54.8 -720 3743.8 925`,className:g(`h-3.5 w-auto`,e),role:`img`,"aria-label":`Protobase`,children:(0,R.jsx)(`path`,{className:bu,d:Hne})}),Su=`Protobase`,Cu=({compact:e,workspace:t,appName:n})=>(0,R.jsxs)(`div`,{className:`flex items-center gap-2.5 overflow-hidden`,children:[(0,R.jsx)(xu,{}),!e&&(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5 leading-tight`,children:[n&&n!==Su?(0,R.jsx)(`div`,{className:`truncate text-sm font-semibold text-foreground`,children:n}):(0,R.jsx)(Wne,{className:`self-start`}),t&&(0,R.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:t})]})]}),wu=[{label:`Sales`,items:[{id:`orders`,label:`Orders`,icon:wo,count:12},{id:`customers`,label:`Customers`,icon:fi},{id:`invoices`,label:`Invoices`,icon:fa,count:3}]},{label:`Inventory`,items:[{id:`products`,label:`Products`,icon:no},{id:`stock-moves`,label:`Stock moves`,icon:ui},{id:`warehouses`,label:`Warehouses`,icon:$o},{id:`shipments`,label:`Shipments`,icon:Uo}]},{label:`Finance`,items:[{id:`payments`,label:`Payments`,icon:Wi},{id:`credit-notes`,label:`Credit notes`,icon:fo},{id:`reports`,label:`Reports`,icon:gi}]},{label:`Admin`,items:[{id:`users`,label:`Users`,icon:Yo},{id:`settings`,label:`Settings`,icon:bo}]}],Tu={xs:`size-5 text-[9px]`,sm:`size-6 text-[10px]`,md:`size-8 text-xs`},Eu=({initials:e,hue:t,size:n=`sm`,className:r})=>(0,R.jsx)(`span`,{className:g(`inline-flex shrink-0 select-none items-center justify-center rounded-full font-semibold text-white ring-2 ring-background`,Tu[n],r),style:{background:`oklch(0.58 0.13 ${t})`},children:e}),Du=({people:e,size:t=`sm`})=>(0,R.jsx)(`span`,{className:`inline-flex -space-x-1`,children:e.map(e=>(0,R.jsx)(Eu,{...e,size:t},e.initials))}),Ou=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},ku=`#ffffff`,Au=`#111827`,ju=e=>{let t=Ou(e);return 1.05/(t+.05)>=(t+.05)/(Ou(Au)+.05)?ku:Au},Mu={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`},Nu={neutral:`bg-faint-foreground`,blue:`bg-primary`,green:`bg-success`,amber:`bg-warning`,red:`bg-danger`,violet:`bg-violet`},Pu=`polygon(0 0, calc(100% - 0.625rem) 0, 100% 50%, calc(100% - 0.625rem) 100%, 0 100%)`,Fu=({tone:e=`neutral`,dot:t=!0,color:n,shape:r,children:i,className:a})=>(0,R.jsxs)(`span`,{style:{...n!==void 0&&{backgroundColor:n,color:ju(n)},...r===`arrow`&&{clipPath:Pu}},className:g(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&&Mu[e],a),children:[t&&n===void 0&&r===void 0&&(0,R.jsx)(`span`,{className:g(`size-1.5 rounded-full`,Nu[e])}),i]}),Iu=({label:e,current:t,others:n,rowClassName:r,onSwitch:i})=>(0,R.jsxs)(`div`,{className:`border-b py-1`,role:`group`,"aria-label":e,children:[t&&(0,R.jsxs)(`div`,{className:g(r,`text-foreground hover:bg-transparent`),"aria-current":`true`,children:[(0,R.jsx)(bi,{className:`size-4`}),(0,R.jsx)(`span`,{className:`truncate`,children:t.label})]}),n.map(e=>(0,R.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>i(e.id),className:r,children:[(0,R.jsx)(`span`,{className:`size-4`}),(0,R.jsx)(`span`,{className:`truncate`,children:e.label})]},e.id))]}),Lu=()=>[{value:`light`,label:du(`light`),icon:jo},{value:`dark`,label:du(`dark`),icon:zee},{value:`system`,label:du(`system`),icon:Ree}],Ru=({theme:e,className:t})=>(0,R.jsxs)(`div`,{className:t,children:[(0,R.jsx)(Jee,{className:`size-4`}),(0,R.jsx)(`span`,{className:`flex-1`,children:du(`theme`)}),(0,R.jsx)(f,{label:du(`theme`),iconOnly:!0,value:e.preference,options:Lu(),onChange:e.onChange})]}),zu=`flex min-h-11 w-full items-center gap-2.5 px-3 py-1.5 text-left text-muted-foreground hover:bg-muted md:min-h-0`,Bu=({user:e,compact:t,open:n,items:r=[],onNavigate:i,onSignOut:a,organizations:o,roles:s,theme:c})=>{let l=s?.roles.find(e=>e.name===s.active),[u,d]=(0,I.useState)(!1),f=n??u,p=(0,I.useRef)(null),[m,h]=(0,I.useState)();return(0,I.useEffect)(()=>{if(!f||n!==void 0)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!p.current?.contains(e.target))&&d(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[f,n]),(0,R.jsxs)(`div`,{ref:p,className:`relative`,children:[(0,R.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":du(`profileMenu`),"aria-haspopup":`menu`,"aria-expanded":f,onClick:()=>{let e=p.current?.getBoundingClientRect();e&&h({left:e.left,bottom:window.innerHeight-e.top+8}),d(!u)},children:[(0,R.jsx)(Eu,{initials:e.initials,hue:e.hue,size:`md`,className:`ring-0`}),!t&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e.name}),(0,R.jsx)(Fu,{tone:e.roleTone,dot:!1,className:`mt-0.5 h-4 px-1.5 text-[10px]`,children:e.role})]}),(0,R.jsx)(Oi,{className:`size-3.5 shrink-0 text-faint-foreground`})]})]}),f&&(0,R.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&&m?{left:m.left,bottom:m.bottom}:void 0,children:[(0,R.jsxs)(`div`,{className:`border-b px-3 pb-2 pt-1.5`,children:[(0,R.jsx)(`div`,{className:`font-medium`,children:e.name}),(0,R.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.email})]}),o&&(o.current||o.others.length>0)&&(0,R.jsx)(Iu,{label:du(`organizations`),...o.current&&{current:{id:o.current.id,label:o.current.name}},others:o.others.map(({id:e,name:t})=>({id:e,label:t})),rowClassName:zu,onSwitch:e=>{d(!1),o.onSwitch(e)}}),s&&s.roles.length>1&&(0,R.jsx)(Iu,{label:du(`roles`),...l&&{current:{id:l.name,label:l.label}},others:s.roles.filter(e=>e!==l).map(({name:e,label:t})=>({id:e,label:t})),rowClassName:zu,onSwitch:e=>{d(!1),s.onSwitch(e)}}),r.length>0&&(0,R.jsx)(`div`,{className:g((c||a)&&`border-b`),children:r.map(e=>{let t=e.icon;return(0,R.jsxs)(`a`,{role:`menuitem`,href:e.href,"aria-current":e.active?`page`:void 0,...e.external?{target:`_blank`,rel:`noreferrer`}:{},onClick:t=>{d(!1),!e.external&&i&&(t.preventDefault(),i(e.href))},className:g(zu,e.active&&`bg-muted text-foreground`),children:[(0,R.jsx)(t,{className:`size-4`}),e.label]},e.id)})}),c&&(0,R.jsx)(`div`,{className:g(a&&`border-b`),children:(0,R.jsx)(Ru,{theme:c,className:g(zu,`hover:bg-transparent`)})}),a&&(0,R.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:a,className:zu,children:[(0,R.jsx)(Ka,{className:`size-4`}),du(`signOut`)]})]})]})},Vu=`protobase:nav-open:`,Hu=e=>`${Vu}${e}`,Uu=(e,t)=>u(()=>e.getItem(t)!==`false`,!0),Wu=(e,t,n)=>u(()=>n?e.removeItem(t):e.setItem(t,`false`),void 0),Gu=({label:e,side:t=`right`,visible:n,children:r})=>(0,R.jsxs)(`span`,{className:`group/tooltip relative inline-flex`,children:[r,(0,R.jsx)(`span`,{role:`tooltip`,className:g(`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})]}),Ku=e=>e===`text-large`||e===`text-small`||e===`icon-expand`,qu=e=>e===`text-large`||e===`text-small`,Ju={"text-large":`w-60`,"text-small":`w-52`,icon:`w-14`,"icon-label":`w-[76px]`,"icon-tooltip":`w-14`,"icon-expand":`w-14`},Yu={"text-large":`h-9 gap-3 px-3 text-sm`,"text-small":`h-7 gap-2.5 px-2.5 text-body`,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`},Xu=({item:e,mode:t,active:n,onNavigate:r,className:i})=>{let a=e.icon,o=(0,R.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:g(`flex shrink-0 items-center rounded-md font-medium transition-colors`,Yu[t],n?`bg-primary-soft text-primary-text`:`text-muted-foreground hover:bg-muted hover:text-foreground`,i),children:[(0,R.jsx)(a,{className:g(`shrink-0`,t===`text-small`?`size-4`:`size-[18px]`),strokeWidth:n?2.2:1.9}),(Ku(t)||t===`icon-label`)&&(0,R.jsx)(`span`,{className:`whitespace-nowrap`,children:e.label}),qu(t)&&e.count&&(0,R.jsx)(`span`,{className:`ml-auto rounded bg-muted px-1.5 text-[11px] tabular-nums text-muted-foreground`,children:e.count}),qu(t)&&e.problem&&(0,R.jsx)(Vo,{"aria-hidden":!0,className:`ml-auto size-3.5 shrink-0 text-warning-text`})]});return t===`icon-tooltip`?(0,R.jsx)(Gu,{label:e.label,children:o}):o},Zu={neutral:`bg-faint-foreground`,info:`bg-primary`,success:`bg-success`,warning:`bg-warning`,danger:`bg-danger`},Qu=({tone:e,pulse:t=!1,className:n})=>(0,R.jsxs)(`span`,{"aria-hidden":!0,className:g(`relative flex size-2 shrink-0`,n),"data-tone":e,"data-pulse":t||void 0,children:[t&&(0,R.jsx)(`span`,{className:g(`absolute inset-0 animate-ping rounded-full opacity-60 motion-reduce:animate-none`,Zu[e])}),(0,R.jsx)(`span`,{className:g(`relative size-2 rounded-full`,Zu[e])})]}),$u={"text-large":`h-8 gap-2.5 px-2.5`,"text-small":`h-7 gap-2 px-2 text-body`},ed={"text-large":`ml-[20px]`,"text-small":`ml-[17px]`},td=({item:e,recent:t,mode:n,active:r,onNavigate:i})=>{let a=Hu(e.id),[o,s]=(0,I.useState)(()=>Uu(localStorage,a)),c=(0,I.useId)(),l=e.href??`#${e.id}`,u=()=>{Wu(localStorage,a,!o),s(!o)},d=e=>({href:e,onClick:i&&(t=>{t.preventDefault(),i(e)})});return(0,R.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(Xu,{item:e,mode:n,active:r,onNavigate:i,className:`pr-8`}),(0,R.jsx)(`button`,{type:`button`,"aria-expanded":o,"aria-controls":c,"aria-label":du(`recent`,e.label.toLowerCase()),onClick:u,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,R.jsx)(Ei,{className:g(`size-3.5 transition-transform`,o&&`rotate-90`)})})]}),o&&(0,R.jsxs)(`ul`,{id:c,"aria-label":du(`recent`,e.label.toLowerCase()),className:g(`flex flex-col gap-0.5 border-l pl-1.5`,ed[n]),children:[t.state===`loading`&&(0,R.jsx)(`li`,{className:g(`flex items-center text-faint-foreground`,$u[n]),children:du(`loading`)}),t.state===`error`&&(0,R.jsx)(`li`,{className:g(`flex items-center text-faint-foreground`,$u[n]),children:du(`couldNotLoad`)}),t.state===`ready`&&t.records.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(`a`,{...d(e.href),"aria-label":`${e.label}, ${e.status}`,title:`${e.label} (${e.status})`,"aria-current":e.active?`page`:void 0,className:g(`flex min-w-0 items-center rounded-md font-medium transition-colors`,$u[n],e.active?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:[(0,R.jsx)(Qu,{tone:e.tone,pulse:e.pulse}),(0,R.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id)),(0,R.jsx)(`li`,{children:(0,R.jsx)(`a`,{...d(l),className:g(`flex items-center rounded-md text-faint-foreground transition-colors hover:bg-muted hover:text-foreground`,$u[n]),children:du(`viewAll`)})})]})]})},nd=({mode:e,activeItem:t,user:n,workspace:r,appName:i,forceExpanded:a,profileMenuOpen:o,groups:s=wu,userMenu:c,onNavigate:l,onSignOut:u,signIn:d,organizations:f,roles:p,theme:m,sticky:h,logo:_=Cu})=>{let v=e===`icon-expand`,y=v&&a,b=qu(e)||v;return(0,R.jsx)(`nav`,{"aria-label":du(`resources`),className:g(h?`sticky top-0 h-dvh self-start`:`relative`,`z-30 shrink-0`,Ju[e]),children:(0,R.jsxs)(`div`,{className:g(`group/side absolute inset-y-0 left-0 flex flex-col overflow-hidden border-r bg-sidebar`,v?`w-14 transition-[width,box-shadow] duration-150 hover:w-60 hover:shadow-pop focus-within:w-60 focus-within:shadow-pop`:`w-full`,y&&`w-60 shadow-pop`),children:[(0,R.jsx)(`div`,{className:g(`flex h-12 shrink-0 items-center px-3.5`,e===`icon-label`&&`justify-center px-0`),children:(0,R.jsx)(_,{compact:!b,workspace:r,appName:i})}),(0,R.jsx)(`div`,{className:g(`flex-1 overflow-y-auto overflow-x-hidden pb-2`,`px-2`),children:s.map((n,r)=>(0,R.jsxs)(`div`,{className:g(`flex flex-col gap-0.5`,r>0&&`mt-3`),children:[b?(0,R.jsx)(`div`,{className:g(`px-3 pb-1 pt-1 text-xs font-medium uppercase tracking-wide text-faint-foreground`,v&&`h-4 whitespace-nowrap py-0 opacity-0 transition-opacity group-hover/side:opacity-100 group-focus-within/side:opacity-100`,y&&`opacity-100`),children:n.label}):r>0&&(0,R.jsx)(`div`,{className:`mx-auto mb-1 h-px w-6 bg-border`}),n.items.map(n=>n.recent&&qu(e)?(0,R.jsx)(td,{item:n,recent:n.recent,mode:e,active:n.id===t,onNavigate:l},n.id):(0,R.jsx)(Xu,{item:n,mode:e,active:n.id===t,onNavigate:l},n.id))]},n.label))}),(0,R.jsx)(`div`,{className:g(`shrink-0 border-t p-2`,e!==`text-large`&&e!==`text-small`&&!v&&`flex justify-center`),children:n?(0,R.jsx)(Bu,{user:n,compact:!b,open:o,items:c,onNavigate:l,onSignOut:u,organizations:f,roles:p,theme:m}):(0,R.jsxs)(R.Fragment,{children:[m&&b&&(0,R.jsx)(Ru,{theme:m,className:`flex min-h-11 w-full items-center gap-2.5 whitespace-nowrap p-1.5 text-muted-foreground md:min-h-0`}),d&&(0,R.jsxs)(yu,{to:d,"aria-label":du(`signIn`),className:`flex min-h-11 w-full items-center gap-2.5 rounded-md p-1.5 text-left font-medium text-muted-foreground hover:bg-muted hover:text-foreground md:min-h-0`,children:[(0,R.jsx)(Wa,{className:`size-4 shrink-0`}),b&&(0,R.jsx)(`span`,{className:`whitespace-nowrap`,children:du(`signIn`)})]})]})})]})})},rd=(0,I.createContext)(null),id=()=>(0,I.useContext)(rd),ad=e=>{let t=e.at(-2);if(typeof t==`object`&&t.href&&!t.loading)return{label:t.label,href:t.href}},od=(0,I.createContext)(void 0),sd=()=>{let e=(0,I.useContext)(od);return e?{id:e.id,name:e.name,"aria-describedby":e.describedBy,"aria-invalid":e.invalid||void 0,"aria-required":e.required||void 0}:{}},cd=({leading:e,trailing:t,invalid:n,className:r,wrapperClassName:i,...a})=>{let o=sd();return(0,R.jsxs)(`span`,{className:g(`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,R.jsx)(`input`,{className:g(`min-w-0 flex-1 bg-transparent text-body text-foreground outline-none placeholder:text-faint-foreground`,r),...o,...n&&{"aria-invalid":!0},...a}),t]})},ld=({children:e})=>(0,R.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}),ud=a({en:{close:`Close`,loading:`Loading`,remove:e=>`Remove ${e}`},nl:{close:`Sluiten`,loading:`Laden`,remove:e=>`${e} verwijderen`}}),dd=({className:e})=>(0,R.jsx)(Ba,{"aria-label":ud(`loading`),className:g(`size-4 animate-spin`,e)}),fd=(e,t,n)=>t===0?-1:e<0?n===1?0:t-1:(e+n+t)%t,pd=e=>e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0,md=({search:e,className:t=`w-96`,autoFocus:n,showShortcut:r=!0,ref:i})=>{let a=(0,I.useId)(),o=(0,I.useRef)(null),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(-1),d=e.groups.flatMap(e=>e.hits),f=s&&(e.query!==``||e.loading),p=e=>`${a}-${e}`,m=e=>{o.current=e,typeof i==`function`?i(e):i&&(i.current=e)},h=t=>{e.onSelect(t),u(-1),o.current?.blur()},_=()=>{e.onTextChange(``),u(-1),o.current?.focus()},v=t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`)t.preventDefault(),u(e=>fd(e,d.length,t.key===`ArrowDown`?1:-1));else if(t.key===`Enter`){let e=d[l]??d[0];if(!e)return;t.preventDefault(),h(e.href)}else t.key===`Escape`&&(e.text?e.onTextChange(``):t.currentTarget.blur(),u(-1))},y=-1;return(0,R.jsxs)(`div`,{className:g(`relative`,t),children:[(0,R.jsx)(cd,{ref:m,wrapperClassName:`w-full bg-surface shadow-none`,leading:e.loading?(0,R.jsx)(dd,{className:`size-4`}):(0,R.jsx)(go,{className:`size-4`}),trailing:e.text?(0,R.jsx)(`button`,{type:`button`,"aria-label":du(`clearSearch`),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,R.jsx)(ts,{className:`size-3.5`})}):r?(0,R.jsx)(`span`,{className:`hidden md:inline-flex`,children:(0,R.jsx)(ld,{children:`⌘K`})}):void 0,placeholder:e.placeholder,"aria-label":du(`globalSearch`),role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":f,"aria-controls":a,"aria-activedescendant":f&&d[l]?p(l):void 0,autoFocus:n,value:e.text,onChange:t=>{e.onTextChange(t.target.value),u(-1)},onFocus:()=>c(!0),onBlur:()=>c(!1),onKeyDown:v}),f&&(0,R.jsxs)(`div`,{id:a,role:`listbox`,"aria-label":du(`searchResults`),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 shadow-pop`,children:[e.groups.length===0&&(0,R.jsx)(`p`,{className:`px-3 py-2 text-muted-foreground`,children:e.loading?du(`searching`):du(`noMatches`,e.query)}),e.groups.map(e=>(0,R.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,R.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,R.jsx)(`p`,{className:`px-3 py-1.5 text-danger-text`,children:du(`couldNotSearch`,e.label)}),e.hits.map(e=>{y+=1;let t=y;return(0,R.jsxs)(`a`,{id:p(t),href:e.href,tabIndex:-1,role:`option`,"aria-selected":t===l,className:g(`block px-3 py-1.5`,t===l?`bg-primary-soft text-primary-text`:`hover:bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:t=>{pd(t)||(t.preventDefault(),h(e.href))},onMouseEnter:()=>u(t),children:[(0,R.jsx)(`span`,{className:`block truncate font-semibold`,children:e.title}),e.subtitle&&(0,R.jsx)(`span`,{className:g(`block truncate text-xs`,t===l?`text-primary-text/80`:`text-muted-foreground`),children:e.subtitle})]},e.id)})]},e.id))]})]})},hd=({breadcrumb:e,onNavigate:t,actions:n,onMenu:r,menuOpen:i,menuControls:a,search:o,sticky:s,slotRef:c,ref:l})=>{let[u,d]=(0,I.useState)(!1),f=ad(e),p=(0,I.useRef)(null);return(0,I.useEffect)(()=>{if(!o)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)},[o]),(0,R.jsxs)(`header`,{ref:l,className:g(s?`sticky top-0 z-30`:`relative`,`flex h-12 shrink-0 items-center gap-1 border-b bg-background pl-4 pr-2 md:gap-4 md:px-5`),children:[r&&(0,R.jsx)(`button`,{type:`button`,"aria-label":du(`openNavigation`),"aria-expanded":!!i,"aria-controls":a,onClick:r,className:g(`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,`-ml-3`),children:(0,R.jsx)(Iee,{className:`size-5`})}),f&&(0,R.jsx)(`a`,{href:f.href,"aria-label":du(`backTo`,f.label),onClick:e=>{t&&vu(e)&&(e.preventDefault(),t(f.href))},className:g(`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,!r&&`-ml-3`),children:(0,R.jsx)(wi,{className:`size-5`})}),(0,R.jsx)(Vne,{parts:e,onNavigate:t}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-1 md:gap-3`,children:[o&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`hidden md:block`,children:(0,R.jsx)(md,{ref:p,search:o})}),(0,R.jsx)(`button`,{type:`button`,"aria-label":du(`search`),"aria-expanded":u,onClick:()=>d(!0),className:`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,children:(0,R.jsx)(go,{className:`size-5`})})]}),n,(0,R.jsx)(`div`,{ref:c,className:`contents md:hidden`})]}),o&&u&&(0,R.jsxs)(`div`,{className:`absolute inset-0 z-20 flex items-center gap-1 bg-background px-3 md:hidden`,children:[(0,R.jsx)(md,{className:`min-w-0 flex-1`,autoFocus:!0,showShortcut:!1,search:{...o,onSelect:e=>{o.onSelect(e),d(!1)}}}),(0,R.jsx)(`button`,{type:`button`,"aria-label":du(`closeSearch`),onClick:()=>d(!1),className:`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`,children:(0,R.jsx)(ts,{className:`size-5`})})]})]})},gd=`app-drawer`,_d=({sidebarMode:e,activeItem:t,breadcrumb:n,user:r,workspace:i,appName:a,logo:o,actions:s,rightPanel:c,forceExpanded:l,profileMenuOpen:u,navGroups:d,userMenu:f,bottomBar:p,onNavigate:m,onSignOut:h,signIn:_,organizations:v,roles:y,theme:b,search:x,pageScroll:S=!1,className:C,children:w})=>{let T=lu(),[E,D]=(0,I.useState)(!1);(0,I.useEffect)(()=>{T&&D(!1)},[T]);let O=!T&&p&&p.length>0?p:void 0,[k,A]=(0,I.useState)(),j=k??S,M=(0,I.useRef)(null),[N,ee]=(0,I.useState)(null),te=(0,I.useRef)(null);Bne(j,M,te,!!O),Rne(j);let ne=(e,n=!1)=>(0,R.jsx)(nd,{mode:e,sticky:n,activeItem:t,user:r,workspace:i,appName:a,forceExpanded:l,profileMenuOpen:u,groups:d,userMenu:f,onNavigate:m,onSignOut:h,signIn:_,organizations:v,roles:y,theme:b,logo:o});return(0,R.jsx)(gu.Provider,{value:A,children:(0,R.jsxs)(`div`,{className:g(j?`flex min-h-full w-full overflow-x-clip bg-background`:`relative flex h-full min-h-0 w-full overflow-hidden bg-background`,C),children:[T?ne(e,j):(0,R.jsx)(Ine,{id:gd,open:E,onClose:()=>D(!1),children:ne(`text-large`)}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,R.jsx)(hd,{ref:M,slotRef:ee,sticky:j,breadcrumb:n,onNavigate:m,actions:s,onMenu:T||O?void 0:()=>D(!0),menuOpen:E,menuControls:gd,search:x}),(0,R.jsx)(`main`,{className:j?`flex flex-1 flex-col`:`flex min-h-0 flex-1 flex-col`,children:(0,R.jsx)(rd.Provider,{value:N,children:w})}),O&&(0,R.jsx)(Nne,{ref:te,sticky:j,tabs:O,onNavigate:m,onMore:()=>D(!0),moreOpen:E,moreControls:gd})]}),c&&(0,R.jsx)(`div`,{className:j?`sticky top-0 flex h-dvh shrink-0 self-start`:`flex shrink-0`,children:c})]})})},vd=({title:e,subtitle:t,actions:n})=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-x-4 gap-y-2 md:flex-row md:items-end md:justify-between`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 break-words md:flex-1`,children:[(0,R.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:e}),t&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:t})]}),n&&(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 md:justify-end`,children:n})]}),yd=a({en:{tooManyRequests:`Too many attempts. Wait a minute and try again.`,passkeyClosed:`The passkey prompt closed before it finished. Try again.`,wrongEmailOrPassword:`The email or password is not right.`,wrongPassword:`The password is not right.`,wrongCode:`The code is not right.`,codeExpired:`The code has expired. Ask for a new one.`,tooManyCodes:`Too many wrong codes. Ask for a new one.`,wrongBackupCode:`The backup code is not right, or was used before.`,tooManyCodesSignIn:`Too many wrong codes. Sign in again.`,locked:`Too many wrong codes. Wait 15 minutes and try again.`,tooSlow:`This sign-in took too long. Sign in again.`,passkeyNotFound:`This passkey is not registered for an account here.`,passkeyFailed:`The passkey could not be checked. Try again.`,passkeyAdded:`This passkey is added already.`,notFresh:`For this change, sign out and sign in again first.`,staffPermissionMissing:`Your staff account has no permission to sign in as people here.`,staffNotStrong:`Sign in to your staff account with a passkey or a second step, then try again.`,staffStale:`Your staff sign-in is too old. Sign in to your staff account again.`,staffExpired:`This staff sign-in took too long or was used already. Start again.`,staffProviderFailed:`The staff sign-in did not go through at the provider. Try again.`,staffUserUnavailable:`There is no account with this address, or it is disabled.`,staffReasonRequired:`Say why you sign in as this person, in at least 10 characters.`,staffForbidden:`Staff sign-in is turned off for this app.`,untrustedCallback:`This page is not on an address the server trusts.`,staffFailed:`The staff sign-in did not go through. Try again.`},nl:{tooManyRequests:`Te veel pogingen. Wacht een minuut en probeer het opnieuw.`,passkeyClosed:`De passkey-vraag sloot voordat die klaar was. Probeer het opnieuw.`,wrongEmailOrPassword:`Het e-mailadres of wachtwoord klopt niet.`,wrongPassword:`Het wachtwoord klopt niet.`,wrongCode:`De code klopt niet.`,codeExpired:`De code is verlopen. Vraag een nieuwe aan.`,tooManyCodes:`Te veel verkeerde codes. Vraag een nieuwe aan.`,wrongBackupCode:`De back-upcode klopt niet, of is al eerder gebruikt.`,tooManyCodesSignIn:`Te veel verkeerde codes. Log opnieuw in.`,locked:`Te veel verkeerde codes. Wacht 15 minuten en probeer het opnieuw.`,tooSlow:`Deze inlogpoging duurde te lang. Log opnieuw in.`,passkeyNotFound:`Deze passkey hoort hier bij geen enkel account.`,passkeyFailed:`De passkey kon niet worden gecontroleerd. Probeer het opnieuw.`,passkeyAdded:`Deze passkey is al toegevoegd.`,notFresh:`Log voor deze wijziging eerst uit en opnieuw in.`,staffPermissionMissing:`Je medewerkersaccount mag hier niet als iemand anders inloggen.`,staffNotStrong:`Log in op je medewerkersaccount met een passkey of een tweede stap, en probeer het dan opnieuw.`,staffStale:`Je inlog als medewerker is te oud. Log opnieuw in op je medewerkersaccount.`,staffExpired:`Deze inlog als medewerker duurde te lang of is al gebruikt. Begin opnieuw.`,staffProviderFailed:`De inlog als medewerker lukte niet bij de provider. Probeer het opnieuw.`,staffUserUnavailable:`Er is geen account met dit adres, of het is uitgeschakeld.`,staffReasonRequired:`Zeg in minstens 10 tekens waarom je als deze persoon inlogt.`,staffForbidden:`Inloggen als medewerker staat uit voor deze app.`,untrustedCallback:`Deze pagina staat niet op een adres dat de server vertrouwt.`,staffFailed:`De inlog als medewerker lukte niet. Probeer het opnieuw.`}}),bd=a({en:{signupDisabled:e=>`No account here belongs to this ${e} account. Ask an admin to add you, or sign in another way.`,notLinked:e=>`Your ${e} account is not linked to your account here. Sign in another way, then connect ${e} on the Sign-in & security page.`,linkedToOther:e=>`This ${e} account is linked to someone else here already.`,couldNotLink:e=>`Your ${e} account could not be linked. Try again.`,accessDenied:e=>`${e} did not let you in, or you cancelled.`,domainNotAllowed:e=>`${e} signed you in with an address this app does not accept from it. Sign in another way.`,providerFailed:e=>`Signing in with ${e} did not go through. Try again.`},nl:{signupDisabled:e=>`Geen account hier hoort bij dit ${e}-account. Vraag een beheerder om je toe te voegen, of log op een andere manier in.`,notLinked:e=>`Je ${e}-account is niet gekoppeld aan je account hier. Log op een andere manier in en koppel ${e} dan op de pagina Inloggen en beveiliging.`,linkedToOther:e=>`Dit ${e}-account is hier al aan iemand anders gekoppeld.`,couldNotLink:e=>`Je ${e}-account kon niet worden gekoppeld. Probeer het opnieuw.`,accessDenied:e=>`${e} liet je niet binnen, of je hebt geannuleerd.`,domainNotAllowed:e=>`${e} logde je in met een adres dat deze app daarvan niet accepteert. Log op een andere manier in.`,providerFailed:e=>`Inloggen met ${e} lukte niet. Probeer het opnieuw.`}}),xd={INVALID_EMAIL_OR_PASSWORD:`wrongEmailOrPassword`,INVALID_PASSWORD:`wrongPassword`,INVALID_OTP:`wrongCode`,OTP_EXPIRED:`codeExpired`,TOO_MANY_ATTEMPTS:`tooManyCodes`,INVALID_CODE:`wrongCode`,INVALID_BACKUP_CODE:`wrongBackupCode`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`tooManyCodesSignIn`,ACCOUNT_TEMPORARILY_LOCKED:`locked`,INVALID_TWO_FACTOR_COOKIE:`tooSlow`,AUTH_CANCELLED:`passkeyClosed`,ERROR_CEREMONY_ABORTED:`passkeyClosed`,REGISTRATION_CANCELLED:`passkeyClosed`,PASSKEY_NOT_FOUND:`passkeyNotFound`,AUTHENTICATION_FAILED:`passkeyFailed`,PREVIOUSLY_REGISTERED:`passkeyAdded`,ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED:`passkeyAdded`,SESSION_NOT_FRESH:`notFresh`},Sd=(e,t)=>{let n=t?e[t]:void 0;return n&&yd(n)},Cd=e=>Sd(xd,e.code),wd=e=>Cd(e)??(e.status===429?yd(`tooManyRequests`):e.message),Td=e=>Cd(e)??(e.status===429?yd(`tooManyRequests`):e.status===401?yd(`wrongEmailOrPassword`):e.message),Ed={STAFF_PERMISSION_MISSING:`staffPermissionMissing`,STAFF_SIGN_IN_NOT_STRONG:`staffNotStrong`,STAFF_SIGN_IN_STALE:`staffStale`,STAFF_SIGN_IN_EXPIRED:`staffExpired`,STAFF_SIGN_IN_FAILED:`staffProviderFailed`,STAFF_USER_UNAVAILABLE:`staffUserUnavailable`,STAFF_REASON_REQUIRED:`staffReasonRequired`,SIGN_IN_METHOD_FORBIDDEN:`staffForbidden`,INVALID_CALLBACK_URL:`untrustedCallback`},Dd=e=>Sd(Ed,typeof e==`string`?e:e.code)||(typeof e==`string`?yd(`staffFailed`):e.status===429?yd(`tooManyRequests`):e.message),Od={signup_disabled:e=>bd(`signupDisabled`,e),account_not_linked:e=>bd(`notLinked`,e),account_already_linked_to_different_user:e=>bd(`linkedToOther`,e),unable_to_link_account:e=>bd(`couldNotLink`,e),access_denied:e=>bd(`accessDenied`,e),EMAIL_DOMAIN_NOT_ALLOWED:e=>bd(`domainNotAllowed`,e)},kd=(e,t)=>Od[e]?.(t)??bd(`providerFailed`,t),Ad=`sign-in`,jd=`error`,Md=e=>{let t=new URL(e).searchParams;if(!t.has(jd))return t.get(`sign-in`)||void 0},Nd=e=>new URL(e).searchParams.get(jd)||void 0,Pd=e=>{let t=new URL(e);for(let e of[Ad,jd])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},Fd={github:`GitHub`,gitlab:`GitLab`,google:`Google`,microsoft:`Microsoft`,apple:`Apple`},Id=(e,t)=>t?.provider===e?t.name:Fd[e]??e.charAt(0).toUpperCase()+e.slice(1),z=a({en:{loading:`Loading`,cannotReach:e=>`Cannot reach the server: ${e}`,tryAgain:`Try again`,passwordChanged:`Your password is changed. Sign in with the new one.`,noAnswer:`The server did not answer`,code:`Code`,backupCode:`Backup code`,email:`Email`,password:`Password`,passwordOptional:`Password (optional)`,signIn:`Sign in`,signOut:`Sign out`,continue:`Continue`,backToSignIn:`Back to sign in`,useAnotherAddress:`Use another address`,checkEmail:`Check your email`,newCodeSent:`A new code is on its way. Only the newest one works.`,sendNewCode:`Send a new code`,sendNewCodeIn:e=>`Send a new code in ${e}s`,signInCodeDescription:`Enter the code we sent to sign in.`,signInCodeSent:`If {} has an account, a 6-digit code is on its way. It works for 5 minutes, once.`,signUpCodeDescription:`Enter the code we sent to create your account.`,signUpCodeSent:`A 6-digit code is on its way to {}. It works for 5 minutes, once. If the address has an account already, the email says so instead.`,noAdminTitle:`No admin yet`,noAdminDescription:`This Protobase has no users to sign in with.`,noAdminExplanation:`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.`,copyCommand:`Copy command`,reload:`Reload`,tooManyRequests:`Too many requests. Wait a minute and try again.`,tooManyAttempts:`Too many attempts. Wait a minute and try again.`,resetTitle:`Reset your password`,resetDescription:`We email you a link to choose a new one.`,sendResetLink:`Send reset link`,resetSent:`If {} 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.`,linkExpiredTitle:`This link no longer works`,linkExpiredExplanation:`A reset link works once, for a limited time. Ask for a new one to choose your password.`,sendNewLink:`Send a new link`,passwordsDiffer:`The passwords are not the same.`,choosePassword:`Choose a new password`,atLeast:e=>`At least ${e} characters.`,useAtLeast:e=>`Use at least ${e} characters.`,passwordTooLong:`That password is too long.`,newPassword:`New password`,repeatPassword:`Repeat new password`,setPassword:`Set new password`,signingInWith:e=>`Signing in with ${e}`,takingYouTo:e=>`Taking you to ${e}…`,providerNotOffered:e=>`Signing in with ${e} is not offered here. Sign in another way.`,turnOnTwoFactor:`Turn on two-factor authentication`,addPasskey:`Add a passkey`,requiredForEveryAccount:`This app requires it for every account.`,passkeyExplanation:`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.`,couldNotReadAccount:`Could not read your account`,signInTitle:`Sign in to Protobase`,continueWith:e=>`Continue with ${e}`,signInWithPasskey:`Sign in with a passkey`,passkeyFor:e=>`Use a passkey made for ${e}`,or:`or`,emailSignInCode:`Email me a sign-in code`,forgotPassword:`Forgot password?`,newHere:`New here?`,haveAccount:`Have an account?`,createAnAccount:`Create an account`,browse:`Continue without signing in`,notNow:`Not now`,detailsTitle:`Your details`,detailsDescription:`One last step to create your account.`,yourName:`Your name`,codeWasRight:`The code was right: the account is for {}.`,withoutPassword:` Without one, you sign in with a code we email you.`,createAccount:`Create account`,codeToConfirm:`We email you a code to make sure the address is yours.`,emailCode:`Email me a code`,browseWithoutAccount:`Continue without an account`,staffTitle:`Staff sign-in`,staffUnavailable:`Staff of the team that runs this app cannot sign in as people here.`,signInAsPerson:`Sign in as a person`,forStaffOf:e=>`For staff of ${e}, to help someone with this app.`,theirEmail:`Their email`,reason:`Reason`,reasonExample:`Ticket 4211: the invoice totals look wrong`,staffExplanation:e=>`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.`,totpInstruction:`Enter the 6-digit code from your authenticator app.`,otpInstruction:`Enter the 6-digit code we emailed you. It works for 5 minutes.`,backupInstruction:`Enter one of the backup codes you saved when you set up the authenticator app. Each works once.`,twoFactorTitle:`Two-factor authentication`,twoFactorDescription:`One more step to sign in.`,codeToFinish:`We email you a code to finish signing in.`,trustBrowser:`Trust this browser`,trustBrowserFor:`Don't ask again in this browser for 30 days`,verify:`Verify`,useAuthenticator:`Use the authenticator app`,emailCodeInstead:`Email me a code instead`,useBackupCode:`Use a backup code`,admin:`Admin`},nl:{loading:`Laden`,cannotReach:e=>`Kan de server niet bereiken: ${e}`,tryAgain:`Opnieuw proberen`,passwordChanged:`Je wachtwoord is gewijzigd. Log in met het nieuwe.`,noAnswer:`De server antwoordde niet`,code:`Code`,backupCode:`Back-upcode`,email:`E-mailadres`,password:`Wachtwoord`,passwordOptional:`Wachtwoord (optioneel)`,signIn:`Inloggen`,signOut:`Uitloggen`,continue:`Doorgaan`,backToSignIn:`Terug naar inloggen`,useAnotherAddress:`Een ander adres gebruiken`,checkEmail:`Kijk in je e-mail`,newCodeSent:`Er is een nieuwe code onderweg. Alleen de nieuwste werkt.`,sendNewCode:`Nieuwe code sturen`,sendNewCodeIn:e=>`Nieuwe code sturen over ${e}s`,signInCodeDescription:`Vul de code in die we stuurden om in te loggen.`,signInCodeSent:`Als {} een account heeft, is er een code van 6 cijfers onderweg. Die werkt 5 minuten, één keer.`,signUpCodeDescription:`Vul de code in die we stuurden om je account te maken.`,signUpCodeSent:`Er is een code van 6 cijfers onderweg naar {}. Die werkt 5 minuten, één keer. Heeft het adres al een account, dan staat dat in de e-mail.`,noAdminTitle:`Nog geen beheerder`,noAdminDescription:`Deze Protobase heeft geen gebruikers om mee in te loggen.`,noAdminExplanation:`Voer dit uit in de terminal waar Protobase draait en laad de pagina daarna opnieuw. De eerste beheerder wordt op de server gemaakt, niet in de browser, zodat niemand anders een nieuwe URL kan opeisen.`,copyCommand:`Opdracht kopiëren`,reload:`Opnieuw laden`,tooManyRequests:`Te veel verzoeken. Wacht een minuut en probeer het opnieuw.`,tooManyAttempts:`Te veel pogingen. Wacht een minuut en probeer het opnieuw.`,resetTitle:`Je wachtwoord herstellen`,resetDescription:`We mailen je een link om een nieuw te kiezen.`,sendResetLink:`Herstellink sturen`,resetSent:`Als {} een account heeft, is er een e-mail onderweg met een link om een nieuw wachtwoord te kiezen. De link werkt één keer, een beperkte tijd.`,linkExpiredTitle:`Deze link werkt niet meer`,linkExpiredExplanation:`Een herstellink werkt één keer, een beperkte tijd. Vraag een nieuwe aan om je wachtwoord te kiezen.`,sendNewLink:`Nieuwe link sturen`,passwordsDiffer:`De wachtwoorden zijn niet hetzelfde.`,choosePassword:`Kies een nieuw wachtwoord`,atLeast:e=>`Minstens ${e} tekens.`,useAtLeast:e=>`Gebruik minstens ${e} tekens.`,passwordTooLong:`Dat wachtwoord is te lang.`,newPassword:`Nieuw wachtwoord`,repeatPassword:`Nieuw wachtwoord herhalen`,setPassword:`Nieuw wachtwoord instellen`,signingInWith:e=>`Inloggen met ${e}`,takingYouTo:e=>`Je gaat naar ${e}…`,providerNotOffered:e=>`Inloggen met ${e} kan hier niet. Log op een andere manier in.`,turnOnTwoFactor:`Tweestapsverificatie aanzetten`,addPasskey:`Passkey toevoegen`,requiredForEveryAccount:`Deze app vraagt het voor elk account.`,passkeyExplanation:`Met een passkey log je in met Face ID, Touch ID, Windows Hello, je telefoon of een beveiligingssleutel. Je browser vraagt welke je gebruikt.`,couldNotReadAccount:`Kon je account niet lezen`,signInTitle:`Inloggen bij Protobase`,continueWith:e=>`Doorgaan met ${e}`,signInWithPasskey:`Inloggen met een passkey`,passkeyFor:e=>`Een passkey voor ${e} gebruiken`,or:`of`,emailSignInCode:`Mail me een inlogcode`,forgotPassword:`Wachtwoord vergeten?`,newHere:`Nieuw hier?`,haveAccount:`Heb je een account?`,createAnAccount:`Account maken`,browse:`Doorgaan zonder in te loggen`,notNow:`Niet nu`,detailsTitle:`Je gegevens`,detailsDescription:`Nog één stap om je account te maken.`,yourName:`Je naam`,codeWasRight:`De code klopte: het account is voor {}.`,withoutPassword:` Zonder wachtwoord log je in met een code die we je mailen.`,createAccount:`Account maken`,codeToConfirm:`We mailen je een code om te controleren dat het adres van jou is.`,emailCode:`Mail me een code`,browseWithoutAccount:`Doorgaan zonder account`,staffTitle:`Inloggen als medewerker`,staffUnavailable:`Medewerkers van het team dat deze app beheert, kunnen hier niet als iemand anders inloggen.`,signInAsPerson:`Inloggen als iemand anders`,forStaffOf:e=>`Voor medewerkers van ${e}, om iemand met deze app te helpen.`,theirEmail:`Hun e-mailadres`,reason:`Reden`,reasonExample:`Ticket 4211: de factuurtotalen kloppen niet`,staffExplanation:e=>`Je logt in bij ${e} met een passkey of een tweede stap. De sessie is kort, toont een balk en kan hun inlog niet wijzigen. De beheerders van de app zien wie als wie inlogde, en waarom.`,totpInstruction:`Vul de code van 6 cijfers uit je authenticator-app in.`,otpInstruction:`Vul de code van 6 cijfers in die we je mailden. Die werkt 5 minuten.`,backupInstruction:`Vul een van de back-upcodes in die je bewaarde toen je de authenticator-app instelde. Elke code werkt één keer.`,twoFactorTitle:`Tweestapsverificatie`,twoFactorDescription:`Nog één stap om in te loggen.`,codeToFinish:`We mailen je een code om het inloggen af te ronden.`,trustBrowser:`Deze browser vertrouwen`,trustBrowserFor:`Niet meer vragen in deze browser, 30 dagen lang`,verify:`Controleren`,useAuthenticator:`De authenticator-app gebruiken`,emailCodeInstead:`Mail me liever een code`,useBackupCode:`Een back-upcode gebruiken`,admin:`Beheerder`}}),Ld=(0,I.createContext)(null),B=()=>{let e=(0,I.useContext)(Ld);if(!e)throw Error(`useAuth must be used inside AuthProvider`);return e},Rd=({session:e,children:t})=>{let[n,r]=(0,I.useState)({kind:`loading`}),[i,a]=(0,I.useState)([`password`]),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)([]),[f,p]=(0,I.useState)([]),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)([]),[v,y]=(0,I.useState)(),[b,x]=(0,I.useState)(),[S,C]=(0,I.useState)(!1),[w,T]=(0,I.useState)([]),[E,D]=(0,I.useState)(),O=(0,I.useCallback)(()=>S?{kind:`visitor`}:{kind:`signed-out`},[S]),k=(0,I.useCallback)(()=>r(e=>e.kind===`signed-in`?{kind:`signed-out`}:e),[]),A=(0,I.useRef)(k);A.current=k;let j=(0,I.useMemo)(()=>e??wne({onSignedOut:()=>A.current()}),[e]),M=(0,I.useCallback)(async e=>{let[{missing:t},n]=await Promise.all([j.account.signInMethods(),j.staff.current()]);r(t.length>0?{kind:`setup-required`,user:e,missing:t}:{kind:`signed-in`,user:e,...n&&{staff:n}})},[j]),N=(0,I.useCallback)(async e=>e.kind===`two-factor`?r({kind:`two-factor`,methods:e.methods}):M(e.user),[M]),ee=(0,I.useCallback)(()=>{r({kind:`loading`}),j.status().then(async e=>{if(a(e.signInMethods),s(e.passwordReset),l(!!e.signUp),d(e.passkeyDomains??[]),p(e.socialProviders),h(e.platformSignIn),_(e.samlProviders),y(e.staffSignIn),x(e.organizations),C(!!e.anonymous),T(e.plugins??[]),D(e.locale),e.needsAdmin)return r({kind:`needs-admin`});let t=await j.session();return t?M(t):r({kind:e.anonymous?`visitor`:`signed-out`})}).catch(e=>r({kind:`error`,message:e instanceof Error?e.message:z(`noAnswer`)}))},[j,M]);(0,I.useEffect)(ee,[ee]);let te=(0,I.useMemo)(()=>({state:n,session:j,signInMethods:i,passwordReset:o,canSignUp:c,passkeyDomains:u,socialProviders:f,signInProviders:[...f.map(e=>({id:e,name:Id(e,m)})),...g],staffSignIn:v,...b&&{organizations:b},markSignedOut:k,recheck:ee,beforeSignIn:w,locale:E,adoptSession:async()=>{let e=await j.session();return e?(await M(e),!0):!1},...S&&{browse:()=>{r(e=>e.kind===`signed-out`?{kind:`visitor`}:e)}},signIn:async(e,t)=>N(await j.signIn(e,t)),sendSignInCode:e=>j.sendSignInCode(e),signInWithCode:async(e,t)=>N(await j.signInWithCode(e,t)),sendSignUpCode:e=>j.sendSignUpCode(e),verifySignUpCode:(e,t)=>j.verifySignUpCode(e,t),signUp:async e=>M(await j.signUp(e)),signInWithPasskey:async e=>M(await j.signInWithPasskey(e)),verifyTwoFactor:async e=>M(await j.verifyTwoFactor(e)),signInSocial:async e=>{let t=new URL(Pd(window.location.href),window.location.href).href,n=g.some(t=>t.id===e);window.location.assign(await(n?j.signInSaml(e,t):j.signInSocial(e,t)))},linkProvider:async e=>{window.location.assign(await j.account.linkProvider(e,new URL(Pd(window.location.href),window.location.href).href))},stopStaffSession:async()=>{await j.staff.stop(),r(O())},signOut:async()=>{await j.signOut(),r(O())}}),[n,j,i,o,c,u,f,m,g,v,b,S,w,E,O,k,ee,N,M]);return(0,R.jsx)(Ld.Provider,{value:te,children:t})},zd=new Map,Bd=(e,t)=>{let n=l(),r=`${n}|${e}`;return zd.has(r)||zd.set(r,t(n)),zd.get(r)},Vd=(e,t)=>Bd(`money:${e}:${t??``}`,n=>new Intl.NumberFormat(n,{style:`currency`,currency:e,...t!==void 0&&{minimumFractionDigits:t,maximumFractionDigits:t}})),Hd=(e,t=`EUR`,n)=>Vd(t,n).format(e/100),Ud=a({en:{rows:e=>`${e} rows`,aboutRows:e=>`about ${e} rows`,secondsAgo:e=>`${e} s ago`,minutesAgo:e=>`${e} min ago`,hoursAgo:e=>`${e} h ago`,daysAgo:e=>`${e} d ago`,justNow:`just now`},nl:{rows:e=>`${e} rijen`,aboutRows:e=>`ongeveer ${e} rijen`,secondsAgo:e=>`${e} s geleden`,minutesAgo:e=>`${e} min geleden`,hoursAgo:e=>`${e} u geleden`,daysAgo:e=>`${e} d geleden`,justNow:`zojuist`}}),Wd=()=>Bd(`grouped`,e=>new Intl.NumberFormat(e)),Gd=e=>Wd().format(e),Kd=e=>e>0?`+${Wd().format(e)}`:Wd().format(e).replace(`-`,`−`),qd=e=>`${e}%`,Jd=e=>{if(e<1e4)return Ud(`rows`,Gd(e));let t=10**(Math.floor(Math.log10(e))-3);return Ud(`aboutRows`,Gd(Math.round(e/t)*t))},Yd=()=>Intl.DateTimeFormat().resolvedOptions().timeZone,Xd=new Map,Zd=e=>{let t=Xd.get(e);if(t)return t;let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`});return Xd.set(e,n),n},Qd=(e,t)=>{let n=Object.fromEntries(Zd(t).formatToParts(e).map(e=>[e.type,e.value]));return{year:Number(n.year),month:Number(n.month),day:Number(n.day),hour:Number(n.hour),minute:Number(n.minute),second:Number(n.second)}},$d=(e,t)=>{let n=Qd(e,t);return Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second)-Math.floor(e/1e3)*1e3},ef=e=>String(e).padStart(2,`0`),tf=(e,t)=>{let n=Qd(e,t);return`${n.year}-${ef(n.month)}-${ef(n.day)}`},nf=(e,t)=>e-$d(e-$d(e,t),t),rf=(e,t)=>nf(Date.parse(`${e}T00:00:00Z`),t),af=(e,t)=>{let n=Bd(`zoneName:${t}`,e=>new Intl.DateTimeFormat(e,{timeZone:t,timeZoneName:`shortOffset`})).formatToParts(e).find(e=>e.type===`timeZoneName`)?.value??t;return t===`UTC`||t===`Etc/UTC`?`UTC`:`${t} (${n})`},of=(e,t)=>()=>Bd(`date:${e}`,e=>new Intl.DateTimeFormat(e,{...t,timeZone:`UTC`})),sf=of(`day`,{day:`numeric`,month:`short`,year:`numeric`}),cf=of(`dayShort`,{day:`numeric`,month:`short`}),lf=of(`month`,{month:`long`,year:`numeric`}),uf=of(`monthName`,{month:`long`}),df=of(`weekday`,{weekday:`short`}),ff=of(`weekdayDate`,{weekday:`long`,day:`numeric`,month:`short`,year:`numeric`}),pf=e=>sf().format(e),mf=e=>cf().format(e),hf=e=>Bd(`zoned:${e}`,t=>({day:new Intl.DateTimeFormat(t,{day:`numeric`,month:`short`,year:`numeric`,timeZone:e}),time:new Intl.DateTimeFormat(t,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:e})})),gf=(e,t=Yd())=>{let n=hf(t);return`${n.day.format(e)}, ${n.time.format(e)}`},_f=e=>lf().format(e),vf=e=>uf().format(e),yf=(e,t)=>lf().formatRange(e,t),bf=e=>df().format(e),xf=e=>ff().format(e),Sf=(e,t)=>sf().formatRange(e,t),Cf=(e,t=Yd())=>hf(t).time.format(e),wf=e=>e<60?Ud(`secondsAgo`,e):e<3600?Ud(`minutesAgo`,Math.floor(e/60)):e<86400?Ud(`hoursAgo`,Math.floor(e/3600)):Ud(`daysAgo`,Math.floor(e/86400)),Tf=()=>Bd(`relative`,e=>new Intl.RelativeTimeFormat(e,{numeric:`auto`})),Ef=[[`year`,31536e3],[`month`,2592e3],[`day`,86400],[`hour`,3600],[`minute`,60]],Df=e=>{let t=Math.abs(e),[n,r]=Ef.find(([,e])=>t>=e)??[`second`,1];return n===`second`&&t<45?Ud(`justNow`):Tf().format(-Math.sign(e)*Math.floor(t/r),n)},Of={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`},kf={sm:`h-7 px-2.5 text-body gap-1.5`,md:`h-8 px-3 text-body gap-2`},Af=({variant:e=`secondary`,size:t=`md`}={})=>g(`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`,Of[e],kf[t]),V=({variant:e=`secondary`,size:t=`md`,loading:n,className:r,children:i,disabled:a,...o})=>(0,R.jsxs)(`button`,{type:`button`,disabled:a||n,className:g(Af({variant:e,size:t}),r),...o,children:[n&&(0,R.jsx)(dd,{className:`size-3.5`}),i]}),jf=({title:e,description:t,onClose:n,actions:r,children:i,wide:a=!1})=>{let o=(0,I.useRef)(null);return hu(o,!0,n),(0,R.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,R.jsxs)(`div`,{ref:o,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":e,className:g(`outline-none max-h-[90vh] w-full overflow-y-auto rounded-lg border bg-background p-4 shadow-pop sm:p-5`,a?`max-w-3xl`:`max-w-md`),children:[(0,R.jsx)(`h2`,{className:`text-[16px] font-semibold`,children:e}),t&&(0,R.jsx)(`p`,{className:`mt-1.5 text-muted-foreground`,children:t}),i&&(0,R.jsx)(`div`,{className:`mt-4`,children:i}),(0,R.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})]})})},Mf=({title:e,status:t,description:n,children:r})=>(0,R.jsxs)(`section`,{"aria-label":e,className:`rounded-lg border bg-background p-4 sm:p-5`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`h2`,{className:`text-[16px] font-semibold`,children:e}),t]}),(0,R.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:n}),r&&(0,R.jsx)(`div`,{className:`mt-4`,children:r})]}),Nf=({message:e})=>e?(0,R.jsx)(`p`,{role:`alert`,className:`mb-3 text-body font-medium text-danger-text`,children:e}):null,Pf={allowed:`passkeysAllowed`,required:`passkeysRequired`,forbidden:`passkeysForbidden`},Ff=({rule:e,passkeys:t,onAdd:n,onRename:r,onRemove:i})=>{let[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(),[d,f]=(0,I.useState)(``),p=e===`required`&&t.length<=1,m=async e=>{o(!0),c(void 0);try{await e(),u(void 0)}catch(e){if(!(e instanceof wc))throw e;c(wd(e))}o(!1)};return(0,R.jsxs)(Mf,{title:L(`passkeys`),status:e===`required`&&(0,R.jsx)(Fu,{tone:`blue`,children:L(`required`)}),description:L(Pf[e]),children:[(0,R.jsx)(Nf,{message:l?void 0:s}),t.length>0&&(0,R.jsx)(`ul`,{className:`mb-3 divide-y rounded-md border`,children:t.map(e=>(0,R.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,R.jsx)(wa,{className:`size-4 shrink-0 text-muted-foreground`}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e.name??L(`passkey`)}),(0,R.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[e.createdAt?L(`addedOn`,pf(Date.parse(e.createdAt))):L(`addedEarlier`),` · `,e.backedUp?L(`synced`):L(`oneDevice`)]})]}),(0,R.jsxs)(`span`,{className:`flex gap-1`,children:[(0,R.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>{f(e.name??``),u({kind:`rename`,passkey:e})},children:L(`rename`)}),(0,R.jsx)(V,{size:`sm`,variant:`ghost`,disabled:p,title:p?L(`keepLastPasskey`):void 0,onClick:()=>u({kind:`remove`,passkey:e}),children:L(`remove`)})]})]},e.id))}),e!==`forbidden`&&(0,R.jsxs)(V,{loading:a&&!l,onClick:()=>void m(n),children:[(0,R.jsx)(co,{className:`size-3.5`}),L(`addPasskey`)]}),l?.kind===`rename`&&(0,R.jsxs)(jf,{title:L(`renamePasskey`),description:L(`renamePasskeyDescription`),onClose:()=>u(void 0),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>u(void 0),children:L(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,loading:a,disabled:!d.trim(),onClick:()=>void m(()=>r(l.passkey.id,d.trim())),children:L(`save`)})]}),children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`name`),(0,R.jsx)(cd,{autoFocus:!0,value:d,maxLength:60,onChange:e=>f(e.target.value)})]}),(0,R.jsx)(Nf,{message:s})]}),l?.kind===`remove`&&(0,R.jsx)(jf,{title:L(`removePasskey`),description:L(`removePasskeyDescription`,l.passkey.name??L(`thisPasskey`)),onClose:()=>u(void 0),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>u(void 0),children:L(`cancel`)}),(0,R.jsx)(V,{variant:`danger`,loading:a,onClick:()=>void m(()=>i(l.passkey.id)),children:L(`remove`)})]}),children:s&&(0,R.jsx)(Nf,{message:s})})]})},If=({providers:e,linked:t,onConnect:n,error:r})=>{let[i,a]=(0,I.useState)(),[o,s]=(0,I.useState)(r),c=async e=>{a(e),s(void 0);try{await n(e)}catch(e){if(!(e instanceof wc))throw e;s(wd(e)),a(void 0)}};return(0,R.jsxs)(Mf,{title:L(`connectedAccounts`),description:L(`connectedAccountsDescription`),children:[(0,R.jsx)(Nf,{message:o}),(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`flex flex-wrap items-center gap-3 px-3 py-2.5`,children:[(0,R.jsx)(Ia,{className:`size-4 shrink-0 text-muted-foreground`}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:e.name}),t.includes(e.id)?(0,R.jsx)(Fu,{tone:`green`,children:L(`connected`)}):(0,R.jsx)(V,{size:`sm`,loading:i===e.id,disabled:i!==void 0,onClick:()=>void c(e.id),children:L(`connect`,e.name)})]},e.id))})]})},Lf=(e,t,n=`text/plain`)=>{let r=URL.createObjectURL(new Blob([e],{type:n}));Object.assign(document.createElement(`a`),{href:r,download:t}).click(),URL.revokeObjectURL(r)},Rf=({codes:e})=>{let[t,n]=(0,I.useState)(!1),r=`${e.join(`
7
- `)}\n`;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`ul`,{"aria-label":L(`backupCodes`),className:`grid grid-cols-2 gap-x-4 gap-y-1 rounded-md border bg-surface p-3 font-mono`,children:e.map(e=>(0,R.jsx)(`li`,{children:e},e))}),(0,R.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,R.jsxs)(V,{size:`sm`,onClick:()=>{navigator.clipboard.writeText(r).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},children:[t?(0,R.jsx)(bi,{className:`size-3.5 text-success`}):(0,R.jsx)(Hi,{className:`size-3.5`}),L(t?`copied`:`copy`)]}),(0,R.jsxs)(V,{size:`sm`,onClick:()=>Lf(r,`backup-codes.txt`),children:[(0,R.jsx)(Ji,{className:`size-3.5`}),L(`download`)]})]})]})},zf=({title:e,description:t,confirmLabel:n,danger:r,needsPassword:i,onConfirm:a,onClose:o})=>{let[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(),p=async()=>{u(!0),f(void 0);try{await a(i?s:void 0)}catch(e){if(!(e instanceof wc))throw e;f(wd(e)),u(!1)}};return(0,R.jsxs)(jf,{title:e,description:t,onClose:o,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:o,children:L(`cancel`)}),(0,R.jsx)(V,{variant:r?`danger`:`primary`,loading:l,disabled:i&&!s,onClick:()=>void p(),children:n})]}),children:[i&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`yourPassword`),(0,R.jsx)(cd,{type:`password`,autoComplete:`current-password`,autoFocus:!0,value:s,invalid:!!d,onChange:e=>c(e.target.value),onKeyDown:e=>e.key===`Enter`&&s&&void p()})]}),d&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-2 text-body font-medium text-danger-text`,children:d})]})},Bf=(e,t)=>e.replace(/\D/g,``).slice(0,t),Vf=(e,t,n)=>{let r=Bf(t??``,n);return r.length===n?r:Bf(e,n)},Hf=(e,t,n,r)=>{let i=t.replace(/\D/g,``);return i.length>=r?i.slice(0,r):Bf(e.slice(0,n)+i+e.slice(n+i.length),r)},Uf=({value:e,onChange:t,onComplete:n,length:r=6,invalid:i,disabled:a,className:o,ref:s,onFocus:c,onBlur:l,onSelect:u,onKeyDown:d,onClick:f,onPaste:p,...m})=>{let h=(0,I.useRef)(null),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)(e.length),x=e.slice(0,r),S=Math.min(y,r-1),C=e=>{h.current=e,typeof s==`function`?s(e):s&&(s.current=e)},w=e=>{e!==x&&(t(e),e.length===r&&n?.(e))},T=e=>{let t=h.current;if(!t)return;let n=Math.max(0,Math.min(e,x.length));t.setSelectionRange(n,n<x.length?n+1:n),b(n)},E=e=>{if(d?.(e),e.defaultPrevented||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)return;let t=e.currentTarget.selectionStart??x.length,n={ArrowLeft:t-1,ArrowRight:t+1,Home:0,End:x.length}[e.key];n!==void 0&&(e.preventDefault(),T(n))},D=e=>{f?.(e);let t=e.currentTarget.getBoundingClientRect();e.clientX<=t.left||e.clientX>=t.right||T(Math.floor((e.clientX-t.left)/t.width*r))};return(0,R.jsxs)(`div`,{className:g(`relative`,a&&`opacity-50`,o),children:[(0,R.jsx)(`div`,{"aria-hidden":!0,className:`flex justify-center gap-2`,children:Array.from({length:r},(e,t)=>{let n=_&&t===S;return(0,R.jsx)(`div`,{"data-slot":t,"data-digit":x[t],className:g(`flex h-12 min-w-0 max-w-12 flex-1 items-center justify-center rounded-md border bg-background font-mono text-xl font-semibold text-foreground shadow-sm transition-colors before:content-[attr(data-digit)]`,i?`border-danger`:n?`border-primary`:`border-border-strong`,n&&(i?`ring-2 ring-danger/20`:`ring-2 ring-primary/20`)),children:x[t]===void 0&&(n?(0,R.jsx)(`span`,{className:`h-6 w-px animate-pulse bg-foreground`}):(0,R.jsx)(`span`,{className:`size-1.5 rounded-full bg-border-strong`}))},t)})}),(0,R.jsx)(`input`,{ref:C,type:`text`,inputMode:`numeric`,autoComplete:`one-time-code`,pattern:`[0-9]{${r}}`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,"aria-invalid":i||void 0,disabled:a,value:x,className:`absolute inset-0 size-full cursor-text bg-transparent text-transparent caret-transparent outline-none selection:bg-transparent disabled:cursor-not-allowed`,...m,onChange:e=>{let{data:t,dataTransfer:n}=e.nativeEvent;w(Vf(e.target.value,t??n?.getData(`text/plain`),r))},onPaste:e=>{if(p?.(e),e.defaultPrevented)return;e.preventDefault();let t=e.currentTarget,n=Hf(x,e.clipboardData.getData(`text`),t.selectionStart??x.length,r);w(n),b(n.length)},onSelect:e=>{u?.(e);let t=e.currentTarget,n=t.selectionStart??x.length;n===t.selectionEnd&&n<t.value.length&&t.setSelectionRange(n,n+1),b(n)},onKeyDown:E,onClick:D,onFocus:e=>{v(!0),c?.(e)},onBlur:e=>{v(!1),l?.(e)}})]})},Wf=(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))(Wf||{}),Gf=[0,1],Kf=[1,0],qf=[2,3],Jf=[3,2],Yf={L:Gf,M:Kf,Q:qf,H:Jf},Xf=/^\d*$/,Zf=/^[A-Z0-9 $%*+./:-]*$/,Qf=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,$f=1,ep=40,tp=3,np=3,rp=40,ip=10,ap=[[-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]],op=[[-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]],sp=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<$f||e>ep)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,Wf.Timing),this.setFunctionModule(e,6,e%2==0,Wf.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,lp(r,e));this.setFunctionModule(8,7,lp(r,6)),this.setFunctionModule(8,8,lp(r,7)),this.setFunctionModule(7,8,lp(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,lp(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,lp(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,lp(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=lp(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,Wf.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,Wf.Alignment)}setFunctionModule(e,t,n,r=Wf.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==wp(t,n))throw RangeError(`Invalid argument`);let r=op[n[0]][t],i=ap[n[0]][t],a=Math.floor(Cp(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=Tp(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=Ep(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(Cp(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]=lp(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+=tp:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*rp),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*rp}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+=tp:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*rp),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*rp}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+=np)}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*ip,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 cp(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 lp(e,t){return!!(e>>>t&1)}var up=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()}},dp=[1,10,12,14],fp=[2,9,11,13],pp=[4,8,16,16];function mp(e,t){return e[Math.floor((t+7)/17)+1]}function hp(e){let t=[];for(let n of e)cp(n,8,t);return new up(pp,e.length,t)}function gp(e){if(!yp(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);cp(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new up(dp,e.length,t)}function _p(e){if(!bp(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)),cp(r,11,t)}return n<e.length&&cp(Qf.indexOf(e.charAt(n)),6,t),new up(fp,e.length,t)}function vp(e){return e===``?[]:yp(e)?[gp(e)]:bp(e)?[_p(e)]:[hp(Sp(e))]}function yp(e){return Xf.test(e)}function bp(e){return Zf.test(e)}function xp(e,t){let n=0;for(let r of e){let e=mp(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function Sp(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 Cp(e){if(e<$f||e>ep)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 wp(e,t){return Math.floor(Cp(e)/8)-ap[t[0]][e]*op[t[0]][e]}function Tp(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]=Dp(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=Dp(n,2)}return t}function Ep(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]^=Dp(t,e))}return n}function Dp(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 Op(e,t,n=1,r=40,i=-1,a=!0){if(!($f<=n&&n<=r&&r<=ep)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=wp(o,t)*8,i=xp(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[Kf,qf,Jf])a&&s<=wp(o,e)*8&&(t=e);let c=[];for(let t of e){cp(t.mode[0],4,c),cp(t.numChars,mp(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=wp(o,t)*8;cp(0,Math.min(4,l-c.length),c),cp(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)cp(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 sp(o,t,u,i)}function kp(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`?vp(e):Array.isArray(e)?[hp(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=Op(c,Yf[n],i,a,o,r),u=Ap({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 Ap(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=Wf.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 jp=({uri:e,className:t})=>{let{size:n,path:r}=(0,I.useMemo)(()=>{let t=kp(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,R.jsxs)(`svg`,{viewBox:`0 0 ${n} ${n}`,role:`img`,"aria-label":L(`qrCode`),shapeRendering:`crispEdges`,className:t,children:[(0,R.jsx)(`rect`,{width:n,height:n,fill:`#fff`}),(0,R.jsx)(`path`,{d:r,fill:`#000`})]})},Mp=e=>(new URL(e).searchParams.get(`secret`)??``).replace(/(.{4})(?=.)/g,`$1 `),Np=()=>[{value:`app`,label:L(`authenticatorApp`),description:L(`authenticatorAppDescription`)},{value:`email`,label:L(`emailedCode`),description:L(`emailedCodeDescription`)}],Pp=({offerEmailedCodes:e,needsPassword:t,onStartApp:n,onConfirmApp:r,onEmailedCodes:i,onDone:a,onCancel:o})=>{let[s,c]=(0,I.useState)({kind:`choose`}),[l,u]=(0,I.useState)(`app`),[d,f]=(0,I.useState)(``),[p,m]=(0,I.useState)(``),[h,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)(),b=e?Np():Np().filter(e=>e.value===`app`),x=async e=>{_(!0),y(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;y(wd(e))}_(!1)},S=()=>x(async()=>{let e=t?d:void 0;if(l===`email`)return await i(e),a();c({kind:`scan`,setup:await n(e)})}),C=(e,t=p)=>x(async()=>{await r(t),c({kind:`backup-codes`,codes:e.backupCodes})}),w=v&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:v});return s.kind===`backup-codes`?(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`twoFactorIsOn`)}),(0,R.jsx)(Rf,{codes:s.codes}),(0,R.jsx)(V,{variant:`primary`,onClick:a,className:`min-h-10`,children:L(`savedCodes`)})]}):s.kind===`scan`?(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C(s.setup)},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`scanCode`)}),(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,R.jsx)(jp,{uri:s.setup.totpURI,className:`size-44 rounded-md border`}),(0,R.jsxs)(`p`,{className:`text-center text-xs text-muted-foreground`,children:[L(`cannotScan`),(0,R.jsx)(`span`,{className:`mt-1 block break-all font-mono text-body text-foreground`,children:Mp(s.setup.totpURI)})]})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`codeFromApp`),(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:p,invalid:!!v,onChange:m,onComplete:e=>!h&&void C(s.setup,e)})]}),w,(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:h,className:`min-h-10`,children:L(`turnOn`)}),o&&(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:L(`cancel`)})]}):(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,R.jsx)(`div`,{role:`radiogroup`,"aria-label":L(`secondStep`),className:`flex flex-col gap-2`,children:b.map(e=>(0,R.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":l===e.value,onClick:()=>u(e.value),className:g(`rounded-md border p-3 text-left transition-colors`,l===e.value?`border-primary bg-primary-soft`:`border-border-strong hover:bg-muted`),children:[(0,R.jsx)(`span`,{className:`block font-medium`,children:e.label}),(0,R.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]},e.value))}),t&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`yourPassword`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:d,invalid:!!v,onChange:e=>f(e.target.value),className:`min-h-6`})]}),w,(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:h,className:`min-h-10`,children:L(`continue`)}),o&&(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:L(`cancel`)})]})},Fp={allowed:`twoFactorAllowed`,required:`twoFactorRequired`,forbidden:`twoFactorForbidden`},Ip=e=>{let{rule:t,enabled:n,authenticatorApp:r,mail:i,needsPassword:a,onTurnOff:o,onNewBackupCodes:s,onChanged:c}=e,[l,u]=(0,I.useState)(),d=()=>u(void 0),f=n?(0,R.jsx)(Fu,{tone:`green`,children:L(`on`)}):t===`required`?(0,R.jsx)(Fu,{tone:`amber`,children:L(`required`)}):(0,R.jsx)(Fu,{children:L(`off`)}),p=L(n?r?i?`twoFactorOnWithAppOrMail`:`twoFactorOnWithApp`:`twoFactorOnWithMail`:Fp[t]);return l?.kind===`setup`?(0,R.jsx)(Mf,{title:L(`twoFactor`),status:f,description:p,children:(0,R.jsx)(`div`,{className:`max-w-sm`,children:(0,R.jsx)(Pp,{offerEmailedCodes:i&&!l.appOnly,needsPassword:a,onStartApp:e.onStartApp,onConfirmApp:e.onConfirmApp,onEmailedCodes:e.onEmailedCodes,onCancel:d,onDone:()=>{d(),c()}})})}):(0,R.jsxs)(Mf,{title:L(`twoFactor`),status:f,description:p,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[!n&&t!==`forbidden`&&(0,R.jsx)(V,{variant:`primary`,onClick:()=>u({kind:`setup`,appOnly:!1}),children:L(`turnOn`)}),n&&!r&&t!==`forbidden`&&(0,R.jsx)(V,{onClick:()=>u({kind:`setup`,appOnly:!0}),children:L(`addAuthenticator`)}),n&&r&&(0,R.jsx)(V,{onClick:()=>u({kind:`new-codes`}),children:L(`newBackupCodes`)}),n&&(0,R.jsx)(V,{variant:`danger`,disabled:t===`required`,title:t===`required`?L(`twoFactorIsRequired`):void 0,onClick:()=>u({kind:`turn-off`}),children:L(`turnOff`)})]}),l?.kind===`turn-off`&&(0,R.jsx)(zf,{title:L(`turnOffTitle`),description:L(`turnOffDescription`),confirmLabel:L(`turnOff`),danger:!0,needsPassword:a,onClose:d,onConfirm:async e=>{await o(e),d(),c()}}),l?.kind===`new-codes`&&(0,R.jsx)(zf,{title:L(`newCodesTitle`),description:L(`newCodesDescription`),confirmLabel:L(`makeNewCodes`),needsPassword:a,onClose:d,onConfirm:async e=>u({kind:`codes`,codes:await s(e)})}),l?.kind===`codes`&&(0,R.jsx)(jf,{title:L(`yourNewCodes`),description:L(`keepCodesSafe`),onClose:d,actions:(0,R.jsx)(V,{variant:`primary`,onClick:d,children:L(`savedCodes`)}),children:(0,R.jsx)(Rf,{codes:l.codes})})]})},Lp=()=>{let e=Nd(window.location.href);return e&&window.history.replaceState(window.history.state,``,Pd(window.location.href)),e},Rp=({email:e})=>{let{session:t,signInProviders:n,socialProviders:r,linkProvider:i}=B(),a=n.filter(e=>r.includes(e.id)),{account:o}=t,[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(),[d]=(0,I.useState)(Lp),f=(0,I.useCallback)(()=>{Promise.all([o.signInMethods(),o.passkeys(),o.linkedProviders()]).then(([e,t,n])=>c({methods:e,passkeys:t,linked:n}),e=>u(e instanceof wc?wd(e):L(`couldNotReadMethods`)))},[o]);(0,I.useEffect)(f,[f]);let p=e=>e.then(e=>(f(),e));return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:L(`signInSecurity`),subtitle:e}),s?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ff,{rule:s.methods.policy.passkey,passkeys:s.passkeys,onAdd:()=>p(o.addPasskey()),onRename:(e,t)=>p(o.renamePasskey(e,t)),onRemove:e=>p(o.removePasskey(e))}),(0,R.jsx)(Ip,{rule:s.methods.policy.twoFactor,enabled:s.methods.account.twoFactor,authenticatorApp:s.methods.account.authenticatorApp,mail:s.methods.mail,needsPassword:s.methods.account.password,onStartApp:e=>o.startAuthenticatorApp(e),onConfirmApp:e=>o.confirmAuthenticatorApp(e),onEmailedCodes:e=>o.turnOnEmailedCodes(e),onTurnOff:e=>o.turnOffTwoFactor(e),onNewBackupCodes:e=>o.newBackupCodes(e),onChanged:f}),a.length>0&&(0,R.jsx)(If,{providers:a,linked:s.linked,onConnect:i,error:d&&kd(d,a.length===1?a[0].name:L(`theProvider`))})]}):l?(0,R.jsx)(`p`,{role:`alert`,className:`text-danger-text`,children:l}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,L(`loading`)]})]})},zp=()=>[{value:`allowed`,label:L(`on`)},{value:`forbidden`,label:L(`off`)}],Bp=()=>[{value:`allowed`,label:L(`optional`)},{value:`required`,label:L(`required`)},{value:`forbidden`,label:L(`off`)}],Vp=()=>[{method:`password`,label:L(`password`),description:L(`passwordDescription`),rules:zp()},{method:`emailCode`,label:L(`emailedSignInCode`),description:L(`emailedSignInCodeDescription`),rules:zp()},{method:`passkey`,label:L(`passkeys`),description:L(`passkeysPolicyDescription`),rules:Bp()},{method:`twoFactor`,label:L(`twoFactor`),description:L(`twoFactorPolicyDescription`),rules:Bp()},{method:`staffAccess`,label:L(`staffAccess`),description:L(`staffAccessDescription`),rules:[{value:`allowed`,label:L(`on`)},{value:`notify`,label:L(`emailThePerson`)},{value:`forbidden`,label:L(`off`)}]},{method:`platformSignIn`,label:L(`platformSignIn`),description:L(`platformSignInDescription`),rules:zp()}],Hp=(e,t)=>{let n=Vp().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},Up=({row:e,value:t,onChange:n})=>(0,R.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,R.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e.value===t,onClick:()=>n(e.value),className:g(`rounded px-3 text-body font-medium transition-colors`,e.value===t?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:e.label},e.value))}),Wp=({method:e},t,{mail:n,effective:r,policy:i})=>{if(e===`emailCode`&&!n)return L(`codeNeedsMail`);if(e===`password`&&!n&&t.password===`forbidden`)return L(`passwordStaysOn`);if(e===`staffAccess`&&!n&&t.staffAccess===`notify`)return L(`staffNeedsMail`);if(e===`platformSignIn`&&t.platformSignIn===`allowed`&&(t.passkey===`required`||t.twoFactor===`required`))return L(`platformOff`);if(t[e]===i[e]&&r[e]!==i[e])return L(`appliesAs`,Hp(e,r[e]))},Gp=({operator:e,platformSignIn:t})=>Vp().flatMap(n=>n.method===`staffAccess`&&!e?[]:n.method===`platformSignIn`?t?[{...n,label:L(`platformSignInWith`,t)}]:[]:[n]),Kp=({state:e,onSave:t,busy:n,error:r,notice:i})=>{let[a,o]=(0,I.useState)(e.policy),s=Gp(e),c=s.some(({method:t})=>a[t]!==e.policy[t]);return(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t(a)},children:[(0,R.jsx)(`ul`,{className:`divide-y rounded-lg border bg-background`,children:s.map(t=>{let n=Wp(t,a,e);return(0,R.jsxs)(`li`,{className:`flex flex-col gap-3 p-4 sm:flex-row sm:items-start sm:justify-between`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`h2`,{className:`font-semibold`,children:t.label}),(0,R.jsx)(`p`,{className:`mt-0.5 text-muted-foreground`,children:t.description}),n&&(0,R.jsx)(`p`,{className:`mt-1.5 text-xs font-medium text-warning-text`,children:n})]}),(0,R.jsx)(Up,{row:t,value:a[t.method],onChange:e=>o({...a,[t.method]:e})})]},t.method)})}),r&&(0,R.jsx)(`p`,{role:`alert`,className:`rounded-md bg-danger-soft px-3 py-2 text-body font-medium text-danger-text`,children:r}),i&&!c&&(0,R.jsx)(`p`,{role:`status`,className:`rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:i}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.savedAt?e.savedBy?L(`lastSavedBy`,e.savedBy,gf(Date.parse(e.savedAt))):L(`lastSaved`,gf(Date.parse(e.savedAt))):L(`neverChanged`)}),(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[c&&(0,R.jsx)(V,{onClick:()=>o(e.policy),children:L(`reset`)}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:n,disabled:!c,children:L(`save`)})]})]})]})},qp=(e,t)=>e.endedAt?(0,R.jsx)(Fu,{tone:`neutral`,children:L(`stopped`,gf(Date.parse(e.endedAt)))}):Date.parse(e.expiresAt)<=t?(0,R.jsx)(Fu,{tone:`neutral`,children:L(`ended`,gf(Date.parse(e.expiresAt)))}):(0,R.jsx)(Fu,{tone:`amber`,children:L(`signedInUntil`,gf(Date.parse(e.expiresAt)))}),Jp=({signIns:e,operator:t,error:n,now:r=Date.now()})=>(0,R.jsxs)(Mf,{title:L(`staffSignIns`),description:L(`staffSignInsDescription`,t),children:[(0,R.jsx)(Nf,{message:n}),e&&e.length===0&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`noStaffSignIns`)}),e&&e.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`flex flex-col gap-1.5 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,R.jsx)(`span`,{className:`font-medium break-all`,children:e.staffName?`${e.staffName} (${e.staff})`:e.staff}),(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:L(`as`)}),(0,R.jsx)(`span`,{className:`font-medium break-all`,children:e.user})]}),(0,R.jsx)(`p`,{className:`break-words`,children:e.reason}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:gf(Date.parse(e.startedAt))}),qp(e,r)]})]},e.id))})]}),Yp=({operator:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)();return(0,I.useEffect)(()=>{t.staff.log().then(r,e=>a(e instanceof wc?wd(e):L(`couldNotReadStaffSignIns`)))},[t]),(0,R.jsx)(Jp,{operator:e,signIns:n,error:i})},Xp=()=>{let{session:e}=B(),[t,n]=(0,I.useState)(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)();(0,I.useEffect)(()=>{e.signInPolicy.read().then(n,e=>o(e instanceof wc?wd(e):L(`couldNotReadPolicy`)))},[e]);let l=async t=>{i(!0),o(void 0),c(void 0);try{n(await e.signInPolicy.save(t)),c(L(`policySaved`))}catch(e){if(!(e instanceof wc))throw e;o(wd(e))}i(!1)};return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:L(`signInPolicy`),subtitle:L(`policySubtitle`)}),t?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Kp,{state:t,busy:r,error:a,notice:s,onSave:e=>void l(e)},t.savedAt??`default`),t.operator&&(0,R.jsx)(Yp,{operator:t.operator})]}):a?(0,R.jsx)(`p`,{role:`alert`,className:`text-danger-text`,children:a}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,L(`loading`)]})]})},Zp=I.createContext(void 0),Qp=e=>{let t=I.useContext(Zp);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},$p=({client:e,children:t})=>(I.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,R.jsx)(Zp.Provider,{value:e,children:t})),em={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},tm=new class{#e=em;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 nm(e){setTimeout(e,0)}var rm=typeof window>`u`||`Deno`in globalThis;function im(){}function am(e,t){return typeof e==`function`?e(t):e}function om(e){return typeof e==`number`&&e>=0&&e!==1/0}function sm(e,t){return Math.max(e+(t||0)-Date.now(),0)}function cm(e,t){return typeof e==`function`?e(t):e}function lm(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==dm(o,t.options))return!1}else if(!pm(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 um(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(fm(t.options.mutationKey)!==fm(a))return!1}else if(!pm(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function dm(e,t){return(t?.queryKeyHashFn||fm)(e)}function fm(e){return JSON.stringify(e,(e,t)=>vm(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function pm(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(!pm(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!pm(e[r],t[r]))return!1;return!0}return!1}var mm=Object.prototype.hasOwnProperty;function hm(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=_m(e)&&_m(t);if(!r&&!(vm(e)&&vm(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:mm.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=hm(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function gm(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 _m(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function vm(e){if(!ym(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!(!ym(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function ym(e){return Object.prototype.toString.call(e)===`[object Object]`}function bm(e){return new Promise(t=>{tm.setTimeout(t,e)})}function xm(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:hm(e,t)}function Sm(e){return e}function Cm(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function wm(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Tm=Symbol();function Em(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Tm?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Dm(e,t){return typeof e==`function`?e(...t):!!e}function Om(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 km=()=>rm,Am=()=>km(),jm=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(){}},Mm=new class extends jm{#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`}},Nm=nm;function Pm(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Nm,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 Fm=Pm(),Im=new class extends jm{#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 Lm(e){return Math.min(1e3*2**e,3e4)}function Rm(e){return(e??`online`)!==`online`||Im.isOnline()}var zm=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Bm(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(im);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new zm(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Mm.isFocused()&&(e.networkMode===`always`||Im.isOnline())&&e.canRun(),p=()=>Rm(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??(Am()?0:3),a=e.retryDelay??Lm,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),bm(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 Vm=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),om(this.gcTime)&&(this.#e=tm.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Am()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(tm.clearTimeout(this.#e),this.#e=void 0)}};function Hm(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=>{Om(e,()=>t.signal,()=>n=!0)},u=Em(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?wm:Cm;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?Wm:Um,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:Um(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 Um(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 Wm(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Gm(e,t){return t?Um(e,t)!=null:!1}function Km(e,t){return!t||!e.getPreviousPageParam?!1:Wm(e,t)!=null}var qm=class extends Vm{#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=Xm(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=Xm(this.options);e.data!==void 0&&(this.setState(Ym(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=xm(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(im).catch(im):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=>cm(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Tm||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>cm(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:!sm(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=Em(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`?Hm(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=Bm({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof zm&&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 zm){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,...Jm(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ym(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),Fm.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Jm(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Rm(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ym(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Xm(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 Zm=class extends jm{#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),$m(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return eh(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return eh(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 cm(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&&!gm(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&th(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||cm(this.options.enabled,this.#t)!==cm(t.enabled,this.#t)||cm(this.options.staleTime,this.#t)!==cm(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||cm(this.options.enabled,this.#t)!==cm(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 gm(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(im)),t}#h(e){return!Am()&&cm(this.options.enabled,this.#t)!==!1&&om(e)}#g(){this.#b();let e=cm(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=sm(this.#r.dataUpdatedAt,e)+1;this.#u=tm.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return cm(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=tm.setInterval(()=>{(this.options.refetchIntervalInBackground||Mm.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(tm.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(tm.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&&$m(e,t),o=i&&th(e,n,t,r);(a||o)&&(l={...l,...Jm(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=xm(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=xm(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:nh(e,t),refetch:this.refetch,isEnabled:cm(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),gm(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)})})();Fm.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 cm(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||cm(t.retryOnMount,e)!==!1)}function $m(e,t){return Qm(e,t)||e.state.data!==void 0&&eh(e,t,t.refetchOnMount)}function eh(e,t,n){if(cm(t.enabled,e)!==!1&&cm(t.staleTime,e)!==`static`){let r=cm(n,e);return r===`always`||r!==!1&&nh(e,t)}return!1}function th(e,t,n,r){return(e!==t||cm(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&nh(e,n)}function nh(e,t){return cm(t.enabled,e)!==!1&&e.isStaleByTime(cm(t.staleTime,e))}var rh=class extends Zm{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:Gm(t,n.data),hasPreviousPage:Km(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}},ih=class extends Vm{#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||ah(),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=Bm({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),Fm.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function ah(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var oh=class extends jm{#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 ih({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=sh(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=sh(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=sh(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=sh(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Fm.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=>um(t,e))}findAll(e={}){return this.getAll().filter(t=>um(e,t))}notify(e){Fm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Fm.batch(()=>Promise.all(e.map(e=>e.continue().catch(im))))}};function sh(e){return e.options.scope?.id}var ch=class extends jm{#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),gm(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&fm(t.mutationKey)!==fm(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??ah();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){Fm.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 lh(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var uh=class extends jm{#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,Fm.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||!gm(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(lh(e,n).forEach(e=>{e.destroy()}),lh(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=hm(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 Zm(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)&&Fm.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},dh=class extends jm{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??dm(r,t),a=this.get(i);return a||(a=new qm({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(){Fm.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=>lm(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>lm(e,t)):t}notify(e){Fm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Fm.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Fm.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},fh=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new dh,this.#t=e.mutationCache||new oh,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Mm.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Im.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(cm(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=am(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Fm.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;Fm.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Fm.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=Fm.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(im).catch(im)}invalidateQueries(e,t={}){return Fm.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=Fm.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(im)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(im)}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(cm(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(cm(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(im).catch(im)}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(im).catch(im)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Im.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(fm(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{pm(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(fm(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{pm(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||=dm(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===Tm&&(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()}},ph=I.createContext(!1),mh=()=>I.useContext(ph);ph.Provider;function hh(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var gh=I.createContext(hh()),_h=()=>I.useContext(gh),vh=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Dm(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},yh=e=>{I.useEffect(()=>{e.clearReset()},[e])},bh=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Dm(n,[e.error,r])),xh=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))}},Sh=(e,t)=>e?.suspense&&t.isPending,Ch=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function wh({queries:e,...t},n){let r=Qp(n),i=mh(),a=_h(),o=t.subscribed!==!1,s=I.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{xh(e);let t=r.getQueryCache().get(e.queryHash);vh(e,a,t)}),yh(a);let[c]=I.useState(()=>new uh(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;I.useSyncExternalStore(I.useCallback(e=>f?c.subscribe(Fm.batchCalls(e)):im,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),I.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>Sh(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&Sh(n,e)?Ch(n,new Zm(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&bh({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Th(e,t,n){let r=mh(),i=_h(),a=Qp(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,xh(o),vh(o,i,s),yh(i);let[l]=I.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(I.useSyncExternalStore(I.useCallback(e=>{let t=d?l.subscribe(Fm.batchCalls(e)):im;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),I.useEffect(()=>{l.setOptions(o)},[o,l]),Sh(o,u))throw Ch(o,l,i);if(bh({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function Eh(e,t){return Th(e,Zm,t)}function Dh(e,t){let n=Qp(t),[r]=I.useState(()=>new ch(n,e));I.useEffect(()=>{r.setOptions(e)},[r,e]);let i=I.useSyncExternalStore(I.useCallback(e=>r.subscribe(Fm.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=I.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(im)},[r]);if(i.error&&Dm(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function Oh(e,t){return Th(e,rh,t)}var kh=()=>{let e=0;return{refetchOnWindowFocus:()=>e>0?!1:`always`,paused:()=>e>0,pause:()=>{e+=1;let t=!1;return()=>{t||(t=!0,--e)}}}},Ah=(0,I.createContext)(null),jh=e=>{let t=(0,I.useContext)(Ah);(0,I.useEffect)(()=>e&&t?t.pause():void 0,[e,t])},Mh=e=>{let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),window.addEventListener(`focus`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,t)}},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],pages:(e,t,n)=>[`page`,e,t,n],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],recordPreview:(e,t)=>[`record-preview`,e,t],history:(e,t,n)=>[`record`,e,t,`history`,n],comments:(e,t)=>[`record`,e,t,`comments`],mentionable:(e,t,n)=>[`record`,e,t,`mentionable`,n],facets:(e,t,n)=>[`facets`,e,t,n],series:(e,t,n,r,i)=>[`series`,e,t,n,r,i],aggregate:(e,t)=>[`aggregate`,e,t],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],pickedLabels:(e,t)=>[`picked-labels`,e,t],count:(e,t)=>[`count`,e,t],exportCount:(e,t)=>[`list`,e,t,`export-count`],firstRecord:(e,t,n)=>[`first-record`,e,t,n],pathValue:(e,t,n)=>[`path-value`,e,t,n],publicForm:e=>[`public-form`,e]},Nh=(0,I.createContext)(null),Ph=(0,I.createContext)(null),Fh=(0,I.createContext)(null),U=()=>{let e=(0,I.useContext)(Nh);if(!e)throw Error(`useClient must be used inside ApiProvider`);return e},Ih=e=>{let t=U();return(0,I.useContext)(Fh)?.(e)??t},Gne=()=>{let e=U(),t=(0,I.useContext)(Fh);return(0,I.useCallback)(n=>t?.(n)??e,[e,t])},Kne=()=>{let e=(0,I.useContext)(Ph);if(!e)throw Error(`useSourceClients must be used inside ApiProvider`);return e},qne=({client:e,resourceClient:t,children:n})=>(0,R.jsx)(Nh.Provider,{value:e,children:(0,R.jsx)(Fh.Provider,{value:t,children:n})}),Lh=({baseUrl:e,client:t,sources:n,fetch:r,queryClient:i,token:a,onUnauthenticated:o,children:s})=>{let[c]=(0,I.useState)(kh),[l]=(0,I.useState)(()=>i??new fh({defaultOptions:{queries:{staleTime:3e4,retry:!1,refetchOnWindowFocus:c.refetchOnWindowFocus}}}));(0,I.useEffect)(()=>Mm.setEventListener(Mh),[]);let u=(0,I.useRef)(void 0),d=(0,I.useMemo)(()=>t??cc({baseUrl:e,fetch:r,token:a,onUnauthenticated:o,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,o]),f=(0,I.useMemo)(()=>{let e=new Map;return t=>{let i=n?.[t.url]??e.get(t.url);if(i)return i;let o,s=cc({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,R.jsx)($p,{client:l,children:(0,R.jsx)(Nh.Provider,{value:d,children:(0,R.jsx)(Ph.Provider,{value:f,children:(0,R.jsx)(Ah.Provider,{value:c,children:s})})})})},W=a({en:{notFound:`Not found`,noResource:e=>`There is no resource called ${e}.`,somethingWentWrong:`Something went wrong`,signInSecurity:`Sign-in & security`,signInPolicy:`Sign-in policy`,adminsOnly:`Admins only`,onlyAdminPolicy:`Only an admin can change how people sign in.`,ownersOnly:`Owners and admins only`,onlyOwners:`Only the organization's owners and admins manage its members.`,chooseResource:`Choose a resource`,pickFromSidebar:`Pick one from the sidebar.`,nothingHere:`There is nothing at this address.`,noPage:`There is no page called {}.`,assistant:`Assistant`,operationFailed:(e,t,n)=>`Operation ${e} (${t}) failed: ${n} Nothing was saved.`,nothingSaved:e=>`${e} Nothing was saved.`,admin:`Admin`,new:`New`,loadingRecord:`Loading record`,noComponent:`No component is registered as {}. Export it from protobase.ui.tsx, or load the plugin that provides it.`,choose:`Choose...`,fileMissing:`The file is missing from storage`,chooseFileFor:e=>`Choose a file for ${e}`,notUploaded:`Not uploaded`,uploadingLabel:e=>`Uploading ${e}`,uploading:e=>`Uploading… ${e}%`,replace:`Replace`,remove:`Remove`,dropFile:`Drop a file here or`,chooseFile:`Choose a file`,average:e=>`Average ${e.toLowerCase()}`,pages:`Pages`,account:`Account`,sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,hr:`HR`,cannotReach:e=>`Cannot reach ${e}`,searchPlural:e=>`Search ${e}`,couldNotLoadOptions:`Could not load the options`,noMatches:`No matches`,loading:`Loading`,leaveTitle:`Leave without saving?`,leaveDescription:`You have unsaved changes on this page. They stay in this browser, and come back when you open the record again.`,stay:`Stay`,leave:`Leave`,show:e=>`Show ${e}`,hide:e=>`Hide ${e}`,couldNotShow:e=>`Could not show the ${e}`,noAnswer:`It did not answer.`,signInRefused:e=>`It did not accept your sign-in: ${e}`,loadingFrom:e=>`Loading from ${e}`,restWorks:`The rest of the app works as before.`,tryAgain:`Try again`,staffSession:`Staff session`,staffSignedIn:`{} is signed in as {} until {}. Reason: {}`,stopStaffSession:`Stop staff session`,open:`Open`,openLabel:e=>`Open ${e}`},nl:{notFound:`Niet gevonden`,noResource:e=>`Er is geen onderdeel met de naam ${e}.`,somethingWentWrong:`Er ging iets mis`,signInSecurity:`Inloggen en beveiliging`,signInPolicy:`Inlogbeleid`,adminsOnly:`Alleen beheerders`,onlyAdminPolicy:`Alleen een beheerder kan wijzigen hoe mensen inloggen.`,ownersOnly:`Alleen eigenaren en beheerders`,onlyOwners:`Alleen de eigenaren en beheerders van de organisatie beheren de leden.`,chooseResource:`Kies een onderdeel`,pickFromSidebar:`Kies er een in de zijbalk.`,nothingHere:`Er is niets op dit adres.`,noPage:`Er is geen pagina met de naam {}.`,assistant:`Assistent`,operationFailed:(e,t,n)=>`Bewerking ${e} (${t}) mislukte: ${n} Er is niets bewaard.`,nothingSaved:e=>`${e} Er is niets bewaard.`,admin:`Beheer`,new:`Nieuw`,loadingRecord:`Record laden`,noComponent:`Er is geen component geregistreerd als {}. Exporteer die uit protobase.ui.tsx, of laad de plug-in die haar levert.`,choose:`Kiezen...`,fileMissing:`Het bestand ontbreekt in de opslag`,chooseFileFor:e=>`Kies een bestand voor ${e}`,notUploaded:`Niet geüpload`,uploadingLabel:e=>`${e} uploaden`,uploading:e=>`Uploaden… ${e}%`,replace:`Vervangen`,remove:`Verwijderen`,dropFile:`Zet hier een bestand neer of`,chooseFile:`Kies een bestand`,average:e=>`${e}, gemiddeld`,pages:`Pagina's`,account:`Account`,sales:`Verkoop`,crm:`CRM`,catalog:`Catalogus`,inventory:`Voorraad`,hr:`HR`,cannotReach:e=>`Kan ${e} niet bereiken`,searchPlural:e=>`${e} zoeken`,couldNotLoadOptions:`Kon de keuzes niet laden`,noMatches:`Niets gevonden`,loading:`Laden`,leaveTitle:`Weggaan zonder te bewaren?`,leaveDescription:`Je hebt niet-bewaarde wijzigingen op deze pagina. Ze blijven in deze browser, en komen terug als je het record weer opent.`,stay:`Blijven`,leave:`Weggaan`,show:e=>`${e} tonen`,hide:e=>`${e} verbergen`,couldNotShow:e=>`Kon ${e} niet tonen`,noAnswer:`Het antwoordde niet.`,signInRefused:e=>`Het accepteerde je inlog niet: ${e}`,loadingFrom:e=>`Laden van ${e}`,restWorks:`De rest van de app werkt zoals eerst.`,tryAgain:`Opnieuw proberen`,staffSession:`Sessie van een medewerker`,staffSignedIn:`{} is ingelogd als {} tot {}. Reden: {}`,stopStaffSession:`Sessie van medewerker stoppen`,open:`Openen`,openLabel:e=>`${e} openen`}}),Rh=(0,I.createContext)(null),zh=()=>{let e=(0,I.useContext)(Rh);if(!e)throw Error(`useRouter must be used inside Router`);return e},Bh=()=>`${window.location.pathname}${window.location.search}`,Vh=e=>new URL(e,`http://local`).pathname,Hh=()=>window.history.state?.protobaseIndex??0,Jne=({basePath:e=``,initialUrl:t,children:n})=>{let r=t!==void 0,[i,a]=(0,I.useState)(t??Bh()),o=(0,I.useRef)(new Set),s=(0,I.useRef)(i);s.current=i;let c=(0,I.useRef)(r?0:Hh()),l=(0,I.useRef)(!1),u=(0,I.useRef)(!1),d=(0,I.useRef)(void 0),[f,p]=(0,I.useState)();(0,I.useEffect)(()=>{if(r)return;window.history.replaceState({protobaseIndex:c.current},``);let e=()=>{let e=Hh();if(l.current){l.current=!1,c.current=e,d.current!==void 0&&window.history.go(d.current),d.current=void 0;return}let t=e-c.current,n=Vh(Bh())!==Vh(s.current);if(!u.current&&o.current.size>0&&n){l.current=!0,window.history.go(-t),p({kind:`history`,delta:t});return}u.current=!1,c.current=e,a(Bh())};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[r]);let m=(0,I.useCallback)((e,t)=>{r||(c.current+=+!t,window.history[t?`replaceState`:`pushState`]({protobaseIndex:c.current},``,e)),a(e)},[r]),h=(0,I.useCallback)((t,{replace:n=!1}={})=>{let r=`${e}${t}`;if(Vh(r)!==Vh(s.current)&&o.current.size>0)return p({kind:`link`,full:r,replace:n});m(r,n)},[e,m]),g=(0,I.useCallback)(()=>{let e=Symbol(`guard`);return o.current.add(e),()=>void o.current.delete(e)},[]),_=()=>{if(f){if(p(void 0),f.kind===`link`)return m(f.full,f.replace);u.current=!0,l.current?d.current=f.delta:window.history.go(f.delta)}},v=(0,I.useMemo)(()=>{let t=new URL(i,`http://local`);return{path:t.pathname.slice(e.length)||`/`,params:t.searchParams,basePath:e,entry:c.current,navigate:h,registerGuard:g}},[i,e,h,g]);return(0,R.jsxs)(Rh.Provider,{value:v,children:[n,f&&(0,R.jsx)(jf,{title:W(`leaveTitle`),description:W(`leaveDescription`),onClose:()=>p(void 0),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>p(void 0),children:W(`stay`)}),(0,R.jsx)(V,{variant:`primary`,onClick:_,children:W(`leave`)})]})})]})},Yne=({to:e,replace:t,...n})=>{let{navigate:r,basePath:i}=zh();return(0,R.jsx)(yu,{to:{href:`${i}${e}`,onFollow:()=>r(e,{replace:t})},...n})},Xne=e=>{let{registerGuard:t}=zh();(0,I.useEffect)(()=>e?t():void 0,[e,t]),(0,I.useEffect)(()=>{if(!e)return;let t=e=>e.preventDefault();return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e])},Uh=({title:e,description:t,size:n=`sm`,children:r})=>(0,R.jsx)(`div`,{className:`flex min-h-full w-full items-center justify-center bg-surface px-4 py-10`,children:(0,R.jsxs)(`div`,{className:g(`w-full`,n===`sm`?`max-w-sm`:`max-w-lg`),children:[(0,R.jsxs)(`div`,{className:`mb-6 flex flex-col items-center text-center`,children:[(0,R.jsx)(xu,{className:`size-10`}),(0,R.jsx)(`h1`,{className:`mt-4 text-xl font-semibold tracking-tight`,children:e}),t&&(0,R.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:t})]}),(0,R.jsx)(`div`,{className:`rounded-lg border bg-background p-5 shadow-sm`,children:r})]})}),Wh=({onResend:e,cooldown:t=30,disabled:n})=>{let[r,i]=(0,I.useState)(()=>Date.now()+t*1e3),[a,o]=(0,I.useState)(()=>Date.now()),s=Math.max(0,Math.ceil((r-a)/1e3));return(0,I.useEffect)(()=>{if(s===0)return;let e=setInterval(()=>o(Date.now()),1e3);return()=>clearInterval(e)},[s]),(0,R.jsx)(V,{variant:`ghost`,disabled:n||s>0,onClick:()=>{let n=Date.now();i(n+t*1e3),o(n),e()},className:`min-h-10`,children:s>0?z(`sendNewCodeIn`,s):z(`sendNewCode`)})},Gh=({title:e,description:t,explanation:n,submitLabel:r,onSubmit:i,onResend:a,onChangeAddress:o,changeAddressLabel:s,busy:c,error:l,notice:u,resendCooldown:d})=>{let[f,p]=(0,I.useState)(``);return(0,R.jsxs)(Uh,{title:e,description:t,children:[(0,R.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:n}),u&&(0,R.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:u}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),i(f)},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`code`),(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:f,invalid:!!l,onChange:p,onComplete:e=>!c&&i(e)})]}),l&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:l}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:c,className:`min-h-10`,children:r}),(0,R.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-x-2 sm:justify-between`,children:[(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:s}),(0,R.jsx)(Wh,{onResend:a,disabled:c,cooldown:d})]})]})]})},Kh=(e,...t)=>{let n=e.split(`{}`);if(n.length!==t.length+1)throw Error(`The text "${e}" has ${n.length-1} places for ${t.length} elements`);return(0,R.jsx)(R.Fragment,{children:n.map((e,n)=>(0,R.jsxs)(I.Fragment,{children:[e,n<t.length&&t[n]]},n))})},Zne=({email:e,onBack:t,...n})=>(0,R.jsx)(Gh,{title:z(`checkEmail`),description:z(`signInCodeDescription`),explanation:(0,R.jsx)(R.Fragment,{children:Kh(z(`signInCodeSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),submitLabel:z(`signIn`),onChangeAddress:t,changeAddressLabel:z(`backToSignIn`),...n}),Qne=({email:e,onBack:t})=>{let{signInWithCode:n,sendSignInCode:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(),u=async e=>{a(!0),s(void 0),l(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;s(wd(e))}a(!1)};return(0,R.jsx)(Zne,{email:e,busy:i,error:o,notice:c,onBack:t,onSubmit:t=>void u(()=>n(e,t)),onResend:()=>void u(async()=>{await r(e),l(z(`newCodeSent`))})})},$ne=`protobase users create you@example.com`,ere=({command:e=$ne,onCheckAgain:t,busy:n})=>{let[r,i]=(0,I.useState)(!1);return(0,R.jsxs)(Uh,{title:z(`noAdminTitle`),description:z(`noAdminDescription`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`noAdminExplanation`)}),(0,R.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,R.jsx)(`code`,{className:`min-w-0 flex-1 break-all font-mono text-xs`,children:e}),(0,R.jsx)(`button`,{type:`button`,"aria-label":z(`copyCommand`),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,R.jsx)(bi,{className:`size-4 text-success`}):(0,R.jsx)(Hi,{className:`size-4`})})]}),(0,R.jsx)(V,{variant:`primary`,className:`mt-4 min-h-10 w-full`,loading:n,onClick:t,children:z(`reload`)})]})},tre=({onSubmit:e,back:t,busy:n,error:r,sentTo:i})=>{let[a,o]=(0,I.useState)(``);return i?(0,R.jsxs)(Uh,{title:z(`checkEmail`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:Kh(z(`resetSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:i}))}),(0,R.jsx)(yu,{to:t,className:g(Af({variant:`primary`}),`mt-4 min-h-10 w-full`),children:z(`backToSignIn`)})]}):(0,R.jsx)(Uh,{title:z(`resetTitle`),description:z(`resetDescription`),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(a.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{type:`email`,name:`email`,autoComplete:`username`,required:!0,autoFocus:!0,value:a,invalid:!!r,onChange:e=>o(e.target.value),className:`min-h-6`})]}),r&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:r}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:n,className:`min-h-10`,children:z(`sendResetLink`)}),(0,R.jsx)(yu,{to:t,className:g(Af({variant:`ghost`}),`min-h-10`),children:z(`backToSignIn`)})]})})},qh=`password-reset`,nre=e=>{let t=new URL(e);return`${t.origin}${t.pathname}?${qh}`},rre=e=>{let t=new URL(e).searchParams;if(t.has(`password-reset`))return{token:t.get(`token`)||void 0}},ire=e=>{let t=new URL(e);for(let e of[qh,`token`,`error`])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},are=({back:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(),[o,s]=(0,I.useState)(),c=async e=>{r(!0),a(void 0);try{await t.requestPasswordReset(e,nre(window.location.href)),s(e)}catch(e){if(!(e instanceof wc))throw e;a(e.status===429?z(`tooManyRequests`):e.message)}r(!1)};return(0,R.jsx)(tre,{busy:n,error:i,sentTo:o,back:e,onSubmit:e=>void c(e)})},ore=({name:e,workspace:t})=>(0,R.jsx)(Uh,{title:z(`signingInWith`,e),description:t,children:(0,R.jsxs)(`p`,{role:`status`,className:`flex items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`takingYouTo`,e)]})}),sre=({provider:e,workspace:t,onFailed:n})=>{let{signInProviders:r,signInSocial:i}=B(),a=r.find(t=>t.id===e),o=a?.name??Id(e),s=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{if(!s.current){if(s.current=!0,!a)return n(z(`providerNotOffered`,o));i(e).catch(e=>{if(!(e instanceof wc))throw e;n(Td(e))})}},[a,o,e,i,n]),(0,R.jsx)(ore,{name:o,workspace:t})},cre=({onSubmit:e,invalidLink:t,onRequestNewLink:n,onBack:r,busy:i,error:a})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(!1);if(t)return(0,R.jsxs)(Uh,{title:z(`linkExpiredTitle`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`linkExpiredExplanation`)}),(0,R.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[n&&(0,R.jsx)(V,{variant:`primary`,className:`min-h-10`,onClick:n,children:z(`sendNewLink`)}),(0,R.jsx)(V,{variant:n?`ghost`:`primary`,className:`min-h-10`,onClick:r,children:z(`backToSignIn`)})]})]});let f=u?z(`passwordsDiffer`):a;return(0,R.jsx)(Uh,{title:z(`choosePassword`),description:z(`atLeast`,12),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),d(o!==c),o===c&&e(o)},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`newPassword`),(0,R.jsx)(cd,{type:`password`,name:`new-password`,autoComplete:`new-password`,required:!0,minLength:12,autoFocus:!0,value:o,invalid:!!f,onChange:e=>s(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`repeatPassword`),(0,R.jsx)(cd,{type:`password`,name:`repeat-password`,autoComplete:`new-password`,required:!0,minLength:12,value:c,invalid:!!f,onChange:e=>l(e.target.value),className:`min-h-6`})]}),f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`setPassword`)})]})})},lre=e=>e.status===429?z(`tooManyAttempts`):e.code===`PASSWORD_TOO_SHORT`?z(`useAtLeast`,12):e.code===`PASSWORD_TOO_LONG`?z(`passwordTooLong`):e.message,ure=({token:e,onDone:t,onRequestNewLink:n,onBack:r})=>{let{session:i}=B(),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(!e),d=async n=>{o(!0),c(void 0);try{await i.resetPassword(e,n),t()}catch(e){if(!(e instanceof wc))throw e;e.code===`INVALID_TOKEN`?u(!0):c(lre(e)),o(!1)}};return(0,R.jsx)(cre,{busy:a,error:s,invalidLink:l,onRequestNewLink:n,onBack:r,onSubmit:e=>void d(e)})},dre=e=>z(e===`twoFactor`?`turnOnTwoFactor`:`addPasskey`),fre=({step:e,twoFactor:t,onAddPasskey:n,busy:r,error:i,onSignOut:a})=>(0,R.jsxs)(Uh,{title:dre(e),description:z(`requiredForEveryAccount`),children:[e===`twoFactor`?(0,R.jsx)(Pp,{...t}):(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`passkeyExplanation`)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsxs)(V,{variant:`primary`,loading:r,onClick:n,className:`min-h-10`,children:[(0,R.jsx)(wa,{className:`size-4`}),z(`addPasskey`)]})]}),(0,R.jsx)(`button`,{type:`button`,onClick:a,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:underline`,children:z(`signOut`)})]}),pre=({missing:e})=>{let{session:t,recheck:n,signOut:r}=B(),[i,a]=(0,I.useState)(),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)();(0,I.useEffect)(()=>{t.account.signInMethods().then(a,e=>l(e instanceof wc?wd(e):z(`couldNotReadAccount`)))},[t]);let u=async()=>{s(!0),l(void 0);try{await t.account.addPasskey(),n()}catch(e){if(!(e instanceof wc))throw e;l(wd(e)),s(!1)}};return!i&&!c?(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`loading`)]}):(0,R.jsx)(fre,{step:e[0],busy:o,error:c,onAddPasskey:()=>void u(),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}})},mre=({className:e})=>(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:g(`size-4 shrink-0`,e),"aria-hidden":!0,children:(0,R.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`})}),hre=({id:e,className:t})=>e===`github`?(0,R.jsx)(mre,{className:t}):null,gre=()=>(0,R.jsxs)(`div`,{className:`my-4 flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{className:`h-px flex-1 bg-border`}),z(`or`),(0,R.jsx)(`span`,{className:`h-px flex-1 bg-border`})]}),_re=({onSubmit:e,busy:t,error:n,workspace:r,notice:i,methods:a=[`password`],onSendCode:o,onPasskey:s,passkeyDomains:c=[],forgotPassword:l,providers:u=[],onContinueWith:d,signUp:f,onBrowse:p})=>{let[m,h]=(0,I.useState)(``),[g,_]=(0,I.useState)(``),v=(0,I.useRef)(null),y=a.includes(`password`),b=a.includes(`emailCode`)&&o!==void 0,x=a.includes(`passkey`)&&s!==void 0,S=d?u:[],C=()=>{v.current?.reportValidity()&&o?.(m.trim())};return(0,R.jsxs)(Uh,{title:z(`signInTitle`),description:r,children:[i&&(0,R.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:i}),(S.length>0||x)&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[S.map(e=>(0,R.jsxs)(V,{onClick:()=>d?.(e.id),disabled:t,className:`min-h-10 w-full`,children:[(0,R.jsx)(hre,{id:e.id}),z(`continueWith`,e.name)]},e.id)),x&&(0,R.jsxs)(V,{onClick:()=>s?.(),disabled:t,className:`min-h-10 w-full`,children:[(0,R.jsx)(wa,{className:`size-4`}),z(`signInWithPasskey`)]}),x&&c.slice(1).map(e=>(0,R.jsx)(V,{variant:`ghost`,size:`sm`,onClick:()=>s?.(e),disabled:t,className:`w-full`,children:z(`passkeyFor`,e)},e))]}),y||b?(0,R.jsx)(gre,{}):n&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-4 text-body font-medium text-danger-text`,children:n})]}),(y||b)&&(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),y?e(m.trim(),g):C()},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{ref:v,type:`email`,name:`email`,autoComplete:`username webauthn`,required:!0,autoFocus:!0,value:m,invalid:!!n,onChange:e=>h(e.target.value),className:`min-h-6`})]}),y&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`password`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:g,invalid:!!n,onChange:e=>_(e.target.value),className:`min-h-6`})]}),n&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:n}),y&&(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:t,className:`min-h-10`,children:z(`signIn`)}),b&&(0,R.jsxs)(V,{variant:y?`secondary`:`primary`,type:y?`button`:`submit`,onClick:y?C:void 0,loading:t&&!y,disabled:t,className:`min-h-10`,children:[(0,R.jsx)(Ja,{className:`size-4`}),z(`emailSignInCode`)]}),y&&l&&(0,R.jsx)(yu,{to:l,className:`self-center font-medium text-primary-text hover:underline`,children:z(`forgotPassword`)})]}),f&&(0,R.jsxs)(`p`,{className:`mt-4 text-center text-muted-foreground`,children:[z(`newHere`),` `,(0,R.jsx)(yu,{to:f,className:`font-medium text-primary-text hover:underline`,children:z(`createAnAccount`)})]}),p&&(0,R.jsx)(`button`,{type:`button`,onClick:p,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:text-foreground hover:underline`,children:z(`browse`)})]})},vre=({workspace:e,notice:t,forgotPassword:n,signUp:r,onBrowse:i,onCodeSent:a,error:o})=>{let{signIn:s,signInSocial:c,signInProviders:l,signInMethods:u,passkeyDomains:d,sendSignInCode:f,signInWithPasskey:p}=B(),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(o),v=async(e,t)=>{h(!0),_(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;_(t(e)),h(!1)}};return(0,R.jsx)(_re,{busy:m,error:g,workspace:e,notice:t,methods:u,forgotPassword:n,signUp:r,onBrowse:i,providers:l,onContinueWith:e=>void v(()=>c(e),Td),passkeyDomains:d,onPasskey:e=>void v(()=>p(e),wd),onSendCode:e=>void v(async()=>{await f(e),a(e)},wd),onSubmit:(e,t)=>void v(()=>s(e,t),Td)})},yre=({email:e,onBack:t,...n})=>(0,R.jsx)(Gh,{title:z(`checkEmail`),description:z(`signUpCodeDescription`),explanation:(0,R.jsx)(R.Fragment,{children:Kh(z(`signUpCodeSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),submitLabel:z(`continue`),onChangeAddress:t,changeAddressLabel:z(`useAnotherAddress`),...n}),bre=({email:e,onSubmit:t,onBack:n,methods:r,busy:i,error:a})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),u=(0,I.useId)(),d=r.includes(`password`),f=r.includes(`emailCode`);return(0,R.jsxs)(Uh,{title:z(`detailsTitle`),description:z(`detailsDescription`),children:[(0,R.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:Kh(z(`codeWasRight`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({name:o.trim(),...d&&c&&{password:c}})},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`yourName`),(0,R.jsx)(cd,{name:`name`,autoComplete:`name`,required:!0,autoFocus:!0,maxLength:200,value:o,onChange:e=>s(e.target.value),className:`min-h-6`})]}),d&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(f?`passwordOptional`:`password`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`new-password`,"aria-describedby":u,required:!f,minLength:12,maxLength:128,value:c,onChange:e=>l(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`p`,{id:u,className:`text-xs text-muted-foreground`,children:[z(`atLeast`,12),f&&z(`withoutPassword`)]})]}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`createAccount`)}),(0,R.jsx)(V,{variant:`ghost`,onClick:n,className:`min-h-10`,children:z(`useAnotherAddress`)})]})]})},xre=({onSubmit:e,onSignIn:t,onBrowse:n,busy:r,error:i,workspace:a})=>{let[o,s]=(0,I.useState)(``);return(0,R.jsxs)(Uh,{title:z(`createAnAccount`),description:a,children:[(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(o.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{type:`email`,name:`email`,autoComplete:`email`,required:!0,autoFocus:!0,value:o,invalid:!!i,onChange:e=>s(e.target.value),className:`min-h-6`})]}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`codeToConfirm`)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsxs)(V,{variant:`primary`,type:`submit`,loading:r,className:`min-h-10`,children:[(0,R.jsx)(Ja,{className:`size-4`}),z(`emailCode`)]}),(0,R.jsxs)(`p`,{className:`text-center text-muted-foreground`,children:[z(`haveAccount`),` `,(0,R.jsx)(`button`,{type:`button`,onClick:t,className:`font-medium text-primary-text hover:underline`,children:z(`signIn`)})]})]}),n&&(0,R.jsx)(`button`,{type:`button`,onClick:n,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:text-foreground hover:underline`,children:z(`browseWithoutAccount`)})]})},Sre=({workspace:e,email:t,ticket:n,onCodeSent:r,onVerified:i,onBack:a,onSignIn:o,onBrowse:s})=>{let{signInMethods:c,sendSignUpCode:l,verifySignUpCode:u,signUp:d}=B(),[f,p]=(0,I.useState)(!1),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)(),v=async e=>{p(!0),h(void 0),_(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;h(wd(e))}p(!1)};return t===void 0?(0,R.jsx)(xre,{workspace:e,busy:f,error:m,onSignIn:o,onBrowse:s,onSubmit:e=>void v(async()=>{await l(e),r(e)})}):n===void 0?(0,R.jsx)(yre,{email:t,busy:f,error:m,notice:g,onBack:a,onSubmit:e=>void v(async()=>i(await u(t,e))),onResend:()=>void v(async()=>{await l(t),_(z(`newCodeSent`))})}):(0,R.jsx)(bre,{email:t,methods:c,busy:f,error:m,onBack:a,onSubmit:e=>void v(()=>d({ticket:n,...e}))})},Jh=`staff-sign-in`,Yh=`staff-error`,Cre=e=>{let t=new URL(e).searchParams,n=t.get(Yh);if(!t.has(`staff-sign-in`)&&!n)return;let r=t.has(Jh);return{email:r&&t.get(`email`)||``,reason:r&&t.get(`reason`)||``,...n&&{error:n}}},Xh=e=>{let t=new URL(e);if(t.searchParams.has(`staff-sign-in`))for(let e of[Jh,`email`,`reason`])t.searchParams.delete(e);return t.searchParams.delete(Yh),`${t.pathname}${t.search}${t.hash}`},wre=10,Tre=({operator:e,email:t=``,reason:n=``,onSubmit:r,onBack:i,busy:a,error:o})=>{let[s,c]=(0,I.useState)(t),[l,u]=(0,I.useState)(n);return e?(0,R.jsx)(Uh,{title:z(`signInAsPerson`),description:z(`forStaffOf`,e),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),r(s.trim(),l.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`theirEmail`),(0,R.jsx)(cd,{type:`email`,name:`email`,required:!0,autoFocus:!t,value:s,onChange:e=>c(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`reason`),(0,R.jsx)(`textarea`,{name:`reason`,required:!0,minLength:wre,rows:3,value:l,placeholder:z(`reasonExample`),onChange:e=>u(e.target.value),className:g(`resize-y rounded-md border bg-background px-2.5 py-1.5 font-normal shadow-sm outline-none placeholder:text-faint-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`,o?`border-danger`:`border-border-strong`)})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:z(`staffExplanation`,e)}),o&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:o}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:a,className:`min-h-10`,children:z(`continueWith`,e)}),(0,R.jsx)(V,{variant:`ghost`,onClick:i,className:`min-h-10`,children:z(`backToSignIn`)})]})}):(0,R.jsxs)(Uh,{title:z(`staffTitle`),description:z(`staffUnavailable`),children:[o&&(0,R.jsx)(`p`,{role:`alert`,className:`mb-4 text-body font-medium text-danger-text`,children:o}),(0,R.jsx)(V,{variant:`primary`,className:`min-h-10 w-full`,onClick:i,children:z(`backToSignIn`)})]})},Ere=({link:e,onBack:t})=>{let{session:n,staffSignIn:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(e.error&&Dd(e.error)),c=async(e,t)=>{a(!0),s(void 0);try{let r=`${window.location.origin}${Xh(window.location.href)}`;window.location.assign(await n.staff.start({email:e,reason:t,callbackURL:r}))}catch(e){if(!(e instanceof wc))throw e;s(Dd(e)),a(!1)}};return(0,R.jsx)(Tre,{operator:r,email:e.email,reason:e.reason,busy:i,error:o,onBack:t,onSubmit:(e,t)=>void c(e,t)})},Zh=({checked:e,indeterminate:t,onChange:n,label:r,disabled:i,className:a})=>(0,R.jsx)(`button`,{type:`button`,role:`checkbox`,"aria-checked":t?`mixed`:e,"aria-label":r,disabled:i,onClick:()=>n?.(!e),className:g(`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`,a),children:t?(0,R.jsx)(Lee,{className:`size-3`,strokeWidth:3}):e&&(0,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}),Dre={totp:`totpInstruction`,otp:`otpInstruction`,backup:`backupInstruction`},Ore=({methods:e,onVerify:t,onSendCode:n,onBack:r,busy:i,error:a,codeSent:o,initialStep:s})=>{let[c,l]=(0,I.useState)(s??(e.includes(`totp`)?`totp`:`otp`)),[u,d]=(0,I.useState)(``),[f,p]=(0,I.useState)(!1),m=c===`otp`&&!o,h=e=>{l(e),d(``),e===`otp`&&!o&&n()};return(0,R.jsxs)(Uh,{title:z(`twoFactorTitle`),description:z(`twoFactorDescription`),children:[m?(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`codeToFinish`)}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,loading:i,onClick:n,className:`min-h-10`,children:z(`emailCode`)})]}):(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({method:c,code:u.trim(),trustDevice:f})},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(Dre[c])}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(c===`backup`?`backupCode`:`code`),c===`backup`?(0,R.jsx)(cd,{name:`code`,autoComplete:`off`,spellCheck:!1,required:!0,autoFocus:!0,value:u,invalid:!!a,onChange:e=>d(e.target.value),className:`min-h-6 font-mono`}):(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:u,invalid:!!a,onChange:d})]}),(0,R.jsxs)(`label`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(Zh,{checked:f,onChange:p,label:z(`trustBrowser`)}),z(`trustBrowserFor`)]}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`verify`)})]}),(0,R.jsxs)(`div`,{className:`mt-4 flex flex-col items-center gap-2 border-t pt-4`,children:[c!==`totp`&&e.includes(`totp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`totp`),className:`font-medium text-primary-text hover:underline`,children:z(`useAuthenticator`)}),c!==`otp`&&e.includes(`otp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`otp`),className:`font-medium text-primary-text hover:underline`,children:z(`emailCodeInstead`)}),c!==`backup`&&e.includes(`totp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`backup`),className:`font-medium text-primary-text hover:underline`,children:z(`useBackupCode`)}),(0,R.jsx)(`button`,{type:`button`,onClick:r,className:`font-medium text-muted-foreground hover:underline`,children:z(`backToSignIn`)})]})]})},kre=({methods:e,onBack:t})=>{let{verifyTwoFactor:n,session:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(!1),u=async e=>{a(!0),s(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;s(wd(e))}a(!1)};return(0,R.jsx)(Ore,{methods:e,busy:i,error:o,codeSent:c,onBack:t,onVerify:e=>void u(()=>n(e)),onSendCode:()=>void u(async()=>{await r.sendTwoFactorCode(),l(!0)})})},Qh=()=>{let{path:e,params:t,basePath:n,navigate:r}=zh(),i=(0,I.useMemo)(()=>Ms(e,t),[e,t]),a=Pd(new URL(t.size>0?`${e}?${t}`:e,`http://local`).href),o=i?i.next:a,s=(0,I.useCallback)((e=`sign-in`,t)=>r(js({step:e,next:o}),t),[r,o]);return{address:i,next:o,open:s,link:(0,I.useCallback)((e=`sign-in`,t)=>({href:`${n}${js({step:e,next:o})}`,onFollow:()=>s(e,t)}),[n,o,s]),leave:(0,I.useCallback)(()=>r(o??`/`,{replace:!0}),[r,o])}},Are=e=>{let t=new URL(e),n=t.searchParams.get(`token`);return t.pathname.endsWith(`/-/invitation`)&&n?{token:n}:void 0},jre=e=>`${new URL(e).pathname.slice(0,-13)}/`,G=a({en:{organizations:`Organizations`,organization:`Organization`,members:`Members`,invitations:`Invitations`,owner:`Owner`,admin:`Admin`,member:`Member`,loading:`Loading`,name:`Name`,slug:`Slug`,save:`Save`,cancel:`Cancel`,delete:`Delete`,remove:`Remove`,create:`Create`,current:`Current`,open:`Open`,allOrganizations:`All organizations`,allOrganizationsDescription:`Every organization in the app. Your global roles let you work in any of them, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,findOrganization:`Find an organization`,nameOrSlug:`Name or slug`,cannotChangeRole:`You cannot give or take away this role`,makeAccountToJoin:e=>`Make your account for ${e} to join.`,makeAccount:e=>`Make your account for ${e}.`,yourName:`Your name`,password:`Password`,passwordOptional:e=>`Password (optional, ${e}+ characters)`,passwordRequired:e=>`Password (${e}+ characters)`,createAndJoin:`Create account and join`,createYourAccount:`Create your account`,invalidLink:`This invitation link is not valid`,invitation:`Invitation`,goToApp:`Go to the app`,invitesToApp:(e,t)=>`${e} invites you to join ${t}.`,invitesTo:(e,t,n)=>`${e} invites you to ${t} as ${n}.`,invitesToWith:(e,t,n,r)=>`${e} invites you to ${t} as ${n}, with ${r}.`,join:e=>`Join ${e}`,hasAccount:e=>`${e} has an account already: sign in with it.`,signOut:`Sign out`,signInAs:e=>`Sign in as ${e}`,signInAsToJoin:e=>`Sign in as ${e} to join`,otherAddress:(e,t)=>`This invitation is for ${e}, and you are signed in as ${t}.`,signOutToAccept:`Sign out to accept it`,inviteSomeone:`Invite someone`,inviteDescription:`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.`,organizationRole:`Organization role`,peopleInvited:e=>`People invited to ${e}.`,notAcceptedYet:`Not accepted yet`,sendingAgain:`Sending again gives a new link, which replaces the earlier one.`,nobodyWaiting:`Nobody is waiting.`,roleOf:e=>`Organization role of ${e}`,couldNotReadMembers:`Could not read the members`,whoWorks:e=>`Who works in ${e}, and with which roles.`,membersDescription:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,details:`Details`,detailsEditable:`The name people see, and the slug that names it in links.`,detailsReadOnly:`Owners and admins can change these.`,handOver:`Hand over`,handOverDescription:`Make another member the owner. You stay as an admin.`,newOwner:`New owner`,chooseMember:`Choose a member`,deleteOrganization:`Delete organization`,deleteDescription:`Takes the organization and its members and invitations away. Its records must be deleted first.`,deleteTitle:e=>`Delete ${e}?`,deleteConfirm:`Type its name to confirm. This cannot be undone.`,organizationName:`Organization name`,leave:`Leave`,leaveOwner:`An organization keeps an owner: hand it over before you leave, unless it has another owner.`,leaveMember:`You stop being a member, and lose your roles here.`,leaveName:e=>`Leave ${e}`,noOrganization:`You do not work in an organization now. Choose one under Organizations.`,youAre:e=>`You are ${e} here.`,throughGlobalRoles:`You work here through your global roles, without being a member.`,newOrganization:`New organization`,newOrganizationDescription:`You become its owner, with every role, and work in it once it is made.`,invitationsForYou:`Invitations for you`,invitationsForYouDescription:`Open the link in the invitation email to accept one.`,anOrganization:`An organization`,noAppRoles:`no app roles`,until:e=>`Until ${e}`,organizationsSubtitle:`You work in one organization at a time; what you see follows from your roles there.`,yourOrganizations:`Your organizations`,memberOf:`The organizations you are a member of.`,notMember:`You are not a member of an organization yet.`,couldNotReadOrganizations:`Could not read your organizations`},nl:{organizations:`Organisaties`,organization:`Organisatie`,members:`Leden`,invitations:`Uitnodigingen`,owner:`Eigenaar`,admin:`Beheerder`,member:`Lid`,loading:`Laden`,name:`Naam`,slug:`Slug`,save:`Bewaren`,cancel:`Annuleren`,delete:`Verwijderen`,remove:`Verwijderen`,create:`Maken`,current:`Huidige`,open:`Openen`,allOrganizations:`Alle organisaties`,allOrganizationsDescription:`Elke organisatie in de app. Met je globale rollen kun je in elk ervan werken, met wat die rollen daar toestaan. Wie er een opent waar die geen lid van is, komt in het auditlogboek.`,findOrganization:`Een organisatie zoeken`,nameOrSlug:`Naam of slug`,cannotChangeRole:`Je kunt deze rol niet geven of afnemen`,makeAccountToJoin:e=>`Maak je account voor ${e} om lid te worden.`,makeAccount:e=>`Maak je account voor ${e}.`,yourName:`Je naam`,password:`Wachtwoord`,passwordOptional:e=>`Wachtwoord (optioneel, ${e}+ tekens)`,passwordRequired:e=>`Wachtwoord (${e}+ tekens)`,createAndJoin:`Account maken en lid worden`,createYourAccount:`Je account maken`,invalidLink:`Deze uitnodigingslink is niet geldig`,invitation:`Uitnodiging`,goToApp:`Naar de app`,invitesToApp:(e,t)=>`${e} nodigt je uit voor ${t}.`,invitesTo:(e,t,n)=>`${e} nodigt je uit voor ${t} als ${n}.`,invitesToWith:(e,t,n,r)=>`${e} nodigt je uit voor ${t} als ${n}, met ${r}.`,join:e=>`Lid worden van ${e}`,hasAccount:e=>`${e} heeft al een account: log daarmee in.`,signOut:`Uitloggen`,signInAs:e=>`Inloggen als ${e}`,signInAsToJoin:e=>`Inloggen als ${e} om lid te worden`,otherAddress:(e,t)=>`Deze uitnodiging is voor ${e}, en je bent ingelogd als ${t}.`,signOutToAccept:`Uitloggen om die te accepteren`,inviteSomeone:`Iemand uitnodigen`,inviteDescription:`Die krijgt een e-mail met een link om lid te worden, of om eerst een account te maken. Je kunt de app-rollen geven die je zelf hebt, en die je rollen toekennen.`,organizationRole:`Rol in de organisatie`,peopleInvited:e=>`Mensen uitgenodigd voor ${e}.`,notAcceptedYet:`Nog niet geaccepteerd`,sendingAgain:`Opnieuw sturen geeft een nieuwe link, die de vorige vervangt.`,nobodyWaiting:`Er wacht niemand.`,roleOf:e=>`Rol in de organisatie van ${e}`,couldNotReadMembers:`Kon de leden niet lezen`,whoWorks:e=>`Wie in ${e} werkt, en met welke rollen.`,membersDescription:`Eigenaren en beheerders beheren de organisatie; app-rollen bepalen wat elk lid in de app ziet en doet.`,details:`Gegevens`,detailsEditable:`De naam die mensen zien, en de slug die haar in links noemt.`,detailsReadOnly:`Eigenaren en beheerders kunnen dit wijzigen.`,handOver:`Overdragen`,handOverDescription:`Maak een ander lid eigenaar. Jij blijft beheerder.`,newOwner:`Nieuwe eigenaar`,chooseMember:`Kies een lid`,deleteOrganization:`Organisatie verwijderen`,deleteDescription:`Verwijdert de organisatie met haar leden en uitnodigingen. Haar records moeten eerst worden verwijderd.`,deleteTitle:e=>`${e} verwijderen?`,deleteConfirm:`Typ de naam om te bevestigen. Dit kan niet ongedaan worden gemaakt.`,organizationName:`Naam van de organisatie`,leave:`Verlaten`,leaveOwner:`Een organisatie houdt een eigenaar: draag die rol over voordat je vertrekt, tenzij er nog een eigenaar is.`,leaveMember:`Je bent dan geen lid meer, en verliest je rollen hier.`,leaveName:e=>`${e} verlaten`,noOrganization:`Je werkt nu niet in een organisatie. Kies er een onder Organisaties.`,youAre:e=>`Je bent hier ${e}.`,throughGlobalRoles:`Je werkt hier via je globale rollen, zonder lid te zijn.`,newOrganization:`Nieuwe organisatie`,newOrganizationDescription:`Je wordt de eigenaar, met elke rol, en werkt erin zodra die is gemaakt.`,invitationsForYou:`Uitnodigingen voor jou`,invitationsForYouDescription:`Open de link in de uitnodigingsmail om er een te accepteren.`,anOrganization:`Een organisatie`,noAppRoles:`geen app-rollen`,until:e=>`Tot ${e}`,organizationsSubtitle:`Je werkt in één organisatie tegelijk; wat je ziet volgt uit je rollen daar.`,yourOrganizations:`Je organisaties`,memberOf:`De organisaties waar je lid van bent.`,notMember:`Je bent nog geen lid van een organisatie.`,couldNotReadOrganizations:`Kon je organisaties niet lezen`}}),$h=`/-/organizations`,eg=`/-/organization`,tg=`/-/organization/members`,ng=`/-/organization/invitations`,Mre={[$h]:`organizations`,[eg]:`organization`,[tg]:`members`,[ng]:`invitations`},Nre=e=>{let t=Mre[e];return t&&G(t)},rg=e=>G(e),ig=(e,t)=>e.find(e=>e.name===t)?.label??t,ag=e=>e?.role===`owner`||e?.role===`admin`,Pre=(e,t,n)=>{let r=(n,r,i,a)=>({id:n,label:r,icon:i,href:`${e}${a}`,active:t===a});return[r(`organizations`,G(`organizations`),Bee,$h),...n?.organization?[r(`organization`,G(`organization`),fi,eg)]:[],...ag(n)?[r(`members`,G(`members`),Yo,tg),r(`invitations`,G(`invitations`),Ja,ng)]:[]]},og=(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)))},sg=()=>{let[e,t]=(0,I.useState)(!1),[n,r]=(0,I.useState)();return{busy:e,error:n,run:async e=>{t(!0),r(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;r(wd(e))}t(!1)},setError:r}},cg=({token:e,preview:t,joins:n,onDone:r})=>{let{session:i,signInMethods:a,recheck:o}=B(),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(``),{busy:d,error:f,run:p}=sg(),m=a.includes(`password`),h=a.includes(`emailCode`),g=()=>p(async()=>{await i.organizations.signUpFromInvitation(e,{name:s.trim(),...m&&l&&{password:l}}),r(),o()});return(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),g()},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:G(n?`makeAccountToJoin`:`makeAccount`,t.email)}),f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(cd,{"aria-label":G(`yourName`),placeholder:G(`yourName`),autoComplete:`name`,value:s,onChange:e=>c(e.target.value)}),m&&(0,R.jsx)(cd,{"aria-label":G(`password`),type:`password`,autoComplete:`new-password`,placeholder:G(h?`passwordOptional`:`passwordRequired`,12),value:l,onChange:e=>u(e.target.value)}),(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:d,disabled:!s.trim()||m&&!h&&l.length<12,children:G(n?`createAndJoin`:`createYourAccount`)})]})},Fre=({token:e,onDone:t,signIn:n})=>{let{session:r,state:i,signOut:a,organizations:o}=B(),[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(),{busy:d,error:f,run:p}=sg();if((0,I.useEffect)(()=>{r.organizations.invitation(e).then(c,e=>u(e instanceof wc?wd(e):G(`invalidLink`)))},[r,e]),l)return(0,R.jsx)(Uh,{title:G(`invitation`),description:l,children:(0,R.jsx)(V,{className:`w-full`,onClick:t,children:G(`goToApp`)})});if(!s)return(0,R.jsx)(Uh,{title:G(`invitation`),children:(0,R.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,G(`loading`)]})});let m=i.kind===`signed-in`?i.user:void 0,h=m?.email.toLowerCase()===s.email.toLowerCase();if(!s.organization){let r=s.app?.name??``,i=G(`invitesToApp`,s.inviter.name,r);return(0,R.jsx)(Uh,{title:G(`join`,r),description:i,children:s.hasAccount?m&&h?(0,R.jsx)(V,{variant:`primary`,className:`w-full`,onClick:t,children:G(`goToApp`)}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`hasAccount`,s.email)}),m?(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOut`)}):(0,R.jsx)(yu,{to:n,className:g(Af({variant:`primary`}),`w-full`),children:G(`signInAs`,s.email)})]}):m?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`otherAddress`,s.email,m.email)}),(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOutToAccept`)})]}):(0,R.jsx)(cg,{token:e,preview:s,joins:!1,onDone:t})})}let _=s.organization,v=s.appRoles.map(e=>ig(o?.roles??[],e)),y=rg(s.role).toLowerCase(),b=v.length>0?G(`invitesToWith`,s.inviter.name,_.name,y,v.join(`, `)):G(`invitesTo`,s.inviter.name,_.name,y);return m&&!h?(0,R.jsxs)(Uh,{title:G(`join`,_.name),description:b,children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`otherAddress`,s.email,m.email)}),(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOutToAccept`)})]}):(0,R.jsx)(Uh,{title:G(`join`,_.name),description:b,children:m?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(V,{variant:`primary`,className:`w-full`,loading:d,onClick:()=>void p(async()=>{await r.organizations.accept(e),t()}),children:G(`join`,_.name)})]}):s.hasAccount?(0,R.jsx)(yu,{to:n,className:g(Af({variant:`primary`}),`w-full`),children:G(`signInAsToJoin`,s.email)}):(0,R.jsx)(cg,{token:e,preview:s,joins:!0,onDone:t})})},lg,ug,Ire=({dsn:e,environment:t})=>(lg??=m(()=>import(`./prod-YZ9ZMG1O.js`).then(n=>{n.init({dsn:e,...t&&{environment:t},integrations:e=>e.filter(e=>e.name!==`BrowserSession`),beforeSend:e=>xee(e)}),ug=(e,t)=>n.captureException(e,t?{contexts:{react:{componentStack:t}}}:void 0)}),[]),lg),dg=(e,t)=>ug?.(e,t??void 0),fg=({children:e})=>(0,R.jsx)(`div`,{role:`alert`,className:`rounded-lg border border-dashed border-warning bg-warning-soft p-3 text-warning-text`,children:e}),pg=a({en:{notFound:`Not found`,noPage:`There is no page called {}.`,cancel:`Cancel`,couldNotDraw:`{} could not be drawn.`,noComponent:`No component is registered as {}. Export it from protobase.ui.tsx, or load the plugin that provides it.`,unknownBlock:`{} is not a block this version of the app knows.`,somethingWrong:`Something went wrong`,needsRecord:`Needs a record`,cannotChange:`You cannot change this record`,cannotDelete:`You cannot delete this record`,noHandler:e=>`The app has no handler for "${e}"`,noInputComponent:(e,t)=>`The app has no component "${e}" for input "${t}"`,done:e=>`${e}: done`,failed:e=>`${e} failed`,noAction:e=>`No action "${e}"`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`,saved:e=>`${e}: saved`,create:`Create`,save:`Save`,notSaved:`Not saved`,couldNotCount:`Could not count`,required:`Required`,wholeNumber:`A whole number`,number:`A number`,dateFormat:`A date as YYYY-MM-DD`,atMost:e=>`At most ${e} characters`},nl:{notFound:`Niet gevonden`,noPage:`Er is geen pagina met de naam {}.`,cancel:`Annuleren`,couldNotDraw:`{} kon niet worden getekend.`,noComponent:`Er is geen component geregistreerd als {}. Exporteer die uit protobase.ui.tsx, of laad de plug-in die haar levert.`,unknownBlock:`{} is geen blok dat deze versie van de app kent.`,somethingWrong:`Er ging iets mis`,needsRecord:`Vraagt een record`,cannotChange:`Je kunt dit record niet wijzigen`,cannotDelete:`Je kunt dit record niet verwijderen`,noHandler:e=>`De app heeft geen handler voor "${e}"`,noInputComponent:(e,t)=>`De app heeft geen component "${e}" voor invoer "${t}"`,done:e=>`${e}: klaar`,failed:e=>`${e} mislukt`,noAction:e=>`Geen actie "${e}"`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`,saved:e=>`${e}: bewaard`,create:`Maken`,save:`Bewaren`,notSaved:`Niet bewaard`,couldNotCount:`Kon niet tellen`,required:`Verplicht`,wholeNumber:`Een geheel getal`,number:`Een getal`,dateFormat:`Een datum als JJJJ-MM-DD`,atMost:e=>`Hoogstens ${e} tekens`}}),mg=class extends I.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){dg(e,t.componentStack)}render(){return this.state.failed?this.props.fallback===void 0?(0,R.jsx)(fg,{children:Kh(pg(`couldNotDraw`),this.props.name)}):this.props.fallback:this.props.children}},Lre=/^[A-Z][A-Za-z0-9]*$/,Rre=e=>typeof e==`function`||typeof e==`object`&&!!e&&`$$typeof`in e,hg=e=>{let t=e.default??{},n=Object.entries(e).filter(e=>e[0]!=="default"&&Lre.test(e[0])&&Rre(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)}}},gg=class extends Error{name=`UiConflictError`},zre=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?hg(e):e,_g=(e,t)=>[...(e.extends??[]).map(zre).flatMap((e,n)=>_g(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],vg=(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 gg(`${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},yg=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,R.jsx)(e,{},t)),Bre=e=>e.length<=1?e[0]:({children:t,...n})=>e.reduceRight((e,t)=>(0,R.jsx)(t,{...n,children:e}),t),bg=(...e)=>{let t=e.flatMap((e,t)=>_g(e,e.name??`UI config ${t+1}`)),n=vg(`The component`,t,e=>e.components),r=vg(`The action handler`,t,e=>e.actions),i=vg(`The field type`,t,e=>e.fields),a=vg(`The drop rule`,t,e=>e.dropRules),o=vg(`The board drop`,t,e=>e.boardDrops),s=yg(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),c=yg(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),l=t.findLast(({ui:e})=>e.shell?.logo)?.ui.shell?.logo,u=Bre(t.flatMap(({ui:e})=>e.beforeSignIn?[e.beforeSignIn]:[])),d=e.at(-1)?.name;return{...d&&{name:d},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...Object.keys(a).length>0&&{dropRules:a},...Object.keys(o).length>0&&{boardDrops:o},...(s||c||l)&&{shell:{...s&&{actions:s},...c&&{rightPanel:c},...l&&{logo:l}}},...u&&{beforeSignIn:u}}},xg=(e,t)=>{let n=bg(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{bg(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof gg))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:bg(...r,n),off:i}},Sg=a({en:{loading:`Loading`,pluginsOff:`Plugins off`,pluginOff:`The plugin {} is off: {}.`,dismiss:`Dismiss`,answered:e=>`its plugin.json answered ${e}`,couldNotLoad:e=>`it could not be loaded: ${e}`,notObject:`its plugin.json is not an object`,noName:`its plugin.json names no plugin`,noApi:`its plugin.json names no plugin API`,noVersions:`its plugin.json names no Protobase versions`,noModule:`its plugin.json names no module`,badStylesheet:`its plugin.json names a stylesheet that is no URL`,badVersion:`its plugin.json has a version that is no text`},nl:{loading:`Laden`,pluginsOff:`Plug-ins uit`,pluginOff:`De plug-in {} staat uit: {}.`,dismiss:`Sluiten`,answered:e=>`de plugin.json antwoordde ${e}`,couldNotLoad:e=>`hij kon niet worden geladen: ${e}`,notObject:`de plugin.json is geen object`,noName:`de plugin.json noemt geen plug-in`,noApi:`de plugin.json noemt geen plug-in-API`,noVersions:`de plugin.json noemt geen Protobase-versies`,noModule:`de plugin.json noemt geen module`,badStylesheet:`de plugin.json noemt een stylesheet die geen URL is`,badVersion:`de plugin.json heeft een versie die geen tekst is`}}),Cg=e=>typeof e==`string`&&e.trim()!==``,Vre=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:Sg(`notObject`)};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return Cg(t)?Number.isInteger(r)?Cg(i)?Cg(a)?o!==void 0&&!Cg(o)?{problem:Sg(`badStylesheet`)}:n!==void 0&&!Cg(n)?{problem:Sg(`badVersion`)}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:Sg(`noModule`)}:{problem:Sg(`noVersions`)}:{problem:Sg(`noApi`)}:{problem:Sg(`noName`)}},wg=(0,I.createContext)(null),Hre=wg.Provider,Ure=()=>{let e=(0,I.useContext)(wg);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},Tg=(e,t,n)=>{let r=n=>(0,R.jsx)(Hre,{value:e,children:(0,R.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Wre=(e,t,n)=>({of:n.of,display:Tg(e,n.display,`fields.${t}.display`),...n.editor&&{editor:Tg(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:Tg(e,n.cell,`fields.${t}.cell`)}}),Gre=(e,t)=>{let n=bg({...hg(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,Tg(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Wre(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:Tg(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:Tg(e,n.shell.rightPanel,`shell.rightPanel`)}},o=n.beforeSignIn&&Tg(e,n.beforeSignIn,`beforeSignIn`);return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a},...o&&{beforeSignIn:o}}},Eg={name:`@protobase/ui`,version:`0.25.7`,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`,"./styles.css":`./src/styles.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`,"./styles.css":`./dist/styles.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`,"altcha-lib":`^2.6.0`,dompurify:`^3.4.17`,fflate:`^0.8.3`,"lucide-react":`^1.52.0`,"maplibre-gl":`^6.14.0`,marked:`^18.1.1`,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`}},Dg=Eg.protobase.pluginApi,Og=Eg.version,Kre={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=>m(()=>import(e),[])},qre={api:Dg,version:Og},Jre=e=>e instanceof Error?e.message:String(e),Yre=async(e,t,n,r=qre)=>{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(Sg(`answered`,n.status));let s=Vre(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=Pr(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:Gre(d,u)}}catch(e){return a(Sg(`couldNotLoad`,Jre(e)),o)}},Xre=e=>{let t=new Map;return{load:n=>{let r=JSON.stringify(n),i=t.get(r);if(i)return i;let a=Yre(n,e,window.location.href);return t.set(r,a),a}}},kg=(0,I.createContext)(null),Zre=({loader:e=Kre,children:t})=>{let n=(0,I.useMemo)(()=>Xre(e),[e]);return(0,R.jsx)(kg.Provider,{value:n,children:t})},Ag=()=>{let e=(0,I.useContext)(kg);if(!e)throw Error(`usePluginSource must be used inside PluginSourceProvider`);return e},Qre=1e4,jg=[],Mg=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,I.useState)({key:`[]`,loads:jg,settled:!0});return(0,I.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()},Qre);return e.forEach((e,n)=>{t.load(e).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:jg,settled:!0}:r.key===n?r:{loads:jg,settled:!1}},$re=({children:e})=>{let{state:t,beforeSignIn:n,adoptSession:r}=B(),{path:i,params:a,navigate:o}=zh(),{loads:s,settled:c}=Mg(n,Ag()),l=(0,I.useMemo)(()=>xg(void 0,s).ui.beforeSignIn,[s]),u=(0,I.useCallback)(e=>{let t=new URLSearchParams(a);for(let n of e)t.delete(n);o(t.size>0?`${i}?${t}`:i,{replace:!0})},[i,a,o]);return t.kind!==`signed-out`&&t.kind!==`visitor`?e:c?l?(0,R.jsx)(mg,{name:`beforeSignIn`,fallback:e,children:(0,R.jsx)(l,{signedIn:r,params:a,removeParams:u,children:e})}):e:(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,Sg(`loading`)]})},eie=()=>{let e=window.location.href,t=rre(e);if(t)return{kind:`reset-password`,token:t.token};let n=Cre(e);if(n)return{kind:`staff-sign-in`,link:n};let r=Are(e);if(r)return{kind:`invitation`,token:r.token};let i=Md(e);if(i)return{kind:`provider-sign-in`,provider:i};let a=Nd(e);return a?{kind:`sign-in`,providerError:a}:{kind:`sign-in`}},Ng=({to:e})=>{let{navigate:t}=zh();return(0,I.useEffect)(()=>t(e,{replace:!0}),[t,e]),null},tie=({workspace:e,children:t})=>{let n=nie(e,t);return(0,R.jsx)($re,{children:n})},nie=(e,t)=>{let{state:n,recheck:r,passwordReset:i,signOut:a,signInProviders:o,canSignUp:s,browse:c}=B(),{path:l,params:u,basePath:d,navigate:f}=zh(),{address:p,next:m,open:h,link:g,leave:_}=Qh(),[v,y]=(0,I.useState)(eie),[b,x]=(0,I.useState)(),[S,C]=(0,I.useState)(),[w,T]=(0,I.useState)(),E=new URL(`${d}${l}${u.size>0?`?${u}`:``}`,window.location.origin).href,D=(0,I.useCallback)(e=>{let t=e(E).slice(d.length);f(t.startsWith(`/`)?t:`/${t}`,{replace:!0})},[E,d,f]),O=n.kind===`signed-in`||n.kind===`two-factor`||n.kind===`setup-required`;(0,I.useEffect)(()=>{O&&(v.kind===`provider-sign-in`&&D(Pd),(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),T(void 0))},[O,v,D]);let k=p!==void 0&&Nd(E)!==void 0;(0,I.useEffect)(()=>{!O&&v.kind===`sign-in`&&v.providerError&&k&&D(Pd)},[O,v,k,D]);let A=(0,I.useCallback)(e=>y({kind:`sign-in`,error:e}),[]),j=e=>{D(ire),y(e)},M=async()=>{n.kind===`signed-in`&&await a(),j({kind:`sign-in`,notice:z(`passwordChanged`)})},N=()=>{y({kind:`sign-in`}),a().then(()=>h(`sign-in`,{replace:!0}))};switch(n.kind){case`loading`:return(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`loading`)]});case`error`:return(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`cannotReach`,n.message)}),(0,R.jsx)(V,{onClick:r,children:z(`tryAgain`)})]});case`needs-admin`:return(0,R.jsx)(ere,{onCheckAgain:r})}if(n.kind===`signed-in`&&p)return(0,R.jsx)(Ng,{to:m??`/`});if(v.kind===`reset-password`)return(0,R.jsx)(ure,{token:v.token,onDone:()=>void M(),onRequestNewLink:i?()=>{y({kind:`sign-in`}),f(js({step:`forgot-password`}),{replace:!0})}:void 0,onBack:()=>j({kind:`sign-in`})});if(v.kind===`staff-sign-in`)return(0,R.jsx)(Ere,{link:v.link,onBack:()=>{D(Xh),y({kind:`sign-in`})}});let ee=n.kind===`signed-out`||n.kind===`visitor`;if(v.kind===`invitation`&&(n.kind===`signed-in`||ee&&!p))return(0,R.jsx)(Fre,{token:v.token,onDone:()=>{D(jre),y({kind:`sign-in`})},signIn:g()});if(n.kind===`signed-in`)return t;if(n.kind===`two-factor`)return(0,R.jsx)(kre,{methods:n.methods,onBack:N});if(n.kind===`setup-required`)return(0,R.jsx)(pre,{missing:n.missing},n.missing.join());if(v.kind===`provider-sign-in`)return(0,R.jsx)(sre,{provider:v.provider,workspace:e,onFailed:A});let te=v.kind===`sign-in`?v:{kind:`sign-in`};if(!p){let e=te.notice||te.error||te.providerError;return n.kind===`visitor`&&!e?t:(0,R.jsx)(Ng,{to:js({next:m})})}let ne={"sign-in":!0,"forgot-password":i,"email-code":b!==void 0,"sign-up":s,"sign-up-code":s&&S!==void 0,"sign-up-details":s&&w!==void 0}[p.step]?p.step:`sign-in`,re=e=>()=>h(e,{replace:!0}),ie=c&&(()=>{c(),_()});if(ne===`forgot-password`)return(0,R.jsx)(are,{back:g(`sign-in`,{replace:!0})});if(ne===`email-code`)return(0,R.jsx)(Qne,{email:b,onBack:re(`sign-in`)});if(ne===`sign-up`||ne===`sign-up-code`||ne===`sign-up-details`)return(0,R.jsx)(Sre,{workspace:e,email:ne===`sign-up`?void 0:S,ticket:ne===`sign-up-details`?w:void 0,onCodeSent:e=>{C(e),T(void 0),h(`sign-up-code`)},onVerified:e=>{T(e),h(`sign-up-details`,{replace:!0})},onBack:re(`sign-up`),onSignIn:()=>h(`sign-in`),onBrowse:ie},ne);let ae=te.providerError&&kd(te.providerError,o.length===1?o[0].name:`the provider`),oe=te.error??ae;return(0,R.jsx)(vre,{workspace:e,notice:te.notice,error:oe,forgotPassword:i?g(`forgot-password`):void 0,onCodeSent:e=>{x(e),h(`email-code`)},signUp:s?g(`sign-up`):void 0,onBrowse:ie},oe)},Pg=e=>[...e].reduce((e,t)=>(e*31+t.charCodeAt(0))%360,7),Fg=e=>e.split(/[\s@.]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``),Ig=e=>(e.role??`user`).split(`,`).map(e=>e.trim()),Lg=e=>Ig(e).includes(`admin`),rie=e=>{let t=Ig(e),n=t.includes(`admin`);return{name:e.name||e.email,email:e.email,initials:Fg(e.name||e.email)||`?`,hue:Pg(e.id||e.email),role:n?z(`admin`):(t[0]??`user`).replace(/^./,e=>e.toUpperCase()),roleTone:n?`violet`:`blue`}},iie=3e4,aie=(e,t=Date.now())=>Math.max(1e3,ou(e)-t-iie),Rg=()=>{let{state:e,session:t}=B(),n=e.kind===`signed-in`,[r,i]=(0,I.useState)();return(0,I.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),aie(s))))};return a(),()=>{e=!1,clearTimeout(r)}},[t,n]),n?r:void 0},zg=({locale:e,children:t})=>{h(e);let n=p();return(0,I.useEffect)(()=>{document.documentElement.lang=n},[n]),(0,R.jsx)(I.Fragment,{children:t},n)},oie=({children:e})=>(0,R.jsx)(zg,{locale:B().locale,children:e}),sie=(e,t)=>{let n=new Set,r,i=()=>{r=void 0;let i=new Set(n);n.clear();let a=e=>i.has(e[1]);e.invalidateQueries({predicate:e=>a(e.queryKey)&&e.queryKey[0]!==`record`}),e.invalidateQueries({predicate:e=>a(e.queryKey)&&e.queryKey[0]===`record`,refetchType:t()?`none`:`active`})};return{changed:e=>{for(let t of e)n.add(t);n.size>0&&!r&&(r=setTimeout(i,300))},stop:()=>clearTimeout(r)}},cie=(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}},Bg=(e,t)=>e.sources?.find(e=>e.source.resources.includes(t)),lie=e=>{let t=U(),n=Qp(),r=(0,I.useContext)(Ah),i=(0,I.useMemo)(()=>Object.values(e.resources).filter(t=>t.live&&!Bg(e,t.name)).map(e=>e.name).sort().join(`,`),[e]);(0,I.useEffect)(()=>{if(!i)return;let e=sie(n,()=>r?.paused()??!1),a=t.live({onChanges:t=>e.changed(t.map(e=>e.resource)),onResync:()=>e.changed(i.split(`,`))});return()=>{a(),e.stop()}},[t,n,r,i])},Vg=(e,t,n=!0)=>{let r=U(),i=Dr(t);return Eh({queryKey:H.record(e,i),enabled:n,queryFn:()=>r.get(e,t)})},Hg=(e,t,n=!0)=>{let r=U(),i=Qp(),a=Dr(t);return Eh({queryKey:H.record(e,a),enabled:n,queryFn:()=>r.get(e,t),placeholderData:()=>i.getQueryData(H.recordPreview(e,a))})},uie=e=>e.charAt(0).toUpperCase()+e.slice(1),K=e=>uie(e.replace(/(Id|Code|_id|_code)$/,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/_+/g,` `).trim().toLowerCase()||e);function die(){var e=[...arguments];return(0,I.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ug=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Wg(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Gg(e){return`nodeType`in e}function Kg(e){return e?Wg(e)?e:Gg(e)?e.ownerDocument?.defaultView??window:window:window}function qg(e){let{Document:t}=Kg(e);return e instanceof t}function Jg(e){return!Wg(e)&&e instanceof Kg(e).HTMLElement}function Yg(e){return e instanceof Kg(e).SVGElement}function Xg(e){return e?Wg(e)?e.document:Gg(e)?qg(e)?e:Jg(e)||Yg(e)?e.ownerDocument:document:document:document}var Zg=Ug?I.useLayoutEffect:I.useEffect;function Qg(e){let t=(0,I.useRef)(e);return Zg(()=>{t.current=e}),(0,I.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function fie(){let e=(0,I.useRef)(null);return[(0,I.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,I.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function $g(e,t){t===void 0&&(t=[e]);let n=(0,I.useRef)(e);return Zg(()=>{n.current!==e&&(n.current=e)},t),n}function e_(e,t){let n=(0,I.useRef)();return(0,I.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function t_(e){let t=Qg(e),n=(0,I.useRef)(null);return[n,(0,I.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function n_(e){let t=(0,I.useRef)();return(0,I.useEffect)(()=>{t.current=e},[e]),t.current}var r_={};function i_(e,t){return(0,I.useMemo)(()=>{if(t)return t;let n=r_[e]==null?0:r_[e]+1;return r_[e]=n,e+`-`+n},[e,t])}function a_(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 o_=a_(1),s_=a_(-1);function pie(e){return`clientX`in e&&`clientY`in e}function c_(e){if(!e)return!1;let{KeyboardEvent:t}=Kg(e.target);return t&&e instanceof t}function mie(e){if(!e)return!1;let{TouchEvent:t}=Kg(e.target);return t&&e instanceof t}function l_(e){if(mie(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 pie(e)?{x:e.clientX,y:e.clientY}:null}var u_=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[u_.Translate.toString(e),u_.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),d_=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function hie(e){return e.matches(d_)?e:e.querySelector(d_)}var gie={display:`none`};function _ie(e){let{id:t,value:n}=e;return I.createElement(`div`,{id:t,style:gie},n)}function vie(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return I.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 yie(){let[e,t]=(0,I.useState)(``);return{announce:(0,I.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var f_=(0,I.createContext)(null);function bie(e){let t=(0,I.useContext)(f_);(0,I.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function xie(){let[e]=(0,I.useState)(()=>new Set),t=(0,I.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,I.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Sie={draggable:`
7
+ `)}\n`;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`ul`,{"aria-label":L(`backupCodes`),className:`grid grid-cols-2 gap-x-4 gap-y-1 rounded-md border bg-surface p-3 font-mono`,children:e.map(e=>(0,R.jsx)(`li`,{children:e},e))}),(0,R.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,R.jsxs)(V,{size:`sm`,onClick:()=>{navigator.clipboard.writeText(r).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},children:[t?(0,R.jsx)(bi,{className:`size-3.5 text-success`}):(0,R.jsx)(Hi,{className:`size-3.5`}),L(t?`copied`:`copy`)]}),(0,R.jsxs)(V,{size:`sm`,onClick:()=>Lf(r,`backup-codes.txt`),children:[(0,R.jsx)(Ji,{className:`size-3.5`}),L(`download`)]})]})]})},zf=({title:e,description:t,confirmLabel:n,danger:r,needsPassword:i,onConfirm:a,onClose:o})=>{let[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(),p=async()=>{u(!0),f(void 0);try{await a(i?s:void 0)}catch(e){if(!(e instanceof wc))throw e;f(wd(e)),u(!1)}};return(0,R.jsxs)(jf,{title:e,description:t,onClose:o,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:o,children:L(`cancel`)}),(0,R.jsx)(V,{variant:r?`danger`:`primary`,loading:l,disabled:i&&!s,onClick:()=>void p(),children:n})]}),children:[i&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`yourPassword`),(0,R.jsx)(cd,{type:`password`,autoComplete:`current-password`,autoFocus:!0,value:s,invalid:!!d,onChange:e=>c(e.target.value),onKeyDown:e=>e.key===`Enter`&&s&&void p()})]}),d&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-2 text-body font-medium text-danger-text`,children:d})]})},Bf=(e,t)=>e.replace(/\D/g,``).slice(0,t),Vf=(e,t,n)=>{let r=Bf(t??``,n);return r.length===n?r:Bf(e,n)},Hf=(e,t,n,r)=>{let i=t.replace(/\D/g,``);return i.length>=r?i.slice(0,r):Bf(e.slice(0,n)+i+e.slice(n+i.length),r)},Uf=({value:e,onChange:t,onComplete:n,length:r=6,invalid:i,disabled:a,className:o,ref:s,onFocus:c,onBlur:l,onSelect:u,onKeyDown:d,onClick:f,onPaste:p,...m})=>{let h=(0,I.useRef)(null),[_,v]=(0,I.useState)(!1),[y,b]=(0,I.useState)(e.length),x=e.slice(0,r),S=Math.min(y,r-1),C=e=>{h.current=e,typeof s==`function`?s(e):s&&(s.current=e)},w=e=>{e!==x&&(t(e),e.length===r&&n?.(e))},T=e=>{let t=h.current;if(!t)return;let n=Math.max(0,Math.min(e,x.length));t.setSelectionRange(n,n<x.length?n+1:n),b(n)},E=e=>{if(d?.(e),e.defaultPrevented||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)return;let t=e.currentTarget.selectionStart??x.length,n={ArrowLeft:t-1,ArrowRight:t+1,Home:0,End:x.length}[e.key];n!==void 0&&(e.preventDefault(),T(n))},D=e=>{f?.(e);let t=e.currentTarget.getBoundingClientRect();e.clientX<=t.left||e.clientX>=t.right||T(Math.floor((e.clientX-t.left)/t.width*r))};return(0,R.jsxs)(`div`,{className:g(`relative`,a&&`opacity-50`,o),children:[(0,R.jsx)(`div`,{"aria-hidden":!0,className:`flex justify-center gap-2`,children:Array.from({length:r},(e,t)=>{let n=_&&t===S;return(0,R.jsx)(`div`,{"data-slot":t,"data-digit":x[t],className:g(`flex h-12 min-w-0 max-w-12 flex-1 items-center justify-center rounded-md border bg-background font-mono text-xl font-semibold text-foreground shadow-sm transition-colors before:content-[attr(data-digit)]`,i?`border-danger`:n?`border-primary`:`border-border-strong`,n&&(i?`ring-2 ring-danger/20`:`ring-2 ring-primary/20`)),children:x[t]===void 0&&(n?(0,R.jsx)(`span`,{className:`h-6 w-px animate-pulse bg-foreground`}):(0,R.jsx)(`span`,{className:`size-1.5 rounded-full bg-border-strong`}))},t)})}),(0,R.jsx)(`input`,{ref:C,type:`text`,inputMode:`numeric`,autoComplete:`one-time-code`,pattern:`[0-9]{${r}}`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,"aria-invalid":i||void 0,disabled:a,value:x,className:`absolute inset-0 size-full cursor-text bg-transparent text-transparent caret-transparent outline-none selection:bg-transparent disabled:cursor-not-allowed`,...m,onChange:e=>{let{data:t,dataTransfer:n}=e.nativeEvent;w(Vf(e.target.value,t??n?.getData(`text/plain`),r))},onPaste:e=>{if(p?.(e),e.defaultPrevented)return;e.preventDefault();let t=e.currentTarget,n=Hf(x,e.clipboardData.getData(`text`),t.selectionStart??x.length,r);w(n),b(n.length)},onSelect:e=>{u?.(e);let t=e.currentTarget,n=t.selectionStart??x.length;n===t.selectionEnd&&n<t.value.length&&t.setSelectionRange(n,n+1),b(n)},onKeyDown:E,onClick:D,onFocus:e=>{v(!0),c?.(e)},onBlur:e=>{v(!1),l?.(e)}})]})},Wf=(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))(Wf||{}),Gf=[0,1],Kf=[1,0],qf=[2,3],Jf=[3,2],Yf={L:Gf,M:Kf,Q:qf,H:Jf},Xf=/^\d*$/,Zf=/^[A-Z0-9 $%*+./:-]*$/,Qf=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`,$f=1,ep=40,tp=3,np=3,rp=40,ip=10,ap=[[-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]],op=[[-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]],sp=class{constructor(e,t,n,r){if(this.version=e,this.ecc=t,e<$f||e>ep)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,Wf.Timing),this.setFunctionModule(e,6,e%2==0,Wf.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,lp(r,e));this.setFunctionModule(8,7,lp(r,6)),this.setFunctionModule(8,8,lp(r,7)),this.setFunctionModule(7,8,lp(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,lp(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,lp(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,lp(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=lp(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,Wf.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,Wf.Alignment)}setFunctionModule(e,t,n,r=Wf.Function){this.modules[t][e]=n,this.types[t][e]=r}addEccAndInterleave(e){let t=this.version,n=this.ecc;if(e.length!==wp(t,n))throw RangeError(`Invalid argument`);let r=op[n[0]][t],i=ap[n[0]][t],a=Math.floor(Cp(t)/8),o=r-a%r,s=Math.floor(a/r),c=[],l=Tp(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=Ep(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(Cp(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]=lp(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+=tp:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*rp),n=this.modules[t][a],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*rp}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+=tp:r>5&&e++):(this.finderPenaltyAddHistory(r,i),n||(e+=this.finderPenaltyCountPatterns(i)*rp),n=this.modules[a][t],r=1);e+=this.finderPenaltyTerminateAndCount(n,r,i)*rp}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+=np)}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*ip,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 cp(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 lp(e,t){return!!(e>>>t&1)}var up=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()}},dp=[1,10,12,14],fp=[2,9,11,13],pp=[4,8,16,16];function mp(e,t){return e[Math.floor((t+7)/17)+1]}function hp(e){let t=[];for(let n of e)cp(n,8,t);return new up(pp,e.length,t)}function gp(e){if(!yp(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);cp(Number.parseInt(e.substring(n,n+r),10),r*3+1,t),n+=r}return new up(dp,e.length,t)}function _p(e){if(!bp(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)),cp(r,11,t)}return n<e.length&&cp(Qf.indexOf(e.charAt(n)),6,t),new up(fp,e.length,t)}function vp(e){return e===``?[]:yp(e)?[gp(e)]:bp(e)?[_p(e)]:[hp(Sp(e))]}function yp(e){return Xf.test(e)}function bp(e){return Zf.test(e)}function xp(e,t){let n=0;for(let r of e){let e=mp(r.mode,t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}function Sp(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 Cp(e){if(e<$f||e>ep)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 wp(e,t){return Math.floor(Cp(e)/8)-ap[t[0]][e]*op[t[0]][e]}function Tp(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]=Dp(t[e],n),e+1<t.length&&(t[e]^=t[e+1]);n=Dp(n,2)}return t}function Ep(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]^=Dp(t,e))}return n}function Dp(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 Op(e,t,n=1,r=40,i=-1,a=!0){if(!($f<=n&&n<=r&&r<=ep)||i<-1||i>7)throw RangeError(`Invalid value`);let o,s;for(o=n;;o++){let n=wp(o,t)*8,i=xp(e,o);if(i<=n){s=i;break}if(o>=r)throw RangeError(`Data too long`)}for(let e of[Kf,qf,Jf])a&&s<=wp(o,e)*8&&(t=e);let c=[];for(let t of e){cp(t.mode[0],4,c),cp(t.numChars,mp(t.mode,o),c);for(let e of t.getData())c.push(e)}let l=wp(o,t)*8;cp(0,Math.min(4,l-c.length),c),cp(0,(8-c.length%8)%8,c);for(let e=236;c.length<l;e^=253)cp(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 sp(o,t,u,i)}function kp(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`?vp(e):Array.isArray(e)?[hp(e)]:void 0;if(!c)throw Error(`uqr only supports encoding string and binary data, but got: ${typeof e}`);let l=Op(c,Yf[n],i,a,o,r),u=Ap({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 Ap(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=Wf.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 jp=({uri:e,className:t})=>{let{size:n,path:r}=(0,I.useMemo)(()=>{let t=kp(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,R.jsxs)(`svg`,{viewBox:`0 0 ${n} ${n}`,role:`img`,"aria-label":L(`qrCode`),shapeRendering:`crispEdges`,className:t,children:[(0,R.jsx)(`rect`,{width:n,height:n,fill:`#fff`}),(0,R.jsx)(`path`,{d:r,fill:`#000`})]})},Mp=e=>(new URL(e).searchParams.get(`secret`)??``).replace(/(.{4})(?=.)/g,`$1 `),Np=()=>[{value:`app`,label:L(`authenticatorApp`),description:L(`authenticatorAppDescription`)},{value:`email`,label:L(`emailedCode`),description:L(`emailedCodeDescription`)}],Pp=({offerEmailedCodes:e,needsPassword:t,onStartApp:n,onConfirmApp:r,onEmailedCodes:i,onDone:a,onCancel:o})=>{let[s,c]=(0,I.useState)({kind:`choose`}),[l,u]=(0,I.useState)(`app`),[d,f]=(0,I.useState)(``),[p,m]=(0,I.useState)(``),[h,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)(),b=e?Np():Np().filter(e=>e.value===`app`),x=async e=>{_(!0),y(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;y(wd(e))}_(!1)},S=()=>x(async()=>{let e=t?d:void 0;if(l===`email`)return await i(e),a();c({kind:`scan`,setup:await n(e)})}),C=(e,t=p)=>x(async()=>{await r(t),c({kind:`backup-codes`,codes:e.backupCodes})}),w=v&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:v});return s.kind===`backup-codes`?(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`twoFactorIsOn`)}),(0,R.jsx)(Rf,{codes:s.codes}),(0,R.jsx)(V,{variant:`primary`,onClick:a,className:`min-h-10`,children:L(`savedCodes`)})]}):s.kind===`scan`?(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C(s.setup)},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`scanCode`)}),(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,R.jsx)(jp,{uri:s.setup.totpURI,className:`size-44 rounded-md border`}),(0,R.jsxs)(`p`,{className:`text-center text-xs text-muted-foreground`,children:[L(`cannotScan`),(0,R.jsx)(`span`,{className:`mt-1 block break-all font-mono text-body text-foreground`,children:Mp(s.setup.totpURI)})]})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`codeFromApp`),(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:p,invalid:!!v,onChange:m,onComplete:e=>!h&&void C(s.setup,e)})]}),w,(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:h,className:`min-h-10`,children:L(`turnOn`)}),o&&(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:L(`cancel`)})]}):(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,R.jsx)(`div`,{role:`radiogroup`,"aria-label":L(`secondStep`),className:`flex flex-col gap-2`,children:b.map(e=>(0,R.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":l===e.value,onClick:()=>u(e.value),className:g(`rounded-md border p-3 text-left transition-colors`,l===e.value?`border-primary bg-primary-soft`:`border-border-strong hover:bg-muted`),children:[(0,R.jsx)(`span`,{className:`block font-medium`,children:e.label}),(0,R.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:e.description})]},e.value))}),t&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[L(`yourPassword`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:d,invalid:!!v,onChange:e=>f(e.target.value),className:`min-h-6`})]}),w,(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:h,className:`min-h-10`,children:L(`continue`)}),o&&(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:L(`cancel`)})]})},Fp={allowed:`twoFactorAllowed`,required:`twoFactorRequired`,forbidden:`twoFactorForbidden`},Ip=e=>{let{rule:t,enabled:n,authenticatorApp:r,mail:i,needsPassword:a,onTurnOff:o,onNewBackupCodes:s,onChanged:c}=e,[l,u]=(0,I.useState)(),d=()=>u(void 0),f=n?(0,R.jsx)(Fu,{tone:`green`,children:L(`on`)}):t===`required`?(0,R.jsx)(Fu,{tone:`amber`,children:L(`required`)}):(0,R.jsx)(Fu,{children:L(`off`)}),p=L(n?r?i?`twoFactorOnWithAppOrMail`:`twoFactorOnWithApp`:`twoFactorOnWithMail`:Fp[t]);return l?.kind===`setup`?(0,R.jsx)(Mf,{title:L(`twoFactor`),status:f,description:p,children:(0,R.jsx)(`div`,{className:`max-w-sm`,children:(0,R.jsx)(Pp,{offerEmailedCodes:i&&!l.appOnly,needsPassword:a,onStartApp:e.onStartApp,onConfirmApp:e.onConfirmApp,onEmailedCodes:e.onEmailedCodes,onCancel:d,onDone:()=>{d(),c()}})})}):(0,R.jsxs)(Mf,{title:L(`twoFactor`),status:f,description:p,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[!n&&t!==`forbidden`&&(0,R.jsx)(V,{variant:`primary`,onClick:()=>u({kind:`setup`,appOnly:!1}),children:L(`turnOn`)}),n&&!r&&t!==`forbidden`&&(0,R.jsx)(V,{onClick:()=>u({kind:`setup`,appOnly:!0}),children:L(`addAuthenticator`)}),n&&r&&(0,R.jsx)(V,{onClick:()=>u({kind:`new-codes`}),children:L(`newBackupCodes`)}),n&&(0,R.jsx)(V,{variant:`danger`,disabled:t===`required`,title:t===`required`?L(`twoFactorIsRequired`):void 0,onClick:()=>u({kind:`turn-off`}),children:L(`turnOff`)})]}),l?.kind===`turn-off`&&(0,R.jsx)(zf,{title:L(`turnOffTitle`),description:L(`turnOffDescription`),confirmLabel:L(`turnOff`),danger:!0,needsPassword:a,onClose:d,onConfirm:async e=>{await o(e),d(),c()}}),l?.kind===`new-codes`&&(0,R.jsx)(zf,{title:L(`newCodesTitle`),description:L(`newCodesDescription`),confirmLabel:L(`makeNewCodes`),needsPassword:a,onClose:d,onConfirm:async e=>u({kind:`codes`,codes:await s(e)})}),l?.kind===`codes`&&(0,R.jsx)(jf,{title:L(`yourNewCodes`),description:L(`keepCodesSafe`),onClose:d,actions:(0,R.jsx)(V,{variant:`primary`,onClick:d,children:L(`savedCodes`)}),children:(0,R.jsx)(Rf,{codes:l.codes})})]})},Lp=()=>{let e=Nd(window.location.href);return e&&window.history.replaceState(window.history.state,``,Pd(window.location.href)),e},Rp=({email:e})=>{let{session:t,signInProviders:n,socialProviders:r,linkProvider:i}=B(),a=n.filter(e=>r.includes(e.id)),{account:o}=t,[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(),[d]=(0,I.useState)(Lp),f=(0,I.useCallback)(()=>{Promise.all([o.signInMethods(),o.passkeys(),o.linkedProviders()]).then(([e,t,n])=>c({methods:e,passkeys:t,linked:n}),e=>u(e instanceof wc?wd(e):L(`couldNotReadMethods`)))},[o]);(0,I.useEffect)(f,[f]);let p=e=>e.then(e=>(f(),e));return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:L(`signInSecurity`),subtitle:e}),s?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ff,{rule:s.methods.policy.passkey,passkeys:s.passkeys,onAdd:()=>p(o.addPasskey()),onRename:(e,t)=>p(o.renamePasskey(e,t)),onRemove:e=>p(o.removePasskey(e))}),(0,R.jsx)(Ip,{rule:s.methods.policy.twoFactor,enabled:s.methods.account.twoFactor,authenticatorApp:s.methods.account.authenticatorApp,mail:s.methods.mail,needsPassword:s.methods.account.password,onStartApp:e=>o.startAuthenticatorApp(e),onConfirmApp:e=>o.confirmAuthenticatorApp(e),onEmailedCodes:e=>o.turnOnEmailedCodes(e),onTurnOff:e=>o.turnOffTwoFactor(e),onNewBackupCodes:e=>o.newBackupCodes(e),onChanged:f}),a.length>0&&(0,R.jsx)(If,{providers:a,linked:s.linked,onConnect:i,error:d&&kd(d,a.length===1?a[0].name:L(`theProvider`))})]}):l?(0,R.jsx)(`p`,{role:`alert`,className:`text-danger-text`,children:l}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,L(`loading`)]})]})},zp=()=>[{value:`allowed`,label:L(`on`)},{value:`forbidden`,label:L(`off`)}],Bp=()=>[{value:`allowed`,label:L(`optional`)},{value:`required`,label:L(`required`)},{value:`forbidden`,label:L(`off`)}],Vp=()=>[{method:`password`,label:L(`password`),description:L(`passwordDescription`),rules:zp()},{method:`emailCode`,label:L(`emailedSignInCode`),description:L(`emailedSignInCodeDescription`),rules:zp()},{method:`passkey`,label:L(`passkeys`),description:L(`passkeysPolicyDescription`),rules:Bp()},{method:`twoFactor`,label:L(`twoFactor`),description:L(`twoFactorPolicyDescription`),rules:Bp()},{method:`staffAccess`,label:L(`staffAccess`),description:L(`staffAccessDescription`),rules:[{value:`allowed`,label:L(`on`)},{value:`notify`,label:L(`emailThePerson`)},{value:`forbidden`,label:L(`off`)}]},{method:`platformSignIn`,label:L(`platformSignIn`),description:L(`platformSignInDescription`),rules:zp()}],Hp=(e,t)=>{let n=Vp().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},Up=({row:e,value:t,onChange:n})=>(0,R.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,R.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e.value===t,onClick:()=>n(e.value),className:g(`rounded px-3 text-body font-medium transition-colors`,e.value===t?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:e.label},e.value))}),Wp=({method:e},t,{mail:n,effective:r,policy:i})=>{if(e===`emailCode`&&!n)return L(`codeNeedsMail`);if(e===`password`&&!n&&t.password===`forbidden`)return L(`passwordStaysOn`);if(e===`staffAccess`&&!n&&t.staffAccess===`notify`)return L(`staffNeedsMail`);if(e===`platformSignIn`&&t.platformSignIn===`allowed`&&(t.passkey===`required`||t.twoFactor===`required`))return L(`platformOff`);if(t[e]===i[e]&&r[e]!==i[e])return L(`appliesAs`,Hp(e,r[e]))},Gp=({operator:e,platformSignIn:t})=>Vp().flatMap(n=>n.method===`staffAccess`&&!e?[]:n.method===`platformSignIn`?t?[{...n,label:L(`platformSignInWith`,t)}]:[]:[n]),Kp=({state:e,onSave:t,busy:n,error:r,notice:i})=>{let[a,o]=(0,I.useState)(e.policy),s=Gp(e),c=s.some(({method:t})=>a[t]!==e.policy[t]);return(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t(a)},children:[(0,R.jsx)(`ul`,{className:`divide-y rounded-lg border bg-background`,children:s.map(t=>{let n=Wp(t,a,e);return(0,R.jsxs)(`li`,{className:`flex flex-col gap-3 p-4 sm:flex-row sm:items-start sm:justify-between`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`h2`,{className:`font-semibold`,children:t.label}),(0,R.jsx)(`p`,{className:`mt-0.5 text-muted-foreground`,children:t.description}),n&&(0,R.jsx)(`p`,{className:`mt-1.5 text-xs font-medium text-warning-text`,children:n})]}),(0,R.jsx)(Up,{row:t,value:a[t.method],onChange:e=>o({...a,[t.method]:e})})]},t.method)})}),r&&(0,R.jsx)(`p`,{role:`alert`,className:`rounded-md bg-danger-soft px-3 py-2 text-body font-medium text-danger-text`,children:r}),i&&!c&&(0,R.jsx)(`p`,{role:`status`,className:`rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:i}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.savedAt?e.savedBy?L(`lastSavedBy`,e.savedBy,gf(Date.parse(e.savedAt))):L(`lastSaved`,gf(Date.parse(e.savedAt))):L(`neverChanged`)}),(0,R.jsxs)(`div`,{className:`flex gap-2`,children:[c&&(0,R.jsx)(V,{onClick:()=>o(e.policy),children:L(`reset`)}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:n,disabled:!c,children:L(`save`)})]})]})]})},qp=(e,t)=>e.endedAt?(0,R.jsx)(Fu,{tone:`neutral`,children:L(`stopped`,gf(Date.parse(e.endedAt)))}):Date.parse(e.expiresAt)<=t?(0,R.jsx)(Fu,{tone:`neutral`,children:L(`ended`,gf(Date.parse(e.expiresAt)))}):(0,R.jsx)(Fu,{tone:`amber`,children:L(`signedInUntil`,gf(Date.parse(e.expiresAt)))}),Jp=({signIns:e,operator:t,error:n,now:r=Date.now()})=>(0,R.jsxs)(Mf,{title:L(`staffSignIns`),description:L(`staffSignInsDescription`,t),children:[(0,R.jsx)(Nf,{message:n}),e&&e.length===0&&(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:L(`noStaffSignIns`)}),e&&e.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`flex flex-col gap-1.5 p-3`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,R.jsx)(`span`,{className:`font-medium break-all`,children:e.staffName?`${e.staffName} (${e.staff})`:e.staff}),(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:L(`as`)}),(0,R.jsx)(`span`,{className:`font-medium break-all`,children:e.user})]}),(0,R.jsx)(`p`,{className:`break-words`,children:e.reason}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:gf(Date.parse(e.startedAt))}),qp(e,r)]})]},e.id))})]}),Yp=({operator:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)();return(0,I.useEffect)(()=>{t.staff.log().then(r,e=>a(e instanceof wc?wd(e):L(`couldNotReadStaffSignIns`)))},[t]),(0,R.jsx)(Jp,{operator:e,signIns:n,error:i})},Xp=()=>{let{session:e}=B(),[t,n]=(0,I.useState)(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)();(0,I.useEffect)(()=>{e.signInPolicy.read().then(n,e=>o(e instanceof wc?wd(e):L(`couldNotReadPolicy`)))},[e]);let l=async t=>{i(!0),o(void 0),c(void 0);try{n(await e.signInPolicy.save(t)),c(L(`policySaved`))}catch(e){if(!(e instanceof wc))throw e;o(wd(e))}i(!1)};return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:L(`signInPolicy`),subtitle:L(`policySubtitle`)}),t?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Kp,{state:t,busy:r,error:a,notice:s,onSave:e=>void l(e)},t.savedAt??`default`),t.operator&&(0,R.jsx)(Yp,{operator:t.operator})]}):a?(0,R.jsx)(`p`,{role:`alert`,className:`text-danger-text`,children:a}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,L(`loading`)]})]})},Zp=I.createContext(void 0),Qp=e=>{let t=I.useContext(Zp);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},$p=({client:e,children:t})=>(I.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,R.jsx)(Zp.Provider,{value:e,children:t})),em={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},tm=new class{#e=em;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 nm(e){setTimeout(e,0)}var rm=typeof window>`u`||`Deno`in globalThis;function im(){}function am(e,t){return typeof e==`function`?e(t):e}function om(e){return typeof e==`number`&&e>=0&&e!==1/0}function sm(e,t){return Math.max(e+(t||0)-Date.now(),0)}function cm(e,t){return typeof e==`function`?e(t):e}function lm(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==dm(o,t.options))return!1}else if(!pm(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 um(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(fm(t.options.mutationKey)!==fm(a))return!1}else if(!pm(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function dm(e,t){return(t?.queryKeyHashFn||fm)(e)}function fm(e){return JSON.stringify(e,(e,t)=>vm(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function pm(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(!pm(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!pm(e[r],t[r]))return!1;return!0}return!1}var mm=Object.prototype.hasOwnProperty;function hm(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=_m(e)&&_m(t);if(!r&&!(vm(e)&&vm(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:mm.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=hm(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function gm(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 _m(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function vm(e){if(!ym(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!(!ym(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function ym(e){return Object.prototype.toString.call(e)===`[object Object]`}function bm(e){return new Promise(t=>{tm.setTimeout(t,e)})}function xm(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:hm(e,t)}function Sm(e){return e}function Cm(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function wm(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Tm=Symbol();function Em(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Tm?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Dm(e,t){return typeof e==`function`?e(...t):!!e}function Om(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 km=()=>rm,Am=()=>km(),jm=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(){}},Mm=new class extends jm{#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`}},Nm=nm;function Pm(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Nm,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 Fm=Pm(),Im=new class extends jm{#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 Lm(e){return Math.min(1e3*2**e,3e4)}function Rm(e){return(e??`online`)!==`online`||Im.isOnline()}var zm=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function Bm(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(im);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new zm(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Mm.isFocused()&&(e.networkMode===`always`||Im.isOnline())&&e.canRun(),p=()=>Rm(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??(Am()?0:3),a=e.retryDelay??Lm,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),bm(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 Vm=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),om(this.gcTime)&&(this.#e=tm.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Am()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(tm.clearTimeout(this.#e),this.#e=void 0)}};function Hm(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=>{Om(e,()=>t.signal,()=>n=!0)},u=Em(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?wm:Cm;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?Wm:Um,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:Um(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 Um(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 Wm(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function Gm(e,t){return t?Um(e,t)!=null:!1}function Km(e,t){return!t||!e.getPreviousPageParam?!1:Wm(e,t)!=null}var qm=class extends Vm{#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=Xm(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=Xm(this.options);e.data!==void 0&&(this.setState(Ym(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=xm(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(im).catch(im):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=>cm(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Tm||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>cm(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:!sm(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=Em(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`?Hm(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=Bm({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof zm&&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 zm){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,...Jm(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ym(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),Fm.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Jm(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Rm(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ym(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Xm(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 Zm=class extends jm{#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),$m(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return eh(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return eh(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 cm(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&&!gm(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&th(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||cm(this.options.enabled,this.#t)!==cm(t.enabled,this.#t)||cm(this.options.staleTime,this.#t)!==cm(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||cm(this.options.enabled,this.#t)!==cm(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 gm(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(im)),t}#h(e){return!Am()&&cm(this.options.enabled,this.#t)!==!1&&om(e)}#g(){this.#b();let e=cm(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=sm(this.#r.dataUpdatedAt,e)+1;this.#u=tm.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return cm(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=tm.setInterval(()=>{(this.options.refetchIntervalInBackground||Mm.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(tm.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(tm.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&&$m(e,t),o=i&&th(e,n,t,r);(a||o)&&(l={...l,...Jm(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=xm(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=xm(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:nh(e,t),refetch:this.refetch,isEnabled:cm(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),gm(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)})})();Fm.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 cm(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||cm(t.retryOnMount,e)!==!1)}function $m(e,t){return Qm(e,t)||e.state.data!==void 0&&eh(e,t,t.refetchOnMount)}function eh(e,t,n){if(cm(t.enabled,e)!==!1&&cm(t.staleTime,e)!==`static`){let r=cm(n,e);return r===`always`||r!==!1&&nh(e,t)}return!1}function th(e,t,n,r){return(e!==t||cm(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&nh(e,n)}function nh(e,t){return cm(t.enabled,e)!==!1&&e.isStaleByTime(cm(t.staleTime,e))}var rh=class extends Zm{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:Gm(t,n.data),hasPreviousPage:Km(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}},ih=class extends Vm{#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||ah(),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=Bm({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),Fm.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function ah(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var oh=class extends jm{#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 ih({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=sh(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=sh(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=sh(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=sh(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Fm.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=>um(t,e))}findAll(e={}){return this.getAll().filter(t=>um(e,t))}notify(e){Fm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Fm.batch(()=>Promise.all(e.map(e=>e.continue().catch(im))))}};function sh(e){return e.options.scope?.id}var ch=class extends jm{#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),gm(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&fm(t.mutationKey)!==fm(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??ah();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){Fm.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 lh(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var uh=class extends jm{#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,Fm.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||!gm(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(lh(e,n).forEach(e=>{e.destroy()}),lh(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=hm(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 Zm(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)&&Fm.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},dh=class extends jm{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??dm(r,t),a=this.get(i);return a||(a=new qm({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(){Fm.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=>lm(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>lm(e,t)):t}notify(e){Fm.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Fm.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Fm.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},fh=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new dh,this.#t=e.mutationCache||new oh,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Mm.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Im.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(cm(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=am(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Fm.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;Fm.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Fm.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=Fm.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(im).catch(im)}invalidateQueries(e,t={}){return Fm.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=Fm.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(im)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(im)}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(cm(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(cm(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(im).catch(im)}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(im).catch(im)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Im.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(fm(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{pm(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(fm(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{pm(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||=dm(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===Tm&&(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()}},ph=I.createContext(!1),mh=()=>I.useContext(ph);ph.Provider;function hh(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var gh=I.createContext(hh()),_h=()=>I.useContext(gh),vh=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Dm(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},yh=e=>{I.useEffect(()=>{e.clearReset()},[e])},bh=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Dm(n,[e.error,r])),xh=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))}},Sh=(e,t)=>e?.suspense&&t.isPending,Ch=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function wh({queries:e,...t},n){let r=Qp(n),i=mh(),a=_h(),o=t.subscribed!==!1,s=I.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{xh(e);let t=r.getQueryCache().get(e.queryHash);vh(e,a,t)}),yh(a);let[c]=I.useState(()=>new uh(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;I.useSyncExternalStore(I.useCallback(e=>f?c.subscribe(Fm.batchCalls(e)):im,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),I.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>Sh(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&Sh(n,e)?Ch(n,new Zm(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&bh({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Th(e,t,n){let r=mh(),i=_h(),a=Qp(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,xh(o),vh(o,i,s),yh(i);let[l]=I.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(I.useSyncExternalStore(I.useCallback(e=>{let t=d?l.subscribe(Fm.batchCalls(e)):im;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),I.useEffect(()=>{l.setOptions(o)},[o,l]),Sh(o,u))throw Ch(o,l,i);if(bh({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function Eh(e,t){return Th(e,Zm,t)}function Dh(e,t){let n=Qp(t),[r]=I.useState(()=>new ch(n,e));I.useEffect(()=>{r.setOptions(e)},[r,e]);let i=I.useSyncExternalStore(I.useCallback(e=>r.subscribe(Fm.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=I.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(im)},[r]);if(i.error&&Dm(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function Oh(e,t){return Th(e,rh,t)}var kh=()=>{let e=0;return{refetchOnWindowFocus:()=>e>0?!1:`always`,paused:()=>e>0,pause:()=>{e+=1;let t=!1;return()=>{t||(t=!0,--e)}}}},Ah=(0,I.createContext)(null),jh=e=>{let t=(0,I.useContext)(Ah);(0,I.useEffect)(()=>e&&t?t.pause():void 0,[e,t])},Mh=e=>{let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),window.addEventListener(`focus`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,t)}},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],pages:(e,t,n)=>[`page`,e,t,n],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],recordPreview:(e,t)=>[`record-preview`,e,t],history:(e,t,n)=>[`record`,e,t,`history`,n],comments:(e,t)=>[`record`,e,t,`comments`],mentionable:(e,t,n)=>[`record`,e,t,`mentionable`,n],facets:(e,t,n)=>[`facets`,e,t,n],series:(e,t,n,r,i)=>[`series`,e,t,n,r,i],aggregate:(e,t)=>[`aggregate`,e,t],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],pickedLabels:(e,t)=>[`picked-labels`,e,t],count:(e,t)=>[`count`,e,t],exportCount:(e,t)=>[`list`,e,t,`export-count`],firstRecord:(e,t,n)=>[`first-record`,e,t,n],pathValue:(e,t,n)=>[`path-value`,e,t,n],publicForm:e=>[`public-form`,e]},Nh=(0,I.createContext)(null),Ph=(0,I.createContext)(null),Fh=(0,I.createContext)(null),U=()=>{let e=(0,I.useContext)(Nh);if(!e)throw Error(`useClient must be used inside ApiProvider`);return e},Ih=e=>{let t=U();return(0,I.useContext)(Fh)?.(e)??t},Gne=()=>{let e=U(),t=(0,I.useContext)(Fh);return(0,I.useCallback)(n=>t?.(n)??e,[e,t])},Kne=()=>{let e=(0,I.useContext)(Ph);if(!e)throw Error(`useSourceClients must be used inside ApiProvider`);return e},qne=({client:e,resourceClient:t,children:n})=>(0,R.jsx)(Nh.Provider,{value:e,children:(0,R.jsx)(Fh.Provider,{value:t,children:n})}),Lh=({baseUrl:e,client:t,sources:n,fetch:r,queryClient:i,token:a,onUnauthenticated:o,children:s})=>{let[c]=(0,I.useState)(kh),[l]=(0,I.useState)(()=>i??new fh({defaultOptions:{queries:{staleTime:3e4,retry:!1,refetchOnWindowFocus:c.refetchOnWindowFocus}}}));(0,I.useEffect)(()=>Mm.setEventListener(Mh),[]);let u=(0,I.useRef)(void 0),d=(0,I.useMemo)(()=>t??cc({baseUrl:e,fetch:r,token:a,onUnauthenticated:o,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,o]),f=(0,I.useMemo)(()=>{let e=new Map;return t=>{let i=n?.[t.url]??e.get(t.url);if(i)return i;let o,s=cc({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,R.jsx)($p,{client:l,children:(0,R.jsx)(Nh.Provider,{value:d,children:(0,R.jsx)(Ph.Provider,{value:f,children:(0,R.jsx)(Ah.Provider,{value:c,children:s})})})})},W=a({en:{notFound:`Not found`,noResource:e=>`There is no resource called ${e}.`,somethingWentWrong:`Something went wrong`,signInSecurity:`Sign-in & security`,signInPolicy:`Sign-in policy`,adminsOnly:`Admins only`,onlyAdminPolicy:`Only an admin can change how people sign in.`,ownersOnly:`Owners and admins only`,onlyOwners:`Only the organization's owners and admins manage its members.`,chooseResource:`Choose a resource`,pickFromSidebar:`Pick one from the sidebar.`,nothingHere:`There is nothing at this address.`,noPage:`There is no page called {}.`,assistant:`Assistant`,operationFailed:(e,t,n)=>`Operation ${e} (${t}) failed: ${n} Nothing was saved.`,nothingSaved:e=>`${e} Nothing was saved.`,admin:`Admin`,new:`New`,loadingRecord:`Loading record`,noComponent:`No component is registered as {}. Export it from protobase.ui.tsx, or load the plugin that provides it.`,choose:`Choose...`,fileMissing:`The file is missing from storage`,chooseFileFor:e=>`Choose a file for ${e}`,notUploaded:`Not uploaded`,uploadingLabel:e=>`Uploading ${e}`,uploading:e=>`Uploading… ${e}%`,replace:`Replace`,remove:`Remove`,dropFile:`Drop a file here or`,chooseFile:`Choose a file`,average:e=>`Average ${e.toLowerCase()}`,pages:`Pages`,account:`Account`,sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,hr:`HR`,cannotReach:e=>`Cannot reach ${e}`,searchPlural:e=>`Search ${e}`,couldNotLoadOptions:`Could not load the options`,noMatches:`No matches`,loading:`Loading`,leaveTitle:`Leave without saving?`,leaveDescription:`You have unsaved changes on this page. They stay in this browser, and come back when you open the record again.`,stay:`Stay`,leave:`Leave`,show:e=>`Show ${e}`,hide:e=>`Hide ${e}`,couldNotShow:e=>`Could not show the ${e}`,noAnswer:`It did not answer.`,signInRefused:e=>`It did not accept your sign-in: ${e}`,loadingFrom:e=>`Loading from ${e}`,restWorks:`The rest of the app works as before.`,tryAgain:`Try again`,staffSession:`Staff session`,staffSignedIn:`{} is signed in as {} until {}. Reason: {}`,stopStaffSession:`Stop staff session`,open:`Open`,openLabel:e=>`Open ${e}`},nl:{notFound:`Niet gevonden`,noResource:e=>`Er is geen onderdeel met de naam ${e}.`,somethingWentWrong:`Er ging iets mis`,signInSecurity:`Inloggen en beveiliging`,signInPolicy:`Inlogbeleid`,adminsOnly:`Alleen beheerders`,onlyAdminPolicy:`Alleen een beheerder kan wijzigen hoe mensen inloggen.`,ownersOnly:`Alleen eigenaren en beheerders`,onlyOwners:`Alleen de eigenaren en beheerders van de organisatie beheren de leden.`,chooseResource:`Kies een onderdeel`,pickFromSidebar:`Kies er een in de zijbalk.`,nothingHere:`Er is niets op dit adres.`,noPage:`Er is geen pagina met de naam {}.`,assistant:`Assistent`,operationFailed:(e,t,n)=>`Bewerking ${e} (${t}) mislukte: ${n} Er is niets bewaard.`,nothingSaved:e=>`${e} Er is niets bewaard.`,admin:`Beheer`,new:`Nieuw`,loadingRecord:`Record laden`,noComponent:`Er is geen component geregistreerd als {}. Exporteer die uit protobase.ui.tsx, of laad de plug-in die haar levert.`,choose:`Kiezen...`,fileMissing:`Het bestand ontbreekt in de opslag`,chooseFileFor:e=>`Kies een bestand voor ${e}`,notUploaded:`Niet geüpload`,uploadingLabel:e=>`${e} uploaden`,uploading:e=>`Uploaden… ${e}%`,replace:`Vervangen`,remove:`Verwijderen`,dropFile:`Zet hier een bestand neer of`,chooseFile:`Kies een bestand`,average:e=>`${e}, gemiddeld`,pages:`Pagina's`,account:`Account`,sales:`Verkoop`,crm:`CRM`,catalog:`Catalogus`,inventory:`Voorraad`,hr:`HR`,cannotReach:e=>`Kan ${e} niet bereiken`,searchPlural:e=>`${e} zoeken`,couldNotLoadOptions:`Kon de keuzes niet laden`,noMatches:`Niets gevonden`,loading:`Laden`,leaveTitle:`Weggaan zonder te bewaren?`,leaveDescription:`Je hebt niet-bewaarde wijzigingen op deze pagina. Ze blijven in deze browser, en komen terug als je het record weer opent.`,stay:`Blijven`,leave:`Weggaan`,show:e=>`${e} tonen`,hide:e=>`${e} verbergen`,couldNotShow:e=>`Kon ${e} niet tonen`,noAnswer:`Het antwoordde niet.`,signInRefused:e=>`Het accepteerde je inlog niet: ${e}`,loadingFrom:e=>`Laden van ${e}`,restWorks:`De rest van de app werkt zoals eerst.`,tryAgain:`Opnieuw proberen`,staffSession:`Sessie van een medewerker`,staffSignedIn:`{} is ingelogd als {} tot {}. Reden: {}`,stopStaffSession:`Sessie van medewerker stoppen`,open:`Openen`,openLabel:e=>`${e} openen`}}),Rh=(0,I.createContext)(null),zh=()=>{let e=(0,I.useContext)(Rh);if(!e)throw Error(`useRouter must be used inside Router`);return e},Bh=()=>`${window.location.pathname}${window.location.search}`,Vh=e=>new URL(e,`http://local`).pathname,Hh=()=>window.history.state?.protobaseIndex??0,Jne=({basePath:e=``,initialUrl:t,children:n})=>{let r=t!==void 0,[i,a]=(0,I.useState)(t??Bh()),o=(0,I.useRef)(new Set),s=(0,I.useRef)(i);s.current=i;let c=(0,I.useRef)(r?0:Hh()),l=(0,I.useRef)(!1),u=(0,I.useRef)(!1),d=(0,I.useRef)(void 0),[f,p]=(0,I.useState)();(0,I.useEffect)(()=>{if(r)return;window.history.replaceState({protobaseIndex:c.current},``);let e=()=>{let e=Hh();if(l.current){l.current=!1,c.current=e,d.current!==void 0&&window.history.go(d.current),d.current=void 0;return}let t=e-c.current,n=Vh(Bh())!==Vh(s.current);if(!u.current&&o.current.size>0&&n){l.current=!0,window.history.go(-t),p({kind:`history`,delta:t});return}u.current=!1,c.current=e,a(Bh())};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[r]);let m=(0,I.useCallback)((e,t)=>{r||(c.current+=+!t,window.history[t?`replaceState`:`pushState`]({protobaseIndex:c.current},``,e)),a(e)},[r]),h=(0,I.useCallback)((t,{replace:n=!1}={})=>{let r=`${e}${t}`;if(Vh(r)!==Vh(s.current)&&o.current.size>0)return p({kind:`link`,full:r,replace:n});m(r,n)},[e,m]),g=(0,I.useCallback)(()=>{let e=Symbol(`guard`);return o.current.add(e),()=>void o.current.delete(e)},[]),_=()=>{if(f){if(p(void 0),f.kind===`link`)return m(f.full,f.replace);u.current=!0,l.current?d.current=f.delta:window.history.go(f.delta)}},v=(0,I.useMemo)(()=>{let t=new URL(i,`http://local`);return{path:t.pathname.slice(e.length)||`/`,params:t.searchParams,basePath:e,entry:c.current,navigate:h,registerGuard:g}},[i,e,h,g]);return(0,R.jsxs)(Rh.Provider,{value:v,children:[n,f&&(0,R.jsx)(jf,{title:W(`leaveTitle`),description:W(`leaveDescription`),onClose:()=>p(void 0),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>p(void 0),children:W(`stay`)}),(0,R.jsx)(V,{variant:`primary`,onClick:_,children:W(`leave`)})]})})]})},Yne=({to:e,replace:t,...n})=>{let{navigate:r,basePath:i}=zh();return(0,R.jsx)(yu,{to:{href:`${i}${e}`,onFollow:()=>r(e,{replace:t})},...n})},Xne=e=>{let{registerGuard:t}=zh();(0,I.useEffect)(()=>e?t():void 0,[e,t]),(0,I.useEffect)(()=>{if(!e)return;let t=e=>e.preventDefault();return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e])},Uh=({title:e,description:t,size:n=`sm`,children:r})=>(0,R.jsx)(`div`,{className:`flex min-h-full w-full items-center justify-center bg-surface px-4 py-10`,children:(0,R.jsxs)(`div`,{className:g(`w-full`,n===`sm`?`max-w-sm`:`max-w-lg`),children:[(0,R.jsxs)(`div`,{className:`mb-6 flex flex-col items-center text-center`,children:[(0,R.jsx)(xu,{className:`size-10`}),(0,R.jsx)(`h1`,{className:`mt-4 text-xl font-semibold tracking-tight`,children:e}),t&&(0,R.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:t})]}),(0,R.jsx)(`div`,{className:`rounded-lg border bg-background p-5 shadow-sm`,children:r})]})}),Wh=({onResend:e,cooldown:t=30,disabled:n})=>{let[r,i]=(0,I.useState)(()=>Date.now()+t*1e3),[a,o]=(0,I.useState)(()=>Date.now()),s=Math.max(0,Math.ceil((r-a)/1e3));return(0,I.useEffect)(()=>{if(s===0)return;let e=setInterval(()=>o(Date.now()),1e3);return()=>clearInterval(e)},[s]),(0,R.jsx)(V,{variant:`ghost`,disabled:n||s>0,onClick:()=>{let n=Date.now();i(n+t*1e3),o(n),e()},className:`min-h-10`,children:s>0?z(`sendNewCodeIn`,s):z(`sendNewCode`)})},Gh=({title:e,description:t,explanation:n,submitLabel:r,onSubmit:i,onResend:a,onChangeAddress:o,changeAddressLabel:s,busy:c,error:l,notice:u,resendCooldown:d})=>{let[f,p]=(0,I.useState)(``);return(0,R.jsxs)(Uh,{title:e,description:t,children:[(0,R.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:n}),u&&(0,R.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:u}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),i(f)},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`code`),(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:f,invalid:!!l,onChange:p,onComplete:e=>!c&&i(e)})]}),l&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:l}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:c,className:`min-h-10`,children:r}),(0,R.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-x-2 sm:justify-between`,children:[(0,R.jsx)(V,{variant:`ghost`,onClick:o,className:`min-h-10`,children:s}),(0,R.jsx)(Wh,{onResend:a,disabled:c,cooldown:d})]})]})]})},Kh=(e,...t)=>{let n=e.split(`{}`);if(n.length!==t.length+1)throw Error(`The text "${e}" has ${n.length-1} places for ${t.length} elements`);return(0,R.jsx)(R.Fragment,{children:n.map((e,n)=>(0,R.jsxs)(I.Fragment,{children:[e,n<t.length&&t[n]]},n))})},Zne=({email:e,onBack:t,...n})=>(0,R.jsx)(Gh,{title:z(`checkEmail`),description:z(`signInCodeDescription`),explanation:(0,R.jsx)(R.Fragment,{children:Kh(z(`signInCodeSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),submitLabel:z(`signIn`),onChangeAddress:t,changeAddressLabel:z(`backToSignIn`),...n}),Qne=({email:e,onBack:t})=>{let{signInWithCode:n,sendSignInCode:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(),u=async e=>{a(!0),s(void 0),l(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;s(wd(e))}a(!1)};return(0,R.jsx)(Zne,{email:e,busy:i,error:o,notice:c,onBack:t,onSubmit:t=>void u(()=>n(e,t)),onResend:()=>void u(async()=>{await r(e),l(z(`newCodeSent`))})})},$ne=`protobase users create you@example.com`,ere=({command:e=$ne,onCheckAgain:t,busy:n})=>{let[r,i]=(0,I.useState)(!1);return(0,R.jsxs)(Uh,{title:z(`noAdminTitle`),description:z(`noAdminDescription`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`noAdminExplanation`)}),(0,R.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,R.jsx)(`code`,{className:`min-w-0 flex-1 break-all font-mono text-xs`,children:e}),(0,R.jsx)(`button`,{type:`button`,"aria-label":z(`copyCommand`),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,R.jsx)(bi,{className:`size-4 text-success`}):(0,R.jsx)(Hi,{className:`size-4`})})]}),(0,R.jsx)(V,{variant:`primary`,className:`mt-4 min-h-10 w-full`,loading:n,onClick:t,children:z(`reload`)})]})},tre=({onSubmit:e,back:t,busy:n,error:r,sentTo:i})=>{let[a,o]=(0,I.useState)(``);return i?(0,R.jsxs)(Uh,{title:z(`checkEmail`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:Kh(z(`resetSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:i}))}),(0,R.jsx)(yu,{to:t,className:g(Af({variant:`primary`}),`mt-4 min-h-10 w-full`),children:z(`backToSignIn`)})]}):(0,R.jsx)(Uh,{title:z(`resetTitle`),description:z(`resetDescription`),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(a.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{type:`email`,name:`email`,autoComplete:`username`,required:!0,autoFocus:!0,value:a,invalid:!!r,onChange:e=>o(e.target.value),className:`min-h-6`})]}),r&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:r}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:n,className:`min-h-10`,children:z(`sendResetLink`)}),(0,R.jsx)(yu,{to:t,className:g(Af({variant:`ghost`}),`min-h-10`),children:z(`backToSignIn`)})]})})},qh=`password-reset`,nre=e=>{let t=new URL(e);return`${t.origin}${t.pathname}?${qh}`},rre=e=>{let t=new URL(e).searchParams;if(t.has(`password-reset`))return{token:t.get(`token`)||void 0}},ire=e=>{let t=new URL(e);for(let e of[qh,`token`,`error`])t.searchParams.delete(e);return`${t.pathname}${t.search}${t.hash}`},are=({back:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(),[o,s]=(0,I.useState)(),c=async e=>{r(!0),a(void 0);try{await t.requestPasswordReset(e,nre(window.location.href)),s(e)}catch(e){if(!(e instanceof wc))throw e;a(e.status===429?z(`tooManyRequests`):e.message)}r(!1)};return(0,R.jsx)(tre,{busy:n,error:i,sentTo:o,back:e,onSubmit:e=>void c(e)})},ore=({name:e,workspace:t})=>(0,R.jsx)(Uh,{title:z(`signingInWith`,e),description:t,children:(0,R.jsxs)(`p`,{role:`status`,className:`flex items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`takingYouTo`,e)]})}),sre=({provider:e,workspace:t,onFailed:n})=>{let{signInProviders:r,signInSocial:i}=B(),a=r.find(t=>t.id===e),o=a?.name??Id(e),s=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{if(!s.current){if(s.current=!0,!a)return n(z(`providerNotOffered`,o));i(e).catch(e=>{if(!(e instanceof wc))throw e;n(Td(e))})}},[a,o,e,i,n]),(0,R.jsx)(ore,{name:o,workspace:t})},cre=({onSubmit:e,invalidLink:t,onRequestNewLink:n,onBack:r,busy:i,error:a})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(!1);if(t)return(0,R.jsxs)(Uh,{title:z(`linkExpiredTitle`),children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`linkExpiredExplanation`)}),(0,R.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[n&&(0,R.jsx)(V,{variant:`primary`,className:`min-h-10`,onClick:n,children:z(`sendNewLink`)}),(0,R.jsx)(V,{variant:n?`ghost`:`primary`,className:`min-h-10`,onClick:r,children:z(`backToSignIn`)})]})]});let f=u?z(`passwordsDiffer`):a;return(0,R.jsx)(Uh,{title:z(`choosePassword`),description:z(`atLeast`,12),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),d(o!==c),o===c&&e(o)},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`newPassword`),(0,R.jsx)(cd,{type:`password`,name:`new-password`,autoComplete:`new-password`,required:!0,minLength:12,autoFocus:!0,value:o,invalid:!!f,onChange:e=>s(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`repeatPassword`),(0,R.jsx)(cd,{type:`password`,name:`repeat-password`,autoComplete:`new-password`,required:!0,minLength:12,value:c,invalid:!!f,onChange:e=>l(e.target.value),className:`min-h-6`})]}),f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`setPassword`)})]})})},lre=e=>e.status===429?z(`tooManyAttempts`):e.code===`PASSWORD_TOO_SHORT`?z(`useAtLeast`,12):e.code===`PASSWORD_TOO_LONG`?z(`passwordTooLong`):e.message,ure=({token:e,onDone:t,onRequestNewLink:n,onBack:r})=>{let{session:i}=B(),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(!e),d=async n=>{o(!0),c(void 0);try{await i.resetPassword(e,n),t()}catch(e){if(!(e instanceof wc))throw e;e.code===`INVALID_TOKEN`?u(!0):c(lre(e)),o(!1)}};return(0,R.jsx)(cre,{busy:a,error:s,invalidLink:l,onRequestNewLink:n,onBack:r,onSubmit:e=>void d(e)})},dre=e=>z(e===`twoFactor`?`turnOnTwoFactor`:`addPasskey`),fre=({step:e,twoFactor:t,onAddPasskey:n,busy:r,error:i,onSignOut:a})=>(0,R.jsxs)(Uh,{title:dre(e),description:z(`requiredForEveryAccount`),children:[e===`twoFactor`?(0,R.jsx)(Pp,{...t}):(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`passkeyExplanation`)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsxs)(V,{variant:`primary`,loading:r,onClick:n,className:`min-h-10`,children:[(0,R.jsx)(wa,{className:`size-4`}),z(`addPasskey`)]})]}),(0,R.jsx)(`button`,{type:`button`,onClick:a,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:underline`,children:z(`signOut`)})]}),pre=({missing:e})=>{let{session:t,recheck:n,signOut:r}=B(),[i,a]=(0,I.useState)(),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)();(0,I.useEffect)(()=>{t.account.signInMethods().then(a,e=>l(e instanceof wc?wd(e):z(`couldNotReadAccount`)))},[t]);let u=async()=>{s(!0),l(void 0);try{await t.account.addPasskey(),n()}catch(e){if(!(e instanceof wc))throw e;l(wd(e)),s(!1)}};return!i&&!c?(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`loading`)]}):(0,R.jsx)(fre,{step:e[0],busy:o,error:c,onAddPasskey:()=>void u(),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}})},mre=({className:e})=>(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:g(`size-4 shrink-0`,e),"aria-hidden":!0,children:(0,R.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`})}),hre=({id:e,className:t})=>e===`github`?(0,R.jsx)(mre,{className:t}):null,gre=()=>(0,R.jsxs)(`div`,{className:`my-4 flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,R.jsx)(`span`,{className:`h-px flex-1 bg-border`}),z(`or`),(0,R.jsx)(`span`,{className:`h-px flex-1 bg-border`})]}),_re=({onSubmit:e,busy:t,error:n,workspace:r,notice:i,methods:a=[`password`],onSendCode:o,onPasskey:s,passkeyDomains:c=[],forgotPassword:l,providers:u=[],onContinueWith:d,signUp:f,onBrowse:p})=>{let[m,h]=(0,I.useState)(``),[g,_]=(0,I.useState)(``),v=(0,I.useRef)(null),y=a.includes(`password`),b=a.includes(`emailCode`)&&o!==void 0,x=a.includes(`passkey`)&&s!==void 0,S=d?u:[],C=()=>{v.current?.reportValidity()&&o?.(m.trim())};return(0,R.jsxs)(Uh,{title:z(`signInTitle`),description:r,children:[i&&(0,R.jsx)(`p`,{role:`status`,className:`mb-4 rounded-md bg-success-soft px-3 py-2 text-body font-medium text-success-text`,children:i}),(S.length>0||x)&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[S.map(e=>(0,R.jsxs)(V,{onClick:()=>d?.(e.id),disabled:t,className:`min-h-10 w-full`,children:[(0,R.jsx)(hre,{id:e.id}),z(`continueWith`,e.name)]},e.id)),x&&(0,R.jsxs)(V,{onClick:()=>s?.(),disabled:t,className:`min-h-10 w-full`,children:[(0,R.jsx)(wa,{className:`size-4`}),z(`signInWithPasskey`)]}),x&&c.slice(1).map(e=>(0,R.jsx)(V,{variant:`ghost`,size:`sm`,onClick:()=>s?.(e),disabled:t,className:`w-full`,children:z(`passkeyFor`,e)},e))]}),y||b?(0,R.jsx)(gre,{}):n&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-4 text-body font-medium text-danger-text`,children:n})]}),(y||b)&&(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),y?e(m.trim(),g):C()},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{ref:v,type:`email`,name:`email`,autoComplete:`username webauthn`,required:!0,autoFocus:!0,value:m,invalid:!!n,onChange:e=>h(e.target.value),className:`min-h-6`})]}),y&&(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`password`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`current-password`,required:!0,value:g,invalid:!!n,onChange:e=>_(e.target.value),className:`min-h-6`})]}),n&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:n}),y&&(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:t,className:`min-h-10`,children:z(`signIn`)}),b&&(0,R.jsxs)(V,{variant:y?`secondary`:`primary`,type:y?`button`:`submit`,onClick:y?C:void 0,loading:t&&!y,disabled:t,className:`min-h-10`,children:[(0,R.jsx)(Ja,{className:`size-4`}),z(`emailSignInCode`)]}),y&&l&&(0,R.jsx)(yu,{to:l,className:`self-center font-medium text-primary-text hover:underline`,children:z(`forgotPassword`)})]}),f&&(0,R.jsxs)(`p`,{className:`mt-4 text-center text-muted-foreground`,children:[z(`newHere`),` `,(0,R.jsx)(yu,{to:f,className:`font-medium text-primary-text hover:underline`,children:z(`createAnAccount`)})]}),p&&(0,R.jsx)(`button`,{type:`button`,onClick:p,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:text-foreground hover:underline`,children:z(`browse`)})]})},vre=({workspace:e,notice:t,forgotPassword:n,signUp:r,onBrowse:i,onCodeSent:a,error:o})=>{let{signIn:s,signInSocial:c,signInProviders:l,signInMethods:u,passkeyDomains:d,sendSignInCode:f,signInWithPasskey:p}=B(),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(o),v=async(e,t)=>{h(!0),_(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;_(t(e)),h(!1)}};return(0,R.jsx)(_re,{busy:m,error:g,workspace:e,notice:t,methods:u,forgotPassword:n,signUp:r,onBrowse:i,providers:l,onContinueWith:e=>void v(()=>c(e),Td),passkeyDomains:d,onPasskey:e=>void v(()=>p(e),wd),onSendCode:e=>void v(async()=>{await f(e),a(e)},wd),onSubmit:(e,t)=>void v(()=>s(e,t),Td)})},yre=({email:e,onBack:t,...n})=>(0,R.jsx)(Gh,{title:z(`checkEmail`),description:z(`signUpCodeDescription`),explanation:(0,R.jsx)(R.Fragment,{children:Kh(z(`signUpCodeSent`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),submitLabel:z(`continue`),onChangeAddress:t,changeAddressLabel:z(`useAnotherAddress`),...n}),bre=({email:e,onSubmit:t,onBack:n,methods:r,busy:i,error:a})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),u=(0,I.useId)(),d=r.includes(`password`),f=r.includes(`emailCode`);return(0,R.jsxs)(Uh,{title:z(`detailsTitle`),description:z(`detailsDescription`),children:[(0,R.jsx)(`p`,{className:`mb-4 text-muted-foreground`,children:Kh(z(`codeWasRight`),(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:e}))}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({name:o.trim(),...d&&c&&{password:c}})},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`yourName`),(0,R.jsx)(cd,{name:`name`,autoComplete:`name`,required:!0,autoFocus:!0,maxLength:200,value:o,onChange:e=>s(e.target.value),className:`min-h-6`})]}),d&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(f?`passwordOptional`:`password`),(0,R.jsx)(cd,{type:`password`,name:`password`,autoComplete:`new-password`,"aria-describedby":u,required:!f,minLength:12,maxLength:128,value:c,onChange:e=>l(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`p`,{id:u,className:`text-xs text-muted-foreground`,children:[z(`atLeast`,12),f&&z(`withoutPassword`)]})]}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`createAccount`)}),(0,R.jsx)(V,{variant:`ghost`,onClick:n,className:`min-h-10`,children:z(`useAnotherAddress`)})]})]})},xre=({onSubmit:e,onSignIn:t,onBrowse:n,busy:r,error:i,workspace:a})=>{let[o,s]=(0,I.useState)(``);return(0,R.jsxs)(Uh,{title:z(`createAnAccount`),description:a,children:[(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:t=>{t.preventDefault(),e(o.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`email`),(0,R.jsx)(cd,{type:`email`,name:`email`,autoComplete:`email`,required:!0,autoFocus:!0,value:o,invalid:!!i,onChange:e=>s(e.target.value),className:`min-h-6`})]}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`codeToConfirm`)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsxs)(V,{variant:`primary`,type:`submit`,loading:r,className:`min-h-10`,children:[(0,R.jsx)(Ja,{className:`size-4`}),z(`emailCode`)]}),(0,R.jsxs)(`p`,{className:`text-center text-muted-foreground`,children:[z(`haveAccount`),` `,(0,R.jsx)(`button`,{type:`button`,onClick:t,className:`font-medium text-primary-text hover:underline`,children:z(`signIn`)})]})]}),n&&(0,R.jsx)(`button`,{type:`button`,onClick:n,className:`mt-4 w-full text-center font-medium text-muted-foreground hover:text-foreground hover:underline`,children:z(`browseWithoutAccount`)})]})},Sre=({workspace:e,email:t,ticket:n,onCodeSent:r,onVerified:i,onBack:a,onSignIn:o,onBrowse:s})=>{let{signInMethods:c,sendSignUpCode:l,verifySignUpCode:u,signUp:d}=B(),[f,p]=(0,I.useState)(!1),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)(),v=async e=>{p(!0),h(void 0),_(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;h(wd(e))}p(!1)};return t===void 0?(0,R.jsx)(xre,{workspace:e,busy:f,error:m,onSignIn:o,onBrowse:s,onSubmit:e=>void v(async()=>{await l(e),r(e)})}):n===void 0?(0,R.jsx)(yre,{email:t,busy:f,error:m,notice:g,onBack:a,onSubmit:e=>void v(async()=>i(await u(t,e))),onResend:()=>void v(async()=>{await l(t),_(z(`newCodeSent`))})}):(0,R.jsx)(bre,{email:t,methods:c,busy:f,error:m,onBack:a,onSubmit:e=>void v(()=>d({ticket:n,...e}))})},Jh=`staff-sign-in`,Yh=`staff-error`,Cre=e=>{let t=new URL(e).searchParams,n=t.get(Yh);if(!t.has(`staff-sign-in`)&&!n)return;let r=t.has(Jh);return{email:r&&t.get(`email`)||``,reason:r&&t.get(`reason`)||``,...n&&{error:n}}},Xh=e=>{let t=new URL(e);if(t.searchParams.has(`staff-sign-in`))for(let e of[Jh,`email`,`reason`])t.searchParams.delete(e);return t.searchParams.delete(Yh),`${t.pathname}${t.search}${t.hash}`},wre=10,Tre=({operator:e,email:t=``,reason:n=``,onSubmit:r,onBack:i,busy:a,error:o})=>{let[s,c]=(0,I.useState)(t),[l,u]=(0,I.useState)(n);return e?(0,R.jsx)(Uh,{title:z(`signInAsPerson`),description:z(`forStaffOf`,e),children:(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),r(s.trim(),l.trim())},children:[(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`theirEmail`),(0,R.jsx)(cd,{type:`email`,name:`email`,required:!0,autoFocus:!t,value:s,onChange:e=>c(e.target.value),className:`min-h-6`})]}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(`reason`),(0,R.jsx)(`textarea`,{name:`reason`,required:!0,minLength:wre,rows:3,value:l,placeholder:z(`reasonExample`),onChange:e=>u(e.target.value),className:g(`resize-y rounded-md border bg-background px-2.5 py-1.5 font-normal shadow-sm outline-none placeholder:text-faint-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`,o?`border-danger`:`border-border-strong`)})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:z(`staffExplanation`,e)}),o&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:o}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:a,className:`min-h-10`,children:z(`continueWith`,e)}),(0,R.jsx)(V,{variant:`ghost`,onClick:i,className:`min-h-10`,children:z(`backToSignIn`)})]})}):(0,R.jsxs)(Uh,{title:z(`staffTitle`),description:z(`staffUnavailable`),children:[o&&(0,R.jsx)(`p`,{role:`alert`,className:`mb-4 text-body font-medium text-danger-text`,children:o}),(0,R.jsx)(V,{variant:`primary`,className:`min-h-10 w-full`,onClick:i,children:z(`backToSignIn`)})]})},Ere=({link:e,onBack:t})=>{let{session:n,staffSignIn:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(e.error&&Dd(e.error)),c=async(e,t)=>{a(!0),s(void 0);try{let r=`${window.location.origin}${Xh(window.location.href)}`;window.location.assign(await n.staff.start({email:e,reason:t,callbackURL:r}))}catch(e){if(!(e instanceof wc))throw e;s(Dd(e)),a(!1)}};return(0,R.jsx)(Tre,{operator:r,email:e.email,reason:e.reason,busy:i,error:o,onBack:t,onSubmit:(e,t)=>void c(e,t)})},Zh=({checked:e,indeterminate:t,onChange:n,label:r,disabled:i,className:a})=>(0,R.jsx)(`button`,{type:`button`,role:`checkbox`,"aria-checked":t?`mixed`:e,"aria-label":r,disabled:i,onClick:()=>n?.(!e),className:g(`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`,a),children:t?(0,R.jsx)(Lee,{className:`size-3`,strokeWidth:3}):e&&(0,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}),Dre={totp:`totpInstruction`,otp:`otpInstruction`,backup:`backupInstruction`},Ore=({methods:e,onVerify:t,onSendCode:n,onBack:r,busy:i,error:a,codeSent:o,initialStep:s})=>{let[c,l]=(0,I.useState)(s??(e.includes(`totp`)?`totp`:`otp`)),[u,d]=(0,I.useState)(``),[f,p]=(0,I.useState)(!1),m=c===`otp`&&!o,h=e=>{l(e),d(``),e===`otp`&&!o&&n()};return(0,R.jsxs)(Uh,{title:z(`twoFactorTitle`),description:z(`twoFactorDescription`),children:[m?(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`codeToFinish`)}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,loading:i,onClick:n,className:`min-h-10`,children:z(`emailCode`)})]}):(0,R.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),t({method:c,code:u.trim(),trustDevice:f})},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(Dre[c])}),(0,R.jsxs)(`label`,{className:`flex flex-col gap-1.5 font-medium`,children:[z(c===`backup`?`backupCode`:`code`),c===`backup`?(0,R.jsx)(cd,{name:`code`,autoComplete:`off`,spellCheck:!1,required:!0,autoFocus:!0,value:u,invalid:!!a,onChange:e=>d(e.target.value),className:`min-h-6 font-mono`}):(0,R.jsx)(Uf,{name:`code`,required:!0,autoFocus:!0,value:u,invalid:!!a,onChange:d})]}),(0,R.jsxs)(`label`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(Zh,{checked:f,onChange:p,label:z(`trustBrowser`)}),z(`trustBrowserFor`)]}),a&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:a}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,loading:i,className:`min-h-10`,children:z(`verify`)})]}),(0,R.jsxs)(`div`,{className:`mt-4 flex flex-col items-center gap-2 border-t pt-4`,children:[c!==`totp`&&e.includes(`totp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`totp`),className:`font-medium text-primary-text hover:underline`,children:z(`useAuthenticator`)}),c!==`otp`&&e.includes(`otp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`otp`),className:`font-medium text-primary-text hover:underline`,children:z(`emailCodeInstead`)}),c!==`backup`&&e.includes(`totp`)&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>h(`backup`),className:`font-medium text-primary-text hover:underline`,children:z(`useBackupCode`)}),(0,R.jsx)(`button`,{type:`button`,onClick:r,className:`font-medium text-muted-foreground hover:underline`,children:z(`backToSignIn`)})]})]})},kre=({methods:e,onBack:t})=>{let{verifyTwoFactor:n,session:r}=B(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(!1),u=async e=>{a(!0),s(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;s(wd(e))}a(!1)};return(0,R.jsx)(Ore,{methods:e,busy:i,error:o,codeSent:c,onBack:t,onVerify:e=>void u(()=>n(e)),onSendCode:()=>void u(async()=>{await r.sendTwoFactorCode(),l(!0)})})},Qh=()=>{let{path:e,params:t,basePath:n,navigate:r}=zh(),i=(0,I.useMemo)(()=>Ms(e,t),[e,t]),a=Pd(new URL(t.size>0?`${e}?${t}`:e,`http://local`).href),o=i?i.next:a,s=(0,I.useCallback)((e=`sign-in`,t)=>r(js({step:e,next:o}),t),[r,o]);return{address:i,next:o,open:s,link:(0,I.useCallback)((e=`sign-in`,t)=>({href:`${n}${js({step:e,next:o})}`,onFollow:()=>s(e,t)}),[n,o,s]),leave:(0,I.useCallback)(()=>r(o??`/`,{replace:!0}),[r,o])}},Are=e=>{let t=new URL(e),n=t.searchParams.get(`token`);return t.pathname.endsWith(`/-/invitation`)&&n?{token:n}:void 0},jre=e=>`${new URL(e).pathname.slice(0,-13)}/`,G=a({en:{organizations:`Organizations`,organization:`Organization`,members:`Members`,invitations:`Invitations`,owner:`Owner`,admin:`Admin`,member:`Member`,loading:`Loading`,name:`Name`,slug:`Slug`,save:`Save`,cancel:`Cancel`,delete:`Delete`,remove:`Remove`,create:`Create`,current:`Current`,open:`Open`,allOrganizations:`All organizations`,allOrganizationsDescription:`Every organization in the app. Your global roles let you work in any of them, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,findOrganization:`Find an organization`,nameOrSlug:`Name or slug`,cannotChangeRole:`You cannot give or take away this role`,makeAccountToJoin:e=>`Make your account for ${e} to join.`,makeAccount:e=>`Make your account for ${e}.`,yourName:`Your name`,password:`Password`,passwordOptional:e=>`Password (optional, ${e}+ characters)`,passwordRequired:e=>`Password (${e}+ characters)`,createAndJoin:`Create account and join`,createYourAccount:`Create your account`,invalidLink:`This invitation link is not valid`,invitation:`Invitation`,goToApp:`Go to the app`,invitesToApp:(e,t)=>`${e} invites you to join ${t}.`,invitesTo:(e,t,n)=>`${e} invites you to ${t} as ${n}.`,invitesToWith:(e,t,n,r)=>`${e} invites you to ${t} as ${n}, with ${r}.`,join:e=>`Join ${e}`,hasAccount:e=>`${e} has an account already: sign in with it.`,signOut:`Sign out`,signInAs:e=>`Sign in as ${e}`,signInAsToJoin:e=>`Sign in as ${e} to join`,otherAddress:(e,t)=>`This invitation is for ${e}, and you are signed in as ${t}.`,signOutToAccept:`Sign out to accept it`,inviteSomeone:`Invite someone`,inviteDescription:`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.`,organizationRole:`Organization role`,peopleInvited:e=>`People invited to ${e}.`,notAcceptedYet:`Not accepted yet`,sendingAgain:`Sending again gives a new link, which replaces the earlier one.`,nobodyWaiting:`Nobody is waiting.`,roleOf:e=>`Organization role of ${e}`,couldNotReadMembers:`Could not read the members`,whoWorks:e=>`Who works in ${e}, and with which roles.`,membersDescription:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,details:`Details`,detailsEditable:`The name people see, and the slug that names it in links.`,detailsReadOnly:`Owners and admins can change these.`,handOver:`Hand over`,handOverDescription:`Make another member the owner. You stay as an admin.`,newOwner:`New owner`,chooseMember:`Choose a member`,deleteOrganization:`Delete organization`,deleteDescription:`Takes the organization and its members and invitations away. Its records must be deleted first.`,deleteTitle:e=>`Delete ${e}?`,deleteConfirm:`Type its name to confirm. This cannot be undone.`,organizationName:`Organization name`,leave:`Leave`,leaveOwner:`An organization keeps an owner: hand it over before you leave, unless it has another owner.`,leaveMember:`You stop being a member, and lose your roles here.`,leaveName:e=>`Leave ${e}`,noOrganization:`You do not work in an organization now. Choose one under Organizations.`,youAre:e=>`You are ${e} here.`,throughGlobalRoles:`You work here through your global roles, without being a member.`,newOrganization:`New organization`,newOrganizationDescription:`You become its owner, with every role, and work in it once it is made.`,invitationsForYou:`Invitations for you`,invitationsForYouDescription:`Open the link in the invitation email to accept one.`,anOrganization:`An organization`,noAppRoles:`no app roles`,until:e=>`Until ${e}`,organizationsSubtitle:`You work in one organization at a time; what you see follows from your roles there.`,yourOrganizations:`Your organizations`,memberOf:`The organizations you are a member of.`,notMember:`You are not a member of an organization yet.`,couldNotReadOrganizations:`Could not read your organizations`},nl:{organizations:`Organisaties`,organization:`Organisatie`,members:`Leden`,invitations:`Uitnodigingen`,owner:`Eigenaar`,admin:`Beheerder`,member:`Lid`,loading:`Laden`,name:`Naam`,slug:`Slug`,save:`Bewaren`,cancel:`Annuleren`,delete:`Verwijderen`,remove:`Verwijderen`,create:`Maken`,current:`Huidige`,open:`Openen`,allOrganizations:`Alle organisaties`,allOrganizationsDescription:`Elke organisatie in de app. Met je globale rollen kun je in elk ervan werken, met wat die rollen daar toestaan. Wie er een opent waar die geen lid van is, komt in het auditlogboek.`,findOrganization:`Een organisatie zoeken`,nameOrSlug:`Naam of slug`,cannotChangeRole:`Je kunt deze rol niet geven of afnemen`,makeAccountToJoin:e=>`Maak je account voor ${e} om lid te worden.`,makeAccount:e=>`Maak je account voor ${e}.`,yourName:`Je naam`,password:`Wachtwoord`,passwordOptional:e=>`Wachtwoord (optioneel, ${e}+ tekens)`,passwordRequired:e=>`Wachtwoord (${e}+ tekens)`,createAndJoin:`Account maken en lid worden`,createYourAccount:`Je account maken`,invalidLink:`Deze uitnodigingslink is niet geldig`,invitation:`Uitnodiging`,goToApp:`Naar de app`,invitesToApp:(e,t)=>`${e} nodigt je uit voor ${t}.`,invitesTo:(e,t,n)=>`${e} nodigt je uit voor ${t} als ${n}.`,invitesToWith:(e,t,n,r)=>`${e} nodigt je uit voor ${t} als ${n}, met ${r}.`,join:e=>`Lid worden van ${e}`,hasAccount:e=>`${e} heeft al een account: log daarmee in.`,signOut:`Uitloggen`,signInAs:e=>`Inloggen als ${e}`,signInAsToJoin:e=>`Inloggen als ${e} om lid te worden`,otherAddress:(e,t)=>`Deze uitnodiging is voor ${e}, en je bent ingelogd als ${t}.`,signOutToAccept:`Uitloggen om die te accepteren`,inviteSomeone:`Iemand uitnodigen`,inviteDescription:`Die krijgt een e-mail met een link om lid te worden, of om eerst een account te maken. Je kunt de app-rollen geven die je zelf hebt, en die je rollen toekennen.`,organizationRole:`Rol in de organisatie`,peopleInvited:e=>`Mensen uitgenodigd voor ${e}.`,notAcceptedYet:`Nog niet geaccepteerd`,sendingAgain:`Opnieuw sturen geeft een nieuwe link, die de vorige vervangt.`,nobodyWaiting:`Er wacht niemand.`,roleOf:e=>`Rol in de organisatie van ${e}`,couldNotReadMembers:`Kon de leden niet lezen`,whoWorks:e=>`Wie in ${e} werkt, en met welke rollen.`,membersDescription:`Eigenaren en beheerders beheren de organisatie; app-rollen bepalen wat elk lid in de app ziet en doet.`,details:`Gegevens`,detailsEditable:`De naam die mensen zien, en de slug die haar in links noemt.`,detailsReadOnly:`Eigenaren en beheerders kunnen dit wijzigen.`,handOver:`Overdragen`,handOverDescription:`Maak een ander lid eigenaar. Jij blijft beheerder.`,newOwner:`Nieuwe eigenaar`,chooseMember:`Kies een lid`,deleteOrganization:`Organisatie verwijderen`,deleteDescription:`Verwijdert de organisatie met haar leden en uitnodigingen. Haar records moeten eerst worden verwijderd.`,deleteTitle:e=>`${e} verwijderen?`,deleteConfirm:`Typ de naam om te bevestigen. Dit kan niet ongedaan worden gemaakt.`,organizationName:`Naam van de organisatie`,leave:`Verlaten`,leaveOwner:`Een organisatie houdt een eigenaar: draag die rol over voordat je vertrekt, tenzij er nog een eigenaar is.`,leaveMember:`Je bent dan geen lid meer, en verliest je rollen hier.`,leaveName:e=>`${e} verlaten`,noOrganization:`Je werkt nu niet in een organisatie. Kies er een onder Organisaties.`,youAre:e=>`Je bent hier ${e}.`,throughGlobalRoles:`Je werkt hier via je globale rollen, zonder lid te zijn.`,newOrganization:`Nieuwe organisatie`,newOrganizationDescription:`Je wordt de eigenaar, met elke rol, en werkt erin zodra die is gemaakt.`,invitationsForYou:`Uitnodigingen voor jou`,invitationsForYouDescription:`Open de link in de uitnodigingsmail om er een te accepteren.`,anOrganization:`Een organisatie`,noAppRoles:`geen app-rollen`,until:e=>`Tot ${e}`,organizationsSubtitle:`Je werkt in één organisatie tegelijk; wat je ziet volgt uit je rollen daar.`,yourOrganizations:`Je organisaties`,memberOf:`De organisaties waar je lid van bent.`,notMember:`Je bent nog geen lid van een organisatie.`,couldNotReadOrganizations:`Kon je organisaties niet lezen`}}),$h=`/-/organizations`,eg=`/-/organization`,tg=`/-/organization/members`,ng=`/-/organization/invitations`,Mre={[$h]:`organizations`,[eg]:`organization`,[tg]:`members`,[ng]:`invitations`},Nre=e=>{let t=Mre[e];return t&&G(t)},rg=e=>G(e),ig=(e,t)=>e.find(e=>e.name===t)?.label??t,ag=e=>e?.role===`owner`||e?.role===`admin`,Pre=(e,t,n)=>{let r=(n,r,i,a)=>({id:n,label:r,icon:i,href:`${e}${a}`,active:t===a});return[r(`organizations`,G(`organizations`),Bee,$h),...n?.organization?[r(`organization`,G(`organization`),fi,eg)]:[],...ag(n)?[r(`members`,G(`members`),Yo,tg),r(`invitations`,G(`invitations`),Ja,ng)]:[]]},og=(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)))},sg=()=>{let[e,t]=(0,I.useState)(!1),[n,r]=(0,I.useState)();return{busy:e,error:n,run:async e=>{t(!0),r(void 0);try{await e()}catch(e){if(!(e instanceof wc))throw e;r(wd(e))}t(!1)},setError:r}},cg=({token:e,preview:t,joins:n,onDone:r})=>{let{session:i,signInMethods:a,recheck:o}=B(),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(``),{busy:d,error:f,run:p}=sg(),m=a.includes(`password`),h=a.includes(`emailCode`),g=()=>p(async()=>{await i.organizations.signUpFromInvitation(e,{name:s.trim(),...m&&l&&{password:l}}),r(),o()});return(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),g()},children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:G(n?`makeAccountToJoin`:`makeAccount`,t.email)}),f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(cd,{"aria-label":G(`yourName`),placeholder:G(`yourName`),autoComplete:`name`,value:s,onChange:e=>c(e.target.value)}),m&&(0,R.jsx)(cd,{"aria-label":G(`password`),type:`password`,autoComplete:`new-password`,placeholder:G(h?`passwordOptional`:`passwordRequired`,12),value:l,onChange:e=>u(e.target.value)}),(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:d,disabled:!s.trim()||m&&!h&&l.length<12,children:G(n?`createAndJoin`:`createYourAccount`)})]})},Fre=({token:e,onDone:t,signIn:n})=>{let{session:r,state:i,signOut:a,organizations:o}=B(),[s,c]=(0,I.useState)(),[l,u]=(0,I.useState)(),{busy:d,error:f,run:p}=sg();if((0,I.useEffect)(()=>{r.organizations.invitation(e).then(c,e=>u(e instanceof wc?wd(e):G(`invalidLink`)))},[r,e]),l)return(0,R.jsx)(Uh,{title:G(`invitation`),description:l,children:(0,R.jsx)(V,{className:`w-full`,onClick:t,children:G(`goToApp`)})});if(!s)return(0,R.jsx)(Uh,{title:G(`invitation`),children:(0,R.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,G(`loading`)]})});let m=i.kind===`signed-in`?i.user:void 0,h=m?.email.toLowerCase()===s.email.toLowerCase();if(!s.organization){let r=s.app?.name??``,i=G(`invitesToApp`,s.inviter.name,r);return(0,R.jsx)(Uh,{title:G(`join`,r),description:i,children:s.hasAccount?m&&h?(0,R.jsx)(V,{variant:`primary`,className:`w-full`,onClick:t,children:G(`goToApp`)}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`hasAccount`,s.email)}),m?(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOut`)}):(0,R.jsx)(yu,{to:n,className:g(Af({variant:`primary`}),`w-full`),children:G(`signInAs`,s.email)})]}):m?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`otherAddress`,s.email,m.email)}),(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOutToAccept`)})]}):(0,R.jsx)(cg,{token:e,preview:s,joins:!1,onDone:t})})}let _=s.organization,v=s.appRoles.map(e=>ig(o?.roles??[],e)),y=rg(s.role).toLowerCase(),b=v.length>0?G(`invitesToWith`,s.inviter.name,_.name,y,v.join(`, `)):G(`invitesTo`,s.inviter.name,_.name,y);return m&&!h?(0,R.jsxs)(Uh,{title:G(`join`,_.name),description:b,children:[(0,R.jsx)(`p`,{className:`mb-3 text-muted-foreground`,children:G(`otherAddress`,s.email,m.email)}),(0,R.jsx)(V,{className:`w-full`,onClick:()=>void a(),children:G(`signOutToAccept`)})]}):(0,R.jsx)(Uh,{title:G(`join`,_.name),description:b,children:m?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[f&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:f}),(0,R.jsx)(V,{variant:`primary`,className:`w-full`,loading:d,onClick:()=>void p(async()=>{await r.organizations.accept(e),t()}),children:G(`join`,_.name)})]}):s.hasAccount?(0,R.jsx)(yu,{to:n,className:g(Af({variant:`primary`}),`w-full`),children:G(`signInAsToJoin`,s.email)}):(0,R.jsx)(cg,{token:e,preview:s,joins:!0,onDone:t})})},lg,ug,Ire=({dsn:e,environment:t})=>(lg??=m(()=>import(`./prod-YZ9ZMG1O.js`).then(n=>{n.init({dsn:e,...t&&{environment:t},integrations:e=>e.filter(e=>e.name!==`BrowserSession`),beforeSend:e=>xee(e)}),ug=(e,t)=>n.captureException(e,t?{contexts:{react:{componentStack:t}}}:void 0)}),[]),lg),dg=(e,t)=>ug?.(e,t??void 0),fg=({children:e})=>(0,R.jsx)(`div`,{role:`alert`,className:`rounded-lg border border-dashed border-warning bg-warning-soft p-3 text-warning-text`,children:e}),pg=a({en:{notFound:`Not found`,noPage:`There is no page called {}.`,cancel:`Cancel`,couldNotDraw:`{} could not be drawn.`,noComponent:`No component is registered as {}. Export it from protobase.ui.tsx, or load the plugin that provides it.`,unknownBlock:`{} is not a block this version of the app knows.`,somethingWrong:`Something went wrong`,needsRecord:`Needs a record`,cannotChange:`You cannot change this record`,cannotDelete:`You cannot delete this record`,noHandler:e=>`The app has no handler for "${e}"`,noInputComponent:(e,t)=>`The app has no component "${e}" for input "${t}"`,done:e=>`${e}: done`,failed:e=>`${e} failed`,noAction:e=>`No action "${e}"`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`,saved:e=>`${e}: saved`,create:`Create`,save:`Save`,notSaved:`Not saved`,couldNotCount:`Could not count`,required:`Required`,wholeNumber:`A whole number`,number:`A number`,dateFormat:`A date as YYYY-MM-DD`,atMost:e=>`At most ${e} characters`},nl:{notFound:`Niet gevonden`,noPage:`Er is geen pagina met de naam {}.`,cancel:`Annuleren`,couldNotDraw:`{} kon niet worden getekend.`,noComponent:`Er is geen component geregistreerd als {}. Exporteer die uit protobase.ui.tsx, of laad de plug-in die haar levert.`,unknownBlock:`{} is geen blok dat deze versie van de app kent.`,somethingWrong:`Er ging iets mis`,needsRecord:`Vraagt een record`,cannotChange:`Je kunt dit record niet wijzigen`,cannotDelete:`Je kunt dit record niet verwijderen`,noHandler:e=>`De app heeft geen handler voor "${e}"`,noInputComponent:(e,t)=>`De app heeft geen component "${e}" voor invoer "${t}"`,done:e=>`${e}: klaar`,failed:e=>`${e} mislukt`,noAction:e=>`Geen actie "${e}"`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`,saved:e=>`${e}: bewaard`,create:`Maken`,save:`Bewaren`,notSaved:`Niet bewaard`,couldNotCount:`Kon niet tellen`,required:`Verplicht`,wholeNumber:`Een geheel getal`,number:`Een getal`,dateFormat:`Een datum als JJJJ-MM-DD`,atMost:e=>`Hoogstens ${e} tekens`}}),mg=class extends I.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){dg(e,t.componentStack)}render(){return this.state.failed?this.props.fallback===void 0?(0,R.jsx)(fg,{children:Kh(pg(`couldNotDraw`),this.props.name)}):this.props.fallback:this.props.children}},Lre=/^[A-Z][A-Za-z0-9]*$/,Rre=e=>typeof e==`function`||typeof e==`object`&&!!e&&`$$typeof`in e,hg=e=>{let t=e.default??{},n=Object.entries(e).filter(e=>e[0]!=="default"&&Lre.test(e[0])&&Rre(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)}}},gg=class extends Error{name=`UiConflictError`},zre=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?hg(e):e,_g=(e,t)=>[...(e.extends??[]).map(zre).flatMap((e,n)=>_g(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],vg=(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 gg(`${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},yg=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,R.jsx)(e,{},t)),Bre=e=>e.length<=1?e[0]:({children:t,...n})=>e.reduceRight((e,t)=>(0,R.jsx)(t,{...n,children:e}),t),bg=(...e)=>{let t=e.flatMap((e,t)=>_g(e,e.name??`UI config ${t+1}`)),n=vg(`The component`,t,e=>e.components),r=vg(`The action handler`,t,e=>e.actions),i=vg(`The field type`,t,e=>e.fields),a=vg(`The drop rule`,t,e=>e.dropRules),o=vg(`The board drop`,t,e=>e.boardDrops),s=yg(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),c=yg(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),l=t.findLast(({ui:e})=>e.shell?.logo)?.ui.shell?.logo,u=Bre(t.flatMap(({ui:e})=>e.beforeSignIn?[e.beforeSignIn]:[])),d=e.at(-1)?.name;return{...d&&{name:d},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...Object.keys(a).length>0&&{dropRules:a},...Object.keys(o).length>0&&{boardDrops:o},...(s||c||l)&&{shell:{...s&&{actions:s},...c&&{rightPanel:c},...l&&{logo:l}}},...u&&{beforeSignIn:u}}},xg=(e,t)=>{let n=bg(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{bg(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof gg))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:bg(...r,n),off:i}},Sg=a({en:{loading:`Loading`,pluginsOff:`Plugins off`,pluginOff:`The plugin {} is off: {}.`,dismiss:`Dismiss`,answered:e=>`its plugin.json answered ${e}`,couldNotLoad:e=>`it could not be loaded: ${e}`,notObject:`its plugin.json is not an object`,noName:`its plugin.json names no plugin`,noApi:`its plugin.json names no plugin API`,noVersions:`its plugin.json names no Protobase versions`,noModule:`its plugin.json names no module`,badStylesheet:`its plugin.json names a stylesheet that is no URL`,badVersion:`its plugin.json has a version that is no text`},nl:{loading:`Laden`,pluginsOff:`Plug-ins uit`,pluginOff:`De plug-in {} staat uit: {}.`,dismiss:`Sluiten`,answered:e=>`de plugin.json antwoordde ${e}`,couldNotLoad:e=>`hij kon niet worden geladen: ${e}`,notObject:`de plugin.json is geen object`,noName:`de plugin.json noemt geen plug-in`,noApi:`de plugin.json noemt geen plug-in-API`,noVersions:`de plugin.json noemt geen Protobase-versies`,noModule:`de plugin.json noemt geen module`,badStylesheet:`de plugin.json noemt een stylesheet die geen URL is`,badVersion:`de plugin.json heeft een versie die geen tekst is`}}),Cg=e=>typeof e==`string`&&e.trim()!==``,Vre=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:Sg(`notObject`)};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return Cg(t)?Number.isInteger(r)?Cg(i)?Cg(a)?o!==void 0&&!Cg(o)?{problem:Sg(`badStylesheet`)}:n!==void 0&&!Cg(n)?{problem:Sg(`badVersion`)}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:Sg(`noModule`)}:{problem:Sg(`noVersions`)}:{problem:Sg(`noApi`)}:{problem:Sg(`noName`)}},wg=(0,I.createContext)(null),Hre=wg.Provider,Ure=()=>{let e=(0,I.useContext)(wg);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},Tg=(e,t,n)=>{let r=n=>(0,R.jsx)(Hre,{value:e,children:(0,R.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Wre=(e,t,n)=>({of:n.of,display:Tg(e,n.display,`fields.${t}.display`),...n.editor&&{editor:Tg(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:Tg(e,n.cell,`fields.${t}.cell`)}}),Gre=(e,t)=>{let n=bg({...hg(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,Tg(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Wre(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:Tg(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:Tg(e,n.shell.rightPanel,`shell.rightPanel`)}},o=n.beforeSignIn&&Tg(e,n.beforeSignIn,`beforeSignIn`);return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a},...o&&{beforeSignIn:o}}},Eg={name:`@protobase/ui`,version:`0.25.8`,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`,"./styles.css":`./src/styles.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`,"./styles.css":`./dist/styles.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`,"altcha-lib":`^2.6.0`,dompurify:`^3.4.17`,fflate:`^0.8.3`,"lucide-react":`^1.52.0`,"maplibre-gl":`^6.14.0`,marked:`^18.1.1`,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`}},Dg=Eg.protobase.pluginApi,Og=Eg.version,Kre={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=>m(()=>import(e),[])},qre={api:Dg,version:Og},Jre=e=>e instanceof Error?e.message:String(e),Yre=async(e,t,n,r=qre)=>{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(Sg(`answered`,n.status));let s=Vre(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=Pr(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:Gre(d,u)}}catch(e){return a(Sg(`couldNotLoad`,Jre(e)),o)}},Xre=e=>{let t=new Map;return{load:n=>{let r=JSON.stringify(n),i=t.get(r);if(i)return i;let a=Yre(n,e,window.location.href);return t.set(r,a),a}}},kg=(0,I.createContext)(null),Zre=({loader:e=Kre,children:t})=>{let n=(0,I.useMemo)(()=>Xre(e),[e]);return(0,R.jsx)(kg.Provider,{value:n,children:t})},Ag=()=>{let e=(0,I.useContext)(kg);if(!e)throw Error(`usePluginSource must be used inside PluginSourceProvider`);return e},Qre=1e4,jg=[],Mg=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,I.useState)({key:`[]`,loads:jg,settled:!0});return(0,I.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()},Qre);return e.forEach((e,n)=>{t.load(e).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:jg,settled:!0}:r.key===n?r:{loads:jg,settled:!1}},$re=({children:e})=>{let{state:t,beforeSignIn:n,adoptSession:r}=B(),{path:i,params:a,navigate:o}=zh(),{loads:s,settled:c}=Mg(n,Ag()),l=(0,I.useMemo)(()=>xg(void 0,s).ui.beforeSignIn,[s]),u=(0,I.useCallback)(e=>{let t=new URLSearchParams(a);for(let n of e)t.delete(n);o(t.size>0?`${i}?${t}`:i,{replace:!0})},[i,a,o]);return t.kind!==`signed-out`&&t.kind!==`visitor`?e:c?l?(0,R.jsx)(mg,{name:`beforeSignIn`,fallback:e,children:(0,R.jsx)(l,{signedIn:r,params:a,removeParams:u,children:e})}):e:(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,Sg(`loading`)]})},eie=()=>{let e=window.location.href,t=rre(e);if(t)return{kind:`reset-password`,token:t.token};let n=Cre(e);if(n)return{kind:`staff-sign-in`,link:n};let r=Are(e);if(r)return{kind:`invitation`,token:r.token};let i=Md(e);if(i)return{kind:`provider-sign-in`,provider:i};let a=Nd(e);return a?{kind:`sign-in`,providerError:a}:{kind:`sign-in`}},Ng=({to:e})=>{let{navigate:t}=zh();return(0,I.useEffect)(()=>t(e,{replace:!0}),[t,e]),null},tie=({workspace:e,children:t})=>{let n=nie(e,t);return(0,R.jsx)($re,{children:n})},nie=(e,t)=>{let{state:n,recheck:r,passwordReset:i,signOut:a,signInProviders:o,canSignUp:s,browse:c}=B(),{path:l,params:u,basePath:d,navigate:f}=zh(),{address:p,next:m,open:h,link:g,leave:_}=Qh(),[v,y]=(0,I.useState)(eie),[b,x]=(0,I.useState)(),[S,C]=(0,I.useState)(),[w,T]=(0,I.useState)(),E=new URL(`${d}${l}${u.size>0?`?${u}`:``}`,window.location.origin).href,D=(0,I.useCallback)(e=>{let t=e(E).slice(d.length);f(t.startsWith(`/`)?t:`/${t}`,{replace:!0})},[E,d,f]),O=n.kind===`signed-in`||n.kind===`two-factor`||n.kind===`setup-required`;(0,I.useEffect)(()=>{O&&(v.kind===`provider-sign-in`&&D(Pd),(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),T(void 0))},[O,v,D]);let k=p!==void 0&&Nd(E)!==void 0;(0,I.useEffect)(()=>{!O&&v.kind===`sign-in`&&v.providerError&&k&&D(Pd)},[O,v,k,D]);let A=(0,I.useCallback)(e=>y({kind:`sign-in`,error:e}),[]),j=e=>{D(ire),y(e)},M=async()=>{n.kind===`signed-in`&&await a(),j({kind:`sign-in`,notice:z(`passwordChanged`)})},N=()=>{y({kind:`sign-in`}),a().then(()=>h(`sign-in`,{replace:!0}))};switch(n.kind){case`loading`:return(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,z(`loading`)]});case`error`:return(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:z(`cannotReach`,n.message)}),(0,R.jsx)(V,{onClick:r,children:z(`tryAgain`)})]});case`needs-admin`:return(0,R.jsx)(ere,{onCheckAgain:r})}if(n.kind===`signed-in`&&p)return(0,R.jsx)(Ng,{to:m??`/`});if(v.kind===`reset-password`)return(0,R.jsx)(ure,{token:v.token,onDone:()=>void M(),onRequestNewLink:i?()=>{y({kind:`sign-in`}),f(js({step:`forgot-password`}),{replace:!0})}:void 0,onBack:()=>j({kind:`sign-in`})});if(v.kind===`staff-sign-in`)return(0,R.jsx)(Ere,{link:v.link,onBack:()=>{D(Xh),y({kind:`sign-in`})}});let ee=n.kind===`signed-out`||n.kind===`visitor`;if(v.kind===`invitation`&&(n.kind===`signed-in`||ee&&!p))return(0,R.jsx)(Fre,{token:v.token,onDone:()=>{D(jre),y({kind:`sign-in`})},signIn:g()});if(n.kind===`signed-in`)return t;if(n.kind===`two-factor`)return(0,R.jsx)(kre,{methods:n.methods,onBack:N});if(n.kind===`setup-required`)return(0,R.jsx)(pre,{missing:n.missing},n.missing.join());if(v.kind===`provider-sign-in`)return(0,R.jsx)(sre,{provider:v.provider,workspace:e,onFailed:A});let te=v.kind===`sign-in`?v:{kind:`sign-in`};if(!p){let e=te.notice||te.error||te.providerError;return n.kind===`visitor`&&!e?t:(0,R.jsx)(Ng,{to:js({next:m})})}let ne={"sign-in":!0,"forgot-password":i,"email-code":b!==void 0,"sign-up":s,"sign-up-code":s&&S!==void 0,"sign-up-details":s&&w!==void 0}[p.step]?p.step:`sign-in`,re=e=>()=>h(e,{replace:!0}),ie=c&&(()=>{c(),_()});if(ne===`forgot-password`)return(0,R.jsx)(are,{back:g(`sign-in`,{replace:!0})});if(ne===`email-code`)return(0,R.jsx)(Qne,{email:b,onBack:re(`sign-in`)});if(ne===`sign-up`||ne===`sign-up-code`||ne===`sign-up-details`)return(0,R.jsx)(Sre,{workspace:e,email:ne===`sign-up`?void 0:S,ticket:ne===`sign-up-details`?w:void 0,onCodeSent:e=>{C(e),T(void 0),h(`sign-up-code`)},onVerified:e=>{T(e),h(`sign-up-details`,{replace:!0})},onBack:re(`sign-up`),onSignIn:()=>h(`sign-in`),onBrowse:ie},ne);let ae=te.providerError&&kd(te.providerError,o.length===1?o[0].name:`the provider`),oe=te.error??ae;return(0,R.jsx)(vre,{workspace:e,notice:te.notice,error:oe,forgotPassword:i?g(`forgot-password`):void 0,onCodeSent:e=>{x(e),h(`email-code`)},signUp:s?g(`sign-up`):void 0,onBrowse:ie},oe)},Pg=e=>[...e].reduce((e,t)=>(e*31+t.charCodeAt(0))%360,7),Fg=e=>e.split(/[\s@.]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``),Ig=e=>(e.role??`user`).split(`,`).map(e=>e.trim()),Lg=e=>Ig(e).includes(`admin`),rie=e=>{let t=Ig(e),n=t.includes(`admin`);return{name:e.name||e.email,email:e.email,initials:Fg(e.name||e.email)||`?`,hue:Pg(e.id||e.email),role:n?z(`admin`):(t[0]??`user`).replace(/^./,e=>e.toUpperCase()),roleTone:n?`violet`:`blue`}},iie=3e4,aie=(e,t=Date.now())=>Math.max(1e3,ou(e)-t-iie),Rg=()=>{let{state:e,session:t}=B(),n=e.kind===`signed-in`,[r,i]=(0,I.useState)();return(0,I.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),aie(s))))};return a(),()=>{e=!1,clearTimeout(r)}},[t,n]),n?r:void 0},zg=({locale:e,children:t})=>{h(e);let n=p();return(0,I.useEffect)(()=>{document.documentElement.lang=n},[n]),(0,R.jsx)(I.Fragment,{children:t},n)},oie=({children:e})=>(0,R.jsx)(zg,{locale:B().locale,children:e}),sie=(e,t)=>{let n=new Set,r,i=()=>{r=void 0;let i=new Set(n);n.clear();let a=e=>i.has(e[1]);e.invalidateQueries({predicate:e=>a(e.queryKey)&&e.queryKey[0]!==`record`}),e.invalidateQueries({predicate:e=>a(e.queryKey)&&e.queryKey[0]===`record`,refetchType:t()?`none`:`active`})};return{changed:e=>{for(let t of e)n.add(t);n.size>0&&!r&&(r=setTimeout(i,300))},stop:()=>clearTimeout(r)}},cie=(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}},Bg=(e,t)=>e.sources?.find(e=>e.source.resources.includes(t)),lie=e=>{let t=U(),n=Qp(),r=(0,I.useContext)(Ah),i=(0,I.useMemo)(()=>Object.values(e.resources).filter(t=>t.live&&!Bg(e,t.name)).map(e=>e.name).sort().join(`,`),[e]);(0,I.useEffect)(()=>{if(!i)return;let e=sie(n,()=>r?.paused()??!1),a=t.live({onChanges:t=>e.changed(t.map(e=>e.resource)),onResync:()=>e.changed(i.split(`,`))});return()=>{a(),e.stop()}},[t,n,r,i])},Vg=(e,t,n=!0)=>{let r=U(),i=Dr(t);return Eh({queryKey:H.record(e,i),enabled:n,queryFn:()=>r.get(e,t)})},Hg=(e,t,n=!0)=>{let r=U(),i=Qp(),a=Dr(t);return Eh({queryKey:H.record(e,a),enabled:n,queryFn:()=>r.get(e,t),placeholderData:()=>i.getQueryData(H.recordPreview(e,a))})},uie=e=>e.charAt(0).toUpperCase()+e.slice(1),K=e=>uie(e.replace(/(Id|Code|_id|_code)$/,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/_+/g,` `).trim().toLowerCase()||e);function die(){var e=[...arguments];return(0,I.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ug=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Wg(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Gg(e){return`nodeType`in e}function Kg(e){return e?Wg(e)?e:Gg(e)?e.ownerDocument?.defaultView??window:window:window}function qg(e){let{Document:t}=Kg(e);return e instanceof t}function Jg(e){return!Wg(e)&&e instanceof Kg(e).HTMLElement}function Yg(e){return e instanceof Kg(e).SVGElement}function Xg(e){return e?Wg(e)?e.document:Gg(e)?qg(e)?e:Jg(e)||Yg(e)?e.ownerDocument:document:document:document}var Zg=Ug?I.useLayoutEffect:I.useEffect;function Qg(e){let t=(0,I.useRef)(e);return Zg(()=>{t.current=e}),(0,I.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function fie(){let e=(0,I.useRef)(null);return[(0,I.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,I.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function $g(e,t){t===void 0&&(t=[e]);let n=(0,I.useRef)(e);return Zg(()=>{n.current!==e&&(n.current=e)},t),n}function e_(e,t){let n=(0,I.useRef)();return(0,I.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function t_(e){let t=Qg(e),n=(0,I.useRef)(null);return[n,(0,I.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function n_(e){let t=(0,I.useRef)();return(0,I.useEffect)(()=>{t.current=e},[e]),t.current}var r_={};function i_(e,t){return(0,I.useMemo)(()=>{if(t)return t;let n=r_[e]==null?0:r_[e]+1;return r_[e]=n,e+`-`+n},[e,t])}function a_(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 o_=a_(1),s_=a_(-1);function pie(e){return`clientX`in e&&`clientY`in e}function c_(e){if(!e)return!1;let{KeyboardEvent:t}=Kg(e.target);return t&&e instanceof t}function mie(e){if(!e)return!1;let{TouchEvent:t}=Kg(e.target);return t&&e instanceof t}function l_(e){if(mie(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 pie(e)?{x:e.clientX,y:e.clientY}:null}var u_=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[u_.Translate.toString(e),u_.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),d_=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function hie(e){return e.matches(d_)?e:e.querySelector(d_)}var gie={display:`none`};function _ie(e){let{id:t,value:n}=e;return I.createElement(`div`,{id:t,style:gie},n)}function vie(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return I.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 yie(){let[e,t]=(0,I.useState)(``);return{announce:(0,I.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var f_=(0,I.createContext)(null);function bie(e){let t=(0,I.useContext)(f_);(0,I.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function xie(){let[e]=(0,I.useState)(()=>new Set),t=(0,I.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,I.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Sie={draggable:`
8
8
  To pick up a draggable item, press the space bar.
9
9
  While dragging, use the arrow keys to move the item.
10
10
  Press space again to drop the item in its new position, or press escape to cancel.
@@ -64,6 +64,6 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
64
64
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C$(e,t){if(e){if(typeof e==`string`)return w$(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)?w$(e,t):void 0}}function w$(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 T$(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 E$(e){if(Array.isArray(e))return e}function D$(e,t){if(e==null)return{};var n,r,i=O$(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 O$(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 k$(){return k$=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},k$.apply(null,arguments)}function A$(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 j$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?A$(Object(n),!0).forEach(function(t){Oue(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Oue(e,t,n){return(t=kue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kue(e){var t=Aue(e,`string`);return typeof t==`symbol`?t:t+``}function Aue(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 M$={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:QP.axis};function jue(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.orientation,o=e.mirror,s=e.axisLine,c=e.otherSvgProps;if(!s)return null;var l=j$(j$(j$({},c),LE(s)),{},{fill:`none`});if(a===`top`||a===`bottom`){var u=+(a===`top`&&!o||a===`bottom`&&o);l=j$(j$({},l),{},{x1:t,y1:n+u*i,x2:t+r,y2:n+u*i})}else{var d=+(a===`left`&&!o||a===`right`&&o);l=j$(j$({},l),{},{x1:t+d*r,y1:n,x2:t+d*r,y2:n+i})}return I.createElement(`line`,k$({},l,{className:jE(`recharts-cartesian-axis-line`,aD(s,`className`))}))}function Mue(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h=s?-1:1,g=e.tickSize||o,_=Y(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 Nue(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function Pue(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function Fue(e){var t=e.option,n=e.tickProps,r=e.value,i,a=jE(n.className,`recharts-cartesian-axis-tick-value`);if(I.isValidElement(t))i=I.cloneElement(t,j$(j$({},n),{},{className:a}));else if(typeof t==`function`)i=t(j$(j$({},n),{},{className:a}));else{var o=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(o=jE(o,xY(t))),i=I.createElement(SJ,k$({},n,{className:o}),r)}return i}function Iue(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=pk(),a=(0,I.useRef)(null);return(0,I.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&&ZQ(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(_$({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,I.useEffect)(()=>r==null||n==null?CD:()=>{i(v$({axisId:r,axisType:n}))},[i,r,n]),null}var Lue=(0,I.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,o=e.stroke,s=e.tickFormatter,c=e.unit,l=e.padding,u=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,h=e.width,g=e.height,_=e.tickSize,v=e.tickMargin,y=e.fontSize,b=e.letterSpacing,x=e.getTicksConfig,S=e.events,C=e.axisType,w=e.axisId,T=f$(j$(j$({},x),{},{ticks:r}),y,b),E=LE(x),D=RE(i),O=dJ(E.textAnchor)?E.textAnchor:Nue(d,f),k=Pue(d,f),A={};typeof a==`object`&&(A=a);var j=j$(j$({},E),{},{fill:`none`},A),M=T.map(e=>j$({entry:e},Mue(e,p,m,h,g,d,_,f,v))),N=M.map(e=>{var t=e.entry,n=e.line;return I.createElement(XE,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&I.createElement(`line`,k$({},j,n,{className:jE(`recharts-cartesian-axis-tick-line`,aD(a,`className`))})))}),ee=M.map((e,t)=>{var n=e.entry,r=e.tick,a=j$(j$({},j$(j$(j$(j$({verticalAnchor:k},E),{},{textAnchor:O,stroke:`none`,fill:o},r),{},{index:t,payload:n,visibleTicksCount:T.length,tickFormatter:s,padding:l},u),{},{angle:u?.angle??E.angle??0})),D);return I.createElement(XE,k$({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},CO(S,n,t)),i&&I.createElement(Fue,{option:i,tickProps:a,value:`${typeof s==`function`?s(n.value,t):n.value}${c||``}`}))});return I.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${C}-ticks`},I.createElement(Iue,{ticks:T,axisId:w,axisType:C}),ee.length>0&&I.createElement(lK,{zIndex:QP.label},I.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${C}-tick-labels`,ref:t},ee)),N.length>0&&I.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${C}-tick-lines`},N))}),Rue=(0,I.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,o=e.hide,s=e.ticks,c=e.axisType,l=e.axisId,u=D$(e,b$),d=x$((0,I.useState)(``),2),f=d[0],p=d[1],m=x$((0,I.useState)(``),2),h=m[0],g=m[1],_=(0,I.useRef)(null);(0,I.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>p$({ticks:_.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>m$({ticks:_.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var v=(0,I.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);_.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==f||a!==h)&&(p(i),g(a))}}},[f,h]);return o||r!=null&&r<=0||i!=null&&i<=0?null:I.createElement(lK,{zIndex:e.zIndex},I.createElement(XE,{className:jE(`recharts-cartesian-axis`,a)},I.createElement(jue,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:LE(e)}),I.createElement(Lue,{ref:v,axisType:c,events:u,fontSize:f,getTicksConfig:e,height:e.height,letterSpacing:h,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:s,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:l}),I.createElement(PJ,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},I.createElement(YJ,{label:e.label,labelRef:e.labelRef}),e.children)))}),N$=I.forwardRef((e,t)=>{var n=TO(e,M$);return I.createElement(Rue,k$({},n,{ref:t}))});N$.displayName=`CartesianAxis`;var P$=(0,I.createContext)({grid:{stroke:`#ccc`,fill:`none`}});P$.Provider;var zue=()=>(0,I.useContext)(P$),Bue=[`x1`,`y1`,`x2`,`y2`,`key`],Vue=[`offset`],Hue=[`xAxisId`,`yAxisId`],Uue=[`xAxisId`,`yAxisId`];function F$(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 I$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F$(Object(n),!0).forEach(function(t){Wue(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Wue(e,t,n){return(t=Gue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gue(e){var t=Kue(e,`string`);return typeof t==`symbol`?t:t+``}function Kue(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 L$(){return L$=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},L$.apply(null,arguments)}function R$(e,t){if(e==null)return{};var n,r,i=que(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 que(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 Jue=e=>{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return I.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function z$(e){var t=e.option,n=e.lineItemProps,r;if(I.isValidElement(t))r=I.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,l=LE(R$(n,Bue))??{};l.offset;var u=R$(l,Vue),d=Array.isArray(u.strokeDasharray)?u.strokeDasharray.join(`,`):u.strokeDasharray;r=I.createElement(`line`,L$({},u,{strokeDasharray:d,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function Yue(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 o=R$(e,Hue),s=a.map((e,r)=>{var a=I$(I$({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return I.createElement(z$,{key:`line-${r}`,option:i,lineItemProps:a})});return I.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function Xue(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 o=R$(e,Uue),s=a.map((e,r)=>{var a=I$(I$({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return I.createElement(z$,{option:i,lineItemProps:a,key:`line-${r}`})});return I.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function Zue(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var l=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==l[0]&&l.unshift(0);var u=l.map((e,s)=>{var c=l[s+1],u=c==null?i+o-e:c-e;if(u<=0)return null;var d=s%t.length;return I.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:u,width:a,stroke:`none`,fill:t[d],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return I.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},u)}function Que(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var u=l.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==u[0]&&u.unshift(0);var d=u.map((e,t)=>{var n=u[t+1],l=n==null?a+s-e:n-e;if(l<=0)return null;var d=t%r.length;return I.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:l,height:c,stroke:`none`,fill:r[d],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return I.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},d)}var $ue=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return Rj(f$(I$(I$(I$({},M$),n),{},{ticks:zj(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},ede=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return Rj(f$(I$(I$(I$({},M$),n),{},{ticks:zj(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},tde={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:QP.grid};function B$(e){var t=yM(),n=bM(),r=vM(),i=I$(I$({},TO(e,tde)),{},{x:Y(e.x)?e.x:r.left,y:Y(e.y)?e.y:r.top,width:Y(e.width)?e.width:r.width,height:Y(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,l=i.width,u=i.height,d=i.syncWithTicks,f=i.horizontalValues,p=i.verticalValues,m=rM(),h=X(e=>NU(e,`xAxis`,a,m)),g=X(e=>NU(e,`yAxis`,o,m)),_=zue(),v={stroke:i.stroke??_.grid.stroke,strokeWidth:i.strokeWidth??_.grid.strokeWidth,strokeOpacity:i.strokeOpacity??_.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??_.grid.strokeDasharray};if(!Nj(l)||!Nj(u)||!Y(s)||!Y(c))return null;var y=i.verticalCoordinatesGenerator||$ue,b=i.horizontalCoordinatesGenerator||ede,x=i.horizontalPoints,S=i.verticalPoints;if((!x||!x.length)&&typeof b==`function`){var C=f&&f.length,w=b({yAxis:g?I$(I$({},g),{},{ticks:C?f:g.ticks}):void 0,width:t??l,height:n??u,offset:r},C?!0:d);oM(Array.isArray(w),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof w}]`),Array.isArray(w)&&(x=w)}if((!S||!S.length)&&typeof y==`function`){var T=p&&p.length,E=y({xAxis:h?I$(I$({},h),{},{ticks:T?p:h.ticks}):void 0,width:t??l,height:n??u,offset:r},T?!0:d);oM(Array.isArray(E),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof E}]`),Array.isArray(E)&&(S=E)}return I.createElement(lK,{zIndex:i.zIndex},I.createElement(`g`,{className:`recharts-cartesian-grid`},I.createElement(Jue,{fill:i.fill??_.grid.fill,fillOpacity:i.fillOpacity??_.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),I.createElement(Zue,L$({},i,{horizontalPoints:x})),I.createElement(Que,L$({},i,{verticalPoints:S})),I.createElement(Yue,L$({},i,v,{offset:r,horizontalPoints:x,xAxis:h,yAxis:g})),I.createElement(Xue,L$({},i,v,{offset:r,verticalPoints:S,xAxis:h,yAxis:g}))))}B$.displayName=`CartesianGrid`;var nde=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function V$(){return V$=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},V$.apply(null,arguments)}function rde(e,t){if(e==null)return{};var n,r,i=ide(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 ide(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 ade(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function H$(e,t){return`${t}px ${e}px`}function ode(e){return e.length%2==0?e:[...e,...e]}function sde(e,t){for(var n=[],r=0;r<t;++r)n.push(...e);return n}function cde(e,t,n){var r=ode(n),i=r.reduce((e,t)=>e+t,0);if(!i)return H$(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;c<r.length;l+=(u=r[c])??0,++c){var u,d=r[c];if(d!=null&&l+d>o){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...sde(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function lde(e,t,n){return e?cde(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):H$(t,n)}function ude(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=rde(e,nde),a=r??!1,o;if(t!=null){var s=i.pathRef;o=lde(n,ade(s?.current??null),t)}else n!=null&&(o=String(n));return I.createElement(rN,V$({},i,{connectNulls:a,strokeDasharray:o}))}function dde(e){var t=(0,I.useRef)(0),n=(0,I.useRef)(0),r=(0,I.useRef)(!1),i=(0,I.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,I.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(cD(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var U$=nj({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))}}}),W$=U$.actions;W$.addErrorBar,W$.replaceErrorBar,W$.removeErrorBar;var fde=U$.reducer,pde=[`children`];function mde(e,t){if(e==null)return{};var n,r,i=hde(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 hde(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 gde=(0,I.createContext)({data:[],xAxisId:`xAxis-0`,yAxisId:`yAxis-0`,dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function G$(e){var t=e.children,n=mde(e,pde);return I.createElement(gde.Provider,{value:n},t)}function K$(e,t){var n=X(t=>PV(t,e)),r=X(e=>LV(e,t)),i=n?.allowDataOverflow??MV.allowDataOverflow,a=r?.allowDataOverflow??FV.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function q$(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=nQ(),a=K$(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,l=X(e=>sU(e,t,!1)),u=X(e=>cU(e,n,!1));if(!c||!i)return null;var d=i.x,f=i.y,p=i.width,m=i.height,h=o&&l?Math.min(l[0],l[1]):d-p/2,g=s&&u?Math.min(u[0],u[1]):f-m/2,_=o&&l?Math.abs(l[1]-l[0]):p*2,v=s&&u?Math.abs(u[1]-u[0]):m*2;return I.createElement(`clipPath`,{id:`clipPath-${r}`},I.createElement(`rect`,{x:h,y:g,width:_,height:v}))}var J$=(e,t,n,r)=>IU(e,`xAxis`,t,r),Y$=(e,t,n,r)=>FU(e,`xAxis`,t,r),X$=(e,t,n,r)=>IU(e,`yAxis`,n,r),Z$=(e,t,n,r)=>FU(e,`yAxis`,n,r),_de=Z([xM,J$,X$,Y$,Z$],(e,t,n,r,i)=>Lj(e,`xAxis`)?Wj(t,r,!1):Wj(n,i,!1)),vde=(e,t,n,r,i)=>i;function yde(e){return e.type===`line`}var bde=Z([xM,J$,X$,Y$,Z$,Z([GV,vde],(e,t)=>e.filter(yde).find(e=>e.id===t)),_de,dP],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return Vde({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}});function xde(e){var t=RE(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}var Sde=[`id`],Cde=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],wde=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function Q$(){return Q$=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},Q$.apply(null,arguments)}function $$(e,t){if(e==null)return{};var n,r,i=Tde(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 Tde(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 e1(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 t1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?e1(Object(n),!0).forEach(function(t){Ede(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ede(e,t,n){return(t=Dde(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dde(e){var t=Ode(e,`string`);return typeof t==`symbol`?t:t+``}function Ode(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 kde(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function Ade(e){var t=0,n=0;for(var r of e)r.status===`matched`&&r.prev.x!=null&&r.next.x!=null&&(t+=r.next.x-r.prev.x,n++);return n>0?t/n:0}var n1={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=Ade(e),r=[];for(var i of e)if(i.status===`matched`)r.push(t1(t1({},i.next),{},{x:vD(i.prev.x,i.next.x,t),y:vD(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(t1(t1({},i.next),{},{x:vD(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(t1(t1({},i.prev),{},{x:vD(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:uX,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:ude,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:QP.line,type:`linear`},jde=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:Kj(n,t),payload:e}]},Mde=I.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,s=e.hide,c=e.unit,l=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:n,getPosition:CD,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:Kj(o,t),hide:s,type:u,color:r,unit:c,formatter:l,graphicalItemId:d}};return I.createElement(tX,{tooltipEntrySettings:f})});function Nde(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=LE($$(r,Sde));return I.createElement(RZ,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:s,needClip:o,clipPathId:t})}function Pde(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,I.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return t1(t1({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return I.createElement(rY,{value:t?i:void 0},n)}function Fde(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,d=i.connectNulls,f=i.needClip,p=i.shape,m=i.strokeDasharray,h=t1(t1({},zE($$(i,Cde))),{},{fill:`none`,className:`recharts-line-curve`,clipPath:f?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:d,strokeDasharray:m??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return I.createElement(I.Fragment,null,r?.length>1&&I.createElement(ZY,{option:p,DefaultShape:n1.shape,shapeProps:h}),I.createElement(Nde,{points:r,clipPathId:t,props:i}))}function Ide(e){var t=e.clipPathId,n=e.props,r=e.pathRef,i=e.previousPointsRef,a=n.points,o=n.isAnimationActive,s=n.animationBegin,c=n.animationDuration,l=n.animationEasing,u=n.animationMatchBy,d=n.animationInterpolateFn,f=n.layout,p=kde(r.current),m=TX(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,g=m.handleAnimationStart,_=m.handleAnimationEnd,v=!h,y=dde(a),b=(0,I.useCallback)(e=>e>0&&p>0,[p]);return I.createElement(Pde,{points:a,showLabels:v},n.children,I.createElement(EX,{animationInput:a,animationIdPrefix:`recharts-line-`,items:a,previousItemsRef:i,isAnimationActive:o,animationBegin:s,animationDuration:c,animationEasing:l,onAnimationStart:g,onAnimationEnd:_,animationInterpolateFn:d,animationMatchBy:u,shouldUpdatePreviousRef:b,layout:f},(e,i,a)=>{var o=h||i<1,s=o?y(i,p):null;return I.createElement(Fde,{props:n,points:e,clipPathId:t,pathRef:r,animationElapsedTime:i,isAnimating:o,isEntrance:a,visibleLength:s})}),I.createElement(lY,{label:n.label}))}function Lde(e){var t=e.clipPathId,n=e.props,r=(0,I.useRef)(null),i=(0,I.useRef)(null);return I.createElement(Ide,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var Rde=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:Ij(e.payload,t)}),zde=class extends I.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.top,c=e.left,l=e.width,u=e.height,d=e.id,f=e.needClip,p=e.zIndex;if(t)return null;var m=jE(`recharts-line`,i),h=d,g=xde(n),_=g.r,v=g.strokeWidth,y=BY(n),b=_*2+v,x=f?`url(#clipPath-${y?``:`dots-`}${h})`:void 0;return I.createElement(lK,{zIndex:p},I.createElement(XE,{className:m},f&&I.createElement(`defs`,null,I.createElement(q$,{clipPathId:h,xAxisId:a,yAxisId:o}),!y&&I.createElement(`clipPath`,{id:`clipPath-dots-${h}`},I.createElement(`rect`,{x:c-b/2,y:s-b/2,width:l+b,height:u+b}))),I.createElement(G$,{xAxisId:a,yAxisId:o,data:r,dataPointFormatter:Rde,errorBarOffset:0},I.createElement(Lde,{props:this.props,clipPathId:h}))),I.createElement(uQ,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:x}))}};function Bde(e){var t=TO(e,n1),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,u=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,h=t.id,g=$$(t,wde),_=K$(p,m).needClip,v=nQ(),y=SM(),b=rM(),x=X(e=>bde(e,p,m,b,h));if(y!==`horizontal`&&y!==`vertical`||x==null||v==null)return null;var S=v.height,C=v.width,w=v.x,T=v.y;return I.createElement(zde,Q$({},g,{id:h,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:u,hide:l,label:d,legendType:f,xAxisId:p,yAxisId:m,points:x,layout:y,height:S,width:C,left:w,top:T,needClip:_}))}function Vde(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=Ij(e,o);if(t===`horizontal`)return{x:Bj({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(bD(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=bD(l)?null:n.scale.map(l),d=Bj({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function Hde(e){var t=TO(e,n1),n=rM();return I.createElement(IX,{id:t.id,type:`line`},e=>I.createElement(I.Fragment,null,I.createElement(nX,{legendPayload:jde(t)}),I.createElement(Mde,{dataKey:t.dataKey,data:t.data,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}),I.createElement(KX,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),I.createElement(Bde,Q$({},t,{id:e}))))}var r1=I.memo(Hde,NM);r1.displayName=`Line`;function i1(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function a1(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var Ude=`Invariant failed`;function Wde(e,t){if(!e)throw Error(Ude)}var Gde=[`option`];function Kde(e,t){if(e==null)return{};var n,r,i=qde(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 qde(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 o1=ON;function s1(e){var t=e.option,n=Kde(e,Gde);return I.createElement(ZY,{option:t,DefaultShape:o1,shapeProps:n,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`})}var Jde=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(Y(e))return e;var i=Y(n)||bD(n);return i?e(n,r):(!i&&Wde(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},Yde=(e,t,n)=>n,c1=Z([GV,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Xde=Z([c1],e=>e?.maxBarSize),Zde=(e,t,n,r)=>r,Qde=Z([xM,GV,i1,a1,Yde],(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`)),$de=(e,t,n)=>{var r=xM(e),i=i1(e,t),a=a1(e,t);if(i!=null&&a!=null)return r===`horizontal`?_H(e,`yAxis`,a,n):_H(e,`xAxis`,i,n)},efe=Z([Qde,GP,(e,t)=>{var n=xM(e),r=i1(e,t),i=a1(e,t);if(r!=null&&i!=null)return n===`horizontal`?AU(e,`xAxis`,r):AU(e,`yAxis`,i)}],vQ),tfe=(e,t,n)=>{var r=c1(e,t);if(r==null)return 0;var i=i1(e,t),a=a1(e,t);if(i==null||a==null)return 0;var o=xM(e),s=HP(e),c=r.maxBarSize,l=bD(c)?s:c,u,d;return o===`horizontal`?(u=IU(e,`xAxis`,i,n),d=FU(e,`xAxis`,i,n)):(u=IU(e,`yAxis`,a,n),d=FU(e,`yAxis`,a,n)),Wj(u,d,!0)??l??0},l1=(e,t,n)=>{var r=xM(e),i=i1(e,t),a=a1(e,t);if(i!=null&&a!=null){var o,s;return r===`horizontal`?(o=IU(e,`xAxis`,i,n),s=FU(e,`xAxis`,i,n)):(o=IU(e,`yAxis`,a,n),s=FU(e,`yAxis`,a,n)),Wj(o,s)}},nfe=Z([tM,nM,(e,t,n)=>{var r=i1(e,t);if(r!=null)return IU(e,`xAxis`,r,n)},(e,t,n)=>{var r=a1(e,t);if(r!=null)return IU(e,`yAxis`,r,n)},(e,t,n)=>{var r=i1(e,t);if(r!=null)return FU(e,`xAxis`,r,n)},(e,t,n)=>{var r=a1(e,t);if(r!=null)return FU(e,`yAxis`,r,n)},Z([Z([efe,HP,UP,WP,tfe,l1,Xde],TQ),c1],DQ),xM,fP,l1,Z([$de,c1],EQ),c1,Zde],(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 Ffe({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})}}),rfe=[`index`];function u1(){return u1=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},u1.apply(null,arguments)}function ife(e,t){if(e==null)return{};var n,r,i=afe(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 afe(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 d1=(0,I.createContext)(void 0),ofe=e=>{var t=(0,I.useContext)(d1);if(t!=null)return t.stackId;if(e!=null)return Bse(e)},sfe=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,cfe=e=>{var t=(0,I.useContext)(d1);if(t!=null){var n=t.stackId;return`url(#${sfe(n,e)})`}},f1=e=>{var t=e.index,n=ife(e,rfe),r=cfe(t);return I.createElement(XE,u1({className:`recharts-bar-stack-layer`,clipPath:r},n))},lfe=[`onMouseEnter`,`onMouseLeave`,`onClick`],ufe=[`value`,`background`,`tooltipPosition`],dfe=[`id`],ffe=[`onMouseEnter`,`onClick`,`onMouseLeave`];function p1(e,t){return gfe(e)||hfe(e,t)||mfe(e,t)||pfe()}function pfe(){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 mfe(e,t){if(e){if(typeof e==`string`)return m1(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)?m1(e,t):void 0}}function m1(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 hfe(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 gfe(e){if(Array.isArray(e))return e}function h1(){return h1=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},h1.apply(null,arguments)}function g1(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 _1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?g1(Object(n),!0).forEach(function(t){_fe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _fe(e,t,n){return(t=vfe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vfe(e){var t=yfe(e,`string`);return typeof t==`symbol`?t:t+``}function yfe(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 v1(e,t){if(e==null)return{};var n,r,i=bfe(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 bfe(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 xfe=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:Kj(n,t),payload:e}]},Sfe=I.memo(e=>{var t=e.dataKey,n=e.stroke,r=e.strokeWidth,i=e.fill,a=e.name,o=e.hide,s=e.unit,c=e.formatter,l=e.tooltipType,u=e.id,d={dataDefinedOnItem:void 0,getPosition:CD,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:Kj(a,t),hide:o,type:l,color:i,unit:s,formatter:c,graphicalItemId:u}};return I.createElement(tX,{tooltipEntrySettings:d})});function Cfe(e){var t=X(aG),n=e.data,r=e.dataKey,i=e.background,a=e.allOtherBarProps,o=a.onMouseEnter,s=a.onMouseLeave,c=a.onClick,l=v1(a,lfe),u=QY(o,r,a.id),d=$Y(s),f=eX(c,r,a.id);if(!i||n==null)return null;var p=RE(i);return I.createElement(lK,{zIndex:OQ(i,QP.barBackground)},n.map((e,n)=>{e.value;var a=e.background;e.tooltipPosition;var o=v1(e,ufe);if(!a)return null;var s=u(e,e.originalDataIndex),c=d(e,e.originalDataIndex),m=f(e,e.originalDataIndex),h=_1(_1(_1(_1(_1({option:i,isActive:String(e.originalDataIndex)===t},o),{},{fill:`#eee`},a),p),CO(l,e,n)),{},{onMouseEnter:s,onMouseLeave:c,onClick:m,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return I.createElement(s1,h1({key:`background-bar-${n}`},h))}))}function wfe(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 _1(_1({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return I.createElement(rY,{value:t?r:void 0},n)}function Tfe(e){var t=e.shape,n=e.activeBar,r=e.baseProps,i=e.entry,a=e.index,o=e.dataKey,s=X(aG),c=X(sG),l=n&&String(i.originalDataIndex)===s&&(c==null||o===c),u=s!=null&&(String(i.originalDataIndex)!==s||c!=null&&o!==c),d=p1((0,I.useState)(!1),2),f=d[0],p=d[1],m=p1((0,I.useState)(!1),2),h=m[0],g=m[1];(0,I.useEffect)(()=>{var e;return l?(p(!0),e=requestAnimationFrame(()=>{g(!0)})):(g(!1),u&&p(!1)),()=>{cancelAnimationFrame(e)}},[l,u]);var _=(0,I.useCallback)(()=>{l||p(!1)},[l]),v=l&&h,y=l||f,b=l?n===!0?t:n:t,x=I.createElement(s1,h1({},r,{name:String(r.name)},i,{isActive:v,option:b,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:_}));return y?I.createElement(lK,{zIndex:QP.activeBar},I.createElement(f1,{index:i.originalDataIndex},x)):x}function Efe(e){var t=e.shape,n=e.baseProps,r=e.entry,i=e.index,a=e.dataKey;return I.createElement(s1,h1({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Dfe(e){var t=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,a=e.isEntrance,o=LE(n)??{},s=o.id,c=v1(o,dfe),l=n.shape,u=n.dataKey,d=n.activeBar,f=n.onMouseEnter,p=n.onClick,m=n.onMouseLeave,h=v1(n,ffe),g=QY(f,u,s),_=$Y(m),v=eX(p,u,s);return t?I.createElement(I.Fragment,null,t.map((e,t)=>I.createElement(f1,h1({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},CO(h,e,t),{onMouseEnter:g(e,e.originalDataIndex),onMouseLeave:_(e,e.originalDataIndex),onClick:v(e,e.originalDataIndex)}),d?I.createElement(Tfe,{shape:l,activeBar:d,baseProps:c,entry:e,index:t,dataKey:u,animationElapsedTime:r,isAnimating:i,isEntrance:a}):I.createElement(Efe,{shape:l,baseProps:c,entry:e,index:t,dataKey:u,animationElapsedTime:r,isAnimating:i,isEntrance:a})))):null}var Ofe=(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`?[_1(_1({},e.prev),{},{height:vD(e.prev.height,0,t),y:vD(e.prev.y,e.prev.y+e.prev.height,t)})]:[_1(_1({},e.prev),{},{width:vD(e.prev.width,0,t)})];if(e.status===`matched`)return[_1(_1({},e.next),{},{x:vD(e.prev.x,e.next.x,t),y:vD(e.prev.y,e.next.y,t),width:vD(e.prev.width,e.next.width,t),height:vD(e.prev.height,e.next.height,t)})];var r=e.next;return n===`horizontal`?[_1(_1({},r),{},{height:vD(0,r.height,t),y:vD(r.stackedBarStart,r.y,t)})]:[_1(_1({},r),{},{width:vD(0,r.width,t),x:vD(r.stackedBarStart,r.x,t)})]});function kfe(e){var t=e.props,n=e.previousRectanglesRef,r=t.data,i=t.isAnimationActive,a=t.animationBegin,o=t.animationDuration,s=t.animationEasing,c=t.animationInterpolateFn,l=t.layout,u=TX(t.onAnimationStart,t.onAnimationEnd),d=u.isAnimating,f=u.handleAnimationStart,p=u.handleAnimationEnd;return I.createElement(wfe,{showLabels:!d,rects:r},I.createElement(EX,{animationInput:r,animationIdPrefix:`recharts-bar-`,items:r,previousItemsRef:n,isAnimationActive:i,animationBegin:a,animationDuration:o,animationEasing:s,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:c,animationMatchBy:t.animationMatchBy,layout:l},(e,n,r)=>I.createElement(XE,null,I.createElement(Dfe,{props:t,data:e,animationElapsedTime:n,isAnimating:d||n<1,isEntrance:r}))),I.createElement(lY,{label:t.label}),t.children)}function Afe(e){var t=(0,I.useRef)(null);return I.createElement(kfe,{previousRectanglesRef:t,props:e})}var y1=0,jfe=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:Ij(e,t)}},Mfe=class extends I.PureComponent{render(){var e=this.props,t=e.hide,n=e.data,r=e.dataKey,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.needClip,c=e.background,l=e.id;if(t||n==null)return null;var u=jE(`recharts-bar`,i),d=l;return I.createElement(XE,{className:u,id:l},s&&I.createElement(`defs`,null,I.createElement(q$,{clipPathId:d,xAxisId:a,yAxisId:o})),I.createElement(XE,{className:`recharts-bar-rectangles`,clipPath:s?`url(#clipPath-${d})`:void 0},I.createElement(Cfe,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),I.createElement(Afe,this.props)))}},Nfe={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,animationInterpolateFn:Ofe,animationMatchBy:dX,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:y1,shape:o1,xAxisId:0,yAxisId:0,zIndex:QP.bar};function Pfe(e){var t=e.xAxisId,n=e.yAxisId,r=e.hide,i=e.legendType,a=e.minPointSize,o=e.activeBar,s=e.animationBegin,c=e.animationDuration,l=e.animationEasing,u=e.isAnimationActive,d=K$(t,n).needClip,f=SM(),p=rM(),m=zY(e.children,lq),h=X(t=>nfe(t,e.id,p,m));if(f!==`vertical`&&f!==`horizontal`)return null;var g,_=h?.[0];return g=_==null||_.height==null||_.width==null?0:f===`vertical`?_.height/2:_.width/2,I.createElement(G$,{xAxisId:t,yAxisId:n,data:h,dataPointFormatter:jfe,errorBarOffset:g},I.createElement(Mfe,h1({},e,{layout:f,needClip:d,data:h,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u})))}function Ffe(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=Vse({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=Lse(E,y)}else p=Ij(e,r),Array.isArray(p)||(p=[b,p]);var D=Jde(i,y1)(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=Vj({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=dD(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=uD(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=Vj({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=uD(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:_1(_1({},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 Ife(e){var t=TO(e,Nfe),n=ofe(t.stackId),r=rM();return I.createElement(IX,{id:t.id,type:`bar`},e=>I.createElement(I.Fragment,null,I.createElement(nX,{legendPayload:xfe(t)}),I.createElement(Sfe,{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}),I.createElement(KX,{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!==o1}),I.createElement(lK,{zIndex:t.zIndex},I.createElement(Pfe,h1({},t,{id:e})))))}var b1=I.memo(Ife,NM);b1.displayName=`Bar`;var Lfe=[`domain`,`range`],Rfe=[`domain`,`range`];function x1(e,t){if(e==null)return{};var n,r,i=zfe(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 zfe(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 S1(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 C1(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=x1(e,Lfe),a=t.domain,o=t.range,s=x1(t,Rfe);return!S1(n,a)||!S1(r,o)?!1:NM(i,s)}var Bfe=[`type`],Vfe=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Hfe=[`id`,`scale`];function w1(){return w1=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},w1.apply(null,arguments)}function T1(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 E1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?T1(Object(n),!0).forEach(function(t){Ufe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ufe(e,t,n){return(t=Wfe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wfe(e){var t=Gfe(e,`string`);return typeof t==`symbol`?t:t+``}function Gfe(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 D1(e,t){if(e==null)return{};var n,r,i=Kfe(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 Kfe(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 qfe(e){var t=pk(),n=(0,I.useRef)(null),r=CM(),i=e.type,a=D1(e,Bfe),o=nF(r,`xAxis`,i),s=(0,I.useMemo)(()=>{if(o!=null)return E1(E1({},a),{},{type:o})},[a,o]);return(0,I.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(KZ(s)):n.current!==s&&t(qZ({prev:n.current,next:s})),n.current=s)},[s,t]),(0,I.useLayoutEffect)(()=>()=>{n.current&&=(t(JZ(n.current)),null)},[t]),null}var Jfe=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,a=(0,I.useRef)(null),o=(0,I.useRef)(null),s=X(nM),c=rM(),l=pk(),u=`xAxis`,d=X(e=>PU(e,u,t,c)),f=X(e=>SU(e,t)),p=X(e=>DU(e,t)),m=X(e=>NV(e,t));if((0,I.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||BJ(i)||(0,I.isValidElement)(i)||m==null)){var e=a.current;if(e){var n=e.getCalculatedHeight();Math.round(f.height)!==Math.round(n)&&l($Z({id:t,height:n}))}}},[d,f,l,i,t,r,m]),f==null||p==null||m==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=D1(e,Vfe);m.id,m.scale;var g=D1(m,Hfe);return I.createElement(N$,w1({},h,g,{ref:a,labelRef:o,x:p.x,y:p.y,width:f.width,height:f.height,className:jE(`recharts-${u} ${u}`,n),viewBox:s,ticks:d,axisType:u,axisId:t}))},Yfe={allowDataOverflow:MV.allowDataOverflow,allowDecimals:MV.allowDecimals,allowDuplicatedCategory:MV.allowDuplicatedCategory,angle:MV.angle,axisLine:M$.axisLine,height:MV.height,hide:!1,includeHidden:MV.includeHidden,interval:MV.interval,label:!1,minTickGap:MV.minTickGap,mirror:MV.mirror,orientation:MV.orientation,padding:MV.padding,reversed:MV.reversed,scale:MV.scale,tick:MV.tick,tickCount:MV.tickCount,tickLine:M$.tickLine,tickSize:M$.tickSize,type:MV.type,niceTicks:MV.niceTicks,xAxisId:0},O1=I.memo(e=>{var t=TO(e,Yfe);return I.createElement(I.Fragment,null,I.createElement(qfe,{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}),I.createElement(Jfe,t))},C1);O1.displayName=`XAxis`;var Xfe=[`type`],Zfe=[`dangerouslySetInnerHTML`,`ticks`,`scale`],Qfe=[`id`,`scale`];function k1(){return k1=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},k1.apply(null,arguments)}function A1(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 j1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?A1(Object(n),!0).forEach(function(t){$fe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $fe(e,t,n){return(t=epe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function epe(e){var t=tpe(e,`string`);return typeof t==`symbol`?t:t+``}function tpe(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 M1(e,t){if(e==null)return{};var n,r,i=npe(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 npe(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 rpe(e){var t=pk(),n=(0,I.useRef)(null),r=CM(),i=e.type,a=M1(e,Xfe),o=nF(r,`yAxis`,i),s=(0,I.useMemo)(()=>{if(o!=null)return j1(j1({},a),{},{type:o})},[o,a]);return(0,I.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(YZ(s)):n.current!==s&&t(XZ({prev:n.current,next:s})),n.current=s)},[s,t]),(0,I.useLayoutEffect)(()=>()=>{n.current&&=(t(ZZ(n.current)),null)},[t]),null}function ipe(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,I.useRef)(null),o=(0,I.useRef)(null),s=X(nM),c=rM(),l=pk(),u=`yAxis`,d=X(e=>kU(e,t)),f=X(e=>OU(e,t)),p=X(e=>PU(e,u,t,c)),m=X(e=>IV(e,t));if((0,I.useLayoutEffect)(()=>{if(!(r!==`auto`||!d||BJ(i)||(0,I.isValidElement)(i)||m==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(d.width)!==Math.round(n)&&l(QZ({id:t,width:n}))}}},[p,d,l,i,t,r,m]),d==null||f==null||m==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var h=M1(e,Zfe);m.id,m.scale;var g=M1(m,Qfe);return I.createElement(N$,k1({},h,g,{ref:a,labelRef:o,x:f.x,y:f.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:d.width,height:d.height,className:jE(`recharts-${u} ${u}`,n),viewBox:s,ticks:p,axisType:u,axisId:t}))}var ape={allowDataOverflow:FV.allowDataOverflow,allowDecimals:FV.allowDecimals,allowDuplicatedCategory:FV.allowDuplicatedCategory,angle:FV.angle,axisLine:M$.axisLine,hide:!1,includeHidden:FV.includeHidden,interval:FV.interval,label:!1,minTickGap:FV.minTickGap,mirror:FV.mirror,orientation:FV.orientation,padding:FV.padding,reversed:FV.reversed,scale:FV.scale,tick:FV.tick,tickCount:FV.tickCount,tickLine:M$.tickLine,tickSize:M$.tickSize,type:FV.type,niceTicks:FV.niceTicks,width:FV.width,yAxisId:0},N1=I.memo(e=>{var t=TO(e,ape);return I.createElement(I.Fragment,null,I.createElement(rpe,{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}),I.createElement(ipe,t))},C1);N1.displayName=`YAxis`;var P1=Z([(e,t)=>t,xM,vF,DF,QW,eG,NG,tM],GG);function ope(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function F1(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(ope(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 I1=qA(`mouseClick`),L1=Dj();L1.startListening({actionCreator:I1,effect:(e,t)=>{var n=e.payload,r=P1(t.getState(),F1(n));r?.activeIndex!=null&&t.dispatch(rW({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var R1=qA(`mouseMove`),z1=Dj(),B1=null,V1=null,H1=null;z1.startListening({actionCreator:R1,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);B1!==null&&(cancelAnimationFrame(B1),B1=null),V1!==null&&(typeof i!=`number`||!o)&&(clearTimeout(V1),V1=null),H1=F1(n);var s=()=>{var e=t.getState(),n=VU(e,e.tooltip.settings.shared);if(!H1){B1=null,V1=null;return}if(n===`axis`){var r=P1(e,H1);r?.activeIndex==null?t.dispatch(eW()):t.dispatch(nW({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}B1=null,V1=null};if(!o){s();return}i===`raf`?B1=requestAnimationFrame(s):typeof i==`number`&&V1===null&&(V1=setTimeout(s,i))}});function spe(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 U1={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},W1=nj({name:`rootProps`,initialState:U1,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??U1.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}}}),cpe=W1.reducer,lpe=W1.actions.updateOptions,G1=nj({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)}}),upe=G1.actions.updatePolarOptions,dpe=G1.reducer,K1=qA(`keyDown`),q1=qA(`focus`),J1=qA(`blur`),Y1=Dj(),X1=null,Z1=null,Q1=null;Y1.startListening({actionCreator:K1,effect:(e,t)=>{Q1=e.payload,X1!==null&&(cancelAnimationFrame(X1),X1=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);Z1!==null&&(typeof r!=`number`||!a)&&(clearTimeout(Z1),Z1=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=Q1;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=vW(n,BW(e),mH(e),YW(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=eG(e),c=BW(e),l=VU(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=RG(e,l,`hover`,String(n.index));t.dispatch(aW({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=LU(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=mH(e),h=YW(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(vW(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(vW(_(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=RG(e,l,`hover`,String(p));t.dispatch(aW({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{X1=null,Z1=null}};if(!a){o();return}r===`raf`?X1=requestAnimationFrame(o):typeof r==`number`&&Z1===null&&(o(),Q1=null,Z1=setTimeout(()=>{Q1?o():(Z1=null,X1=null)},r))}}),Y1.startListening({actionCreator:q1,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=RG(n,VU(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(aW({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),Y1.startListening({actionCreator:J1,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(aW({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function $1(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 e0=qA(`externalEvent`),t0=Dj(),n0=new Map,r0=new Map,i0=new Map;t0.startListening({actionCreator:e0,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=$1(i);i0.set(a,{handler:r,reactEvent:o});var s=n0.get(a);s!==void 0&&(cancelAnimationFrame(s),n0.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=r0.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),r0.delete(a));var p=()=>{var e=i0.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:uG(i),activeDataKey:sG(i),activeIndex:aG(i),activeLabel:oG(i),activeTooltipIndex:aG(i),isTooltipActive:dG(i)};n&&n(o,r)}finally{n0.delete(a),r0.delete(a),i0.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);n0.set(a,m)}else if(typeof l==`number`){if(!r0.has(a)){p();var h=setTimeout(p,l);r0.set(a,h)}}else p()}}});var fpe=Z([Z([SW],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)}}}),a0=qA(`touchMove`),o0=Dj(),s0=null,c0=null,l0=null,u0=null;o0.startListening({actionCreator:a0,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){u0=$1(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);s0!==null&&(cancelAnimationFrame(s0),s0=null),c0!==null&&(typeof i!=`number`||!o)&&(clearTimeout(c0),c0=null),l0=Array.from(n.touches).map(e=>F1({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(u0!=null){var e=t.getState(),n=VU(e,e.tooltip.settings.shared);if(n===`axis`){var r=l0?.[0];if(r==null){s0=null,c0=null;return}var i=P1(e,r);i?.activeIndex!=null&&t.dispatch(nW({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=u0.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(Qj),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=IW(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=fpe(e,s,c);t.dispatch(QU({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}s0=null,c0=null}};if(!o){s();return}i===`raf`?s0=requestAnimationFrame(s):typeof i==`number`&&c0===null&&(s(),u0=null,c0=setTimeout(()=>{u0?s():(c0=null,s0=null)},i))}}});var d0={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},f0=nj({name:`eventSettings`,initialState:d0,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=GA(t.payload.throttledEvents))}}}),ppe=f0.actions.setEventSettings,mpe=f0.reducer,hpe=Pk({brush:MQ,cartesianAxis:eQ,chartData:PK,errorBars:fde,eventSettings:mpe,graphicalItems:GX,layout:Mse,legend:Ace,options:DK,polarAxis:bY,polarOptions:dpe,referenceElements:LQ,renderedTicks:y$,rootProps:cpe,tooltip:oW,zIndex:cK}),gpe=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return ise({reducer:hpe,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([L1.middleware,z1.middleware,Y1.middleware,t0.middleware,o0.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(ej({type:`raf`}))},devTools:VM.devToolsEnabled&&{serialize:{replacer:spe},name:`recharts-${t}`}})};function p0(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=rM(),a=(0,I.useRef)(null);if(i)return n;a.current??=gpe(t,r);var o=fk;return I.createElement(Wce,{context:o,store:a.current},n)}function _pe(e){var t=e.layout,n=e.margin,r=pk(),i=rM();return(0,I.useEffect)(()=>{i||(r(kse(t)),r(Ose(n)))},[r,i,t,n]),null}var m0=(0,I.memo)(_pe,NM);function h0(e){var t=pk();return(0,I.useEffect)(()=>{t(lpe(e))},[t,e]),null}var g0=(0,I.memo)(e=>{var t=pk();return(0,I.useEffect)(()=>{t(ppe(e))},[t,e]),null},NM);function _0(e){var t=e.zIndex,n=e.isPanorama,r=(0,I.useRef)(null),i=pk();return(0,I.useLayoutEffect)(()=>(r.current&&i(oK({zIndex:t,element:r.current,isPanorama:n})),()=>{i(sK({zIndex:t,isPanorama:n}))}),[i,t,n]),I.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function v0(e){var t=e.children,n=e.isPanorama,r=X(qG);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return I.createElement(I.Fragment,null,i.map(e=>I.createElement(_0,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>I.createElement(_0,{key:e,zIndex:e,isPanorama:n})))}var vpe=[`children`];function ype(e,t){if(e==null)return{};var n,r,i=bpe(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 bpe(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 y0(){return y0=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},y0.apply(null,arguments)}var xpe={width:`100%`,height:`100%`,display:`block`},Spe=(0,I.forwardRef)((e,t)=>{var n=yM(),r=bM(),i=qM();if(!Nj(n)||!Nj(r))return null;var a=e.children,o=e.otherAttributes,s=e.title,c=e.desc,l,u;return o!=null&&(l=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,u=typeof o.role==`string`?o.role:i?`application`:void 0),I.createElement(GE,y0({},o,{title:s,desc:c,role:u,tabIndex:l,width:n,height:r,style:xpe,ref:t}),a)}),Cpe=e=>{var t=e.children,n=X(aM);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return I.createElement(GE,{width:r,height:i,x:o,y:a},t)},b0=(0,I.forwardRef)((e,t)=>{var n=e.children,r=ype(e,vpe);return rM()?I.createElement(Cpe,null,I.createElement(v0,{isPanorama:!0},n)):I.createElement(Spe,y0({ref:t},r),I.createElement(v0,{isPanorama:!1},n))});function wpe(e,t){return Ope(e)||Dpe(e,t)||Epe(e,t)||Tpe()}function Tpe(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
66
66
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Epe(e,t){if(e){if(typeof e==`string`)return x0(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)?x0(e,t):void 0}}function x0(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 Dpe(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 Ope(e){if(Array.isArray(e))return e}function kpe(){var e=pk(),t=wpe((0,I.useState)(null),2),n=t[0],r=t[1],i=X(qse);return(0,I.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;Mj(t)&&t!==i&&e(jse(t))}},[n,e,i]),r}function S0(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 Ape(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?S0(Object(n),!0).forEach(function(t){jpe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jpe(e,t,n){return(t=Mpe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mpe(e){var t=Npe(e,`string`);return typeof t==`symbol`?t:t+``}function Npe(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 C0(){return C0=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},C0.apply(null,arguments)}function w0(e,t){return Lpe(e)||Ipe(e,t)||Fpe(e,t)||Ppe()}function Ppe(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
67
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fpe(e,t){if(e){if(typeof e==`string`)return T0(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)?T0(e,t):void 0}}function T0(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 Ipe(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 Lpe(e){if(Array.isArray(e))return e}var Rpe=()=>(GK(),null);function E0(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var zpe=(0,I.forwardRef)((e,t)=>{var n=(0,I.useRef)(null),r=w0((0,I.useState)({containerWidth:E0(e.style?.width),containerHeight:E0(e.style?.height)}),2),i=r[0],a=r[1],o=(0,I.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}})},[]),s=(0,I.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;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,I.useEffect)(()=>()=>{n.current?.disconnect()},[o]),I.createElement(I.Fragment,null,I.createElement(TM,{width:i.containerWidth,height:i.containerHeight}),I.createElement(`div`,C0({ref:s},e)))}),Bpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=w0((0,I.useState)({containerWidth:E0(n),containerHeight:E0(r)}),2),a=i[0],o=i[1],s=(0,I.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,I.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return I.createElement(I.Fragment,null,I.createElement(TM,{width:a.containerWidth,height:a.containerHeight}),I.createElement(`div`,C0({ref:c},e)))}),Vpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height;return I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(`div`,C0({ref:t},e)))}),Hpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?I.createElement(Bpe,C0({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?I.createElement(Vpe,C0({},e,{width:n,height:r,ref:t})):I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(`div`,C0({ref:t},e)))});function Upe(e){return e?zpe:Hpe}var Wpe=(0,I.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,s=e.onDoubleClick,c=e.onMouseDown,l=e.onMouseEnter,u=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,h=e.onTouchStart,g=e.style,_=e.width,v=e.responsive,y=e.dispatchTouchEvents,b=y===void 0||y,x=(0,I.useRef)(null),S=pk(),C=w0((0,I.useState)(null),2),w=C[0],T=C[1],E=w0((0,I.useState)(null),2),D=E[0],O=E[1],k=kpe(),A=hM(),j=A?.width>0?A.width:_,M=A?.height>0?A.height:i,N=(0,I.useCallback)(e=>{k(e),typeof t==`function`&&t(e),T(e),O(e),e!=null&&(x.current=e)},[k,t,T,O]),ee=(0,I.useCallback)(e=>{S(I1(e)),S(e0({handler:a,reactEvent:e}))},[S,a]),te=(0,I.useCallback)(e=>{S(R1(e)),S(e0({handler:l,reactEvent:e}))},[S,l]),ne=(0,I.useCallback)(e=>{S(eW()),S(e0({handler:u,reactEvent:e}))},[S,u]),re=(0,I.useCallback)(e=>{S(R1(e)),S(e0({handler:d,reactEvent:e}))},[S,d]),ie=(0,I.useCallback)(()=>{S(q1())},[S]),ae=(0,I.useCallback)(()=>{S(J1())},[S]),oe=(0,I.useCallback)(e=>{S(K1(e.key))},[S]),se=(0,I.useCallback)(e=>{S(e0({handler:o,reactEvent:e}))},[S,o]),ce=(0,I.useCallback)(e=>{S(e0({handler:s,reactEvent:e}))},[S,s]),le=(0,I.useCallback)(e=>{S(e0({handler:c,reactEvent:e}))},[S,c]),ue=(0,I.useCallback)(e=>{S(e0({handler:f,reactEvent:e}))},[S,f]),de=(0,I.useCallback)(e=>{S(e0({handler:h,reactEvent:e}))},[S,h]),P=(0,I.useCallback)(e=>{b&&S(a0(e)),S(e0({handler:m,reactEvent:e}))},[S,b,m]),fe=(0,I.useCallback)(e=>{S(e0({handler:p,reactEvent:e}))},[S,p]),pe=Upe(v);return I.createElement(yK.Provider,{value:w},I.createElement(ND.Provider,{value:D},I.createElement(pe,{width:j??g?.width,height:M??g?.height,className:jE(`recharts-wrapper`,r),style:Ape({position:`relative`,cursor:`default`,width:j,height:M},g),onClick:ee,onContextMenu:se,onDoubleClick:ce,onFocus:ie,onBlur:ae,onKeyDown:oe,onMouseDown:le,onMouseEnter:te,onMouseLeave:ne,onMouseMove:re,onMouseUp:ue,onTouchEnd:fe,onTouchMove:P,onTouchStart:de,ref:N},I.createElement(Rpe,null),n)))}),Gpe=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Kpe(e,t){if(e==null)return{};var n,r,i=qpe(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 qpe(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 D0=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,l=e.title,u=e.desc,d=LE(Kpe(e,Gpe));return c?I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(b0,{otherAttributes:d,title:l,desc:u},a)):I.createElement(Wpe,{className:o,style:s,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},I.createElement(b0,{otherAttributes:d,title:l,desc:u,ref:t},I.createElement(GQ,null,a)))});function O0(){return O0=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},O0.apply(null,arguments)}function k0(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 Jpe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?k0(Object(n),!0).forEach(function(t){Ype(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ype(e,t,n){return(t=Xpe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xpe(e){var t=Zpe(e,`string`);return typeof t==`symbol`?t:t+``}function Zpe(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 Qpe=Jpe({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`},d0),A0=(0,I.forwardRef)(function(e,t){var n=TO(e.categoricalChartProps,Qpe),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,o=e.tooltipPayloadSearcher,s=e.categoricalChartProps,c={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:o,eventEmitter:void 0};return I.createElement(p0,{preloadedState:{options:c},reduxStoreName:s.id??r},I.createElement(kQ,{chartData:s.data}),I.createElement(m0,{layout:n.layout,margin:n.margin}),I.createElement(g0,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),I.createElement(h0,{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}),I.createElement(D0,O0({},n,{ref:t})))}),$pe=[`axis`],eme=(0,I.forwardRef)((e,t)=>I.createElement(A0,{chartName:`LineChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:$pe,tooltipPayloadSearcher:TK,categoricalChartProps:e,ref:t})),tme=[`axis`,`item`],j0=(0,I.forwardRef)((e,t)=>I.createElement(A0,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:tme,tooltipPayloadSearcher:TK,categoricalChartProps:e,ref:t}));function nme(e){var t=pk();return(0,I.useEffect)(()=>{t(upe(e))},[t,e]),null}var rme=[`layout`];function M0(){return M0=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},M0.apply(null,arguments)}function ime(e,t){if(e==null)return{};var n,r,i=ame(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 ame(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 N0(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 ome(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?N0(Object(n),!0).forEach(function(t){sme(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function sme(e,t,n){return(t=cme(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cme(e){var t=lme(e,`string`);return typeof t==`symbol`?t:t+``}function lme(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 P0=ome({accessibilityLayer:!0,stackOffset:`none`,barCategoryGap:`10%`,barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:`index`,layout:`radial`,responsive:!1,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`},d0),ume=(0,I.forwardRef)(function(e,t){var n=TO(e.categoricalChartProps,P0),r=n.layout,i=ime(n,rme),a=e.chartName,o={chartName:a,defaultTooltipEventType:e.defaultTooltipEventType,validateTooltipEventTypes:e.validateTooltipEventTypes,tooltipPayloadSearcher:e.tooltipPayloadSearcher,eventEmitter:void 0};return I.createElement(p0,{preloadedState:{options:o},reduxStoreName:n.id??a},I.createElement(kQ,{chartData:n.data}),I.createElement(m0,{layout:r,margin:n.margin}),I.createElement(g0,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),I.createElement(h0,{baseValue:void 0,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}),I.createElement(nme,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),I.createElement(D0,M0({},i,{ref:t})))});function F0(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 I0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F0(Object(n),!0).forEach(function(t){dme(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dme(e,t,n){return(t=fme(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fme(e){var t=pme(e,`string`);return typeof t==`symbol`?t:t+``}function pme(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 mme=[`item`],hme=I0(I0({},P0),{},{layout:`centric`,startAngle:0,endAngle:360}),gme=(0,I.forwardRef)((e,t)=>{var n=TO(e,hme);return I.createElement(ume,{chartName:`PieChart`,defaultTooltipEventType:`item`,validateTooltipEventTypes:mme,tooltipPayloadSearcher:TK,categoricalChartProps:n,ref:t})}),L0=`flex items-center gap-2 rounded-md px-1 py-0.5`,R0=({resource:e,view:t,filter:n,color:r,label:i,children:a})=>{let o=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`size-2.5 shrink-0 rounded-full`,style:{background:r},"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate group-hover:text-primary-text`,children:i}),a]});return(0,R.jsx)(`li`,{children:n===void 0?(0,R.jsx)(`div`,{className:L0,children:o}):(0,R.jsx)(cS,{to:OE(t,e,n),className:`group ${L0} hover:bg-muted`,children:o})})},_me=(e,t)=>t>0?`${Math.round(e/t*100)}%`:``,vme=({active:e,payload:t,measure:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:r.label}),(0,R.jsx)(`div`,{className:`font-semibold tabular-nums`,children:DE(r.value,n)})]})},yme=({resource:e,view:t,slices:n,measure:r})=>{let i=n.filter(e=>e.value!==null&&e.value>0),a=i.reduce((e,t)=>e+t.value,0);return(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-4 sm:flex-row sm:items-center`,children:[(0,R.jsx)(`div`,{className:`size-36 shrink-0`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:(0,R.jsxs)(gme,{children:[(0,R.jsx)(EZ,{data:i,dataKey:`value`,nameKey:`label`,innerRadius:`62%`,outerRadius:`100%`,paddingAngle:+(i.length>1),stroke:`var(--background)`,strokeWidth:2,isAnimationActive:!1,children:i.map(e=>(0,R.jsx)(lq,{fill:e.color},e.key))}),(0,R.jsx)(cq,{content:(0,R.jsx)(vme,{measure:r}),isAnimationActive:!1})]})})}),(0,R.jsx)(`ul`,{className:`flex w-full min-w-0 flex-col gap-0.5`,children:n.map(n=>(0,R.jsxs)(R0,{resource:e,view:t,filter:n.filter,color:n.color,label:n.label,children:[(0,R.jsx)(`span`,{className:`font-medium tabular-nums`,children:DE(n.value,r)}),(0,R.jsx)(`span`,{className:`w-9 text-right text-xs text-muted-foreground tabular-nums`,children:_me(n.value??0,a)})]},n.key))})]})},bme={hour:{hour:`2-digit`,minute:`2-digit`,hour12:!1},day:{day:`numeric`,month:`short`},week:{day:`numeric`,month:`short`},month:{month:`short`,year:`2-digit`},year:{year:`numeric`}},z0={hour:{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`,hour12:!1},day:{day:`numeric`,month:`short`,year:`numeric`},week:{day:`numeric`,month:`short`,year:`numeric`},month:{month:`long`,year:`numeric`},year:{year:`numeric`}},B0=e=>{let t=new Intl.DateTimeFormat(l(),{...e,timeZone:`UTC`});return e=>t.format(e)},V0={fontSize:11,fill:`var(--muted-foreground)`},xme=({active:e,payload:t,measure:n,bucket:r,series:i})=>{let a=t?.[0]?.payload;return!e||!a?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:r===`week`?vE(`weekOf`,B0(z0[r])(a.at)):B0(z0[r])(a.at)}),i?.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{background:e.color},"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`flex-1`,children:e.label}),(0,R.jsx)(`span`,{className:`font-semibold tabular-nums`,children:DE(a[e.key]??null,n)})]},e.key)),i&&n.kind!==`average`&&(0,R.jsx)(`div`,{className:`mt-0.5 border-t pt-0.5 font-semibold tabular-nums`,children:DE(a.value,n)}),!i&&(0,R.jsx)(`div`,{className:`font-semibold tabular-nums`,children:DE(a.value,n)})]})},H0=({points:e,measure:t,bucket:n,type:r,series:i,resource:a,view:o})=>{let s=cu(`(min-width: 640px)`),c=B0(bme[n]),u=(0,R.jsx)(B$,{vertical:!1,stroke:`var(--border)`}),d=(0,R.jsx)(O1,{dataKey:`at`,tickFormatter:c,tick:V0,axisLine:!1,tickLine:!1,minTickGap:s?24:40,height:18}),f=(0,R.jsx)(N1,{width:s?48:36,tick:V0,axisLine:!1,tickLine:!1,tickCount:3,tickFormatter:e=>e.toLocaleString(l(),{notation:`compact`})}),p=(0,R.jsx)(cq,{cursor:r===`bar`?{fill:`var(--muted)`}:{stroke:`var(--border-strong)`},content:(0,R.jsx)(xme,{measure:t,bucket:n,...i&&{series:i}}),isAnimationActive:!1}),m=i??[{key:`value`,label:``,color:`var(--chart-1)`}],h=(0,R.jsx)(`div`,{className:`h-40`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:r===`line`?(0,R.jsxs)(eme,{data:e,margin:{top:6,right:6,bottom:0,left:0},children:[u,d,f,p,m.map(t=>(0,R.jsx)(r1,{dataKey:t.key,stroke:t.color,strokeWidth:2,dot:e.length<=31&&{r:3,fill:t.color,strokeWidth:0},activeDot:{r:4,stroke:`var(--background)`,strokeWidth:2},isAnimationActive:!1},t.key))]}):(0,R.jsxs)(j0,{data:e,margin:{top:6,right:0,bottom:0,left:0},barCategoryGap:`22%`,children:[u,d,f,p,m.map((e,t)=>(0,R.jsx)(b1,{dataKey:e.key,fill:e.color,...i&&{stackId:`split`},radius:t===m.length-1?[4,4,0,0]:0,isAnimationActive:!1},e.key))]})})});return!i||a===void 0?h:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[h,(0,R.jsx)(`ul`,{className:`flex flex-wrap gap-x-3 gap-y-0.5 text-sm`,children:i.map(e=>(0,R.jsx)(R0,{resource:a,view:o,color:e.color,label:e.label,...e.filter!==void 0&&{filter:e.filter}},e.key))})]})},Sme=1e-6,Cme=(e,t,n,r,i,a=``)=>{let o=t.map((e,t)=>({key:`s${t}`,label:SE(n,r,e),color:xE(n,r,e.value,t),filter:CE(n,e.value,a)})),s=i.kind===`count`?0:null,c=(e,t)=>{let n=e.splits?.find(e=>e.value===t);return n?i.kind===`count`?n.count:n[i.kind]??null:s},l=EE(e,i).map((n,r)=>{let a=e[r],o=t.map(e=>c(a,e.value)),s=Object.fromEntries(o.map((e,t)=>[`s${t}`,e]));if(i.kind===`average`)return{...n,...s};let l=n.value===null?null:n.value-o.reduce((e,t)=>e+(t??0),0);return{...n,...s,other:l===null?null:l<Sme?0:l}});return i.kind!==`average`&&l.some(e=>(e.other??0)>0)?{series:[...o,{key:`other`,label:vE(`other`),color:`var(--border-strong)`}],points:l}:{series:o,points:l.map(({other:e,...t})=>t)}},wme=(e,t,n,r)=>{let i=n??r,a=i===void 0?void 0:e.fields[i];return!a||i===void 0?{kind:`count`}:{kind:n===void 0?`average`:`sum`,field:a,hints:t?.fields[i]}},U0=(e,t,n)=>{let r=e?.type===`relation`&&e.relation?t[e.relation.resource]:void 0;return r&&r.primaryKey.length===1?Gb(r,n[r.name]):void 0},W0=({model:e,view:t,groupBy:n,splitBy:r,type:i=`bar`,sum:a,average:o,filter:s=``,granularity:c=`day`,range:l=`30d`,limit:u=10,empty:d=vE(`nothingYet`)})=>{let{resources:f,views:p}=J(),m=e.fields[n],h=m?.type===`date`||m?.type===`timestamp`,g=U0(m,f,p),_=h&&r!==void 0?e.fields[r]:void 0,v=U0(_,f,p),y=_?{splitBy:_.name,splitLimit:8,...v&&{splitLabel:v}}:{},b=h?{granularity:c,range:l,timeZone:Yd(),...y}:{limit:u,...g&&{label:g}},x=_E(e.name,{groupBy:n,filter:s,...a&&{sum:a},...o&&{average:o},...b},!!m),S=wme(e,t,a,o);if(!m)return null;if(x.isPending)return(0,R.jsx)(_u,{className:`h-36 w-full`});if(x.error)return(0,R.jsx)(`p`,{className:`text-danger-text`,children:vE(`couldNotLoad`)});let{groups:C}=x.data;if(C.every(e=>e.count===0))return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:d});let w=i===`line`?`line`:`bar`;if(h&&_&&x.data.splits){let{series:n,points:r}=Cme(C,x.data.splits,_,t?.fields[_.name],S,s);return(0,R.jsx)(H0,{points:r,measure:S,bucket:c,type:w,series:n,resource:e.name,view:t})}if(h)return(0,R.jsx)(H0,{points:EE(C,S),measure:S,bucket:c,type:w});let T=TE(C,m,t?.fields[n],S,s);return i===`donut`?(0,R.jsx)(yme,{resource:e.name,view:t,slices:T,measure:S}):(0,R.jsx)(kE,{resource:e.name,view:t,slices:T,measure:S})},Tme=({node:e,slots:t})=>{let{resource:n,title:r,description:i,actions:a,span:o,...s}=oE(e),{resources:c,views:l}=J(),u=c[n];return u?(0,R.jsx)(lE,{title:r,description:i,actions:t.actions,className:`h-full`,children:(0,R.jsx)(W0,{model:u,view:l[n],...s})}):null},Eme=rr(),G0=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=Gb(n,i),c=await e.fetchQuery({queryKey:H.labels(n.name,o.join(`,`)),staleTime:3e5,queryFn:async()=>(await t.list(n.name,{filter:Hn(Eme.in(a,o)),fields:[a,s],pageSize:o.length})).items.map(e=>[String(e[a]),String(e[s])])});return new Map(c)},K0=(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}]:[]}),q0=(e,t,n,r)=>Object.fromEntries(K0(e,n,r).filter(({target:e})=>e.primaryKey.length===1).map(({name:e,target:n})=>[e,Gb(n,t[n.name])])),J0=(e,t,n,r,i={})=>{let a=K0(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})},Y0=(e,t)=>{let n=String(t);return e&&Object.hasOwn(e,n)?e[n]:void 0},X0=({value:e,hints:t,children:n})=>(0,R.jsx)(Fu,{tone:nx(String(e)),color:Y0(t?.valueColors,e),shape:t?.badgeShape,children:n}),Dme=({field:e,value:t,known:n})=>{let{resources:r,views:i}=J(),a=U(),o=Qp(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Eh({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await G0(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,R.jsx)(cS,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,R.jsx)(`span`,{children:c})},Ome=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=J(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,R.jsx)(Dme,{field:t,value:n,known:i});let s=t.type===`file`?sb(n):void 0;if(s&&`url`in s&&s.url){let e=hb(n,{width:40,height:40});return(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[e&&(0,R.jsx)(_C,{image:e,className:`size-10 shrink-0 rounded border border-border object-cover`}),(0,R.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`truncate font-medium text-primary-text hover:underline`,children:s.name})]})}if(Ub(t,o))return(0,R.jsx)(jC,{source:String(n)});let c=dx(t,n,o),l=t.type===`text`?Qb(o):void 0;return l?(0,R.jsx)(RC,{format:l,value:c}):t.type===`enum`||o.format===`badge`?(0,R.jsx)(X0,{value:n,hints:o,children:c}):(0,R.jsx)(`span`,{title:fx(t,n,void 0,o),className:g(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`,o.multiline&&`whitespace-pre-line break-words`),children:c})},Z0=e=>{let{views:t}=J(),n=EC(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,R.jsx)(Ome,{...e});return n?(0,R.jsx)(kC,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},Q0=(e,t,n)=>{if(!t)return[];let r=vc(e,t.model.name,n);return r.ok?r.steps:[]},$0=(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}}),e2=(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}},t2=(e,t)=>{let{resources:n}=J(),r=Q0(n,e,t);return e2(e,r,Eh($0(U(),Qp(),e,t,r)))},kme=(e,t)=>{let{resources:n}=J(),r=U(),i=Qp(),a=t.map(t=>Q0(n,e,t)),o=wh({queries:t.map((t,n)=>$0(r,i,e,t,a[n]))});return t.map((t,n)=>e2(e,a[n],o[n]))},n2=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>K(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},Ame=({node:e})=>{let{name:t,label:n,format:r}=oE(e),{views:i}=J(),a=t2(BT(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,R.jsx)(_u,{className:`h-4 w-24`}):(0,R.jsx)(Z0,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,R.jsx)(`div`,{children:o});let s=n??n2(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`div`,{className:`text-body text-muted-foreground`,children:s}),(0,R.jsx)(`div`,{className:`mt-0.5 truncate`,children:o})]})},jme={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},Mme={1:``,2:`grid-cols-2`,3:`grid-cols-2 xl:grid-cols-3`,4:`grid-cols-2 xl:grid-cols-4`},Nme={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`},Pme=e=>typeof e==`object`&&!e.custom&&e.type===`Stat`,Fme=({node:e,children:t})=>{let{columns:n=2}=oE(e),r=e.children,i=r.length>0&&r.every(Pme);return(0,R.jsx)(`div`,{className:g(`grid grid-cols-1 gap-4`,i?Mme[n]:jme[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,R.jsx)(`div`,{className:g(`min-w-0`,i&&Nme[i]),children:e},t)})})},r2=`font-medium text-primary-text hover:underline`,Ime=({node:e})=>{let t=oE(e),n=BT()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=ur(t.to,n);return(0,R.jsx)(cS,{to:e,className:r2,children:r||xs(e)})}let i=t.href??``;return(0,R.jsx)(`a`,{href:i,className:r2,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},Lme=(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]:SS(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:SS(i)]})),Rme=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return LS(r)?r.key===SS(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:jS(i,r,n.record[t])?[[t,OS(i,r)]]:[]})),zme=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:o,onClose:s})=>{let{resources:c,views:l}=J(),u=U(),d=qy(),f=nE(),p=l[e.name],[m,h]=(0,I.useState)(()=>Lme(e,a,t)),[g,_]=(0,I.useState)({}),[v,y]=(0,I.useState)(0),b=XC(v),[x,S]=(0,I.useState)(),[C,w]=(0,I.useState)(!1),T=async()=>{w(!0),S(void 0),await(n===`create`?u.create(e.name,{...VS(e,c,m),...o}):u.update(e.name,t.key,Rme(e,m,t),t.etag??`*`)).then(async()=>{await f(e.name),d.show({state:`success`,title:pg(`saved`,i??r)}),s()},e=>{let t=JC(e);_(t),Object.keys(t).length>0&&y(e=>e+1),S(e)}),w(!1)};return(0,R.jsx)(jf,{title:i??r,onClose:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:s,children:pg(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,loading:C,onClick:()=>void T(),children:pg(n===`create`?`create`:`save`)})]}),children:(0,R.jsxs)(`form`,{ref:b,className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),T()},children:[x!==void 0&&Object.keys(g).length===0&&(0,R.jsx)(XS,{title:pg(`notSaved`),error:x}),a.map(n=>{let r=e.fields[n],i=m[n],a=r.relation?c[r.relation.resource]:void 0,o=p?.fields[n]?.label??K(n),s=g[n];return(0,R.jsx)(Xy,{name:n,label:o,help:p?.fields[n]?.help,error:s&&qC(r,o,s),children:(0,R.jsx)(BC,{field:r,hints:p?.fields[n],value:LS(i)?i.key:i,stored:t?.record[n],relationLabel:LS(i)?i.label:void 0,relationPicker:a?{target:a,view:l[a.name]}:void 0,invalid:!!g[n],resource:e.name,onChange:e=>{_(({[n]:e,...t})=>t),h(t=>({...t,[n]:e}))}})},n)})]})})},Bme=({model:e,recordKey:t,children:n})=>{let r=eE(e,{key:t});return(0,R.jsx)(R.Fragment,{children:n(r.data??void 0)})},Vme=({node:e})=>{let t=oE(e),n=BT(),{resources:r}=J(),i=r[t.resource??n?.model.name??``],a=oS(i?.name??``),[o,s]=(0,I.useState)(!1);if(!i||!(t.mode===`create`?VT(a,`create`):VT(a,`update`)&&n?.permissions?.update!==!1))return null;let c=e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>s(!0),children:t.label}),o&&(0,R.jsx)(zme,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,R.jsx)(Bme,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Hme=({node:e,children:t,slots:n})=>{let{title:r,description:i}=oE(e);return(0,R.jsx)(`div`,{className:`flex-1`,children:(0,R.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,R.jsx)(vd,{title:r,subtitle:i,actions:n.actions}),t]})})},i2=(e,t)=>{let n=BT(),r=t2(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},Ume=({node:e})=>{let{value:t,max:n,label:r}=oE(e),i=i2(t,0),a=i2(n,100);if(i===void 0||a===void 0)return(0,R.jsx)(_u,{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,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-body`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,R.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(l()),` / `,a.toLocaleString(l())]})]}),(0,R.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,R.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},Wme=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=eE(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,R.jsx)(zT,{value:l.data,children:e}):void 0,d=l.isPending?(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(_u,{className:`h-4 w-1/2`}),(0,R.jsx)(_u,{className:`h-4 w-1/3`})]}):l.error?(0,R.jsx)(XS,{title:pg(`couldNotLoad`),error:l.error}):l.data?u((0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,R.jsx)(uE,{children:o??pg(`nothingYet`)});return(0,R.jsx)(lE,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},Gme=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=oE(e),u=J().resources[r];return u?(0,R.jsx)(Wme,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null};function Kme(e){return qme(e)||typeof e==`function`||Jme(e)}function qme(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Jme(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function a2(e,t){return e==null?null:Kme(e)?I.createElement(e,t):e}function Yme(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?a2(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:a2(n.cell,t.getContext())}return`header`in e&&e.header?a2(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?a2(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Xme({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 Zme(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 o2=[],s2=0,{link:c2,unlink:Qme,propagate:$me,checkDirty:l2,shallowPropagate:u2}=Xme({update(e){return e._update()},notify(e){o2[f2++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,h2(e))}}),d2=0,f2=0,p2,m2=0;function ehe(e){try{++m2,e()}finally{--m2||g2()}}function h2(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Qme(n,e)}function g2(){if(!(m2>0)){for(;d2<f2;){let e=o2[d2];o2[d2++]=void 0,e.notify()}d2=0,f2=0}}function the(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 p2!==void 0&&c2(i,p2,s2),i._snapshot},subscribe(e){let t=Zme(e),n={current:!1},r=nhe(()=>{i.get(),n.current?(p2=void 0,t.next?.(i._snapshot)):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=p2,o=t?.compare??Object.is;if(n)p2=i,++s2,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{p2=a,n&&(i.flags&=-5),h2(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&l2(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&u2(e)}}else e&32&&(i.flags=e&-33);return p2!==void 0&&c2(i,p2,s2),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&($me(e),u2(e),g2())}},i}function nhe(e){let t=()=>{let t=p2;p2=n,++s2,n.depsTail=void 0,n.flags=6;try{return e()}finally{p2=t,n.flags&=-5,h2(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&&l2(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,h2(this)}};return t(),n}function _2(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=v2(e);if(n.length!==v2(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 v2(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function rhe(e,t){return e===t}function y2(e,t=e=>e,n){let r=n?.compare??rhe,i=(0,I.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,I.useCallback)(()=>e.get(),[e]);return(0,dk.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function ihe(e){let t=y2(e.source,e.selector,{compare:_2});return typeof e.children==`function`?e.children(t):e.children}function ahe(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function ohe(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 she(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 che(){return ohe({createAtom:the,batch:ehe})}function b2(e,t){return typeof e==`function`?e(t):e}function x2(e){if(Array.isArray(e))return e.map(x2);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?S2():{},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:x2(e[i]),writable:!0})}return n}return e}function lhe(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 S2(){return Object.create(null)}function C2(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function w2(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>b2(n,e))}}function T2(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 E2(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var uhe=3;function dhe(e,t){return D2(e,t,uhe)}function D2(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!T2(e)||!T2(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=E2(e),i=E2(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)||!D2(a[i],o[i],n-1))return!1}return!0}function O2(e,t,n,r=dhe){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=b2(n,e);return r(e,t)?e:t})}function fhe(e){return e instanceof Function}function phe(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 mhe=({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 hhe(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function k2({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 mhe({...a,...s})}function A2(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function j2(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=A2(r);t[n]=a?k2({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function M2(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=A2(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=k2({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 N2(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function ghe(e){return e.row.getValue(e.column.id)}function _he(e){return e.getValue()??e.table.options.renderFallbackValue}function vhe(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var yhe={assignCellPrototype:(e,t)=>{M2(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>ghe(e)},cell_renderValue:{fn:e=>_he(e)},cell_getContext:{fn:e=>vhe(e),memoDeps:e=>[e]}})}};function bhe(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 P2(e,t,n){let r=bhe(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 xhe(){return{start:[],end:[]}}function F2(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>N2(e,`getIsVisible`,F2)):(C2(t,e.id)?t[e.id]:void 0)??!0}function She(e){return e.getAllLeafColumns().filter(e=>N2(e,`getIsVisible`,F2))}function I2(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];N2(i,`getIsVisible`,F2)&&i.columns.length&&(n=Math.max(n,I2(i.columns,t+1)))}return n}function Che(e,t){return e?`${e}_${t}`:String(t)}function whe(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 The(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function L2(e,t,n,r,i,a){let o={depth:t,id:Che(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=P2(n,u,{id:whe(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(The(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&&L2(s,t-1,n,r,i,a)}function R2(e){for(let t=0;t<e.length;t++){let n=e[t];if(!N2(n.column,`getIsVisible`,F2))continue;let r=0;if(n.subHeaders.length){R2(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];N2(t.column,`getIsVisible`,F2)&&(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 z2(e,t,n,r){let i=I2(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=P2(n,t[e],{depth:i,index:e}));return L2(s,i-1,n,r,a,o),a.reverse(),R2(a[0]?.headers??[]),a}function Ehe(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 Dhe(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=Ehe(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 B2(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 Ohe(e,r)}}function Ohe(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 khe(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function Ahe(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return N2(e.table,`getOrderColumns`,B2)(t)}return[e]}function jhe(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 V2(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=Dhe(e,o,r,n),c=o;s.columns=c.columns?V2(e,c.columns,s,r+1):[],i[a]=s}return i}function Mhe(e){return V2(e,e.options.columns)}function Nhe(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function Phe(e){let t=S2(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Fhe(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return N2(e,`getOrderColumns`,B2)(t)}function Ihe(e){let t=S2(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Lhe(e,t){return e.getAllFlatColumnsById()[t]}var Rhe={assignColumnPrototype:(e,t)=>{M2(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>khe(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>Ahe(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{j2(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>jhe(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>Mhe(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>Nhe(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>Phe(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>Fhe(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>Ihe(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>Lhe(e,t)}})}};function H2(e,t){for(let n=0;n<e.subHeaders.length;n++)H2(e.subHeaders[n],t);t.push(e)}function zhe(e){let t=[];return H2(e,t),t}function Bhe(e){return{column:e.column,header:e,table:e.column.table}}function Vhe(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??xhe(),r=e.getAllColumns(),i=N2(e,`getVisibleLeafColumns`,She);if(!t.length&&!n.length)return z2(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&N2(n,`getIsVisible`,F2)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&N2(t,`getIsVisible`,F2)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return z2(r,[...o,...c,...s],e)}function Hhe(e){return[...e.getHeaderGroups()].reverse()}function Uhe(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 Whe(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 Ghe={assignHeaderPrototype:(e,t)=>{M2(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>zhe(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>Bhe(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{j2(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>Vhe(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:()=>Hhe(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>Uhe(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>Whe(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function Khe(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 qhe=(e,t,n,r,i,a,o)=>{let s=Khe(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=S2(),c._valuesCache=S2(),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},Jhe=/([0-9]+)/gm;function U2(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}U2({resolveDataValue:e=>K2(e).toLowerCase(),sort:(e,t)=>q2(e,t)}),U2({resolveDataValue:e=>K2(e),sort:(e,t)=>q2(e,t)}),U2({resolveDataValue:e=>K2(e).toLowerCase(),sort:(e,t)=>G2(e,t)}),U2({resolveDataValue:e=>K2(e),sort:(e,t)=>G2(e,t)}),U2({resolveDataValue:e=>Yhe(e),sort:(e,t)=>e>t?1:e<t?-1:0});var W2=U2({sort:(e,t)=>G2(e,t)});function G2(e,t){return e===t?0:e>t?1:-1}function Yhe(e){return e instanceof Date?e.getTime():e}function K2(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function q2(e,t){let n=0,r=0,i=e.length,a=t.length;for(;n<i&&r<a;){let i=J2(e.charCodeAt(n)),a=J2(t.charCodeAt(r)),o=Y2(e,n,i),s=Y2(t,r,a);if(!i&&!a){let i=Xhe(e,n,o,t,r,s);if(i)return i;n=o,r=s;continue}if(i!==a)return i?1:-1;let c=Zhe(e,n,o,t,r,s);if(c)return c;n=o,r=s}return Z2(e,n)-Z2(t,r)}function J2(e){return e>=48&&e<=57}function Y2(e,t,n){let r=t+1;for(;r<e.length&&J2(e.charCodeAt(r))===n;)r++;return r}function Xhe(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 Zhe(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=X2(e,o,n),i=X2(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 X2(e,t,n){let r=0;for(let i=t;i<n;i++)r=r*10+e.charCodeAt(i)-48;return r}function Z2(e,t){let n=0,r=t;for(;r<e.length;)n++,r=Y2(e,r,J2(e.charCodeAt(r)));return n}function Q2(){return[]}function Qhe(e,t){O2(e,`cellSelection`,t?Q2():x2(e.initialState.cellSelection)??Q2())}function $he(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>Qhe(e))}function ege(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>tge(e))}function tge(e,t){let n=e.initialState.expanded;O2(e,`expanded`,t?S2():n===!0||Object.assign(S2(),x2(n??{})))}var $2=0;function nge(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??$2)===$2)return;age(e,!0)}}function rge(e,t){O2(e,`pagination`,t)}function ige(e,t){rge(e,n=>{let r=b2(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 age(e,t){ige(e,t?$2:e.initialState.pagination?.pageIndex??$2)}function oge(){return[]}function e4(e,t){O2(e,`sorting`,t)}function t4(e,t){e4(e,t?[]:x2(e.initialState.sorting??[]))}function sge(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&t4(e)}function n4(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(Jhe).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 W2}function r4(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 cge(e){let t=e.table._rowModelFns.sortFns;return fhe(e.columnDef.sortFn)?e.columnDef.sortFn:e.columnDef.sortFn===`auto`?n4(e):t?.[e.columnDef.sortFn]??W2}function i4(e,t,n){let r=o4(e,n&&c4(e)),i=t!==void 0;e4(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&&c4(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 a4(e){return e.columnDef.sortDescFirst??e.table.options.sortDescFirst??r4(e)===`desc`?`desc`:`asc`}function o4(e,t){let n=a4(e),r=l4(e);return r?r!==n&&(e.table.options.enableSortingRemoval??!0)&&(!t||(e.table.options.enableMultiRemove??!0))?!1:r===`desc`?`asc`:`desc`:n}function s4(e){return(e.columnDef.enableSorting??!0)&&(e.table.options.enableSorting??!0)&&!!e.accessorFn}function c4(e){return e.columnDef.enableMultiSort??e.table.options.enableMultiSort??!!e.accessorFn}function l4(e){let t=e.table.atoms.sorting?.get()?.find(t=>t.id===e.id);return t?t.desc?`desc`:`asc`:!1}function lge(e){return e.table.atoms.sorting?.get()?.findIndex(t=>t.id===e.id)??-1}function uge(e){e4(e.table,t=>t.length?t.filter(t=>t.id!==e.id):[])}function dge(e){let t=s4(e);return n=>{t&&i4(e,void 0,c4(e)?e.table.options.isMultiSortEvent?.(n):!1)}}function fge(){return e=>k2({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>pge(e,e.options.data),onAfterUpdate:hhe(()=>{ege(e),nge(e),sge(e),$he(e)})})}function u4(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=qhe(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=u4(e,t,c.originalSubRows,r+1,c)))}return a}function pge(e,t){let n={rows:[],flatRows:[],rowsById:S2()};return n.rows=u4(e,n,t),n}function mge(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??fge()(e)),e._rowModels.coreRowModel()}function hge(e){return e.getCoreRowModel()}function gge(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 _ge(e){return e.getFilteredRowModel()}function vge(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 yge(e){return e.getGroupedRowModel()}function bge(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 xge(e){return e.getSortedRowModel()}function Sge(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 Cge(e){return e.getExpandedRowModel()}function wge(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 Tge(e){return e.getPaginatedRowModel()}var Ege={constructTableAPIs:e=>{j2(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>mge(e)},table_getPreFilteredRowModel:{fn:()=>hge(e)},table_getFilteredRowModel:{fn:()=>gge(e)},table_getPreGroupedRowModel:{fn:()=>_ge(e)},table_getGroupedRowModel:{fn:()=>vge(e)},table_getPreSortedRowModel:{fn:()=>yge(e)},table_getSortedRowModel:{fn:()=>bge(e)},table_getPreExpandedRowModel:{fn:()=>xge(e)},table_getExpandedRowModel:{fn:()=>Sge(e)},table_getPrePaginatedRowModel:{fn:()=>Cge(e)},table_getPaginatedRowModel:{fn:()=>wge(e)},table_getRowModel:{fn:()=>Tge(e)}})}};function Dge(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 Oge(e,t,n){let r=Dge(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 kge(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function Age(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 jge(e,t){if(C2(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 Mge(e,t){if(C2(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 Nge(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function Pge(e){return phe(e.subRows,e=>e.subRows)}function Fge(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 Ige(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function Lge(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function Rge(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=Oge(a,e,e.table),n.set(a,o)),r[i]=o}return r}function zge(e){let t=S2(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function Bge(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function Vge(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 Hge={assignRowPrototype:(e,t)=>{M2(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>kge(e)},row_getAllCellsByColumnId:{fn:e=>zge(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>Rge(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>Pge(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>Ige(e)},row_getParentRows:{fn:e=>Lge(e)},row_getUniqueValues:{fn:(e,t)=>Mge(e,t)},row_getValue:{fn:(e,t)=>jge(e,t)},row_renderValue:{fn:(e,t)=>Nge(e,t)}})},constructTableAPIs:e=>{j2(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>Age(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>Bge(t,e,n,r)},table_getRow:{fn:(t,n)=>Vge(e,t,n)},table_getMaxSubRowDepth:{fn:()=>Fge(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function d4(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 f4(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{d4(e,t,n),e._reactivity.commit?.()})}function Uge(e){let t=x2(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 Wge(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 p4(e,t,n){let r=Wge(e,b2(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&f4(e,r.state??null)}var Gge={coreCellsFeature:yhe,coreColumnsFeature:Rhe,coreHeadersFeature:Ghe,coreRowModelsFeature:Ege,coreRowsFeature:Hge,coreTablesFeature:{constructTableAPIs:e=>{j2(`coreTablesFeature`,e,{table_reset:{fn:()=>Uge(e)},table_setOptions:{fn:t=>p4(e,t)}})}}};function Kge(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function qge(e){return e}function Jge(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),x2(t)}function Yge(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:{...Gge,..._},_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=Jge(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&&C2(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}d4(v),v.store=ahe(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:_2,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 Xge(){return S2()}function m4(e,t){e.options.onRowSelectionChange?.(t)}function Zge(e,t){e._lastSelectedRowId=null,m4(e,t?S2():Object.assign(S2(),x2(e.initialState.rowSelection??{})))}function h4(e,t,n){e._lastSelectedRowId=null,m4(e,r=>{if(t=t===void 0?!N2(e,`getIsAllRowsSelected`,v4):t,n?.deselectAll&&!t)return S2();let i=Object.assign(S2(),r),a=e.getPreGroupedRowModel().flatRows;if(t){let e=new Map;a.forEach(t=>{O4(t,e)&&(i[t.id]=!0)})}else a.forEach(e=>{w4(e)&&delete i[e.id]});return i})}function g4(e,t,n){e._lastSelectedRowId=null,m4(e,r=>{let i=t===void 0?!N2(e,`getIsAllPageRowsSelected`,y4):t;if(n?.deselectAll&&!i)return S2();let a=Object.assign(S2(),r);return e.getRowModel().rows.forEach(t=>{D4(a,t.id,i,!0,e,!0)}),a})}function Qge(e){return e.getCoreRowModel()}function $ge(e){let t=e.getCoreRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function e_e(e){let t=e.getFilteredRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function t_e(e){let t=e.getSortedRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function _4(e){return Object.keys(e.atoms.rowSelection?.get()??{})}function v4(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=>!M4(t,n)&&O4(t,e))&&(r=!1)}return r}function y4(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(M4(a,n))!i&&O4(a,r)&&(i=!0);else if(O4(a,r))return!1}return i}function b4(e){return N2(e,`getSelectedRowIds`,_4).length>0}function n_e(e){return e.getPaginatedRowModel().flatRows.filter(e=>w4(e)).some(e=>S4(e)||N2(e,`getIsSomeSelected`,C4))}function r_e(e){return t=>{h4(e,t.target.checked)}}function i_e(e){return t=>{g4(e,t.target.checked)}}function x4(e,t,n){let r=S4(e);m4(e.table,i=>{t=t===void 0?!r:t;let a=Object.assign(S2(),i);return D4(a,e.id,t,(n?.selectChildren??!0)&&E4(e),e.table),!t&&n?.deselectParents&&k4(a,e),a})}function S4(e){return M4(e,e.table.atoms.rowSelection?.get()??{})}function C4(e){return N4(e)===`some`}function a_e(e){return N4(e)===`all`}function w4(e){let t=e.table.options;return typeof t.enableRowSelection==`function`?t.enableRowSelection(e):t.enableRowSelection??!0}function T4(e){let t=e.table.options;return typeof t.enableSubRowSelection==`function`?t.enableSubRowSelection(e):t.enableSubRowSelection??!0}function E4(e){let t=e.table.options;return typeof t.enableMultiRowSelection==`function`?t.enableMultiRowSelection(e):t.enableMultiRowSelection??!0}function o_e(e,t){let n=w4(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&&E4(e)&&(a.options.isRowRangeSelectionEvent?.(r)??!1))||!s_e(e,s,o,t))&&x4(e,o,t),a._lastSelectedRowId=e.id}}function s_e(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||!E4(s)||!E4(e))return!1;let f=Math.min(c,l),p=Math.max(c,l);return m4(a,e=>{let t=Object.assign(S2(),e);for(let e=f;e<=p;e++){let s=o[e];w4(s)&&E4(s)&&(D4(t,s.id,n,i,a),!n&&r?.deselectParents&&k4(t,s))}return t}),!0}function D4(e,t,n,r,i,a){let o=i.getRow(t,!0);n?(E4(o)||Object.keys(e).forEach(t=>delete e[t]),w4(o)&&(e[t]=!0)):(!a||w4(o))&&delete e[t],r&&o.subRows.length&&T4(o)&&o.subRows.forEach(t=>D4(e,t.id,n,r,i,a))}function O4(e,t){if(!w4(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(!T4(r)){s=!1;break}c=r.parentId}return o.forEach(e=>t.set(e,s)),s}function k4(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 A4(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=M4(o,t);if(s&&(n.push(o),r[o.id]=o),o.subRows.length){let e=A4(o.subRows,t,n,r);if(s){let t=Object.create(Object.getPrototypeOf(o));lhe(t,o),t.subRows=e,i.push(t)}}else s&&i.push(o)}return i}function j4(e,t){let n=[],r=S2(),i=t.atoms.rowSelection?.get()??{};return{rows:A4(e.rows,i,n,r),flatRows:n,rowsById:r}}function M4(e,t){return!!(C2(t,e.id)&&t[e.id])}function N4(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(w4(o)&&(i=!0,M4(o,t)?n=!0:r=!1),o.subRows.length){let e=N4(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 c_e={initTableInstanceData:e=>{e._lastSelectedRowId=null},resetTableInstanceData:e=>{e._lastSelectedRowId=null},getInitialState:e=>({rowSelection:Xge(),...e}),getDefaultTableOptions:e=>({onRowSelectionChange:w2(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableRowRangeSelection:!0,enableSubRowSelection:!0,isRowRangeSelectionEvent:e=>{let t=e;return!!(t.shiftKey||t.nativeEvent?.shiftKey)}}),assignRowPrototype:(e,t)=>{M2(`rowSelectionFeature`,e,t,{row_toggleSelected:{fn:(e,t,n)=>x4(e,t,n)},row_getIsSelected:{fn:e=>S4(e)},row_getIsSomeSelected:{fn:e=>C4(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getIsAllSubRowsSelected:{fn:e=>a_e(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getCanSelect:{fn:e=>w4(e)},row_getCanSelectSubRows:{fn:e=>T4(e)},row_getCanMultiSelect:{fn:e=>E4(e)},row_getToggleSelectedHandler:{fn:(e,t)=>o_e(e,t)}})},constructTableAPIs:e=>{j2(`rowSelectionFeature`,e,{table_setRowSelection:{fn:t=>m4(e,t)},table_resetRowSelection:{fn:t=>Zge(e,t)},table_toggleAllRowsSelected:{fn:(t,n)=>h4(e,t,n)},table_toggleAllPageRowsSelected:{fn:(t,n)=>g4(e,t,n)},table_getPreSelectedRowModel:{fn:()=>Qge(e)},table_getSelectedRowModel:{fn:()=>$ge(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getCoreRowModel()]},table_getFilteredSelectedRowModel:{fn:()=>e_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel()]},table_getGroupedSelectedRowModel:{fn:()=>t_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getSortedRowModel()]},table_getSelectedRowIds:{fn:()=>_4(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsAllRowsSelected:{fn:()=>v4(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsAllPageRowsSelected:{fn:()=>y4(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsSomeRowsSelected:{fn:()=>b4(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsSomePageRowsSelected:{fn:()=>n_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection]},table_getToggleAllRowsSelectedHandler:{fn:()=>r_e(e)},table_getToggleAllPageRowsSelectedHandler:{fn:()=>i_e(e)}})}},l_e={getInitialState(e){return{sorting:oge(),...e}},getDefaultColumnDef(){return{sortFn:`auto`,sortUndefined:1}},getDefaultTableOptions(e){return{autoResetSorting:!1,onSortingChange:w2(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}},assignColumnPrototype(e,t){M2(`rowSortingFeature`,e,t,{column_getAutoSortFn:{fn:e=>n4(e)},column_getAutoSortDir:{fn:e=>r4(e)},column_getSortFn:{fn:e=>cge(e)},column_toggleSorting:{fn:(e,t,n)=>i4(e,t,n)},column_getFirstSortDir:{fn:e=>a4(e)},column_getNextSortingOrder:{fn:(e,t)=>o4(e,t)},column_getCanSort:{fn:e=>s4(e)},column_getCanMultiSort:{fn:e=>c4(e)},column_getIsSorted:{fn:e=>l4(e)},column_getSortIndex:{fn:e=>lge(e)},column_clearSorting:{fn:e=>uge(e)},column_getToggleSortingHandler:{fn:e=>dge(e)}})},constructTableAPIs(e){j2(`rowSortingFeature`,e,{table_setSorting:{fn:t=>e4(e,t)},table_resetSorting:{fn:t=>t4(e,t)}})}},u_e=typeof window>`u`?I.useEffect:I.useLayoutEffect;function d_e(e,t){let[{table:n,rootSource:r}]=(0,I.useState)(()=>{let t=Yge({...e,features:{coreReactivityFeature:che(),...e.features}});return t.Subscribe=(e=>ihe({...e,source:e.source??t.store})),t.FlexRender=Yme,{table:t,rootSource:she(t.store,_2)}}),i=n;p4(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=y2(r,t,{compare:_2});return u_e(()=>{r.markCommitted(o),f4(i,a??null,_2)}),(0,I.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var f_e=e=>t=>{let n=t.currentTarget;n.scrollWidth>Math.ceil(n.getBoundingClientRect().width)?n.title=e:n.removeAttribute(`title`)},P4=({text:e,className:t})=>(0,R.jsx)(`span`,{className:g(`truncate`,t),onMouseEnter:f_e(e),children:e}),F4=e=>(0,R.jsx)(`span`,{className:`text-faint-foreground`,children:e}),I4=(e,t)=>{if(t==null)return F4(`—`);let n=xb(e,t)??``;switch(e.kind){case`text`:return e.link?(0,R.jsx)(RC,{format:e.link,value:n,className:`block min-w-0 truncate`}):(0,R.jsx)(P4,{text:n});case`id`:return(0,R.jsx)(P4,{text:n,className:`font-mono text-xs text-muted-foreground`});case`money`:return(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`date`:return(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:n});case`datetime`:return(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,title:e.relative?gf(Number(t)):yb(`shownIn`,af(Number(t),Yd())),children:n});case`number`:return(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`signed`:return(0,R.jsx)(`span`,{className:g(`tabular-nums`,Number(t)<0?`text-danger-text`:`text-success-text`),children:n});case`percent`:return Number(t)===0?F4(`—`):(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`status`:return(0,R.jsx)(Fu,{tone:e.tones?.[String(t)]??`neutral`,color:Y0(e.colors,t),shape:e.shape,children:n});case`relation`:return(0,R.jsx)(P4,{text:n,className:`font-medium text-primary-text hover:underline`});case`boolean`:return t?(0,R.jsx)(`span`,{className:`inline-flex size-4 items-center justify-center rounded-full bg-success-soft text-success-text`,children:(0,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}):F4(yb(`no`));case`file`:{let e=sb(t);if(!e)return F4(`—`);if(`missing`in e)return(0,R.jsx)(P4,{text:e.name,className:`text-danger-text`});let n=hb(t,{width:20,height:20});return(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[n?(0,R.jsx)(_C,{image:n,className:`size-5 shrink-0 rounded-sm object-cover`}):(0,R.jsx)(io,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(P4,{text:e.name})]})}case`user`:{let e=by(String(t));return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-2 truncate`,children:[(0,R.jsx)(Eu,{initials:e.initials,hue:e.hue,size:`xs`,className:`ring-0`}),(0,R.jsx)(P4,{text:e.name,className:`text-muted-foreground`})]})}}},p_e=qge({rowSortingFeature:l_e,rowSelectionFeature:c_e}),L4=Kge(),m_e=e=>L4.columns(e.map(e=>L4.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):I4(e,t.getValue())}))),h_e=({total:e,selectedCount:t,bulkActions:n=[],className:r})=>(0,R.jsx)(`div`,{className:g(`flex h-9 shrink-0 items-center border-t bg-surface px-3 text-xs text-muted-foreground`,r),children:(0,R.jsxs)(`span`,{className:`flex items-center tabular-nums`,children:[Jd(e),t>0&&(0,R.jsx)(`span`,{className:`ml-3 font-medium text-primary-text`,children:yb(`selected`,Gd(t))}),t>0&&n.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:e.onRun,className:g(`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))]})}),g_e=(e,t)=>e.filter(e=>e.available?.(t)??!0),__e=({row:e,actions:t})=>{let{open:n,setOpen:r,place:i,button:a,menu:o}=_S();return(0,R.jsxs)(`div`,{className:`relative flex justify-center bg-inherit`,onClick:e=>e.stopPropagation(),children:[(0,R.jsx)(`button`,{ref:a,type:`button`,"aria-label":yb(`rowActions`),"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,R.jsx)(ea,{className:`size-4`})}),n&&(0,is.createPortal)((0,R.jsx)(`ul`,{ref:o,role:`menu`,onClick:e=>e.stopPropagation(),style:i??{visibility:`hidden`},className:`fixed z-50 min-w-36 rounded-md border bg-background py-1 shadow-pop`,children:t.map(t=>(0,R.jsx)(`li`,{role:`none`,children:t.link?(0,R.jsx)(yu,{role:`menuitem`,to:t.link(e),onClick:()=>r(!1),className:g(`block w-full px-3 py-1.5 text-left hover:bg-muted`,t.destructive&&`text-danger-text`),children:t.label}):(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,className:g(`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)]})},v_e=e=>52+Math.ceil(String(e).length*1.33)*7,R4=.6,z4=(e,t)=>Math.max(e.minWidth??0,e.width*t),y_e=(e,t)=>e.fixed?`${Math.max(e.minWidth??0,e.width)}px`:`minmax(${z4(e,t)}px, ${e.width}fr)`,B4=(e,t,n=0,r=R4)=>`${t}px ${e.map(e=>y_e(e,r)).join(` `)}${n>0?` ${n}px`:``}`,b_e=(e,t,n=0,r=R4)=>t+n+e.reduce((e,t)=>e+(t.fixed?Math.max(t.minWidth??0,t.width):z4(t,r)),0),x_e=()=>{let e=(0,I.useRef)(null),t=(0,I.useRef)(null),[n,r]=(0,I.useState)({scrolled:!1,more:!1}),i=(0,I.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,I.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}},S_e=`protobase:pinned:`,C_e=(e,t)=>`${S_e}${e}:${t}`,w_e=(e,t)=>u(()=>{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),T_e=(e,t,n)=>u(()=>e.setItem(t,JSON.stringify(n)),void 0),E_e=(e,t=[])=>{let[n,r]=(0,I.useState)(()=>e?w_e(localStorage,e):void 0),i=(0,I.useCallback)(t=>{r(t),e&&T_e(localStorage,e,t)},[e]);return[n??t,i]},D_e=e=>{let t=e.findIndex(e=>e.title);return t<0||t>1?[]:e.slice(0,t+1).map(e=>e.id)},O_e=e=>Object.fromEntries(e.map(({id:e,width:t,minWidth:n,fixed:r})=>[e,{width:t,minWidth:n,fixed:r}])),k_e=(e,t)=>{let n=e.map(e=>e.id).sort().join(` `),[r,i]=(0,I.useState)(),a=r?.key===n?r:void 0;!a&&t.length>0&&i({key:n,sizes:O_e(Rb(e,t))});let o=a?.sizes;return(0,I.useMemo)(()=>o?e.map(e=>({...e,...o[e.id]})):e,[e,o])},V4=e=>e===`money`||e===`number`||e===`signed`||e===`percent`,H4=()=>yb(`unsortable`),A_e=({header:e,pinned:t,sortable:n,onTogglePin:r})=>{let[i,a]=(0,I.useState)(!1),o=(0,I.useRef)(null);return(0,I.useEffect)(()=>{if(!i)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!o.current?.contains(e.target))&&a(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[i]),(0,R.jsxs)(`div`,{ref:o,className:`relative ml-auto shrink-0`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":yb(`columnMenu`,e),"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(!i),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,R.jsx)(ea,{className:`size-3.5`})}),i&&(0,R.jsxs)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-body font-normal text-foreground shadow-pop`,children:[!n&&(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsx)(`span`,{role:`menuitem`,"aria-disabled":`true`,className:`block min-h-9 whitespace-nowrap px-3 py-1.5 text-muted-foreground`,children:H4()})}),(0,R.jsx)(`li`,{role:`none`,children:(0,R.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:()=>{a(!1),r()},children:yb(t?`unpin`:`pinToLeft`)})})]})]})},j_e=({sorted:e})=>e===`asc`?(0,R.jsx)(Yr,{className:`size-3 text-foreground`}):e===`desc`?(0,R.jsx)(Ur,{className:`size-3 text-foreground`}):(0,R.jsx)(Oi,{className:`size-3 opacity-0 group-hover/head:opacity-100`}),U4=({spec:e})=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`truncate`,children:e.header}),e.highlight&&(0,R.jsx)(`span`,{className:`rounded bg-primary px-1 text-[10px] font-semibold uppercase leading-4 text-primary-foreground`,children:yb(`new`)})]}),M_e=({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,R.jsxs)(`div`,{className:`grid h-8 shrink-0 items-center border-b bg-surface text-body font-medium text-muted-foreground`,style:{gridTemplateColumns:B4(t,n,a,o)},role:`row`,children:[(0,R.jsxs)(`div`,{className:g(`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,R.jsx)(Zh,{checked:!1,indeterminate:r>0,label:yb(r>0?`clearSelection`:`noRowsSelected`),disabled:r===0,onChange:d,className:g(r===0&&`opacity-60`)}),n>40&&(0,R.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,R.jsxs)(`div`,{"data-col-id":e.id,style:r?{left:s[e.id]}:void 0,className:g(`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:[e.sortable?(0,R.jsxs)(`button`,{type:`button`,onClick:n,className:g(`group/head flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,V4(e.kind)&&`justify-end`,`hover:text-foreground`,t&&`text-foreground`),children:[(0,R.jsx)(U4,{spec:e}),(0,R.jsx)(j_e,{sorted:t})]}):(0,R.jsx)(`div`,{title:H4(),className:g(`flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,V4(e.kind)&&`justify-end`),children:(0,R.jsx)(U4,{spec:e})}),(0,R.jsx)(`div`,{className:`pr-1.5`,children:(0,R.jsx)(A_e,{header:e.header,pinned:r,sortable:!!e.sortable,onTogglePin:()=>u(e.id)})})]},e.id)}),a?(0,R.jsx)(`div`,{className:`sticky right-0 z-10 h-full bg-inherit`}):null]}),W4=e=>({gridTemplateColumns:B4(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,transform:`translateY(${e.offset}px)`}),G4=(e,t)=>g(`flex h-full min-w-0 items-center overflow-hidden whitespace-nowrap px-3`,V4(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)]`),K4=(e,t)=>t&&e.id in t?{left:t[e.id]}:void 0,q4=({width:e,index:t,selectable:n,selected:r,onToggle:i,edge:a})=>(0,R.jsxs)(`div`,{onClick:n?e=>{e.stopPropagation(),i?.()}:void 0,className:g(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,n&&`cursor-default`,a&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:e},children:[n&&(0,R.jsx)(Zh,{checked:!!r,label:yb(`selectRow`,t+1)}),e>40&&(0,R.jsx)(`span`,{className:`min-w-6 text-right text-[11px] tabular-nums text-faint-foreground`,children:Gd(t+1)})]}),N_e=(e,t,n)=>({gridTemplateColumns:B4(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,top:e.offset,transform:t===0?void 0:`translateY(${t}px)`,transition:n}),P_e=e=>t=>{t.target.closest(`a`)||e()},J4=({cells:e,selected:t,onToggle:n,onOpen:r,menu:i,handle:a,rowRef:o,dragY:s,transition:c,dragging:l,...u})=>(0,R.jsxs)(`div`,{ref:o,role:`row`,onClick:r&&P_e(r),className:g(`absolute inset-x-0 top-0 grid items-center border-b`,t?`bg-primary-soft`:`bg-background hover:bg-surface`,r&&`cursor-pointer`,l&&`z-30 bg-surface shadow-pop`),style:s===void 0?W4(u):N_e(u,s,c),children:[a?(0,R.jsx)(`div`,{className:g(`sticky left-0 z-10 flex h-full items-center bg-inherit pl-1.5`,u.scrolled&&!u.lastPinned&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:u.gutter},children:a}):(0,R.jsx)(q4,{width:u.gutter,index:u.index,selectable:u.selectable,selected:t,onToggle:n,edge:u.scrolled&&!u.lastPinned}),e.map(({spec:e,content:t,props:n,chosen:r,editing:i,editable:a})=>(0,R.jsx)(`div`,{role:n?`gridcell`:`cell`,...n,className:g(G4(e,u),n&&`scroll-mb-[calc(var(--pb-sticky-bottom,0px)+3rem)] scroll-mt-[calc(var(--pb-sticky-top,0px)+2rem)] outline-none`,a&&!i&&`cursor-default`,r&&`shadow-[inset_0_0_0_2px_var(--primary)]`,i&&`z-30 overflow-visible bg-background px-1`),style:K4(e,u.pins),children:t},e.id)),i&&(0,R.jsx)(`div`,{className:`sticky right-0 z-10 flex h-full items-center justify-center bg-inherit`,children:i})]}),Y4=[`w-3/4`,`w-1/2`,`w-2/3`,`w-5/6`,`w-2/5`],F_e=e=>(0,R.jsxs)(`div`,{role:`row`,"aria-busy":!0,className:`absolute inset-x-0 top-0 grid items-center border-b bg-background`,style:W4(e),children:[(0,R.jsx)(q4,{width:e.gutter,index:e.index,selectable:!1,edge:e.scrolled&&!e.lastPinned}),e.specs.map((t,n)=>(0,R.jsx)(`div`,{className:G4(t,e),style:K4(t,e.pins),children:(0,R.jsx)(_u,{className:g(`h-2.5`,Y4[(e.index+n)%Y4.length],V4(t.kind)&&`ml-auto`)})},t.id))]}),I_e=(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)},keepOnly:e=>{for(let t of[...n.keys()])e.includes(t)||n.delete(t)},get size(){return n.size}}},X4=(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)},Z4=(e,t)=>Math.max(0,Math.min(40,e-t*40)),Q4=({total:e,rowAt:t,loadRows:n,revision:r,latencyMs:i},a,o)=>{let s=(0,I.useMemo)(()=>I_e(40,60),[t,n]),[c,l]=(0,I.useState)(0),u=Math.floor(a/40),d=Math.floor(o/40),f=!n&&i===0;(0,I.useEffect)(()=>{if(f)return;let r=X4(u*40,d*40,40).filter(e=>!s.hasPage(e)),a=t=>Z4(e,t),o=(e,t)=>{s.setPage(e,t),l(e=>e+1)};if(n){let e=!1;for(let t of r)n(t*40,a(t)).then(n=>{e||o(t,n)});return()=>{e=!0}}let c=r.map(e=>setTimeout(()=>o(e,Array.from({length:a(e)},(n,r)=>t(e*40+r))),i));return()=>c.forEach(clearTimeout)},[s,u,d,i,e,t,n,f]);let p=(0,I.useRef)(r);return(0,I.useEffect)(()=>{if(!n||r===p.current)return;p.current=r;let t=X4(u*40,d*40,40);s.keepOnly(t);for(let r of t.filter(e=>s.hasPage(e)))n(r*40,Z4(e,r)).then(e=>{s.setPage(r,e),l(e=>e+1)})},[s,r,n,u,d,e]),(0,I.useCallback)(e=>f?t(e):s.get(e),[s,f,t,c])},L_e=1e7,$4=(e,t,n)=>{let r=e*t,i=Math.min(r,L_e);return{rowHeight:t,trueHeight:r,contentHeight:i,scaled:r>i,maxTop:Math.max(0,r-n),maxScroll:Math.max(0,i-n)}},R_e=(e,t)=>!e.scaled||t<=0?t:t>=e.maxScroll?e.maxTop+t-e.maxScroll:t/e.maxScroll*e.maxTop,e3=(e,t)=>!e.scaled||t<=0?t:t>=e.maxTop?e.maxScroll+t-e.maxTop:t/e.maxTop*e.maxScroll,z_e=(e,t,n,r)=>{let i=t*e.rowHeight;return e.scaled?i-n+r:i},t3=(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)}},B_e=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},n3=e=>e===(document.scrollingElement??document.documentElement),V_e=e=>n3(e)?window:e,r3=e=>Number.parseFloat(e)||0,H_e=e=>{let t=getComputedStyle(e),n=n3(e)?{top:0,height:e.clientHeight}:{top:e.getBoundingClientRect().top+e.clientTop,height:e.clientHeight},r=r3(t.scrollPaddingTop);return{top:n.top+r,height:Math.max(0,n.height-r-r3(t.scrollPaddingBottom))}},i3=6,a3=(e,t,n)=>{let r=$4(t,n,e.height),i=R_e(r,e.position);return{geometry:r,top:i,topIndex:Math.floor(Math.max(0,i)/n),...t3(t,i,n,e.height,i3)}},o3=({total:e,rowHeight:t,initialIndex:n,inset:r=0,settle:i,ready:a=!0})=>{let o=(0,I.useRef)(null),s=(0,I.useRef)(null),[c,l]=(0,I.useState)({position:0,height:0}),u=(0,I.useRef)({total:e,rowHeight:t,initialIndex:n,inset:r,ready:a});u.current={total:e,rowHeight:t,initialIndex:n,inset:r,ready:a};let d=(0,I.useCallback)(()=>{let e=o.current;if(!e||!s.current)return;let t=H_e(s.current),n=u.current.inset;return{position:t.top+n-e.getBoundingClientRect().top,height:Math.max(0,t.height-n)}},[]),f=(0,I.useRef)(c);f.current=c;let p=(0,I.useCallback)(()=>{let e=d();if(!e)return;let t=f.current,{total:n,rowHeight:r}=u.current,i=a3(t,n,r),a=a3(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)&&(f.current=e,l(e))},[d]),m=(0,I.useRef)({pending:!0,laidOut:!1}),h=(0,I.useCallback)(()=>{if(!m.current.pending||!m.current.laidOut||!u.current.ready)return;let e=d(),t=s.current;if(!e||!t)return;m.current.pending=!1;let{total:n,rowHeight:r,initialIndex:i}=u.current;i>0?t.scrollTop+=e3($4(n,r,e.height),i*r)-e.position:e.position>0&&(t.scrollTop=0)},[d]);(0,I.useLayoutEffect)(()=>{let e=o.current;if(!e)return;let t=B_e(e);s.current=t;let n=V_e(t);n.addEventListener(`scroll`,p,{passive:!0}),window.addEventListener(`resize`,p,{passive:!0});let r=new ResizeObserver(()=>{m.current.laidOut=!0,h(),p()});return r.observe(t),r.observe(e),p(),()=>{n.removeEventListener(`scroll`,p),window.removeEventListener(`resize`,p),r.disconnect(),s.current=null}},[p,h]),(0,I.useLayoutEffect)(()=>{h(),p()});let g=(0,I.useCallback)(e=>{let t=d();if(!t||!s.current)return;let n=$4(u.current.total,u.current.rowHeight,t.height);s.current.scrollTop+=e3(n,e)-t.position,p()},[d,p]),_=a3(c,e,t),v=i?i(_.top):_.top,{first:y,last:b}=i?t3(e,v,t,c.height,i3):_,x=Array.from({length:b-y+1},(e,t)=>({index:y+t,offset:z_e(_.geometry,y+t,v,c.position)}));return{ref:o,height:c.height,top:v,geometry:_.geometry,rows:x,first:y,last:b,scrollTo:g}},U_e=e=>e===`ArrowUp`||e===`ArrowDown`||e===`ArrowLeft`||e===`ArrowRight`,W_e=(e,t,n,r)=>{let i=n.indexOf(e.column);if(t===`ArrowUp`)return e.index>0?{...e,index:e.index-1}:void 0;if(t===`ArrowDown`)return e.index<r-1?{...e,index:e.index+1}:void 0;let a=n[t===`ArrowLeft`?i-1:i+1];return i>=0&&a!==void 0?{...e,column:a}:void 0},G_e=(e,t,n,r)=>{let i=t.indexOf(e);return(r===1?t.slice(i+1):t.slice(0,Math.max(0,i)).reverse()).find(n)},s3=e=>`${e.index}:${e.column}`,K_e=({editor:e,columns:t,total:n,rowAt:r,onOpenRow:i,container:a})=>{let[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(!1),d=(0,I.useRef)(!1);if((0,I.useEffect)(()=>{if(!o||c||!u.current)return;u.current=!1;let e=a.current?.querySelector(`[data-cell="${s3(o)}"]`);e&&(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`}))},[o,c,a]),!e)return;let f=t=>{let n=r(t.index);return n!==void 0&&e.editable(n,t.column)},p=(e,t=!1)=>{u.current=!0,s(e),l(t&&f(e))},m=n=>{if(!o)return;let i=r(o.index),s=n&&i?G_e(o.column,t,t=>e.editable(i,t),n):void 0,c=!!a.current?.contains(document.activeElement);p(s?{...o,column:s}:o,s!==void 0),u.current=c};return{cell:(n,r,i,a)=>{let l={index:n,column:i},u=o?.index===n&&o.column===i,f=e.editable(r,i),h=u||!o&&n===0&&i===t[0];return{content:u&&c?e.render(r,i,m):a,chosen:u,editing:u&&c,editable:f,props:{"data-cell":s3(l),tabIndex:h?0:-1,"aria-selected":u,onMouseDown:()=>{d.current=u},onFocus:e=>{e.target===e.currentTarget&&!u&&s(l)},onClick:e=>{f&&(e.stopPropagation(),d.current&&!c&&p(l,!0))},onDoubleClick:e=>{f&&(e.stopPropagation(),u&&c||p(l,!0))}}}},onKeyDown:e=>{if(c||!o||!(e.target instanceof HTMLElement)||e.target.dataset.cell!==s3(o))return;let a=e.key===`Tab`?e.shiftKey?`ArrowLeft`:`ArrowRight`:e.key;if(U_e(a)){let i=W_e(o,a,t,n);if(!i&&e.key===`Tab`)return;e.preventDefault(),i&&r(i.index)&&p(i);return}if(e.key===`Enter`||e.key===`F2`){e.preventDefault();let t=r(o.index);f(o)?p(o,!0):e.key===`Enter`&&t&&i?.(t);return}e.key===`Escape`&&s(void 0)}}},q_e=({ids:e,rowAt:t,reorder:n,children:r})=>{let i=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{coordinateGetter:py})),a=t=>e.indexOf(String(t)),o=e=>{let r=t(a(e));return r?n.label(r):yb(`row`)};return(0,R.jsx)(Cv,{sensors:i,collisionDetection:C_,onDragEnd:({active:e,over:t})=>{t&&e.id!==t.id&&n.onMove(a(e.id),a(t.id))},accessibility:{announcements:{onDragStart:({active:t})=>yb(`pickedUp`,o(t.id),a(t.id)+1,e.length),onDragOver:({active:t,over:n})=>n?yb(`isOver`,o(t.id),a(n.id)+1,e.length):void 0,onDragEnd:({active:t,over:n})=>n?yb(`droppedAt`,o(t.id),a(n.id)+1,e.length):yb(`putBack`,o(t.id)),onDragCancel:({active:e})=>yb(`cancelled`,o(e.id),a(e.id)+1)},screenReaderInstructions:{draggable:yb(`reorderInstructions`)}},children:(0,R.jsx)(ty,{items:e,strategy:Zv,children:r})})},J_e=({row:e,label:t,...n})=>{let{attributes:r,listeners:i,setNodeRef:a,setActivatorNodeRef:o,transform:s,transition:c,isDragging:l}=ly({id:e.id}),u=(0,R.jsx)(`button`,{ref:o,type:`button`,"aria-label":yb(`move`,t),...r,...i,onClick:e=>e.stopPropagation(),style:{touchAction:`none`},className:`flex size-7 cursor-grab items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground focus-visible:text-foreground active:cursor-grabbing pointer-coarse:size-9`,children:(0,R.jsx)(ma,{className:`size-4`})});return(0,R.jsx)(J4,{...n,rowRef:a,handle:u,dragY:s?.y??0,transition:c,dragging:l})},c3=32,l3=({columns:e,source:t,naturalSort:n,initialScrollIndex:r=0,onScrollIndex:i,latencyMs:a=150,sort:o,onSortChange:s,onOpenRow:c,rowLink:l,rowActions:u,cellEditor:d,rowPatches:f,bulkActions:p,pinKey:m,defaultPinned:h,rowNumbers:_=!0,compact:v=!1,selectable:y=!0,reorder:b,fit:x=!1,scroll:S=`own`,className:C})=>{let w=y&&!b,T=v?28:36,E=!lu(),D=(h??(E?[]:D_e(e))).join(` `),[O,k]=E_e(m,(0,I.useMemo)(()=>D?D.split(` `):[],[D])),A=(0,I.useMemo)(()=>[...O.flatMap(t=>e.find(e=>e.id===t)??[]),...e.filter(e=>!O.includes(e.id))],[e,O]),j=A.slice(0,A.filter(e=>O.includes(e.id)).length).map(e=>e.id),{total:M}=t,[N,ee]=(0,I.useState)(n?[{id:n.columnId,desc:n.direction===`desc`}]:[]),te=o?[{id:o.columnId,desc:o.direction===`desc`}]:N,ne=e=>{let t=typeof e==`function`?e(te):e,n=t[0];s&&n&&s({columnId:n.id,direction:n.desc?`desc`:`asc`}),o||ee(t)},[re,ie]=(0,I.useState)({}),ae=(0,I.useMemo)(()=>m_e(A),[A]),oe=te[0],se=!!(!o&&n&&oe&&oe.id===n.columnId&&(oe.desc?`desc`:`asc`)!==n.direction),ce=t.rowAt,le=(0,I.useCallback)(e=>ce(se?M-1-e:e),[ce,se,M]),[ue]=(0,I.useState)(r),{ref:de,top:P,geometry:fe,rows:pe,first:me,last:he}=o3({total:M,rowHeight:T,initialIndex:ue,inset:c3}),F=E||!_?40:v_e(M),ge=Math.floor(Math.max(0,P)/T);(0,I.useEffect)(()=>i?.(ge),[ge,i]);let _e=Q4({total:M,rowAt:ce?le:void 0,loadRows:t.loadRows,revision:t.revision,latencyMs:a},me,he),ve=(0,I.useCallback)(e=>{let t=_e(e),n=t&&f?.get(t.id);return n?{...t,...n}:t},[_e,f]),ye=pe.map(({index:e,offset:t})=>({index:e,offset:t,row:ve(e)})),be=(0,I.useMemo)(()=>ye.flatMap(({row:e})=>e?[e]:[]),[ve,me,he]),xe=k_e(A,be),Se=d_e({features:p_e,columns:ae,data:be,state:{sorting:te,rowSelection:re},onSortingChange:ne,onRowSelectionChange:ie,manualSorting:!0,enableMultiSort:!1,enableSortingRemoval:!1,getRowId:e=>e.id}),Ce=new Map(Se.getRowModel().rows.map(e=>[e.id,e])),we=Object.keys(re).length,Te=(0,I.useRef)(new Map);for(let e of Se.getRowModel().rows)e.getIsSelected()&&Te.current.set(e.id,e.original);let Ee=u&&u.length>0?40:0,De=E?1:R4,Oe=x_e(),ke=(0,I.useRef)(null),Ae=()=>{Oe.onScroll(),ke.current&&Oe.ref.current&&(ke.current.scrollLeft=Oe.ref.current.scrollLeft)},[je,Me]=(0,I.useState)({});(0,I.useLayoutEffect)(()=>{let e=ke.current?.querySelector(`[role=row]`);if(!e)return;let t=F,n={};for(let r of j)n[r]=t,t+=e.querySelector(`[data-col-id="${r}"]`)?.offsetWidth??0;JSON.stringify(je)!==JSON.stringify(n)&&Me(n)});let Ne=j.at(-1),Pe=e=>k(O.includes(e)?O.filter(t=>t!==e):[...O,e]),Fe=Se.getHeaderGroups().flatMap(e=>e.headers.map(e=>({spec:A.find(t=>t.id===e.column.id),sorted:e.column.getIsSorted(),onSort:t=>e.column.getToggleSortingHandler()?.(t)}))),Ie=(0,I.useRef)(null),Le=K_e({editor:d,columns:(0,I.useMemo)(()=>A.map(e=>e.id),[A]),total:M,rowAt:ve,onOpenRow:c,container:Ie}),Re=(A.find(e=>e.title)??A[0])?.id,ze=b_e(xe,F,Ee,De),Be=S===`own`,Ve=(0,R.jsx)(`div`,{ref:ke,className:g(`sticky z-20 shrink-0 overflow-hidden`,Be?`top-0`:`top-[var(--pb-sticky-top,0px)]`),children:(0,R.jsx)(`div`,{style:{minWidth:ze},children:(0,R.jsx)(M_e,{cells:Fe,specs:xe,gutter:F,trailing:Ee,minScale:De,pins:je,lastPinned:Ne,scrolled:Oe.scrolled,onTogglePin:Pe,selectable:w,selectedCount:we,onClearSelection:()=>ie({})})})}),He=ye.map(({index:e,offset:t,row:n})=>{let r={specs:xe,gutter:F,index:e,offset:t,height:T,selectable:w,trailing:Ee,minScale:De,scrolled:Oe.scrolled,pins:je,lastPinned:Ne},i=n?Ce.get(n.id):void 0;if(!i||!n)return(0,R.jsx)(F_e,{...r},`skeleton-${e}`);let a=Ee?g_e(u,n):[],o={...r,selected:i.getIsSelected(),onToggle:()=>i.toggleSelected(),onOpen:c?()=>c(n):void 0,menu:a.length>0?(0,R.jsx)(__e,{row:n,actions:a}):void 0,cells:i.getAllCells().map(t=>{let r=(0,R.jsx)(Se.FlexRender,{cell:t}),i=!!d?.editable(n,t.column.id),a=l&&t.column.id===Re&&!i?(0,R.jsx)(yu,{to:l(n),className:`flex min-w-0 items-center hover:underline`,children:r}):r;return{spec:A.find(e=>e.id===t.column.id),...Le?Le.cell(e,n,t.column.id,a):{content:a}}})};return b?(0,R.jsx)(J_e,{...o,row:n,label:b.label(n)},n.id):(0,R.jsx)(J4,{...o},n.id)}),Ue=(0,R.jsx)(`div`,{ref:Oe.attach,onScroll:Ae,className:`overflow-x-auto overflow-y-hidden overscroll-x-contain [-webkit-overflow-scrolling:touch]`,children:(0,R.jsx)(`div`,{ref:de,className:`relative`,style:{minWidth:ze,height:fe.contentHeight},children:b?(0,R.jsx)(q_e,{ids:Array.from({length:M},(e,t)=>ve(t)?.id??`missing-${t}`),rowAt:ve,reorder:b,children:He}):He})});return(0,R.jsxs)(`div`,{ref:Ie,role:`grid`,"aria-rowcount":M,onKeyDown:Le?.onKeyDown,className:g(`flex flex-col rounded-lg border bg-background`,Be?`min-h-0 overflow-hidden`:`overflow-clip`,C),style:x&&Be?{height:c3+M*T+2}:void 0,children:[(0,R.jsxs)(`div`,{className:g(`relative`,Be&&`flex min-h-0 flex-1 flex-col`),children:[Be?(0,R.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,children:[Ve,Ue]}):(0,R.jsxs)(R.Fragment,{children:[Ve,Ue]}),Oe.more&&(0,R.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`})]}),!x&&(0,R.jsx)(h_e,{total:M,className:Be?void 0:`sticky bottom-[var(--pb-sticky-bottom,0px)] z-20`,selectedCount:we,bulkActions:p?.map(e=>({label:e.label(we),destructive:e.destructive,onRun:()=>{e.onRun(Object.keys(re).flatMap(e=>Te.current.get(e)??[])),ie({}),Te.current.clear()}}))})]})},Y_e=500,u3=async(e,t,n)=>{let r=[],i={},a;do{let o=await e.search(t,{...n,pageSize:Y_e,...a&&{pageToken:a}});r.push(...o.items);for(let[e,t]of Object.entries(o.labels??{}))i[e]={...i[e],...t};a=o.nextPageToken||void 0}while(a);return{items:r,labels:i}},d3=rr(),f3=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},p3=e=>e==null?void 0:String(e),X_e=(e,t,n)=>{let r=new Map;for(let[t,n]of e)r.set(n,(r.get(n)??new Set).add(t));let i=new Map;for(let e of t){let t=e[n],a=p3(typeof t==`object`&&t&&`id`in t?t.id:t);for(let t of a===void 0?[]:r.get(a)??[])i.set(t,[...i.get(t)??[],e])}return i},Z_e=async(e,t,n,r)=>{let i=n.through;if(!i)return r.map(e=>[e,e]);let a=t[i.resource],o=i.key??a?.primaryKey[0];if(!a||o===void 0)throw Error(`The related column ${n.name} names a join resource the app does not have: ${i.resource}`);return(await u3(e,a.name,{filter:f3(Hn(d3.in(i.field,r)),i.filter),fields:[i.field,o]})).items.flatMap(e=>{let t=p3(e[i.field]),n=p3(e[o]);return t===void 0||n===void 0?[]:[[t,n]]})},Q_e=async({client:e,resources:t,views:n,load:r,owners:i})=>{let{column:a,fields:o}=r,s=t[a.resource];if(!s)throw Error(`The related column ${a.name} shows a resource the app does not have: ${a.resource}`);if(i.length===0)return new Map;let c=await Z_e(e,t,a,i),l=[...new Set(c.map(([,e])=>e))];if(l.length===0)return new Map;let u=[...new Set([...s.primaryKey,a.field,a.status,...o])],d=q0(t,n,s,u),f=await u3(e,s.name,{filter:f3(Hn(d3.in(a.field,l)),a.filter),...a.sort&&{orderBy:a.sort},fields:u,labels:d});return X_e(c,J0(t,s,u,f.items,f.labels),a.field)},$_e=5e3,eve=({queryClient:e,client:t,resources:n,views:r,model:i,columns:a,filter:o,orderBy:s,related:c=[]})=>{let l=c.map(e=>e.column.name).join(`,`),u=e=>c.length===0?H.page(i.name,o,s,40,e):[...H.page(i.name,o,s,40,e),l],d=q0(n,r,i,a),f=mx(r[i.name]),p=async e=>e.nextPageToken===``?e.items.length:e.totalSizeEstimate>$_e?e.totalSizeEstimate:(await t.list(i.name,{filter:o,orderBy:s,pageSize:1,count:`exact`})).totalSize??e.totalSizeEstimate,m=async t=>{if(t===0)return``;let n=u(t-1),r=e.getQueryData(n);if(r)return r.nextPageToken;if(e.getQueryState(n)?.fetchStatus===`fetching`)return(await g(t-1)).nextPageToken},h=async e=>{let l=await m(e);if(e>0&&l===``)return{rows:[],total:0,nextPageToken:``};let u={filter:o,orderBy:s,pageSize:40,labels:d,photos:f},h=l===void 0?await t.seek(i.name,{...u,position:e*40}):await t.list(i.name,{...u,pageToken:l});if(h.items.length===0&&e>0)return{rows:[],total:0,nextPageToken:``};let g=h.items.map(e=>Yb(i,e)),_=J0(n,i,a,hx(i,h.items,h.photos),h.labels),v=await Promise.all(c.map(e=>Q_e({client:t,resources:n,views:r,load:e,owners:g})));return{rows:_.map((e,t)=>({...e,...Object.fromEntries(c.map((e,n)=>[e.column.name,v[n].get(g[t])??[]])),id:g[t]})),total:e===0?await p(h):h.totalSizeEstimate,nextPageToken:h.nextPageToken}},g=t=>e.fetchQuery({queryKey:u(t),staleTime:6e4,queryFn:()=>h(t)});return{page:g,loadRows:async e=>(await g(Math.floor(e/40))).rows}},m3=({resources:e,views:t,model:n,columns:r,filter:i,orderBy:a,related:o})=>{let s=U(),c=Qp(),l=r.join(`,`),u=JSON.stringify(o??[]),d=(0,I.useMemo)(()=>eve({queryClient:c,client:s,resources:e,views:t,model:n,columns:r,filter:i,orderBy:a,...o&&{related:o}}),[c,s,e,t,n,l,i,a,u]),f=Eh({queryKey:[...H.first(n.name,i,a),l],queryFn:async()=>(await c.invalidateQueries({queryKey:H.pages(n.name,i,a),refetchType:`none`}),d.page(0))});return{source:(0,I.useMemo)(()=>f.data?{total:f.data.total,loadRows:d.loadRows,revision:f.dataUpdatedAt}:void 0,[f.data,f.dataUpdatedAt,d]),error:f.error,isLoading:f.isLoading,page:d.page,key:[...H.first(n.name,i,a),l]}},tve=`protobase:embedded-display:`,nve=e=>`${tve}${e}`,rve=(e,t)=>u(()=>e.getItem(t)??void 0,void 0),ive=(e,t,n)=>u(()=>e.setItem(t,n),void 0),h3=(e,t,{picked:n,preferred:r})=>{let i=jx(e).map(e=>e.name);return n!==void 0&&i.includes(n)?n:Cx(e,t,r!==void 0&&i.includes(r)?r:void 0)},g3=(e,t,n,{resource:r=e.name,...i})=>Yx({kind:`list`,resource:r},i,{...qx(e,t,n),display:Cx(t,n)}),Q=a({en:{saveSearch:`Save search`,saveAsNew:e=>`Save as new ${e}`,updateName:e=>`Update ${e}`,updateNameQuestion:e=>`Update ${e}?`,updateNounQuestion:e=>`Update this ${e}?`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`,somethingWrong:`Something went wrong`,couldNotRename:`Could not rename the search`,renameTitle:e=>`Rename ${e}`,deleteTitle:e=>`Delete ${e}`,unreadableFilter:`A filter that cannot be read`,notFound:`Not found`,noResource:`There is no resource called {}.`,noSavedYet:e=>`No ${e} yet. Filter the {} and save the search.`,on:`On`,off:`Off`,saved:e=>`${e} saved`,couldNotChange:`Could not change the search`,asMany:e=>`As many ${e}`,more:(e,t)=>`${e} more ${t}`,fewer:(e,t)=>`${e} fewer ${t}`,cancel:`Cancel`,save:`Save`,optional:`Optional`,added:`Added`,removed:`Removed`,changed:`Changed`,filterChanges:`Filter changes`,firstOf:(e,t)=>`The first ${e} of ${t}.`,noPlural:e=>`No ${e}.`,update:`Update`,addedRemoved:(e,t)=>`${e} added, ${t} removed`,searchSaved:`Search saved`,openPlural:e=>`Open ${e.toLowerCase()}`,couldNotSave:`Could not save the search`,couldNotTakeOff:`Could not take the search off`,searchUpdated:`Search updated`,couldNotUpdate:`Could not update the search`,noneMatch:e=>`No ${e} match.`,noNew:e=>`No new ${e} since you last looked.`,viewAll:`View all results`,filters:`Filters`},nl:{saveSearch:`Zoekopdracht bewaren`,saveAsNew:e=>`Als extra ${e} bewaren`,updateName:e=>`${e} bijwerken`,updateNameQuestion:e=>`${e} bijwerken?`,updateNounQuestion:e=>`${e} bijwerken?`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`,somethingWrong:`Er ging iets mis`,couldNotRename:`Kon de zoekopdracht niet hernoemen`,renameTitle:e=>`${e} hernoemen`,deleteTitle:e=>`${e} verwijderen`,unreadableFilter:`Een filter dat niet kan worden gelezen`,notFound:`Niet gevonden`,noResource:`Er is geen onderdeel met de naam {}.`,noSavedYet:e=>`Nog geen ${e}. Filter de {} en bewaar de zoekopdracht.`,on:`Aan`,off:`Uit`,saved:e=>`${e} bewaard`,couldNotChange:`Kon de zoekopdracht niet wijzigen`,asMany:e=>`Evenveel ${e}`,more:(e,t)=>`${e} ${t} meer`,fewer:(e,t)=>`${e} ${t} minder`,cancel:`Annuleren`,save:`Bewaren`,optional:`Optioneel`,added:`Erbij`,removed:`Eraf`,changed:`Gewijzigd`,filterChanges:`Wijzigingen in het filter`,firstOf:(e,t)=>`De eerste ${e} van ${t}.`,noPlural:e=>`Geen ${e}.`,update:`Bijwerken`,addedRemoved:(e,t)=>`${e} erbij, ${t} eraf`,searchSaved:`Zoekopdracht bewaard`,openPlural:e=>`${e} openen`,couldNotSave:`Kon de zoekopdracht niet bewaren`,couldNotTakeOff:`Kon de zoekopdracht niet weghalen`,searchUpdated:`Zoekopdracht bijgewerkt`,couldNotUpdate:`Kon de zoekopdracht niet bijwerken`,noneMatch:e=>`Geen ${e} gevonden.`,noNew:e=>`Geen nieuwe ${e} sinds je laatst keek.`,viewAll:`Alle resultaten bekijken`,filters:`Filters`}}),_3=`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`,v3=({chips:e,className:t})=>(0,R.jsx)(`ul`,{className:g(`flex flex-wrap gap-1.5`,t),"aria-label":Q(`filters`),children:e.map(e=>(0,R.jsx)(`li`,{className:_3,children:e.label},e.key))}),y3=({chips:e})=>(0,R.jsx)(`span`,{className:`flex flex-wrap gap-1.5`,children:e.map((e,t)=>(0,R.jsxs)(`span`,{className:_3,children:[t>0&&(0,R.jsx)(`span`,{className:`sr-only`,children:`, `}),e.label]},e.key))}),ave=e=>e.map(e=>e.label).join(`, `),b3=a({en:{today:`Today`,yesterday:`Yesterday`,"24h":`Last 24 hours`,"7d":`Last 7 days`,"30d":`Last 30 days`,"90d":`Last 90 days`,month:`This month`,quarter:`This quarter`,year:`This year`,unknownPreset:e=>`The server offers the preset "${e}", which this UI does not know`,unsupported:e=>`${e} (unsupported)`,remove:e=>`Remove ${e}`,clearAll:`Clear all`,searchIn:e=>`Search ${e.toLowerCase()}`,noMatches:`No matches`,moreFilters:`More filters`,filters:`Filters`,date:`Date`,showOnly:`Show only`,minimum:e=>`${e} minimum`,maximum:e=>`${e} maximum`},nl:{today:`Vandaag`,yesterday:`Gisteren`,"24h":`Afgelopen 24 uur`,"7d":`Afgelopen 7 dagen`,"30d":`Afgelopen 30 dagen`,"90d":`Afgelopen 90 dagen`,month:`Deze maand`,quarter:`Dit kwartaal`,year:`Dit jaar`,unknownPreset:e=>`De server biedt de periode "${e}", die deze UI niet kent`,unsupported:e=>`${e} (niet ondersteund)`,remove:e=>`${e} verwijderen`,clearAll:`Alles wissen`,searchIn:e=>`Zoeken in ${e.toLowerCase()}`,noMatches:`Niets gevonden`,moreFilters:`Meer filters`,filters:`Filters`,date:`Datum`,showOnly:`Alleen tonen`,minimum:e=>`${e} minimum`,maximum:e=>`${e} maximum`}}),ove=`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`,x3=({chips:e,lockedLabels:t=[],onRemove:n,onClear:r,scroll:i})=>e.length===0&&t.length===0?null:(0,R.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,R.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,R.jsx)(Ha,{className:`size-3 text-muted-foreground`}),e]},e)),e.map(e=>(0,R.jsxs)(`span`,{className:ove,children:[e.label,(0,R.jsx)(`button`,{type:`button`,"aria-label":b3(`remove`,e.label),onClick:()=>n(e.key),className:`rounded-full p-0.5 hover:bg-primary-border/60`,children:(0,R.jsx)(ts,{className:`size-3`})})]},e.key)),e.length>0&&(0,R.jsx)(`button`,{type:`button`,onClick:r,className:`ml-1 text-xs font-medium text-muted-foreground hover:text-foreground`,children:b3(`clearAll`)})]}),sve=[`today`,`7d`,`30d`,`year`],cve=new Set([`today`,`yesterday`,`24h`,`7d`,`30d`,`90d`,`month`,`quarter`,`year`]),S3=e=>cve.has(e)?b3(e):void 0,lve=({value:e,presets:t=sve,onChange:n})=>(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(t=>{let r=S3(t);return(0,R.jsx)(`button`,{type:`button`,disabled:!r,title:r?void 0:b3(`unknownPreset`,t),onClick:()=>n(e===t?void 0:t),className:g(`h-7 rounded-md border px-2.5 text-body 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??b3(`unsupported`,t)},t)})}),C3=({label:e,onRemove:t})=>(0,R.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,R.jsx)(`span`,{className:`truncate`,children:e}),(0,R.jsx)(`button`,{type:`button`,"aria-label":ud(`remove`,e),className:`rounded p-0.5 hover:bg-primary-border/60`,onMouseDown:e=>e.preventDefault(),onClick:t,children:(0,R.jsx)(ts,{className:`size-3`})})]}),w3={facets:{},toggles:[]},T3=(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}}},E3=(e,t)=>({...e,toggles:e.toggles.includes(t)?e.toggles.filter(e=>e!==t):[...e.toggles,t]}),D3=(e,t,n)=>{let{[t]:r,...i}=e.ranges??{};return{...e,ranges:n?{...i,[t]:n}:i}},O3=(e,t)=>e.options.find(e=>e.value===t)?.label??e.labels?.[t]??t,k3=(e,t)=>{let n=e.facets.flatMap(e=>(t.facets[e.id]??[]).map(t=>({key:`facet:${e.id}:${t}`,label:`${e.label}: ${O3(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:S3(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]},A3=(e,t)=>{if(t===`date`)return{...e,date:void 0};let[n,r,i]=t.split(`:`);if(n===`range`)return D3(e,r,void 0);if(n===`toggle`)return E3(e,r);if(n===`facet`)return T3(e,r,i);throw Error(`Unknown filter chip key: ${t}`)},j3=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),uve=(e,t)=>e.onSearch?e.options:e.options.filter(e=>j3(e.label,t)),dve=(e,t,n)=>t===0?-1:n===`ArrowDown`?e<0?0:(e+1)%t:e<0?t-1:(e-1+t)%t,fve=({config:e,selected:t,onToggle:n,inline:r=!1})=>{let i=(0,I.useId)(),a=(0,I.useRef)(null),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(-1),f=r||c,p=uve(e,o),m=(0,I.useRef)(e.onSearch);m.current=e.onSearch,(0,I.useEffect)(()=>()=>m.current?.(``),[]);let h=t=>{s(t),d(-1),e.onSearch?.(t)};return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.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,R.jsx)(go,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.map(t=>(0,R.jsx)(C3,{label:O3(e,t),onRemove:()=>n(t)},t)),(0,R.jsx)(`input`,{ref:a,autoFocus:r,role:`combobox`,"aria-label":e.label,"aria-expanded":f,"aria-controls":`${i}-options`,"aria-autocomplete":`list`,"aria-activedescendant":p[u]?`${i}-${u}`:void 0,placeholder:t.length>0?``:b3(`searchIn`,e.label),className:`h-6 min-w-16 flex-1 bg-transparent text-foreground outline-none placeholder:text-faint-foreground`,value:o,onChange:e=>h(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),d(dve(u,p.length,e.key));return}if(e.key===`Enter`&&p[u]){e.preventDefault(),n(p[u].value);return}if(e.key===`Backspace`&&o===``&&t.length>0){n(t[t.length-1]);return}e.key===`Escape`&&o!==``&&(e.stopPropagation(),h(``))},onFocus:()=>l(!0),onBlur:()=>{l(!1),d(-1),!r&&o!==``&&h(``)}})]}),f&&(0,R.jsxs)(`ul`,{id:`${i}-options`,role:`listbox`,"aria-label":e.label,"aria-multiselectable":!0,className:g(`flex max-h-60 flex-col gap-px overflow-y-auto`,!r&&`rounded-md border bg-background p-1 shadow-sm`),children:[p.map((e,r)=>{let a=t.includes(e.value);return(0,R.jsxs)(`li`,{id:`${i}-${r}`,role:`option`,"aria-selected":a,tabIndex:-1,className:g(`flex cursor-pointer items-center gap-2 rounded px-1.5 py-1 hover:bg-muted`,r===u&&`bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:()=>n(e.value),children:[(0,R.jsx)(`span`,{className:g(`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,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}),(0,R.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:Gd(e.count)})]},e.value)}),p.length===0&&(0,R.jsx)(`li`,{className:`px-1.5 py-1 text-xs text-faint-foreground`,children:b3(`noMatches`)})]})]})},pve=({config:e,selected:t,onToggle:n})=>{let[r,i]=(0,I.useState)(``),a=e.options.filter(e=>j3(e.label,r));return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.searchable&&(0,R.jsx)(cd,{wrapperClassName:`mb-1 h-7`,leading:(0,R.jsx)(go,{className:`size-3.5`}),placeholder:b3(`searchIn`,e.label),value:r,onChange:e=>i(e.target.value)}),a.map(e=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-1 hover:bg-muted`,children:[(0,R.jsx)(Zh,{checked:t.includes(e.value),onChange:()=>n(e.value),label:e.label}),(0,R.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:Gd(e.count)})]},e.value)),a.length===0&&(0,R.jsx)(`span`,{className:`px-1 py-1 text-xs text-faint-foreground`,children:b3(`noMatches`)})]})},M3=({label:e,activeCount:t,width:n=240,defaultOpen:r=!1,children:i})=>{let[a,o]=(0,I.useState)(r),[s,c]=(0,I.useState)(!1),l=(0,I.useRef)(null);return(0,I.useLayoutEffect)(()=>{a&&l.current&&c(l.current.getBoundingClientRect().left+n>document.documentElement.clientWidth)},[a,n]),(0,I.useEffect)(()=>{if(!a)return;let e=e=>{e.target instanceof Node&&!l.current?.contains(e.target)&&o(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[a]),(0,R.jsxs)(`div`,{ref:l,className:`relative`,children:[(0,R.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>o(!a),className:g(`inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5 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,R.jsx)(`span`,{className:`rounded-full bg-primary px-1.5 text-[11px] leading-4 text-primary-foreground`,children:t}),(0,R.jsx)(Si,{className:`size-3.5 text-muted-foreground`})]}),a&&(0,R.jsx)(`div`,{className:g(`absolute top-full z-30 mt-1.5 rounded-lg border bg-background p-3 shadow-pop`,s?`right-0`:`left-0`),style:{width:n},children:typeof i==`function`?i(()=>o(!1)):i})]})},N3=({title:e,children:t})=>(0,R.jsxs)(`section`,{className:`flex flex-col gap-2 border-b py-3 last:border-b-0`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),P3=(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}},mve=({items:e,onPick:t,close:n})=>{let r=(0,I.useRef)([]);return(0,I.useEffect)(()=>r.current[0]?.focus(),[]),(0,R.jsx)(`ul`,{role:`menu`,"aria-label":b3(`moreFilters`),onKeyDown:t=>{if(t.key===`Escape`)return n();let i=P3(t.key,r.current.indexOf(document.activeElement),e.length);i!==void 0&&(t.preventDefault(),r.current[i]?.focus())},className:`-mx-3 -my-3`,children:e.map((e,i)=>(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsx)(`button`,{ref:e=>{r.current[i]=e},type:`button`,role:`menuitem`,className:mS,onClick:()=>{n(),t(e.key)},children:e.label})},e.key))})},hve=({items:e,onPick:t})=>e.length===0?null:(0,R.jsx)(M3,{label:b3(`moreFilters`),activeCount:0,children:n=>(0,R.jsx)(mve,{items:e,onPick:t,close:n})}),F3=(e,t)=>{let[n,r]=(0,I.useState)(e);return(0,I.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n},gve=(e,t,n,r,i)=>{let a=n+(r-n)*e/t;return n+(r-n)*(e+1)/t>i[0]&&a<i[1]},I3=(e,t,n)=>n===t?0:(e-t)/(n-t),_ve=(e,t,n)=>t===0?[Math.min(n,e[1]),e[1]]:[e[0],Math.max(n,e[0])],vve=1e3,yve=({config:e,value:t,onChange:n})=>{let{min:r,max:i,step:a,histogram:o,format:s}=e,[c,l]=(0,I.useState)(),u=c??t??[r,i],d=Math.max(...o),f=()=>{c&&(l(void 0),n(c[0]===r&&c[1]===i?void 0:c))},p=F3(c,vve);return(0,I.useEffect)(()=>{p&&f()},[p]),(0,R.jsxs)(`div`,{className:`w-full`,children:[(0,R.jsxs)(`div`,{className:`px-[7px]`,children:[o.length>0&&(0,R.jsx)(`div`,{className:`mb-1 flex h-12 items-end gap-0.5`,children:o.map((e,t)=>(0,R.jsx)(`span`,{className:g(`flex-1 rounded-t-sm`,gve(t,o.length,r,i,u)?`bg-primary/70`:`bg-border`),style:{height:`${Math.max(6,e/d*100)}%`}},t))}),(0,R.jsxs)(`div`,{className:`relative h-4`,children:[(0,R.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border`}),(0,R.jsx)(`span`,{className:`absolute top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary`,style:{left:`${I3(u[0],r,i)*100}%`,right:`${100-I3(u[1],r,i)*100}%`}})]})]}),(0,R.jsx)(`div`,{className:`relative -mt-4 h-4`,children:[0,1].map(t=>(0,R.jsx)(`input`,{type:`range`,className:`pb-range`,"aria-label":b3(t===0?`minimum`:`maximum`,e.label),min:r,max:i,step:a,value:u[t],onChange:e=>l(_ve(u,t,Number(e.target.value))),onPointerUp:f,onTouchEnd:f,onBlur:f},t))}),(0,R.jsxs)(`div`,{className:`mt-2 flex justify-between text-xs tabular-nums text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:s(u[0])}),(0,R.jsx)(`span`,{children:s(u[1])})]})]})},bve=e=>[...new Set(e.map(e=>e.key.split(`:`).slice(0,2).join(`:`)))],L3=(e,t)=>{let n=t.filter(t=>!e.includes(t));return n.length===0?e:[...e,...n]},xve=(e,t)=>{let n=[...e.facets.map(e=>({key:`facet:${e.id}`,label:e.label,secondary:e.secondary})),...(e.ranges??[]).map(e=>({key:`range:${e.id}`,label:e.label,secondary:e.secondary})),...e.datePresets?[{key:`date`,label:b3(`date`),secondary:e.dateSecondary}]:[],...(e.toggles??[]).map(e=>({key:`toggle:${e.id}`,label:e.label,secondary:e.secondary}))],r=new Set,i=[];for(let e of n)!e.secondary||t.includes(e.key)?r.add(e.key):i.push({key:e.key,label:e.label});return{shown:r,more:i}},R3=({label:e,checked:t,onChange:n})=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer items-center justify-between gap-3 py-1`,children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(ZS,{checked:t,onChange:n,label:e})]}),z3=(e,t)=>e.some(e=>e.length>0)||!!t,B3=({groups:e,trailing:t})=>{if(!z3(e,t))return null;let n=e.filter(e=>e.length>0);return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.map((e,t)=>(0,R.jsxs)(I.Fragment,{children:[t>0&&(0,R.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),e]},t)),t&&(0,R.jsx)(`div`,{className:`flex min-w-32 flex-1 justify-end`,children:t})]})},Sve=(e,t,n)=>{let[r,i]=(0,I.useState)(t??w3);return[e??r,e=>{i(e),n?.(e)}]},V3=({config:e,layout:t,value:n,defaultValue:r,onChange:i,lockedLabels:a,defaultOpenMenu:o,fullWidth:s,leading:c,trailing:l})=>{let[u,d]=Sve(n,r,i),f=k3(e,u),p=bve(f),[m,h]=(0,I.useState)(()=>p),[g,_]=(0,I.useState)();(0,I.useEffect)(()=>h(e=>L3(e,p)),[p.join(`,`)]);let v=(0,R.jsx)(x3,{chips:f,lockedLabels:a,onRemove:e=>d(A3(u,e)),onClear:()=>d(w3)}),y=(e,t=!1)=>{let n=u.facets[e.id]??[],r=t=>d(T3(u,e.id,t));return e.combobox?(0,R.jsx)(fve,{config:e,selected:n,onToggle:r,inline:t}):(0,R.jsx)(pve,{config:e,selected:n,onToggle:r})},b=e.ranges??[],x=e=>(0,R.jsx)(yve,{config:e,value:u.ranges?.[e.id],onChange:t=>d(D3(u,e.id,t))}),S=e.datePresets&&(0,R.jsx)(lve,{value:u.date,presets:Array.isArray(e.datePresets)?e.datePresets:void 0,onChange:e=>d({...u,date:e})}),C=(e.toggles??[]).map(e=>(0,R.jsx)(R3,{label:e.label,checked:u.toggles.includes(e.id),onChange:()=>d(E3(u,e.id))},e.id));if(t===`panel`)return(0,R.jsxs)(`aside`,{className:s?`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,R.jsx)(`div`,{className:`flex items-center justify-between pb-1`,children:(0,R.jsx)(`h2`,{className:`font-semibold`,children:b3(`filters`)})}),(f.length>0||(a?.length??0)>0)&&(0,R.jsx)(`div`,{className:`border-b pb-3`,children:v}),c,e.facets.map(e=>(0,R.jsx)(N3,{title:e.label,children:y(e)},e.id)),b.map(e=>(0,R.jsx)(N3,{title:e.label,children:x(e)},e.id)),S&&(0,R.jsx)(N3,{title:b3(`date`),children:S}),C.length>0&&(0,R.jsx)(N3,{title:b3(`showOnly`),children:C})]});let{shown:w,more:T}=xve(e,m),E=e=>{h(t=>L3(t,[e])),_(e)},D=[...e.facets.filter(e=>w.has(`facet:${e.id}`)).map(e=>(0,R.jsx)(M3,{label:e.label,activeCount:(u.facets[e.id]??[]).length,width:e.combobox?280:void 0,defaultOpen:o===e.id||g===`facet:${e.id}`,children:y(e,!0)},e.id)),...b.filter(e=>w.has(`range:${e.id}`)).map(e=>(0,R.jsx)(M3,{label:e.label,activeCount:+!!u.ranges?.[e.id],width:280,defaultOpen:o===e.id||g===`range:${e.id}`,children:x(e)},`range:${e.id}`)),...S&&w.has(`date`)?[(0,R.jsx)(I.Fragment,{children:S},`date`)]:[]],O=(e.toggles??[]).filter(e=>w.has(`toggle:${e.id}`)).map(e=>(0,R.jsx)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:(0,R.jsx)(R3,{label:e.label,checked:u.toggles.includes(e.id),onChange:()=>d(E3(u,e.id))})},e.id)),k=[c?[(0,R.jsx)(I.Fragment,{children:c},`leading`)]:[],D,O,T.length>0?[(0,R.jsx)(hve,{items:T,onPick:E},`more`)]:[]];return!z3(k,l)&&f.length===0&&!a?.length?null:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(B3,{groups:k,trailing:l}),v]})},H3=rr(),U3={start:0,end:0},W3={"24h":{amount:24,unit:`h`},"7d":{amount:7,unit:`d`},"30d":{amount:30,unit:`d`},"90d":{amount:90,unit:`d`}},Cve=e=>new Date(e).toISOString().replace(`.000Z`,`Z`),G3=(e,t,n)=>{let r=tf(t.getTime(),n),[i,a]=[Number(r.slice(0,4)),Number(r.slice(5,7))-1],o=e=>new Date(e).toISOString().slice(0,10);return e===`year`?o(Date.UTC(i,0,1)):e===`quarter`?o(Date.UTC(i,Math.floor(a/3)*3,1)):e===`month`?o(Date.UTC(i,a,1)):e===`yesterday`?o(Date.parse(`${r}T00:00:00Z`)-864e5):r},K3=[`year`,`quarter`,`month`,`yesterday`,`today`],q3=(e,t,n)=>t===`date`?e:Cve(rf(e,n)),J3=(e,t,n)=>t===`date`?{kind:`string`,value:q3(e,t,n),span:U3}:{kind:`timestamp`,value:q3(e,t,n),span:U3},wve=(e,t,n,r,i)=>{if(t in W3)return[H3.gte(e,H3.ago(t))];let a=H3.gte(e,J3(G3(t,n,i),r,i));return t===`yesterday`?[a,H3.lt(e,J3(G3(`today`,n,i),r,i))]:[a]},Tve=(e,t,n=new Date,r=Yd())=>{let i=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=>H3.eq(e.value,!0));return t.length===0?[]:[t.length===1?t[0]:H3.or(...t)]}return[n.length===1?H3.eq(e.id,n[0]):H3.in(e.id,n)]}),a=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[H3.gte(e.id,n[0]),H3.lte(e.id,n[1])]:[]}),o=e.dateField&&t.date?wve(e.dateField,t.date,n,e.dateKind,r):[],s=(e.toggles??[]).filter(e=>t.toggles.includes(e.id)).map(e=>H3.eq(e.id,!0));return[...i,...a,...o,...s]},Eve=e=>e.length===0?``:Hn(H3.and(...e)),Y3=(e,t,n=[],r=new Date,i=Yd())=>Eve([...Tve(e,t,r,i),...n]),X3=e=>e.kind===`and`?e.args.flatMap(X3):[e],Z3=e=>e.field.path.join(`.`),Dve=e=>e.kind===`compare`&&e.op===`=`&&e.value.kind===`boolean`&&e.value.value,Ove=(e,t)=>{let n=e.kind===`or`?e.args:[e];if(!n.every(Dve))return;let r=n.map(Z3),i=t.get(r[0]);return i!==void 0&&r.every(e=>t.get(e)===i)?{group:i,fields:r}:void 0},Q3=e=>e.kind===`number`?String(e.raw):e.kind===`string`?String(e.value):void 0,$3=(e,t,n)=>{let r=e.value;if(r.kind===`now`&&r.offset?.sign===`-`){let{amount:e,unit:t}=r.offset.duration;return Object.entries(W3).find(([,n])=>n.amount===e&&n.unit===t)?.[0]}if(r.kind===`timestamp`)return K3.find(e=>q3(G3(e,t,n),`timestamp`,n)===r.value);if(r.kind===`string`)return K3.find(e=>G3(e,t,n)===r.value)},e6=(e,t,n=new Date,r=Yd())=>{let i=ln(t);if(!i.ok)return{ok:!1,errors:i.errors};let a={facets:{},toggles:[]},o=[],s=new Set(e.facets.filter(e=>!e.flags).map(e=>e.id)),c=new Map(e.facets.filter(e=>e.flags).flatMap(e=>e.options.map(t=>[t.value,e.id]))),l=new Set((e.toggles??[]).map(e=>e.id)),u=new Set((e.ranges??[]).map(e=>e.id)),d=new Map,f,p;for(let t of i.ast?X3(i.ast):[]){let i=Ove(t,c);if(i&&!a.facets[i.group])a.facets[i.group]=i.fields;else if(t.kind===`compare`&&s.has(Z3(t))&&t.op===`=`&&Q3(t.value)!==void 0)a.facets[Z3(t)]=[...a.facets[Z3(t)]??[],Q3(t.value)];else if(t.kind===`in`&&s.has(Z3(t))&&t.values.every(e=>Q3(e)!==void 0))a.facets[Z3(t)]=[...a.facets[Z3(t)]??[],...t.values.map(e=>Q3(e))];else if(t.kind===`compare`&&e.dateField===Z3(t)&&t.op===`>=`&&$3(t,n,r)&&!a.date)a.date=$3(t,n,r),f=t;else if(t.kind===`compare`&&e.dateField===Z3(t)&&t.op===`<`&&(t.value.kind===`timestamp`||t.value.kind===`string`)&&t.value.value===q3(G3(`today`,n,r),t.value.kind===`string`?`date`:`timestamp`,r))p=t;else if(t.kind===`compare`&&l.has(Z3(t))&&t.op===`=`&&t.value.kind===`boolean`&&t.value.value)a.toggles.push(Z3(t));else if(t.kind===`compare`&&u.has(Z3(t))&&(t.op===`>=`||t.op===`<=`)&&t.value.kind===`number`){let e=d.get(Z3(t))??{clauses:[]};t.op===`>=`?e.low=t.value.value:e.high=t.value.value,e.clauses.push(t),d.set(Z3(t),e)}else o.push(t)}a.date===`yesterday`&&!p&&(o.push(f),a.date=void 0),p&&a.date!==`yesterday`&&o.push(p);for(let[e,t]of d)t.low!==void 0&&t.high!==void 0?a.ranges={...a.ranges,[e]:[t.low,t.high]}:o.push(...t.clauses);return{ok:!0,state:a,extras:o}},kve=[`integer`,`bigint`,`decimal`],Ave=(e,t)=>{let n=e?.fields[t]?.type;return n!==void 0&&kve.includes(n)},t6=(e,t)=>e.kind===`range`||e.kind===`facets`&&Ave(t,e.field),n6=e=>e.secondary?{secondary:!0}:{},jve=e=>({id:e.field,label:e.field,min:0,max:0,step:1,histogram:[],format:String,...n6(e)}),r6=(e,t)=>{let n=e?.filters??[],r=n.find(e=>e.kind===`dateRange`);return{facets:n.flatMap(e=>e.kind===`facets`&&!t6(e,t)?[{id:e.field,label:e.field,options:[],searchable:e.search,...t?.fields[e.field]?.type===`relation`&&{combobox:!0},...n6(e)}]:e.kind===`flags`?[{id:e.fields.join(`|`),label:e.label,options:e.fields.map(e=>({value:e,label:e,count:0})),flags:!0,...n6(e)}]:[]),ranges:n.flatMap(e=>e.kind!==`flags`&&t6(e,t)?[jve(e)]:[]),...r&&{dateField:r.field,...r.secondary&&{dateSecondary:!0},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,...n6(e)}]:[])}},i6=(e,t)=>(e?.filters??[]).some(e=>e.kind===`range`&&e.field===t&&e.histogram),a6=(e,t)=>{let n=e?.fields[t],r=n?.suffix??``;return e=>`${n?.prefix===`€`?Hd(e*100).replace(`.00`,``):String(e)}${r}`},o6=rr(),Mve={start:0,end:0},Nve=(e,t,n)=>{let r=e6(r6(t,e),n);return r.ok?Object.fromEntries(Object.entries(r.state.facets).filter(([t,n])=>e.fields[t]?.type===`relation`&&n.length>0)):{}},Pve=(e,t,n)=>{let r=e=>t?.fields[e]?.label??K(e),i=r6(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,us(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:a6(t,e.id)})),toggles:i.toggles?.map(e=>({...e,label:r(e.id)}))}},s6=(e,t,n,r={})=>{let i=Pve(e,t,r),a=e6(i,n);if(!a.ok)return[{key:`unreadable`,label:Q(`unreadableFilter`)}];let o=a.extras.map((e,t)=>({key:`extra:${t}`,label:e.kind===`search`?`"${e.text}"`:Hn(e)}));return[...k3(i,a.state),...o]},Fve=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]))}])),Ive=(e,t,n)=>{if(typeof n!=`string`||n===``)return e;let r=o6.gt(t,{kind:`timestamp`,value:new Date(n).toISOString(),span:Mve}),i=ln(e);if(!i.ok)throw Error(`The saved filter cannot be read: ${i.errors.map(e=>e.message).join(`; `)}`);return Hn(i.ast?o6.and(i.ast,r):r)},Lve=(e,t)=>typeof t!=`string`||t===``?!0:typeof e!=`string`||e===``?!1:new Date(e).getTime()>new Date(t).getTime(),c6=(e,t)=>{let n=U(),r=Qp(),{resources:i,views:a}=J(),o=a[e.name],s=Object.entries(Nve(e,o,t)),c=wh({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 G0(r,n,s,o,a[s.name]))}})});return s6(e,o,t,Object.fromEntries(s.flatMap(([e],t)=>c[t]?.data?[[e,c[t].data]]:[])))},Rve=(e,t)=>({record:Object.fromEntries(Object.entries(t).filter(([t])=>Object.hasOwn(e.fields,t))),etag:typeof t.etag==`string`?t.etag:``,...typeof t.permissions==`object`&&t.permissions!==null&&{permissions:t.permissions}}),l6=e=>{let t=Qp();return(0,I.useCallback)(n=>t.setQueryData(H.recordPreview(e.name,Dr(Xb(e,n))),Rve(e,n)),[t,e])},u6={wallet:Zo,"file-text":fa,send:Gee,ruler:Uee,bed:Pee,bath:Nee,house:va,"door-open":Ki,"land-plot":Ea,leaf:Ma,tag:Fo,key:wa,calendar:mi,heart:ga,bell:ei,bookmark:ci,"external-link":na,ban:Mee},d6=e=>e!==void 0&&Object.hasOwn(u6,e)?u6[e]:void 0,f6=({benefits:e})=>e&&e.length>0?(0,R.jsx)(`ul`,{className:`flex flex-col gap-2 text-left`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(bi,{className:`mt-0.5 size-4 shrink-0 text-primary`,"aria-hidden":!0}),e]},e))}):null,p6=({prompt:e})=>{let{canSignUp:t}=B(),{link:n}=Qh(),r=Af({variant:`primary`}),i=e.signUp?(0,R.jsx)(`a`,{href:e.signUp.href,target:`_blank`,rel:`noreferrer`,className:r,children:e.signUp.label}):t&&(0,R.jsx)(yu,{to:n(`sign-up`),className:r,children:z(`createAnAccount`)});return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(yu,{to:n(),className:i?Af():r,children:z(`signIn`)}),i]})},m6=e=>{let{prompt:t}=e,n=(0,I.useId)();if(e.as===`dialog`)return(0,R.jsx)(bT,{title:t.title,description:t.description,open:e.open,onClose:e.onClose,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:e.onClose,children:z(`notNow`)}),(0,R.jsx)(p6,{prompt:t})]}),children:(0,R.jsx)(f6,{benefits:t.benefits})});let r=d6(t.icon)??Wa;return(0,R.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,R.jsx)(`span`,{className:`flex size-12 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,R.jsx)(r,{className:`size-6`,"aria-hidden":!0})}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsx)(`h1`,{id:n,className:`text-lg font-semibold`,children:t.title}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:t.description})]}),(0,R.jsx)(f6,{benefits:t.benefits}),(0,R.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,R.jsx)(p6,{prompt:t})})]})},zve=rr(),h6=e=>{if(typeof e==`string`||typeof e==`number`)return e;if(e&&typeof e==`object`&&`id`in e)return h6(e.id)},Bve=(e,t,n)=>n.flatMap(n=>{let r=h6(n[t]);return r===void 0?[]:[{key:Dr(Xb(e,n)),target:r}]}),Vve=(e,t)=>e.find(e=>Dr(e.target)===t),Hve=(e,t)=>[...e,{key:``,target:t}],Uve=(e,t)=>e.filter(e=>Dr(e.target)!==t),g6=(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:zve.in(n,r)},_6=(e,t)=>H.list(e,``,``,500,`saved:${t}`),v6=(e,t,n)=>{let r=U(),i=J().resources[e];return Eh({queryKey:_6(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 Bve(i,t,n)}})},y6=a({en:{favorite:`Favorite`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`,somethingWrong:`Something went wrong`,couldNotTakeOff:`Could not take it off`,couldNotSave:`Could not save it`},nl:{favorite:`Favoriet`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`,somethingWrong:`Er ging iets mis`,couldNotTakeOff:`Kon het niet weghalen`,couldNotSave:`Kon het niet bewaren`}}),Wve=e=>e instanceof Error?e.message:y6(`somethingWrong`),Gve=(e,t,n)=>{let r=J(),i=U(),a=Qp(),o=qy(),s=nE(),{resource:c,field:l}=e,u=r.permissions[c],d=r.resources[c]!==void 0&&u!==void 0&&VT(u,`create`)&&VT(u,`delete`),f=r.signIn?.[c]?.signIn,p=v6(c,l,d),m=p.data&&Vve(p.data,t),h=_6(c,l),g=Dh({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?Uve(r,t):Hve(r,n)),{before:r}},onError:(e,t,n)=>{a.setQueryData(h,n?.before),o.show({state:`error`,title:y6(t?`couldNotTakeOff`:`couldNotSave`),description:Wve(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)}},Kve=({favorite:e,recordKey:t,target:n,className:r})=>{let i=Gve(e,t,n),[a,o]=(0,I.useState)(!1);if(!i.mode)return null;let s=e.label??y6(`favorite`),c=g(`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,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":s,"aria-haspopup":`dialog`,className:c,onClick:()=>o(!0),children:(0,R.jsx)(ga,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(m6,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>o(!1)})]}):(0,R.jsx)(`button`,{type:`button`,"aria-label":s,"aria-pressed":i.saved,"aria-disabled":!i.ready,className:c,onClick:()=>i.ready&&i.toggle(),children:(0,R.jsx)(ga,{className:g(`size-4`,i.saved&&`fill-current text-danger`),"aria-hidden":!0})})},b6=6,qve=(e,t,n)=>{let r=e.bottom+b6;return{top:r+t.height>n.height-b6?Math.max(b6,e.top-b6-t.height):r,left:Math.max(b6,Math.min(e.left,n.width-b6-t.width))}},x6=(e,t)=>{let n=Sx(e).find(e=>e.kind===`cards`);if(!n)return{kind:`cards`,name:`dot`,badge:t};let{photos:r,favorite:i,dots:a,...o}=n;return o},Jve=(e,t,n,r)=>(e?.list?.relatedColumns??[]).filter(e=>r.includes(e.name)).flatMap(e=>{let r=t[e.resource];return r?[{column:e,fields:Rx(r,n[r.name],x6(n[r.name],e.status))}]:[]}),Yve=a({en:{none:e=>`No ${e}`},nl:{none:e=>`Geen ${e}`}}),Xve=(e,{values:t,label:n,singular:r,plural:i})=>{if(e.length===0)return Yve(`none`,i);let a=new Map;for(let t of e)t!=null&&a.set(String(t),(a.get(String(t))??0)+1);let o=[...t,...[...a.keys()].filter(e=>!t.includes(e))].filter(e=>a.has(e)).map(e=>`${a.get(e)} ${n(e)}`),s=`${e.length} ${e.length===1?r:i}`;return o.length===0?s:`${s}: ${o.join(`, `)}`},S6=`flex shrink-0 items-center justify-center rounded-full p-0.5 pointer-coarse:p-1.5`,C6=`size-2.5 rounded-full`,w6=`flex min-w-0 items-center gap-0.5`,Zve=150,T6=288,Qve=({shown:e,row:t,target:n,view:r,column:i,Card:a,onEnter:o,onLeave:s})=>{let c=(0,I.useRef)(null),[l,u]=(0,I.useState)();return(0,I.useLayoutEffect)(()=>{c.current&&u(qve(e.dot,{width:T6,height:c.current.offsetHeight},{width:window.innerWidth,height:window.innerHeight}))},[e]),(0,is.createPortal)((0,R.jsx)(`div`,{ref:c,"data-dot-card":!0,onMouseEnter:o,onMouseLeave:s,style:{width:T6,...l??{visibility:`hidden`,top:0,left:0}},className:`fixed z-50 rounded-lg shadow-pop`,children:(0,R.jsx)(a,{model:n,view:r,display:x6(r,i.status),row:t})}),document.body)},E6=({column:e,records:t,target:n,view:r,wrap:i=!1,Card:a})=>{let o=(0,I.useMemo)(()=>t.map(e=>Hx(n,e)),[t,n]),[s,c]=(0,I.useState)(),l=(0,I.useRef)(void 0),u=(0,I.useRef)(`mouse`),d=(0,I.useRef)(null),f=n.fields[e.status],p=r?.fields[e.status],m=t=>f?dx(f,t.record[e.status],p):``,h=Kb(n,r),_=e=>e.labels[h]??String(e.record[h]??e.key),v=(r?.names?.singular??K(n.name)).toLowerCase(),y=(r?.names?.plural??K(n.name)).toLowerCase(),b=Xve(o.map(t=>t.record[e.status]),{values:f?.enumValues??[],label:e=>f?dx(f,e,p):e,singular:v,plural:y}),x=()=>window.clearTimeout(l.current),S=()=>{x(),l.current=window.setTimeout(()=>c(void 0),Zve)},C=(e,t)=>{x(),c({key:e,dot:t.getBoundingClientRect()})};(0,I.useEffect)(()=>x,[]),(0,I.useEffect)(()=>{if(!s)return;let e=()=>c(void 0),t=t=>t.key===`Escape`&&e(),n=t=>{let n=t.target;!d.current?.contains(n)&&!n?.closest?.(`[data-dot-card]`)&&e()};return document.addEventListener(`keydown`,t),document.addEventListener(`pointerdown`,n),document.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{document.removeEventListener(`keydown`,t),document.removeEventListener(`pointerdown`,n),document.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[s]);let w=e=>t=>{u.current===`touch`&&s?.key!==e&&(t.preventDefault(),C(e,t.currentTarget))},T=e=>{e.relatedTarget?.closest?.(`[data-dot-card]`)||S()},E=s&&o.find(e=>e.key===s.key);return(0,R.jsxs)(`div`,{ref:d,className:g(w6,i&&`pointer-events-none flex-wrap`),onClick:e=>e.stopPropagation(),onPointerDown:e=>u.current=e.pointerType,children:[(0,R.jsx)(`span`,{className:`sr-only`,children:b}),o.map(t=>{let r=t.record[e.status],i=Y0(p?.valueColors,r);return(0,R.jsx)(cS,{to:{kind:`record`,resource:n.name,key:t.key},"aria-label":`${_(t)}, ${m(t)}`,onPointerEnter:e=>e.pointerType!==`touch`&&C(t.key,e.currentTarget),onPointerLeave:e=>e.pointerType!==`touch`&&S(),onFocus:e=>e.currentTarget.matches(`:focus-visible`)&&C(t.key,e.currentTarget),onBlur:T,onClick:w(t.key),className:g(S6,`pointer-events-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40`),children:(0,R.jsx)(`span`,{"aria-hidden":!0,style:i===void 0?void 0:{backgroundColor:i},className:g(C6,i===void 0&&Nu[nx(String(r))],s?.key===t.key&&`ring-2 ring-foreground/30`)})},t.key)}),s&&E&&(0,R.jsx)(Qve,{shown:s,row:E,target:n,view:r,column:e,Card:a,onEnter:x,onLeave:S})]})},$ve=({count:e})=>(0,R.jsx)(`span`,{"aria-hidden":!0,className:g(w6,`invisible flex-wrap`),children:Array.from({length:e},(e,t)=>(0,R.jsx)(`span`,{className:S6,children:(0,R.jsx)(`span`,{className:C6})},t))}),D6=`flex flex-col gap-1.5`,eye=({dots:e})=>(0,R.jsx)(`span`,{className:D6,children:e.map(({column:e,records:t})=>(0,R.jsx)($ve,{count:t.length},e.name))}),tye=({dots:e,Card:t})=>{let{resources:n,views:r}=J();return(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-[calc(0.75rem+1px)] bottom-[calc(0.75rem+1px)] ${D6}`,children:e.map(({column:e,records:i})=>{let a=n[e.resource];return a&&(0,R.jsx)(E6,{column:e,records:i,target:a,view:r[a.name],Card:t,wrap:!0},e.name)})})},nye=(e,t,n)=>(t.dots??[]).flatMap(t=>{let r=e?.list?.relatedColumns?.find(e=>e.name===t),i=n.record[t];return r&&Array.isArray(i)&&i.length>0?[{column:r,records:i}]:[]}),O6=({value:e})=>{let t=hb(e,{width:320,height:240});return t?(0,R.jsx)(_C,{image:t,loading:`lazy`,className:`size-full object-cover`}):null},k6=({children:e})=>(0,R.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}),rye=({value:e})=>(0,R.jsx)(k6,{children:(0,R.jsx)(O6,{value:e})}),iye=10,aye=(e,t)=>{let n=ab(e)?e.uri:void 0,r=t.filter(e=>ab(e)&&e.uri!==n);return(n===void 0?r:[e,...r]).slice(0,iye)},oye=(e,t)=>t===0?0:(e%t+t)%t,sye=(e,t,n)=>t<=0||n===0?0:Math.min(n-1,Math.max(0,Math.round(e/t))),A6=`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`,j6=`[@media(hover:none)]:opacity-100`,cye=({photos:e,cover:t,swipe:n=!0,children:r})=>{let i=(0,I.useRef)(null),a=(0,I.useRef)(void 0),[o,s]=(0,I.useState)(0),c=aye(t,e),l=e=>{let t=i.current;t&&t.scrollTo({left:e*t.clientWidth})},u=e=>{a.current=oye((a.current??o)+e,c.length),l(a.current)},d=()=>{a.current=void 0},f=e=>{s(sye(e.scrollLeft,e.clientWidth,c.length)),a.current!==void 0&&Math.abs(e.scrollLeft-a.current*e.clientWidth)<1&&(a.current=void 0)},p=(0,R.jsx)(k6,{children:(0,R.jsx)(`span`,{ref:i,tabIndex:-1,"data-card-photos":!0,onPointerDown:d,onScroll:e=>f(e.currentTarget),className:g(`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:c.map((e,t)=>(0,R.jsx)(`span`,{className:`block size-full shrink-0 snap-start snap-always`,children:(0,R.jsx)(O6,{value:e})},t))})});return(0,R.jsxs)(R.Fragment,{children:[r(p),c.length>1&&(0,R.jsxs)(`div`,{className:`group/arrows pointer-events-none absolute inset-x-px top-px aspect-[4/3]`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`previousPhoto`),className:g(A6,!n&&j6,`left-2`),onClick:()=>u(-1),children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`nextPhoto`),className:g(A6,!n&&j6,`right-2`),onClick:()=>u(1),children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{className:`absolute inset-x-0 bottom-2 flex justify-center`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{className:`sr-only`,children:q(`photoOf`,o+1,c.length)}),(0,R.jsx)(`span`,{className:`flex items-center gap-1 rounded-full bg-background/70 px-1.5 py-1 leading-none`,"aria-hidden":!0,children:c.map((e,t)=>(0,R.jsx)(`span`,{className:g(`size-1.5 rounded-full`,t===o?`bg-foreground`:`bg-foreground/35`)},t))})]})]})]})},lye=({icon:e,children:t})=>{let n=d6(e);return(0,R.jsxs)(`dd`,{className:`flex items-center gap-1 tabular-nums`,children:[n&&(0,R.jsx)(n,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t]})},M6=({model:e,view:t,display:n,row:r,swipe:i=!0,mark:a})=>{let{image:o,title:s,subtitle:c,amount:l,badge:u,meta:d,footer:f,flags:p}=Nx(e,t,n),m=e=>t?.fields[e]?.label??K(e),h=n=>{let i=e.fields[n];if(!i)return``;let a=r.record[n];return r.labels[n]===void 0&&Ub(i,t?.fields[n])&&typeof a==`string`&&a!==``?Hb(a):r.labels[n]??dx(i,a,t?.fields[n])},{fields:g,components:_}=wC(),v=l6(e),y=n.card===void 0?void 0:_?.[n.card],b=n=>{let i=e.fields[n],a=i&&TC(g,i,t?.fields[n]);return a?(0,R.jsx)(kC,{shown:a,part:`display`,field:i,value:r.record[n],fallback:h(n)}):h(n)},x=n=>{let i=e.fields[n],a=r.record[n];return!i||!Ub(i,t?.fields[n])||TC(g,i,t?.fields[n])||typeof a!=`string`||a===``?b(n):(0,R.jsx)(jC,{source:a,inLink:!0})},S=n=>{let i=e.fields[n],a=t?.fields[n],o=r.record[n];return!i||a?.format!==`badge`||TC(g,i,a)||o==null||o===``?b(n):(0,R.jsx)(X0,{value:o,hints:a,children:h(n)})},C=n=>{let i=e.fields[n];if(!i)return;if(r.labels[n]!==void 0||TC(g,i,t?.fields[n]))return(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:b(n)});let a=Ix(i,r.record[n],t?.fields[n]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a.amount}),a.suffix]})},w=y?void 0:n.photos,T=u===void 0?void 0:r.record[u],E=p.filter(e=>r.record[e]===!0),D=o===void 0?void 0:r.record[o],O=Fx(r,l),k=Px(r,f),A=o!==void 0||w!==void 0,j=n.favorite,M=y?[]:nye(t,n,r),N=e=>(0,R.jsxs)(R.Fragment,{children:[A&&e,(0,R.jsxs)(`span`,{className:`flex items-start justify-between gap-2 ${j&&!A?`pr-8`:``}`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:b(s)}),u!==void 0&&T!=null&&(0,R.jsx)(X0,{value:T,hints:t?.fields[u],children:h(u)})]}),c!==void 0&&(0,R.jsx)(`span`,{className:t?.fields[c]?.markdown?`line-clamp-3 break-words text-muted-foreground`:t?.fields[c]?.multiline?`line-clamp-3 whitespace-pre-line break-words text-muted-foreground`:`truncate text-muted-foreground`,children:x(c)}),O!==void 0&&(0,R.jsx)(`span`,{className:`truncate tabular-nums text-muted-foreground`,children:C(O)}),d.length>0&&(0,R.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:Px(r,d).map(e=>(0,R.jsxs)(`div`,{className:`flex gap-1`,children:[(0,R.jsx)(`dt`,{className:`sr-only`,children:m(e)}),(0,R.jsx)(lye,{icon:t?.fields[e]?.icon,children:S(e)})]},e))}),E.length>0&&(0,R.jsx)(`ul`,{className:`flex flex-wrap gap-1`,"aria-label":q(`features`),children:E.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(Fu,{dot:!1,children:m(e)})},e))}),k.length>0&&(0,R.jsx)(`span`,{className:`truncate text-xs text-muted-foreground ${d.length>0?``:`mt-auto`}`,children:k.map((e,t)=>(0,R.jsxs)(`span`,{children:[t>0&&(0,R.jsx)(`span`,{"aria-hidden":!0,children:` • `}),b(e)]},e))}),M.length>0&&(0,R.jsx)(eye,{dots:M})]}),ee=t=>(0,R.jsxs)(cS,{to:{kind:`record`,resource:e.name,key:r.key},onClick:()=>v(r.record),className:`flex h-full flex-col gap-1.5 rounded-lg border border-border bg-background p-3 hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,children:[a&&!A&&(0,R.jsx)(Fu,{tone:`blue`,className:`self-start`,children:a}),y?(0,R.jsx)(mg,{name:n.card,fallback:N(t),children:(0,R.jsx)(y,{row:r})}):N(t)]});return(0,R.jsxs)(`div`,{className:w?`group/card relative h-full`:j||a||M.length>0?`relative h-full`:`h-full`,children:[w?(0,R.jsx)(cye,{photos:r.photos??[],cover:D,swipe:i,children:ee},r.key):ee((0,R.jsx)(rye,{value:D})),a&&A&&(0,R.jsx)(Fu,{tone:`blue`,className:`pointer-events-none absolute top-2 left-2 shadow-sm`,children:a}),M.length>0&&(0,R.jsx)(tye,{dots:M,Card:M6}),j&&(0,R.jsx)(Kve,{favorite:j,recordKey:r.key,target:Xb(e,r.record),className:A?void 0:`right-1.5 top-1.5`})]})},N6=268,P6=3,F6=(e,t,n)=>{let r=Math.floor(Math.max(0,e)/N6),i=Math.ceil((Math.max(0,e)+t)/N6);return{start:Math.max(0,r-P6),end:Math.min(n,i+P6)}},I6=e=>e*N6,uye=e=>{let t=(0,I.useRef)(null),[n,r]=(0,I.useState)({left:0,width:0});(0,I.useLayoutEffect)(()=>{let n=t.current;if(!n)return;let i=()=>r(t=>{let r={left:n.scrollLeft,width:n.clientWidth};return((t,n)=>{let[r,i]=[F6(t.left,t.width,e),F6(n.left,n.width,e)];return r.start===i.start&&r.end===i.end&&t.width===n.width&&t.left>0==n.left>0&&Math.abs(t.left-n.left)<1})(t,r)?t:r});i();let a=new ResizeObserver(i);return a.observe(n),n.addEventListener(`scroll`,i,{passive:!0}),()=>{a.disconnect(),n.removeEventListener(`scroll`,i)}},[e]);let i=Math.max(0,I6(e)-12),a=e=>t.current?.scrollBy({left:e*Math.max(I6(1),n.width-12),behavior:`smooth`});return{ref:t,...F6(n.left,n.width,e),back:n.left>0,on:n.left+n.width<i-1,page:a}},L6=a({en:{couldNotLoad:`Could not load`,noneMatch:e=>`No ${e} match.`,viewAll:`View all`,new:`New`,previous:e=>`Previous ${e}`,next:e=>`Next ${e}`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`},nl:{couldNotLoad:`Kon niet laden`,noneMatch:e=>`Geen ${e} gevonden.`,viewAll:`Alles bekijken`,new:`Nieuw`,previous:e=>`Terug in ${e}`,next:e=>`Verder in ${e}`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`}}),R6=`absolute top-1/2 z-10 hidden size-8 -translate-y-1/2 items-center justify-center rounded-full border border-border-strong bg-background shadow-pop hover:bg-muted sm:flex`,z6=({cards:e})=>e>0?(0,R.jsx)(`li`,{"aria-hidden":!0,className:`shrink-0`,style:{width:I6(e)-12}}):null,dye=({model:e,view:t,display:n,source:r,label:i,isNew:a})=>{let{total:o}=r,s=uye(o),c=Q4({total:o,rowAt:r.rowAt,loadRows:r.loadRows,revision:r.revision,latencyMs:0},s.start,Math.max(s.start,s.end-1)),l=Array.from({length:s.end-s.start},(e,t)=>s.start+t);return(0,R.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,R.jsxs)(`ul`,{ref:s.ref,"aria-label":i,className:`relative flex snap-x gap-3 overflow-x-auto overflow-y-hidden pb-1`,style:{scrollbarWidth:`thin`},children:[(0,R.jsx)(z6,{cards:s.start}),l.map(r=>{let i=c(r);if(!i)return(0,R.jsx)(`li`,{"aria-hidden":!0,className:`shrink-0`,style:{width:256},children:(0,R.jsx)(_u,{className:`h-full min-h-24 rounded-lg`})},`skeleton-${r}`);let s=Hx(e,i);return(0,R.jsx)(`li`,{"aria-posinset":r+1,"aria-setsize":o,className:`grid shrink-0 snap-start grid-cols-[minmax(0,1fr)]`,style:{width:256},children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:s,swipe:!1,mark:a?.(s)?L6(`new`):void 0})},s.key)}),(0,R.jsx)(z6,{cards:o-s.end})]}),s.back&&(0,R.jsx)(`button`,{type:`button`,"aria-label":L6(`previous`,i.toLowerCase()),onClick:()=>s.page(-1),className:`${R6} -left-3`,children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),s.on&&(0,R.jsx)(`button`,{type:`button`,"aria-label":L6(`next`,i.toLowerCase()),onClick:()=>s.page(1),className:`${R6} -right-3`,children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})})]})},fye=rr(),pye=(e,t)=>{if(!t)return e;let n=ln(e);if(!n.ok)throw Error(`The filter cannot be read: ${n.errors.map(e=>e.message).join(`; `)}`);return Hn(n.ast?fye.and(n.ast,t):t)},mye=(e,t)=>{let n=Sx(e).filter(e=>e.kind===`cards`);return n.find(e=>e.name===t)??n[0]??{kind:`cards`,name:`cards`}},hye=()=>(0,R.jsx)(`div`,{className:`flex gap-3 overflow-hidden`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-24 w-64 shrink-0`},t))}),B6=({model:e,view:t,filter:n,sort:r=``,display:i,limit:a,chips:o=!0,empty:s,note:c,isNew:u,viewAll:d,scope:f,list:p})=>{let{resources:m,views:h}=J(),g=uu(),_=mye(t,i),v=r||Ux(e,t),y=m3({resources:m,views:h,model:e,columns:(0,I.useMemo)(()=>zx(e,t,[]),[e,t]),filter:(0,I.useMemo)(()=>pye(n,f),[n,f]),orderBy:v}),b=c6(e,n),x=(t?.names?.singular??K(e.name)).toLowerCase(),S=t?.names?.plural??K(e.name),C=y.source?.total,w=(0,I.useMemo)(()=>y.source&&{...y.source,total:Math.min(y.source.total,a??1/0)},[y.source,a]);return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[o&&b.length>0||C!==void 0||c?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[o&&b.length>0?(0,R.jsx)(v3,{chips:b}):(0,R.jsx)(`span`,{}),(0,R.jsxs)(`p`,{className:`flex flex-wrap gap-x-3 text-muted-foreground`,children:[c&&(0,R.jsx)(`span`,{children:c}),C!==void 0&&(0,R.jsx)(`span`,{className:`tabular-nums`,children:`${C.toLocaleString(l())} ${C===1?x:S.toLowerCase()}`})]})]}):null,y.isLoading?(0,R.jsx)(hye,{}):y.error?(0,R.jsx)(XS,{title:L6(`couldNotLoad`),error:y.error}):!w||w.total===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:s??L6(`noneMatch`,S.toLowerCase())}):(0,R.jsx)(dye,{model:e,view:t,display:_,source:w,label:S,isNew:u}),(0,R.jsxs)(cS,{to:g3(e,t,g,{filter:n,orderBy:v,display:_.name,savedSearch:d?.savedSearch,resource:p}),onClick:d?.onOpen,className:`flex items-center gap-1 self-end font-medium text-primary-text hover:underline`,children:[d?.label??(0,R.jsxs)(R.Fragment,{children:[L6(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:S.toLowerCase()})]}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]})]})},gye=({model:e,view:t,empty:n,...r})=>{let{resources:i,views:a}=J(),o=Kx(i,a,e.name),s=v6(e.name,t.listOf,!0),c=(t.names?.plural??K(e.name)).toLowerCase();if(!o.listOf)return null;if(s.error)return(0,R.jsx)(XS,{title:L6(`couldNotLoadYour`,c),error:s.error});if(!s.data)return(0,R.jsx)(_u,{className:`h-24`});let l=g6(o.model,s.data);return l?(0,R.jsx)(B6,{...r,model:o.model,view:o.view,filter:``,scope:l,list:e.name,empty:n}):(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n??L6(`noneYet`,c)})},_ye=e=>H.list(e,``,``,500,`saved-searches`),V6=(e,t)=>{let n=U(),{resources:r,views:i}=J(),a=r[e];return Eh({queryKey:_ye(e),enabled:t&&a!==void 0,queryFn:async()=>{let t=[],r;do{let o=await n.list(e,{pageSize:500,orderBy:Ux(a,i[e]),...r&&{pageToken:r}});t.push(...o.items),r=o.nextPageToken||void 0}while(r);return t}})},H6=({model:e,of:t,target:n,targetView:r,row:i,recordKey:a})=>{let o=U(),s=nE(),c=String(i[t.filter]??``),l=c6(n,c),u=t.name===void 0?void 0:i[t.name],d=typeof u==`string`&&u!==``?u:void 0,f=t.unseen,p=Dh({mutationFn:t=>o.update(e.name,a,{[f.seenAt]:t},i.etag??`*`),onSettled:()=>s(e.name)}),m=Eh({...QT(o,n,f?Ive(c,f.field,i[f.seenAt]):``),enabled:f!==void 0}),h=(r?.names?.plural??K(n.name)).toLowerCase(),g={model:n,view:r,filter:c,sort:f?`${f.field} desc`:void 0,limit:t.limit,chips:d!==void 0,empty:Q(`noneMatch`,h),note:f&&m.data===0&&Q(`noNew`,h),isNew:f&&(e=>Lve(e.record[f.field],i[f.seenAt])),viewAll:{label:Q(`viewAll`),savedSearch:a,...f&&{onOpen:()=>p.mutate(new Date().toISOString())}}};return{name:d,chips:l,title:d??ave(l),body:g}},vye=({model:e,view:t,target:n,targetView:r,row:i})=>{let a=Dr(Xb(e,i)),{name:o,chips:s,title:c,body:l}=H6({model:e,of:t.searchesOf,target:n,targetView:r,row:i,recordKey:a});return(0,R.jsxs)(`section`,{"aria-label":c,className:`flex flex-col gap-3 py-4 first:pt-0 last:pb-0`,children:[(0,R.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:a},className:`hover:underline`,children:o??(0,R.jsx)(y3,{chips:s})})}),(0,R.jsx)(B6,{...l})]})},yye=({model:e,view:t,empty:n})=>{let{resources:r,views:i}=J(),a=t.searchesOf,o=r[a.resource],s=V6(e.name,!0),c=(t.names?.plural??K(e.name)).toLowerCase();return o?s.error?(0,R.jsx)(XS,{title:Q(`couldNotLoadYour`,c),error:s.error}):s.data?s.data.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n??Q(`noneYet`,c)}):(0,R.jsx)(`div`,{className:`flex flex-col divide-y`,children:s.data.map(n=>(0,R.jsx)(vye,{model:e,view:t,target:o,targetView:i[a.resource],row:n},Dr(Xb(e,n))))}):(0,R.jsx)(_u,{className:`h-40`}):null},bye=({node:e,slots:t})=>{let{resource:n,filter:r=``,sort:i,limit:a,display:o,title:s,description:c,empty:l}=oE(e),{resources:u,views:d}=J(),f=u[n];if(!f)return null;let p=d[f.name];return(0,R.jsx)(lE,{title:s,description:c,actions:t.actions,children:p?.searchesOf?(0,R.jsx)(yye,{model:f,view:p,empty:l}):p?.listOf===void 0?(0,R.jsx)(B6,{model:f,view:p,filter:r,sort:i,limit:a,display:o,empty:l}):(0,R.jsx)(gye,{model:f,view:p,limit:a,display:o,empty:l})})},U6=(e,t)=>{let{resources:n}=J(),r=U(),i=JSON.stringify(e),a=(0,I.useMemo)(()=>JSON.parse(i).map(hc),[i]),o=e=>!!(t&&Object.hasOwn(t.model.fields,e)),s=[...new Set(a.flatMap(e=>e.ok?e.paths:[]))],c=new Map(s.flatMap(e=>{let t=_c(e,o);return t===void 0?[]:[[e,t]]})),l=s.filter(e=>!c.has(e)),u=[...new Set(c.values())].flatMap(e=>n[e]?[n[e]]:[]),d=kme(t,l),f=wh({queries:u.map(e=>QT(r,e))});return a.map(e=>{if(!e.ok)return!1;let t={};for(let n of e.paths){let e=c.get(n);if(e===void 0){let e=d[l.indexOf(n)];if(e.state===`loading`)return;e.state===`ready`&&(t[n]=e.value);continue}let r=u.findIndex(t=>t.name===e);if(r===-1)t[n]=0;else if(f[r].isPending)return;else t[n]=f[r].data??0}return gc(e,t)})},xye=({node:e,children:t})=>{let{when:n}=oE(e),[r]=U6([n],BT());return r?(0,R.jsx)(R.Fragment,{children:t}):null},W6=`text-2xl font-semibold tracking-tight tabular-nums`,Sye=({model:e,filter:t})=>{let{views:n}=J(),r=$T(e,t);return r.isPending?(0,R.jsx)(_u,{className:`h-8 w-16`}):r.error?(0,R.jsx)(`span`,{className:`text-danger-text`,children:pg(`couldNotCount`)}):(0,R.jsx)(cS,{to:OE(n[e.name],e.name,t),className:`${W6} hover:text-primary-text after:absolute after:inset-0 after:content-['']`,children:r.data.toLocaleString(l())})},Cye=({field:e,format:t})=>{let n=t2(BT(),e);return n.state===`loading`?(0,R.jsx)(_u,{className:`h-8 w-16`}):n.state===`missing`?null:(0,R.jsx)(`span`,{className:W6,children:(0,R.jsx)(Z0,{model:n.model,field:n.field,value:n.value,format:t})})},wye=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=oE(e),{resources:c}=J(),l=r===void 0?void 0:c[r];return(0,R.jsxs)(lE,{className:`relative h-full`,bodyClassName:`flex flex-col`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground break-words`,children:t}),(0,R.jsxs)(`div`,{className:`mt-auto pt-1`,children:[n!==void 0&&(0,R.jsx)(`span`,{className:W6,children:n}),l&&(0,R.jsx)(Sye,{model:l,filter:i}),a!==void 0&&(0,R.jsx)(Cye,{field:a,format:o})]}),s&&(0,R.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},G6=(e,t)=>{let n=e.position;if(!n||!VT(t,`update`))return;let r=e.fields[n.field];return r&&!r.readOnly?n.field:void 0},K6=(e,t)=>e.position?.within===void 0?G6(e,t):void 0,Tye=(e,t,n)=>t.position?.within!==void 0&&e.field===t.position.within&&!e.through&&!e.from&&!e.filter?G6(t,n):void 0,Eye=(e,t,n,r)=>{if(t===void 0||e?.list?.drag?.rank!==!0||r!==``)return!1;let i=Wx(n);return i.columnId===t&&i.direction===`asc`},q6=e=>e===null?`none`:`value:${e}`,J6=e=>e.data.current?.sortable!==void 0,Y6=e=>{let t=Aie(e),n=t.find(e=>e.data?.droppableContainer&&J6(e.data.droppableContainer));return n?[n]:t.length>0?t:w_(e)},Dye=(e,{context:{collisionRect:t,droppableRects:n,droppableContainers:r,over:i}})=>{let a=e.code===`ArrowRight`?1:e.code===`ArrowLeft`?-1:0;if(a===0||!t)return;e.preventDefault();let o=r.getEnabled(),s=o.filter(e=>!J6(e)).flatMap(e=>{let t=n.get(e.id);return t?[{id:e.id,rect:t}]:[]}).sort((e,t)=>e.rect.left-t.rect.left),c=t.left+t.width/2,l=i?.data.current?.sortable?.containerId??i?.id,u=l===void 0?s.findIndex(e=>e.rect.left<=c&&c<=e.rect.right):s.findIndex(e=>e.id===l),d=s[u+a];if(u===-1||!d)return;let f=X6(o,n,d.id)[0];return{x:d.rect.left+(d.rect.width-t.width)/2,y:f?.rect.top??d.rect.top}},X6=(e,t,n)=>e.filter(e=>e.data.current?.sortable?.containerId===n).flatMap(e=>{let n=t.get(e.id);return n?[{id:e.id,rect:n}]:[]}).sort((e,t)=>e.rect.top-t.rect.top),Oye=(e,t)=>{let n=e.code===`ArrowDown`?1:e.code===`ArrowUp`?-1:0;if(n===0)return Dye(e,t);let{droppableRects:r,droppableContainers:i,over:a}=t.context,o=a?.data.current?.sortable?.containerId??a?.id;if(o===void 0)return;let s=X6(i.getEnabled(),r,o),c=s[(a?.id===o?s.length:s.findIndex(e=>e.id===a?.id))+n];if(c)return e.preventDefault(),{x:c.rect.left,y:c.rect.top}},Z6=(e,t,n,r)=>{let i=Oh({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=>Hx(e,t))),total:a[0]?.total??0,loading:i.isPending,error:i.error,more:i.hasNextPage,loadMore:()=>void i.fetchNextPage()}},kye=({model:e,by:t,value:n,fields:r,filter:i,orderBy:a})=>{let{resources:o,views:s}=J(),c=m3({resources:o,views:s,model:e,columns:r,filter:yx(i,t,n),orderBy:a});return Z6(e,c.page,c.key,!0)},Aye=(e,t)=>{if(!t)return e;let n=new Map(e.map(e=>[e.key,e])),r=new Set(t);return[...t.flatMap(e=>n.get(e)??[]),...e.filter(e=>!r.has(e.key))]},jye=({model:e,view:t,display:n,column:r,fields:i,filter:a,orderBy:o,limit:s,moves:c,movable:u,placeable:d,dragged:f})=>{let p=kye({model:e,by:n.by,value:r.value,fields:i,filter:a,orderBy:o}),m=bx(e,t,n),h=new Set(p.rows.map(e=>e.key)),_=new Map(c.map(e=>[e.row.key,e])),v=p.rows.filter(e=>_.has(e.key)&&_.get(e.key).to!==r.value),y=c.filter(e=>e.to===r.value&&!h.has(e.row.key)).map(e=>e.row),b=p.rows.filter(e=>!v.includes(e)).map(e=>_.has(e.key)?_.get(e.key).row:e),x=c.findLast(e=>e.to===r.value&&e.order),S=Aye([...y,...b],x?.order).slice(0,s),{setNodeRef:C,isOver:w}=jv({id:q6(r.value),data:{column:r,rows:S}}),T=p.total-v.length+y.length;if(r.value===null&&!p.loading&&T===0&&!w)return null;let E=(t?.names?.plural??K(e.name)).toLowerCase(),D=t?.fields[n.by];return(0,R.jsxs)(`section`,{ref:C,"aria-label":`${r.label}, ${T}`,className:g(`flex w-72 shrink-0 snap-start flex-col gap-2 rounded-lg bg-surface p-2`,w&&`ring-2 ring-primary/30`),children:[(0,R.jsxs)(`header`,{className:`flex items-center justify-between gap-2 px-1 pt-0.5`,children:[(0,R.jsx)(`h2`,{className:`min-w-0 truncate text-body font-medium`,children:r.value===null?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:r.label}):(0,R.jsx)(X0,{value:r.value,hints:D,children:r.label})}),!p.loading&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-muted-foreground`,children:T.toLocaleString(l())})]}),p.loading?Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-20`},t)):p.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:p.error}):S.length===0?(0,R.jsx)(`p`,{className:`px-1 py-4 text-center text-xs text-muted-foreground`,children:q(`noPlural`,E)}):(0,R.jsx)(ty,{id:q6(r.value),items:S.map(e=>e.key),strategy:Zv,children:(0,R.jsx)(`ul`,{className:`-mb-2 flex flex-col`,children:S.map(n=>(0,R.jsx)(Mye,{model:e,view:t,card:m,row:n,column:r,rows:S,draggable:(u||d)&&HT(n.record,`update`),placeable:d,dragged:f},n.key))})}),s===void 0&&p.more&&(0,R.jsx)(V,{size:`sm`,variant:`ghost`,onClick:p.loadMore,children:q(`showMore`)})]})},Mye=({model:e,view:t,card:n,row:r,column:i,rows:a,draggable:o,placeable:s,dragged:c})=>{let{setNodeRef:l,setActivatorNodeRef:u,listeners:d,isDragging:f,isOver:p,active:m,transform:h,transition:_}=ly({id:r.key,data:{row:r,column:i,rows:a},disabled:{draggable:!o,droppable:!s}}),v=p&&m?.data.current?.column?.value!==i.value;return(0,R.jsx)(`li`,{ref:e=>{l(e),u(e?.querySelector(`a`)??e)},...d,onDragStart:e=>e.preventDefault(),onClickCapture:e=>{c()&&(e.preventDefault(),e.stopPropagation())},style:{transform:h?`translate3d(${h.x}px, ${h.y}px, 0)`:void 0,transition:_},className:g(`relative pb-2`,o&&`cursor-grab touch-manipulation`,f&&`opacity-40`,v&&`before:absolute before:inset-x-0 before:-top-1 before:h-0.5 before:rounded-full before:bg-primary`),children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:r,swipe:!1})})},Q6=e=>e.kind===`and`?e.args.flatMap(Q6):[e],$6=e=>e.kind===`string`?String(e.value):void 0,Nye=(e,t)=>{if(e.kind===`compare`&&e.op===`=`&&e.field.path.join(`.`)===t){let t=$6(e.value);return t===void 0?void 0:[t]}if(e.kind===`in`&&e.field.path.join(`.`)===t){let t=e.values.map($6);return t.every(e=>e!==void 0)?t:void 0}},Pye=(e,t,n)=>{let r=ln(e);if(!r.ok||!r.ast)return n;let i=Q6(r.ast).map(e=>Nye(e,t)).filter(e=>e!==void 0);return n.filter(e=>i.every(t=>e.value!==null&&t.includes(e.value)))},e8=(e,t)=>t!==null&&Object.hasOwn(e,t)?e[t]:void 0,t8=a({en:{done:`Done`,reorder:`Reorder`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`,couldNotChange:`Could not change the order`,orderChanged:`Order changed`,undo:`Undo`,couldNotUndo:`Could not undo`,movedToPlace:e=>`Moved to place ${e}`,notMoved:`Left in its place`,noRule:`No drop rule is registered as {}. Give it in dropRules in protobase.ui.tsx, or load the plugin that provides it.`},nl:{done:`Klaar`,reorder:`Volgorde wijzigen`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`,couldNotChange:`Kon de volgorde niet wijzigen`,orderChanged:`Volgorde gewijzigd`,undo:`Ongedaan maken`,couldNotUndo:`Kon niet ongedaan maken`,movedToPlace:e=>`Verplaatst naar plaats ${e}`,notMoved:`Op zijn plaats gelaten`,noRule:`Er is geen sleepregel geregistreerd als {}. Geef die in dropRules in protobase.ui.tsx, of laad de plug-in die haar levert.`}}),n8=(e,t,n)=>t.flatMap(({before:t,record:r,etag:i})=>{let a=n.filter(e=>Object.hasOwn(t,e)&&t[e]!==r[e]);return a.length===0?[]:[{op:`update`,resource:e.name,key:Xb(e,r),data:Object.fromEntries(a.map(e=>[e,t[e]])),etag:i}]}),r8=async(e,t,n)=>{let r=[],i=``;do{let a=await e.search(t,{filter:n,pageSize:100,...i&&{pageToken:i}});r.push(...a.items),i=a.nextPageToken}while(i);return r},i8=(e,t)=>t===void 0?e:`(${e}) AND (${t})`,a8=async(e,t,n,r)=>{let i=t.position?.after;if(!i)return{after:[],before:[]};let a=t.primaryKey[0],o=Xb(t,r),s=e=>Dr([e]),c=await r8(e,i.resource,i8(Hn(ir.or(ir.eq(i.field,o),ir.eq(i.key,o))),i.filter)),l=(e,t)=>c.flatMap(n=>s(n[e])===s(o)&&s(n[t])!==s(o)?[n[t]]:[]),u=l(i.field,i.key),d=l(i.key,i.field),[f,p]=await Promise.all([r8(e,t.name,i8(Hn(ir.in(a,[o,...u])),i.while)),d.length===0?[]:r8(e,t.name,Hn(ir.in(a,d)))]),m=e=>{let r=Dr(Xb(t,e));return{key:r,rank:e[t.position.field],title:qb(t,n,e,r)}},h=f.some(e=>s(e[a])===s(o));return{after:f.filter(e=>s(e[a])!==s(o)).map(m),before:h?p.map(m):[]}},o8=e=>typeof e==`number`&&Number.isInteger(e),s8=(e,t,n)=>{let r=0;for(;r<t&&o8(e[r])&&(r===0||e[r]>e[r-1]);)r+=1;let i=e.length;for(;i-1>n&&o8(e[i-1])&&(i===e.length||e[i-1]<e[i]);)--i;let a=Math.min(t,r),o=a===0?1:e[a-1]+1,s=Math.max(n,i-1);for(;s+1<e.length&&e[s+1]<=o+(s-a);)s+=1;return{first:a,last:s,start:o}},Fye=(e,t,n)=>{let r=e.findIndex(e=>e.key===t.key);return r===-1?[...e.slice(0,n),t,...e.slice(n)]:Wv(e,r,n)},c8=(e,t,n)=>{let r=e.findIndex(e=>e.key===t.key);return{order:Fye(e,t,n),first:r===-1?n:Math.min(r,n),last:r===-1?n:Math.max(r,n)}},l8=e=>typeof e.record.etag==`string`?e.record.etag:`*`,Iye=(e,t,n,r,i,a,o,s,c)=>{let l=(r.record[t]??null)!==i.value,u=s8(a.map(e=>e.record[n]),o,s),d=a.slice(u.first,u.last+1),f=e=>l&&e.key===r.key?`*`:l8(e),p=(t,r)=>({op:`reorder`,resource:e.name,field:n,keys:t.map(t=>Xb(e,t.record)),start:r,etags:Object.fromEntries(t.map(t=>[Dr(Xb(e,t.record)),f(t)]))}),m=d.filter(e=>e.key!==r.key),h=c===void 0?[p(d,u.start)]:[p([r],c),...m.length>0?[p(m,u.start)]:[]];return l?[{op:`update`,resource:e.name,key:Xb(e,r.record),data:{[t]:i.value},etag:l8(r)},...h]:h},Lye=(e,t,n)=>{let r=new Map(t.map(t=>[Dr(Xb(e,t.record)),t.record])),i=new Map;for(let t of n.results){let n=t.op===`reorder`?t.records:t.op===`update`?[t]:[];for(let{record:t,etag:r}of n)i.set(Dr(Xb(e,t)),{record:t,etag:r})}return[...i].flatMap(([e,t])=>{let n=r.get(e);return n?[{before:n,...t}]:[]})},u8=a({en:{dependsOn:(e,t)=>`${e} depends on ${t}.`},nl:{dependsOn:(e,t)=>`${e} hangt af van ${t}.`}}),d8=e=>e!=null&&e!==``,Rye=({model:e,rank:t,rows:n,row:r,index:i,bounds:a,title:o})=>{let s=n.some(e=>e.key===r.key)?n.length-1:n.length,c;for(let l=i;l<=s;l++){let{order:i,first:u,last:d}=c8(n,r,l),f=i.map(e=>e.record[t]),p=s8(f,u,d),m=new Map(i.map((t,n)=>[Dr(Xb(e,t.record)),n>=p.first&&n<=p.last?p.start+n-p.first:f[n]])),h=e=>m.has(e.key)?m.get(e.key):e.rank,g=Number(m.get(Dr(Xb(e,r.record)))),_=a.after.filter(e=>d8(h(e))&&Number(h(e))>=g),v=a.before.find(e=>d8(h(e))&&Number(h(e))<=g),y=v?u8(`dependsOn`,v.title,o):_[0]&&u8(`dependsOn`,o,_[0].title);if(!y)return{place:{index:l},...c!==void 0&&{reason:c}};if(c??=y,l!==s||v)continue;let b=Math.max(..._.map(e=>Number(h(e))))+1;if(a.before.every(e=>!d8(h(e))||Number(h(e))>b))return{place:{index:l,bump:b},reason:c}}return{reason:c}},zye=({model:e,view:t,by:n,rank:r,drop:i,labelOf:a,titleOf:o})=>{let s=U(),c=qy(),l=nE(),[u,d]=(0,I.useState)([]),f=(0,I.useRef)(void 0),p=e=>d(t=>t.filter(t=>t.row.key!==e)),m=r?[n,r]:[n],h=Dh({mutationFn:e=>e(),onError:e=>c.show({state:`error`,title:q(`couldNotUndo`),description:xx(e)}),onSettled:()=>l(e.name)}),g=async(t,r)=>{let a=i&&e8(i,r.value);if(!a)throw Error(`The column ${r.label} takes no cards`);let o=Xb(e,t.record),c=typeof t.record.etag==`string`?t.record.etag:`*`,l=await a({resource:e.name,record:t.record,recordKey:o,etag:c,to:r.value,client:s});return{landed:(await s.get(e.name,o)).record[n]??null,...l&&{undo:l}}},_=(t,n)=>({landed:n.value,undo:()=>s.batchWrite(n8(e,t,m))}),v=(e,t,r)=>{let i={...e,record:{...e.record,[n]:t.value}},a=r?.map(e=>e.key);d(n=>[...n.filter(t=>t.row.key!==e.key),{row:i,to:t.value,...a&&{order:a}}])},y=async(n,i,a)=>{if(!e.position?.after)return{index:a.index};let l=await a8(s,e,t,n.record),u=Rye({model:e,rank:r,rows:a.rows,row:n,index:a.index,bounds:l,title:o(n)}),d=!u.place||u.place.bump===void 0&&u.place.index===a.rows.findIndex(e=>e.key===n.key);if(u.reason!==void 0&&c.show({state:`warning`,title:d?t8(`notMoved`):t8(`movedToPlace`,u.place.index+1),description:u.reason}),!d)return u.place.index!==a.index&&v(n,i,c8(a.rows,n,u.place.index).order),u.place},b=async(t,i,a)=>{let o=await y(t,i,a);if(!o)return;let{order:c,first:l,last:u}=c8(a.rows,t,o.index);return _(Lye(e,c,await s.batchWrite(Iye(e,n,r,t,i,c,l,u,o.bump))),i)},x=Dh({mutationFn:async({row:t,to:a,place:o})=>{if(o&&!r)throw Error(`A board places a card only by its rank`);let c=t.record[n]??null;if(i&&a.value!==c)return g(t,a);if(o)return b(t,a,o);let l=typeof t.record.etag==`string`?t.record.etag:`*`,u=await s.update(e.name,Xb(e,t.record),{[n]:a.value},l);return _([{before:t.record,record:u.record,etag:u.etag}],a)},onMutate:({row:e,to:t,place:n})=>v(e,t,n&&c8(n.rows,e,n.index).order),onSuccess:(e,{row:t,to:r})=>{if(!e)return;let{landed:i,undo:o}=e;f.current!==void 0&&c.dismiss(f.current),f.current=void 0;let s=t.record[n]??null,l=i===s?s===r.value?q(`orderChanged`):q(`stayedIn`,a(i)):q(`movedTo`,a(i));if(!o){c.show({state:`success`,title:l});return}let u=c.show({state:`success`,title:l,action:{label:q(`undo`),onClick:()=>{c.dismiss(u),f.current=void 0,h.mutate(o)}}});f.current=u},onError:(e,{row:t,to:r})=>{p(t.key);let i=(t.record[n]??null)===r.value?q(`couldNotReorder`):q(`couldNotMoveTo`,r.label);c.show({state:`error`,title:i,description:xx(e)})},onSettled:async(t,n,{row:r})=>{await l(e.name),p(r.key)}});return{moves:u,move:(e,t,n)=>x.mutate({row:e,to:t,...n&&{place:n}})}},f8=(e,t)=>{let n=e.data.current;if(!n?.column||!n.rows)return;if(n.sortable)return{column:n.column,rows:n.rows,index:n.sortable.index};let r=n.rows.some(e=>e.key===t.key);return{column:n.column,rows:n.rows,index:r?n.rows.length-1:n.rows.length}},p8=({model:e,view:t,display:n,fields:r,filter:i,orderBy:a,limit:o})=>{let s=_x(e,t,n),c=Pye(i,n.by,s),l=bx(e,t,n),u=oS(e.name),{boardDrops:d}=wC(),f=t?.list?.drag,p=typeof f?.board==`string`?f.board:void 0,m=p===void 0?void 0:d?.[p],h=t=>VT(u,`update`)&&(f?.board===!0?!e.fields[n.by]?.readOnly:m!==void 0&&e8(m,t)!==void 0),g=c.some(e=>h(e.value)),_=vx(e),v=f?.rank===!0&&_!==void 0&&K6(e,u)!==void 0,y=_?`${_} asc`:a,b=e=>s.find(t=>t.value===e)?.label??String(e),x=e=>String(e.labels[l.title]??e.record[l.title]??e.key),{moves:S,move:C}=zye({model:e,view:t,by:n.by,rank:_,drop:m,labelOf:b,titleOf:x}),[w,T]=(0,I.useState)(),E=(0,I.useRef)(!1),D=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:Oye}));if(p!==void 0&&!m)return(0,R.jsx)(fg,{children:Kh(q(`noDrop`),p)});let O=e=>c.find(t=>q6(t.value)===e),k=e=>e.record[n.by]??null,A=(e,t)=>h(k(e))&&h(t.value),j=(e,t)=>{if(!t)return{over:q(`noColumn`)};let n=v?f8(t,e):void 0;if(!n)return{over:O(t.id)?.label??q(`noColumn`)};let r=n.rows.some(t=>t.key===e.key)?n.rows.length:n.rows.length+1;return{over:q(`placeOf`,n.column.label,n.index+1,r),place:q(`place`,n.column.label,n.index+1)}},M=(e,t)=>{let n=(v?f8(t,e)?.column:void 0)??O(t.id);return n!==void 0&&n.value!==k(e)&&!A(e,n)};return(0,R.jsxs)(Cv,{sensors:D,collisionDetection:Y6,onDragStart:({active:e})=>{E.current=!0,T(e.data.current.row)},onDragEnd:({active:e,over:t})=>{T(void 0),setTimeout(()=>E.current=!1);let n=e.data.current.row;if(!t)return;let r=v?f8(t,n):void 0;if(!r){let e=O(t.id);e&&e.value!==k(n)&&A(n,e)&&C(n,e);return}let i=r.rows.findIndex(e=>e.key===n.key);if(i!==-1||A(n,r.column)){if(i===-1&&m)return C(n,r.column);i!==r.index&&C(n,r.column,{rows:r.rows,index:r.index})}},onDragCancel:()=>{T(void 0),setTimeout(()=>E.current=!1)},accessibility:{announcements:{onDragStart:({active:e})=>q(`pickedUp`,x(e.data.current.row)),onDragOver:({active:e,over:t})=>q(`isOver`,x(e.data.current.row),j(e.data.current.row,t).over),onDragEnd:({active:e,over:t})=>{let n=e.data.current.row;if(!t||M(n,t))return q(`putBack`,x(n));let r=j(n,t);return q(`wasMovedTo`,x(n),r.place??r.over)},onDragCancel:({active:e})=>q(`cancelled`,x(e.data.current.row))},screenReaderInstructions:{draggable:q(v?g?`boardAnywhere`:`boardWithin`:`boardAcross`)}},children:[(0,R.jsx)(`div`,{className:`relative min-w-0 flex-1 overflow-x-auto`,children:(0,R.jsx)(`div`,{className:`flex snap-x items-start gap-3 pb-2`,children:c.map(a=>(0,R.jsx)(jye,{model:e,view:t,display:n,column:a,fields:r,filter:i,orderBy:y,limit:o,moves:S,movable:h(a.value),placeable:v,dragged:()=>E.current},q6(a.value)))})}),(0,R.jsx)(Uv,{children:w&&(0,R.jsx)(M6,{model:e,view:t,display:l,row:w,swipe:!1})})]})},m8=864e5,h8=e=>new Date(e).toISOString().slice(0,10),g8=e=>Date.parse(`${e}T00:00:00Z`),_8=(e,t)=>h8(g8(e)+t*m8),v8=e=>_8(e,-((new Date(g8(e)).getUTCDay()+6)%7)),y8=(e,t=0)=>{let n=new Date(g8(e));return h8(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+t,1))},b8=({scale:e,day:t})=>({scale:e,day:e===`month`?y8(t):v8(t)}),x8=(e,t,n=Yd())=>b8(e??{scale:`month`,day:tf(t,n)}),S8=(e,t,n=Yd())=>b8({scale:e,day:tf(t,n)}),C8=(e,t)=>e.scale===`month`?{scale:`month`,day:y8(e.day,t)}:{scale:`week`,day:_8(v8(e.day),7*t)},w8=e=>{let t=v8(e.scale===`month`?y8(e.day):e.day),n=(g8(e.scale===`month`?_8(v8(_8(y8(e.day,1),-1)),6):_8(t,6))-g8(t))/m8+1;return Array.from({length:n},(e,n)=>_8(t,n))},Bye=e=>{let t=w8(e);return{from:t[0],to:_8(t.at(-1),1)}},T8=(e,t)=>t.fields[e.start]?.type===`timestamp`,Vye=(e,t,n,r=Yd())=>{let i=T8(e,t),a=e=>new Date(rf(e,r)).toISOString().replace(`.000Z`,`Z`),o=e=>i?{kind:`timestamp`,value:a(e),span:{start:0,end:0}}:{kind:`string`,value:e,span:{start:0,end:0}},s=ir.and(ir.gte(e.start,o(n.from)),ir.lt(e.start,o(n.to)));if(e.end===void 0)return Hn(s);let c=i?ir.gt(e.end,o(n.from)):ir.gte(e.end,o(n.from));return Hn(ir.or(s,ir.and(ir.lt(e.start,o(n.from)),c)))},Hye=(e,t)=>e===``?t:`(${e}) AND (${t})`,E8=e=>{if(typeof e!=`string`)return;let t=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:e);return Number.isNaN(t)?void 0:t},D8=(e,t,n,r=Yd())=>{let i=E8(e[t.start]);if(i===void 0)return;let a=T8(t,n),o=e=>a?tf(e,r):h8(e),s=o(i),c=t.end===void 0?void 0:E8(e[t.end]),l=c===void 0?s:o(a?c-1:c);return{first:s,last:l<s?s:l}},Uye=(e,t,n,r,i=Yd())=>{let a=D8(e,t,n,i);return a?r.filter(e=>e>=a.first&&e<=a.last):[]},O8=(e,t)=>e.toSorted((e,n)=>(E8(e.record[t.start])??0)-(E8(n.record[t.start])??0)),Wye=(e,t,n,r,i=Yd())=>{let a=new Map(r.map(e=>[e,[]]));for(let o of O8(e,t))for(let e of Uye(o.record,t,n,r,i))a.get(e).push(o);return a},Gye=(e,t,n,r,i,a=Yd())=>{let o=(g8(i)-g8(r))/m8,s=T8(t,n),c=e=>{let t=E8(e);if(t!==void 0)return s?new Date(nf(t+$d(t,a)+o*m8,a)).toISOString():_8(h8(t),o)},l=c(e[t.start]),u=t.end===void 0?void 0:c(e[t.end]);return{...l!==void 0&&{[t.start]:l},...u!==void 0&&{[t.end]:u}}},k8=({heading:e,unit:t,previous:n,today:r,next:i,scales:a,scalesLabel:o,linkTo:s,onView:l})=>{let u=(e,t,n,r,i)=>s?(0,R.jsx)(cS,{to:s(e),className:t,"aria-label":n,"aria-current":i?`page`:void 0,children:r}):(0,R.jsx)(`button`,{type:`button`,className:t,"aria-label":n,"aria-pressed":i,onClick:()=>l?.(e),children:r}),d=Af({variant:`secondary`,size:`sm`});return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`h2`,{className:`text-sm font-medium`,children:e}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[u(n,d,q(`previousPeriod`,t),(0,R.jsx)(wi,{className:`size-3.5`})),u(r,d,q(`today`),q(`today`)),u(i,d,q(`nextPeriod`,t),(0,R.jsx)(Ei,{className:`size-3.5`}))]}),(0,R.jsx)(`span`,{role:`group`,"aria-label":o,className:c.group(),children:a.map(e=>(0,R.jsx)(I.Fragment,{children:u(e.view,c.option(e.current),e.label,e.label,e.current)},e.label))})]})]})},Kye=e=>{let t=w8(e),n=e=>Date.parse(`${e}T00:00:00Z`);return e.scale===`month`?_f(n(e.day)):Sf(n(t[0]),n(t.at(-1)))},qye=({view:e,now:t,linkTo:n,onView:r})=>{let i=e.scale===`month`&&tf(t,Yd()).startsWith(e.day.slice(0,7)),a=n=>n===`week`&&i?S8(`week`,t):x8({scale:n,day:e.day},t),o=(t,n)=>({view:a(t),label:n,current:e.scale===t});return(0,R.jsx)(k8,{heading:Kye(e),unit:e.scale===`month`?`month`:`week`,previous:C8(e,-1),today:S8(e.scale,t),next:C8(e,1),scales:[o(`month`,q(`month`)),o(`week`,q(`week`))],scalesLabel:q(`calendarScale`),linkTo:n,onView:r})},Jye=`day:`,A8=e=>`${Jye}${e}`,Yye=(e,t)=>`${e}@${t}`,Xye=(e,{context:{active:t,collisionRect:n,droppableRects:r,over:i}})=>{let a={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.code],o=i?String(i.id).slice(4):t?.data.current?.day;if(a===void 0||!n||o===void 0)return;e.preventDefault();let s=r.get(A8(_8(o,a)));if(s)return{x:s.left+(s.width-n.width)/2,y:s.top+4}},Zye=({day:e,count:t,children:n,more:r,inMonth:i,today:a,week:o})=>{let{setNodeRef:s,isOver:c}=jv({id:A8(e)}),l=Date.parse(`${e}T00:00:00Z`);return(0,R.jsxs)(`section`,{ref:s,"aria-label":`${xf(l)}, ${t}`,className:g(`flex min-w-0 flex-col gap-1 bg-background p-1`,o?`min-h-28 sm:min-h-64`:`min-h-24`,!i&&`bg-surface`,c&&`ring-2 ring-inset ring-primary/30`),children:[(0,R.jsxs)(`header`,{className:g(`flex items-center gap-1 px-0.5 text-xs`,i?`text-foreground`:`text-muted-foreground`),children:[o&&(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:bf(l)}),(0,R.jsx)(`span`,{"aria-current":a?`date`:void 0,className:g(`inline-flex size-5 items-center justify-center rounded-full tabular-nums`,a&&`bg-primary font-medium text-primary-foreground`),children:Number(e.slice(8))})]}),n,r]})},j8=(e,t,n,r)=>{let i=n.title??Kb(e,t),a=e.fields[i],o=r.labels[i]??(a?dx(a,r.record[i],t?.fields[i]):``);return o===``?r.key:o},Qye=(e,t,n,r)=>{let i=n.record[t.start];if(e.fields[t.start]?.type!==`timestamp`||typeof i!=`string`)return;let a=Date.parse(i);return tf(a,Yd())===r?Cf(a):void 0},M8=({model:e,view:t,display:n,row:r,day:i,className:a})=>{let o=l6(e),s=Qye(e,n,r,i);return(0,R.jsxs)(cS,{to:{kind:`record`,resource:e.name,key:r.key},onClick:()=>o(r.record),className:g(`flex min-w-0 items-baseline gap-1 rounded-md border border-border bg-background px-1.5 py-0.5 text-xs hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,a),children:[s&&(0,R.jsx)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:s}),(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:j8(e,t,n,r)})]})},N8=({movable:e,dragged:t,...n})=>{let{setNodeRef:r,setActivatorNodeRef:i,listeners:a,isDragging:o}=Dv({id:Yye(n.row.key,n.day),data:{row:n.row,day:n.day},disabled:!e});return(0,R.jsx)(`div`,{ref:e=>{r(e),i(e?.querySelector(`a`)??e)},...a,onDragStart:e=>e.preventDefault(),onClickCapture:e=>{t()&&(e.preventDefault(),e.stopPropagation())},className:g(`min-w-0`,e&&`cursor-grab touch-manipulation`,o&&`opacity-40`),children:(0,R.jsx)(M8,{...n})})},P8=({model:e,display:t,range:n,fields:r,filter:i})=>{let{resources:a,views:o}=J(),s=m3({resources:a,views:o,model:e,columns:r,filter:Hye(i,Vye(t,e,n)),orderBy:`${t.start} asc`}),c=Z6(e,s.page,s.key,!0),l=c.more&&!c.loading&&c.rows.length<500;(0,I.useEffect)(()=>{l&&c.loadMore()},[l,c.rows.length]);let u=c.rows.length>500||c.rows.length===500&&c.more;return{rows:c.rows.slice(0,500),capped:u,loading:c.loading,error:c.error}},F8=(e,t)=>{let n=new Map(t.map(e=>[e.key,e.patch]));return e.map(e=>n.has(e.key)?{...e,record:{...e.record,...n.get(e.key)}}:e)},I8=(e,t)=>{let n=U(),r=qy(),i=nE(),[a,o]=(0,I.useState)([]),s=e=>o(t=>t.filter(t=>t.key!==e)),c=Dh({mutationFn:({row:t,patch:r})=>{let i=typeof t.record.etag==`string`?t.record.etag:`*`;return n.update(e.name,Xb(e,t.record),r,i)},onMutate:({row:e,patch:t})=>o(n=>[...n.filter(t=>t.key!==e.key),{key:e.key,patch:t}]),onError:(e,{row:t,to:n})=>{s(t.key),r.show({state:`error`,title:q(`couldNotMoveTo`,pf(Date.parse(`${n}T00:00:00Z`))),description:xx(e)})},onSettled:async(t,n,{row:r})=>{await i(e.name),s(r.key)}});return{moves:a,move:(n,r,i)=>c.mutate({row:n,patch:Gye(n.record,t,e,r,i),to:i})}},$ye=3,L8=({model:e,view:t,display:n,fields:r,filter:i,at:a,linkTo:o,now:s=Date.now()})=>{let[c,l]=(0,I.useState)(),u=x8(o?a:c,s),d=w8(u),f=P8({model:e,display:n,range:Bye(u),fields:r,filter:i}),{moves:p,move:m}=I8(e,n),h=Wye(F8(f.rows,p),n,e,d),_=VT(oS(e.name),`update`)&&[n.start,n.end].every(t=>t===void 0||!e.fields[t]?.readOnly),[v,y]=(0,I.useState)(),b=(0,I.useRef)(!1),x=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:Xye})),S=tf(s,Yd()),C=u.scale===`week`,w=e=>pf(Date.parse(`${String(e).slice(A8(``).length)}T00:00:00Z`)),T=r=>j8(e,t,n,r.row),E={onDragStart:({active:e})=>q(`pickedUp`,T(e.data.current)),onDragOver:({active:e,over:t})=>q(`isOver`,T(e.data.current),t?w(t.id):q(`noDay`)),onDragEnd:({active:e,over:t})=>t?q(`wasMovedTo`,T(e.data.current),w(t.id)):q(`putBack`,T(e.data.current)),onDragCancel:({active:e})=>q(`cancelled`,T(e.data.current))},D=()=>{y(void 0),setTimeout(()=>b.current=!1)},O=({active:e})=>{b.current=!0,y(e.data.current)},k=({active:e,over:t})=>{D();let{row:n,day:r}=e.data.current,i=t?String(t.id).slice(A8(``).length):void 0;i&&i!==r&&m(n,r,i)},A=(e,t)=>{let n=x8({scale:`week`,day:e},s),r=q(`moreHidden`,t),i=`self-start rounded px-1 text-xs text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-primary`;return o?(0,R.jsx)(cS,{to:o(n),className:i,children:r}):(0,R.jsx)(`button`,{type:`button`,className:i,onClick:()=>l(n),children:r})};return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,R.jsx)(qye,{view:u,now:s,linkTo:o,onView:l}),f.error&&(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:f.error}),f.capped&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:q(`capped`,500,u.scale)}),(0,R.jsxs)(Cv,{sensors:x,collisionDetection:Y6,onDragStart:O,onDragEnd:k,onDragCancel:D,accessibility:{announcements:E,screenReaderInstructions:{draggable:q(`calendarInstructions`)}},children:[(0,R.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border`,children:[!C&&(0,R.jsx)(`div`,{"aria-hidden":!0,className:`grid grid-cols-7 gap-px border-b border-border bg-border`,children:d.slice(0,7).map(e=>(0,R.jsx)(`span`,{className:`bg-surface px-1.5 py-1 text-xs font-medium text-muted-foreground`,children:bf(Date.parse(`${e}T00:00:00Z`))},e))}),(0,R.jsx)(`div`,{className:g(`grid gap-px bg-border`,C?`grid-cols-1 sm:grid-cols-7`:`grid-cols-7`),children:d.map(r=>{let i=h.get(r),a=C?i:i.slice(0,$ye);return(0,R.jsx)(Zye,{day:r,count:i.length,inMonth:C||r.startsWith(u.day.slice(0,7)),today:r===S,week:C,more:a.length<i.length&&A(r,i.length-a.length),children:f.loading?(0,R.jsx)(_u,{className:`h-4`}):a.map(i=>(0,R.jsx)(N8,{model:e,view:t,display:n,row:i,day:r,movable:_&&HT(i.record,`update`),dragged:()=>b.current},i.key))},r)})})]}),(0,R.jsx)(Uv,{children:v&&(0,R.jsx)(M8,{model:e,view:t,display:n,row:v.row,day:v.day})})]})]})},ebe=864e5,R8=e=>Date.parse(`${e}T00:00:00Z`),z8=(e,t=0)=>{let n=new Date(R8(e));return new Date(Date.UTC(n.getUTCFullYear(),Math.floor(n.getUTCMonth()/3)*3+3*t,1)).toISOString().slice(0,10)},B8=({scale:e,day:t})=>({scale:e,day:e===`week`?v8(t):e===`month`?y8(t):z8(t)}),V8=(e,t,n=Yd())=>B8(e??{scale:`month`,day:tf(t,n)}),H8=(e,t)=>{let{scale:n,day:r}=B8(e);return{scale:n,day:n===`week`?_8(r,7*t):n===`month`?y8(r,t):z8(r,t)}},U8=e=>{let t=B8(e).day,n=(R8(H8(e,1).day)-R8(t))/ebe;return Array.from({length:n},(e,n)=>_8(t,n))},tbe=e=>({from:B8(e).day,to:H8(e,1).day}),nbe=(e,t,n,r=Yd())=>{let i=tf(n,r),a=U8(e);return B8({scale:t,day:i>=a[0]&&i<=a.at(-1)?i:a[0]})},rbe=e=>{let t=U8(e);return e.scale===`week`?Sf(R8(t[0]),R8(t.at(-1))):e.scale===`month`?_f(R8(t[0])):yf(R8(t[0]),R8(y8(t.at(-1))))},ibe=e=>{let t=U8(e);if(e.scale===`week`)return t.map((e,t)=>({index:t,span:1,label:`${bf(R8(e))} ${Number(e.slice(8))}`}));if(e.scale===`month`)return t.map((e,t)=>({index:t,span:1,label:String(Number(e.slice(8))),...t%7!=0&&{minor:!0}}));let n=t.flatMap((e,t)=>e.endsWith(`-01`)?[t]:[]);return n.map((e,r)=>({index:e,span:(n[r+1]??t.length)-e,label:vf(R8(t[e]))}))},abe=(e,t,n,r,i=Yd())=>{let a=D8(e,t,n,i),o=r[0],s=r.at(-1);if(!(!a||o===void 0||s===void 0||a.last<o||a.first>s))return{first:a.first<o?0:r.indexOf(a.first),last:a.last>s?r.length-1:r.indexOf(a.last),before:a.first<o,after:a.last>s,start:a.first}},obe=`none`,sbe=(e,t,n,r)=>{let i=r.group,a=i===void 0?void 0:t.fields[i];if(i===void 0||!a)return[{key:``,rows:e}];let o=n?.fields[i],s=new Map;for(let t of e){let e=t.record[i],n=e==null||e===``,r=n?obe:`value:${String(e)}`,c=n?q(`noValue`,o?.label??K(i)):t.labels[i]??dx(a,e,o),l=s.get(r)??{value:n?void 0:e,lane:{key:r,label:c,rows:[]}};l.lane.rows.push(t),s.set(r,l)}let c=a.enumValues??[],l=(e,t)=>e.value===void 0||t.value===void 0?Number(e.value===void 0)-Number(t.value===void 0):a.type===`enum`?c.indexOf(String(e.value))-c.indexOf(String(t.value)):a.type===`relation`?e.lane.label.localeCompare(t.lane.label):typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:String(e.value).localeCompare(String(t.value),void 0,{numeric:!0});return[...s.values()].toSorted(l).map(({lane:e})=>e)},W8=`grid grid-cols-1 sm:grid-cols-[12rem_minmax(0,1fr)]`,G8=(e,t)=>`${e/t*100}%`,cbe=({ticks:e,days:t,today:n,label:r,trackRef:i})=>(0,R.jsxs)(`div`,{className:g(W8,`border-b border-border bg-surface`),children:[(0,R.jsx)(`span`,{className:`hidden truncate px-2 py-1 text-xs font-medium text-muted-foreground sm:block`,children:r}),(0,R.jsx)(`div`,{ref:i,"aria-hidden":!0,className:`relative h-6`,children:e.map(e=>(0,R.jsx)(`span`,{className:g(`absolute inset-y-0 items-center truncate px-1 text-xs tabular-nums text-muted-foreground`,e.index>0?`border-l border-border`:`border-border sm:border-l`,e.minor?`hidden sm:flex`:`flex`,e.span===1&&t[e.index]===n&&`font-medium text-primary`),style:{left:G8(e.index,t.length),width:G8(e.span,t.length)},children:e.label},e.index))})]}),lbe=({ticks:e,days:t,today:n})=>{let r=t.indexOf(n);return(0,R.jsxs)(`div`,{"aria-hidden":!0,className:g(W8,`pointer-events-none absolute inset-0`),children:[(0,R.jsx)(`span`,{className:`hidden sm:block`}),(0,R.jsxs)(`div`,{className:`relative`,children:[r>=0&&(0,R.jsx)(`span`,{className:`absolute inset-y-0 bg-primary/10`,style:{left:G8(r,t.length),width:G8(1,t.length)}}),e.map(e=>(0,R.jsx)(`span`,{className:g(`absolute inset-y-0 w-px bg-border`,(e.minor||e.index===0)&&`hidden sm:block`),style:{left:G8(e.index,t.length)}},e.index))]})]})},ube=({model:e,view:t,display:n,row:r,days:i,movable:a,dragged:o})=>{let s=abe(r.record,n,e,i);return(0,R.jsxs)(`div`,{className:g(W8,`relative border-b border-border last:border-b-0`),children:[(0,R.jsx)(`span`,{"aria-hidden":!0,className:`truncate px-2 pt-1 text-body sm:py-1.5`,children:j8(e,t,n,r)}),(0,R.jsx)(`div`,{className:`relative h-7`,children:s&&(0,R.jsx)(`div`,{className:`absolute top-1/2 -translate-y-1/2`,style:{left:G8(s.first,i.length),width:G8(s.last-s.first+1,i.length)},children:(0,R.jsx)(N8,{model:e,view:t,display:n,row:r,day:s.start,movable:a,dragged:o,className:g(s.before&&`rounded-l-none border-l-0`,s.after&&`rounded-r-none border-r-0`)})})})]})},dbe=()=>[{scale:`week`,label:q(`week`)},{scale:`month`,label:q(`month`)},{scale:`quarter`,label:q(`quarter`)}],K8=({model:e,view:t,display:n,fields:r,filter:i,at:a,linkTo:o,now:s=Date.now()})=>{let[c,l]=(0,I.useState)(),u=V8(o?a:c,s),d=U8(u),f=ibe(u),p=P8({model:e,display:n,range:tbe(u),fields:r,filter:i}),{moves:m,move:h}=I8(e,n),g=sbe(O8(F8(p.rows,m),n),e,t,n),_=VT(oS(e.name),`update`)&&[n.start,n.end].every(t=>t===void 0||!e.fields[t]?.readOnly),[v,y]=(0,I.useState)(),b=(0,I.useRef)(!1),x=(0,I.useRef)(0),S=(0,I.useRef)(null),C=()=>(S.current?.getBoundingClientRect().width??0)/d.length,w=e=>{let t=C();return t>0?Math.round(e/t):0},T=({transform:e})=>({...e,x:w(e.x)*C(),y:0}),E=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:(e,{currentCoordinates:t})=>{let n=e.code===`ArrowLeft`?-1:+(e.code===`ArrowRight`);if(n!==0)return e.preventDefault(),{x:t.x+n*C(),y:t.y}}})),D=tf(s,Yd()),O=r=>j8(e,t,n,r.row),k=e=>pf(Date.parse(`${_8(e.day,x.current)}T00:00:00Z`)),A={onDragStart:({active:e})=>q(`pickedUp`,O(e.data.current)),onDragMove:({active:e})=>q(`startsOn`,O(e.data.current),k(e.data.current)),onDragOver:()=>void 0,onDragEnd:({active:e})=>x.current===0?q(`putBack`,O(e.data.current)):q(`wasMovedTo`,O(e.data.current),k(e.data.current)),onDragCancel:({active:e})=>q(`cancelled`,O(e.data.current))},j=()=>{y(void 0),setTimeout(()=>b.current=!1)},M=({active:e})=>{b.current=!0,x.current=0,y(e.data.current)},N=({delta:e})=>x.current=w(e.x),ee=({active:t,delta:r})=>{j(),x.current=w(r.x);let{row:i}=t.data.current,a=D8(i.record,n,e);a&&x.current!==0&&h(i,a.first,_8(a.first,x.current))},te=n.group===void 0?t?.names?.plural??K(e.name):t?.fields[n.group]?.label??K(n.group),ne=!p.loading&&!p.error&&p.rows.length===0;return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,R.jsx)(k8,{heading:rbe(u),unit:u.scale,previous:H8(u,-1),today:V8({scale:u.scale,day:D},s),next:H8(u,1),scales:dbe().map(({scale:e,label:t})=>({view:nbe(u,e,s),label:t,current:u.scale===e})),scalesLabel:q(`timelineScale`),linkTo:o,onView:l}),p.error&&(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:p.error}),p.capped&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:q(`capped`,500,u.scale)}),(0,R.jsxs)(Cv,{sensors:E,modifiers:[T],onDragStart:M,onDragMove:N,onDragEnd:ee,onDragCancel:j,accessibility:{announcements:A,screenReaderInstructions:{draggable:q(`timelineInstructions`)}},children:[(0,R.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border`,children:[(0,R.jsx)(cbe,{ticks:f,days:d,today:D,label:te,trackRef:S}),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(lbe,{ticks:f,days:d,today:D}),p.loading&&(0,R.jsxs)(`div`,{className:`relative flex flex-col gap-2 p-2`,children:[(0,R.jsx)(_u,{className:`h-4`}),(0,R.jsx)(_u,{className:`h-4`})]}),ne&&(0,R.jsx)(`p`,{className:`relative px-2 py-3 text-xs text-muted-foreground`,children:q(`nothingIn`,u.scale)}),!p.loading&&g.map(r=>(0,R.jsxs)(`section`,{"aria-label":r.label,className:`relative border-b border-border last:border-b-0`,children:[r.label!==void 0&&(0,R.jsxs)(`h3`,{className:`flex items-center gap-1.5 border-b border-border bg-surface px-2 py-1 text-xs font-medium`,children:[r.label,(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:r.rows.length})]}),r.rows.map(r=>(0,R.jsx)(ube,{model:e,view:t,display:n,row:r,days:d,movable:_&&HT(r.record,`update`),dragged:()=>b.current},r.key))]},r.key))]})]}),(0,R.jsx)(Uv,{children:v&&(0,R.jsx)(M8,{model:e,view:t,display:n,row:v.row,day:v.day})})]})]})},fbe=({list:e,empty:t,loading:n,children:r})=>(0,R.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.loading?n:e.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:e.error}):e.rows.length===0?(0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:t}):r}),pbe=({list:e})=>(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3 text-xs text-muted-foreground`,children:[(0,R.jsxs)(`span`,{children:[e.rows.length.toLocaleString(l()),` of `,e.total.toLocaleString(l())]}),e.more&&(0,R.jsx)(V,{size:`sm`,onClick:e.loadMore,children:q(`showMore`)})]}),q8=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,mbe=`relative flex snap-x snap-mandatory gap-3 overflow-x-auto pb-1`,hbe=({model:e,view:t,display:n,list:r,row:i=!1,footer:a=!0})=>{let o=(t?.names?.plural??K(e.name)).toLowerCase();return(0,R.jsxs)(fbe,{list:r,empty:q(`noneMatch`,o),loading:(0,R.jsx)(`div`,{className:q8,children:Array.from({length:6},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}),children:[(0,R.jsx)(`ul`,{className:i?mbe:q8,"aria-label":t?.names?.plural??K(e.name),children:r.rows.map(r=>(0,R.jsx)(`li`,{className:g(i&&`w-64 shrink-0 snap-start`),children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:r,swipe:!i})},r.key))}),a&&(0,R.jsx)(pbe,{list:r})]})},J8=(0,I.createContext)(void 0),gbe=({value:e,children:t})=>(0,R.jsx)(J8.Provider,{value:e,children:t}),_be=()=>{let e=(0,I.useContext)(J8);if(!e)throw Error(`useListDisplay is used inside a list display, which the list page draws`);return e},vbe=()=>(0,I.useContext)(J8),Y8=({display:e,list:t})=>{let{components:n}=wC(),r=n?.[e.component];return r?(0,R.jsx)(gbe,{value:t,children:(0,R.jsx)(`div`,{className:`relative min-w-0 flex-1 overflow-x-auto`,children:(0,R.jsx)(mg,{name:e.component,children:(0,R.jsx)(r,{...mr(e.props??{})})})})}):(0,R.jsx)(fg,{children:Kh(q(`noComponent`),e.component)})},X8=rr(),ybe={bounds:{south:-90,west:-180,north:90,east:180},zoom:0},bbe=22,Z8=e=>Math.floor(e*1e6)/1e6,Q8=e=>Math.ceil(e*1e6)/1e6,$8=e=>((e+180)%360+360)%360-180,xbe=(e,t)=>{let n=[X8.gte(e.latitude,Z8(Math.max(t.south,-90))),X8.lte(e.latitude,Q8(Math.min(t.north,90)))];if(t.east-t.west>=360)return X8.and(...n);let r=X8.gte(e.longitude,Z8($8(t.west))),i=X8.lte(e.longitude,Q8($8(t.east)));return $8(t.west)<=$8(t.east)?X8.and(...n,r,i):X8.and(...n,X8.or(r,i))},Sbe=(e,t,n)=>{let r=Hn(xbe(t,n));return e.trim()===``?r:`(${e}) AND ${r}`},Cbe=e=>Math.min(Math.max(Math.floor(e),0),bbe),wbe=(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))}},e5=e=>{if(typeof e==`number`)return e;if(typeof e==`string`&&e.trim()!==``)return Number(e)},t5=(e,t)=>{let n=e5(e[t.latitude]),r=e5(e[t.longitude]);if(n!==void 0&&r!==void 0&&Math.abs(n)<=90&&Math.abs(r)<=180)return{latitude:n,longitude:r}},Tbe=6371008.8,n5=64,r5=(e,t)=>t.approximate===void 0?t.exact!==void 0&&e[t.exact]===!1:e[t.approximate]===!0,i5=(e,t)=>{let n=t/Tbe,r=e.latitude*Math.PI/180,i=e.longitude*Math.PI/180;return{type:`Polygon`,coordinates:[Array.from({length:65},(e,t)=>{let a=t%n5/n5*2*Math.PI,o=Math.asin(Math.sin(r)*Math.cos(n)+Math.cos(r)*Math.sin(n)*Math.cos(a));return[(i+Math.atan2(Math.sin(a)*Math.sin(n)*Math.cos(r),Math.cos(n)-Math.sin(r)*Math.sin(o)))*180/Math.PI,o*180/Math.PI]})]}},Ebe=e=>Array.isArray(e)&&e.length>=2&&typeof e[0]==`number`&&typeof e[1]==`number`&&Math.abs(e[0])<=180&&Math.abs(e[1])<=90,a5=(e,t)=>Array.isArray(e)&&e.length>=t&&e.every(Ebe),o5=e=>Array.isArray(e)&&e.length>0&&e.every(e=>a5(e,4)),Dbe=e=>Array.isArray(e)&&e.length>0&&e.every(e=>a5(e,2)),Obe=e=>{if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch(e){if(e instanceof SyntaxError)return;throw e}},kbe=e=>{let t=Obe(e);if(typeof t!=`object`||!t)return;let n=t.type===`Feature`?t.geometry:t;if(typeof n!=`object`||!n)return;let{type:r,coordinates:i}=n;if(r===`Polygon`&&o5(i)||r===`MultiPolygon`&&Array.isArray(i)&&i.length>0&&i.every(o5)||r===`LineString`&&a5(i,2)||r===`MultiLineString`&&Dbe(i))return{type:r,coordinates:i}},Abe=(e,t,n)=>{if(!r5(e,t))return;let r=t.area===void 0?void 0:kbe(e[t.area]);if(r)return r;let i=t.radius===void 0?void 0:e5(e[t.radius]);return i!==void 0&&Number.isFinite(i)&&i>0?i5(n,i):t.defaultRadius===void 0?void 0:i5(n,t.defaultRadius)},s5=(e,t)=>e.flatMap(e=>{let n=t5(e.record,t);if(!n)return[];if(!r5(e.record,t))return[{key:e.key,...n}];let r=Abe(e.record,t,n);return[{key:e.key,...n,approximate:!0,...r&&{area:r}}]}),jbe=(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}))},Mbe=(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)}},c5=(e,t)=>({keys:e.keys,index:((e.index+t)%e.keys.length+e.keys.length)%e.keys.length}),Nbe=({model:e,view:t,display:n,fields:r,filter:i,orderBy:a,area:o})=>{let s=U(),{resources:c,views:l}=J(),u={latitude:n.latitude,longitude:n.longitude},d=o?Sbe(i,u,o.bounds):``,f=o?Cbe(o.zoom):0;return Eh({queryKey:H.map(e.name,`${u.latitude},${u.longitude}`,f,d,a),enabled:o!==void 0,placeholderData:Sm,queryFn:async()=>{let n=await s.map(e.name,{...u,zoom:f,filter:d,orderBy:a,labels:q0(c,l,e,r),photos:mx(t)});return{rows:J0(c,e,r,hx(e,n.items,n.photos),n.labels).map(t=>Hx(e,t)),buckets:n.buckets,total:n.totalSize}}})},Pbe=(0,I.lazy)(()=>m(()=>import(`./records-map-BvwXRw3F.js`).then(e=>({default:e.RecordsMap})),__vite__mapDeps([5,1,2,6,7,8,3,4,9]))),Fbe=250,l5=`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`,u5=({model:e,view:t,display:n,filter:r,orderBy:i,fields:a,at:o,onMove:s,footer:c=!0,flush:u=!1})=>{let d=J().maps,f=d?.style,[p,m]=(0,I.useState)(),[h,_]=(0,I.useState)(),v=F3(h,Fbe),[y,b]=(0,I.useState)(o===void 0),x=Nbe({model:e,view:t,display:n,fields:a,filter:r,orderBy:i,area:y?ybe:v}),S=x.isPlaceholderData?void 0:x.data,C=x.data?.rows??[],w=x.data?.buckets??[],T=s5(C,n),E=y&&S?wbe(s5(S.rows,n),S.buckets):void 0,D=Lx(t,n),O=(t?.names?.plural??K(e.name)).toLowerCase(),k=(t?.names?.singular??K(e.name)).toLowerCase(),A=Mbe(p,C),j=A&&C.find(e=>e.key===A.keys[A.index]),M=new Set(T.filter(e=>e.approximate).map(e=>e.key)),N=e=>{let t=e.filter(e=>M.has(e)).length;return e.length===1?q(t===1?`showOneApproximate`:`showOne`,k):t===0?q(`showMany`,e.length,O):t===e.length?q(`showManyApproximate`,e.length,O):q(`showManySomeApproximate`,e.length,O,t)},ee=e=>q(`zoomIn`,e.toLocaleString(l()),e===1?k:O),te=(0,I.useRef)(null),[ne,re]=(0,I.useState)(0);if((0,I.useLayoutEffect)(()=>re(te.current?.offsetHeight??0),[j?.key]),!f)return(0,R.jsx)(fg,{children:q(`needsStyle`)});let ie=S?.total===0;return(0,R.jsxs)(`div`,{className:g(`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,R.jsxs)(`div`,{className:g(`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,R.jsx)(I.Suspense,{fallback:null,children:(0,R.jsx)(Pbe,{style:f,layers:d?.layers,initial:o,points:T,buckets:w,fit:E,onFitted:()=>b(!1),onMove:(e,t)=>{_(e),s?.(t)},selected:A?.keys,covered:A?ne:0,onSelect:e=>m({keys:e,index:0}),onClear:()=>m(void 0),markerLabel:N,bucketLabel:ee})}),x.error&&(0,R.jsx)(`div`,{className:`absolute inset-x-3 top-3 z-10`,children:(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:x.error})}),ie&&(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-3 top-3 z-10 flex justify-center`,children:(0,R.jsxs)(`p`,{className:`pointer-events-auto flex items-center gap-3 rounded-full border border-border bg-background px-4 py-1.5 text-muted-foreground shadow`,role:`status`,children:[q(y?`noneMatch`:`noneHere`,O),!y&&(0,R.jsx)(V,{size:`sm`,onClick:()=>b(!0),children:q(`showAll`)})]})}),A&&j&&(0,R.jsx)(`div`,{ref:te,className:`pointer-events-none absolute inset-x-3 bottom-3 z-10 flex justify-center`,children:(0,R.jsxs)(`div`,{className:`pointer-events-auto flex w-full max-w-[16rem] flex-col gap-2 sm:max-w-xs`,role:`group`,"aria-label":q(`chosen`,k),children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[M.has(j.key)&&(0,R.jsxs)(`span`,{className:`mr-auto flex items-center gap-1 rounded-full border border-border bg-background px-2 py-1 text-xs`,children:[(0,R.jsx)(Pi,{className:`size-3.5`,"aria-hidden":!0}),q(`approximatePosition`)]}),A.keys.length>1&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`previous`),className:l5,onClick:()=>m(c5(A,-1)),children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{className:`rounded-full border border-border bg-background px-2 py-1 text-xs tabular-nums`,"aria-live":`polite`,children:[A.index+1,` / `,A.keys.length]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`next`),className:l5,onClick:()=>m(c5(A,1)),children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})})]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`close`),className:l5,onClick:()=>m(void 0),children:(0,R.jsx)(ts,{className:`size-4`,"aria-hidden":!0})})]}),(0,R.jsx)(`div`,{className:`shadow-lg`,children:(0,R.jsx)(M6,{model:e,view:t,display:D,row:j})})]})})]}),c&&(0,R.jsx)(`p`,{className:`hidden py-3 text-xs text-muted-foreground md:block`,children:Ibe(x.data,O)})]})},Ibe=(e,t)=>{if(!e)return`\xA0`;let n=e.total.toLocaleString(l());return e.buckets.length===0&&e.rows.length<e.total?`${e.rows.length.toLocaleString(l())} of ${n} ${t} in view`:`${n} ${t} in view`},d5=({value:e,options:t,onChange:n,label:r})=>{let[i,a]=(0,I.useState)(!1),o=(0,I.useRef)(null),s=(0,I.useRef)(null),c=(0,I.useRef)([]),l=t.findIndex(t=>t.value===e),u=t[l];(0,I.useEffect)(()=>{if(!i)return;c.current[Math.max(l,0)]?.focus();let e=e=>{e.target instanceof Node&&!o.current?.contains(e.target)&&a(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[i]);let d=()=>{a(!1),s.current?.focus()};return(0,R.jsxs)(`div`,{ref:o,className:`relative shrink-0`,children:[(0,R.jsxs)(`button`,{ref:s,type:`button`,"aria-label":u?`${r}: ${u.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-body font-medium shadow-sm transition-colors hover:bg-muted pointer-coarse:h-11`,children:[u?.icon&&(0,R.jsx)(u.icon,{className:`size-3.5`}),u?.label??r,(0,R.jsx)(Si,{className:`size-3.5 text-muted-foreground`})]}),i&&(0,R.jsx)(`ul`,{role:`menu`,"aria-label":r,onKeyDown:e=>{if(e.key===`Escape`)return d();if(e.key===`Tab`)return a(!1);let n=P3(e.key,c.current.indexOf(document.activeElement),t.length);n!==void 0&&(e.preventDefault(),c.current[n]?.focus())},className:`absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-body shadow-pop`,children:t.map((t,r)=>(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsxs)(`button`,{ref:e=>{c.current[r]=e},type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,onClick:()=>{d(),t.value!==e&&n(t.value)},className:g(`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,R.jsx)(t.icon,{className:`size-3.5`}):(0,R.jsx)(`span`,{className:`size-3.5`}),(0,R.jsx)(`span`,{className:`flex-1`,children:t.label}),t.value===e&&(0,R.jsx)(bi,{className:`size-3.5 text-primary-text`})]})},t.value))})]})},Lbe={table:No,cards:Aa,kanban:qee,board:Bi,list:Ra,calendar:mi,timeline:vi,map:Fee},f5=({view:e,value:t,onChange:n,menu:r=!1,choices:i=jx(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:Lbe[e.icon]}));return r?(0,R.jsx)(d5,{label:q(`display`),value:t,onChange:n,options:a}):(0,R.jsx)(f,{label:q(`display`),size:`md`,value:t,onChange:n,options:a})},Rbe=[[`asc`,`ascending`],[`desc`,`descending`]],p5=({model:e,view:t,display:n,orderBy:r,onChange:i,className:a})=>{let o=Wx(r),s=Bx(e,t,n),c=s.includes(o.columnId)?s:[o.columnId,...s],l=e=>t?.fields[e]?.label??K(e);return(0,R.jsx)(`select`,{"aria-label":q(`sort`),value:`${o.columnId} ${o.direction}`,onChange:e=>i(e.target.value),className:g(`h-8 rounded-md border border-border-strong bg-background px-2.5 shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,a),children:c.flatMap(e=>Rbe.map(([t,n])=>(0,R.jsxs)(`option`,{value:`${e} ${t}`,children:[l(e),`, `,q(n)]},`${e} ${t}`)))})},m5=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&TC(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,R.jsx)(kC,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:I4(e,e.value?e.value(t):t[e.id])})}:e}),h5=e=>e.includes(`.`),zbe=({model:e,row:t,column:n})=>{let r=t2(ZT(e,Hx(e,t).record),n);return r.state===`loading`?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,R.jsx)(Z0,{model:r.model,field:r.field,value:r.value})},Bbe=(e,t,{resources:n,views:r})=>{let i=vc(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??K(o),kind:`text`,width:200,render:n=>(0,R.jsx)(zbe,{model:e,row:n,column:t})}},g5=(e,t,n,r)=>{let i=new Map(m5(lx(e,t,[],n.filter(e=>!h5(e))),e,t,r.fieldTypes).map(e=>[e.id,e]));return n.flatMap(t=>h5(t)?[Bbe(e,t,r)]:i.get(t)??[])},_5=a({en:{firstOf:(e,t)=>`The first ${e} of ${t}.`,firstOfAbout:(e,t)=>`The first ${e} of about ${t}.`,open:e=>`Open ${e}`,edit:e=>`Edit ${e}`,viewAll:`View all`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`},nl:{firstOf:(e,t)=>`De eerste ${e} van ${t}.`,firstOfAbout:(e,t)=>`De eerste ${e} van ongeveer ${t}.`,open:e=>`${e} openen`,edit:e=>`${e} bewerken`,viewAll:`Alles bekijken`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`}}),v5=(e,t,n)=>{if(!(e>=t))return _5(n?`firstOfAbout`:`firstOf`,e,t.toLocaleString(l()))},y5=(e,t,n)=>{let r=Object.hasOwn(e.fields,t)?e.fields[t]:void 0;return r?.type===`relation`&&r.relation!==void 0&&n[r.relation.resource]?.primaryKey.length===1},Vbe=(e,t,n)=>{if(e.open!==void 0)return e.open!==e.field&&y5(t,e.open,n)?e.open:void 0;let r=t.primaryKey.filter(r=>r!==e.field&&r!==t.tenant&&y5(t,r,n));return r.length===1?r[0]:void 0},b5=(e,t)=>{let n=e[t],r=typeof n==`object`&&n&&`id`in n?n.id:n;return typeof r==`string`||typeof r==`number`?r:void 0},x5=(e,t)=>(t?.names?.singular??K(e.name)).toLowerCase(),Hbe=({model:e,view:t,opens:n,resources:r,views:i,canUpdate:a})=>{let o=t=>({kind:`record`,resource:e.name,key:Xb(e,t)}),s=n&&e.fields[n]?.relation?.resource,c=s?r[s]:void 0,l=e=>{let t=n&&c?b5(e,n):void 0;return c&&t!==void 0?{kind:`record`,resource:c.name,key:t}:void 0},u=e=>l(e)??o(e),d=x5(e,t);return{address:u,actions:t=>{let n={label:_5(`open`,d),link:e=>t(o(e))};if(!c)return[n];let r=e=>a&&HT(e,`update`);return[{label:_5(`open`,x5(c,i[c.name])),available:e=>l(e)!==void 0,link:e=>t(l(e))},{label:_5(`edit`,d),available:r,link:n=>t({kind:`record`,resource:e.name,key:Xb(e,n),edit:!0})},{...n,available:e=>!r(e)}]}}},Ube=({model:e,filter:t,orderBy:n,limit:r,fields:i})=>{let a=U(),{resources:o,views:s}=J();return Eh({queryKey:[...H.list(e.name,t,n,r,`embedded`),i.join(`,`)],placeholderData:Sm,queryFn:async()=>{let c=q0(o,s,e,i),l=mx(s[e.name]),u=await a.search(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,count:`exact`,labels:c,photos:l}),d=J0(o,e,i,hx(e,u.items,u.photos),u.labels).map((t,n)=>({...t,id:Yb(e,u.items[n])}));return u.nextPageToken===``?{rows:d,total:d.length,estimated:!1}:{rows:d,total:u.totalSize??u.totalSizeEstimate,estimated:u.totalSize===void 0}}})},S5=({view:e,value:t,onChange:n})=>(0,R.jsx)(f5,{view:e,value:t,onChange:n,menu:!lu()}),Wbe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),C5=({model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:o,empty:s,row:c=!1,viewAll:l,link:u=!0,opens:d})=>{let{resources:f,views:p}=J(),m=VT(oS(e.name),`update`),{fields:h}=wC(),{go:g,href:_}=sS(),v=uu(),[y,b]=(0,I.useState)(r||Ux(e,t)),x=i??cx(e,t),S=(0,I.useMemo)(()=>g5(e,t,x,{resources:f,views:p,fieldTypes:h}),[e,t,x.join(`,`),f,p,h]),C=(0,I.useMemo)(()=>zx(e,t,S.map(e=>e.id)),[e,t,S]),w=Ube({model:e,filter:n,orderBy:y,limit:a,fields:C}),T=w.data?.rows,E=(0,I.useMemo)(()=>T&&{total:T.length,rowAt:e=>T[e]},[T]),D=kx(t,o),O=t?.names?.plural??K(e.name),k=u&&(0,R.jsxs)(cS,{to:g3(e,t,v,l?{filter:l.filter,orderBy:Ux(e,t),display:o,savedSearch:l.savedSearch}:{filter:n,orderBy:y,display:o}),onClick:l?.onOpen,className:`flex items-center gap-1 self-end font-medium text-primary-text hover:underline`,children:[l?l.label:(0,R.jsxs)(R.Fragment,{children:[_5(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:O.toLowerCase()})]}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]});if(w.isPending)return(0,R.jsx)(Wbe,{});if(w.error)return(0,R.jsx)(XS,{title:_5(`couldNotLoad`),error:w.error});if(!E||E.total===0){let e=(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:s??_5(`nothingYet`)});return l&&u?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e,k]}):e}let A={resource:e.name,rows:w.data.rows.map(t=>Hx(e,t)),total:w.data.total,loading:!1,error:null,more:!1,loadMore:()=>void 0},j=Hbe({model:e,view:t,opens:d,resources:f,views:p,canUpdate:m}),M=e=>({href:_(e),onFollow:()=>g(e)}),N=v5(E.total,w.data.total,w.data.estimated);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[D?D.kind===`cards`?(0,R.jsx)(hbe,{model:e,view:t,display:D,list:A,row:c||v,footer:!1}):D.kind===`map`?(0,R.jsx)(u5,{model:e,view:t,display:D,filter:n,orderBy:y,fields:C,footer:!1}):D.kind===`board`?(0,R.jsx)(p8,{model:e,view:t,display:D,fields:C,filter:n,orderBy:y,limit:a}):D.kind===`calendar`?(0,R.jsx)(L8,{model:e,view:t,display:D,fields:C,filter:n}):D.kind===`timeline`?(0,R.jsx)(K8,{model:e,view:t,display:D,fields:C,filter:n}):(0,R.jsx)(Y8,{display:D,list:A}):(0,R.jsx)(l3,{fit:!0,columns:S,source:E,latencyMs:0,sort:Wx(y),onSortChange:e=>b(Gx(e)),onOpenRow:e=>g(j.address(e)),rowLink:e=>M(j.address(e)),rowActions:j.actions(M),rowNumbers:!1,selectable:!1}),N&&u?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:N}),k]}):k]})},w5=(e,t,n)=>{let r=uu(),i=nve(t),[a,o]=(0,I.useState)(()=>rve(localStorage,i)),s=(0,I.useCallback)(e=>{o(e),ive(localStorage,i,e)},[i]);return[h3(e,r,{picked:a,preferred:n}),s]},Gbe=({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]=w5(t,`page:${e.name}:${s??``}:${n}`,o);return(0,R.jsx)(lE,{title:s,description:c,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(S5,{view:t,value:d,onChange:f}),u]}),className:`h-full`,children:(0,R.jsx)(C5,{model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:d,empty:l})})},Kbe=({node:e,slots:t})=>{let n=oE(e),{resources:r,views:i}=J(),a=r[n.resource];return a?(0,R.jsx)(Gbe,{...n,model:a,view:i[a.name],actions:t.actions}):null},T5=a({en:{email:`Email`,invite:`Invite`,expired:`Expired`,until:e=>`Until ${e}`,sendAgain:`Send again`,revoke:`Revoke`,passLinkOn:`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: {}`},nl:{email:`E-mailadres`,invite:`Uitnodigen`,expired:`Verlopen`,until:e=>`Tot ${e}`,sendAgain:`Opnieuw sturen`,revoke:`Intrekken`,passLinkOn:`Deze app kan geen e-mail sturen, dus geef deze link zelf door. Die werkt één keer, tot de uitnodiging verloopt: {}`}}),E5=({link:e})=>e?(0,R.jsx)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:Kh(T5(`passLinkOn`),(0,R.jsx)(`span`,{className:`font-mono`,children:e}))}):null,D5=({title:e,description:t,onInvite:n,beside:r,children:i,incomplete:a=!1})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(),{busy:u,error:d,run:f}=sg(),p=()=>f(async()=>{l((await n(o.trim())).link),s(``)});return(0,R.jsxs)(Mf,{title:e,description:t,children:[(0,R.jsx)(Nf,{message:d}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsx)(cd,{"aria-label":T5(`email`),type:`email`,placeholder:`name@example.com`,value:o,onChange:e=>s(e.target.value),wrapperClassName:`flex-1`}),r,(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:u,disabled:!o.trim()||a,children:T5(`invite`)})]}),i]}),(0,R.jsx)(E5,{link:c})]})},O5=({email:e,gives:t,expiresAt:n,onResend:r,onRevoke:i})=>{let[a,o]=(0,I.useState)(),{busy:s,error:c,run:u}=sg(),d=new Date(n).getTime()<Date.now();return(0,R.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e}),(0,R.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[t,` · `,d?T5(`expired`):T5(`until`,new Date(n).toLocaleDateString(l()))]})]}),(0,R.jsx)(V,{size:`sm`,loading:s,onClick:()=>void u(async()=>o((await r()).link)),children:T5(`sendAgain`)}),(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:s,onClick:()=>void u(i),children:T5(`revoke`)})]}),(0,R.jsx)(Nf,{message:c}),(0,R.jsx)(E5,{link:a})]})},k5=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,R.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,R.jsxs)(`label`,{title:o&&!r?G(`cannotChangeRole`):void 0,className:g(`inline-flex items-center gap-1.5`,o&&`text-muted-foreground`),children:[(0,R.jsx)(Zh,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:g(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),qbe=(e,t)=>t.map(t=>ig(e,t)).join(`, `),A5=a({en:{inviteSomeone:`Invite someone`,inviteDescription:`They get an email with a link to make their account, with the roles you tick.`,notAcceptedYet:`Not accepted yet`,sendingAgain:`Sending again gives a new link, which replaces the earlier one.`,nobodyWaiting:`Nobody is waiting.`,addAnAccount:`Add an account`,addDescription:`Makes the account at once, with the address counted as verified. Without a password, the person signs in another way this app allows, such as an emailed code.`,email:`Email`,name:`Name`,password:`Password`,passwordOptional:e=>`Password (optional, ${e}+ characters)`,addAccount:`Add account`,couldNotReadRoles:`Could not read the roles`,people:`People`,peopleDescription:`Everyone with an account. Roles decide what each sees and does; someone blocked cannot sign in, and is signed out at once.`,findSomeone:`Find someone`,emailAddress:`Email address`,keepOneRole:`Keep at least one role.`,blocked:`Blocked`,unblock:`Unblock`,block:`Block`},nl:{inviteSomeone:`Iemand uitnodigen`,inviteDescription:`Die krijgt een e-mail met een link om een account te maken, met de rollen die je aanvinkt.`,notAcceptedYet:`Nog niet geaccepteerd`,sendingAgain:`Opnieuw sturen geeft een nieuwe link, die de vorige vervangt.`,nobodyWaiting:`Er wacht niemand.`,addAnAccount:`Een account toevoegen`,addDescription:`Maakt het account meteen, met het adres als gecontroleerd. Zonder wachtwoord logt de persoon in op een andere manier die deze app toestaat, zoals een gemailde code.`,email:`E-mailadres`,name:`Naam`,password:`Wachtwoord`,passwordOptional:e=>`Wachtwoord (optioneel, ${e}+ tekens)`,addAccount:`Account toevoegen`,couldNotReadRoles:`Kon de rollen niet lezen`,people:`Mensen`,peopleDescription:`Iedereen met een account. Rollen bepalen wat ieder ziet en doet; wie geblokkeerd is, kan niet inloggen en wordt meteen uitgelogd.`,findSomeone:`Iemand zoeken`,emailAddress:`E-mailadres`,keepOneRole:`Houd minstens één rol.`,blocked:`Geblokkeerd`,unblock:`Deblokkeren`,block:`Blokkeren`}}),Jbe=({roles:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)([]),[i,a]=(0,I.useState)([]),o=(0,I.useCallback)(()=>void t.users.invitations().then(a,()=>a([])),[t]);return(0,I.useEffect)(o,[o]),(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(D5,{title:A5(`inviteSomeone`),description:A5(`inviteDescription`),onInvite:async e=>{let i=await t.users.invite({email:e,roles:n});return r([]),o(),i},incomplete:n.length===0,children:(0,R.jsx)(k5,{roles:e,selected:n,grantable:new Set(e.map(e=>e.name)),onChange:r})}),(0,R.jsx)(Mf,{title:A5(`notAcceptedYet`),description:i.length>0?A5(`sendingAgain`):A5(`nobodyWaiting`),children:i.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:i.map(n=>(0,R.jsx)(O5,{email:n.email,gives:qbe(e,n.roles),expiresAt:n.expiresAt,onResend:async()=>{let e=await t.users.invite({email:n.email,roles:n.roles});return o(),e},onRevoke:async()=>{await t.users.revoke(n.id),o()}},n.id))})})]})},Ybe=({roles:e,onCreated:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(``),[a,o]=(0,I.useState)(``),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)([]),{busy:d,error:f,run:p}=sg(),m=()=>p(async()=>{await n.users.create({email:r.trim(),name:a.trim(),roles:l,...s&&{password:s}}),i(``),o(``),c(``),u([]),t()}),h=!r.trim()||!a.trim()||l.length===0||s!==``&&s.length<12;return(0,R.jsxs)(Mf,{title:A5(`addAnAccount`),description:A5(`addDescription`),children:[(0,R.jsx)(Nf,{message:f}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),m()},children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsx)(cd,{"aria-label":A5(`email`),type:`email`,placeholder:`name@example.com`,value:r,onChange:e=>i(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":A5(`name`),placeholder:A5(`name`),autoComplete:`off`,value:a,onChange:e=>o(e.target.value),wrapperClassName:`flex-1`})]}),(0,R.jsx)(cd,{"aria-label":A5(`password`),type:`password`,autoComplete:`new-password`,placeholder:A5(`passwordOptional`,12),value:s,onChange:e=>c(e.target.value)}),(0,R.jsx)(k5,{roles:e,selected:l,grantable:new Set(e.map(e=>e.name)),onChange:u}),(0,R.jsx)(`div`,{children:(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:d,disabled:h,children:A5(`addAccount`)})})]})]})},Xbe=a({en:{showMore:`Show more`},nl:{showMore:`Meer tonen`}}),j5=({title:e,description:t,searchLabel:n,placeholder:r,query:i,onQuery:a,list:o,error:s,renderRow:c})=>(0,R.jsxs)(Mf,{title:e,description:t,children:[(0,R.jsx)(Nf,{message:s}),(0,R.jsx)(cd,{"aria-label":n,placeholder:r,value:i,onChange:e=>a(e.target.value),leading:(0,R.jsx)(go,{className:`size-3.5`}),wrapperClassName:`mb-2`}),(0,R.jsxs)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:[o.found.length,` of `,o.total]}),o.found.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:o.found.map(c)}),o.found.length<o.total&&(0,R.jsx)(V,{className:`mt-3`,loading:o.loading,onClick:()=>void o.more(),children:Xbe(`showMore`)})]}),M5=(e,t)=>{let[n,r]=(0,I.useState)([]),[i,a]=(0,I.useState)(0),[o,s]=(0,I.useState)(!1),c=(0,I.useRef)(t);return c.current=t,(0,I.useEffect)(()=>{let n=setTimeout(()=>{s(!0),e(t,0).then(e=>{c.current===t&&(r(e.items),a(e.total),s(!1))},()=>{c.current===t&&(r([]),a(0),s(!1))})},200);return()=>clearTimeout(n)},[e,t]),{found:n,total:i,more:async()=>{let i=t;s(!0);let o=await e(i,n.length).catch(()=>void 0);c.current===i&&(o&&(r(e=>[...e,...o.items]),a(o.total)),s(!1))},loading:o}},N5=({name:e,email:t,self:n,actions:r,children:i,error:a})=>(0,R.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`span`,{className:`block truncate font-medium`,children:[e,n&&` (you)`]}),(0,R.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:t})]}),r]}),i,(0,R.jsx)(Nf,{message:a})]}),Zbe=({user:e,roles:t,self:n})=>{let{session:r}=B(),[i,a]=(0,I.useState)(e),{busy:o,error:s,run:c,setError:l}=sg(),u=e=>{if(e.length===0)return l(A5(`keepOneRole`));c(async()=>{await r.users.setRoles(i.id,e),a({...i,roles:e})})},d=e=>void c(async()=>{await(e?r.users.block(i.id):r.users.unblock(i.id)),a({...i,blocked:e})});return(0,R.jsx)(N5,{name:i.name,email:i.email,self:n,error:s,actions:(0,R.jsxs)(R.Fragment,{children:[i.blocked&&(0,R.jsx)(Fu,{tone:`red`,children:A5(`blocked`)}),!n&&(i.blocked?(0,R.jsx)(V,{size:`sm`,loading:o,onClick:()=>d(!1),children:A5(`unblock`)}):(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:o,onClick:()=>d(!0),children:A5(`block`)}))]}),children:(0,R.jsx)(k5,{roles:t,selected:i.roles,grantable:new Set(t.map(e=>e.name)),disabled:o,onChange:u})})},Qbe=({roles:e,version:t})=>{let{session:n,state:r}=B(),[i,a]=(0,I.useState)(``),o=M5((0,I.useCallback)((e,t)=>n.users.search(e,t).then(e=>({items:e.users,total:e.total})),[n,t]),i),s=r.kind===`signed-in`?r.user.id:void 0;return(0,R.jsx)(j5,{title:A5(`people`),description:A5(`peopleDescription`),searchLabel:A5(`findSomeone`),placeholder:A5(`emailAddress`),query:i,onQuery:a,list:o,renderRow:n=>(0,R.jsx)(Zbe,{user:n,roles:e,self:n.id===s},`${t}/${n.id}`)})},$be=()=>{let{session:e}=B(),[t,n]=(0,I.useState)([]),[r,i]=(0,I.useState)();return(0,I.useEffect)(()=>{e.users.roles().then(n,e=>i(e instanceof wc?wd(e):A5(`couldNotReadRoles`)))},[e]),{roles:t,error:r}},exe={Page:Hme,Grid:Fme,Card:dE,Stat:wye,RecordCard:Gme,Field:Ame,Table:Kbe,CardRow:pE,RecordRow:bye,Chart:Tme,Progress:Ume,ModalForm:Vme,Action:cE,Show:xye,Link:Ime,Users:()=>{let{roles:e,error:t}=$be(),[n,r]=(0,I.useState)(0);return(0,R.jsxs)(`div`,{className:`flex max-w-3xl flex-col gap-4`,children:[(0,R.jsx)(Nf,{message:t}),(0,R.jsx)(Qbe,{roles:e,version:n}),(0,R.jsx)(Jbe,{roles:e}),(0,R.jsx)(Ybe,{roles:e,onCreated:()=>r(e=>e+1)})]})}},P5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,F5=e=>{let t=[];for(let n of e){let e=t.at(-1);P5(n)&&e&&P5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return P5(n)?(0,R.jsx)(`p`,{className:`leading-6`,children:e.map((e,t)=>typeof e==`string`?(0,R.jsx)(I.Fragment,{children:e},t):(0,R.jsx)(I5,{node:e},t))},t):(0,R.jsx)(I5,{node:n},t)})},txe=e=>dc(e)||Array.isArray(e)&&e.length>0&&e.every(dc),nxe=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>txe(t)?[[e,(0,R.jsx)(R.Fragment,{children:F5(Array.isArray(t)?t:[t])})]]:[])),I5=({node:e})=>{let{components:t}=wC();if(e.custom){let n=t?.[e.type];return n?(0,R.jsx)(mg,{name:e.type,children:(0,R.jsx)(n,{...mr(e.props),children:e.children.length>0?F5(e.children):void 0})}):(0,R.jsx)(fg,{children:Kh(pg(`noComponent`),e.type)})}let n=exe[e.type];return n?(0,R.jsx)(n,{node:e,slots:nxe(e),children:F5(e.children)}):(0,R.jsx)(fg,{children:Kh(pg(`unknownBlock`),e.type)})},L5=({name:e})=>{let t=J().pages[e];return t?(0,R.jsx)(I5,{node:t.tree}):(0,R.jsx)(rS,{title:pg(`notFound`),children:Kh(pg(`noPage`),e)})},R5=a({en:{details:`Details`,history:`History`,comments:`Comments`,summary:`Summary`,loading:`Loading`,fetching:`Fetching the record.`,noRecord:`This record does not exist, or you cannot see it.`,couldNotLoad:`Could not load the record`,someoneElse:`Someone else`,justNow:`just now`,saved:`Saved`,save:`Save`,cancel:`Cancel`,unsavedChanges:`Unsaved changes`,notSaved:`Not saved`,linesChanged:`The lines were changed by someone else`,linesReloaded:`The lines were reloaded. Your new order is kept: Save again to apply it.`,unsavedKept:`You have unsaved changes to this record.`,continueEditing:`Continue editing`,discard:`Discard`,unsavedRestored:`Your unsaved changes were restored.`,keep:`Keep`,savingSubject:e=>`Saving ${e}...`,subjectSaved:e=>`${e} saved`,changedBySomeoneElse:`Changed by someone else`,couldNotSave:`Could not save`,recordActions:`Record actions`,edit:`Edit`,delete:`Delete`,nothingYet:`Nothing here yet.`,couldNotLoadRelated:`Could not load`,relatedRecords:`Related records`,lines:`Lines`,linesHelp:`What the document bills for. Drag the handle, or use the menu, to change the order; Save applies it.`},nl:{details:`Details`,history:`Geschiedenis`,comments:`Opmerkingen`,summary:`Overzicht`,loading:`Laden`,fetching:`Het record wordt opgehaald.`,noRecord:`Dit record bestaat niet, of je mag het niet zien.`,couldNotLoad:`Kon het record niet laden`,someoneElse:`Iemand anders`,justNow:`zojuist`,saved:`Bewaard`,save:`Bewaren`,cancel:`Annuleren`,unsavedChanges:`Niet bewaarde wijzigingen`,notSaved:`Niet bewaard`,linesChanged:`De regels zijn door iemand anders gewijzigd`,linesReloaded:`De regels zijn opnieuw geladen. Je nieuwe volgorde is behouden: bewaar opnieuw om hem toe te passen.`,unsavedKept:`Je hebt niet bewaarde wijzigingen in dit record.`,continueEditing:`Verder bewerken`,discard:`Weggooien`,unsavedRestored:`Je niet bewaarde wijzigingen zijn teruggezet.`,keep:`Houden`,savingSubject:e=>`${e} bewaren...`,subjectSaved:e=>`${e} bewaard`,changedBySomeoneElse:`Gewijzigd door iemand anders`,couldNotSave:`Kon niet bewaren`,recordActions:`Recordacties`,edit:`Bewerken`,delete:`Verwijderen`,nothingYet:`Hier staat nog niets.`,couldNotLoadRelated:`Kon niet laden`,relatedRecords:`Gerelateerde records`,lines:`Regels`,linesHelp:`Waar het document voor factureert. Sleep de greep, of gebruik het menu, om de volgorde te wijzigen; Bewaren past hem toe.`}}),rxe=2e3,z5=(e,t)=>{let n=qy(),[r,i]=(0,I.useState)(`idle`),[a,o]=(0,I.useState)(),s=(0,I.useRef)(void 0);return(0,I.useEffect)(()=>()=>clearTimeout(s.current),[]),{phase:r,message:a,run:async r=>{let a=e===`toast`?n.show({state:`loading`,title:R5(`savingSubject`,t)}):void 0;o(void 0),e===`button`&&i(`saving`);try{return await r(),a!==void 0&&n.update(a,{state:`success`,title:R5(`subjectSaved`,t)}),e===`button`&&(i(`saved`),s.current=setTimeout(()=>i(`idle`),rxe)),!0}catch(t){if(!Ks(t))throw t;let r=t.status===412?R5(`changedBySomeoneElse`):R5(`couldNotSave`),s=YC(t);return a!==void 0&&n.update(a,{state:`error`,title:r,description:s}),e===`button`&&(i(`idle`),o(`${r}: ${s}`)),!1}}}},B5=({title:e,eyebrow:t,submit:n,saving:r,disabled:i,error:a,errorTitle:o=IS(`notSaved`),onSubmit:s,onCancel:c,children:l,ref:u})=>{let d=(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c&&(0,R.jsx)(V,{className:`max-sm:min-h-11`,onClick:c,children:IS(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,className:`max-sm:min-h-11 max-sm:flex-1`,loading:r,disabled:i,children:n})]}),f=a!==void 0&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:o,error:a})}),p=(0,R.jsx)(`div`,{className:`divide-y divide-border`,children:l}),m=e=>{e.preventDefault(),s()};return e===void 0?(0,R.jsxs)(`form`,{ref:u,className:`max-w-[760px]`,onSubmit:m,children:[f,p,(0,R.jsx)(`footer`,{className:`border-t pt-6 sm:flex sm:justify-end`,children:d})]}):(0,R.jsx)(`form`,{ref:u,className:`flex-1`,onSubmit:m,children:(0,R.jsxs)(`div`,{className:`mx-auto max-w-[760px] px-4 py-6 md:px-10 md:py-8`,children:[(0,R.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,R.jsxs)(`div`,{children:[t&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t}),(0,R.jsx)(`h1`,{className:`mt-1 text-2xl font-semibold tracking-tight`,children:e})]}),d]}),f,p]})})},ixe=({noun:e,collection:t,sections:n,saving:r,message:i,onSubmit:a,onCancel:o,ref:s})=>(0,R.jsx)(B5,{ref:s,title:IS(`title`,e),eyebrow:t,submit:IS(`submit`,e),saving:r,error:i?Error(i):void 0,errorTitle:IS(`notCreated`),onSubmit:a,onCancel:o,children:n.map(e=>(0,R.jsx)(Zy,{title:e.title,help:e.help,children:(0,R.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:e.fields.map(e=>(0,R.jsx)(Xy,{name:e.name,label:e.label,required:e.required,help:e.help,error:e.error,wide:e.wide,children:e.editor},e.name))})},e.title))}),axe=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),oxe=({resource:e,values:t})=>{let n=J(),r=n.resources[e],i=oS(e);return r?VT(i,`create`)?(0,R.jsx)(sxe,{resource:e,values:t}):(0,R.jsx)(rS,{title:IS(`notAllowed`),children:IS(`cannotCreate`,n.views[e]?.names?.plural.toLowerCase()??e)}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e)})},sxe=({resource:e,values:t})=>{let n=J(),r=n.resources[e],i=n.views[e],a=U(),o=Qp(),{go:s}=sS(),c=i?.names?.singular??K(e),l=z5(i?.saveFeedback??`toast`,IS(`subject`,c)),u=zS(r,i),[d,f]=(0,I.useState)(()=>WS(r,u,t)),[p,m]=(0,I.useState)({}),[h,g]=(0,I.useState)(0),_=XC(h);(0,I.useEffect)(()=>{for(let[e,i]of Object.entries(t??{})){let t=n.resources[r.fields[e]?.relation?.resource??``];t&&G0(o,a,t,[i],n.views[t.name]).then(t=>{let n=t.get(i);n&&f(t=>LS(t[e])&&t[e].key===i?{...t,[e]:{key:i,label:n}}:t)})}},[t,n,r,a,o]);let v=(e,t)=>{m(t=>axe(t,e)),f(n=>({...n,[e]:t}))},y=()=>l.run(async()=>{let t;try{t=await a.create(e,VS(r,n.resources,d))}catch(e){let t=JC(e);throw m(t),Object.keys(t).length>0&&g(e=>e+1),e}for(let t of[`page`,`list`,`first-page`,`map`,`facets`,`series`])o.invalidateQueries({queryKey:[t,e]});s({kind:`record`,resource:e,key:Xb(r,t.record)},{replace:!0})}),b=u.map(e=>({title:e.title,help:e.help,fields:e.fields.map(e=>{let t=r.fields[e],a=d[e],o=t.relation?n.resources[t.relation.resource]:void 0,s=i?.fields[e]?.label??K(e),c=p[e];return{name:e,label:s,help:i?.fields[e]?.help,required:HS(t),error:c&&qC(t,s,c),wide:!!(i?.fields[e]?.multiline||i?.fields[e]?.markdown),editor:(0,R.jsx)(BC,{field:t,hints:i?.fields[e],value:LS(a)?a.key:a??(t.type!==`boolean`&&``),stored:void 0,relationLabel:LS(a)?a.label:void 0,placeholder:GS(t)?IS(`setByDatabase`):void 0,relationPicker:o?{target:o,view:n.views[o.name]}:void 0,invalid:!!p[e],resource:r.name,onChange:t=>v(e,t)})}})}));return(0,R.jsx)(ixe,{ref:_,noun:c,collection:i?.names?.plural??K(e),sections:b,saving:l.phase===`saving`,message:l.message,onSubmit:()=>void y(),onCancel:()=>s({kind:`list`,resource:e})})},cxe=({resource:e,values:t})=>{let n=J(),r=n.views[e];return r?.create?n.pages[r.create.page]?(0,R.jsx)(L5,{name:r.create.page}):(0,R.jsx)(rS,{title:IS(`notAllowed`),children:IS(`cannotCreate`,r.names?.plural.toLowerCase()??K(e))}):(0,R.jsx)(oxe,{resource:e,values:t},new URLSearchParams(t).toString())},lxe=(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)}}))},uxe=(e,t)=>[...new Set(t.filter(t=>!e.includes(t)))],dxe=rr(),fxe=(e,t)=>{let n=U(),[r,i]=(0,I.useState)({}),a=e=>!!e?.search?.length&&e.primaryKey.length===1,o=wh({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:Sm,queryFn:async()=>{let e=i.primaryKey[0],r=Gb(i,t[i.name]);return(await n.list(i.name,{filter:Hn(dxe.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 s=t=>i(n=>({...n,[e]:t}));return(r[e]??``).trim()===``?{onSearch:s}:{onSearch:s,matches:o[n]?.data??[]}})},pxe=24,mxe=({model:e,resources:t,views:n,view:r,state:i,extras:a})=>{let o=U(),s=Qp(),c=r6(r,e),l=e=>r?.fields[e]?.label??K(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=wh({queries:d.map(({group:t,field:r})=>{let s=Y3(c,{...i,facets:{...i.facets,[t]:[]}},a),l=u(r),d=l?.primaryKey.length===1?Gb(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=wh({queries:c.facets.map(t=>{let r=u(t.id),a=uxe((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 G0(s,o,r,a,n[r.name])]}})}),h=fxe(c.facets.map(e=>({id:e.id,target:e.combobox?u(e.id):void 0})),n),g=c.ranges??[],_=wh({queries:g.map(t=>{let n=Y3(c,D3(i,t.id,void 0),a),s=i6(r,t.id)?pxe: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`?us(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?lxe(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:i6(r,e.id)?n.buckets.map(e=>e.count):[],format:a6(r,e.id)}]}),...c.dateField&&{datePresets:c.datePresets??!0,dateField:c.dateField,dateKind:c.dateKind,...c.dateSecondary&&{dateSecondary:!0}},toggles:c.toggles?.map(e=>({...e,label:l(e.id)}))}},V5=a({en:{confirmTitle:e=>`Delete ${e}?`,confirmDescription:(e,t)=>`This ${e.toLowerCase()} will be removed. This cannot be undone.`,cancel:`Cancel`,delete:`Delete`,changedTitle:e=>`${e} was changed since you opened it`,changedDescription:`Someone saved this record in the meantime. Review what changed before you delete it.`,reviewChanges:`Review changes`,deleteAnyway:`Delete anyway`,noVisibleChanges:`No visible fields differ; the record was saved again with the same values.`,bulkConfirmTitle:(e,t)=>`Delete ${e} ${e===1?t.replace(/s$/,``):t.toLowerCase()}?`,bulkConfirmDescription:`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.`,deleteCount:e=>`Delete ${e}`,deleting:`Deleting`,progress:(e,t)=>`${e} of ${t} done`,working:`Working`,deleted:e=>`Deleted ${e}`,deletedOf:(e,t)=>`Deleted ${e} of ${t}`,kept:e=>`${e} could not be deleted and were kept.`,done:`Done`,deletedToast:e=>`${e} deleted`,undo:`Undo`,restored:e=>`${e} restored`,alreadyBack:e=>`${e} is already back`,couldNotRestore:e=>`Could not restore ${e}`,couldNotDelete:e=>`Could not delete ${e}`,changedSinceLoaded:`Changed since the list loaded, so it was kept.`,stillPointAt:(e,t)=>`${e} still point at this ${t.toLowerCase()}.`,show:e=>`Show ${e.toLowerCase()}`},nl:{confirmTitle:e=>`${e} verwijderen?`,confirmDescription:(e,t)=>`${t} wordt verwijderd. Dit kan niet ongedaan worden gemaakt.`,cancel:`Annuleren`,delete:`Verwijderen`,changedTitle:e=>`${e} is gewijzigd sinds je het opende`,changedDescription:`Iemand heeft dit record intussen bewaard. Bekijk wat er veranderde voordat je het verwijdert.`,reviewChanges:`Wijzigingen bekijken`,deleteAnyway:`Toch verwijderen`,noVisibleChanges:`Geen zichtbaar veld verschilt; het record is opnieuw bewaard met dezelfde waarden.`,bulkConfirmTitle:(e,t)=>e===1?`Eén record verwijderen?`:`${e} ${t.toLowerCase()} verwijderen?`,bulkConfirmDescription:`Dit kan niet ongedaan worden gemaakt. Elk record wordt alleen verwijderd als het niet is gewijzigd sinds de lijst laadde; wat wel is gewijzigd, wordt gemeld en behouden.`,deleteCount:e=>`${e} verwijderen`,deleting:`Verwijderen`,progress:(e,t)=>`${e} van ${t} klaar`,working:`Bezig`,deleted:e=>`${e} verwijderd`,deletedOf:(e,t)=>`${e} van ${t} verwijderd`,kept:e=>`${e} kon${e===1?``:`den`} niet worden verwijderd en ${e===1?`is`:`zijn`} behouden.`,done:`Klaar`,deletedToast:e=>`${e} verwijderd`,undo:`Ongedaan maken`,restored:e=>`${e} teruggezet`,alreadyBack:e=>`${e} is al terug`,couldNotRestore:e=>`Kon ${e} niet terugzetten`,couldNotDelete:e=>`Kon ${e} niet verwijderen`,changedSinceLoaded:`Gewijzigd sinds de lijst laadde, dus behouden.`,stillPointAt:(e,t)=>`${e} verwijzen hier nog naar.`,show:e=>`${e} tonen`}}),hxe=rr(),gxe=({blockingPlural:e,noun:t})=>V5(`stillPointAt`,e,t),_xe=({blockedBy:e,resources:t,views:n,noun:r,key:i})=>{let{resource:a,field:o}=e;if(!t[a])return;let s=n[a]?.names?.plural??K(a),c=gxe({blockingPlural:s,noun:r});if(!o||i===void 0)return{text:c};let l={kind:`list`,resource:a,filter:Hn(hxe.eq(o,i))};return{text:c,link:{label:V5(`show`,s),to:l}}},vxe=({title:e,noun:t,busy:n,onConfirm:r,onCancel:i})=>(0,R.jsx)(jf,{title:V5(`confirmTitle`,e),description:V5(`confirmDescription`,t,e),onClose:i,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:i,children:V5(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:r,children:V5(`delete`)})]})}),yxe=({title:e,changes:t,busy:n,onReview:r,onDeleteAnyway:i,onCancel:a})=>(0,R.jsx)(jf,{title:V5(`changedTitle`,e),description:V5(`changedDescription`),onClose:a,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:r,children:V5(`reviewChanges`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:i,children:V5(`deleteAnyway`)})]}),children:t.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:V5(`noVisibleChanges`)}):(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:t.map(e=>(0,R.jsxs)(`li`,{className:`grid grid-cols-[96px_1fr] gap-3 px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,R.jsx)(`span`,{className:`font-medium`,children:e.after})]})]},e.field))})}),H5=e=>{if(e.stage===`confirm`)return(0,R.jsx)(jf,{title:V5(`bulkConfirmTitle`,e.count,e.plural),description:V5(`bulkConfirmDescription`),onClose:e.onCancel,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:e.onCancel,children:V5(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,onClick:e.onConfirm,children:V5(`deleteCount`,e.count)})]})});if(e.stage===`running`)return(0,R.jsx)(jf,{title:V5(`deleting`),description:V5(`progress`,e.done,e.total),onClose:()=>void 0,actions:(0,R.jsx)(V,{loading:!0,disabled:!0,children:V5(`working`)})});let t=e.total-e.failures.length;return(0,R.jsx)(jf,{title:e.failures.length===0?V5(`deleted`,t):V5(`deletedOf`,t,e.total),description:e.failures.length===0?void 0:V5(`kept`,e.failures.length),onClose:e.onClose,actions:(0,R.jsx)(V,{variant:`primary`,onClick:e.onClose,children:V5(`done`)}),children:e.failures.length>0&&(0,R.jsx)(`ul`,{className:`max-h-48 divide-y overflow-y-auto rounded-md border`,children:e.failures.map(e=>(0,R.jsxs)(`li`,{className:`px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:e.title}),(0,R.jsx)(`span`,{className:`block text-xs text-danger-text`,children:e.message})]},e.title))})})},bxe=new Set([`updated_at`,`updatedAt`]),xxe=(e,t,n,r)=>Object.values(e.fields).flatMap(e=>{if(bxe.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??K(e.name),before:dx(e,n[e.name],i),after:dx(e,r[e.name],i)}]}),Sxe=4,U5=({model:e,view:t,onDeleted:n,onReview:r,restore:i})=>{let a=U(),o=Qp(),s=qy(),[c,l]=(0,I.useState)(),[u,d]=(0,I.useState)(!1),f=t?.names?.singular??K(e.name),p=t?.names?.plural??K(e.name),{resources:m,views:h}=J(),{href:g,open:_}=sS(),v=(t,n)=>t.blockedBy&&_xe({blockedBy:t.blockedBy,resources:m,views:h,noun:f,...e.primaryKey.length===1&&{key:n.key}}),y=()=>{for(let t of[`page`,`list`,`first-page`,`map`])o.invalidateQueries({queryKey:[t,e.name]});for(let t of[`facets`,`series`,`histogram`])o.invalidateQueries({queryKey:[t,e.name]})},b=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 Gs))throw e;return e}},x=t=>{y(),l(void 0),n?.(t),s.show({state:`success`,title:V5(`deletedToast`,t.title),...e.softDelete&&i&&{action:{label:V5(`undo`),onClick:()=>{i(t).then(()=>{y(),s.show({state:`success`,title:V5(`restored`,t.title)})},e=>{if(!Ks(e))throw e;y(),s.show({state:e.status===409?`success`:`error`,title:e.status===409?V5(`alreadyBack`,t.title):V5(`couldNotRestore`,t.title),description:e.status===409?void 0:e.message})})}}}})},S=async(n,r)=>{d(!0);try{if(!await b(n,r))return x(n);let i=(await a.get(e.name,n.key)).record;l({kind:`conflict`,target:n,fresh:i,changes:xxe(e,t,n.snapshot,i)})}catch(e){if(!Ks(e))throw e;l(void 0);let t=v(e,n);s.show({state:`error`,title:V5(`couldNotDelete`,n.title),description:t?.text??e.message,...t?.link&&{action:{label:t.link.label,href:g(t.link.to),onNavigate:_}}})}finally{d(!1)}},C=async e=>{try{return await b(e,e.etag)?{title:e.title,message:V5(`changedSinceLoaded`)}:void 0}catch(t){if(!Ks(t))throw t;return{title:e.title,message:v(t,e)?.text??t.message}}},w=async e=>{let t=[],n=0;l({kind:`bulk-running`,done:n,total:e.length});let r=[...e];await Promise.all(Array.from({length:Math.min(Sxe,e.length)},async()=>{for(let i=r.shift();i;i=r.shift()){let r=await C(i);r&&t.push(r),n+=1,l({kind:`bulk-running`,done:n,total:e.length})}})),y(),l({kind:`bulk-done`,total:e.length,failures:t})},T=()=>l(void 0);return{dialogs:c&&(0,R.jsxs)(R.Fragment,{children:[c.kind===`confirm`&&(0,R.jsx)(vxe,{title:c.target.title,noun:f,busy:u,onCancel:T,onConfirm:()=>void S(c.target,c.target.etag)}),c.kind===`conflict`&&(0,R.jsx)(yxe,{title:c.target.title,changes:c.changes,busy:u,onCancel:T,onReview:()=>{T(),r?.(c.target,c.fresh)},onDeleteAnyway:()=>void S(c.target,`*`)}),c.kind===`bulk-confirm`&&(0,R.jsx)(H5,{stage:`confirm`,count:c.targets.length,plural:p,onCancel:T,onConfirm:()=>void w(c.targets)}),c.kind===`bulk-running`&&(0,R.jsx)(H5,{stage:`running`,done:c.done,total:c.total}),c.kind===`bulk-done`&&(0,R.jsx)(H5,{stage:`done`,total:c.total,failures:c.failures,onClose:T})]}),start:t=>e.softDelete?S(t,t.etag):l({kind:`confirm`,target:t}),startBulk:e=>l({kind:`bulk-confirm`,targets:e})}},W5=e=>{let t=U();return e.softDelete?async n=>void await t.undelete(e.name,n.key):void 0},G5=(e,t,n)=>e?.create?Object.hasOwn(t,e.create.page):VT(n,`create`),$=a({en:{import:`Import`,importPlural:e=>`Import ${e.toLowerCase()}`,couldNotReadFile:`Could not read the file`,couldNotCheck:`Could not check the rows`,cancel:`Cancel`,next:`Next`,checkRows:`Check rows`,back:`Back`,checking:`Checking`,importRows:(e,t)=>`Import ${e} ${t===1?`row`:`rows`}`,cancelImport:`Cancel import`,done:`Done`,file:`File`,fileHint:`An Excel workbook (.xlsx) or a CSV file saved as UTF-8. Its first row names the columns.`,reading:e=>`Reading ${e}…`,theFile:`the file`,sheet:`Sheet`,create:`Create`,update:`Update`,upsert:`Create or update`,createHint:`Each row creates a record.`,updateHint:`Each row updates the record its value finds; a row that finds none is not imported.`,upsertHint:`Each row updates the record its value finds, or creates one when it finds none.`,doNotImport:`Do not import`,rows:`Rows`,whatEachRowDoes:`What each row does`,findBy:`Find records by`,chooseField:`Choose a field`,findByHint:`A field no two records share, such as the key or an email.`,foundInColumn:`Found in column`,chooseColumn:`Choose a column`,numbers:`Numbers`,dates:`Dates`,dayFirst:`Day first (31/12/2026)`,monthFirst:`Month first (12/31/2026)`,datesHint:`Dates written as 2026-12-31 read the same either way. Times without a zone are your own time.`,requiredMarked:`New records need the fields marked *.`,columns:`Columns`,emptyInFirstRows:`Empty in the first rows`,field:`Field`,fieldFor:e=>`Field for ${e}`,foundBy:`Found by`,pluralFoundBy:e=>`${e} found by`,noColumnFills:e=>`No column fills ${e}, which new records need.`,rowsNotImported:`Rows not imported`,rowProblems:e=>`Row ${e}:`,andMore:e=>`And ${e} more rows, all in the file.`,checkingRows:e=>`Checking rows… ${e} read`,check:`Check`,toCreate:`To create`,toUpdate:`To update`,withProblems:`With problems`,firstRows:`First rows`,row:`Row`,problemRows:`Rows with problems, which are skipped`,download:`Download`,batches:e=>`Rows are saved in batches of ${e}. Cancelling, or an error, keeps the batches already saved; a row the server refuses is listed and the others are saved.`,stopping:`Stopping after this batch…`,saving:`Saving rows…`,rowsSaved:`Rows saved`,stopped:`The import stopped. The rows counted below were saved.`,cancelled:`Cancelled. The rows counted below were saved.`,summary:`Import summary`,created:`Created`,updated:`Updated`,skipped:`Skipped`,failed:`Failed`,notWrittenHint:`Skipped rows had problems in the file; the server refused the failed ones. The file holds each with the reason, to fix and import again.`,notImportedFile:e=>`${e} - not imported.csv`,line:`Line`,problems:`Problems`,notNumber:e=>`${e} is not a number`,notWholeNumber:e=>`${e} is not a whole number`,tooLarge:e=>`${e} is too large`,notBoolean:e=>`${e} is not true or false (true, false, yes, no, 1 or 0)`,notDate:(e,t)=>`${e} is not a date (2026-04-03 or ${t?`day/month/year`:`month/day/year`})`,hasTime:e=>`${e} has a time of day; the field holds a date`,severalValues:(e,t)=>`${e} matches more than one value: ${t}`,notOneOf:(e,t)=>`${e} is not one of ${t}`,notText:e=>`${e} is true or false, not text`,emptyRequired:`is empty, and it is required`,noneHas:(e,t)=>`no ${e.toLowerCase()} has ${t}`,severalHave:(e,t,n)=>`${e} ${t.toLowerCase()} have ${n}`,notOneRecord:e=>`Not one record: ${e}`,nothingToUpdate:e=>`Nothing to update: ${e}`,fileNotUtf8:`The file is not UTF-8 text. Save it as "CSV UTF-8" and choose it again.`,noSheets:`The workbook has no sheets`,missingSheetPart:`The workbook names a sheet it does not hold`,notZip:`The file is not an Excel workbook (.xlsx): it is no ZIP archive`,zip64:`The workbook is too large to read: it is a ZIP64 archive`,compression:(e,t)=>`The workbook's part ${e} is compressed in a way that cannot be read (method ${t})`,notWorkbook:e=>`The file is not an Excel workbook (.xlsx): it has no ${e}`,noSheetCalled:e=>`The workbook has no sheet called ${e}`,unreadable:`The file could not be read`,column:e=>`Column ${e}`},nl:{import:`Importeren`,importPlural:e=>`${e} importeren`,couldNotReadFile:`Kon het bestand niet lezen`,couldNotCheck:`Kon de rijen niet controleren`,cancel:`Annuleren`,next:`Volgende`,checkRows:`Rijen controleren`,back:`Terug`,checking:`Controleren`,importRows:(e,t)=>`${e} ${t===1?`rij`:`rijen`} importeren`,cancelImport:`Import annuleren`,done:`Klaar`,file:`Bestand`,fileHint:`Een Excel-werkmap (.xlsx) of een CSV-bestand bewaard als UTF-8. De eerste rij noemt de kolommen.`,reading:e=>`${e} lezen…`,theFile:`het bestand`,sheet:`Werkblad`,create:`Maken`,update:`Bijwerken`,upsert:`Maken of bijwerken`,createHint:`Elke rij maakt een record.`,updateHint:`Elke rij werkt het record bij dat haar waarde vindt; een rij die er geen vindt, wordt niet geïmporteerd.`,upsertHint:`Elke rij werkt het record bij dat haar waarde vindt, of maakt er een als ze er geen vindt.`,doNotImport:`Niet importeren`,rows:`Rijen`,whatEachRowDoes:`Wat elke rij doet`,findBy:`Records vinden op`,chooseField:`Kies een veld`,findByHint:`Een veld dat geen twee records delen, zoals de sleutel of een e-mailadres.`,foundInColumn:`Gevonden in kolom`,chooseColumn:`Kies een kolom`,numbers:`Getallen`,dates:`Datums`,dayFirst:`Dag eerst (31/12/2026)`,monthFirst:`Maand eerst (12/31/2026)`,datesHint:`Datums geschreven als 2026-12-31 lezen hoe dan ook hetzelfde. Tijden zonder zone zijn in je eigen tijd.`,requiredMarked:`Nieuwe records hebben de velden met * nodig.`,columns:`Kolommen`,emptyInFirstRows:`Leeg in de eerste rijen`,field:`Veld`,fieldFor:e=>`Veld voor ${e}`,foundBy:`Gevonden op`,pluralFoundBy:e=>`${e} gevonden op`,noColumnFills:e=>`Geen kolom vult ${e}, wat nieuwe records nodig hebben.`,rowsNotImported:`Niet geïmporteerde rijen`,rowProblems:e=>`Rij ${e}:`,andMore:e=>`En nog ${e} rijen, allemaal in het bestand.`,checkingRows:e=>`Rijen controleren… ${e} gelezen`,check:`Controle`,toCreate:`Te maken`,toUpdate:`Bij te werken`,withProblems:`Met problemen`,firstRows:`Eerste rijen`,row:`Rij`,problemRows:`Rijen met problemen, die worden overgeslagen`,download:`Downloaden`,batches:e=>`Rijen worden bewaard in groepen van ${e}. Annuleren, of een fout, houdt de groepen die al bewaard zijn; een rij die de server weigert, wordt vermeld en de andere worden bewaard.`,stopping:`Stoppen na deze groep…`,saving:`Rijen bewaren…`,rowsSaved:`Bewaarde rijen`,stopped:`De import is gestopt. De rijen die hieronder zijn geteld, zijn bewaard.`,cancelled:`Geannuleerd. De rijen die hieronder zijn geteld, zijn bewaard.`,summary:`Samenvatting van de import`,created:`Gemaakt`,updated:`Bijgewerkt`,skipped:`Overgeslagen`,failed:`Mislukt`,notWrittenHint:`Overgeslagen rijen hadden problemen in het bestand; de mislukte weigerde de server. Het bestand bevat elke rij met de reden, om te verbeteren en opnieuw te importeren.`,notImportedFile:e=>`${e} - niet geïmporteerd.csv`,line:`Regel`,problems:`Problemen`,notNumber:e=>`${e} is geen getal`,notWholeNumber:e=>`${e} is geen geheel getal`,tooLarge:e=>`${e} is te groot`,notBoolean:e=>`${e} is niet waar of onwaar (true, false, yes, no, 1 of 0)`,notDate:(e,t)=>`${e} is geen datum (2026-04-03 of ${t?`dag/maand/jaar`:`maand/dag/jaar`})`,hasTime:e=>`${e} heeft een tijd van de dag; het veld bevat een datum`,severalValues:(e,t)=>`${e} past bij meer dan één waarde: ${t}`,notOneOf:(e,t)=>`${e} is niet een van ${t}`,notText:e=>`${e} is waar of onwaar, geen tekst`,emptyRequired:`is leeg, en is verplicht`,noneHas:(e,t)=>`geen ${e.toLowerCase()} heeft ${t}`,severalHave:(e,t,n)=>`${e} ${t.toLowerCase()} hebben ${n}`,notOneRecord:e=>`Niet één record: ${e}`,nothingToUpdate:e=>`Niets om bij te werken: ${e}`,fileNotUtf8:`Het bestand is geen UTF-8-tekst. Bewaar het als "CSV UTF-8" en kies het opnieuw.`,noSheets:`De werkmap heeft geen werkbladen`,missingSheetPart:`De werkmap noemt een werkblad dat er niet in zit`,notZip:`Het bestand is geen Excel-werkmap (.xlsx): het is geen ZIP-archief`,zip64:`De werkmap is te groot om te lezen: het is een ZIP64-archief`,compression:(e,t)=>`Het deel ${e} van de werkmap is gecomprimeerd op een manier die niet kan worden gelezen (methode ${t})`,notWorkbook:e=>`Het bestand is geen Excel-werkmap (.xlsx): het heeft geen ${e}`,noSheetCalled:e=>`De werkmap heeft geen werkblad met de naam ${e}`,unreadable:`Het bestand kon niet worden gelezen`,column:e=>`Kolom ${e}`}}),K5=e=>typeof e==`object`&&!!e,q5=e=>e===null||typeof e==`string`&&e.trim()===``,J5=e=>e===null?``:K5(e)?e.date.replace(`T`,` `):typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e),Y5=e=>e<26?String.fromCharCode(65+e):Y5(Math.floor(e/26)-1)+Y5(e%26),X5=(e,t)=>e[t]?.trim()?e[t]:$(`column`,Y5(t)),Cxe=e=>/[",\r\n]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e,wxe=(e,t)=>{let n=[...t].sort((e,t)=>e.line-t.line).map(t=>[...e.map((e,n)=>J5(t.cells[n]??null)),String(t.line),t.problems.join(`; `)]);return`${[[...e,$(`line`),$(`problems`)],...n].map(e=>e.map(Cxe).join(`,`)).join(`\r
67
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fpe(e,t){if(e){if(typeof e==`string`)return T0(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)?T0(e,t):void 0}}function T0(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 Ipe(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 Lpe(e){if(Array.isArray(e))return e}var Rpe=()=>(GK(),null);function E0(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var zpe=(0,I.forwardRef)((e,t)=>{var n=(0,I.useRef)(null),r=w0((0,I.useState)({containerWidth:E0(e.style?.width),containerHeight:E0(e.style?.height)}),2),i=r[0],a=r[1],o=(0,I.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}})},[]),s=(0,I.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;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,I.useEffect)(()=>()=>{n.current?.disconnect()},[o]),I.createElement(I.Fragment,null,I.createElement(TM,{width:i.containerWidth,height:i.containerHeight}),I.createElement(`div`,C0({ref:s},e)))}),Bpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=w0((0,I.useState)({containerWidth:E0(n),containerHeight:E0(r)}),2),a=i[0],o=i[1],s=(0,I.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,I.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return I.createElement(I.Fragment,null,I.createElement(TM,{width:a.containerWidth,height:a.containerHeight}),I.createElement(`div`,C0({ref:c},e)))}),Vpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height;return I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(`div`,C0({ref:t},e)))}),Hpe=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?I.createElement(Bpe,C0({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?I.createElement(Vpe,C0({},e,{width:n,height:r,ref:t})):I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(`div`,C0({ref:t},e)))});function Upe(e){return e?zpe:Hpe}var Wpe=(0,I.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,s=e.onDoubleClick,c=e.onMouseDown,l=e.onMouseEnter,u=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,h=e.onTouchStart,g=e.style,_=e.width,v=e.responsive,y=e.dispatchTouchEvents,b=y===void 0||y,x=(0,I.useRef)(null),S=pk(),C=w0((0,I.useState)(null),2),w=C[0],T=C[1],E=w0((0,I.useState)(null),2),D=E[0],O=E[1],k=kpe(),A=hM(),j=A?.width>0?A.width:_,M=A?.height>0?A.height:i,N=(0,I.useCallback)(e=>{k(e),typeof t==`function`&&t(e),T(e),O(e),e!=null&&(x.current=e)},[k,t,T,O]),ee=(0,I.useCallback)(e=>{S(I1(e)),S(e0({handler:a,reactEvent:e}))},[S,a]),te=(0,I.useCallback)(e=>{S(R1(e)),S(e0({handler:l,reactEvent:e}))},[S,l]),ne=(0,I.useCallback)(e=>{S(eW()),S(e0({handler:u,reactEvent:e}))},[S,u]),re=(0,I.useCallback)(e=>{S(R1(e)),S(e0({handler:d,reactEvent:e}))},[S,d]),ie=(0,I.useCallback)(()=>{S(q1())},[S]),ae=(0,I.useCallback)(()=>{S(J1())},[S]),oe=(0,I.useCallback)(e=>{S(K1(e.key))},[S]),se=(0,I.useCallback)(e=>{S(e0({handler:o,reactEvent:e}))},[S,o]),ce=(0,I.useCallback)(e=>{S(e0({handler:s,reactEvent:e}))},[S,s]),le=(0,I.useCallback)(e=>{S(e0({handler:c,reactEvent:e}))},[S,c]),ue=(0,I.useCallback)(e=>{S(e0({handler:f,reactEvent:e}))},[S,f]),de=(0,I.useCallback)(e=>{S(e0({handler:h,reactEvent:e}))},[S,h]),P=(0,I.useCallback)(e=>{b&&S(a0(e)),S(e0({handler:m,reactEvent:e}))},[S,b,m]),fe=(0,I.useCallback)(e=>{S(e0({handler:p,reactEvent:e}))},[S,p]),pe=Upe(v);return I.createElement(yK.Provider,{value:w},I.createElement(ND.Provider,{value:D},I.createElement(pe,{width:j??g?.width,height:M??g?.height,className:jE(`recharts-wrapper`,r),style:Ape({position:`relative`,cursor:`default`,width:j,height:M},g),onClick:ee,onContextMenu:se,onDoubleClick:ce,onFocus:ie,onBlur:ae,onKeyDown:oe,onMouseDown:le,onMouseEnter:te,onMouseLeave:ne,onMouseMove:re,onMouseUp:ue,onTouchEnd:fe,onTouchMove:P,onTouchStart:de,ref:N},I.createElement(Rpe,null),n)))}),Gpe=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function Kpe(e,t){if(e==null)return{};var n,r,i=qpe(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 qpe(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 D0=(0,I.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,l=e.title,u=e.desc,d=LE(Kpe(e,Gpe));return c?I.createElement(I.Fragment,null,I.createElement(TM,{width:n,height:r}),I.createElement(b0,{otherAttributes:d,title:l,desc:u},a)):I.createElement(Wpe,{className:o,style:s,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},I.createElement(b0,{otherAttributes:d,title:l,desc:u,ref:t},I.createElement(GQ,null,a)))});function O0(){return O0=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},O0.apply(null,arguments)}function k0(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 Jpe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?k0(Object(n),!0).forEach(function(t){Ype(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ype(e,t,n){return(t=Xpe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xpe(e){var t=Zpe(e,`string`);return typeof t==`symbol`?t:t+``}function Zpe(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 Qpe=Jpe({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`},d0),A0=(0,I.forwardRef)(function(e,t){var n=TO(e.categoricalChartProps,Qpe),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,o=e.tooltipPayloadSearcher,s=e.categoricalChartProps,c={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:o,eventEmitter:void 0};return I.createElement(p0,{preloadedState:{options:c},reduxStoreName:s.id??r},I.createElement(kQ,{chartData:s.data}),I.createElement(m0,{layout:n.layout,margin:n.margin}),I.createElement(g0,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),I.createElement(h0,{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}),I.createElement(D0,O0({},n,{ref:t})))}),$pe=[`axis`],eme=(0,I.forwardRef)((e,t)=>I.createElement(A0,{chartName:`LineChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:$pe,tooltipPayloadSearcher:TK,categoricalChartProps:e,ref:t})),tme=[`axis`,`item`],j0=(0,I.forwardRef)((e,t)=>I.createElement(A0,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:tme,tooltipPayloadSearcher:TK,categoricalChartProps:e,ref:t}));function nme(e){var t=pk();return(0,I.useEffect)(()=>{t(upe(e))},[t,e]),null}var rme=[`layout`];function M0(){return M0=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},M0.apply(null,arguments)}function ime(e,t){if(e==null)return{};var n,r,i=ame(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 ame(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 N0(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 ome(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?N0(Object(n),!0).forEach(function(t){sme(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function sme(e,t,n){return(t=cme(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cme(e){var t=lme(e,`string`);return typeof t==`symbol`?t:t+``}function lme(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 P0=ome({accessibilityLayer:!0,stackOffset:`none`,barCategoryGap:`10%`,barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:`index`,layout:`radial`,responsive:!1,cx:`50%`,cy:`50%`,innerRadius:0,outerRadius:`80%`},d0),ume=(0,I.forwardRef)(function(e,t){var n=TO(e.categoricalChartProps,P0),r=n.layout,i=ime(n,rme),a=e.chartName,o={chartName:a,defaultTooltipEventType:e.defaultTooltipEventType,validateTooltipEventTypes:e.validateTooltipEventTypes,tooltipPayloadSearcher:e.tooltipPayloadSearcher,eventEmitter:void 0};return I.createElement(p0,{preloadedState:{options:o},reduxStoreName:n.id??a},I.createElement(kQ,{chartData:n.data}),I.createElement(m0,{layout:r,margin:n.margin}),I.createElement(g0,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),I.createElement(h0,{baseValue:void 0,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}),I.createElement(nme,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),I.createElement(D0,M0({},i,{ref:t})))});function F0(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 I0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?F0(Object(n),!0).forEach(function(t){dme(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dme(e,t,n){return(t=fme(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fme(e){var t=pme(e,`string`);return typeof t==`symbol`?t:t+``}function pme(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 mme=[`item`],hme=I0(I0({},P0),{},{layout:`centric`,startAngle:0,endAngle:360}),gme=(0,I.forwardRef)((e,t)=>{var n=TO(e,hme);return I.createElement(ume,{chartName:`PieChart`,defaultTooltipEventType:`item`,validateTooltipEventTypes:mme,tooltipPayloadSearcher:TK,categoricalChartProps:n,ref:t})}),L0=`flex items-center gap-2 rounded-md px-1 py-0.5`,R0=({resource:e,view:t,filter:n,color:r,label:i,children:a})=>{let o=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`size-2.5 shrink-0 rounded-full`,style:{background:r},"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate group-hover:text-primary-text`,children:i}),a]});return(0,R.jsx)(`li`,{children:n===void 0?(0,R.jsx)(`div`,{className:L0,children:o}):(0,R.jsx)(cS,{to:OE(t,e,n),className:`group ${L0} hover:bg-muted`,children:o})})},_me=(e,t)=>t>0?`${Math.round(e/t*100)}%`:``,vme=({active:e,payload:t,measure:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:r.label}),(0,R.jsx)(`div`,{className:`font-semibold tabular-nums`,children:DE(r.value,n)})]})},yme=({resource:e,view:t,slices:n,measure:r})=>{let i=n.filter(e=>e.value!==null&&e.value>0),a=i.reduce((e,t)=>e+t.value,0);return(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-4 sm:flex-row sm:items-center`,children:[(0,R.jsx)(`div`,{className:`size-36 shrink-0`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:(0,R.jsxs)(gme,{children:[(0,R.jsx)(EZ,{data:i,dataKey:`value`,nameKey:`label`,innerRadius:`62%`,outerRadius:`100%`,paddingAngle:+(i.length>1),stroke:`var(--background)`,strokeWidth:2,isAnimationActive:!1,children:i.map(e=>(0,R.jsx)(lq,{fill:e.color},e.key))}),(0,R.jsx)(cq,{content:(0,R.jsx)(vme,{measure:r}),isAnimationActive:!1})]})})}),(0,R.jsx)(`ul`,{className:`flex w-full min-w-0 flex-col gap-0.5`,children:n.map(n=>(0,R.jsxs)(R0,{resource:e,view:t,filter:n.filter,color:n.color,label:n.label,children:[(0,R.jsx)(`span`,{className:`font-medium tabular-nums`,children:DE(n.value,r)}),(0,R.jsx)(`span`,{className:`w-9 text-right text-xs text-muted-foreground tabular-nums`,children:_me(n.value??0,a)})]},n.key))})]})},bme={hour:{hour:`2-digit`,minute:`2-digit`,hour12:!1},day:{day:`numeric`,month:`short`},week:{day:`numeric`,month:`short`},month:{month:`short`,year:`2-digit`},year:{year:`numeric`}},z0={hour:{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`,hour12:!1},day:{day:`numeric`,month:`short`,year:`numeric`},week:{day:`numeric`,month:`short`,year:`numeric`},month:{month:`long`,year:`numeric`},year:{year:`numeric`}},B0=e=>{let t=new Intl.DateTimeFormat(l(),{...e,timeZone:`UTC`});return e=>t.format(e)},V0={fontSize:11,fill:`var(--muted-foreground)`},xme=({active:e,payload:t,measure:n,bucket:r,series:i})=>{let a=t?.[0]?.payload;return!e||!a?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:r===`week`?vE(`weekOf`,B0(z0[r])(a.at)):B0(z0[r])(a.at)}),i?.map(e=>(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{background:e.color},"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`flex-1`,children:e.label}),(0,R.jsx)(`span`,{className:`font-semibold tabular-nums`,children:DE(a[e.key]??null,n)})]},e.key)),i&&n.kind!==`average`&&(0,R.jsx)(`div`,{className:`mt-0.5 border-t pt-0.5 font-semibold tabular-nums`,children:DE(a.value,n)}),!i&&(0,R.jsx)(`div`,{className:`font-semibold tabular-nums`,children:DE(a.value,n)})]})},H0=({points:e,measure:t,bucket:n,type:r,series:i,resource:a,view:o})=>{let s=cu(`(min-width: 640px)`),c=B0(bme[n]),u=(0,R.jsx)(B$,{vertical:!1,stroke:`var(--border)`}),d=(0,R.jsx)(O1,{dataKey:`at`,tickFormatter:c,tick:V0,axisLine:!1,tickLine:!1,minTickGap:s?24:40,height:18}),f=(0,R.jsx)(N1,{width:s?48:36,tick:V0,axisLine:!1,tickLine:!1,tickCount:3,tickFormatter:e=>e.toLocaleString(l(),{notation:`compact`})}),p=(0,R.jsx)(cq,{cursor:r===`bar`?{fill:`var(--muted)`}:{stroke:`var(--border-strong)`},content:(0,R.jsx)(xme,{measure:t,bucket:n,...i&&{series:i}}),isAnimationActive:!1}),m=i??[{key:`value`,label:``,color:`var(--chart-1)`}],h=(0,R.jsx)(`div`,{className:`h-40`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:r===`line`?(0,R.jsxs)(eme,{data:e,margin:{top:6,right:6,bottom:0,left:0},children:[u,d,f,p,m.map(t=>(0,R.jsx)(r1,{dataKey:t.key,stroke:t.color,strokeWidth:2,dot:e.length<=31&&{r:3,fill:t.color,strokeWidth:0},activeDot:{r:4,stroke:`var(--background)`,strokeWidth:2},isAnimationActive:!1},t.key))]}):(0,R.jsxs)(j0,{data:e,margin:{top:6,right:0,bottom:0,left:0},barCategoryGap:`22%`,children:[u,d,f,p,m.map((e,t)=>(0,R.jsx)(b1,{dataKey:e.key,fill:e.color,...i&&{stackId:`split`},radius:t===m.length-1?[4,4,0,0]:0,isAnimationActive:!1},e.key))]})})});return!i||a===void 0?h:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[h,(0,R.jsx)(`ul`,{className:`flex flex-wrap gap-x-3 gap-y-0.5 text-sm`,children:i.map(e=>(0,R.jsx)(R0,{resource:a,view:o,color:e.color,label:e.label,...e.filter!==void 0&&{filter:e.filter}},e.key))})]})},Sme=1e-6,Cme=(e,t,n,r,i,a=``)=>{let o=t.map((e,t)=>({key:`s${t}`,label:SE(n,r,e),color:xE(n,r,e.value,t),filter:CE(n,e.value,a)})),s=i.kind===`count`?0:null,c=(e,t)=>{let n=e.splits?.find(e=>e.value===t);return n?i.kind===`count`?n.count:n[i.kind]??null:s},l=EE(e,i).map((n,r)=>{let a=e[r],o=t.map(e=>c(a,e.value)),s=Object.fromEntries(o.map((e,t)=>[`s${t}`,e]));if(i.kind===`average`)return{...n,...s};let l=n.value===null?null:n.value-o.reduce((e,t)=>e+(t??0),0);return{...n,...s,other:l===null?null:l<Sme?0:l}});return i.kind!==`average`&&l.some(e=>(e.other??0)>0)?{series:[...o,{key:`other`,label:vE(`other`),color:`var(--border-strong)`}],points:l}:{series:o,points:l.map(({other:e,...t})=>t)}},wme=(e,t,n,r)=>{let i=n??r,a=i===void 0?void 0:e.fields[i];return!a||i===void 0?{kind:`count`}:{kind:n===void 0?`average`:`sum`,field:a,hints:t?.fields[i]}},U0=(e,t,n)=>{let r=e?.type===`relation`&&e.relation?t[e.relation.resource]:void 0;return r&&r.primaryKey.length===1?Gb(r,n[r.name]):void 0},W0=({model:e,view:t,groupBy:n,splitBy:r,type:i=`bar`,sum:a,average:o,filter:s=``,granularity:c=`day`,range:l=`30d`,limit:u=10,empty:d=vE(`nothingYet`)})=>{let{resources:f,views:p}=J(),m=e.fields[n],h=m?.type===`date`||m?.type===`timestamp`,g=U0(m,f,p),_=h&&r!==void 0?e.fields[r]:void 0,v=U0(_,f,p),y=_?{splitBy:_.name,splitLimit:8,...v&&{splitLabel:v}}:{},b=h?{granularity:c,range:l,timeZone:Yd(),...y}:{limit:u,...g&&{label:g}},x=_E(e.name,{groupBy:n,filter:s,...a&&{sum:a},...o&&{average:o},...b},!!m),S=wme(e,t,a,o);if(!m)return null;if(x.isPending)return(0,R.jsx)(_u,{className:`h-36 w-full`});if(x.error)return(0,R.jsx)(`p`,{className:`text-danger-text`,children:vE(`couldNotLoad`)});let{groups:C}=x.data;if(C.every(e=>e.count===0))return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:d});let w=i===`line`?`line`:`bar`;if(h&&_&&x.data.splits){let{series:n,points:r}=Cme(C,x.data.splits,_,t?.fields[_.name],S,s);return(0,R.jsx)(H0,{points:r,measure:S,bucket:c,type:w,series:n,resource:e.name,view:t})}if(h)return(0,R.jsx)(H0,{points:EE(C,S),measure:S,bucket:c,type:w});let T=TE(C,m,t?.fields[n],S,s);return i===`donut`?(0,R.jsx)(yme,{resource:e.name,view:t,slices:T,measure:S}):(0,R.jsx)(kE,{resource:e.name,view:t,slices:T,measure:S})},Tme=({node:e,slots:t})=>{let{resource:n,title:r,description:i,actions:a,span:o,...s}=oE(e),{resources:c,views:l}=J(),u=c[n];return u?(0,R.jsx)(lE,{title:r,description:i,actions:t.actions,className:`h-full`,children:(0,R.jsx)(W0,{model:u,view:l[n],...s})}):null},Eme=rr(),G0=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=Gb(n,i),c=await e.fetchQuery({queryKey:H.labels(n.name,o.join(`,`)),staleTime:3e5,queryFn:async()=>(await t.list(n.name,{filter:Hn(Eme.in(a,o)),fields:[a,s],pageSize:o.length})).items.map(e=>[String(e[a]),String(e[s])])});return new Map(c)},K0=(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}]:[]}),q0=(e,t,n,r)=>Object.fromEntries(K0(e,n,r).filter(({target:e})=>e.primaryKey.length===1).map(({name:e,target:n})=>[e,Gb(n,t[n.name])])),J0=(e,t,n,r,i={})=>{let a=K0(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})},Y0=(e,t)=>{let n=String(t);return e&&Object.hasOwn(e,n)?e[n]:void 0},X0=({value:e,hints:t,children:n})=>(0,R.jsx)(Fu,{tone:nx(String(e)),color:Y0(t?.valueColors,e),shape:t?.badgeShape,children:n}),Dme=({field:e,value:t,known:n})=>{let{resources:r,views:i}=J(),a=U(),o=Qp(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Eh({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await G0(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,R.jsx)(cS,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,R.jsx)(`span`,{children:c})},Ome=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=J(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,R.jsx)(Dme,{field:t,value:n,known:i});let s=t.type===`file`?sb(n):void 0;if(s&&`url`in s&&s.url){let e=hb(n,{width:40,height:40});return(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[e&&(0,R.jsx)(_C,{image:e,className:`size-10 shrink-0 rounded border border-border object-cover`}),(0,R.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`truncate font-medium text-primary-text hover:underline`,children:s.name})]})}if(Ub(t,o))return(0,R.jsx)(jC,{source:String(n)});let c=dx(t,n,o),l=t.type===`text`?Qb(o):void 0;return l?(0,R.jsx)(RC,{format:l,value:c}):t.type===`enum`||o.format===`badge`?(0,R.jsx)(X0,{value:n,hints:o,children:c}):(0,R.jsx)(`span`,{title:fx(t,n,void 0,o),className:g(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`,o.multiline&&`whitespace-pre-line break-words`),children:c})},Z0=e=>{let{views:t}=J(),n=EC(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,R.jsx)(Ome,{...e});return n?(0,R.jsx)(kC,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},Q0=(e,t,n)=>{if(!t)return[];let r=vc(e,t.model.name,n);return r.ok?r.steps:[]},$0=(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}}),e2=(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}},t2=(e,t)=>{let{resources:n}=J(),r=Q0(n,e,t);return e2(e,r,Eh($0(U(),Qp(),e,t,r)))},kme=(e,t)=>{let{resources:n}=J(),r=U(),i=Qp(),a=t.map(t=>Q0(n,e,t)),o=wh({queries:t.map((t,n)=>$0(r,i,e,t,a[n]))});return t.map((t,n)=>e2(e,a[n],o[n]))},n2=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>K(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},Ame=({node:e})=>{let{name:t,label:n,format:r}=oE(e),{views:i}=J(),a=t2(BT(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,R.jsx)(_u,{className:`h-4 w-24`}):(0,R.jsx)(Z0,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,R.jsx)(`div`,{children:o});let s=n??n2(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`div`,{className:`text-body text-muted-foreground`,children:s}),(0,R.jsx)(`div`,{className:`mt-0.5 truncate`,children:o})]})},jme={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},Mme={1:``,2:`grid-cols-2`,3:`grid-cols-2 xl:grid-cols-3`,4:`grid-cols-2 xl:grid-cols-4`},Nme={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`},Pme=e=>typeof e==`object`&&!e.custom&&e.type===`Stat`,Fme=({node:e,children:t})=>{let{columns:n=2}=oE(e),r=e.children,i=r.length>0&&r.every(Pme);return(0,R.jsx)(`div`,{className:g(`grid grid-cols-1 gap-4`,i?Mme[n]:jme[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,R.jsx)(`div`,{className:g(`min-w-0`,i&&Nme[i]),children:e},t)})})},r2=`font-medium text-primary-text hover:underline`,Ime=({node:e})=>{let t=oE(e),n=BT()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=ur(t.to,n);return(0,R.jsx)(cS,{to:e,className:r2,children:r||xs(e)})}let i=t.href??``;return(0,R.jsx)(`a`,{href:i,className:r2,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},Lme=(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]:SS(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:SS(i)]})),Rme=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return LS(r)?r.key===SS(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:jS(i,r,n.record[t])?[[t,OS(i,r)]]:[]})),zme=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:o,onClose:s})=>{let{resources:c,views:l}=J(),u=U(),d=qy(),f=nE(),p=l[e.name],[m,h]=(0,I.useState)(()=>Lme(e,a,t)),[g,_]=(0,I.useState)({}),[v,y]=(0,I.useState)(0),b=XC(v),[x,S]=(0,I.useState)(),[C,w]=(0,I.useState)(!1),T=async()=>{w(!0),S(void 0),await(n===`create`?u.create(e.name,{...VS(e,c,m),...o}):u.update(e.name,t.key,Rme(e,m,t),t.etag??`*`)).then(async()=>{await f(e.name),d.show({state:`success`,title:pg(`saved`,i??r)}),s()},e=>{let t=JC(e);_(t),Object.keys(t).length>0&&y(e=>e+1),S(e)}),w(!1)};return(0,R.jsx)(jf,{title:i??r,onClose:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:s,children:pg(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,loading:C,onClick:()=>void T(),children:pg(n===`create`?`create`:`save`)})]}),children:(0,R.jsxs)(`form`,{ref:b,className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),T()},children:[x!==void 0&&Object.keys(g).length===0&&(0,R.jsx)(XS,{title:pg(`notSaved`),error:x}),a.map(n=>{let r=e.fields[n],i=m[n],a=r.relation?c[r.relation.resource]:void 0,o=p?.fields[n]?.label??K(n),s=g[n];return(0,R.jsx)(Xy,{name:n,label:o,help:p?.fields[n]?.help,error:s&&qC(r,o,s),children:(0,R.jsx)(BC,{field:r,hints:p?.fields[n],value:LS(i)?i.key:i,stored:t?.record[n],relationLabel:LS(i)?i.label:void 0,relationPicker:a?{target:a,view:l[a.name]}:void 0,invalid:!!g[n],resource:e.name,onChange:e=>{_(({[n]:e,...t})=>t),h(t=>({...t,[n]:e}))}})},n)})]})})},Bme=({model:e,recordKey:t,children:n})=>{let r=eE(e,{key:t});return(0,R.jsx)(R.Fragment,{children:n(r.data??void 0)})},Vme=({node:e})=>{let t=oE(e),n=BT(),{resources:r}=J(),i=r[t.resource??n?.model.name??``],a=oS(i?.name??``),[o,s]=(0,I.useState)(!1);if(!i||!(t.mode===`create`?VT(a,`create`):VT(a,`update`)&&n?.permissions?.update!==!1))return null;let c=e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>s(!0),children:t.label}),o&&(0,R.jsx)(zme,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,R.jsx)(Bme,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Hme=({node:e,children:t,slots:n})=>{let{title:r,description:i}=oE(e);return(0,R.jsx)(`div`,{className:`flex-1`,children:(0,R.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,R.jsx)(vd,{title:r,subtitle:i,actions:n.actions}),t]})})},i2=(e,t)=>{let n=BT(),r=t2(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},Ume=({node:e})=>{let{value:t,max:n,label:r}=oE(e),i=i2(t,0),a=i2(n,100);if(i===void 0||a===void 0)return(0,R.jsx)(_u,{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,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-body`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,R.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(l()),` / `,a.toLocaleString(l())]})]}),(0,R.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,R.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},Wme=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=eE(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,R.jsx)(zT,{value:l.data,children:e}):void 0,d=l.isPending?(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(_u,{className:`h-4 w-1/2`}),(0,R.jsx)(_u,{className:`h-4 w-1/3`})]}):l.error?(0,R.jsx)(XS,{title:pg(`couldNotLoad`),error:l.error}):l.data?u((0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,R.jsx)(uE,{children:o??pg(`nothingYet`)});return(0,R.jsx)(lE,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},Gme=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=oE(e),u=J().resources[r];return u?(0,R.jsx)(Wme,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null};function Kme(e){return qme(e)||typeof e==`function`||Jme(e)}function qme(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Jme(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function a2(e,t){return e==null?null:Kme(e)?I.createElement(e,t):e}function Yme(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?a2(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:a2(n.cell,t.getContext())}return`header`in e&&e.header?a2(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?a2(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Xme({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 Zme(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 o2=[],s2=0,{link:c2,unlink:Qme,propagate:$me,checkDirty:l2,shallowPropagate:u2}=Xme({update(e){return e._update()},notify(e){o2[f2++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,h2(e))}}),d2=0,f2=0,p2,m2=0;function ehe(e){try{++m2,e()}finally{--m2||g2()}}function h2(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Qme(n,e)}function g2(){if(!(m2>0)){for(;d2<f2;){let e=o2[d2];o2[d2++]=void 0,e.notify()}d2=0,f2=0}}function the(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 p2!==void 0&&c2(i,p2,s2),i._snapshot},subscribe(e){let t=Zme(e),n={current:!1},r=nhe(()=>{i.get(),n.current?(p2=void 0,t.next?.(i._snapshot)):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=p2,o=t?.compare??Object.is;if(n)p2=i,++s2,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{p2=a,n&&(i.flags&=-5),h2(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&l2(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&u2(e)}}else e&32&&(i.flags=e&-33);return p2!==void 0&&c2(i,p2,s2),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&($me(e),u2(e),g2())}},i}function nhe(e){let t=()=>{let t=p2;p2=n,++s2,n.depsTail=void 0,n.flags=6;try{return e()}finally{p2=t,n.flags&=-5,h2(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&&l2(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,h2(this)}};return t(),n}function _2(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=v2(e);if(n.length!==v2(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 v2(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function rhe(e,t){return e===t}function y2(e,t=e=>e,n){let r=n?.compare??rhe,i=(0,I.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,I.useCallback)(()=>e.get(),[e]);return(0,dk.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function ihe(e){let t=y2(e.source,e.selector,{compare:_2});return typeof e.children==`function`?e.children(t):e.children}function ahe(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function ohe(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 she(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 che(){return ohe({createAtom:the,batch:ehe})}function b2(e,t){return typeof e==`function`?e(t):e}function x2(e){if(Array.isArray(e))return e.map(x2);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?S2():{},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:x2(e[i]),writable:!0})}return n}return e}function lhe(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 S2(){return Object.create(null)}function C2(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function w2(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>b2(n,e))}}function T2(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 E2(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var uhe=3;function dhe(e,t){return D2(e,t,uhe)}function D2(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!T2(e)||!T2(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=E2(e),i=E2(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)||!D2(a[i],o[i],n-1))return!1}return!0}function O2(e,t,n,r=dhe){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=b2(n,e);return r(e,t)?e:t})}function fhe(e){return e instanceof Function}function phe(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 mhe=({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 hhe(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function k2({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 mhe({...a,...s})}function A2(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function j2(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=A2(r);t[n]=a?k2({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function M2(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=A2(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=k2({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 N2(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function ghe(e){return e.row.getValue(e.column.id)}function _he(e){return e.getValue()??e.table.options.renderFallbackValue}function vhe(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var yhe={assignCellPrototype:(e,t)=>{M2(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>ghe(e)},cell_renderValue:{fn:e=>_he(e)},cell_getContext:{fn:e=>vhe(e),memoDeps:e=>[e]}})}};function bhe(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 P2(e,t,n){let r=bhe(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 xhe(){return{start:[],end:[]}}function F2(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>N2(e,`getIsVisible`,F2)):(C2(t,e.id)?t[e.id]:void 0)??!0}function She(e){return e.getAllLeafColumns().filter(e=>N2(e,`getIsVisible`,F2))}function I2(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];N2(i,`getIsVisible`,F2)&&i.columns.length&&(n=Math.max(n,I2(i.columns,t+1)))}return n}function Che(e,t){return e?`${e}_${t}`:String(t)}function whe(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 The(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function L2(e,t,n,r,i,a){let o={depth:t,id:Che(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=P2(n,u,{id:whe(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(The(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&&L2(s,t-1,n,r,i,a)}function R2(e){for(let t=0;t<e.length;t++){let n=e[t];if(!N2(n.column,`getIsVisible`,F2))continue;let r=0;if(n.subHeaders.length){R2(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];N2(t.column,`getIsVisible`,F2)&&(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 z2(e,t,n,r){let i=I2(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=P2(n,t[e],{depth:i,index:e}));return L2(s,i-1,n,r,a,o),a.reverse(),R2(a[0]?.headers??[]),a}function Ehe(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 Dhe(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=Ehe(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 B2(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 Ohe(e,r)}}function Ohe(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 khe(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function Ahe(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return N2(e.table,`getOrderColumns`,B2)(t)}return[e]}function jhe(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 V2(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=Dhe(e,o,r,n),c=o;s.columns=c.columns?V2(e,c.columns,s,r+1):[],i[a]=s}return i}function Mhe(e){return V2(e,e.options.columns)}function Nhe(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function Phe(e){let t=S2(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Fhe(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return N2(e,`getOrderColumns`,B2)(t)}function Ihe(e){let t=S2(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function Lhe(e,t){return e.getAllFlatColumnsById()[t]}var Rhe={assignColumnPrototype:(e,t)=>{M2(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>khe(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>Ahe(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{j2(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>jhe(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>Mhe(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>Nhe(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>Phe(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>Fhe(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>Ihe(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>Lhe(e,t)}})}};function H2(e,t){for(let n=0;n<e.subHeaders.length;n++)H2(e.subHeaders[n],t);t.push(e)}function zhe(e){let t=[];return H2(e,t),t}function Bhe(e){return{column:e.column,header:e,table:e.column.table}}function Vhe(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??xhe(),r=e.getAllColumns(),i=N2(e,`getVisibleLeafColumns`,She);if(!t.length&&!n.length)return z2(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&N2(n,`getIsVisible`,F2)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&N2(t,`getIsVisible`,F2)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return z2(r,[...o,...c,...s],e)}function Hhe(e){return[...e.getHeaderGroups()].reverse()}function Uhe(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 Whe(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 Ghe={assignHeaderPrototype:(e,t)=>{M2(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>zhe(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>Bhe(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{j2(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>Vhe(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:()=>Hhe(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>Uhe(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>Whe(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function Khe(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 qhe=(e,t,n,r,i,a,o)=>{let s=Khe(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=S2(),c._valuesCache=S2(),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},Jhe=/([0-9]+)/gm;function U2(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}U2({resolveDataValue:e=>K2(e).toLowerCase(),sort:(e,t)=>q2(e,t)}),U2({resolveDataValue:e=>K2(e),sort:(e,t)=>q2(e,t)}),U2({resolveDataValue:e=>K2(e).toLowerCase(),sort:(e,t)=>G2(e,t)}),U2({resolveDataValue:e=>K2(e),sort:(e,t)=>G2(e,t)}),U2({resolveDataValue:e=>Yhe(e),sort:(e,t)=>e>t?1:e<t?-1:0});var W2=U2({sort:(e,t)=>G2(e,t)});function G2(e,t){return e===t?0:e>t?1:-1}function Yhe(e){return e instanceof Date?e.getTime():e}function K2(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function q2(e,t){let n=0,r=0,i=e.length,a=t.length;for(;n<i&&r<a;){let i=J2(e.charCodeAt(n)),a=J2(t.charCodeAt(r)),o=Y2(e,n,i),s=Y2(t,r,a);if(!i&&!a){let i=Xhe(e,n,o,t,r,s);if(i)return i;n=o,r=s;continue}if(i!==a)return i?1:-1;let c=Zhe(e,n,o,t,r,s);if(c)return c;n=o,r=s}return Z2(e,n)-Z2(t,r)}function J2(e){return e>=48&&e<=57}function Y2(e,t,n){let r=t+1;for(;r<e.length&&J2(e.charCodeAt(r))===n;)r++;return r}function Xhe(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 Zhe(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=X2(e,o,n),i=X2(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 X2(e,t,n){let r=0;for(let i=t;i<n;i++)r=r*10+e.charCodeAt(i)-48;return r}function Z2(e,t){let n=0,r=t;for(;r<e.length;)n++,r=Y2(e,r,J2(e.charCodeAt(r)));return n}function Q2(){return[]}function Qhe(e,t){O2(e,`cellSelection`,t?Q2():x2(e.initialState.cellSelection)??Q2())}function $he(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>Qhe(e))}function ege(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>tge(e))}function tge(e,t){let n=e.initialState.expanded;O2(e,`expanded`,t?S2():n===!0||Object.assign(S2(),x2(n??{})))}var $2=0;function nge(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??$2)===$2)return;age(e,!0)}}function rge(e,t){O2(e,`pagination`,t)}function ige(e,t){rge(e,n=>{let r=b2(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 age(e,t){ige(e,t?$2:e.initialState.pagination?.pageIndex??$2)}function oge(){return[]}function e4(e,t){O2(e,`sorting`,t)}function t4(e,t){e4(e,t?[]:x2(e.initialState.sorting??[]))}function sge(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&t4(e)}function n4(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(Jhe).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 W2}function r4(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 cge(e){let t=e.table._rowModelFns.sortFns;return fhe(e.columnDef.sortFn)?e.columnDef.sortFn:e.columnDef.sortFn===`auto`?n4(e):t?.[e.columnDef.sortFn]??W2}function i4(e,t,n){let r=o4(e,n&&c4(e)),i=t!==void 0;e4(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&&c4(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 a4(e){return e.columnDef.sortDescFirst??e.table.options.sortDescFirst??r4(e)===`desc`?`desc`:`asc`}function o4(e,t){let n=a4(e),r=l4(e);return r?r!==n&&(e.table.options.enableSortingRemoval??!0)&&(!t||(e.table.options.enableMultiRemove??!0))?!1:r===`desc`?`asc`:`desc`:n}function s4(e){return(e.columnDef.enableSorting??!0)&&(e.table.options.enableSorting??!0)&&!!e.accessorFn}function c4(e){return e.columnDef.enableMultiSort??e.table.options.enableMultiSort??!!e.accessorFn}function l4(e){let t=e.table.atoms.sorting?.get()?.find(t=>t.id===e.id);return t?t.desc?`desc`:`asc`:!1}function lge(e){return e.table.atoms.sorting?.get()?.findIndex(t=>t.id===e.id)??-1}function uge(e){e4(e.table,t=>t.length?t.filter(t=>t.id!==e.id):[])}function dge(e){let t=s4(e);return n=>{t&&i4(e,void 0,c4(e)?e.table.options.isMultiSortEvent?.(n):!1)}}function fge(){return e=>k2({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>pge(e,e.options.data),onAfterUpdate:hhe(()=>{ege(e),nge(e),sge(e),$he(e)})})}function u4(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=qhe(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=u4(e,t,c.originalSubRows,r+1,c)))}return a}function pge(e,t){let n={rows:[],flatRows:[],rowsById:S2()};return n.rows=u4(e,n,t),n}function mge(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??fge()(e)),e._rowModels.coreRowModel()}function hge(e){return e.getCoreRowModel()}function gge(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 _ge(e){return e.getFilteredRowModel()}function vge(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 yge(e){return e.getGroupedRowModel()}function bge(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 xge(e){return e.getSortedRowModel()}function Sge(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 Cge(e){return e.getExpandedRowModel()}function wge(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 Tge(e){return e.getPaginatedRowModel()}var Ege={constructTableAPIs:e=>{j2(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>mge(e)},table_getPreFilteredRowModel:{fn:()=>hge(e)},table_getFilteredRowModel:{fn:()=>gge(e)},table_getPreGroupedRowModel:{fn:()=>_ge(e)},table_getGroupedRowModel:{fn:()=>vge(e)},table_getPreSortedRowModel:{fn:()=>yge(e)},table_getSortedRowModel:{fn:()=>bge(e)},table_getPreExpandedRowModel:{fn:()=>xge(e)},table_getExpandedRowModel:{fn:()=>Sge(e)},table_getPrePaginatedRowModel:{fn:()=>Cge(e)},table_getPaginatedRowModel:{fn:()=>wge(e)},table_getRowModel:{fn:()=>Tge(e)}})}};function Dge(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 Oge(e,t,n){let r=Dge(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 kge(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function Age(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 jge(e,t){if(C2(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 Mge(e,t){if(C2(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 Nge(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function Pge(e){return phe(e.subRows,e=>e.subRows)}function Fge(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 Ige(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function Lge(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function Rge(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=Oge(a,e,e.table),n.set(a,o)),r[i]=o}return r}function zge(e){let t=S2(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function Bge(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function Vge(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 Hge={assignRowPrototype:(e,t)=>{M2(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>kge(e)},row_getAllCellsByColumnId:{fn:e=>zge(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>Rge(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>Pge(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>Ige(e)},row_getParentRows:{fn:e=>Lge(e)},row_getUniqueValues:{fn:(e,t)=>Mge(e,t)},row_getValue:{fn:(e,t)=>jge(e,t)},row_renderValue:{fn:(e,t)=>Nge(e,t)}})},constructTableAPIs:e=>{j2(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>Age(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>Bge(t,e,n,r)},table_getRow:{fn:(t,n)=>Vge(e,t,n)},table_getMaxSubRowDepth:{fn:()=>Fge(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function d4(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 f4(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{d4(e,t,n),e._reactivity.commit?.()})}function Uge(e){let t=x2(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 Wge(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 p4(e,t,n){let r=Wge(e,b2(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&f4(e,r.state??null)}var Gge={coreCellsFeature:yhe,coreColumnsFeature:Rhe,coreHeadersFeature:Ghe,coreRowModelsFeature:Ege,coreRowsFeature:Hge,coreTablesFeature:{constructTableAPIs:e=>{j2(`coreTablesFeature`,e,{table_reset:{fn:()=>Uge(e)},table_setOptions:{fn:t=>p4(e,t)}})}}};function Kge(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function qge(e){return e}function Jge(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),x2(t)}function Yge(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:{...Gge,..._},_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=Jge(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&&C2(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}d4(v),v.store=ahe(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:_2,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 Xge(){return S2()}function m4(e,t){e.options.onRowSelectionChange?.(t)}function Zge(e,t){e._lastSelectedRowId=null,m4(e,t?S2():Object.assign(S2(),x2(e.initialState.rowSelection??{})))}function h4(e,t,n){e._lastSelectedRowId=null,m4(e,r=>{if(t=t===void 0?!N2(e,`getIsAllRowsSelected`,v4):t,n?.deselectAll&&!t)return S2();let i=Object.assign(S2(),r),a=e.getPreGroupedRowModel().flatRows;if(t){let e=new Map;a.forEach(t=>{O4(t,e)&&(i[t.id]=!0)})}else a.forEach(e=>{w4(e)&&delete i[e.id]});return i})}function g4(e,t,n){e._lastSelectedRowId=null,m4(e,r=>{let i=t===void 0?!N2(e,`getIsAllPageRowsSelected`,y4):t;if(n?.deselectAll&&!i)return S2();let a=Object.assign(S2(),r);return e.getRowModel().rows.forEach(t=>{D4(a,t.id,i,!0,e,!0)}),a})}function Qge(e){return e.getCoreRowModel()}function $ge(e){let t=e.getCoreRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function e_e(e){let t=e.getFilteredRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function t_e(e){let t=e.getSortedRowModel();return N2(e,`getIsSomeRowsSelected`,b4)?j4(t,e):{rows:[],flatRows:[],rowsById:S2()}}function _4(e){return Object.keys(e.atoms.rowSelection?.get()??{})}function v4(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=>!M4(t,n)&&O4(t,e))&&(r=!1)}return r}function y4(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(M4(a,n))!i&&O4(a,r)&&(i=!0);else if(O4(a,r))return!1}return i}function b4(e){return N2(e,`getSelectedRowIds`,_4).length>0}function n_e(e){return e.getPaginatedRowModel().flatRows.filter(e=>w4(e)).some(e=>S4(e)||N2(e,`getIsSomeSelected`,C4))}function r_e(e){return t=>{h4(e,t.target.checked)}}function i_e(e){return t=>{g4(e,t.target.checked)}}function x4(e,t,n){let r=S4(e);m4(e.table,i=>{t=t===void 0?!r:t;let a=Object.assign(S2(),i);return D4(a,e.id,t,(n?.selectChildren??!0)&&E4(e),e.table),!t&&n?.deselectParents&&k4(a,e),a})}function S4(e){return M4(e,e.table.atoms.rowSelection?.get()??{})}function C4(e){return N4(e)===`some`}function a_e(e){return N4(e)===`all`}function w4(e){let t=e.table.options;return typeof t.enableRowSelection==`function`?t.enableRowSelection(e):t.enableRowSelection??!0}function T4(e){let t=e.table.options;return typeof t.enableSubRowSelection==`function`?t.enableSubRowSelection(e):t.enableSubRowSelection??!0}function E4(e){let t=e.table.options;return typeof t.enableMultiRowSelection==`function`?t.enableMultiRowSelection(e):t.enableMultiRowSelection??!0}function o_e(e,t){let n=w4(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&&E4(e)&&(a.options.isRowRangeSelectionEvent?.(r)??!1))||!s_e(e,s,o,t))&&x4(e,o,t),a._lastSelectedRowId=e.id}}function s_e(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||!E4(s)||!E4(e))return!1;let f=Math.min(c,l),p=Math.max(c,l);return m4(a,e=>{let t=Object.assign(S2(),e);for(let e=f;e<=p;e++){let s=o[e];w4(s)&&E4(s)&&(D4(t,s.id,n,i,a),!n&&r?.deselectParents&&k4(t,s))}return t}),!0}function D4(e,t,n,r,i,a){let o=i.getRow(t,!0);n?(E4(o)||Object.keys(e).forEach(t=>delete e[t]),w4(o)&&(e[t]=!0)):(!a||w4(o))&&delete e[t],r&&o.subRows.length&&T4(o)&&o.subRows.forEach(t=>D4(e,t.id,n,r,i,a))}function O4(e,t){if(!w4(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(!T4(r)){s=!1;break}c=r.parentId}return o.forEach(e=>t.set(e,s)),s}function k4(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 A4(e,t,n,r){let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=M4(o,t);if(s&&(n.push(o),r[o.id]=o),o.subRows.length){let e=A4(o.subRows,t,n,r);if(s){let t=Object.create(Object.getPrototypeOf(o));lhe(t,o),t.subRows=e,i.push(t)}}else s&&i.push(o)}return i}function j4(e,t){let n=[],r=S2(),i=t.atoms.rowSelection?.get()??{};return{rows:A4(e.rows,i,n,r),flatRows:n,rowsById:r}}function M4(e,t){return!!(C2(t,e.id)&&t[e.id])}function N4(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(w4(o)&&(i=!0,M4(o,t)?n=!0:r=!1),o.subRows.length){let e=N4(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 c_e={initTableInstanceData:e=>{e._lastSelectedRowId=null},resetTableInstanceData:e=>{e._lastSelectedRowId=null},getInitialState:e=>({rowSelection:Xge(),...e}),getDefaultTableOptions:e=>({onRowSelectionChange:w2(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableRowRangeSelection:!0,enableSubRowSelection:!0,isRowRangeSelectionEvent:e=>{let t=e;return!!(t.shiftKey||t.nativeEvent?.shiftKey)}}),assignRowPrototype:(e,t)=>{M2(`rowSelectionFeature`,e,t,{row_toggleSelected:{fn:(e,t,n)=>x4(e,t,n)},row_getIsSelected:{fn:e=>S4(e)},row_getIsSomeSelected:{fn:e=>C4(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getIsAllSubRowsSelected:{fn:e=>a_e(e),memoDeps:e=>[e.subRows,e.table.atoms.rowSelection?.get(),e.table.options.enableRowSelection]},row_getCanSelect:{fn:e=>w4(e)},row_getCanSelectSubRows:{fn:e=>T4(e)},row_getCanMultiSelect:{fn:e=>E4(e)},row_getToggleSelectedHandler:{fn:(e,t)=>o_e(e,t)}})},constructTableAPIs:e=>{j2(`rowSelectionFeature`,e,{table_setRowSelection:{fn:t=>m4(e,t)},table_resetRowSelection:{fn:t=>Zge(e,t)},table_toggleAllRowsSelected:{fn:(t,n)=>h4(e,t,n)},table_toggleAllPageRowsSelected:{fn:(t,n)=>g4(e,t,n)},table_getPreSelectedRowModel:{fn:()=>Qge(e)},table_getSelectedRowModel:{fn:()=>$ge(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getCoreRowModel()]},table_getFilteredSelectedRowModel:{fn:()=>e_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel()]},table_getGroupedSelectedRowModel:{fn:()=>t_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getSortedRowModel()]},table_getSelectedRowIds:{fn:()=>_4(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsAllRowsSelected:{fn:()=>v4(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getFilteredRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsAllPageRowsSelected:{fn:()=>y4(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection,e.options.enableSubRowSelection]},table_getIsSomeRowsSelected:{fn:()=>b4(e),memoDeps:()=>[e.atoms.rowSelection?.get()]},table_getIsSomePageRowsSelected:{fn:()=>n_e(e),memoDeps:()=>[e.atoms.rowSelection?.get(),e.getPaginatedRowModel(),e.options.enableRowSelection]},table_getToggleAllRowsSelectedHandler:{fn:()=>r_e(e)},table_getToggleAllPageRowsSelectedHandler:{fn:()=>i_e(e)}})}},l_e={getInitialState(e){return{sorting:oge(),...e}},getDefaultColumnDef(){return{sortFn:`auto`,sortUndefined:1}},getDefaultTableOptions(e){return{autoResetSorting:!1,onSortingChange:w2(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}},assignColumnPrototype(e,t){M2(`rowSortingFeature`,e,t,{column_getAutoSortFn:{fn:e=>n4(e)},column_getAutoSortDir:{fn:e=>r4(e)},column_getSortFn:{fn:e=>cge(e)},column_toggleSorting:{fn:(e,t,n)=>i4(e,t,n)},column_getFirstSortDir:{fn:e=>a4(e)},column_getNextSortingOrder:{fn:(e,t)=>o4(e,t)},column_getCanSort:{fn:e=>s4(e)},column_getCanMultiSort:{fn:e=>c4(e)},column_getIsSorted:{fn:e=>l4(e)},column_getSortIndex:{fn:e=>lge(e)},column_clearSorting:{fn:e=>uge(e)},column_getToggleSortingHandler:{fn:e=>dge(e)}})},constructTableAPIs(e){j2(`rowSortingFeature`,e,{table_setSorting:{fn:t=>e4(e,t)},table_resetSorting:{fn:t=>t4(e,t)}})}},u_e=typeof window>`u`?I.useEffect:I.useLayoutEffect;function d_e(e,t){let[{table:n,rootSource:r}]=(0,I.useState)(()=>{let t=Yge({...e,features:{coreReactivityFeature:che(),...e.features}});return t.Subscribe=(e=>ihe({...e,source:e.source??t.store})),t.FlexRender=Yme,{table:t,rootSource:she(t.store,_2)}}),i=n;p4(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=y2(r,t,{compare:_2});return u_e(()=>{r.markCommitted(o),f4(i,a??null,_2)}),(0,I.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var f_e=e=>t=>{let n=t.currentTarget;n.scrollWidth>Math.ceil(n.getBoundingClientRect().width)?n.title=e:n.removeAttribute(`title`)},P4=({text:e,className:t})=>(0,R.jsx)(`span`,{className:g(`truncate`,t),onMouseEnter:f_e(e),children:e}),F4=e=>(0,R.jsx)(`span`,{className:`text-faint-foreground`,children:e}),I4=(e,t)=>{if(t==null)return F4(`—`);let n=xb(e,t)??``;switch(e.kind){case`text`:return e.link?(0,R.jsx)(RC,{format:e.link,value:n,className:`block min-w-0 truncate`}):(0,R.jsx)(P4,{text:n});case`id`:return(0,R.jsx)(P4,{text:n,className:`font-mono text-xs text-muted-foreground`});case`money`:return(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`date`:return(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:n});case`datetime`:return(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,title:e.relative?gf(Number(t)):yb(`shownIn`,af(Number(t),Yd())),children:n});case`number`:return(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`signed`:return(0,R.jsx)(`span`,{className:g(`tabular-nums`,Number(t)<0?`text-danger-text`:`text-success-text`),children:n});case`percent`:return Number(t)===0?F4(`—`):(0,R.jsx)(`span`,{className:`tabular-nums`,children:n});case`status`:return(0,R.jsx)(Fu,{tone:e.tones?.[String(t)]??`neutral`,color:Y0(e.colors,t),shape:e.shape,children:n});case`relation`:return(0,R.jsx)(P4,{text:n,className:`font-medium text-primary-text hover:underline`});case`boolean`:return t?(0,R.jsx)(`span`,{className:`inline-flex size-4 items-center justify-center rounded-full bg-success-soft text-success-text`,children:(0,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}):F4(yb(`no`));case`file`:{let e=sb(t);if(!e)return F4(`—`);if(`missing`in e)return(0,R.jsx)(P4,{text:e.name,className:`text-danger-text`});let n=hb(t,{width:20,height:20});return(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[n?(0,R.jsx)(_C,{image:n,className:`size-5 shrink-0 rounded-sm object-cover`}):(0,R.jsx)(io,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsx)(P4,{text:e.name})]})}case`user`:{let e=by(String(t));return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-2 truncate`,children:[(0,R.jsx)(Eu,{initials:e.initials,hue:e.hue,size:`xs`,className:`ring-0`}),(0,R.jsx)(P4,{text:e.name,className:`text-muted-foreground`})]})}}},p_e=qge({rowSortingFeature:l_e,rowSelectionFeature:c_e}),L4=Kge(),m_e=e=>L4.columns(e.map(e=>L4.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):I4(e,t.getValue())}))),h_e=({total:e,selectedCount:t,bulkActions:n=[],className:r})=>(0,R.jsx)(`div`,{className:g(`flex h-9 shrink-0 items-center border-t bg-surface px-3 text-xs text-muted-foreground`,r),children:(0,R.jsxs)(`span`,{className:`flex items-center tabular-nums`,children:[Jd(e),t>0&&(0,R.jsx)(`span`,{className:`ml-3 font-medium text-primary-text`,children:yb(`selected`,Gd(t))}),t>0&&n.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:e.onRun,className:g(`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))]})}),g_e=(e,t)=>e.filter(e=>e.available?.(t)??!0),__e=({row:e,actions:t})=>{let{open:n,setOpen:r,place:i,button:a,menu:o}=_S();return(0,R.jsxs)(`div`,{className:`relative flex justify-center bg-inherit`,onClick:e=>e.stopPropagation(),children:[(0,R.jsx)(`button`,{ref:a,type:`button`,"aria-label":yb(`rowActions`),"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,R.jsx)(ea,{className:`size-4`})}),n&&(0,is.createPortal)((0,R.jsx)(`ul`,{ref:o,role:`menu`,onClick:e=>e.stopPropagation(),style:i??{visibility:`hidden`},className:`fixed z-50 min-w-36 rounded-md border bg-background py-1 shadow-pop`,children:t.map(t=>(0,R.jsx)(`li`,{role:`none`,children:t.link?(0,R.jsx)(yu,{role:`menuitem`,to:t.link(e),onClick:()=>r(!1),className:g(`block w-full px-3 py-1.5 text-left hover:bg-muted`,t.destructive&&`text-danger-text`),children:t.label}):(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,className:g(`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)]})},v_e=e=>52+Math.ceil(String(e).length*1.33)*7,R4=.6,z4=(e,t)=>Math.max(e.minWidth??0,e.width*t),y_e=(e,t)=>e.fixed?`${Math.max(e.minWidth??0,e.width)}px`:`minmax(${z4(e,t)}px, ${e.width}fr)`,B4=(e,t,n=0,r=R4)=>`${t}px ${e.map(e=>y_e(e,r)).join(` `)}${n>0?` ${n}px`:``}`,b_e=(e,t,n=0,r=R4)=>t+n+e.reduce((e,t)=>e+(t.fixed?Math.max(t.minWidth??0,t.width):z4(t,r)),0),x_e=()=>{let e=(0,I.useRef)(null),t=(0,I.useRef)(null),[n,r]=(0,I.useState)({scrolled:!1,more:!1}),i=(0,I.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,I.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}},S_e=`protobase:pinned:`,C_e=(e,t)=>`${S_e}${e}:${t}`,w_e=(e,t)=>u(()=>{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),T_e=(e,t,n)=>u(()=>e.setItem(t,JSON.stringify(n)),void 0),E_e=(e,t=[])=>{let[n,r]=(0,I.useState)(()=>e?w_e(localStorage,e):void 0),i=(0,I.useCallback)(t=>{r(t),e&&T_e(localStorage,e,t)},[e]);return[n??t,i]},D_e=e=>{let t=e.findIndex(e=>e.title);return t<0||t>1?[]:e.slice(0,t+1).map(e=>e.id)},O_e=e=>Object.fromEntries(e.map(({id:e,width:t,minWidth:n,fixed:r})=>[e,{width:t,minWidth:n,fixed:r}])),k_e=(e,t)=>{let n=e.map(e=>e.id).sort().join(` `),[r,i]=(0,I.useState)(),a=r?.key===n?r:void 0;!a&&t.length>0&&i({key:n,sizes:O_e(Rb(e,t))});let o=a?.sizes;return(0,I.useMemo)(()=>o?e.map(e=>({...e,...o[e.id]})):e,[e,o])},V4=e=>e===`money`||e===`number`||e===`signed`||e===`percent`,H4=()=>yb(`unsortable`),A_e=({header:e,pinned:t,sortable:n,onTogglePin:r})=>{let[i,a]=(0,I.useState)(!1),o=(0,I.useRef)(null);return(0,I.useEffect)(()=>{if(!i)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!o.current?.contains(e.target))&&a(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[i]),(0,R.jsxs)(`div`,{ref:o,className:`relative ml-auto shrink-0`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":yb(`columnMenu`,e),"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(!i),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,R.jsx)(ea,{className:`size-3.5`})}),i&&(0,R.jsxs)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-32 rounded-md border bg-background py-1 text-body font-normal text-foreground shadow-pop`,children:[!n&&(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsx)(`span`,{role:`menuitem`,"aria-disabled":`true`,className:`block min-h-9 whitespace-nowrap px-3 py-1.5 text-muted-foreground`,children:H4()})}),(0,R.jsx)(`li`,{role:`none`,children:(0,R.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:()=>{a(!1),r()},children:yb(t?`unpin`:`pinToLeft`)})})]})]})},j_e=({sorted:e})=>e===`asc`?(0,R.jsx)(Yr,{className:`size-3 text-foreground`}):e===`desc`?(0,R.jsx)(Ur,{className:`size-3 text-foreground`}):(0,R.jsx)(Oi,{className:`size-3 opacity-0 group-hover/head:opacity-100`}),U4=({spec:e})=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`truncate`,children:e.header}),e.highlight&&(0,R.jsx)(`span`,{className:`rounded bg-primary px-1 text-[10px] font-semibold uppercase leading-4 text-primary-foreground`,children:yb(`new`)})]}),M_e=({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,R.jsxs)(`div`,{className:`grid h-8 shrink-0 items-center border-b bg-surface text-body font-medium text-muted-foreground`,style:{gridTemplateColumns:B4(t,n,a,o)},role:`row`,children:[(0,R.jsxs)(`div`,{className:g(`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,R.jsx)(Zh,{checked:!1,indeterminate:r>0,label:yb(r>0?`clearSelection`:`noRowsSelected`),disabled:r===0,onChange:d,className:g(r===0&&`opacity-60`)}),n>40&&(0,R.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,R.jsxs)(`div`,{"data-col-id":e.id,style:r?{left:s[e.id]}:void 0,className:g(`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:[e.sortable?(0,R.jsxs)(`button`,{type:`button`,onClick:n,className:g(`group/head flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,V4(e.kind)&&`justify-end`,`hover:text-foreground`,t&&`text-foreground`),children:[(0,R.jsx)(U4,{spec:e}),(0,R.jsx)(j_e,{sorted:t})]}):(0,R.jsx)(`div`,{title:H4(),className:g(`flex h-full min-w-0 flex-1 items-center gap-1 pl-3 pr-1 text-left`,V4(e.kind)&&`justify-end`),children:(0,R.jsx)(U4,{spec:e})}),(0,R.jsx)(`div`,{className:`pr-1.5`,children:(0,R.jsx)(A_e,{header:e.header,pinned:r,sortable:!!e.sortable,onTogglePin:()=>u(e.id)})})]},e.id)}),a?(0,R.jsx)(`div`,{className:`sticky right-0 z-10 h-full bg-inherit`}):null]}),W4=e=>({gridTemplateColumns:B4(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,transform:`translateY(${e.offset}px)`}),G4=(e,t)=>g(`flex h-full min-w-0 items-center overflow-hidden whitespace-nowrap px-3`,V4(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)]`),K4=(e,t)=>t&&e.id in t?{left:t[e.id]}:void 0,q4=({width:e,index:t,selectable:n,selected:r,onToggle:i,edge:a})=>(0,R.jsxs)(`div`,{onClick:n?e=>{e.stopPropagation(),i?.()}:void 0,className:g(`sticky left-0 z-10 flex h-full items-center gap-2 bg-inherit pl-3`,n&&`cursor-default`,a&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:e},children:[n&&(0,R.jsx)(Zh,{checked:!!r,label:yb(`selectRow`,t+1)}),e>40&&(0,R.jsx)(`span`,{className:`min-w-6 text-right text-[11px] tabular-nums text-faint-foreground`,children:Gd(t+1)})]}),N_e=(e,t,n)=>({gridTemplateColumns:B4(e.specs,e.gutter,e.trailing,e.minScale),height:e.height,top:e.offset,transform:t===0?void 0:`translateY(${t}px)`,transition:n}),P_e=e=>t=>{t.target.closest(`a`)||e()},J4=({cells:e,selected:t,onToggle:n,onOpen:r,menu:i,handle:a,rowRef:o,dragY:s,transition:c,dragging:l,...u})=>(0,R.jsxs)(`div`,{ref:o,role:`row`,onClick:r&&P_e(r),className:g(`absolute inset-x-0 top-0 grid items-center border-b`,t?`bg-primary-soft`:`bg-background hover:bg-surface`,r&&`cursor-pointer`,l&&`z-30 bg-surface shadow-pop`),style:s===void 0?W4(u):N_e(u,s,c),children:[a?(0,R.jsx)(`div`,{className:g(`sticky left-0 z-10 flex h-full items-center bg-inherit pl-1.5`,u.scrolled&&!u.lastPinned&&`shadow-[1px_0_0_var(--border),4px_0_6px_-2px_rgb(0_0_0/0.12)]`),style:{width:u.gutter},children:a}):(0,R.jsx)(q4,{width:u.gutter,index:u.index,selectable:u.selectable,selected:t,onToggle:n,edge:u.scrolled&&!u.lastPinned}),e.map(({spec:e,content:t,props:n,chosen:r,editing:i,editable:a})=>(0,R.jsx)(`div`,{role:n?`gridcell`:`cell`,...n,className:g(G4(e,u),n&&`scroll-mb-[calc(var(--pb-sticky-bottom,0px)+3rem)] scroll-mt-[calc(var(--pb-sticky-top,0px)+2rem)] outline-none`,a&&!i&&`cursor-default`,r&&`shadow-[inset_0_0_0_2px_var(--primary)]`,i&&`z-30 overflow-visible bg-background px-1`),style:K4(e,u.pins),children:t},e.id)),i&&(0,R.jsx)(`div`,{className:`sticky right-0 z-10 flex h-full items-center justify-center bg-inherit`,children:i})]}),Y4=[`w-3/4`,`w-1/2`,`w-2/3`,`w-5/6`,`w-2/5`],F_e=e=>(0,R.jsxs)(`div`,{role:`row`,"aria-busy":!0,className:`absolute inset-x-0 top-0 grid items-center border-b bg-background`,style:W4(e),children:[(0,R.jsx)(q4,{width:e.gutter,index:e.index,selectable:!1,edge:e.scrolled&&!e.lastPinned}),e.specs.map((t,n)=>(0,R.jsx)(`div`,{className:G4(t,e),style:K4(t,e.pins),children:(0,R.jsx)(_u,{className:g(`h-2.5`,Y4[(e.index+n)%Y4.length],V4(t.kind)&&`ml-auto`)})},t.id))]}),I_e=(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)},keepOnly:e=>{for(let t of[...n.keys()])e.includes(t)||n.delete(t)},get size(){return n.size}}},X4=(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)},Z4=(e,t)=>Math.max(0,Math.min(40,e-t*40)),Q4=({total:e,rowAt:t,loadRows:n,revision:r,latencyMs:i},a,o)=>{let s=(0,I.useMemo)(()=>I_e(40,60),[t,n]),[c,l]=(0,I.useState)(0),u=Math.floor(a/40),d=Math.floor(o/40),f=!n&&i===0;(0,I.useEffect)(()=>{if(f)return;let r=X4(u*40,d*40,40).filter(e=>!s.hasPage(e)),a=t=>Z4(e,t),o=(e,t)=>{s.setPage(e,t),l(e=>e+1)};if(n){let e=!1;for(let t of r)n(t*40,a(t)).then(n=>{e||o(t,n)});return()=>{e=!0}}let c=r.map(e=>setTimeout(()=>o(e,Array.from({length:a(e)},(n,r)=>t(e*40+r))),i));return()=>c.forEach(clearTimeout)},[s,u,d,i,e,t,n,f]);let p=(0,I.useRef)(r);return(0,I.useEffect)(()=>{if(!n||r===p.current)return;p.current=r;let t=X4(u*40,d*40,40);s.keepOnly(t);for(let r of t.filter(e=>s.hasPage(e)))n(r*40,Z4(e,r)).then(e=>{s.setPage(r,e),l(e=>e+1)})},[s,r,n,u,d,e]),(0,I.useCallback)(e=>f?t(e):s.get(e),[s,f,t,c])},L_e=1e7,$4=(e,t,n)=>{let r=e*t,i=Math.min(r,L_e);return{rowHeight:t,trueHeight:r,contentHeight:i,scaled:r>i,maxTop:Math.max(0,r-n),maxScroll:Math.max(0,i-n)}},R_e=(e,t)=>!e.scaled||t<=0?t:t>=e.maxScroll?e.maxTop+t-e.maxScroll:t/e.maxScroll*e.maxTop,e3=(e,t)=>!e.scaled||t<=0?t:t>=e.maxTop?e.maxScroll+t-e.maxTop:t/e.maxTop*e.maxScroll,z_e=(e,t,n,r)=>{let i=t*e.rowHeight;return e.scaled?i-n+r:i},t3=(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)}},B_e=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},n3=e=>e===(document.scrollingElement??document.documentElement),V_e=e=>n3(e)?window:e,r3=e=>Number.parseFloat(e)||0,H_e=e=>{let t=getComputedStyle(e),n=n3(e)?{top:0,height:e.clientHeight}:{top:e.getBoundingClientRect().top+e.clientTop,height:e.clientHeight},r=r3(t.scrollPaddingTop);return{top:n.top+r,height:Math.max(0,n.height-r-r3(t.scrollPaddingBottom))}},i3=6,a3=(e,t,n)=>{let r=$4(t,n,e.height),i=R_e(r,e.position);return{geometry:r,top:i,topIndex:Math.floor(Math.max(0,i)/n),...t3(t,i,n,e.height,i3)}},o3=({total:e,rowHeight:t,initialIndex:n,inset:r=0,settle:i,ready:a=!0})=>{let o=(0,I.useRef)(null),s=(0,I.useRef)(null),[c,l]=(0,I.useState)({position:0,height:0}),u=(0,I.useRef)({total:e,rowHeight:t,initialIndex:n,inset:r,ready:a});u.current={total:e,rowHeight:t,initialIndex:n,inset:r,ready:a};let d=(0,I.useCallback)(()=>{let e=o.current;if(!e||!s.current)return;let t=H_e(s.current),n=u.current.inset;return{position:t.top+n-e.getBoundingClientRect().top,height:Math.max(0,t.height-n)}},[]),f=(0,I.useRef)(c);f.current=c;let p=(0,I.useCallback)(()=>{let e=d();if(!e)return;let t=f.current,{total:n,rowHeight:r}=u.current,i=a3(t,n,r),a=a3(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)&&(f.current=e,l(e))},[d]),m=(0,I.useRef)({pending:!0,laidOut:!1}),h=(0,I.useCallback)(()=>{if(!m.current.pending||!m.current.laidOut||!u.current.ready)return;let e=d(),t=s.current;if(!e||!t)return;m.current.pending=!1;let{total:n,rowHeight:r,initialIndex:i}=u.current;i>0?t.scrollTop+=e3($4(n,r,e.height),i*r)-e.position:e.position>0&&(t.scrollTop=0)},[d]);(0,I.useLayoutEffect)(()=>{let e=o.current;if(!e)return;let t=B_e(e);s.current=t;let n=V_e(t);n.addEventListener(`scroll`,p,{passive:!0}),window.addEventListener(`resize`,p,{passive:!0});let r=new ResizeObserver(()=>{m.current.laidOut=!0,h(),p()});return r.observe(t),r.observe(e),p(),()=>{n.removeEventListener(`scroll`,p),window.removeEventListener(`resize`,p),r.disconnect(),s.current=null}},[p,h]),(0,I.useLayoutEffect)(()=>{h(),p()});let g=(0,I.useCallback)(e=>{let t=d();if(!t||!s.current)return;let n=$4(u.current.total,u.current.rowHeight,t.height);s.current.scrollTop+=e3(n,e)-t.position,p()},[d,p]),_=a3(c,e,t),v=i?i(_.top):_.top,{first:y,last:b}=i?t3(e,v,t,c.height,i3):_,x=Array.from({length:b-y+1},(e,t)=>({index:y+t,offset:z_e(_.geometry,y+t,v,c.position)}));return{ref:o,height:c.height,top:v,geometry:_.geometry,rows:x,first:y,last:b,scrollTo:g}},U_e=e=>e===`ArrowUp`||e===`ArrowDown`||e===`ArrowLeft`||e===`ArrowRight`,W_e=(e,t,n,r)=>{let i=n.indexOf(e.column);if(t===`ArrowUp`)return e.index>0?{...e,index:e.index-1}:void 0;if(t===`ArrowDown`)return e.index<r-1?{...e,index:e.index+1}:void 0;let a=n[t===`ArrowLeft`?i-1:i+1];return i>=0&&a!==void 0?{...e,column:a}:void 0},G_e=(e,t,n,r)=>{let i=t.indexOf(e);return(r===1?t.slice(i+1):t.slice(0,Math.max(0,i)).reverse()).find(n)},s3=e=>`${e.index}:${e.column}`,K_e=({editor:e,columns:t,total:n,rowAt:r,onOpenRow:i,container:a})=>{let[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(!1),d=(0,I.useRef)(!1);if((0,I.useEffect)(()=>{if(!o||c||!u.current)return;u.current=!1;let e=a.current?.querySelector(`[data-cell="${s3(o)}"]`);e&&(e.focus({preventScroll:!0}),e.scrollIntoView({block:`nearest`,inline:`nearest`}))},[o,c,a]),!e)return;let f=t=>{let n=r(t.index);return n!==void 0&&e.editable(n,t.column)},p=(e,t=!1)=>{u.current=!0,s(e),l(t&&f(e))},m=n=>{if(!o)return;let i=r(o.index),s=n&&i?G_e(o.column,t,t=>e.editable(i,t),n):void 0,c=!!a.current?.contains(document.activeElement);p(s?{...o,column:s}:o,s!==void 0),u.current=c};return{cell:(n,r,i,a)=>{let l={index:n,column:i},u=o?.index===n&&o.column===i,f=e.editable(r,i),h=u||!o&&n===0&&i===t[0];return{content:u&&c?e.render(r,i,m):a,chosen:u,editing:u&&c,editable:f,props:{"data-cell":s3(l),tabIndex:h?0:-1,"aria-selected":u,onMouseDown:()=>{d.current=u},onFocus:e=>{e.target===e.currentTarget&&!u&&s(l)},onClick:e=>{f&&(e.stopPropagation(),d.current&&!c&&p(l,!0))},onDoubleClick:e=>{f&&(e.stopPropagation(),u&&c||p(l,!0))}}}},onKeyDown:e=>{if(c||!o||!(e.target instanceof HTMLElement)||e.target.dataset.cell!==s3(o))return;let a=e.key===`Tab`?e.shiftKey?`ArrowLeft`:`ArrowRight`:e.key;if(U_e(a)){let i=W_e(o,a,t,n);if(!i&&e.key===`Tab`)return;e.preventDefault(),i&&r(i.index)&&p(i);return}if(e.key===`Enter`||e.key===`F2`){e.preventDefault();let t=r(o.index);f(o)?p(o,!0):e.key===`Enter`&&t&&i?.(t);return}e.key===`Escape`&&s(void 0)}}},q_e=({ids:e,rowAt:t,reorder:n,children:r})=>{let i=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{coordinateGetter:py})),a=t=>e.indexOf(String(t)),o=e=>{let r=t(a(e));return r?n.label(r):yb(`row`)};return(0,R.jsx)(Cv,{sensors:i,collisionDetection:C_,onDragEnd:({active:e,over:t})=>{t&&e.id!==t.id&&n.onMove(a(e.id),a(t.id))},accessibility:{announcements:{onDragStart:({active:t})=>yb(`pickedUp`,o(t.id),a(t.id)+1,e.length),onDragOver:({active:t,over:n})=>n?yb(`isOver`,o(t.id),a(n.id)+1,e.length):void 0,onDragEnd:({active:t,over:n})=>n?yb(`droppedAt`,o(t.id),a(n.id)+1,e.length):yb(`putBack`,o(t.id)),onDragCancel:({active:e})=>yb(`cancelled`,o(e.id),a(e.id)+1)},screenReaderInstructions:{draggable:yb(`reorderInstructions`)}},children:(0,R.jsx)(ty,{items:e,strategy:Zv,children:r})})},J_e=({row:e,label:t,...n})=>{let{attributes:r,listeners:i,setNodeRef:a,setActivatorNodeRef:o,transform:s,transition:c,isDragging:l}=ly({id:e.id}),u=(0,R.jsx)(`button`,{ref:o,type:`button`,"aria-label":yb(`move`,t),...r,...i,onClick:e=>e.stopPropagation(),style:{touchAction:`none`},className:`flex size-7 cursor-grab items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground focus-visible:text-foreground active:cursor-grabbing pointer-coarse:size-9`,children:(0,R.jsx)(ma,{className:`size-4`})});return(0,R.jsx)(J4,{...n,rowRef:a,handle:u,dragY:s?.y??0,transition:c,dragging:l})},c3=32,l3=({columns:e,source:t,naturalSort:n,initialScrollIndex:r=0,onScrollIndex:i,latencyMs:a=150,sort:o,onSortChange:s,onOpenRow:c,rowLink:l,rowActions:u,cellEditor:d,rowPatches:f,bulkActions:p,pinKey:m,defaultPinned:h,rowNumbers:_=!0,compact:v=!1,selectable:y=!0,reorder:b,fit:x=!1,scroll:S=`own`,className:C})=>{let w=y&&!b,T=v?28:36,E=!lu(),D=(h??(E?[]:D_e(e))).join(` `),[O,k]=E_e(m,(0,I.useMemo)(()=>D?D.split(` `):[],[D])),A=(0,I.useMemo)(()=>[...O.flatMap(t=>e.find(e=>e.id===t)??[]),...e.filter(e=>!O.includes(e.id))],[e,O]),j=A.slice(0,A.filter(e=>O.includes(e.id)).length).map(e=>e.id),{total:M}=t,[N,ee]=(0,I.useState)(n?[{id:n.columnId,desc:n.direction===`desc`}]:[]),te=o?[{id:o.columnId,desc:o.direction===`desc`}]:N,ne=e=>{let t=typeof e==`function`?e(te):e,n=t[0];s&&n&&s({columnId:n.id,direction:n.desc?`desc`:`asc`}),o||ee(t)},[re,ie]=(0,I.useState)({}),ae=(0,I.useMemo)(()=>m_e(A),[A]),oe=te[0],se=!!(!o&&n&&oe&&oe.id===n.columnId&&(oe.desc?`desc`:`asc`)!==n.direction),ce=t.rowAt,le=(0,I.useCallback)(e=>ce(se?M-1-e:e),[ce,se,M]),[ue]=(0,I.useState)(r),{ref:de,top:P,geometry:fe,rows:pe,first:me,last:he}=o3({total:M,rowHeight:T,initialIndex:ue,inset:c3}),F=E||!_?40:v_e(M),ge=Math.floor(Math.max(0,P)/T);(0,I.useEffect)(()=>i?.(ge),[ge,i]);let _e=Q4({total:M,rowAt:ce?le:void 0,loadRows:t.loadRows,revision:t.revision,latencyMs:a},me,he),ve=(0,I.useCallback)(e=>{let t=_e(e),n=t&&f?.get(t.id);return n?{...t,...n}:t},[_e,f]),ye=pe.map(({index:e,offset:t})=>({index:e,offset:t,row:ve(e)})),be=(0,I.useMemo)(()=>ye.flatMap(({row:e})=>e?[e]:[]),[ve,me,he]),xe=k_e(A,be),Se=d_e({features:p_e,columns:ae,data:be,state:{sorting:te,rowSelection:re},onSortingChange:ne,onRowSelectionChange:ie,manualSorting:!0,enableMultiSort:!1,enableSortingRemoval:!1,getRowId:e=>e.id}),Ce=new Map(Se.getRowModel().rows.map(e=>[e.id,e])),we=Object.keys(re).length,Te=(0,I.useRef)(new Map);for(let e of Se.getRowModel().rows)e.getIsSelected()&&Te.current.set(e.id,e.original);let Ee=u&&u.length>0?40:0,De=E?1:R4,Oe=x_e(),ke=(0,I.useRef)(null),Ae=()=>{Oe.onScroll(),ke.current&&Oe.ref.current&&(ke.current.scrollLeft=Oe.ref.current.scrollLeft)},[je,Me]=(0,I.useState)({});(0,I.useLayoutEffect)(()=>{let e=ke.current?.querySelector(`[role=row]`);if(!e)return;let t=F,n={};for(let r of j)n[r]=t,t+=e.querySelector(`[data-col-id="${r}"]`)?.offsetWidth??0;JSON.stringify(je)!==JSON.stringify(n)&&Me(n)});let Ne=j.at(-1),Pe=e=>k(O.includes(e)?O.filter(t=>t!==e):[...O,e]),Fe=Se.getHeaderGroups().flatMap(e=>e.headers.map(e=>({spec:A.find(t=>t.id===e.column.id),sorted:e.column.getIsSorted(),onSort:t=>e.column.getToggleSortingHandler()?.(t)}))),Ie=(0,I.useRef)(null),Le=K_e({editor:d,columns:(0,I.useMemo)(()=>A.map(e=>e.id),[A]),total:M,rowAt:ve,onOpenRow:c,container:Ie}),Re=(A.find(e=>e.title)??A[0])?.id,ze=b_e(xe,F,Ee,De),Be=S===`own`,Ve=(0,R.jsx)(`div`,{ref:ke,className:g(`sticky z-20 shrink-0 overflow-hidden`,Be?`top-0`:`top-[var(--pb-sticky-top,0px)]`),children:(0,R.jsx)(`div`,{style:{minWidth:ze},children:(0,R.jsx)(M_e,{cells:Fe,specs:xe,gutter:F,trailing:Ee,minScale:De,pins:je,lastPinned:Ne,scrolled:Oe.scrolled,onTogglePin:Pe,selectable:w,selectedCount:we,onClearSelection:()=>ie({})})})}),He=ye.map(({index:e,offset:t,row:n})=>{let r={specs:xe,gutter:F,index:e,offset:t,height:T,selectable:w,trailing:Ee,minScale:De,scrolled:Oe.scrolled,pins:je,lastPinned:Ne},i=n?Ce.get(n.id):void 0;if(!i||!n)return(0,R.jsx)(F_e,{...r},`skeleton-${e}`);let a=Ee?g_e(u,n):[],o={...r,selected:i.getIsSelected(),onToggle:()=>i.toggleSelected(),onOpen:c?()=>c(n):void 0,menu:a.length>0?(0,R.jsx)(__e,{row:n,actions:a}):void 0,cells:i.getAllCells().map(t=>{let r=(0,R.jsx)(Se.FlexRender,{cell:t}),i=!!d?.editable(n,t.column.id),a=l&&t.column.id===Re&&!i?(0,R.jsx)(yu,{to:l(n),className:`flex min-w-0 items-center hover:underline`,children:r}):r;return{spec:A.find(e=>e.id===t.column.id),...Le?Le.cell(e,n,t.column.id,a):{content:a}}})};return b?(0,R.jsx)(J_e,{...o,row:n,label:b.label(n)},n.id):(0,R.jsx)(J4,{...o},n.id)}),Ue=(0,R.jsx)(`div`,{ref:Oe.attach,onScroll:Ae,className:`overflow-x-auto overflow-y-hidden overscroll-x-contain [-webkit-overflow-scrolling:touch]`,children:(0,R.jsx)(`div`,{ref:de,className:`relative`,style:{minWidth:ze,height:fe.contentHeight},children:b?(0,R.jsx)(q_e,{ids:Array.from({length:M},(e,t)=>ve(t)?.id??`missing-${t}`),rowAt:ve,reorder:b,children:He}):He})});return(0,R.jsxs)(`div`,{ref:Ie,role:`grid`,"aria-rowcount":M,onKeyDown:Le?.onKeyDown,className:g(`flex flex-col rounded-lg border bg-background`,Be?`min-h-0 overflow-hidden`:`overflow-clip`,C),style:x&&Be?{height:c3+M*T+2}:void 0,children:[(0,R.jsxs)(`div`,{className:g(`relative`,Be&&`flex min-h-0 flex-1 flex-col`),children:[Be?(0,R.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,children:[Ve,Ue]}):(0,R.jsxs)(R.Fragment,{children:[Ve,Ue]}),Oe.more&&(0,R.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`})]}),!x&&(0,R.jsx)(h_e,{total:M,className:Be?void 0:`sticky bottom-[var(--pb-sticky-bottom,0px)] z-20`,selectedCount:we,bulkActions:p?.map(e=>({label:e.label(we),destructive:e.destructive,onRun:()=>{e.onRun(Object.keys(re).flatMap(e=>Te.current.get(e)??[])),ie({}),Te.current.clear()}}))})]})},Y_e=500,u3=async(e,t,n)=>{let r=[],i={},a;do{let o=await e.search(t,{...n,pageSize:Y_e,...a&&{pageToken:a}});r.push(...o.items);for(let[e,t]of Object.entries(o.labels??{}))i[e]={...i[e],...t};a=o.nextPageToken||void 0}while(a);return{items:r,labels:i}},d3=rr(),f3=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},p3=e=>e==null?void 0:String(e),X_e=(e,t,n)=>{let r=new Map;for(let[t,n]of e)r.set(n,(r.get(n)??new Set).add(t));let i=new Map;for(let e of t){let t=e[n],a=p3(typeof t==`object`&&t&&`id`in t?t.id:t);for(let t of a===void 0?[]:r.get(a)??[])i.set(t,[...i.get(t)??[],e])}return i},Z_e=async(e,t,n,r)=>{let i=n.through;if(!i)return r.map(e=>[e,e]);let a=t[i.resource],o=i.key??a?.primaryKey[0];if(!a||o===void 0)throw Error(`The related column ${n.name} names a join resource the app does not have: ${i.resource}`);return(await u3(e,a.name,{filter:f3(Hn(d3.in(i.field,r)),i.filter),fields:[i.field,o]})).items.flatMap(e=>{let t=p3(e[i.field]),n=p3(e[o]);return t===void 0||n===void 0?[]:[[t,n]]})},Q_e=async({client:e,resources:t,views:n,load:r,owners:i})=>{let{column:a,fields:o}=r,s=t[a.resource];if(!s)throw Error(`The related column ${a.name} shows a resource the app does not have: ${a.resource}`);if(i.length===0)return new Map;let c=await Z_e(e,t,a,i),l=[...new Set(c.map(([,e])=>e))];if(l.length===0)return new Map;let u=[...new Set([...s.primaryKey,a.field,a.status,...o])],d=q0(t,n,s,u),f=await u3(e,s.name,{filter:f3(Hn(d3.in(a.field,l)),a.filter),...a.sort&&{orderBy:a.sort},fields:u,labels:d});return X_e(c,J0(t,s,u,f.items,f.labels),a.field)},$_e=5e3,eve=({queryClient:e,client:t,resources:n,views:r,model:i,columns:a,filter:o,orderBy:s,related:c=[]})=>{let l=c.map(e=>e.column.name).join(`,`),u=e=>c.length===0?H.page(i.name,o,s,40,e):[...H.page(i.name,o,s,40,e),l],d=q0(n,r,i,a),f=mx(r[i.name]),p=async e=>e.nextPageToken===``?e.items.length:e.totalSizeEstimate>$_e?e.totalSizeEstimate:(await t.list(i.name,{filter:o,orderBy:s,pageSize:1,count:`exact`})).totalSize??e.totalSizeEstimate,m=async t=>{if(t===0)return``;let n=u(t-1),r=e.getQueryData(n);if(r)return r.nextPageToken;if(e.getQueryState(n)?.fetchStatus===`fetching`)return(await g(t-1)).nextPageToken},h=async e=>{let l=await m(e);if(e>0&&l===``)return{rows:[],total:0,nextPageToken:``};let u={filter:o,orderBy:s,pageSize:40,labels:d,photos:f},h=l===void 0?await t.seek(i.name,{...u,position:e*40}):await t.list(i.name,{...u,pageToken:l});if(h.items.length===0&&e>0)return{rows:[],total:0,nextPageToken:``};let g=h.items.map(e=>Yb(i,e)),_=J0(n,i,a,hx(i,h.items,h.photos),h.labels),v=await Promise.all(c.map(e=>Q_e({client:t,resources:n,views:r,load:e,owners:g})));return{rows:_.map((e,t)=>({...e,...Object.fromEntries(c.map((e,n)=>[e.column.name,v[n].get(g[t])??[]])),id:g[t]})),total:e===0?await p(h):h.totalSizeEstimate,nextPageToken:h.nextPageToken}},g=t=>e.fetchQuery({queryKey:u(t),staleTime:6e4,queryFn:()=>h(t)});return{page:g,loadRows:async e=>(await g(Math.floor(e/40))).rows}},m3=({resources:e,views:t,model:n,columns:r,filter:i,orderBy:a,related:o})=>{let s=U(),c=Qp(),l=r.join(`,`),u=JSON.stringify(o??[]),d=(0,I.useMemo)(()=>eve({queryClient:c,client:s,resources:e,views:t,model:n,columns:r,filter:i,orderBy:a,...o&&{related:o}}),[c,s,e,t,n,l,i,a,u]),f=Eh({queryKey:[...H.first(n.name,i,a),l],queryFn:async()=>(await c.invalidateQueries({queryKey:H.pages(n.name,i,a),refetchType:`none`}),d.page(0))});return{source:(0,I.useMemo)(()=>f.data?{total:f.data.total,loadRows:d.loadRows,revision:f.dataUpdatedAt}:void 0,[f.data,f.dataUpdatedAt,d]),error:f.error,isLoading:f.isLoading,page:d.page,key:[...H.first(n.name,i,a),l]}},tve=`protobase:embedded-display:`,nve=e=>`${tve}${e}`,rve=(e,t)=>u(()=>e.getItem(t)??void 0,void 0),ive=(e,t,n)=>u(()=>e.setItem(t,n),void 0),h3=(e,t,{picked:n,preferred:r})=>{let i=jx(e).map(e=>e.name);return n!==void 0&&i.includes(n)?n:Cx(e,t,r!==void 0&&i.includes(r)?r:void 0)},g3=(e,t,n,{resource:r=e.name,...i})=>Yx({kind:`list`,resource:r},i,{...qx(e,t,n),display:Cx(t,n)}),Q=a({en:{saveSearch:`Save search`,saveAsNew:e=>`Save as new ${e}`,updateName:e=>`Update ${e}`,updateNameQuestion:e=>`Update ${e}?`,updateNounQuestion:e=>`Update this ${e}?`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`,somethingWrong:`Something went wrong`,couldNotRename:`Could not rename the search`,renameTitle:e=>`Rename ${e}`,deleteTitle:e=>`Delete ${e}`,unreadableFilter:`A filter that cannot be read`,notFound:`Not found`,noResource:`There is no resource called {}.`,noSavedYet:e=>`No ${e} yet. Filter the {} and save the search.`,on:`On`,off:`Off`,saved:e=>`${e} saved`,couldNotChange:`Could not change the search`,asMany:e=>`As many ${e}`,more:(e,t)=>`${e} more ${t}`,fewer:(e,t)=>`${e} fewer ${t}`,cancel:`Cancel`,save:`Save`,optional:`Optional`,added:`Added`,removed:`Removed`,changed:`Changed`,filterChanges:`Filter changes`,firstOf:(e,t)=>`The first ${e} of ${t}.`,noPlural:e=>`No ${e}.`,update:`Update`,addedRemoved:(e,t)=>`${e} added, ${t} removed`,searchSaved:`Search saved`,openPlural:e=>`Open ${e.toLowerCase()}`,couldNotSave:`Could not save the search`,couldNotTakeOff:`Could not take the search off`,searchUpdated:`Search updated`,couldNotUpdate:`Could not update the search`,noneMatch:e=>`No ${e} match.`,noNew:e=>`No new ${e} since you last looked.`,viewAll:`View all results`,filters:`Filters`},nl:{saveSearch:`Zoekopdracht bewaren`,saveAsNew:e=>`Als extra ${e} bewaren`,updateName:e=>`${e} bijwerken`,updateNameQuestion:e=>`${e} bijwerken?`,updateNounQuestion:e=>`${e} bijwerken?`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`,somethingWrong:`Er ging iets mis`,couldNotRename:`Kon de zoekopdracht niet hernoemen`,renameTitle:e=>`${e} hernoemen`,deleteTitle:e=>`${e} verwijderen`,unreadableFilter:`Een filter dat niet kan worden gelezen`,notFound:`Niet gevonden`,noResource:`Er is geen onderdeel met de naam {}.`,noSavedYet:e=>`Nog geen ${e}. Filter de {} en bewaar de zoekopdracht.`,on:`Aan`,off:`Uit`,saved:e=>`${e} bewaard`,couldNotChange:`Kon de zoekopdracht niet wijzigen`,asMany:e=>`Evenveel ${e}`,more:(e,t)=>`${e} ${t} meer`,fewer:(e,t)=>`${e} ${t} minder`,cancel:`Annuleren`,save:`Bewaren`,optional:`Optioneel`,added:`Erbij`,removed:`Eraf`,changed:`Gewijzigd`,filterChanges:`Wijzigingen in het filter`,firstOf:(e,t)=>`De eerste ${e} van ${t}.`,noPlural:e=>`Geen ${e}.`,update:`Bijwerken`,addedRemoved:(e,t)=>`${e} erbij, ${t} eraf`,searchSaved:`Zoekopdracht bewaard`,openPlural:e=>`${e} openen`,couldNotSave:`Kon de zoekopdracht niet bewaren`,couldNotTakeOff:`Kon de zoekopdracht niet weghalen`,searchUpdated:`Zoekopdracht bijgewerkt`,couldNotUpdate:`Kon de zoekopdracht niet bijwerken`,noneMatch:e=>`Geen ${e} gevonden.`,noNew:e=>`Geen nieuwe ${e} sinds je laatst keek.`,viewAll:`Alle resultaten bekijken`,filters:`Filters`}}),_3=`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`,v3=({chips:e,className:t})=>(0,R.jsx)(`ul`,{className:g(`flex flex-wrap gap-1.5`,t),"aria-label":Q(`filters`),children:e.map(e=>(0,R.jsx)(`li`,{className:_3,children:e.label},e.key))}),y3=({chips:e})=>(0,R.jsx)(`span`,{className:`flex flex-wrap gap-1.5`,children:e.map((e,t)=>(0,R.jsxs)(`span`,{className:_3,children:[t>0&&(0,R.jsx)(`span`,{className:`sr-only`,children:`, `}),e.label]},e.key))}),ave=e=>e.map(e=>e.label).join(`, `),b3=a({en:{today:`Today`,yesterday:`Yesterday`,"24h":`Last 24 hours`,"7d":`Last 7 days`,"30d":`Last 30 days`,"90d":`Last 90 days`,month:`This month`,quarter:`This quarter`,year:`This year`,unknownPreset:e=>`The server offers the preset "${e}", which this UI does not know`,unsupported:e=>`${e} (unsupported)`,remove:e=>`Remove ${e}`,clearAll:`Clear all`,searchIn:e=>`Search ${e.toLowerCase()}`,noMatches:`No matches`,moreFilters:`More filters`,filters:`Filters`,date:`Date`,showOnly:`Show only`,minimum:e=>`${e} minimum`,maximum:e=>`${e} maximum`},nl:{today:`Vandaag`,yesterday:`Gisteren`,"24h":`Afgelopen 24 uur`,"7d":`Afgelopen 7 dagen`,"30d":`Afgelopen 30 dagen`,"90d":`Afgelopen 90 dagen`,month:`Deze maand`,quarter:`Dit kwartaal`,year:`Dit jaar`,unknownPreset:e=>`De server biedt de periode "${e}", die deze UI niet kent`,unsupported:e=>`${e} (niet ondersteund)`,remove:e=>`${e} verwijderen`,clearAll:`Alles wissen`,searchIn:e=>`Zoeken in ${e.toLowerCase()}`,noMatches:`Niets gevonden`,moreFilters:`Meer filters`,filters:`Filters`,date:`Datum`,showOnly:`Alleen tonen`,minimum:e=>`${e} minimum`,maximum:e=>`${e} maximum`}}),ove=`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`,x3=({chips:e,lockedLabels:t=[],onRemove:n,onClear:r,scroll:i})=>e.length===0&&t.length===0?null:(0,R.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,R.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,R.jsx)(Ha,{className:`size-3 text-muted-foreground`}),e]},e)),e.map(e=>(0,R.jsxs)(`span`,{className:ove,children:[e.label,(0,R.jsx)(`button`,{type:`button`,"aria-label":b3(`remove`,e.label),onClick:()=>n(e.key),className:`rounded-full p-0.5 hover:bg-primary-border/60`,children:(0,R.jsx)(ts,{className:`size-3`})})]},e.key)),e.length>0&&(0,R.jsx)(`button`,{type:`button`,onClick:r,className:`ml-1 text-xs font-medium text-muted-foreground hover:text-foreground`,children:b3(`clearAll`)})]}),sve=[`today`,`7d`,`30d`,`year`],cve=new Set([`today`,`yesterday`,`24h`,`7d`,`30d`,`90d`,`month`,`quarter`,`year`]),S3=e=>cve.has(e)?b3(e):void 0,lve=({value:e,presets:t=sve,onChange:n})=>(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(t=>{let r=S3(t);return(0,R.jsx)(`button`,{type:`button`,disabled:!r,title:r?void 0:b3(`unknownPreset`,t),onClick:()=>n(e===t?void 0:t),className:g(`h-7 rounded-md border px-2.5 text-body 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??b3(`unsupported`,t)},t)})}),C3=({label:e,onRemove:t})=>(0,R.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,R.jsx)(`span`,{className:`truncate`,children:e}),(0,R.jsx)(`button`,{type:`button`,"aria-label":ud(`remove`,e),className:`rounded p-0.5 hover:bg-primary-border/60`,onMouseDown:e=>e.preventDefault(),onClick:t,children:(0,R.jsx)(ts,{className:`size-3`})})]}),w3={facets:{},toggles:[]},T3=(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}}},E3=(e,t)=>({...e,toggles:e.toggles.includes(t)?e.toggles.filter(e=>e!==t):[...e.toggles,t]}),D3=(e,t,n)=>{let{[t]:r,...i}=e.ranges??{};return{...e,ranges:n?{...i,[t]:n}:i}},O3=(e,t)=>e.options.find(e=>e.value===t)?.label??e.labels?.[t]??t,k3=(e,t)=>{let n=e.facets.flatMap(e=>(t.facets[e.id]??[]).map(t=>({key:`facet:${e.id}:${t}`,label:`${e.label}: ${O3(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:S3(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]},A3=(e,t)=>{if(t===`date`)return{...e,date:void 0};let[n,r,i]=t.split(`:`);if(n===`range`)return D3(e,r,void 0);if(n===`toggle`)return E3(e,r);if(n===`facet`)return T3(e,r,i);throw Error(`Unknown filter chip key: ${t}`)},j3=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),uve=(e,t)=>e.onSearch?e.options:e.options.filter(e=>j3(e.label,t)),dve=(e,t,n)=>t===0?-1:n===`ArrowDown`?e<0?0:(e+1)%t:e<0?t-1:(e-1+t)%t,fve=({config:e,selected:t,onToggle:n,inline:r=!1})=>{let i=(0,I.useId)(),a=(0,I.useRef)(null),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(-1),f=r||c,p=uve(e,o),m=(0,I.useRef)(e.onSearch);m.current=e.onSearch,(0,I.useEffect)(()=>()=>m.current?.(``),[]);let h=t=>{s(t),d(-1),e.onSearch?.(t)};return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.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,R.jsx)(go,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.map(t=>(0,R.jsx)(C3,{label:O3(e,t),onRemove:()=>n(t)},t)),(0,R.jsx)(`input`,{ref:a,autoFocus:r,role:`combobox`,"aria-label":e.label,"aria-expanded":f,"aria-controls":`${i}-options`,"aria-autocomplete":`list`,"aria-activedescendant":p[u]?`${i}-${u}`:void 0,placeholder:t.length>0?``:b3(`searchIn`,e.label),className:`h-6 min-w-16 flex-1 bg-transparent text-foreground outline-none placeholder:text-faint-foreground`,value:o,onChange:e=>h(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),d(dve(u,p.length,e.key));return}if(e.key===`Enter`&&p[u]){e.preventDefault(),n(p[u].value);return}if(e.key===`Backspace`&&o===``&&t.length>0){n(t[t.length-1]);return}e.key===`Escape`&&o!==``&&(e.stopPropagation(),h(``))},onFocus:()=>l(!0),onBlur:()=>{l(!1),d(-1),!r&&o!==``&&h(``)}})]}),f&&(0,R.jsxs)(`ul`,{id:`${i}-options`,role:`listbox`,"aria-label":e.label,"aria-multiselectable":!0,className:g(`flex max-h-60 flex-col gap-px overflow-y-auto`,!r&&`rounded-md border bg-background p-1 shadow-sm`),children:[p.map((e,r)=>{let a=t.includes(e.value);return(0,R.jsxs)(`li`,{id:`${i}-${r}`,role:`option`,"aria-selected":a,tabIndex:-1,className:g(`flex cursor-pointer items-center gap-2 rounded px-1.5 py-1 hover:bg-muted`,r===u&&`bg-muted`),onMouseDown:e=>e.preventDefault(),onClick:()=>n(e.value),children:[(0,R.jsx)(`span`,{className:g(`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,R.jsx)(bi,{className:`size-3`,strokeWidth:3})}),(0,R.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:Gd(e.count)})]},e.value)}),p.length===0&&(0,R.jsx)(`li`,{className:`px-1.5 py-1 text-xs text-faint-foreground`,children:b3(`noMatches`)})]})]})},pve=({config:e,selected:t,onToggle:n})=>{let[r,i]=(0,I.useState)(``),a=e.options.filter(e=>j3(e.label,r));return(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.searchable&&(0,R.jsx)(cd,{wrapperClassName:`mb-1 h-7`,leading:(0,R.jsx)(go,{className:`size-3.5`}),placeholder:b3(`searchIn`,e.label),value:r,onChange:e=>i(e.target.value)}),a.map(e=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-1 hover:bg-muted`,children:[(0,R.jsx)(Zh,{checked:t.includes(e.value),onChange:()=>n(e.value),label:e.label}),(0,R.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),e.count!==void 0&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-faint-foreground`,children:Gd(e.count)})]},e.value)),a.length===0&&(0,R.jsx)(`span`,{className:`px-1 py-1 text-xs text-faint-foreground`,children:b3(`noMatches`)})]})},M3=({label:e,activeCount:t,width:n=240,defaultOpen:r=!1,children:i})=>{let[a,o]=(0,I.useState)(r),[s,c]=(0,I.useState)(!1),l=(0,I.useRef)(null);return(0,I.useLayoutEffect)(()=>{a&&l.current&&c(l.current.getBoundingClientRect().left+n>document.documentElement.clientWidth)},[a,n]),(0,I.useEffect)(()=>{if(!a)return;let e=e=>{e.target instanceof Node&&!l.current?.contains(e.target)&&o(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[a]),(0,R.jsxs)(`div`,{ref:l,className:`relative`,children:[(0,R.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>o(!a),className:g(`inline-flex h-8 items-center gap-1.5 rounded-md border bg-background px-2.5 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,R.jsx)(`span`,{className:`rounded-full bg-primary px-1.5 text-[11px] leading-4 text-primary-foreground`,children:t}),(0,R.jsx)(Si,{className:`size-3.5 text-muted-foreground`})]}),a&&(0,R.jsx)(`div`,{className:g(`absolute top-full z-30 mt-1.5 rounded-lg border bg-background p-3 shadow-pop`,s?`right-0`:`left-0`),style:{width:n},children:typeof i==`function`?i(()=>o(!1)):i})]})},N3=({title:e,children:t})=>(0,R.jsxs)(`section`,{className:`flex flex-col gap-2 border-b py-3 last:border-b-0`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),P3=(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}},mve=({items:e,onPick:t,close:n})=>{let r=(0,I.useRef)([]);return(0,I.useEffect)(()=>r.current[0]?.focus(),[]),(0,R.jsx)(`ul`,{role:`menu`,"aria-label":b3(`moreFilters`),onKeyDown:t=>{if(t.key===`Escape`)return n();let i=P3(t.key,r.current.indexOf(document.activeElement),e.length);i!==void 0&&(t.preventDefault(),r.current[i]?.focus())},className:`-mx-3 -my-3`,children:e.map((e,i)=>(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsx)(`button`,{ref:e=>{r.current[i]=e},type:`button`,role:`menuitem`,className:mS,onClick:()=>{n(),t(e.key)},children:e.label})},e.key))})},hve=({items:e,onPick:t})=>e.length===0?null:(0,R.jsx)(M3,{label:b3(`moreFilters`),activeCount:0,children:n=>(0,R.jsx)(mve,{items:e,onPick:t,close:n})}),F3=(e,t)=>{let[n,r]=(0,I.useState)(e);return(0,I.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n},gve=(e,t,n,r,i)=>{let a=n+(r-n)*e/t;return n+(r-n)*(e+1)/t>i[0]&&a<i[1]},I3=(e,t,n)=>n===t?0:(e-t)/(n-t),_ve=(e,t,n)=>t===0?[Math.min(n,e[1]),e[1]]:[e[0],Math.max(n,e[0])],vve=1e3,yve=({config:e,value:t,onChange:n})=>{let{min:r,max:i,step:a,histogram:o,format:s}=e,[c,l]=(0,I.useState)(),u=c??t??[r,i],d=Math.max(...o),f=()=>{c&&(l(void 0),n(c[0]===r&&c[1]===i?void 0:c))},p=F3(c,vve);return(0,I.useEffect)(()=>{p&&f()},[p]),(0,R.jsxs)(`div`,{className:`w-full`,children:[(0,R.jsxs)(`div`,{className:`px-[7px]`,children:[o.length>0&&(0,R.jsx)(`div`,{className:`mb-1 flex h-12 items-end gap-0.5`,children:o.map((e,t)=>(0,R.jsx)(`span`,{className:g(`flex-1 rounded-t-sm`,gve(t,o.length,r,i,u)?`bg-primary/70`:`bg-border`),style:{height:`${Math.max(6,e/d*100)}%`}},t))}),(0,R.jsxs)(`div`,{className:`relative h-4`,children:[(0,R.jsx)(`span`,{className:`absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border`}),(0,R.jsx)(`span`,{className:`absolute top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary`,style:{left:`${I3(u[0],r,i)*100}%`,right:`${100-I3(u[1],r,i)*100}%`}})]})]}),(0,R.jsx)(`div`,{className:`relative -mt-4 h-4`,children:[0,1].map(t=>(0,R.jsx)(`input`,{type:`range`,className:`pb-range`,"aria-label":b3(t===0?`minimum`:`maximum`,e.label),min:r,max:i,step:a,value:u[t],onChange:e=>l(_ve(u,t,Number(e.target.value))),onPointerUp:f,onTouchEnd:f,onBlur:f},t))}),(0,R.jsxs)(`div`,{className:`mt-2 flex justify-between text-xs tabular-nums text-muted-foreground`,children:[(0,R.jsx)(`span`,{children:s(u[0])}),(0,R.jsx)(`span`,{children:s(u[1])})]})]})},bve=e=>[...new Set(e.map(e=>e.key.split(`:`).slice(0,2).join(`:`)))],L3=(e,t)=>{let n=t.filter(t=>!e.includes(t));return n.length===0?e:[...e,...n]},xve=(e,t)=>{let n=[...e.facets.map(e=>({key:`facet:${e.id}`,label:e.label,secondary:e.secondary})),...(e.ranges??[]).map(e=>({key:`range:${e.id}`,label:e.label,secondary:e.secondary})),...e.datePresets?[{key:`date`,label:b3(`date`),secondary:e.dateSecondary}]:[],...(e.toggles??[]).map(e=>({key:`toggle:${e.id}`,label:e.label,secondary:e.secondary}))],r=new Set,i=[];for(let e of n)!e.secondary||t.includes(e.key)?r.add(e.key):i.push({key:e.key,label:e.label});return{shown:r,more:i}},R3=({label:e,checked:t,onChange:n})=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer items-center justify-between gap-3 py-1`,children:[(0,R.jsx)(`span`,{children:e}),(0,R.jsx)(ZS,{checked:t,onChange:n,label:e})]}),z3=(e,t)=>e.some(e=>e.length>0)||!!t,B3=({groups:e,trailing:t})=>{if(!z3(e,t))return null;let n=e.filter(e=>e.length>0);return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.map((e,t)=>(0,R.jsxs)(I.Fragment,{children:[t>0&&(0,R.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),e]},t)),t&&(0,R.jsx)(`div`,{className:`flex min-w-32 flex-1 justify-end`,children:t})]})},Sve=(e,t,n)=>{let[r,i]=(0,I.useState)(t??w3);return[e??r,e=>{i(e),n?.(e)}]},V3=({config:e,layout:t,value:n,defaultValue:r,onChange:i,lockedLabels:a,defaultOpenMenu:o,fullWidth:s,leading:c,trailing:l})=>{let[u,d]=Sve(n,r,i),f=k3(e,u),p=bve(f),[m,h]=(0,I.useState)(()=>p),[g,_]=(0,I.useState)();(0,I.useEffect)(()=>h(e=>L3(e,p)),[p.join(`,`)]);let v=(0,R.jsx)(x3,{chips:f,lockedLabels:a,onRemove:e=>d(A3(u,e)),onClear:()=>d(w3)}),y=(e,t=!1)=>{let n=u.facets[e.id]??[],r=t=>d(T3(u,e.id,t));return e.combobox?(0,R.jsx)(fve,{config:e,selected:n,onToggle:r,inline:t}):(0,R.jsx)(pve,{config:e,selected:n,onToggle:r})},b=e.ranges??[],x=e=>(0,R.jsx)(yve,{config:e,value:u.ranges?.[e.id],onChange:t=>d(D3(u,e.id,t))}),S=e.datePresets&&(0,R.jsx)(lve,{value:u.date,presets:Array.isArray(e.datePresets)?e.datePresets:void 0,onChange:e=>d({...u,date:e})}),C=(e.toggles??[]).map(e=>(0,R.jsx)(R3,{label:e.label,checked:u.toggles.includes(e.id),onChange:()=>d(E3(u,e.id))},e.id));if(t===`panel`)return(0,R.jsxs)(`aside`,{className:s?`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,R.jsx)(`div`,{className:`flex items-center justify-between pb-1`,children:(0,R.jsx)(`h2`,{className:`font-semibold`,children:b3(`filters`)})}),(f.length>0||(a?.length??0)>0)&&(0,R.jsx)(`div`,{className:`border-b pb-3`,children:v}),c,e.facets.map(e=>(0,R.jsx)(N3,{title:e.label,children:y(e)},e.id)),b.map(e=>(0,R.jsx)(N3,{title:e.label,children:x(e)},e.id)),S&&(0,R.jsx)(N3,{title:b3(`date`),children:S}),C.length>0&&(0,R.jsx)(N3,{title:b3(`showOnly`),children:C})]});let{shown:w,more:T}=xve(e,m),E=e=>{h(t=>L3(t,[e])),_(e)},D=[...e.facets.filter(e=>w.has(`facet:${e.id}`)).map(e=>(0,R.jsx)(M3,{label:e.label,activeCount:(u.facets[e.id]??[]).length,width:e.combobox?280:void 0,defaultOpen:o===e.id||g===`facet:${e.id}`,children:y(e,!0)},e.id)),...b.filter(e=>w.has(`range:${e.id}`)).map(e=>(0,R.jsx)(M3,{label:e.label,activeCount:+!!u.ranges?.[e.id],width:280,defaultOpen:o===e.id||g===`range:${e.id}`,children:x(e)},`range:${e.id}`)),...S&&w.has(`date`)?[(0,R.jsx)(I.Fragment,{children:S},`date`)]:[]],O=(e.toggles??[]).filter(e=>w.has(`toggle:${e.id}`)).map(e=>(0,R.jsx)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:(0,R.jsx)(R3,{label:e.label,checked:u.toggles.includes(e.id),onChange:()=>d(E3(u,e.id))})},e.id)),k=[c?[(0,R.jsx)(I.Fragment,{children:c},`leading`)]:[],D,O,T.length>0?[(0,R.jsx)(hve,{items:T,onPick:E},`more`)]:[]];return!z3(k,l)&&f.length===0&&!a?.length?null:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(B3,{groups:k,trailing:l}),v]})},H3=rr(),U3={start:0,end:0},W3={"24h":{amount:24,unit:`h`},"7d":{amount:7,unit:`d`},"30d":{amount:30,unit:`d`},"90d":{amount:90,unit:`d`}},Cve=e=>new Date(e).toISOString().replace(`.000Z`,`Z`),G3=(e,t,n)=>{let r=tf(t.getTime(),n),[i,a]=[Number(r.slice(0,4)),Number(r.slice(5,7))-1],o=e=>new Date(e).toISOString().slice(0,10);return e===`year`?o(Date.UTC(i,0,1)):e===`quarter`?o(Date.UTC(i,Math.floor(a/3)*3,1)):e===`month`?o(Date.UTC(i,a,1)):e===`yesterday`?o(Date.parse(`${r}T00:00:00Z`)-864e5):r},K3=[`year`,`quarter`,`month`,`yesterday`,`today`],q3=(e,t,n)=>t===`date`?e:Cve(rf(e,n)),J3=(e,t,n)=>t===`date`?{kind:`string`,value:q3(e,t,n),span:U3}:{kind:`timestamp`,value:q3(e,t,n),span:U3},wve=(e,t,n,r,i)=>{if(t in W3)return[H3.gte(e,H3.ago(t))];let a=H3.gte(e,J3(G3(t,n,i),r,i));return t===`yesterday`?[a,H3.lt(e,J3(G3(`today`,n,i),r,i))]:[a]},Tve=(e,t,n=new Date,r=Yd())=>{let i=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=>H3.eq(e.value,!0));return t.length===0?[]:[t.length===1?t[0]:H3.or(...t)]}return[n.length===1?H3.eq(e.id,n[0]):H3.in(e.id,n)]}),a=(e.ranges??[]).flatMap(e=>{let n=t.ranges?.[e.id];return n?[H3.gte(e.id,n[0]),H3.lte(e.id,n[1])]:[]}),o=e.dateField&&t.date?wve(e.dateField,t.date,n,e.dateKind,r):[],s=(e.toggles??[]).filter(e=>t.toggles.includes(e.id)).map(e=>H3.eq(e.id,!0));return[...i,...a,...o,...s]},Eve=e=>e.length===0?``:Hn(H3.and(...e)),Y3=(e,t,n=[],r=new Date,i=Yd())=>Eve([...Tve(e,t,r,i),...n]),X3=e=>e.kind===`and`?e.args.flatMap(X3):[e],Z3=e=>e.field.path.join(`.`),Dve=e=>e.kind===`compare`&&e.op===`=`&&e.value.kind===`boolean`&&e.value.value,Ove=(e,t)=>{let n=e.kind===`or`?e.args:[e];if(!n.every(Dve))return;let r=n.map(Z3),i=t.get(r[0]);return i!==void 0&&r.every(e=>t.get(e)===i)?{group:i,fields:r}:void 0},Q3=e=>e.kind===`number`?String(e.raw):e.kind===`string`?String(e.value):void 0,$3=(e,t,n)=>{let r=e.value;if(r.kind===`now`&&r.offset?.sign===`-`){let{amount:e,unit:t}=r.offset.duration;return Object.entries(W3).find(([,n])=>n.amount===e&&n.unit===t)?.[0]}if(r.kind===`timestamp`)return K3.find(e=>q3(G3(e,t,n),`timestamp`,n)===r.value);if(r.kind===`string`)return K3.find(e=>G3(e,t,n)===r.value)},e6=(e,t,n=new Date,r=Yd())=>{let i=ln(t);if(!i.ok)return{ok:!1,errors:i.errors};let a={facets:{},toggles:[]},o=[],s=new Set(e.facets.filter(e=>!e.flags).map(e=>e.id)),c=new Map(e.facets.filter(e=>e.flags).flatMap(e=>e.options.map(t=>[t.value,e.id]))),l=new Set((e.toggles??[]).map(e=>e.id)),u=new Set((e.ranges??[]).map(e=>e.id)),d=new Map,f,p;for(let t of i.ast?X3(i.ast):[]){let i=Ove(t,c);if(i&&!a.facets[i.group])a.facets[i.group]=i.fields;else if(t.kind===`compare`&&s.has(Z3(t))&&t.op===`=`&&Q3(t.value)!==void 0)a.facets[Z3(t)]=[...a.facets[Z3(t)]??[],Q3(t.value)];else if(t.kind===`in`&&s.has(Z3(t))&&t.values.every(e=>Q3(e)!==void 0))a.facets[Z3(t)]=[...a.facets[Z3(t)]??[],...t.values.map(e=>Q3(e))];else if(t.kind===`compare`&&e.dateField===Z3(t)&&t.op===`>=`&&$3(t,n,r)&&!a.date)a.date=$3(t,n,r),f=t;else if(t.kind===`compare`&&e.dateField===Z3(t)&&t.op===`<`&&(t.value.kind===`timestamp`||t.value.kind===`string`)&&t.value.value===q3(G3(`today`,n,r),t.value.kind===`string`?`date`:`timestamp`,r))p=t;else if(t.kind===`compare`&&l.has(Z3(t))&&t.op===`=`&&t.value.kind===`boolean`&&t.value.value)a.toggles.push(Z3(t));else if(t.kind===`compare`&&u.has(Z3(t))&&(t.op===`>=`||t.op===`<=`)&&t.value.kind===`number`){let e=d.get(Z3(t))??{clauses:[]};t.op===`>=`?e.low=t.value.value:e.high=t.value.value,e.clauses.push(t),d.set(Z3(t),e)}else o.push(t)}a.date===`yesterday`&&!p&&(o.push(f),a.date=void 0),p&&a.date!==`yesterday`&&o.push(p);for(let[e,t]of d)t.low!==void 0&&t.high!==void 0?a.ranges={...a.ranges,[e]:[t.low,t.high]}:o.push(...t.clauses);return{ok:!0,state:a,extras:o}},kve=[`integer`,`bigint`,`decimal`],Ave=(e,t)=>{let n=e?.fields[t]?.type;return n!==void 0&&kve.includes(n)},t6=(e,t)=>e.kind===`range`||e.kind===`facets`&&Ave(t,e.field),n6=e=>e.secondary?{secondary:!0}:{},jve=e=>({id:e.field,label:e.field,min:0,max:0,step:1,histogram:[],format:String,...n6(e)}),r6=(e,t)=>{let n=e?.filters??[],r=n.find(e=>e.kind===`dateRange`);return{facets:n.flatMap(e=>e.kind===`facets`&&!t6(e,t)?[{id:e.field,label:e.field,options:[],searchable:e.search,...t?.fields[e.field]?.type===`relation`&&{combobox:!0},...n6(e)}]:e.kind===`flags`?[{id:e.fields.join(`|`),label:e.label,options:e.fields.map(e=>({value:e,label:e,count:0})),flags:!0,...n6(e)}]:[]),ranges:n.flatMap(e=>e.kind!==`flags`&&t6(e,t)?[jve(e)]:[]),...r&&{dateField:r.field,...r.secondary&&{dateSecondary:!0},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,...n6(e)}]:[])}},i6=(e,t)=>(e?.filters??[]).some(e=>e.kind===`range`&&e.field===t&&e.histogram),a6=(e,t)=>{let n=e?.fields[t],r=n?.suffix??``;return e=>`${n?.prefix===`€`?Hd(e*100).replace(`.00`,``):String(e)}${r}`},o6=rr(),Mve={start:0,end:0},Nve=(e,t,n)=>{let r=e6(r6(t,e),n);return r.ok?Object.fromEntries(Object.entries(r.state.facets).filter(([t,n])=>e.fields[t]?.type===`relation`&&n.length>0)):{}},Pve=(e,t,n)=>{let r=e=>t?.fields[e]?.label??K(e),i=r6(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,us(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:a6(t,e.id)})),toggles:i.toggles?.map(e=>({...e,label:r(e.id)}))}},s6=(e,t,n,r={})=>{let i=Pve(e,t,r),a=e6(i,n);if(!a.ok)return[{key:`unreadable`,label:Q(`unreadableFilter`)}];let o=a.extras.map((e,t)=>({key:`extra:${t}`,label:e.kind===`search`?`"${e.text}"`:Hn(e)}));return[...k3(i,a.state),...o]},Fve=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]))}])),Ive=(e,t,n)=>{if(typeof n!=`string`||n===``)return e;let r=o6.gt(t,{kind:`timestamp`,value:new Date(n).toISOString(),span:Mve}),i=ln(e);if(!i.ok)throw Error(`The saved filter cannot be read: ${i.errors.map(e=>e.message).join(`; `)}`);return Hn(i.ast?o6.and(i.ast,r):r)},Lve=(e,t)=>typeof t!=`string`||t===``?!0:typeof e!=`string`||e===``?!1:new Date(e).getTime()>new Date(t).getTime(),c6=(e,t)=>{let n=U(),r=Qp(),{resources:i,views:a}=J(),o=a[e.name],s=Object.entries(Nve(e,o,t)),c=wh({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 G0(r,n,s,o,a[s.name]))}})});return s6(e,o,t,Object.fromEntries(s.flatMap(([e],t)=>c[t]?.data?[[e,c[t].data]]:[])))},Rve=(e,t)=>({record:Object.fromEntries(Object.entries(t).filter(([t])=>Object.hasOwn(e.fields,t))),etag:typeof t.etag==`string`?t.etag:``,...typeof t.permissions==`object`&&t.permissions!==null&&{permissions:t.permissions}}),l6=e=>{let t=Qp();return(0,I.useCallback)(n=>t.setQueryData(H.recordPreview(e.name,Dr(Xb(e,n))),Rve(e,n)),[t,e])},u6={wallet:Zo,"file-text":fa,send:Gee,ruler:Uee,bed:Pee,bath:Nee,house:va,"door-open":Ki,"land-plot":Ea,leaf:Ma,tag:Fo,key:wa,calendar:mi,heart:ga,bell:ei,bookmark:ci,"external-link":na,ban:Mee},d6=e=>e!==void 0&&Object.hasOwn(u6,e)?u6[e]:void 0,f6=({benefits:e})=>e&&e.length>0?(0,R.jsx)(`ul`,{className:`flex flex-col gap-2 text-left`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,R.jsx)(bi,{className:`mt-0.5 size-4 shrink-0 text-primary`,"aria-hidden":!0}),e]},e))}):null,p6=({prompt:e})=>{let{canSignUp:t}=B(),{link:n}=Qh(),r=Af({variant:`primary`}),i=e.signUp?(0,R.jsx)(`a`,{href:e.signUp.href,target:`_blank`,rel:`noreferrer`,className:r,children:e.signUp.label}):t&&(0,R.jsx)(yu,{to:n(`sign-up`),className:r,children:z(`createAnAccount`)});return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(yu,{to:n(),className:i?Af():r,children:z(`signIn`)}),i]})},m6=e=>{let{prompt:t}=e,n=(0,I.useId)();if(e.as===`dialog`)return(0,R.jsx)(bT,{title:t.title,description:t.description,open:e.open,onClose:e.onClose,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:e.onClose,children:z(`notNow`)}),(0,R.jsx)(p6,{prompt:t})]}),children:(0,R.jsx)(f6,{benefits:t.benefits})});let r=d6(t.icon)??Wa;return(0,R.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,R.jsx)(`span`,{className:`flex size-12 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,R.jsx)(r,{className:`size-6`,"aria-hidden":!0})}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsx)(`h1`,{id:n,className:`text-lg font-semibold`,children:t.title}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:t.description})]}),(0,R.jsx)(f6,{benefits:t.benefits}),(0,R.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,R.jsx)(p6,{prompt:t})})]})},zve=rr(),h6=e=>{if(typeof e==`string`||typeof e==`number`)return e;if(e&&typeof e==`object`&&`id`in e)return h6(e.id)},Bve=(e,t,n)=>n.flatMap(n=>{let r=h6(n[t]);return r===void 0?[]:[{key:Dr(Xb(e,n)),target:r}]}),Vve=(e,t)=>e.find(e=>Dr(e.target)===t),Hve=(e,t)=>[...e,{key:``,target:t}],Uve=(e,t)=>e.filter(e=>Dr(e.target)!==t),g6=(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:zve.in(n,r)},_6=(e,t)=>H.list(e,``,``,500,`saved:${t}`),v6=(e,t,n)=>{let r=U(),i=J().resources[e];return Eh({queryKey:_6(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 Bve(i,t,n)}})},y6=a({en:{favorite:`Favorite`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`,somethingWrong:`Something went wrong`,couldNotTakeOff:`Could not take it off`,couldNotSave:`Could not save it`},nl:{favorite:`Favoriet`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`,somethingWrong:`Er ging iets mis`,couldNotTakeOff:`Kon het niet weghalen`,couldNotSave:`Kon het niet bewaren`}}),Wve=e=>e instanceof Error?e.message:y6(`somethingWrong`),Gve=(e,t,n)=>{let r=J(),i=U(),a=Qp(),o=qy(),s=nE(),{resource:c,field:l}=e,u=r.permissions[c],d=r.resources[c]!==void 0&&u!==void 0&&VT(u,`create`)&&VT(u,`delete`),f=r.signIn?.[c]?.signIn,p=v6(c,l,d),m=p.data&&Vve(p.data,t),h=_6(c,l),g=Dh({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?Uve(r,t):Hve(r,n)),{before:r}},onError:(e,t,n)=>{a.setQueryData(h,n?.before),o.show({state:`error`,title:y6(t?`couldNotTakeOff`:`couldNotSave`),description:Wve(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)}},Kve=({favorite:e,recordKey:t,target:n,className:r})=>{let i=Gve(e,t,n),[a,o]=(0,I.useState)(!1);if(!i.mode)return null;let s=e.label??y6(`favorite`),c=g(`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,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":s,"aria-haspopup":`dialog`,className:c,onClick:()=>o(!0),children:(0,R.jsx)(ga,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(m6,{as:`dialog`,prompt:i.prompt,open:a,onClose:()=>o(!1)})]}):(0,R.jsx)(`button`,{type:`button`,"aria-label":s,"aria-pressed":i.saved,"aria-disabled":!i.ready,className:c,onClick:()=>i.ready&&i.toggle(),children:(0,R.jsx)(ga,{className:g(`size-4`,i.saved&&`fill-current text-danger`),"aria-hidden":!0})})},b6=6,qve=(e,t,n)=>{let r=e.bottom+b6;return{top:r+t.height>n.height-b6?Math.max(b6,e.top-b6-t.height):r,left:Math.max(b6,Math.min(e.left,n.width-b6-t.width))}},x6=(e,t)=>{let n=Sx(e).find(e=>e.kind===`cards`);if(!n)return{kind:`cards`,name:`dot`,badge:t};let{photos:r,favorite:i,dots:a,...o}=n;return o},Jve=(e,t,n,r)=>(e?.list?.relatedColumns??[]).filter(e=>r.includes(e.name)).flatMap(e=>{let r=t[e.resource];return r?[{column:e,fields:Rx(r,n[r.name],x6(n[r.name],e.status))}]:[]}),Yve=a({en:{none:e=>`No ${e}`},nl:{none:e=>`Geen ${e}`}}),Xve=(e,{values:t,label:n,singular:r,plural:i})=>{if(e.length===0)return Yve(`none`,i);let a=new Map;for(let t of e)t!=null&&a.set(String(t),(a.get(String(t))??0)+1);let o=[...t,...[...a.keys()].filter(e=>!t.includes(e))].filter(e=>a.has(e)).map(e=>`${a.get(e)} ${n(e)}`),s=`${e.length} ${e.length===1?r:i}`;return o.length===0?s:`${s}: ${o.join(`, `)}`},S6=`flex shrink-0 items-center justify-center rounded-full p-0.5 pointer-coarse:p-1.5`,C6=`size-2.5 rounded-full`,w6=`flex min-w-0 items-center gap-0.5`,Zve=150,T6=288,Qve=({shown:e,row:t,target:n,view:r,column:i,Card:a,onEnter:o,onLeave:s})=>{let c=(0,I.useRef)(null),[l,u]=(0,I.useState)();return(0,I.useLayoutEffect)(()=>{c.current&&u(qve(e.dot,{width:T6,height:c.current.offsetHeight},{width:window.innerWidth,height:window.innerHeight}))},[e]),(0,is.createPortal)((0,R.jsx)(`div`,{ref:c,"data-dot-card":!0,onMouseEnter:o,onMouseLeave:s,style:{width:T6,...l??{visibility:`hidden`,top:0,left:0}},className:`fixed z-50 rounded-lg shadow-pop`,children:(0,R.jsx)(a,{model:n,view:r,display:x6(r,i.status),row:t})}),document.body)},E6=({column:e,records:t,target:n,view:r,wrap:i=!1,Card:a})=>{let o=(0,I.useMemo)(()=>t.map(e=>Hx(n,e)),[t,n]),[s,c]=(0,I.useState)(),l=(0,I.useRef)(void 0),u=(0,I.useRef)(`mouse`),d=(0,I.useRef)(null),f=n.fields[e.status],p=r?.fields[e.status],m=t=>f?dx(f,t.record[e.status],p):``,h=Kb(n,r),_=e=>e.labels[h]??String(e.record[h]??e.key),v=(r?.names?.singular??K(n.name)).toLowerCase(),y=(r?.names?.plural??K(n.name)).toLowerCase(),b=Xve(o.map(t=>t.record[e.status]),{values:f?.enumValues??[],label:e=>f?dx(f,e,p):e,singular:v,plural:y}),x=()=>window.clearTimeout(l.current),S=()=>{x(),l.current=window.setTimeout(()=>c(void 0),Zve)},C=(e,t)=>{x(),c({key:e,dot:t.getBoundingClientRect()})};(0,I.useEffect)(()=>x,[]),(0,I.useEffect)(()=>{if(!s)return;let e=()=>c(void 0),t=t=>t.key===`Escape`&&e(),n=t=>{let n=t.target;!d.current?.contains(n)&&!n?.closest?.(`[data-dot-card]`)&&e()};return document.addEventListener(`keydown`,t),document.addEventListener(`pointerdown`,n),document.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{document.removeEventListener(`keydown`,t),document.removeEventListener(`pointerdown`,n),document.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[s]);let w=e=>t=>{u.current===`touch`&&s?.key!==e&&(t.preventDefault(),C(e,t.currentTarget))},T=e=>{e.relatedTarget?.closest?.(`[data-dot-card]`)||S()},E=s&&o.find(e=>e.key===s.key);return(0,R.jsxs)(`div`,{ref:d,className:g(w6,i&&`pointer-events-none flex-wrap`),onClick:e=>e.stopPropagation(),onPointerDown:e=>u.current=e.pointerType,children:[(0,R.jsx)(`span`,{className:`sr-only`,children:b}),o.map(t=>{let r=t.record[e.status],i=Y0(p?.valueColors,r);return(0,R.jsx)(cS,{to:{kind:`record`,resource:n.name,key:t.key},"aria-label":`${_(t)}, ${m(t)}`,onPointerEnter:e=>e.pointerType!==`touch`&&C(t.key,e.currentTarget),onPointerLeave:e=>e.pointerType!==`touch`&&S(),onFocus:e=>e.currentTarget.matches(`:focus-visible`)&&C(t.key,e.currentTarget),onBlur:T,onClick:w(t.key),className:g(S6,`pointer-events-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40`),children:(0,R.jsx)(`span`,{"aria-hidden":!0,style:i===void 0?void 0:{backgroundColor:i},className:g(C6,i===void 0&&Nu[nx(String(r))],s?.key===t.key&&`ring-2 ring-foreground/30`)})},t.key)}),s&&E&&(0,R.jsx)(Qve,{shown:s,row:E,target:n,view:r,column:e,Card:a,onEnter:x,onLeave:S})]})},$ve=({count:e})=>(0,R.jsx)(`span`,{"aria-hidden":!0,className:g(w6,`invisible flex-wrap`),children:Array.from({length:e},(e,t)=>(0,R.jsx)(`span`,{className:S6,children:(0,R.jsx)(`span`,{className:C6})},t))}),D6=`flex flex-col gap-1.5`,eye=({dots:e})=>(0,R.jsx)(`span`,{className:D6,children:e.map(({column:e,records:t})=>(0,R.jsx)($ve,{count:t.length},e.name))}),tye=({dots:e,Card:t})=>{let{resources:n,views:r}=J();return(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-[calc(0.75rem+1px)] bottom-[calc(0.75rem+1px)] ${D6}`,children:e.map(({column:e,records:i})=>{let a=n[e.resource];return a&&(0,R.jsx)(E6,{column:e,records:i,target:a,view:r[a.name],Card:t,wrap:!0},e.name)})})},nye=(e,t,n)=>(t.dots??[]).flatMap(t=>{let r=e?.list?.relatedColumns?.find(e=>e.name===t),i=n.record[t];return r&&Array.isArray(i)&&i.length>0?[{column:r,records:i}]:[]}),O6=({value:e})=>{let t=hb(e,{width:320,height:240});return t?(0,R.jsx)(_C,{image:t,loading:`lazy`,className:`size-full object-cover`}):null},k6=({children:e})=>(0,R.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}),rye=({value:e})=>(0,R.jsx)(k6,{children:(0,R.jsx)(O6,{value:e})}),iye=10,aye=(e,t)=>{let n=ab(e)?e.uri:void 0,r=t.filter(e=>ab(e)&&e.uri!==n);return(n===void 0?r:[e,...r]).slice(0,iye)},oye=(e,t)=>t===0?0:(e%t+t)%t,sye=(e,t,n)=>t<=0||n===0?0:Math.min(n-1,Math.max(0,Math.round(e/t))),A6=`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`,j6=`[@media(hover:none)]:opacity-100`,cye=({photos:e,cover:t,swipe:n=!0,children:r})=>{let i=(0,I.useRef)(null),a=(0,I.useRef)(void 0),[o,s]=(0,I.useState)(0),c=aye(t,e),l=e=>{let t=i.current;t&&t.scrollTo({left:e*t.clientWidth})},u=e=>{a.current=oye((a.current??o)+e,c.length),l(a.current)},d=()=>{a.current=void 0},f=e=>{s(sye(e.scrollLeft,e.clientWidth,c.length)),a.current!==void 0&&Math.abs(e.scrollLeft-a.current*e.clientWidth)<1&&(a.current=void 0)},p=(0,R.jsx)(k6,{children:(0,R.jsx)(`span`,{ref:i,tabIndex:-1,"data-card-photos":!0,onPointerDown:d,onScroll:e=>f(e.currentTarget),className:g(`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:c.map((e,t)=>(0,R.jsx)(`span`,{className:`block size-full shrink-0 snap-start snap-always`,children:(0,R.jsx)(O6,{value:e})},t))})});return(0,R.jsxs)(R.Fragment,{children:[r(p),c.length>1&&(0,R.jsxs)(`div`,{className:`group/arrows pointer-events-none absolute inset-x-px top-px aspect-[4/3]`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`previousPhoto`),className:g(A6,!n&&j6,`left-2`),onClick:()=>u(-1),children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`nextPhoto`),className:g(A6,!n&&j6,`right-2`),onClick:()=>u(1),children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{className:`absolute inset-x-0 bottom-2 flex justify-center`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{className:`sr-only`,children:q(`photoOf`,o+1,c.length)}),(0,R.jsx)(`span`,{className:`flex items-center gap-1 rounded-full bg-background/70 px-1.5 py-1 leading-none`,"aria-hidden":!0,children:c.map((e,t)=>(0,R.jsx)(`span`,{className:g(`size-1.5 rounded-full`,t===o?`bg-foreground`:`bg-foreground/35`)},t))})]})]})]})},lye=({icon:e,children:t})=>{let n=d6(e);return(0,R.jsxs)(`dd`,{className:`flex items-center gap-1 tabular-nums`,children:[n&&(0,R.jsx)(n,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t]})},M6=({model:e,view:t,display:n,row:r,swipe:i=!0,mark:a})=>{let{image:o,title:s,subtitle:c,amount:l,badge:u,meta:d,footer:f,flags:p}=Nx(e,t,n),m=e=>t?.fields[e]?.label??K(e),h=n=>{let i=e.fields[n];if(!i)return``;let a=r.record[n];return r.labels[n]===void 0&&Ub(i,t?.fields[n])&&typeof a==`string`&&a!==``?Hb(a):r.labels[n]??dx(i,a,t?.fields[n])},{fields:g,components:_}=wC(),v=l6(e),y=n.card===void 0?void 0:_?.[n.card],b=n=>{let i=e.fields[n],a=i&&TC(g,i,t?.fields[n]);return a?(0,R.jsx)(kC,{shown:a,part:`display`,field:i,value:r.record[n],fallback:h(n)}):h(n)},x=n=>{let i=e.fields[n],a=r.record[n];return!i||!Ub(i,t?.fields[n])||TC(g,i,t?.fields[n])||typeof a!=`string`||a===``?b(n):(0,R.jsx)(jC,{source:a,inLink:!0})},S=n=>{let i=e.fields[n],a=t?.fields[n],o=r.record[n];return!i||a?.format!==`badge`||TC(g,i,a)||o==null||o===``?b(n):(0,R.jsx)(X0,{value:o,hints:a,children:h(n)})},C=n=>{let i=e.fields[n];if(!i)return;if(r.labels[n]!==void 0||TC(g,i,t?.fields[n]))return(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:b(n)});let a=Ix(i,r.record[n],t?.fields[n]);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`strong`,{className:`font-semibold text-foreground`,children:a.amount}),a.suffix]})},w=y?void 0:n.photos,T=u===void 0?void 0:r.record[u],E=p.filter(e=>r.record[e]===!0),D=o===void 0?void 0:r.record[o],O=Fx(r,l),k=Px(r,f),A=o!==void 0||w!==void 0,j=n.favorite,M=y?[]:nye(t,n,r),N=e=>(0,R.jsxs)(R.Fragment,{children:[A&&e,(0,R.jsxs)(`span`,{className:`flex items-start justify-between gap-2 ${j&&!A?`pr-8`:``}`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:b(s)}),u!==void 0&&T!=null&&(0,R.jsx)(X0,{value:T,hints:t?.fields[u],children:h(u)})]}),c!==void 0&&(0,R.jsx)(`span`,{className:t?.fields[c]?.markdown?`line-clamp-3 break-words text-muted-foreground`:t?.fields[c]?.multiline?`line-clamp-3 whitespace-pre-line break-words text-muted-foreground`:`truncate text-muted-foreground`,children:x(c)}),O!==void 0&&(0,R.jsx)(`span`,{className:`truncate tabular-nums text-muted-foreground`,children:C(O)}),d.length>0&&(0,R.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:Px(r,d).map(e=>(0,R.jsxs)(`div`,{className:`flex gap-1`,children:[(0,R.jsx)(`dt`,{className:`sr-only`,children:m(e)}),(0,R.jsx)(lye,{icon:t?.fields[e]?.icon,children:S(e)})]},e))}),E.length>0&&(0,R.jsx)(`ul`,{className:`flex flex-wrap gap-1`,"aria-label":q(`features`),children:E.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(Fu,{dot:!1,children:m(e)})},e))}),k.length>0&&(0,R.jsx)(`span`,{className:`truncate text-xs text-muted-foreground ${d.length>0?``:`mt-auto`}`,children:k.map((e,t)=>(0,R.jsxs)(`span`,{children:[t>0&&(0,R.jsx)(`span`,{"aria-hidden":!0,children:` • `}),b(e)]},e))}),M.length>0&&(0,R.jsx)(eye,{dots:M})]}),ee=t=>(0,R.jsxs)(cS,{to:{kind:`record`,resource:e.name,key:r.key},onClick:()=>v(r.record),className:`flex h-full flex-col gap-1.5 rounded-lg border border-border bg-background p-3 hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,children:[a&&!A&&(0,R.jsx)(Fu,{tone:`blue`,className:`self-start`,children:a}),y?(0,R.jsx)(mg,{name:n.card,fallback:N(t),children:(0,R.jsx)(y,{row:r})}):N(t)]});return(0,R.jsxs)(`div`,{className:w?`group/card relative h-full`:j||a||M.length>0?`relative h-full`:`h-full`,children:[w?(0,R.jsx)(cye,{photos:r.photos??[],cover:D,swipe:i,children:ee},r.key):ee((0,R.jsx)(rye,{value:D})),a&&A&&(0,R.jsx)(Fu,{tone:`blue`,className:`pointer-events-none absolute top-2 left-2 shadow-sm`,children:a}),M.length>0&&(0,R.jsx)(tye,{dots:M,Card:M6}),j&&(0,R.jsx)(Kve,{favorite:j,recordKey:r.key,target:Xb(e,r.record),className:A?void 0:`right-1.5 top-1.5`})]})},N6=268,P6=3,F6=(e,t,n)=>{let r=Math.floor(Math.max(0,e)/N6),i=Math.ceil((Math.max(0,e)+t)/N6);return{start:Math.max(0,r-P6),end:Math.min(n,i+P6)}},I6=e=>e*N6,uye=e=>{let t=(0,I.useRef)(null),[n,r]=(0,I.useState)({left:0,width:0});(0,I.useLayoutEffect)(()=>{let n=t.current;if(!n)return;let i=()=>r(t=>{let r={left:n.scrollLeft,width:n.clientWidth};return((t,n)=>{let[r,i]=[F6(t.left,t.width,e),F6(n.left,n.width,e)];return r.start===i.start&&r.end===i.end&&t.width===n.width&&t.left>0==n.left>0&&Math.abs(t.left-n.left)<1})(t,r)?t:r});i();let a=new ResizeObserver(i);return a.observe(n),n.addEventListener(`scroll`,i,{passive:!0}),()=>{a.disconnect(),n.removeEventListener(`scroll`,i)}},[e]);let i=Math.max(0,I6(e)-12),a=e=>t.current?.scrollBy({left:e*Math.max(I6(1),n.width-12),behavior:`smooth`});return{ref:t,...F6(n.left,n.width,e),back:n.left>0,on:n.left+n.width<i-1,page:a}},L6=a({en:{couldNotLoad:`Could not load`,noneMatch:e=>`No ${e} match.`,viewAll:`View all`,new:`New`,previous:e=>`Previous ${e}`,next:e=>`Next ${e}`,couldNotLoadYour:e=>`Could not load your ${e}`,noneYet:e=>`No ${e} yet.`},nl:{couldNotLoad:`Kon niet laden`,noneMatch:e=>`Geen ${e} gevonden.`,viewAll:`Alles bekijken`,new:`Nieuw`,previous:e=>`Terug in ${e}`,next:e=>`Verder in ${e}`,couldNotLoadYour:e=>`Kon je ${e} niet laden`,noneYet:e=>`Nog geen ${e}.`}}),R6=`absolute top-1/2 z-10 hidden size-8 -translate-y-1/2 items-center justify-center rounded-full border border-border-strong bg-background shadow-pop hover:bg-muted sm:flex`,z6=({cards:e})=>e>0?(0,R.jsx)(`li`,{"aria-hidden":!0,className:`shrink-0`,style:{width:I6(e)-12}}):null,dye=({model:e,view:t,display:n,source:r,label:i,isNew:a})=>{let{total:o}=r,s=uye(o),c=Q4({total:o,rowAt:r.rowAt,loadRows:r.loadRows,revision:r.revision,latencyMs:0},s.start,Math.max(s.start,s.end-1)),l=Array.from({length:s.end-s.start},(e,t)=>s.start+t);return(0,R.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,R.jsxs)(`ul`,{ref:s.ref,"aria-label":i,className:`relative flex snap-x gap-3 overflow-x-auto overflow-y-hidden pb-1`,style:{scrollbarWidth:`thin`},children:[(0,R.jsx)(z6,{cards:s.start}),l.map(r=>{let i=c(r);if(!i)return(0,R.jsx)(`li`,{"aria-hidden":!0,className:`shrink-0`,style:{width:256},children:(0,R.jsx)(_u,{className:`h-full min-h-24 rounded-lg`})},`skeleton-${r}`);let s=Hx(e,i);return(0,R.jsx)(`li`,{"aria-posinset":r+1,"aria-setsize":o,className:`grid shrink-0 snap-start grid-cols-[minmax(0,1fr)]`,style:{width:256},children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:s,swipe:!1,mark:a?.(s)?L6(`new`):void 0})},s.key)}),(0,R.jsx)(z6,{cards:o-s.end})]}),s.back&&(0,R.jsx)(`button`,{type:`button`,"aria-label":L6(`previous`,i.toLowerCase()),onClick:()=>s.page(-1),className:`${R6} -left-3`,children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),s.on&&(0,R.jsx)(`button`,{type:`button`,"aria-label":L6(`next`,i.toLowerCase()),onClick:()=>s.page(1),className:`${R6} -right-3`,children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})})]})},fye=rr(),pye=(e,t)=>{if(!t)return e;let n=ln(e);if(!n.ok)throw Error(`The filter cannot be read: ${n.errors.map(e=>e.message).join(`; `)}`);return Hn(n.ast?fye.and(n.ast,t):t)},mye=(e,t)=>{let n=Sx(e).filter(e=>e.kind===`cards`);return n.find(e=>e.name===t)??n[0]??{kind:`cards`,name:`cards`}},hye=()=>(0,R.jsx)(`div`,{className:`flex gap-3 overflow-hidden`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-24 w-64 shrink-0`},t))}),B6=({model:e,view:t,filter:n,sort:r=``,display:i,limit:a,chips:o=!0,empty:s,note:c,isNew:u,viewAll:d,scope:f,list:p})=>{let{resources:m,views:h}=J(),g=uu(),_=mye(t,i),v=r||Ux(e,t),y=m3({resources:m,views:h,model:e,columns:(0,I.useMemo)(()=>zx(e,t,[]),[e,t]),filter:(0,I.useMemo)(()=>pye(n,f),[n,f]),orderBy:v}),b=c6(e,n),x=(t?.names?.singular??K(e.name)).toLowerCase(),S=t?.names?.plural??K(e.name),C=y.source?.total,w=(0,I.useMemo)(()=>y.source&&{...y.source,total:Math.min(y.source.total,a??1/0)},[y.source,a]);return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[o&&b.length>0||C!==void 0||c?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[o&&b.length>0?(0,R.jsx)(v3,{chips:b}):(0,R.jsx)(`span`,{}),(0,R.jsxs)(`p`,{className:`flex flex-wrap gap-x-3 text-muted-foreground`,children:[c&&(0,R.jsx)(`span`,{children:c}),C!==void 0&&(0,R.jsx)(`span`,{className:`tabular-nums`,children:`${C.toLocaleString(l())} ${C===1?x:S.toLowerCase()}`})]})]}):null,y.isLoading?(0,R.jsx)(hye,{}):y.error?(0,R.jsx)(XS,{title:L6(`couldNotLoad`),error:y.error}):!w||w.total===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:s??L6(`noneMatch`,S.toLowerCase())}):(0,R.jsx)(dye,{model:e,view:t,display:_,source:w,label:S,isNew:u}),(0,R.jsxs)(cS,{to:g3(e,t,g,{filter:n,orderBy:v,display:_.name,savedSearch:d?.savedSearch,resource:p}),onClick:d?.onOpen,className:`flex items-center gap-1 self-end font-medium text-primary-text hover:underline`,children:[d?.label??(0,R.jsxs)(R.Fragment,{children:[L6(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:S.toLowerCase()})]}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]})]})},gye=({model:e,view:t,empty:n,...r})=>{let{resources:i,views:a}=J(),o=Kx(i,a,e.name),s=v6(e.name,t.listOf,!0),c=(t.names?.plural??K(e.name)).toLowerCase();if(!o.listOf)return null;if(s.error)return(0,R.jsx)(XS,{title:L6(`couldNotLoadYour`,c),error:s.error});if(!s.data)return(0,R.jsx)(_u,{className:`h-24`});let l=g6(o.model,s.data);return l?(0,R.jsx)(B6,{...r,model:o.model,view:o.view,filter:``,scope:l,list:e.name,empty:n}):(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n??L6(`noneYet`,c)})},_ye=e=>H.list(e,``,``,500,`saved-searches`),V6=(e,t)=>{let n=U(),{resources:r,views:i}=J(),a=r[e];return Eh({queryKey:_ye(e),enabled:t&&a!==void 0,queryFn:async()=>{let t=[],r;do{let o=await n.list(e,{pageSize:500,orderBy:Ux(a,i[e]),...r&&{pageToken:r}});t.push(...o.items),r=o.nextPageToken||void 0}while(r);return t}})},H6=({model:e,of:t,target:n,targetView:r,row:i,recordKey:a})=>{let o=U(),s=nE(),c=String(i[t.filter]??``),l=c6(n,c),u=t.name===void 0?void 0:i[t.name],d=typeof u==`string`&&u!==``?u:void 0,f=t.unseen,p=Dh({mutationFn:t=>o.update(e.name,a,{[f.seenAt]:t},i.etag??`*`),onSettled:()=>s(e.name)}),m=Eh({...QT(o,n,f?Ive(c,f.field,i[f.seenAt]):``),enabled:f!==void 0}),h=(r?.names?.plural??K(n.name)).toLowerCase(),g={model:n,view:r,filter:c,sort:f?`${f.field} desc`:void 0,limit:t.limit,chips:d!==void 0,empty:Q(`noneMatch`,h),note:f&&m.data===0&&Q(`noNew`,h),isNew:f&&(e=>Lve(e.record[f.field],i[f.seenAt])),viewAll:{label:Q(`viewAll`),savedSearch:a,...f&&{onOpen:()=>p.mutate(new Date().toISOString())}}};return{name:d,chips:l,title:d??ave(l),body:g}},vye=({model:e,view:t,target:n,targetView:r,row:i})=>{let a=Dr(Xb(e,i)),{name:o,chips:s,title:c,body:l}=H6({model:e,of:t.searchesOf,target:n,targetView:r,row:i,recordKey:a});return(0,R.jsxs)(`section`,{"aria-label":c,className:`flex flex-col gap-3 py-4 first:pt-0 last:pb-0`,children:[(0,R.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:a},className:`hover:underline`,children:o??(0,R.jsx)(y3,{chips:s})})}),(0,R.jsx)(B6,{...l})]})},yye=({model:e,view:t,empty:n})=>{let{resources:r,views:i}=J(),a=t.searchesOf,o=r[a.resource],s=V6(e.name,!0),c=(t.names?.plural??K(e.name)).toLowerCase();return o?s.error?(0,R.jsx)(XS,{title:Q(`couldNotLoadYour`,c),error:s.error}):s.data?s.data.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n??Q(`noneYet`,c)}):(0,R.jsx)(`div`,{className:`flex flex-col divide-y`,children:s.data.map(n=>(0,R.jsx)(vye,{model:e,view:t,target:o,targetView:i[a.resource],row:n},Dr(Xb(e,n))))}):(0,R.jsx)(_u,{className:`h-40`}):null},bye=({node:e,slots:t})=>{let{resource:n,filter:r=``,sort:i,limit:a,display:o,title:s,description:c,empty:l}=oE(e),{resources:u,views:d}=J(),f=u[n];if(!f)return null;let p=d[f.name];return(0,R.jsx)(lE,{title:s,description:c,actions:t.actions,children:p?.searchesOf?(0,R.jsx)(yye,{model:f,view:p,empty:l}):p?.listOf===void 0?(0,R.jsx)(B6,{model:f,view:p,filter:r,sort:i,limit:a,display:o,empty:l}):(0,R.jsx)(gye,{model:f,view:p,limit:a,display:o,empty:l})})},U6=(e,t)=>{let{resources:n}=J(),r=U(),i=JSON.stringify(e),a=(0,I.useMemo)(()=>JSON.parse(i).map(hc),[i]),o=e=>!!(t&&Object.hasOwn(t.model.fields,e)),s=[...new Set(a.flatMap(e=>e.ok?e.paths:[]))],c=new Map(s.flatMap(e=>{let t=_c(e,o);return t===void 0?[]:[[e,t]]})),l=s.filter(e=>!c.has(e)),u=[...new Set(c.values())].flatMap(e=>n[e]?[n[e]]:[]),d=kme(t,l),f=wh({queries:u.map(e=>QT(r,e))});return a.map(e=>{if(!e.ok)return!1;let t={};for(let n of e.paths){let e=c.get(n);if(e===void 0){let e=d[l.indexOf(n)];if(e.state===`loading`)return;e.state===`ready`&&(t[n]=e.value);continue}let r=u.findIndex(t=>t.name===e);if(r===-1)t[n]=0;else if(f[r].isPending)return;else t[n]=f[r].data??0}return gc(e,t)})},xye=({node:e,children:t})=>{let{when:n}=oE(e),[r]=U6([n],BT());return r?(0,R.jsx)(R.Fragment,{children:t}):null},W6=`text-2xl font-semibold tracking-tight tabular-nums`,Sye=({model:e,filter:t})=>{let{views:n}=J(),r=$T(e,t);return r.isPending?(0,R.jsx)(_u,{className:`h-8 w-16`}):r.error?(0,R.jsx)(`span`,{className:`text-danger-text`,children:pg(`couldNotCount`)}):(0,R.jsx)(cS,{to:OE(n[e.name],e.name,t),className:`${W6} hover:text-primary-text after:absolute after:inset-0 after:content-['']`,children:r.data.toLocaleString(l())})},Cye=({field:e,format:t})=>{let n=t2(BT(),e);return n.state===`loading`?(0,R.jsx)(_u,{className:`h-8 w-16`}):n.state===`missing`?null:(0,R.jsx)(`span`,{className:W6,children:(0,R.jsx)(Z0,{model:n.model,field:n.field,value:n.value,format:t})})},wye=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=oE(e),{resources:c}=J(),l=r===void 0?void 0:c[r];return(0,R.jsxs)(lE,{className:`relative h-full`,bodyClassName:`flex flex-col`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground break-words`,children:t}),(0,R.jsxs)(`div`,{className:`mt-auto pt-1`,children:[n!==void 0&&(0,R.jsx)(`span`,{className:W6,children:n}),l&&(0,R.jsx)(Sye,{model:l,filter:i}),a!==void 0&&(0,R.jsx)(Cye,{field:a,format:o})]}),s&&(0,R.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},G6=(e,t)=>{let n=e.position;if(!n||!VT(t,`update`))return;let r=e.fields[n.field];return r&&!r.readOnly?n.field:void 0},K6=(e,t)=>e.position?.within===void 0?G6(e,t):void 0,Tye=(e,t,n)=>t.position?.within!==void 0&&e.field===t.position.within&&!e.through&&!e.from&&!e.filter?G6(t,n):void 0,Eye=(e,t,n,r)=>{if(t===void 0||e?.list?.drag?.rank!==!0||r!==``)return!1;let i=Wx(n);return i.columnId===t&&i.direction===`asc`},q6=e=>e===null?`none`:`value:${e}`,J6=e=>e.data.current?.sortable!==void 0,Y6=e=>{let t=Aie(e),n=t.find(e=>e.data?.droppableContainer&&J6(e.data.droppableContainer));return n?[n]:t.length>0?t:w_(e)},Dye=(e,{context:{collisionRect:t,droppableRects:n,droppableContainers:r,over:i}})=>{let a=e.code===`ArrowRight`?1:e.code===`ArrowLeft`?-1:0;if(a===0||!t)return;e.preventDefault();let o=r.getEnabled(),s=o.filter(e=>!J6(e)).flatMap(e=>{let t=n.get(e.id);return t?[{id:e.id,rect:t}]:[]}).sort((e,t)=>e.rect.left-t.rect.left),c=t.left+t.width/2,l=i?.data.current?.sortable?.containerId??i?.id,u=l===void 0?s.findIndex(e=>e.rect.left<=c&&c<=e.rect.right):s.findIndex(e=>e.id===l),d=s[u+a];if(u===-1||!d)return;let f=X6(o,n,d.id)[0];return{x:d.rect.left+(d.rect.width-t.width)/2,y:f?.rect.top??d.rect.top}},X6=(e,t,n)=>e.filter(e=>e.data.current?.sortable?.containerId===n).flatMap(e=>{let n=t.get(e.id);return n?[{id:e.id,rect:n}]:[]}).sort((e,t)=>e.rect.top-t.rect.top),Oye=(e,t)=>{let n=e.code===`ArrowDown`?1:e.code===`ArrowUp`?-1:0;if(n===0)return Dye(e,t);let{droppableRects:r,droppableContainers:i,over:a}=t.context,o=a?.data.current?.sortable?.containerId??a?.id;if(o===void 0)return;let s=X6(i.getEnabled(),r,o),c=s[(a?.id===o?s.length:s.findIndex(e=>e.id===a?.id))+n];if(c)return e.preventDefault(),{x:c.rect.left,y:c.rect.top}},Z6=(e,t,n,r)=>{let i=Oh({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=>Hx(e,t))),total:a[0]?.total??0,loading:i.isPending,error:i.error,more:i.hasNextPage,loadMore:()=>void i.fetchNextPage()}},kye=({model:e,by:t,value:n,fields:r,filter:i,orderBy:a})=>{let{resources:o,views:s}=J(),c=m3({resources:o,views:s,model:e,columns:r,filter:yx(i,t,n),orderBy:a});return Z6(e,c.page,c.key,!0)},Aye=(e,t)=>{if(!t)return e;let n=new Map(e.map(e=>[e.key,e])),r=new Set(t);return[...t.flatMap(e=>n.get(e)??[]),...e.filter(e=>!r.has(e.key))]},jye=({model:e,view:t,display:n,column:r,fields:i,filter:a,orderBy:o,limit:s,moves:c,movable:u,placeable:d,dragged:f})=>{let p=kye({model:e,by:n.by,value:r.value,fields:i,filter:a,orderBy:o}),m=bx(e,t,n),h=new Set(p.rows.map(e=>e.key)),_=new Map(c.map(e=>[e.row.key,e])),v=p.rows.filter(e=>_.has(e.key)&&_.get(e.key).to!==r.value),y=c.filter(e=>e.to===r.value&&!h.has(e.row.key)).map(e=>e.row),b=p.rows.filter(e=>!v.includes(e)).map(e=>_.has(e.key)?_.get(e.key).row:e),x=c.findLast(e=>e.to===r.value&&e.order),S=Aye([...y,...b],x?.order).slice(0,s),{setNodeRef:C,isOver:w}=jv({id:q6(r.value),data:{column:r,rows:S}}),T=p.total-v.length+y.length;if(r.value===null&&!p.loading&&T===0&&!w)return null;let E=(t?.names?.plural??K(e.name)).toLowerCase(),D=t?.fields[n.by];return(0,R.jsxs)(`section`,{ref:C,"aria-label":`${r.label}, ${T}`,className:g(`flex w-72 shrink-0 snap-start flex-col gap-2 rounded-lg bg-surface p-2`,w&&`ring-2 ring-primary/30`),children:[(0,R.jsxs)(`header`,{className:`flex items-center justify-between gap-2 px-1 pt-0.5`,children:[(0,R.jsx)(`h2`,{className:`min-w-0 truncate text-body font-medium`,children:r.value===null?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:r.label}):(0,R.jsx)(X0,{value:r.value,hints:D,children:r.label})}),!p.loading&&(0,R.jsx)(`span`,{className:`text-xs tabular-nums text-muted-foreground`,children:T.toLocaleString(l())})]}),p.loading?Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-20`},t)):p.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:p.error}):S.length===0?(0,R.jsx)(`p`,{className:`px-1 py-4 text-center text-xs text-muted-foreground`,children:q(`noPlural`,E)}):(0,R.jsx)(ty,{id:q6(r.value),items:S.map(e=>e.key),strategy:Zv,children:(0,R.jsx)(`ul`,{className:`-mb-2 flex flex-col`,children:S.map(n=>(0,R.jsx)(Mye,{model:e,view:t,card:m,row:n,column:r,rows:S,draggable:(u||d)&&HT(n.record,`update`),placeable:d,dragged:f},n.key))})}),s===void 0&&p.more&&(0,R.jsx)(V,{size:`sm`,variant:`ghost`,onClick:p.loadMore,children:q(`showMore`)})]})},Mye=({model:e,view:t,card:n,row:r,column:i,rows:a,draggable:o,placeable:s,dragged:c})=>{let{setNodeRef:l,setActivatorNodeRef:u,listeners:d,isDragging:f,isOver:p,active:m,transform:h,transition:_}=ly({id:r.key,data:{row:r,column:i,rows:a},disabled:{draggable:!o,droppable:!s}}),v=p&&m?.data.current?.column?.value!==i.value;return(0,R.jsx)(`li`,{ref:e=>{l(e),u(e?.querySelector(`a`)??e)},...d,onDragStart:e=>e.preventDefault(),onClickCapture:e=>{c()&&(e.preventDefault(),e.stopPropagation())},style:{transform:h?`translate3d(${h.x}px, ${h.y}px, 0)`:void 0,transition:_},className:g(`relative pb-2`,o&&`cursor-grab touch-manipulation`,f&&`opacity-40`,v&&`before:absolute before:inset-x-0 before:-top-1 before:h-0.5 before:rounded-full before:bg-primary`),children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:r,swipe:!1})})},Q6=e=>e.kind===`and`?e.args.flatMap(Q6):[e],$6=e=>e.kind===`string`?String(e.value):void 0,Nye=(e,t)=>{if(e.kind===`compare`&&e.op===`=`&&e.field.path.join(`.`)===t){let t=$6(e.value);return t===void 0?void 0:[t]}if(e.kind===`in`&&e.field.path.join(`.`)===t){let t=e.values.map($6);return t.every(e=>e!==void 0)?t:void 0}},Pye=(e,t,n)=>{let r=ln(e);if(!r.ok||!r.ast)return n;let i=Q6(r.ast).map(e=>Nye(e,t)).filter(e=>e!==void 0);return n.filter(e=>i.every(t=>e.value!==null&&t.includes(e.value)))},e8=(e,t)=>t!==null&&Object.hasOwn(e,t)?e[t]:void 0,t8=a({en:{done:`Done`,reorder:`Reorder`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`,couldNotChange:`Could not change the order`,orderChanged:`Order changed`,undo:`Undo`,couldNotUndo:`Could not undo`,movedToPlace:e=>`Moved to place ${e}`,notMoved:`Left in its place`,noRule:`No drop rule is registered as {}. Give it in dropRules in protobase.ui.tsx, or load the plugin that provides it.`},nl:{done:`Klaar`,reorder:`Volgorde wijzigen`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`,couldNotChange:`Kon de volgorde niet wijzigen`,orderChanged:`Volgorde gewijzigd`,undo:`Ongedaan maken`,couldNotUndo:`Kon niet ongedaan maken`,movedToPlace:e=>`Verplaatst naar plaats ${e}`,notMoved:`Op zijn plaats gelaten`,noRule:`Er is geen sleepregel geregistreerd als {}. Geef die in dropRules in protobase.ui.tsx, of laad de plug-in die haar levert.`}}),n8=(e,t,n)=>t.flatMap(({before:t,record:r,etag:i})=>{let a=n.filter(e=>Object.hasOwn(t,e)&&t[e]!==r[e]);return a.length===0?[]:[{op:`update`,resource:e.name,key:Xb(e,r),data:Object.fromEntries(a.map(e=>[e,t[e]])),etag:i}]}),r8=async(e,t,n)=>{let r=[],i=``;do{let a=await e.search(t,{filter:n,pageSize:100,...i&&{pageToken:i}});r.push(...a.items),i=a.nextPageToken}while(i);return r},i8=(e,t)=>t===void 0?e:`(${e}) AND (${t})`,a8=async(e,t,n,r)=>{let i=t.position?.after;if(!i)return{after:[],before:[]};let a=t.primaryKey[0],o=Xb(t,r),s=e=>Dr([e]),c=await r8(e,i.resource,i8(Hn(ir.or(ir.eq(i.field,o),ir.eq(i.key,o))),i.filter)),l=(e,t)=>c.flatMap(n=>s(n[e])===s(o)&&s(n[t])!==s(o)?[n[t]]:[]),u=l(i.field,i.key),d=l(i.key,i.field),[f,p]=await Promise.all([r8(e,t.name,i8(Hn(ir.in(a,[o,...u])),i.while)),d.length===0?[]:r8(e,t.name,Hn(ir.in(a,d)))]),m=e=>{let r=Dr(Xb(t,e));return{key:r,rank:e[t.position.field],title:qb(t,n,e,r)}},h=f.some(e=>s(e[a])===s(o));return{after:f.filter(e=>s(e[a])!==s(o)).map(m),before:h?p.map(m):[]}},o8=e=>typeof e==`number`&&Number.isInteger(e),s8=(e,t,n)=>{let r=0;for(;r<t&&o8(e[r])&&(r===0||e[r]>e[r-1]);)r+=1;let i=e.length;for(;i-1>n&&o8(e[i-1])&&(i===e.length||e[i-1]<e[i]);)--i;let a=Math.min(t,r),o=a===0?1:e[a-1]+1,s=Math.max(n,i-1);for(;s+1<e.length&&e[s+1]<=o+(s-a);)s+=1;return{first:a,last:s,start:o}},Fye=(e,t,n)=>{let r=e.findIndex(e=>e.key===t.key);return r===-1?[...e.slice(0,n),t,...e.slice(n)]:Wv(e,r,n)},c8=(e,t,n)=>{let r=e.findIndex(e=>e.key===t.key);return{order:Fye(e,t,n),first:r===-1?n:Math.min(r,n),last:r===-1?n:Math.max(r,n)}},l8=e=>typeof e.record.etag==`string`?e.record.etag:`*`,Iye=(e,t,n,r,i,a,o,s,c)=>{let l=(r.record[t]??null)!==i.value,u=s8(a.map(e=>e.record[n]),o,s),d=a.slice(u.first,u.last+1),f=e=>l&&e.key===r.key?`*`:l8(e),p=(t,r)=>({op:`reorder`,resource:e.name,field:n,keys:t.map(t=>Xb(e,t.record)),start:r,etags:Object.fromEntries(t.map(t=>[Dr(Xb(e,t.record)),f(t)]))}),m=d.filter(e=>e.key!==r.key),h=c===void 0?[p(d,u.start)]:[p([r],c),...m.length>0?[p(m,u.start)]:[]];return l?[{op:`update`,resource:e.name,key:Xb(e,r.record),data:{[t]:i.value},etag:l8(r)},...h]:h},Lye=(e,t,n)=>{let r=new Map(t.map(t=>[Dr(Xb(e,t.record)),t.record])),i=new Map;for(let t of n.results){let n=t.op===`reorder`?t.records:t.op===`update`?[t]:[];for(let{record:t,etag:r}of n)i.set(Dr(Xb(e,t)),{record:t,etag:r})}return[...i].flatMap(([e,t])=>{let n=r.get(e);return n?[{before:n,...t}]:[]})},u8=a({en:{dependsOn:(e,t)=>`${e} depends on ${t}.`},nl:{dependsOn:(e,t)=>`${e} hangt af van ${t}.`}}),d8=e=>e!=null&&e!==``,Rye=({model:e,rank:t,rows:n,row:r,index:i,bounds:a,title:o})=>{let s=n.some(e=>e.key===r.key)?n.length-1:n.length,c;for(let l=i;l<=s;l++){let{order:i,first:u,last:d}=c8(n,r,l),f=i.map(e=>e.record[t]),p=s8(f,u,d),m=new Map(i.map((t,n)=>[Dr(Xb(e,t.record)),n>=p.first&&n<=p.last?p.start+n-p.first:f[n]])),h=e=>m.has(e.key)?m.get(e.key):e.rank,g=Number(m.get(Dr(Xb(e,r.record)))),_=a.after.filter(e=>d8(h(e))&&Number(h(e))>=g),v=a.before.find(e=>d8(h(e))&&Number(h(e))<=g),y=v?u8(`dependsOn`,v.title,o):_[0]&&u8(`dependsOn`,o,_[0].title);if(!y)return{place:{index:l},...c!==void 0&&{reason:c}};if(c??=y,l!==s||v)continue;let b=Math.max(..._.map(e=>Number(h(e))))+1;if(a.before.every(e=>!d8(h(e))||Number(h(e))>b))return{place:{index:l,bump:b},reason:c}}return{reason:c}},zye=({model:e,view:t,by:n,rank:r,drop:i,labelOf:a,titleOf:o})=>{let s=U(),c=qy(),l=nE(),[u,d]=(0,I.useState)([]),f=(0,I.useRef)(void 0),p=e=>d(t=>t.filter(t=>t.row.key!==e)),m=r?[n,r]:[n],h=Dh({mutationFn:e=>e(),onError:e=>c.show({state:`error`,title:q(`couldNotUndo`),description:xx(e)}),onSettled:()=>l(e.name)}),g=async(t,r)=>{let a=i&&e8(i,r.value);if(!a)throw Error(`The column ${r.label} takes no cards`);let o=Xb(e,t.record),c=typeof t.record.etag==`string`?t.record.etag:`*`,l=await a({resource:e.name,record:t.record,recordKey:o,etag:c,to:r.value,client:s});return{landed:(await s.get(e.name,o)).record[n]??null,...l&&{undo:l}}},_=(t,n)=>({landed:n.value,undo:()=>s.batchWrite(n8(e,t,m))}),v=(e,t,r)=>{let i={...e,record:{...e.record,[n]:t.value}},a=r?.map(e=>e.key);d(n=>[...n.filter(t=>t.row.key!==e.key),{row:i,to:t.value,...a&&{order:a}}])},y=async(n,i,a)=>{if(!e.position?.after)return{index:a.index};let l=await a8(s,e,t,n.record),u=Rye({model:e,rank:r,rows:a.rows,row:n,index:a.index,bounds:l,title:o(n)}),d=!u.place||u.place.bump===void 0&&u.place.index===a.rows.findIndex(e=>e.key===n.key);if(u.reason!==void 0&&c.show({state:`warning`,title:d?t8(`notMoved`):t8(`movedToPlace`,u.place.index+1),description:u.reason}),!d)return u.place.index!==a.index&&v(n,i,c8(a.rows,n,u.place.index).order),u.place},b=async(t,i,a)=>{let o=await y(t,i,a);if(!o)return;let{order:c,first:l,last:u}=c8(a.rows,t,o.index);return _(Lye(e,c,await s.batchWrite(Iye(e,n,r,t,i,c,l,u,o.bump))),i)},x=Dh({mutationFn:async({row:t,to:a,place:o})=>{if(o&&!r)throw Error(`A board places a card only by its rank`);let c=t.record[n]??null;if(i&&a.value!==c)return g(t,a);if(o)return b(t,a,o);let l=typeof t.record.etag==`string`?t.record.etag:`*`,u=await s.update(e.name,Xb(e,t.record),{[n]:a.value},l);return _([{before:t.record,record:u.record,etag:u.etag}],a)},onMutate:({row:e,to:t,place:n})=>v(e,t,n&&c8(n.rows,e,n.index).order),onSuccess:(e,{row:t,to:r})=>{if(!e)return;let{landed:i,undo:o}=e;f.current!==void 0&&c.dismiss(f.current),f.current=void 0;let s=t.record[n]??null,l=i===s?s===r.value?q(`orderChanged`):q(`stayedIn`,a(i)):q(`movedTo`,a(i));if(!o){c.show({state:`success`,title:l});return}let u=c.show({state:`success`,title:l,action:{label:q(`undo`),onClick:()=>{c.dismiss(u),f.current=void 0,h.mutate(o)}}});f.current=u},onError:(e,{row:t,to:r})=>{p(t.key);let i=(t.record[n]??null)===r.value?q(`couldNotReorder`):q(`couldNotMoveTo`,r.label);c.show({state:`error`,title:i,description:xx(e)})},onSettled:async(t,n,{row:r})=>{await l(e.name),p(r.key)}});return{moves:u,move:(e,t,n)=>x.mutate({row:e,to:t,...n&&{place:n}})}},f8=(e,t)=>{let n=e.data.current;if(!n?.column||!n.rows)return;if(n.sortable)return{column:n.column,rows:n.rows,index:n.sortable.index};let r=n.rows.some(e=>e.key===t.key);return{column:n.column,rows:n.rows,index:r?n.rows.length-1:n.rows.length}},p8=({model:e,view:t,display:n,fields:r,filter:i,orderBy:a,limit:o})=>{let s=_x(e,t,n),c=Pye(i,n.by,s),l=bx(e,t,n),u=oS(e.name),{boardDrops:d}=wC(),f=t?.list?.drag,p=typeof f?.board==`string`?f.board:void 0,m=p===void 0?void 0:d?.[p],h=t=>VT(u,`update`)&&(f?.board===!0?!e.fields[n.by]?.readOnly:m!==void 0&&e8(m,t)!==void 0),g=c.some(e=>h(e.value)),_=vx(e),v=f?.rank===!0&&_!==void 0&&K6(e,u)!==void 0,y=_?`${_} asc`:a,b=e=>s.find(t=>t.value===e)?.label??String(e),x=e=>String(e.labels[l.title]??e.record[l.title]??e.key),{moves:S,move:C}=zye({model:e,view:t,by:n.by,rank:_,drop:m,labelOf:b,titleOf:x}),[w,T]=(0,I.useState)(),E=(0,I.useRef)(!1),D=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:Oye}));if(p!==void 0&&!m)return(0,R.jsx)(fg,{children:Kh(q(`noDrop`),p)});let O=e=>c.find(t=>q6(t.value)===e),k=e=>e.record[n.by]??null,A=(e,t)=>h(k(e))&&h(t.value),j=(e,t)=>{if(!t)return{over:q(`noColumn`)};let n=v?f8(t,e):void 0;if(!n)return{over:O(t.id)?.label??q(`noColumn`)};let r=n.rows.some(t=>t.key===e.key)?n.rows.length:n.rows.length+1;return{over:q(`placeOf`,n.column.label,n.index+1,r),place:q(`place`,n.column.label,n.index+1)}},M=(e,t)=>{let n=(v?f8(t,e)?.column:void 0)??O(t.id);return n!==void 0&&n.value!==k(e)&&!A(e,n)};return(0,R.jsxs)(Cv,{sensors:D,collisionDetection:Y6,onDragStart:({active:e})=>{E.current=!0,T(e.data.current.row)},onDragEnd:({active:e,over:t})=>{T(void 0),setTimeout(()=>E.current=!1);let n=e.data.current.row;if(!t)return;let r=v?f8(t,n):void 0;if(!r){let e=O(t.id);e&&e.value!==k(n)&&A(n,e)&&C(n,e);return}let i=r.rows.findIndex(e=>e.key===n.key);if(i!==-1||A(n,r.column)){if(i===-1&&m)return C(n,r.column);i!==r.index&&C(n,r.column,{rows:r.rows,index:r.index})}},onDragCancel:()=>{T(void 0),setTimeout(()=>E.current=!1)},accessibility:{announcements:{onDragStart:({active:e})=>q(`pickedUp`,x(e.data.current.row)),onDragOver:({active:e,over:t})=>q(`isOver`,x(e.data.current.row),j(e.data.current.row,t).over),onDragEnd:({active:e,over:t})=>{let n=e.data.current.row;if(!t||M(n,t))return q(`putBack`,x(n));let r=j(n,t);return q(`wasMovedTo`,x(n),r.place??r.over)},onDragCancel:({active:e})=>q(`cancelled`,x(e.data.current.row))},screenReaderInstructions:{draggable:q(v?g?`boardAnywhere`:`boardWithin`:`boardAcross`)}},children:[(0,R.jsx)(`div`,{className:`relative min-w-0 flex-1 overflow-x-auto`,children:(0,R.jsx)(`div`,{className:`flex snap-x items-start gap-3 pb-2`,children:c.map(a=>(0,R.jsx)(jye,{model:e,view:t,display:n,column:a,fields:r,filter:i,orderBy:y,limit:o,moves:S,movable:h(a.value),placeable:v,dragged:()=>E.current},q6(a.value)))})}),(0,R.jsx)(Uv,{children:w&&(0,R.jsx)(M6,{model:e,view:t,display:l,row:w,swipe:!1})})]})},m8=864e5,h8=e=>new Date(e).toISOString().slice(0,10),g8=e=>Date.parse(`${e}T00:00:00Z`),_8=(e,t)=>h8(g8(e)+t*m8),v8=e=>_8(e,-((new Date(g8(e)).getUTCDay()+6)%7)),y8=(e,t=0)=>{let n=new Date(g8(e));return h8(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+t,1))},b8=({scale:e,day:t})=>({scale:e,day:e===`month`?y8(t):v8(t)}),x8=(e,t,n=Yd())=>b8(e??{scale:`month`,day:tf(t,n)}),S8=(e,t,n=Yd())=>b8({scale:e,day:tf(t,n)}),C8=(e,t)=>e.scale===`month`?{scale:`month`,day:y8(e.day,t)}:{scale:`week`,day:_8(v8(e.day),7*t)},w8=e=>{let t=v8(e.scale===`month`?y8(e.day):e.day),n=(g8(e.scale===`month`?_8(v8(_8(y8(e.day,1),-1)),6):_8(t,6))-g8(t))/m8+1;return Array.from({length:n},(e,n)=>_8(t,n))},Bye=e=>{let t=w8(e);return{from:t[0],to:_8(t.at(-1),1)}},T8=(e,t)=>t.fields[e.start]?.type===`timestamp`,Vye=(e,t,n,r=Yd())=>{let i=T8(e,t),a=e=>new Date(rf(e,r)).toISOString().replace(`.000Z`,`Z`),o=e=>i?{kind:`timestamp`,value:a(e),span:{start:0,end:0}}:{kind:`string`,value:e,span:{start:0,end:0}},s=ir.and(ir.gte(e.start,o(n.from)),ir.lt(e.start,o(n.to)));if(e.end===void 0)return Hn(s);let c=i?ir.gt(e.end,o(n.from)):ir.gte(e.end,o(n.from));return Hn(ir.or(s,ir.and(ir.lt(e.start,o(n.from)),c)))},Hye=(e,t)=>e===``?t:`(${e}) AND (${t})`,E8=e=>{if(typeof e!=`string`)return;let t=Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:e);return Number.isNaN(t)?void 0:t},D8=(e,t,n,r=Yd())=>{let i=E8(e[t.start]);if(i===void 0)return;let a=T8(t,n),o=e=>a?tf(e,r):h8(e),s=o(i),c=t.end===void 0?void 0:E8(e[t.end]),l=c===void 0?s:o(a?c-1:c);return{first:s,last:l<s?s:l}},Uye=(e,t,n,r,i=Yd())=>{let a=D8(e,t,n,i);return a?r.filter(e=>e>=a.first&&e<=a.last):[]},O8=(e,t)=>e.toSorted((e,n)=>(E8(e.record[t.start])??0)-(E8(n.record[t.start])??0)),Wye=(e,t,n,r,i=Yd())=>{let a=new Map(r.map(e=>[e,[]]));for(let o of O8(e,t))for(let e of Uye(o.record,t,n,r,i))a.get(e).push(o);return a},Gye=(e,t,n,r,i,a=Yd())=>{let o=(g8(i)-g8(r))/m8,s=T8(t,n),c=e=>{let t=E8(e);if(t!==void 0)return s?new Date(nf(t+$d(t,a)+o*m8,a)).toISOString():_8(h8(t),o)},l=c(e[t.start]),u=t.end===void 0?void 0:c(e[t.end]);return{...l!==void 0&&{[t.start]:l},...u!==void 0&&{[t.end]:u}}},k8=({heading:e,unit:t,previous:n,today:r,next:i,scales:a,scalesLabel:o,linkTo:s,onView:l})=>{let u=(e,t,n,r,i)=>s?(0,R.jsx)(cS,{to:s(e),className:t,"aria-label":n,"aria-current":i?`page`:void 0,children:r}):(0,R.jsx)(`button`,{type:`button`,className:t,"aria-label":n,"aria-pressed":i,onClick:()=>l?.(e),children:r}),d=Af({variant:`secondary`,size:`sm`});return(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`h2`,{className:`text-sm font-medium`,children:e}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[u(n,d,q(`previousPeriod`,t),(0,R.jsx)(wi,{className:`size-3.5`})),u(r,d,q(`today`),q(`today`)),u(i,d,q(`nextPeriod`,t),(0,R.jsx)(Ei,{className:`size-3.5`}))]}),(0,R.jsx)(`span`,{role:`group`,"aria-label":o,className:c.group(),children:a.map(e=>(0,R.jsx)(I.Fragment,{children:u(e.view,c.option(e.current),e.label,e.label,e.current)},e.label))})]})]})},Kye=e=>{let t=w8(e),n=e=>Date.parse(`${e}T00:00:00Z`);return e.scale===`month`?_f(n(e.day)):Sf(n(t[0]),n(t.at(-1)))},qye=({view:e,now:t,linkTo:n,onView:r})=>{let i=e.scale===`month`&&tf(t,Yd()).startsWith(e.day.slice(0,7)),a=n=>n===`week`&&i?S8(`week`,t):x8({scale:n,day:e.day},t),o=(t,n)=>({view:a(t),label:n,current:e.scale===t});return(0,R.jsx)(k8,{heading:Kye(e),unit:e.scale===`month`?`month`:`week`,previous:C8(e,-1),today:S8(e.scale,t),next:C8(e,1),scales:[o(`month`,q(`month`)),o(`week`,q(`week`))],scalesLabel:q(`calendarScale`),linkTo:n,onView:r})},Jye=`day:`,A8=e=>`${Jye}${e}`,Yye=(e,t)=>`${e}@${t}`,Xye=(e,{context:{active:t,collisionRect:n,droppableRects:r,over:i}})=>{let a={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7}[e.code],o=i?String(i.id).slice(4):t?.data.current?.day;if(a===void 0||!n||o===void 0)return;e.preventDefault();let s=r.get(A8(_8(o,a)));if(s)return{x:s.left+(s.width-n.width)/2,y:s.top+4}},Zye=({day:e,count:t,children:n,more:r,inMonth:i,today:a,week:o})=>{let{setNodeRef:s,isOver:c}=jv({id:A8(e)}),l=Date.parse(`${e}T00:00:00Z`);return(0,R.jsxs)(`section`,{ref:s,"aria-label":`${xf(l)}, ${t}`,className:g(`flex min-w-0 flex-col gap-1 bg-background p-1`,o?`min-h-28 sm:min-h-64`:`min-h-24`,!i&&`bg-surface`,c&&`ring-2 ring-inset ring-primary/30`),children:[(0,R.jsxs)(`header`,{className:g(`flex items-center gap-1 px-0.5 text-xs`,i?`text-foreground`:`text-muted-foreground`),children:[o&&(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:bf(l)}),(0,R.jsx)(`span`,{"aria-current":a?`date`:void 0,className:g(`inline-flex size-5 items-center justify-center rounded-full tabular-nums`,a&&`bg-primary font-medium text-primary-foreground`),children:Number(e.slice(8))})]}),n,r]})},j8=(e,t,n,r)=>{let i=n.title??Kb(e,t),a=e.fields[i],o=r.labels[i]??(a?dx(a,r.record[i],t?.fields[i]):``);return o===``?r.key:o},Qye=(e,t,n,r)=>{let i=n.record[t.start];if(e.fields[t.start]?.type!==`timestamp`||typeof i!=`string`)return;let a=Date.parse(i);return tf(a,Yd())===r?Cf(a):void 0},M8=({model:e,view:t,display:n,row:r,day:i,className:a})=>{let o=l6(e),s=Qye(e,n,r,i);return(0,R.jsxs)(cS,{to:{kind:`record`,resource:e.name,key:r.key},onClick:()=>o(r.record),className:g(`flex min-w-0 items-baseline gap-1 rounded-md border border-border bg-background px-1.5 py-0.5 text-xs hover:border-border-strong hover:bg-surface focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,a),children:[s&&(0,R.jsx)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:s}),(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:j8(e,t,n,r)})]})},N8=({movable:e,dragged:t,...n})=>{let{setNodeRef:r,setActivatorNodeRef:i,listeners:a,isDragging:o}=Dv({id:Yye(n.row.key,n.day),data:{row:n.row,day:n.day},disabled:!e});return(0,R.jsx)(`div`,{ref:e=>{r(e),i(e?.querySelector(`a`)??e)},...a,onDragStart:e=>e.preventDefault(),onClickCapture:e=>{t()&&(e.preventDefault(),e.stopPropagation())},className:g(`min-w-0`,e&&`cursor-grab touch-manipulation`,o&&`opacity-40`),children:(0,R.jsx)(M8,{...n})})},P8=({model:e,display:t,range:n,fields:r,filter:i})=>{let{resources:a,views:o}=J(),s=m3({resources:a,views:o,model:e,columns:r,filter:Hye(i,Vye(t,e,n)),orderBy:`${t.start} asc`}),c=Z6(e,s.page,s.key,!0),l=c.more&&!c.loading&&c.rows.length<500;(0,I.useEffect)(()=>{l&&c.loadMore()},[l,c.rows.length]);let u=c.rows.length>500||c.rows.length===500&&c.more;return{rows:c.rows.slice(0,500),capped:u,loading:c.loading,error:c.error}},F8=(e,t)=>{let n=new Map(t.map(e=>[e.key,e.patch]));return e.map(e=>n.has(e.key)?{...e,record:{...e.record,...n.get(e.key)}}:e)},I8=(e,t)=>{let n=U(),r=qy(),i=nE(),[a,o]=(0,I.useState)([]),s=e=>o(t=>t.filter(t=>t.key!==e)),c=Dh({mutationFn:({row:t,patch:r})=>{let i=typeof t.record.etag==`string`?t.record.etag:`*`;return n.update(e.name,Xb(e,t.record),r,i)},onMutate:({row:e,patch:t})=>o(n=>[...n.filter(t=>t.key!==e.key),{key:e.key,patch:t}]),onError:(e,{row:t,to:n})=>{s(t.key),r.show({state:`error`,title:q(`couldNotMoveTo`,pf(Date.parse(`${n}T00:00:00Z`))),description:xx(e)})},onSettled:async(t,n,{row:r})=>{await i(e.name),s(r.key)}});return{moves:a,move:(n,r,i)=>c.mutate({row:n,patch:Gye(n.record,t,e,r,i),to:i})}},$ye=3,L8=({model:e,view:t,display:n,fields:r,filter:i,at:a,linkTo:o,now:s=Date.now()})=>{let[c,l]=(0,I.useState)(),u=x8(o?a:c,s),d=w8(u),f=P8({model:e,display:n,range:Bye(u),fields:r,filter:i}),{moves:p,move:m}=I8(e,n),h=Wye(F8(f.rows,p),n,e,d),_=VT(oS(e.name),`update`)&&[n.start,n.end].every(t=>t===void 0||!e.fields[t]?.readOnly),[v,y]=(0,I.useState)(),b=(0,I.useRef)(!1),x=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:Xye})),S=tf(s,Yd()),C=u.scale===`week`,w=e=>pf(Date.parse(`${String(e).slice(A8(``).length)}T00:00:00Z`)),T=r=>j8(e,t,n,r.row),E={onDragStart:({active:e})=>q(`pickedUp`,T(e.data.current)),onDragOver:({active:e,over:t})=>q(`isOver`,T(e.data.current),t?w(t.id):q(`noDay`)),onDragEnd:({active:e,over:t})=>t?q(`wasMovedTo`,T(e.data.current),w(t.id)):q(`putBack`,T(e.data.current)),onDragCancel:({active:e})=>q(`cancelled`,T(e.data.current))},D=()=>{y(void 0),setTimeout(()=>b.current=!1)},O=({active:e})=>{b.current=!0,y(e.data.current)},k=({active:e,over:t})=>{D();let{row:n,day:r}=e.data.current,i=t?String(t.id).slice(A8(``).length):void 0;i&&i!==r&&m(n,r,i)},A=(e,t)=>{let n=x8({scale:`week`,day:e},s),r=q(`moreHidden`,t),i=`self-start rounded px-1 text-xs text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-primary`;return o?(0,R.jsx)(cS,{to:o(n),className:i,children:r}):(0,R.jsx)(`button`,{type:`button`,className:i,onClick:()=>l(n),children:r})};return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,R.jsx)(qye,{view:u,now:s,linkTo:o,onView:l}),f.error&&(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:f.error}),f.capped&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:q(`capped`,500,u.scale)}),(0,R.jsxs)(Cv,{sensors:x,collisionDetection:Y6,onDragStart:O,onDragEnd:k,onDragCancel:D,accessibility:{announcements:E,screenReaderInstructions:{draggable:q(`calendarInstructions`)}},children:[(0,R.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border`,children:[!C&&(0,R.jsx)(`div`,{"aria-hidden":!0,className:`grid grid-cols-7 gap-px border-b border-border bg-border`,children:d.slice(0,7).map(e=>(0,R.jsx)(`span`,{className:`bg-surface px-1.5 py-1 text-xs font-medium text-muted-foreground`,children:bf(Date.parse(`${e}T00:00:00Z`))},e))}),(0,R.jsx)(`div`,{className:g(`grid gap-px bg-border`,C?`grid-cols-1 sm:grid-cols-7`:`grid-cols-7`),children:d.map(r=>{let i=h.get(r),a=C?i:i.slice(0,$ye);return(0,R.jsx)(Zye,{day:r,count:i.length,inMonth:C||r.startsWith(u.day.slice(0,7)),today:r===S,week:C,more:a.length<i.length&&A(r,i.length-a.length),children:f.loading?(0,R.jsx)(_u,{className:`h-4`}):a.map(i=>(0,R.jsx)(N8,{model:e,view:t,display:n,row:i,day:r,movable:_&&HT(i.record,`update`),dragged:()=>b.current},i.key))},r)})})]}),(0,R.jsx)(Uv,{children:v&&(0,R.jsx)(M8,{model:e,view:t,display:n,row:v.row,day:v.day})})]})]})},ebe=864e5,R8=e=>Date.parse(`${e}T00:00:00Z`),z8=(e,t=0)=>{let n=new Date(R8(e));return new Date(Date.UTC(n.getUTCFullYear(),Math.floor(n.getUTCMonth()/3)*3+3*t,1)).toISOString().slice(0,10)},B8=({scale:e,day:t})=>({scale:e,day:e===`week`?v8(t):e===`month`?y8(t):z8(t)}),V8=(e,t,n=Yd())=>B8(e??{scale:`month`,day:tf(t,n)}),H8=(e,t)=>{let{scale:n,day:r}=B8(e);return{scale:n,day:n===`week`?_8(r,7*t):n===`month`?y8(r,t):z8(r,t)}},U8=e=>{let t=B8(e).day,n=(R8(H8(e,1).day)-R8(t))/ebe;return Array.from({length:n},(e,n)=>_8(t,n))},tbe=e=>({from:B8(e).day,to:H8(e,1).day}),nbe=(e,t,n,r=Yd())=>{let i=tf(n,r),a=U8(e);return B8({scale:t,day:i>=a[0]&&i<=a.at(-1)?i:a[0]})},rbe=e=>{let t=U8(e);return e.scale===`week`?Sf(R8(t[0]),R8(t.at(-1))):e.scale===`month`?_f(R8(t[0])):yf(R8(t[0]),R8(y8(t.at(-1))))},ibe=e=>{let t=U8(e);if(e.scale===`week`)return t.map((e,t)=>({index:t,span:1,label:`${bf(R8(e))} ${Number(e.slice(8))}`}));if(e.scale===`month`)return t.map((e,t)=>({index:t,span:1,label:String(Number(e.slice(8))),...t%7!=0&&{minor:!0}}));let n=t.flatMap((e,t)=>e.endsWith(`-01`)?[t]:[]);return n.map((e,r)=>({index:e,span:(n[r+1]??t.length)-e,label:vf(R8(t[e]))}))},abe=(e,t,n,r,i=Yd())=>{let a=D8(e,t,n,i),o=r[0],s=r.at(-1);if(!(!a||o===void 0||s===void 0||a.last<o||a.first>s))return{first:a.first<o?0:r.indexOf(a.first),last:a.last>s?r.length-1:r.indexOf(a.last),before:a.first<o,after:a.last>s,start:a.first}},obe=`none`,sbe=(e,t,n,r)=>{let i=r.group,a=i===void 0?void 0:t.fields[i];if(i===void 0||!a)return[{key:``,rows:e}];let o=n?.fields[i],s=new Map;for(let t of e){let e=t.record[i],n=e==null||e===``,r=n?obe:`value:${String(e)}`,c=n?q(`noValue`,o?.label??K(i)):t.labels[i]??dx(a,e,o),l=s.get(r)??{value:n?void 0:e,lane:{key:r,label:c,rows:[]}};l.lane.rows.push(t),s.set(r,l)}let c=a.enumValues??[],l=(e,t)=>e.value===void 0||t.value===void 0?Number(e.value===void 0)-Number(t.value===void 0):a.type===`enum`?c.indexOf(String(e.value))-c.indexOf(String(t.value)):a.type===`relation`?e.lane.label.localeCompare(t.lane.label):typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:String(e.value).localeCompare(String(t.value),void 0,{numeric:!0});return[...s.values()].toSorted(l).map(({lane:e})=>e)},W8=`grid grid-cols-1 sm:grid-cols-[12rem_minmax(0,1fr)]`,G8=(e,t)=>`${e/t*100}%`,cbe=({ticks:e,days:t,today:n,label:r,trackRef:i})=>(0,R.jsxs)(`div`,{className:g(W8,`border-b border-border bg-surface`),children:[(0,R.jsx)(`span`,{className:`hidden truncate px-2 py-1 text-xs font-medium text-muted-foreground sm:block`,children:r}),(0,R.jsx)(`div`,{ref:i,"aria-hidden":!0,className:`relative h-6`,children:e.map(e=>(0,R.jsx)(`span`,{className:g(`absolute inset-y-0 items-center truncate px-1 text-xs tabular-nums text-muted-foreground`,e.index>0?`border-l border-border`:`border-border sm:border-l`,e.minor?`hidden sm:flex`:`flex`,e.span===1&&t[e.index]===n&&`font-medium text-primary`),style:{left:G8(e.index,t.length),width:G8(e.span,t.length)},children:e.label},e.index))})]}),lbe=({ticks:e,days:t,today:n})=>{let r=t.indexOf(n);return(0,R.jsxs)(`div`,{"aria-hidden":!0,className:g(W8,`pointer-events-none absolute inset-0`),children:[(0,R.jsx)(`span`,{className:`hidden sm:block`}),(0,R.jsxs)(`div`,{className:`relative`,children:[r>=0&&(0,R.jsx)(`span`,{className:`absolute inset-y-0 bg-primary/10`,style:{left:G8(r,t.length),width:G8(1,t.length)}}),e.map(e=>(0,R.jsx)(`span`,{className:g(`absolute inset-y-0 w-px bg-border`,(e.minor||e.index===0)&&`hidden sm:block`),style:{left:G8(e.index,t.length)}},e.index))]})]})},ube=({model:e,view:t,display:n,row:r,days:i,movable:a,dragged:o})=>{let s=abe(r.record,n,e,i);return(0,R.jsxs)(`div`,{className:g(W8,`relative border-b border-border last:border-b-0`),children:[(0,R.jsx)(`span`,{"aria-hidden":!0,className:`truncate px-2 pt-1 text-body sm:py-1.5`,children:j8(e,t,n,r)}),(0,R.jsx)(`div`,{className:`relative h-7`,children:s&&(0,R.jsx)(`div`,{className:`absolute top-1/2 -translate-y-1/2`,style:{left:G8(s.first,i.length),width:G8(s.last-s.first+1,i.length)},children:(0,R.jsx)(N8,{model:e,view:t,display:n,row:r,day:s.start,movable:a,dragged:o,className:g(s.before&&`rounded-l-none border-l-0`,s.after&&`rounded-r-none border-r-0`)})})})]})},dbe=()=>[{scale:`week`,label:q(`week`)},{scale:`month`,label:q(`month`)},{scale:`quarter`,label:q(`quarter`)}],K8=({model:e,view:t,display:n,fields:r,filter:i,at:a,linkTo:o,now:s=Date.now()})=>{let[c,l]=(0,I.useState)(),u=V8(o?a:c,s),d=U8(u),f=ibe(u),p=P8({model:e,display:n,range:tbe(u),fields:r,filter:i}),{moves:m,move:h}=I8(e,n),g=sbe(O8(F8(p.rows,m),n),e,t,n),_=VT(oS(e.name),`update`)&&[n.start,n.end].every(t=>t===void 0||!e.fields[t]?.readOnly),[v,y]=(0,I.useState)(),b=(0,I.useRef)(!1),x=(0,I.useRef)(0),S=(0,I.useRef)(null),C=()=>(S.current?.getBoundingClientRect().width??0)/d.length,w=e=>{let t=C();return t>0?Math.round(e/t):0},T=({transform:e})=>({...e,x:w(e.x)*C(),y:0}),E=g_(h_($_,{activationConstraint:{distance:4}}),h_(tv,{activationConstraint:{delay:250,tolerance:5}}),h_(q_,{keyboardCodes:{start:[`Space`],cancel:[`Escape`],end:[`Space`,`Enter`]},coordinateGetter:(e,{currentCoordinates:t})=>{let n=e.code===`ArrowLeft`?-1:+(e.code===`ArrowRight`);if(n!==0)return e.preventDefault(),{x:t.x+n*C(),y:t.y}}})),D=tf(s,Yd()),O=r=>j8(e,t,n,r.row),k=e=>pf(Date.parse(`${_8(e.day,x.current)}T00:00:00Z`)),A={onDragStart:({active:e})=>q(`pickedUp`,O(e.data.current)),onDragMove:({active:e})=>q(`startsOn`,O(e.data.current),k(e.data.current)),onDragOver:()=>void 0,onDragEnd:({active:e})=>x.current===0?q(`putBack`,O(e.data.current)):q(`wasMovedTo`,O(e.data.current),k(e.data.current)),onDragCancel:({active:e})=>q(`cancelled`,O(e.data.current))},j=()=>{y(void 0),setTimeout(()=>b.current=!1)},M=({active:e})=>{b.current=!0,x.current=0,y(e.data.current)},N=({delta:e})=>x.current=w(e.x),ee=({active:t,delta:r})=>{j(),x.current=w(r.x);let{row:i}=t.data.current,a=D8(i.record,n,e);a&&x.current!==0&&h(i,a.first,_8(a.first,x.current))},te=n.group===void 0?t?.names?.plural??K(e.name):t?.fields[n.group]?.label??K(n.group),ne=!p.loading&&!p.error&&p.rows.length===0;return(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,R.jsx)(k8,{heading:rbe(u),unit:u.scale,previous:H8(u,-1),today:V8({scale:u.scale,day:D},s),next:H8(u,1),scales:dbe().map(({scale:e,label:t})=>({view:nbe(u,e,s),label:t,current:u.scale===e})),scalesLabel:q(`timelineScale`),linkTo:o,onView:l}),p.error&&(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:p.error}),p.capped&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:q(`capped`,500,u.scale)}),(0,R.jsxs)(Cv,{sensors:E,modifiers:[T],onDragStart:M,onDragMove:N,onDragEnd:ee,onDragCancel:j,accessibility:{announcements:A,screenReaderInstructions:{draggable:q(`timelineInstructions`)}},children:[(0,R.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border`,children:[(0,R.jsx)(cbe,{ticks:f,days:d,today:D,label:te,trackRef:S}),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(lbe,{ticks:f,days:d,today:D}),p.loading&&(0,R.jsxs)(`div`,{className:`relative flex flex-col gap-2 p-2`,children:[(0,R.jsx)(_u,{className:`h-4`}),(0,R.jsx)(_u,{className:`h-4`})]}),ne&&(0,R.jsx)(`p`,{className:`relative px-2 py-3 text-xs text-muted-foreground`,children:q(`nothingIn`,u.scale)}),!p.loading&&g.map(r=>(0,R.jsxs)(`section`,{"aria-label":r.label,className:`relative border-b border-border last:border-b-0`,children:[r.label!==void 0&&(0,R.jsxs)(`h3`,{className:`flex items-center gap-1.5 border-b border-border bg-surface px-2 py-1 text-xs font-medium`,children:[r.label,(0,R.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:r.rows.length})]}),r.rows.map(r=>(0,R.jsx)(ube,{model:e,view:t,display:n,row:r,days:d,movable:_&&HT(r.record,`update`),dragged:()=>b.current},r.key))]},r.key))]})]}),(0,R.jsx)(Uv,{children:v&&(0,R.jsx)(M8,{model:e,view:t,display:n,row:v.row,day:v.day})})]})]})},fbe=({list:e,empty:t,loading:n,children:r})=>(0,R.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.loading?n:e.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:e.error}):e.rows.length===0?(0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:t}):r}),pbe=({list:e})=>(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-3 text-xs text-muted-foreground`,children:[(0,R.jsxs)(`span`,{children:[e.rows.length.toLocaleString(l()),` of `,e.total.toLocaleString(l())]}),e.more&&(0,R.jsx)(V,{size:`sm`,onClick:e.loadMore,children:q(`showMore`)})]}),q8=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,mbe=`relative flex snap-x snap-mandatory gap-3 overflow-x-auto pb-1`,hbe=({model:e,view:t,display:n,list:r,row:i=!1,footer:a=!0})=>{let o=(t?.names?.plural??K(e.name)).toLowerCase();return(0,R.jsxs)(fbe,{list:r,empty:q(`noneMatch`,o),loading:(0,R.jsx)(`div`,{className:q8,children:Array.from({length:6},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}),children:[(0,R.jsx)(`ul`,{className:i?mbe:q8,"aria-label":t?.names?.plural??K(e.name),children:r.rows.map(r=>(0,R.jsx)(`li`,{className:g(i&&`w-64 shrink-0 snap-start`),children:(0,R.jsx)(M6,{model:e,view:t,display:n,row:r,swipe:!i})},r.key))}),a&&(0,R.jsx)(pbe,{list:r})]})},J8=(0,I.createContext)(void 0),gbe=({value:e,children:t})=>(0,R.jsx)(J8.Provider,{value:e,children:t}),_be=()=>{let e=(0,I.useContext)(J8);if(!e)throw Error(`useListDisplay is used inside a list display, which the list page draws`);return e},vbe=()=>(0,I.useContext)(J8),Y8=({display:e,list:t})=>{let{components:n}=wC(),r=n?.[e.component];return r?(0,R.jsx)(gbe,{value:t,children:(0,R.jsx)(`div`,{className:`relative min-w-0 flex-1 overflow-x-auto`,children:(0,R.jsx)(mg,{name:e.component,children:(0,R.jsx)(r,{...mr(e.props??{})})})})}):(0,R.jsx)(fg,{children:Kh(q(`noComponent`),e.component)})},X8=rr(),ybe={bounds:{south:-90,west:-180,north:90,east:180},zoom:0},bbe=22,Z8=e=>Math.floor(e*1e6)/1e6,Q8=e=>Math.ceil(e*1e6)/1e6,$8=e=>((e+180)%360+360)%360-180,xbe=(e,t)=>{let n=[X8.gte(e.latitude,Z8(Math.max(t.south,-90))),X8.lte(e.latitude,Q8(Math.min(t.north,90)))];if(t.east-t.west>=360)return X8.and(...n);let r=X8.gte(e.longitude,Z8($8(t.west))),i=X8.lte(e.longitude,Q8($8(t.east)));return $8(t.west)<=$8(t.east)?X8.and(...n,r,i):X8.and(...n,X8.or(r,i))},Sbe=(e,t,n)=>{let r=Hn(xbe(t,n));return e.trim()===``?r:`(${e}) AND ${r}`},Cbe=e=>Math.min(Math.max(Math.floor(e),0),bbe),wbe=(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))}},e5=e=>{if(typeof e==`number`)return e;if(typeof e==`string`&&e.trim()!==``)return Number(e)},t5=(e,t)=>{let n=e5(e[t.latitude]),r=e5(e[t.longitude]);if(n!==void 0&&r!==void 0&&Math.abs(n)<=90&&Math.abs(r)<=180)return{latitude:n,longitude:r}},Tbe=6371008.8,n5=64,r5=(e,t)=>t.approximate===void 0?t.exact!==void 0&&e[t.exact]===!1:e[t.approximate]===!0,i5=(e,t)=>{let n=t/Tbe,r=e.latitude*Math.PI/180,i=e.longitude*Math.PI/180;return{type:`Polygon`,coordinates:[Array.from({length:65},(e,t)=>{let a=t%n5/n5*2*Math.PI,o=Math.asin(Math.sin(r)*Math.cos(n)+Math.cos(r)*Math.sin(n)*Math.cos(a));return[(i+Math.atan2(Math.sin(a)*Math.sin(n)*Math.cos(r),Math.cos(n)-Math.sin(r)*Math.sin(o)))*180/Math.PI,o*180/Math.PI]})]}},Ebe=e=>Array.isArray(e)&&e.length>=2&&typeof e[0]==`number`&&typeof e[1]==`number`&&Math.abs(e[0])<=180&&Math.abs(e[1])<=90,a5=(e,t)=>Array.isArray(e)&&e.length>=t&&e.every(Ebe),o5=e=>Array.isArray(e)&&e.length>0&&e.every(e=>a5(e,4)),Dbe=e=>Array.isArray(e)&&e.length>0&&e.every(e=>a5(e,2)),Obe=e=>{if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch(e){if(e instanceof SyntaxError)return;throw e}},kbe=e=>{let t=Obe(e);if(typeof t!=`object`||!t)return;let n=t.type===`Feature`?t.geometry:t;if(typeof n!=`object`||!n)return;let{type:r,coordinates:i}=n;if(r===`Polygon`&&o5(i)||r===`MultiPolygon`&&Array.isArray(i)&&i.length>0&&i.every(o5)||r===`LineString`&&a5(i,2)||r===`MultiLineString`&&Dbe(i))return{type:r,coordinates:i}},Abe=(e,t,n)=>{if(!r5(e,t))return;let r=t.area===void 0?void 0:kbe(e[t.area]);if(r)return r;let i=t.radius===void 0?void 0:e5(e[t.radius]);return i!==void 0&&Number.isFinite(i)&&i>0?i5(n,i):t.defaultRadius===void 0?void 0:i5(n,t.defaultRadius)},s5=(e,t)=>e.flatMap(e=>{let n=t5(e.record,t);if(!n)return[];if(!r5(e.record,t))return[{key:e.key,...n}];let r=Abe(e.record,t,n);return[{key:e.key,...n,approximate:!0,...r&&{area:r}}]}),jbe=(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}))},Mbe=(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)}},c5=(e,t)=>({keys:e.keys,index:((e.index+t)%e.keys.length+e.keys.length)%e.keys.length}),Nbe=({model:e,view:t,display:n,fields:r,filter:i,orderBy:a,area:o})=>{let s=U(),{resources:c,views:l}=J(),u={latitude:n.latitude,longitude:n.longitude},d=o?Sbe(i,u,o.bounds):``,f=o?Cbe(o.zoom):0;return Eh({queryKey:H.map(e.name,`${u.latitude},${u.longitude}`,f,d,a),enabled:o!==void 0,placeholderData:Sm,queryFn:async()=>{let n=await s.map(e.name,{...u,zoom:f,filter:d,orderBy:a,labels:q0(c,l,e,r),photos:mx(t)});return{rows:J0(c,e,r,hx(e,n.items,n.photos),n.labels).map(t=>Hx(e,t)),buckets:n.buckets,total:n.totalSize}}})},Pbe=(0,I.lazy)(()=>m(()=>import(`./records-map-DqN8afWx.js`).then(e=>({default:e.RecordsMap})),__vite__mapDeps([5,1,2,6,7,8,3,4,9]))),Fbe=250,l5=`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`,u5=({model:e,view:t,display:n,filter:r,orderBy:i,fields:a,at:o,onMove:s,footer:c=!0,flush:u=!1})=>{let d=J().maps,f=d?.style,[p,m]=(0,I.useState)(),[h,_]=(0,I.useState)(),v=F3(h,Fbe),[y,b]=(0,I.useState)(o===void 0),x=Nbe({model:e,view:t,display:n,fields:a,filter:r,orderBy:i,area:y?ybe:v}),S=x.isPlaceholderData?void 0:x.data,C=x.data?.rows??[],w=x.data?.buckets??[],T=s5(C,n),E=y&&S?wbe(s5(S.rows,n),S.buckets):void 0,D=Lx(t,n),O=(t?.names?.plural??K(e.name)).toLowerCase(),k=(t?.names?.singular??K(e.name)).toLowerCase(),A=Mbe(p,C),j=A&&C.find(e=>e.key===A.keys[A.index]),M=new Set(T.filter(e=>e.approximate).map(e=>e.key)),N=e=>{let t=e.filter(e=>M.has(e)).length;return e.length===1?q(t===1?`showOneApproximate`:`showOne`,k):t===0?q(`showMany`,e.length,O):t===e.length?q(`showManyApproximate`,e.length,O):q(`showManySomeApproximate`,e.length,O,t)},ee=e=>q(`zoomIn`,e.toLocaleString(l()),e===1?k:O),te=(0,I.useRef)(null),[ne,re]=(0,I.useState)(0);if((0,I.useLayoutEffect)(()=>re(te.current?.offsetHeight??0),[j?.key]),!f)return(0,R.jsx)(fg,{children:q(`needsStyle`)});let ie=S?.total===0;return(0,R.jsxs)(`div`,{className:g(`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,R.jsxs)(`div`,{className:g(`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,R.jsx)(I.Suspense,{fallback:null,children:(0,R.jsx)(Pbe,{style:f,layers:d?.layers,initial:o,points:T,buckets:w,fit:E,onFitted:()=>b(!1),onMove:(e,t)=>{_(e),s?.(t)},selected:A?.keys,covered:A?ne:0,onSelect:e=>m({keys:e,index:0}),onClear:()=>m(void 0),markerLabel:N,bucketLabel:ee})}),x.error&&(0,R.jsx)(`div`,{className:`absolute inset-x-3 top-3 z-10`,children:(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:x.error})}),ie&&(0,R.jsx)(`div`,{className:`pointer-events-none absolute inset-x-3 top-3 z-10 flex justify-center`,children:(0,R.jsxs)(`p`,{className:`pointer-events-auto flex items-center gap-3 rounded-full border border-border bg-background px-4 py-1.5 text-muted-foreground shadow`,role:`status`,children:[q(y?`noneMatch`:`noneHere`,O),!y&&(0,R.jsx)(V,{size:`sm`,onClick:()=>b(!0),children:q(`showAll`)})]})}),A&&j&&(0,R.jsx)(`div`,{ref:te,className:`pointer-events-none absolute inset-x-3 bottom-3 z-10 flex justify-center`,children:(0,R.jsxs)(`div`,{className:`pointer-events-auto flex w-full max-w-[16rem] flex-col gap-2 sm:max-w-xs`,role:`group`,"aria-label":q(`chosen`,k),children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[M.has(j.key)&&(0,R.jsxs)(`span`,{className:`mr-auto flex items-center gap-1 rounded-full border border-border bg-background px-2 py-1 text-xs`,children:[(0,R.jsx)(Pi,{className:`size-3.5`,"aria-hidden":!0}),q(`approximatePosition`)]}),A.keys.length>1&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`previous`),className:l5,onClick:()=>m(c5(A,-1)),children:(0,R.jsx)(wi,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsxs)(`span`,{className:`rounded-full border border-border bg-background px-2 py-1 text-xs tabular-nums`,"aria-live":`polite`,children:[A.index+1,` / `,A.keys.length]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`next`),className:l5,onClick:()=>m(c5(A,1)),children:(0,R.jsx)(Ei,{className:`size-4`,"aria-hidden":!0})})]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":q(`close`),className:l5,onClick:()=>m(void 0),children:(0,R.jsx)(ts,{className:`size-4`,"aria-hidden":!0})})]}),(0,R.jsx)(`div`,{className:`shadow-lg`,children:(0,R.jsx)(M6,{model:e,view:t,display:D,row:j})})]})})]}),c&&(0,R.jsx)(`p`,{className:`hidden py-3 text-xs text-muted-foreground md:block`,children:Ibe(x.data,O)})]})},Ibe=(e,t)=>{if(!e)return`\xA0`;let n=e.total.toLocaleString(l());return e.buckets.length===0&&e.rows.length<e.total?`${e.rows.length.toLocaleString(l())} of ${n} ${t} in view`:`${n} ${t} in view`},d5=({value:e,options:t,onChange:n,label:r})=>{let[i,a]=(0,I.useState)(!1),o=(0,I.useRef)(null),s=(0,I.useRef)(null),c=(0,I.useRef)([]),l=t.findIndex(t=>t.value===e),u=t[l];(0,I.useEffect)(()=>{if(!i)return;c.current[Math.max(l,0)]?.focus();let e=e=>{e.target instanceof Node&&!o.current?.contains(e.target)&&a(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[i]);let d=()=>{a(!1),s.current?.focus()};return(0,R.jsxs)(`div`,{ref:o,className:`relative shrink-0`,children:[(0,R.jsxs)(`button`,{ref:s,type:`button`,"aria-label":u?`${r}: ${u.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-body font-medium shadow-sm transition-colors hover:bg-muted pointer-coarse:h-11`,children:[u?.icon&&(0,R.jsx)(u.icon,{className:`size-3.5`}),u?.label??r,(0,R.jsx)(Si,{className:`size-3.5 text-muted-foreground`})]}),i&&(0,R.jsx)(`ul`,{role:`menu`,"aria-label":r,onKeyDown:e=>{if(e.key===`Escape`)return d();if(e.key===`Tab`)return a(!1);let n=P3(e.key,c.current.indexOf(document.activeElement),t.length);n!==void 0&&(e.preventDefault(),c.current[n]?.focus())},className:`absolute right-0 top-full z-30 mt-1 min-w-40 rounded-md border bg-background py-1 text-body shadow-pop`,children:t.map((t,r)=>(0,R.jsx)(`li`,{role:`none`,children:(0,R.jsxs)(`button`,{ref:e=>{c.current[r]=e},type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,onClick:()=>{d(),t.value!==e&&n(t.value)},className:g(`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,R.jsx)(t.icon,{className:`size-3.5`}):(0,R.jsx)(`span`,{className:`size-3.5`}),(0,R.jsx)(`span`,{className:`flex-1`,children:t.label}),t.value===e&&(0,R.jsx)(bi,{className:`size-3.5 text-primary-text`})]})},t.value))})]})},Lbe={table:No,cards:Aa,kanban:qee,board:Bi,list:Ra,calendar:mi,timeline:vi,map:Fee},f5=({view:e,value:t,onChange:n,menu:r=!1,choices:i=jx(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:Lbe[e.icon]}));return r?(0,R.jsx)(d5,{label:q(`display`),value:t,onChange:n,options:a}):(0,R.jsx)(f,{label:q(`display`),size:`md`,value:t,onChange:n,options:a})},Rbe=[[`asc`,`ascending`],[`desc`,`descending`]],p5=({model:e,view:t,display:n,orderBy:r,onChange:i,className:a})=>{let o=Wx(r),s=Bx(e,t,n),c=s.includes(o.columnId)?s:[o.columnId,...s],l=e=>t?.fields[e]?.label??K(e);return(0,R.jsx)(`select`,{"aria-label":q(`sort`),value:`${o.columnId} ${o.direction}`,onChange:e=>i(e.target.value),className:g(`h-8 rounded-md border border-border-strong bg-background px-2.5 shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,a),children:c.flatMap(e=>Rbe.map(([t,n])=>(0,R.jsxs)(`option`,{value:`${e} ${t}`,children:[l(e),`, `,q(n)]},`${e} ${t}`)))})},m5=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&TC(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,R.jsx)(kC,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:I4(e,e.value?e.value(t):t[e.id])})}:e}),h5=e=>e.includes(`.`),zbe=({model:e,row:t,column:n})=>{let r=t2(ZT(e,Hx(e,t).record),n);return r.state===`loading`?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,R.jsx)(Z0,{model:r.model,field:r.field,value:r.value})},Bbe=(e,t,{resources:n,views:r})=>{let i=vc(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??K(o),kind:`text`,width:200,render:n=>(0,R.jsx)(zbe,{model:e,row:n,column:t})}},g5=(e,t,n,r)=>{let i=new Map(m5(lx(e,t,[],n.filter(e=>!h5(e))),e,t,r.fieldTypes).map(e=>[e.id,e]));return n.flatMap(t=>h5(t)?[Bbe(e,t,r)]:i.get(t)??[])},_5=a({en:{firstOf:(e,t)=>`The first ${e} of ${t}.`,firstOfAbout:(e,t)=>`The first ${e} of about ${t}.`,open:e=>`Open ${e}`,edit:e=>`Edit ${e}`,viewAll:`View all`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`},nl:{firstOf:(e,t)=>`De eerste ${e} van ${t}.`,firstOfAbout:(e,t)=>`De eerste ${e} van ongeveer ${t}.`,open:e=>`${e} openen`,edit:e=>`${e} bewerken`,viewAll:`Alles bekijken`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`}}),v5=(e,t,n)=>{if(!(e>=t))return _5(n?`firstOfAbout`:`firstOf`,e,t.toLocaleString(l()))},y5=(e,t,n)=>{let r=Object.hasOwn(e.fields,t)?e.fields[t]:void 0;return r?.type===`relation`&&r.relation!==void 0&&n[r.relation.resource]?.primaryKey.length===1},Vbe=(e,t,n)=>{if(e.open!==void 0)return e.open!==e.field&&y5(t,e.open,n)?e.open:void 0;let r=t.primaryKey.filter(r=>r!==e.field&&r!==t.tenant&&y5(t,r,n));return r.length===1?r[0]:void 0},b5=(e,t)=>{let n=e[t],r=typeof n==`object`&&n&&`id`in n?n.id:n;return typeof r==`string`||typeof r==`number`?r:void 0},x5=(e,t)=>(t?.names?.singular??K(e.name)).toLowerCase(),Hbe=({model:e,view:t,opens:n,resources:r,views:i,canUpdate:a})=>{let o=t=>({kind:`record`,resource:e.name,key:Xb(e,t)}),s=n&&e.fields[n]?.relation?.resource,c=s?r[s]:void 0,l=e=>{let t=n&&c?b5(e,n):void 0;return c&&t!==void 0?{kind:`record`,resource:c.name,key:t}:void 0},u=e=>l(e)??o(e),d=x5(e,t);return{address:u,actions:t=>{let n={label:_5(`open`,d),link:e=>t(o(e))};if(!c)return[n];let r=e=>a&&HT(e,`update`);return[{label:_5(`open`,x5(c,i[c.name])),available:e=>l(e)!==void 0,link:e=>t(l(e))},{label:_5(`edit`,d),available:r,link:n=>t({kind:`record`,resource:e.name,key:Xb(e,n),edit:!0})},{...n,available:e=>!r(e)}]}}},Ube=({model:e,filter:t,orderBy:n,limit:r,fields:i})=>{let a=U(),{resources:o,views:s}=J();return Eh({queryKey:[...H.list(e.name,t,n,r,`embedded`),i.join(`,`)],placeholderData:Sm,queryFn:async()=>{let c=q0(o,s,e,i),l=mx(s[e.name]),u=await a.search(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,count:`exact`,labels:c,photos:l}),d=J0(o,e,i,hx(e,u.items,u.photos),u.labels).map((t,n)=>({...t,id:Yb(e,u.items[n])}));return u.nextPageToken===``?{rows:d,total:d.length,estimated:!1}:{rows:d,total:u.totalSize??u.totalSizeEstimate,estimated:u.totalSize===void 0}}})},S5=({view:e,value:t,onChange:n})=>(0,R.jsx)(f5,{view:e,value:t,onChange:n,menu:!lu()}),Wbe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),C5=({model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:o,empty:s,row:c=!1,viewAll:l,link:u=!0,opens:d})=>{let{resources:f,views:p}=J(),m=VT(oS(e.name),`update`),{fields:h}=wC(),{go:g,href:_}=sS(),v=uu(),[y,b]=(0,I.useState)(r||Ux(e,t)),x=i??cx(e,t),S=(0,I.useMemo)(()=>g5(e,t,x,{resources:f,views:p,fieldTypes:h}),[e,t,x.join(`,`),f,p,h]),C=(0,I.useMemo)(()=>zx(e,t,S.map(e=>e.id)),[e,t,S]),w=Ube({model:e,filter:n,orderBy:y,limit:a,fields:C}),T=w.data?.rows,E=(0,I.useMemo)(()=>T&&{total:T.length,rowAt:e=>T[e]},[T]),D=kx(t,o),O=t?.names?.plural??K(e.name),k=u&&(0,R.jsxs)(cS,{to:g3(e,t,v,l?{filter:l.filter,orderBy:Ux(e,t),display:o,savedSearch:l.savedSearch}:{filter:n,orderBy:y,display:o}),onClick:l?.onOpen,className:`flex items-center gap-1 self-end font-medium text-primary-text hover:underline`,children:[l?l.label:(0,R.jsxs)(R.Fragment,{children:[_5(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:O.toLowerCase()})]}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]});if(w.isPending)return(0,R.jsx)(Wbe,{});if(w.error)return(0,R.jsx)(XS,{title:_5(`couldNotLoad`),error:w.error});if(!E||E.total===0){let e=(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:s??_5(`nothingYet`)});return l&&u?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e,k]}):e}let A={resource:e.name,rows:w.data.rows.map(t=>Hx(e,t)),total:w.data.total,loading:!1,error:null,more:!1,loadMore:()=>void 0},j=Hbe({model:e,view:t,opens:d,resources:f,views:p,canUpdate:m}),M=e=>({href:_(e),onFollow:()=>g(e)}),N=v5(E.total,w.data.total,w.data.estimated);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[D?D.kind===`cards`?(0,R.jsx)(hbe,{model:e,view:t,display:D,list:A,row:c||v,footer:!1}):D.kind===`map`?(0,R.jsx)(u5,{model:e,view:t,display:D,filter:n,orderBy:y,fields:C,footer:!1}):D.kind===`board`?(0,R.jsx)(p8,{model:e,view:t,display:D,fields:C,filter:n,orderBy:y,limit:a}):D.kind===`calendar`?(0,R.jsx)(L8,{model:e,view:t,display:D,fields:C,filter:n}):D.kind===`timeline`?(0,R.jsx)(K8,{model:e,view:t,display:D,fields:C,filter:n}):(0,R.jsx)(Y8,{display:D,list:A}):(0,R.jsx)(l3,{fit:!0,columns:S,source:E,latencyMs:0,sort:Wx(y),onSortChange:e=>b(Gx(e)),onOpenRow:e=>g(j.address(e)),rowLink:e=>M(j.address(e)),rowActions:j.actions(M),rowNumbers:!1,selectable:!1}),N&&u?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:N}),k]}):k]})},w5=(e,t,n)=>{let r=uu(),i=nve(t),[a,o]=(0,I.useState)(()=>rve(localStorage,i)),s=(0,I.useCallback)(e=>{o(e),ive(localStorage,i,e)},[i]);return[h3(e,r,{picked:a,preferred:n}),s]},Gbe=({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]=w5(t,`page:${e.name}:${s??``}:${n}`,o);return(0,R.jsx)(lE,{title:s,description:c,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(S5,{view:t,value:d,onChange:f}),u]}),className:`h-full`,children:(0,R.jsx)(C5,{model:e,view:t,filter:n,sort:r,columns:i,limit:a,display:d,empty:l})})},Kbe=({node:e,slots:t})=>{let n=oE(e),{resources:r,views:i}=J(),a=r[n.resource];return a?(0,R.jsx)(Gbe,{...n,model:a,view:i[a.name],actions:t.actions}):null},T5=a({en:{email:`Email`,invite:`Invite`,expired:`Expired`,until:e=>`Until ${e}`,sendAgain:`Send again`,revoke:`Revoke`,passLinkOn:`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: {}`},nl:{email:`E-mailadres`,invite:`Uitnodigen`,expired:`Verlopen`,until:e=>`Tot ${e}`,sendAgain:`Opnieuw sturen`,revoke:`Intrekken`,passLinkOn:`Deze app kan geen e-mail sturen, dus geef deze link zelf door. Die werkt één keer, tot de uitnodiging verloopt: {}`}}),E5=({link:e})=>e?(0,R.jsx)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:Kh(T5(`passLinkOn`),(0,R.jsx)(`span`,{className:`font-mono`,children:e}))}):null,D5=({title:e,description:t,onInvite:n,beside:r,children:i,incomplete:a=!1})=>{let[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(),{busy:u,error:d,run:f}=sg(),p=()=>f(async()=>{l((await n(o.trim())).link),s(``)});return(0,R.jsxs)(Mf,{title:e,description:t,children:[(0,R.jsx)(Nf,{message:d}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsx)(cd,{"aria-label":T5(`email`),type:`email`,placeholder:`name@example.com`,value:o,onChange:e=>s(e.target.value),wrapperClassName:`flex-1`}),r,(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:u,disabled:!o.trim()||a,children:T5(`invite`)})]}),i]}),(0,R.jsx)(E5,{link:c})]})},O5=({email:e,gives:t,expiresAt:n,onResend:r,onRevoke:i})=>{let[a,o]=(0,I.useState)(),{busy:s,error:c,run:u}=sg(),d=new Date(n).getTime()<Date.now();return(0,R.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e}),(0,R.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[t,` · `,d?T5(`expired`):T5(`until`,new Date(n).toLocaleDateString(l()))]})]}),(0,R.jsx)(V,{size:`sm`,loading:s,onClick:()=>void u(async()=>o((await r()).link)),children:T5(`sendAgain`)}),(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:s,onClick:()=>void u(i),children:T5(`revoke`)})]}),(0,R.jsx)(Nf,{message:c}),(0,R.jsx)(E5,{link:a})]})},k5=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,R.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,R.jsxs)(`label`,{title:o&&!r?G(`cannotChangeRole`):void 0,className:g(`inline-flex items-center gap-1.5`,o&&`text-muted-foreground`),children:[(0,R.jsx)(Zh,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:g(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),qbe=(e,t)=>t.map(t=>ig(e,t)).join(`, `),A5=a({en:{inviteSomeone:`Invite someone`,inviteDescription:`They get an email with a link to make their account, with the roles you tick.`,notAcceptedYet:`Not accepted yet`,sendingAgain:`Sending again gives a new link, which replaces the earlier one.`,nobodyWaiting:`Nobody is waiting.`,addAnAccount:`Add an account`,addDescription:`Makes the account at once, with the address counted as verified. Without a password, the person signs in another way this app allows, such as an emailed code.`,email:`Email`,name:`Name`,password:`Password`,passwordOptional:e=>`Password (optional, ${e}+ characters)`,addAccount:`Add account`,couldNotReadRoles:`Could not read the roles`,people:`People`,peopleDescription:`Everyone with an account. Roles decide what each sees and does; someone blocked cannot sign in, and is signed out at once.`,findSomeone:`Find someone`,emailAddress:`Email address`,keepOneRole:`Keep at least one role.`,blocked:`Blocked`,unblock:`Unblock`,block:`Block`},nl:{inviteSomeone:`Iemand uitnodigen`,inviteDescription:`Die krijgt een e-mail met een link om een account te maken, met de rollen die je aanvinkt.`,notAcceptedYet:`Nog niet geaccepteerd`,sendingAgain:`Opnieuw sturen geeft een nieuwe link, die de vorige vervangt.`,nobodyWaiting:`Er wacht niemand.`,addAnAccount:`Een account toevoegen`,addDescription:`Maakt het account meteen, met het adres als gecontroleerd. Zonder wachtwoord logt de persoon in op een andere manier die deze app toestaat, zoals een gemailde code.`,email:`E-mailadres`,name:`Naam`,password:`Wachtwoord`,passwordOptional:e=>`Wachtwoord (optioneel, ${e}+ tekens)`,addAccount:`Account toevoegen`,couldNotReadRoles:`Kon de rollen niet lezen`,people:`Mensen`,peopleDescription:`Iedereen met een account. Rollen bepalen wat ieder ziet en doet; wie geblokkeerd is, kan niet inloggen en wordt meteen uitgelogd.`,findSomeone:`Iemand zoeken`,emailAddress:`E-mailadres`,keepOneRole:`Houd minstens één rol.`,blocked:`Geblokkeerd`,unblock:`Deblokkeren`,block:`Blokkeren`}}),Jbe=({roles:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)([]),[i,a]=(0,I.useState)([]),o=(0,I.useCallback)(()=>void t.users.invitations().then(a,()=>a([])),[t]);return(0,I.useEffect)(o,[o]),(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(D5,{title:A5(`inviteSomeone`),description:A5(`inviteDescription`),onInvite:async e=>{let i=await t.users.invite({email:e,roles:n});return r([]),o(),i},incomplete:n.length===0,children:(0,R.jsx)(k5,{roles:e,selected:n,grantable:new Set(e.map(e=>e.name)),onChange:r})}),(0,R.jsx)(Mf,{title:A5(`notAcceptedYet`),description:i.length>0?A5(`sendingAgain`):A5(`nobodyWaiting`),children:i.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:i.map(n=>(0,R.jsx)(O5,{email:n.email,gives:qbe(e,n.roles),expiresAt:n.expiresAt,onResend:async()=>{let e=await t.users.invite({email:n.email,roles:n.roles});return o(),e},onRevoke:async()=>{await t.users.revoke(n.id),o()}},n.id))})})]})},Ybe=({roles:e,onCreated:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(``),[a,o]=(0,I.useState)(``),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)([]),{busy:d,error:f,run:p}=sg(),m=()=>p(async()=>{await n.users.create({email:r.trim(),name:a.trim(),roles:l,...s&&{password:s}}),i(``),o(``),c(``),u([]),t()}),h=!r.trim()||!a.trim()||l.length===0||s!==``&&s.length<12;return(0,R.jsxs)(Mf,{title:A5(`addAnAccount`),description:A5(`addDescription`),children:[(0,R.jsx)(Nf,{message:f}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),m()},children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsx)(cd,{"aria-label":A5(`email`),type:`email`,placeholder:`name@example.com`,value:r,onChange:e=>i(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":A5(`name`),placeholder:A5(`name`),autoComplete:`off`,value:a,onChange:e=>o(e.target.value),wrapperClassName:`flex-1`})]}),(0,R.jsx)(cd,{"aria-label":A5(`password`),type:`password`,autoComplete:`new-password`,placeholder:A5(`passwordOptional`,12),value:s,onChange:e=>c(e.target.value)}),(0,R.jsx)(k5,{roles:e,selected:l,grantable:new Set(e.map(e=>e.name)),onChange:u}),(0,R.jsx)(`div`,{children:(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:d,disabled:h,children:A5(`addAccount`)})})]})]})},Xbe=a({en:{showMore:`Show more`},nl:{showMore:`Meer tonen`}}),j5=({title:e,description:t,searchLabel:n,placeholder:r,query:i,onQuery:a,list:o,error:s,renderRow:c})=>(0,R.jsxs)(Mf,{title:e,description:t,children:[(0,R.jsx)(Nf,{message:s}),(0,R.jsx)(cd,{"aria-label":n,placeholder:r,value:i,onChange:e=>a(e.target.value),leading:(0,R.jsx)(go,{className:`size-3.5`}),wrapperClassName:`mb-2`}),(0,R.jsxs)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:[o.found.length,` of `,o.total]}),o.found.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:o.found.map(c)}),o.found.length<o.total&&(0,R.jsx)(V,{className:`mt-3`,loading:o.loading,onClick:()=>void o.more(),children:Xbe(`showMore`)})]}),M5=(e,t)=>{let[n,r]=(0,I.useState)([]),[i,a]=(0,I.useState)(0),[o,s]=(0,I.useState)(!1),c=(0,I.useRef)(t);return c.current=t,(0,I.useEffect)(()=>{let n=setTimeout(()=>{s(!0),e(t,0).then(e=>{c.current===t&&(r(e.items),a(e.total),s(!1))},()=>{c.current===t&&(r([]),a(0),s(!1))})},200);return()=>clearTimeout(n)},[e,t]),{found:n,total:i,more:async()=>{let i=t;s(!0);let o=await e(i,n.length).catch(()=>void 0);c.current===i&&(o&&(r(e=>[...e,...o.items]),a(o.total)),s(!1))},loading:o}},N5=({name:e,email:t,self:n,actions:r,children:i,error:a})=>(0,R.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`span`,{className:`block truncate font-medium`,children:[e,n&&` (you)`]}),(0,R.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:t})]}),r]}),i,(0,R.jsx)(Nf,{message:a})]}),Zbe=({user:e,roles:t,self:n})=>{let{session:r}=B(),[i,a]=(0,I.useState)(e),{busy:o,error:s,run:c,setError:l}=sg(),u=e=>{if(e.length===0)return l(A5(`keepOneRole`));c(async()=>{await r.users.setRoles(i.id,e),a({...i,roles:e})})},d=e=>void c(async()=>{await(e?r.users.block(i.id):r.users.unblock(i.id)),a({...i,blocked:e})});return(0,R.jsx)(N5,{name:i.name,email:i.email,self:n,error:s,actions:(0,R.jsxs)(R.Fragment,{children:[i.blocked&&(0,R.jsx)(Fu,{tone:`red`,children:A5(`blocked`)}),!n&&(i.blocked?(0,R.jsx)(V,{size:`sm`,loading:o,onClick:()=>d(!1),children:A5(`unblock`)}):(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:o,onClick:()=>d(!0),children:A5(`block`)}))]}),children:(0,R.jsx)(k5,{roles:t,selected:i.roles,grantable:new Set(t.map(e=>e.name)),disabled:o,onChange:u})})},Qbe=({roles:e,version:t})=>{let{session:n,state:r}=B(),[i,a]=(0,I.useState)(``),o=M5((0,I.useCallback)((e,t)=>n.users.search(e,t).then(e=>({items:e.users,total:e.total})),[n,t]),i),s=r.kind===`signed-in`?r.user.id:void 0;return(0,R.jsx)(j5,{title:A5(`people`),description:A5(`peopleDescription`),searchLabel:A5(`findSomeone`),placeholder:A5(`emailAddress`),query:i,onQuery:a,list:o,renderRow:n=>(0,R.jsx)(Zbe,{user:n,roles:e,self:n.id===s},`${t}/${n.id}`)})},$be=()=>{let{session:e}=B(),[t,n]=(0,I.useState)([]),[r,i]=(0,I.useState)();return(0,I.useEffect)(()=>{e.users.roles().then(n,e=>i(e instanceof wc?wd(e):A5(`couldNotReadRoles`)))},[e]),{roles:t,error:r}},exe={Page:Hme,Grid:Fme,Card:dE,Stat:wye,RecordCard:Gme,Field:Ame,Table:Kbe,CardRow:pE,RecordRow:bye,Chart:Tme,Progress:Ume,ModalForm:Vme,Action:cE,Show:xye,Link:Ime,Users:()=>{let{roles:e,error:t}=$be(),[n,r]=(0,I.useState)(0);return(0,R.jsxs)(`div`,{className:`flex max-w-3xl flex-col gap-4`,children:[(0,R.jsx)(Nf,{message:t}),(0,R.jsx)(Qbe,{roles:e,version:n}),(0,R.jsx)(Jbe,{roles:e}),(0,R.jsx)(Ybe,{roles:e,onCreated:()=>r(e=>e+1)})]})}},P5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,F5=e=>{let t=[];for(let n of e){let e=t.at(-1);P5(n)&&e&&P5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return P5(n)?(0,R.jsx)(`p`,{className:`leading-6`,children:e.map((e,t)=>typeof e==`string`?(0,R.jsx)(I.Fragment,{children:e},t):(0,R.jsx)(I5,{node:e},t))},t):(0,R.jsx)(I5,{node:n},t)})},txe=e=>dc(e)||Array.isArray(e)&&e.length>0&&e.every(dc),nxe=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>txe(t)?[[e,(0,R.jsx)(R.Fragment,{children:F5(Array.isArray(t)?t:[t])})]]:[])),I5=({node:e})=>{let{components:t}=wC();if(e.custom){let n=t?.[e.type];return n?(0,R.jsx)(mg,{name:e.type,children:(0,R.jsx)(n,{...mr(e.props),children:e.children.length>0?F5(e.children):void 0})}):(0,R.jsx)(fg,{children:Kh(pg(`noComponent`),e.type)})}let n=exe[e.type];return n?(0,R.jsx)(n,{node:e,slots:nxe(e),children:F5(e.children)}):(0,R.jsx)(fg,{children:Kh(pg(`unknownBlock`),e.type)})},L5=({name:e})=>{let t=J().pages[e];return t?(0,R.jsx)(I5,{node:t.tree}):(0,R.jsx)(rS,{title:pg(`notFound`),children:Kh(pg(`noPage`),e)})},R5=a({en:{details:`Details`,history:`History`,comments:`Comments`,summary:`Summary`,loading:`Loading`,fetching:`Fetching the record.`,noRecord:`This record does not exist, or you cannot see it.`,couldNotLoad:`Could not load the record`,someoneElse:`Someone else`,justNow:`just now`,saved:`Saved`,save:`Save`,cancel:`Cancel`,unsavedChanges:`Unsaved changes`,notSaved:`Not saved`,linesChanged:`The lines were changed by someone else`,linesReloaded:`The lines were reloaded. Your new order is kept: Save again to apply it.`,unsavedKept:`You have unsaved changes to this record.`,continueEditing:`Continue editing`,discard:`Discard`,unsavedRestored:`Your unsaved changes were restored.`,keep:`Keep`,savingSubject:e=>`Saving ${e}...`,subjectSaved:e=>`${e} saved`,changedBySomeoneElse:`Changed by someone else`,couldNotSave:`Could not save`,recordActions:`Record actions`,edit:`Edit`,delete:`Delete`,nothingYet:`Nothing here yet.`,couldNotLoadRelated:`Could not load`,relatedRecords:`Related records`,lines:`Lines`,linesHelp:`What the document bills for. Drag the handle, or use the menu, to change the order; Save applies it.`},nl:{details:`Details`,history:`Geschiedenis`,comments:`Opmerkingen`,summary:`Overzicht`,loading:`Laden`,fetching:`Het record wordt opgehaald.`,noRecord:`Dit record bestaat niet, of je mag het niet zien.`,couldNotLoad:`Kon het record niet laden`,someoneElse:`Iemand anders`,justNow:`zojuist`,saved:`Bewaard`,save:`Bewaren`,cancel:`Annuleren`,unsavedChanges:`Niet bewaarde wijzigingen`,notSaved:`Niet bewaard`,linesChanged:`De regels zijn door iemand anders gewijzigd`,linesReloaded:`De regels zijn opnieuw geladen. Je nieuwe volgorde is behouden: bewaar opnieuw om hem toe te passen.`,unsavedKept:`Je hebt niet bewaarde wijzigingen in dit record.`,continueEditing:`Verder bewerken`,discard:`Weggooien`,unsavedRestored:`Je niet bewaarde wijzigingen zijn teruggezet.`,keep:`Houden`,savingSubject:e=>`${e} bewaren...`,subjectSaved:e=>`${e} bewaard`,changedBySomeoneElse:`Gewijzigd door iemand anders`,couldNotSave:`Kon niet bewaren`,recordActions:`Recordacties`,edit:`Bewerken`,delete:`Verwijderen`,nothingYet:`Hier staat nog niets.`,couldNotLoadRelated:`Kon niet laden`,relatedRecords:`Gerelateerde records`,lines:`Regels`,linesHelp:`Waar het document voor factureert. Sleep de greep, of gebruik het menu, om de volgorde te wijzigen; Bewaren past hem toe.`}}),rxe=2e3,z5=(e,t)=>{let n=qy(),[r,i]=(0,I.useState)(`idle`),[a,o]=(0,I.useState)(),s=(0,I.useRef)(void 0);return(0,I.useEffect)(()=>()=>clearTimeout(s.current),[]),{phase:r,message:a,run:async r=>{let a=e===`toast`?n.show({state:`loading`,title:R5(`savingSubject`,t)}):void 0;o(void 0),e===`button`&&i(`saving`);try{return await r(),a!==void 0&&n.update(a,{state:`success`,title:R5(`subjectSaved`,t)}),e===`button`&&(i(`saved`),s.current=setTimeout(()=>i(`idle`),rxe)),!0}catch(t){if(!Ks(t))throw t;let r=t.status===412?R5(`changedBySomeoneElse`):R5(`couldNotSave`),s=YC(t);return a!==void 0&&n.update(a,{state:`error`,title:r,description:s}),e===`button`&&(i(`idle`),o(`${r}: ${s}`)),!1}}}},B5=({title:e,eyebrow:t,submit:n,saving:r,disabled:i,error:a,errorTitle:o=IS(`notSaved`),onSubmit:s,onCancel:c,children:l,ref:u})=>{let d=(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c&&(0,R.jsx)(V,{className:`max-sm:min-h-11`,onClick:c,children:IS(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,type:`submit`,className:`max-sm:min-h-11 max-sm:flex-1`,loading:r,disabled:i,children:n})]}),f=a!==void 0&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:o,error:a})}),p=(0,R.jsx)(`div`,{className:`divide-y divide-border`,children:l}),m=e=>{e.preventDefault(),s()};return e===void 0?(0,R.jsxs)(`form`,{ref:u,className:`max-w-[760px]`,onSubmit:m,children:[f,p,(0,R.jsx)(`footer`,{className:`border-t pt-6 sm:flex sm:justify-end`,children:d})]}):(0,R.jsx)(`form`,{ref:u,className:`flex-1`,onSubmit:m,children:(0,R.jsxs)(`div`,{className:`mx-auto max-w-[760px] px-4 py-6 md:px-10 md:py-8`,children:[(0,R.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,R.jsxs)(`div`,{children:[t&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t}),(0,R.jsx)(`h1`,{className:`mt-1 text-2xl font-semibold tracking-tight`,children:e})]}),d]}),f,p]})})},ixe=({noun:e,collection:t,sections:n,saving:r,message:i,onSubmit:a,onCancel:o,ref:s})=>(0,R.jsx)(B5,{ref:s,title:IS(`title`,e),eyebrow:t,submit:IS(`submit`,e),saving:r,error:i?Error(i):void 0,errorTitle:IS(`notCreated`),onSubmit:a,onCancel:o,children:n.map(e=>(0,R.jsx)(Zy,{title:e.title,help:e.help,children:(0,R.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:e.fields.map(e=>(0,R.jsx)(Xy,{name:e.name,label:e.label,required:e.required,help:e.help,error:e.error,wide:e.wide,children:e.editor},e.name))})},e.title))}),axe=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),oxe=({resource:e,values:t})=>{let n=J(),r=n.resources[e],i=oS(e);return r?VT(i,`create`)?(0,R.jsx)(sxe,{resource:e,values:t}):(0,R.jsx)(rS,{title:IS(`notAllowed`),children:IS(`cannotCreate`,n.views[e]?.names?.plural.toLowerCase()??e)}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e)})},sxe=({resource:e,values:t})=>{let n=J(),r=n.resources[e],i=n.views[e],a=U(),o=Qp(),{go:s}=sS(),c=i?.names?.singular??K(e),l=z5(i?.saveFeedback??`toast`,IS(`subject`,c)),u=zS(r,i),[d,f]=(0,I.useState)(()=>WS(r,u,t)),[p,m]=(0,I.useState)({}),[h,g]=(0,I.useState)(0),_=XC(h);(0,I.useEffect)(()=>{for(let[e,i]of Object.entries(t??{})){let t=n.resources[r.fields[e]?.relation?.resource??``];t&&G0(o,a,t,[i],n.views[t.name]).then(t=>{let n=t.get(i);n&&f(t=>LS(t[e])&&t[e].key===i?{...t,[e]:{key:i,label:n}}:t)})}},[t,n,r,a,o]);let v=(e,t)=>{m(t=>axe(t,e)),f(n=>({...n,[e]:t}))},y=()=>l.run(async()=>{let t;try{t=await a.create(e,VS(r,n.resources,d))}catch(e){let t=JC(e);throw m(t),Object.keys(t).length>0&&g(e=>e+1),e}for(let t of[`page`,`list`,`first-page`,`map`,`facets`,`series`])o.invalidateQueries({queryKey:[t,e]});s({kind:`record`,resource:e,key:Xb(r,t.record)},{replace:!0})}),b=u.map(e=>({title:e.title,help:e.help,fields:e.fields.map(e=>{let t=r.fields[e],a=d[e],o=t.relation?n.resources[t.relation.resource]:void 0,s=i?.fields[e]?.label??K(e),c=p[e];return{name:e,label:s,help:i?.fields[e]?.help,required:HS(t),error:c&&qC(t,s,c),wide:!!(i?.fields[e]?.multiline||i?.fields[e]?.markdown),editor:(0,R.jsx)(BC,{field:t,hints:i?.fields[e],value:LS(a)?a.key:a??(t.type!==`boolean`&&``),stored:void 0,relationLabel:LS(a)?a.label:void 0,placeholder:GS(t)?IS(`setByDatabase`):void 0,relationPicker:o?{target:o,view:n.views[o.name]}:void 0,invalid:!!p[e],resource:r.name,onChange:t=>v(e,t)})}})}));return(0,R.jsx)(ixe,{ref:_,noun:c,collection:i?.names?.plural??K(e),sections:b,saving:l.phase===`saving`,message:l.message,onSubmit:()=>void y(),onCancel:()=>s({kind:`list`,resource:e})})},cxe=({resource:e,values:t})=>{let n=J(),r=n.views[e];return r?.create?n.pages[r.create.page]?(0,R.jsx)(L5,{name:r.create.page}):(0,R.jsx)(rS,{title:IS(`notAllowed`),children:IS(`cannotCreate`,r.names?.plural.toLowerCase()??K(e))}):(0,R.jsx)(oxe,{resource:e,values:t},new URLSearchParams(t).toString())},lxe=(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)}}))},uxe=(e,t)=>[...new Set(t.filter(t=>!e.includes(t)))],dxe=rr(),fxe=(e,t)=>{let n=U(),[r,i]=(0,I.useState)({}),a=e=>!!e?.search?.length&&e.primaryKey.length===1,o=wh({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:Sm,queryFn:async()=>{let e=i.primaryKey[0],r=Gb(i,t[i.name]);return(await n.list(i.name,{filter:Hn(dxe.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 s=t=>i(n=>({...n,[e]:t}));return(r[e]??``).trim()===``?{onSearch:s}:{onSearch:s,matches:o[n]?.data??[]}})},pxe=24,mxe=({model:e,resources:t,views:n,view:r,state:i,extras:a})=>{let o=U(),s=Qp(),c=r6(r,e),l=e=>r?.fields[e]?.label??K(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=wh({queries:d.map(({group:t,field:r})=>{let s=Y3(c,{...i,facets:{...i.facets,[t]:[]}},a),l=u(r),d=l?.primaryKey.length===1?Gb(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=wh({queries:c.facets.map(t=>{let r=u(t.id),a=uxe((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 G0(s,o,r,a,n[r.name])]}})}),h=fxe(c.facets.map(e=>({id:e.id,target:e.combobox?u(e.id):void 0})),n),g=c.ranges??[],_=wh({queries:g.map(t=>{let n=Y3(c,D3(i,t.id,void 0),a),s=i6(r,t.id)?pxe: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`?us(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?lxe(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:i6(r,e.id)?n.buckets.map(e=>e.count):[],format:a6(r,e.id)}]}),...c.dateField&&{datePresets:c.datePresets??!0,dateField:c.dateField,dateKind:c.dateKind,...c.dateSecondary&&{dateSecondary:!0}},toggles:c.toggles?.map(e=>({...e,label:l(e.id)}))}},V5=a({en:{confirmTitle:e=>`Delete ${e}?`,confirmDescription:(e,t)=>`This ${e.toLowerCase()} will be removed. This cannot be undone.`,cancel:`Cancel`,delete:`Delete`,changedTitle:e=>`${e} was changed since you opened it`,changedDescription:`Someone saved this record in the meantime. Review what changed before you delete it.`,reviewChanges:`Review changes`,deleteAnyway:`Delete anyway`,noVisibleChanges:`No visible fields differ; the record was saved again with the same values.`,bulkConfirmTitle:(e,t)=>`Delete ${e} ${e===1?t.replace(/s$/,``):t.toLowerCase()}?`,bulkConfirmDescription:`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.`,deleteCount:e=>`Delete ${e}`,deleting:`Deleting`,progress:(e,t)=>`${e} of ${t} done`,working:`Working`,deleted:e=>`Deleted ${e}`,deletedOf:(e,t)=>`Deleted ${e} of ${t}`,kept:e=>`${e} could not be deleted and were kept.`,done:`Done`,deletedToast:e=>`${e} deleted`,undo:`Undo`,restored:e=>`${e} restored`,alreadyBack:e=>`${e} is already back`,couldNotRestore:e=>`Could not restore ${e}`,couldNotDelete:e=>`Could not delete ${e}`,changedSinceLoaded:`Changed since the list loaded, so it was kept.`,stillPointAt:(e,t)=>`${e} still point at this ${t.toLowerCase()}.`,show:e=>`Show ${e.toLowerCase()}`},nl:{confirmTitle:e=>`${e} verwijderen?`,confirmDescription:(e,t)=>`${t} wordt verwijderd. Dit kan niet ongedaan worden gemaakt.`,cancel:`Annuleren`,delete:`Verwijderen`,changedTitle:e=>`${e} is gewijzigd sinds je het opende`,changedDescription:`Iemand heeft dit record intussen bewaard. Bekijk wat er veranderde voordat je het verwijdert.`,reviewChanges:`Wijzigingen bekijken`,deleteAnyway:`Toch verwijderen`,noVisibleChanges:`Geen zichtbaar veld verschilt; het record is opnieuw bewaard met dezelfde waarden.`,bulkConfirmTitle:(e,t)=>e===1?`Eén record verwijderen?`:`${e} ${t.toLowerCase()} verwijderen?`,bulkConfirmDescription:`Dit kan niet ongedaan worden gemaakt. Elk record wordt alleen verwijderd als het niet is gewijzigd sinds de lijst laadde; wat wel is gewijzigd, wordt gemeld en behouden.`,deleteCount:e=>`${e} verwijderen`,deleting:`Verwijderen`,progress:(e,t)=>`${e} van ${t} klaar`,working:`Bezig`,deleted:e=>`${e} verwijderd`,deletedOf:(e,t)=>`${e} van ${t} verwijderd`,kept:e=>`${e} kon${e===1?``:`den`} niet worden verwijderd en ${e===1?`is`:`zijn`} behouden.`,done:`Klaar`,deletedToast:e=>`${e} verwijderd`,undo:`Ongedaan maken`,restored:e=>`${e} teruggezet`,alreadyBack:e=>`${e} is al terug`,couldNotRestore:e=>`Kon ${e} niet terugzetten`,couldNotDelete:e=>`Kon ${e} niet verwijderen`,changedSinceLoaded:`Gewijzigd sinds de lijst laadde, dus behouden.`,stillPointAt:(e,t)=>`${e} verwijzen hier nog naar.`,show:e=>`${e} tonen`}}),hxe=rr(),gxe=({blockingPlural:e,noun:t})=>V5(`stillPointAt`,e,t),_xe=({blockedBy:e,resources:t,views:n,noun:r,key:i})=>{let{resource:a,field:o}=e;if(!t[a])return;let s=n[a]?.names?.plural??K(a),c=gxe({blockingPlural:s,noun:r});if(!o||i===void 0)return{text:c};let l={kind:`list`,resource:a,filter:Hn(hxe.eq(o,i))};return{text:c,link:{label:V5(`show`,s),to:l}}},vxe=({title:e,noun:t,busy:n,onConfirm:r,onCancel:i})=>(0,R.jsx)(jf,{title:V5(`confirmTitle`,e),description:V5(`confirmDescription`,t,e),onClose:i,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:i,children:V5(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:r,children:V5(`delete`)})]})}),yxe=({title:e,changes:t,busy:n,onReview:r,onDeleteAnyway:i,onCancel:a})=>(0,R.jsx)(jf,{title:V5(`changedTitle`,e),description:V5(`changedDescription`),onClose:a,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:r,children:V5(`reviewChanges`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,loading:n,onClick:i,children:V5(`deleteAnyway`)})]}),children:t.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:V5(`noVisibleChanges`)}):(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:t.map(e=>(0,R.jsxs)(`li`,{className:`grid grid-cols-[96px_1fr] gap-3 px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,R.jsx)(`span`,{className:`font-medium`,children:e.after})]})]},e.field))})}),H5=e=>{if(e.stage===`confirm`)return(0,R.jsx)(jf,{title:V5(`bulkConfirmTitle`,e.count,e.plural),description:V5(`bulkConfirmDescription`),onClose:e.onCancel,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:e.onCancel,children:V5(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,className:`bg-danger hover:bg-danger/90`,onClick:e.onConfirm,children:V5(`deleteCount`,e.count)})]})});if(e.stage===`running`)return(0,R.jsx)(jf,{title:V5(`deleting`),description:V5(`progress`,e.done,e.total),onClose:()=>void 0,actions:(0,R.jsx)(V,{loading:!0,disabled:!0,children:V5(`working`)})});let t=e.total-e.failures.length;return(0,R.jsx)(jf,{title:e.failures.length===0?V5(`deleted`,t):V5(`deletedOf`,t,e.total),description:e.failures.length===0?void 0:V5(`kept`,e.failures.length),onClose:e.onClose,actions:(0,R.jsx)(V,{variant:`primary`,onClick:e.onClose,children:V5(`done`)}),children:e.failures.length>0&&(0,R.jsx)(`ul`,{className:`max-h-48 divide-y overflow-y-auto rounded-md border`,children:e.failures.map(e=>(0,R.jsxs)(`li`,{className:`px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:e.title}),(0,R.jsx)(`span`,{className:`block text-xs text-danger-text`,children:e.message})]},e.title))})})},bxe=new Set([`updated_at`,`updatedAt`]),xxe=(e,t,n,r)=>Object.values(e.fields).flatMap(e=>{if(bxe.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??K(e.name),before:dx(e,n[e.name],i),after:dx(e,r[e.name],i)}]}),Sxe=4,U5=({model:e,view:t,onDeleted:n,onReview:r,restore:i})=>{let a=U(),o=Qp(),s=qy(),[c,l]=(0,I.useState)(),[u,d]=(0,I.useState)(!1),f=t?.names?.singular??K(e.name),p=t?.names?.plural??K(e.name),{resources:m,views:h}=J(),{href:g,open:_}=sS(),v=(t,n)=>t.blockedBy&&_xe({blockedBy:t.blockedBy,resources:m,views:h,noun:f,...e.primaryKey.length===1&&{key:n.key}}),y=()=>{for(let t of[`page`,`list`,`first-page`,`map`])o.invalidateQueries({queryKey:[t,e.name]});for(let t of[`facets`,`series`,`histogram`])o.invalidateQueries({queryKey:[t,e.name]})},b=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 Gs))throw e;return e}},x=t=>{y(),l(void 0),n?.(t),s.show({state:`success`,title:V5(`deletedToast`,t.title),...e.softDelete&&i&&{action:{label:V5(`undo`),onClick:()=>{i(t).then(()=>{y(),s.show({state:`success`,title:V5(`restored`,t.title)})},e=>{if(!Ks(e))throw e;y(),s.show({state:e.status===409?`success`:`error`,title:e.status===409?V5(`alreadyBack`,t.title):V5(`couldNotRestore`,t.title),description:e.status===409?void 0:e.message})})}}}})},S=async(n,r)=>{d(!0);try{if(!await b(n,r))return x(n);let i=(await a.get(e.name,n.key)).record;l({kind:`conflict`,target:n,fresh:i,changes:xxe(e,t,n.snapshot,i)})}catch(e){if(!Ks(e))throw e;l(void 0);let t=v(e,n);s.show({state:`error`,title:V5(`couldNotDelete`,n.title),description:t?.text??e.message,...t?.link&&{action:{label:t.link.label,href:g(t.link.to),onNavigate:_}}})}finally{d(!1)}},C=async e=>{try{return await b(e,e.etag)?{title:e.title,message:V5(`changedSinceLoaded`)}:void 0}catch(t){if(!Ks(t))throw t;return{title:e.title,message:v(t,e)?.text??t.message}}},w=async e=>{let t=[],n=0;l({kind:`bulk-running`,done:n,total:e.length});let r=[...e];await Promise.all(Array.from({length:Math.min(Sxe,e.length)},async()=>{for(let i=r.shift();i;i=r.shift()){let r=await C(i);r&&t.push(r),n+=1,l({kind:`bulk-running`,done:n,total:e.length})}})),y(),l({kind:`bulk-done`,total:e.length,failures:t})},T=()=>l(void 0);return{dialogs:c&&(0,R.jsxs)(R.Fragment,{children:[c.kind===`confirm`&&(0,R.jsx)(vxe,{title:c.target.title,noun:f,busy:u,onCancel:T,onConfirm:()=>void S(c.target,c.target.etag)}),c.kind===`conflict`&&(0,R.jsx)(yxe,{title:c.target.title,changes:c.changes,busy:u,onCancel:T,onReview:()=>{T(),r?.(c.target,c.fresh)},onDeleteAnyway:()=>void S(c.target,`*`)}),c.kind===`bulk-confirm`&&(0,R.jsx)(H5,{stage:`confirm`,count:c.targets.length,plural:p,onCancel:T,onConfirm:()=>void w(c.targets)}),c.kind===`bulk-running`&&(0,R.jsx)(H5,{stage:`running`,done:c.done,total:c.total}),c.kind===`bulk-done`&&(0,R.jsx)(H5,{stage:`done`,total:c.total,failures:c.failures,onClose:T})]}),start:t=>e.softDelete?S(t,t.etag):l({kind:`confirm`,target:t}),startBulk:e=>l({kind:`bulk-confirm`,targets:e})}},W5=e=>{let t=U();return e.softDelete?async n=>void await t.undelete(e.name,n.key):void 0},G5=(e,t,n)=>e?.create?Object.hasOwn(t,e.create.page):VT(n,`create`),$=a({en:{import:`Import`,importPlural:e=>`Import ${e.toLowerCase()}`,couldNotReadFile:`Could not read the file`,couldNotCheck:`Could not check the rows`,cancel:`Cancel`,next:`Next`,checkRows:`Check rows`,back:`Back`,checking:`Checking`,importRows:(e,t)=>`Import ${e} ${t===1?`row`:`rows`}`,cancelImport:`Cancel import`,done:`Done`,file:`File`,fileHint:`An Excel workbook (.xlsx) or a CSV file saved as UTF-8. Its first row names the columns.`,reading:e=>`Reading ${e}…`,theFile:`the file`,sheet:`Sheet`,create:`Create`,update:`Update`,upsert:`Create or update`,createHint:`Each row creates a record.`,updateHint:`Each row updates the record its value finds; a row that finds none is not imported.`,upsertHint:`Each row updates the record its value finds, or creates one when it finds none.`,doNotImport:`Do not import`,rows:`Rows`,whatEachRowDoes:`What each row does`,findBy:`Find records by`,chooseField:`Choose a field`,findByHint:`A field no two records share, such as the key or an email.`,foundInColumn:`Found in column`,chooseColumn:`Choose a column`,numbers:`Numbers`,dates:`Dates`,dayFirst:`Day first (31/12/2026)`,monthFirst:`Month first (12/31/2026)`,datesHint:`Dates written as 2026-12-31 read the same either way. Times without a zone are your own time.`,requiredMarked:`New records need the fields marked *.`,columns:`Columns`,emptyInFirstRows:`Empty in the first rows`,field:`Field`,fieldFor:e=>`Field for ${e}`,foundBy:`Found by`,pluralFoundBy:e=>`${e} found by`,noColumnFills:e=>`No column fills ${e}, which new records need.`,rowsNotImported:`Rows not imported`,rowProblems:e=>`Row ${e}:`,andMore:e=>`And ${e} more rows, all in the file.`,checkingRows:e=>`Checking rows… ${e} read`,check:`Check`,toCreate:`To create`,toUpdate:`To update`,withProblems:`With problems`,firstRows:`First rows`,row:`Row`,problemRows:`Rows with problems, which are skipped`,download:`Download`,batches:e=>`Rows are saved in batches of ${e}. Cancelling, or an error, keeps the batches already saved; a row the server refuses is listed and the others are saved.`,stopping:`Stopping after this batch…`,saving:`Saving rows…`,rowsSaved:`Rows saved`,stopped:`The import stopped. The rows counted below were saved.`,cancelled:`Cancelled. The rows counted below were saved.`,summary:`Import summary`,created:`Created`,updated:`Updated`,skipped:`Skipped`,failed:`Failed`,notWrittenHint:`Skipped rows had problems in the file; the server refused the failed ones. The file holds each with the reason, to fix and import again.`,notImportedFile:e=>`${e} - not imported.csv`,line:`Line`,problems:`Problems`,notNumber:e=>`${e} is not a number`,notWholeNumber:e=>`${e} is not a whole number`,tooLarge:e=>`${e} is too large`,notBoolean:e=>`${e} is not true or false (true, false, yes, no, 1 or 0)`,notDate:(e,t)=>`${e} is not a date (2026-04-03 or ${t?`day/month/year`:`month/day/year`})`,hasTime:e=>`${e} has a time of day; the field holds a date`,severalValues:(e,t)=>`${e} matches more than one value: ${t}`,notOneOf:(e,t)=>`${e} is not one of ${t}`,notText:e=>`${e} is true or false, not text`,emptyRequired:`is empty, and it is required`,noneHas:(e,t)=>`no ${e.toLowerCase()} has ${t}`,severalHave:(e,t,n)=>`${e} ${t.toLowerCase()} have ${n}`,notOneRecord:e=>`Not one record: ${e}`,nothingToUpdate:e=>`Nothing to update: ${e}`,fileNotUtf8:`The file is not UTF-8 text. Save it as "CSV UTF-8" and choose it again.`,noSheets:`The workbook has no sheets`,missingSheetPart:`The workbook names a sheet it does not hold`,notZip:`The file is not an Excel workbook (.xlsx): it is no ZIP archive`,zip64:`The workbook is too large to read: it is a ZIP64 archive`,compression:(e,t)=>`The workbook's part ${e} is compressed in a way that cannot be read (method ${t})`,notWorkbook:e=>`The file is not an Excel workbook (.xlsx): it has no ${e}`,noSheetCalled:e=>`The workbook has no sheet called ${e}`,unreadable:`The file could not be read`,column:e=>`Column ${e}`},nl:{import:`Importeren`,importPlural:e=>`${e} importeren`,couldNotReadFile:`Kon het bestand niet lezen`,couldNotCheck:`Kon de rijen niet controleren`,cancel:`Annuleren`,next:`Volgende`,checkRows:`Rijen controleren`,back:`Terug`,checking:`Controleren`,importRows:(e,t)=>`${e} ${t===1?`rij`:`rijen`} importeren`,cancelImport:`Import annuleren`,done:`Klaar`,file:`Bestand`,fileHint:`Een Excel-werkmap (.xlsx) of een CSV-bestand bewaard als UTF-8. De eerste rij noemt de kolommen.`,reading:e=>`${e} lezen…`,theFile:`het bestand`,sheet:`Werkblad`,create:`Maken`,update:`Bijwerken`,upsert:`Maken of bijwerken`,createHint:`Elke rij maakt een record.`,updateHint:`Elke rij werkt het record bij dat haar waarde vindt; een rij die er geen vindt, wordt niet geïmporteerd.`,upsertHint:`Elke rij werkt het record bij dat haar waarde vindt, of maakt er een als ze er geen vindt.`,doNotImport:`Niet importeren`,rows:`Rijen`,whatEachRowDoes:`Wat elke rij doet`,findBy:`Records vinden op`,chooseField:`Kies een veld`,findByHint:`Een veld dat geen twee records delen, zoals de sleutel of een e-mailadres.`,foundInColumn:`Gevonden in kolom`,chooseColumn:`Kies een kolom`,numbers:`Getallen`,dates:`Datums`,dayFirst:`Dag eerst (31/12/2026)`,monthFirst:`Maand eerst (12/31/2026)`,datesHint:`Datums geschreven als 2026-12-31 lezen hoe dan ook hetzelfde. Tijden zonder zone zijn in je eigen tijd.`,requiredMarked:`Nieuwe records hebben de velden met * nodig.`,columns:`Kolommen`,emptyInFirstRows:`Leeg in de eerste rijen`,field:`Veld`,fieldFor:e=>`Veld voor ${e}`,foundBy:`Gevonden op`,pluralFoundBy:e=>`${e} gevonden op`,noColumnFills:e=>`Geen kolom vult ${e}, wat nieuwe records nodig hebben.`,rowsNotImported:`Niet geïmporteerde rijen`,rowProblems:e=>`Rij ${e}:`,andMore:e=>`En nog ${e} rijen, allemaal in het bestand.`,checkingRows:e=>`Rijen controleren… ${e} gelezen`,check:`Controle`,toCreate:`Te maken`,toUpdate:`Bij te werken`,withProblems:`Met problemen`,firstRows:`Eerste rijen`,row:`Rij`,problemRows:`Rijen met problemen, die worden overgeslagen`,download:`Downloaden`,batches:e=>`Rijen worden bewaard in groepen van ${e}. Annuleren, of een fout, houdt de groepen die al bewaard zijn; een rij die de server weigert, wordt vermeld en de andere worden bewaard.`,stopping:`Stoppen na deze groep…`,saving:`Rijen bewaren…`,rowsSaved:`Bewaarde rijen`,stopped:`De import is gestopt. De rijen die hieronder zijn geteld, zijn bewaard.`,cancelled:`Geannuleerd. De rijen die hieronder zijn geteld, zijn bewaard.`,summary:`Samenvatting van de import`,created:`Gemaakt`,updated:`Bijgewerkt`,skipped:`Overgeslagen`,failed:`Mislukt`,notWrittenHint:`Overgeslagen rijen hadden problemen in het bestand; de mislukte weigerde de server. Het bestand bevat elke rij met de reden, om te verbeteren en opnieuw te importeren.`,notImportedFile:e=>`${e} - niet geïmporteerd.csv`,line:`Regel`,problems:`Problemen`,notNumber:e=>`${e} is geen getal`,notWholeNumber:e=>`${e} is geen geheel getal`,tooLarge:e=>`${e} is te groot`,notBoolean:e=>`${e} is niet waar of onwaar (true, false, yes, no, 1 of 0)`,notDate:(e,t)=>`${e} is geen datum (2026-04-03 of ${t?`dag/maand/jaar`:`maand/dag/jaar`})`,hasTime:e=>`${e} heeft een tijd van de dag; het veld bevat een datum`,severalValues:(e,t)=>`${e} past bij meer dan één waarde: ${t}`,notOneOf:(e,t)=>`${e} is niet een van ${t}`,notText:e=>`${e} is waar of onwaar, geen tekst`,emptyRequired:`is leeg, en is verplicht`,noneHas:(e,t)=>`geen ${e.toLowerCase()} heeft ${t}`,severalHave:(e,t,n)=>`${e} ${t.toLowerCase()} hebben ${n}`,notOneRecord:e=>`Niet één record: ${e}`,nothingToUpdate:e=>`Niets om bij te werken: ${e}`,fileNotUtf8:`Het bestand is geen UTF-8-tekst. Bewaar het als "CSV UTF-8" en kies het opnieuw.`,noSheets:`De werkmap heeft geen werkbladen`,missingSheetPart:`De werkmap noemt een werkblad dat er niet in zit`,notZip:`Het bestand is geen Excel-werkmap (.xlsx): het is geen ZIP-archief`,zip64:`De werkmap is te groot om te lezen: het is een ZIP64-archief`,compression:(e,t)=>`Het deel ${e} van de werkmap is gecomprimeerd op een manier die niet kan worden gelezen (methode ${t})`,notWorkbook:e=>`Het bestand is geen Excel-werkmap (.xlsx): het heeft geen ${e}`,noSheetCalled:e=>`De werkmap heeft geen werkblad met de naam ${e}`,unreadable:`Het bestand kon niet worden gelezen`,column:e=>`Kolom ${e}`}}),K5=e=>typeof e==`object`&&!!e,q5=e=>e===null||typeof e==`string`&&e.trim()===``,J5=e=>e===null?``:K5(e)?e.date.replace(`T`,` `):typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e),Y5=e=>e<26?String.fromCharCode(65+e):Y5(Math.floor(e/26)-1)+Y5(e%26),X5=(e,t)=>e[t]?.trim()?e[t]:$(`column`,Y5(t)),Cxe=e=>/[",\r\n]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e,wxe=(e,t)=>{let n=[...t].sort((e,t)=>e.line-t.line).map(t=>[...e.map((e,n)=>J5(t.cells[n]??null)),String(t.line),t.problems.join(`; `)]);return`${[[...e,$(`line`),$(`problems`)],...n].map(e=>e.map(Cxe).join(`,`)).join(`\r
68
68
  `)}\r\n`},Z5=({label:e,counts:t})=>(0,R.jsx)(`dl`,{"aria-label":e,className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:t.map(([e,t])=>(0,R.jsxs)(`div`,{className:`rounded-lg border px-3 py-2`,children:[(0,R.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e}),(0,R.jsx)(`dd`,{className:`text-lg font-semibold tabular-nums`,children:t.toLocaleString(l())})]},e))}),Q5=(e,t)=>e?.fields[t]?.label??K(t),Txe=new Set([`text`,`integer`,`bigint`,`decimal`,`boolean`,`date`,`timestamp`,`uuid`,`enum`,`relation`,`currency`,`country`]),$5=(e,t)=>{let n=e.relation?t[e.relation.resource]:void 0;return n?.primaryKey.length===1?n:void 0},Exe=(e,t)=>Object.values(e.fields).filter(n=>n.readOnly||n.name===e.tenant||!Txe.has(n.type)?!1:n.type!==`relation`||$5(n,t)!==void 0),Dxe=new Set([`text`,`integer`,`bigint`,`uuid`,`date`,`currency`,`country`,`enum`]),e7=e=>{let t=e.primaryKey.length===1?[e.fields[e.primaryKey[0]]]:[],n=Object.values(e.fields).filter(t=>t.filterable&&!t.sensitive&&Dxe.has(t.type)&&!e.primaryKey.includes(t.name));return[...t,...n]},t7=(e,t)=>$5(e,t),n7=e=>!e.nullable&&!e.default,r7=e=>e.toLowerCase().replace(/[\s_-]+/g,``),i7=(e,t,n)=>{let r=new Set;return e.flatMap((e,i)=>{let a=r7(e);if(a===``)return[];let o=t.find(e=>!r.has(e.name)&&(r7(Q5(n,e.name))===a||r7(e.name)===a));return o?(r.add(o.name),[{column:i,field:o.name}]):[]})},a7=(e,t,n)=>{if(e===`update`)return[];let r=new Set(n.map(e=>e.field));return t.filter(e=>n7(e)&&!r.has(e.name))},o7=e=>({ok:!0,value:e}),s7=e=>({ok:!1,problem:e}),c7=e=>`“${J5(e)}”`,l7=(e,t)=>{if(typeof e==`number`)return String(e);if(typeof e==`string`)return xS(e,t.decimal)},Oxe=(e,t,n)=>{let r=l7(t,n);if(r===void 0)return s7($(`notNumber`,c7(t)));let[i,a=``]=r.split(`.`);if(/[1-9]/.test(a)||/e/i.test(r))return s7($(`notWholeNumber`,c7(t)));if(e.type===`bigint`)return o7(String(BigInt(i)));let o=Number(i);return Number.isSafeInteger(o)?o7(o):s7($(`tooLarge`,c7(t)))},kxe=(e,t)=>{let n=l7(e,t);return n===void 0?s7($(`notNumber`,c7(e))):o7(n)},Axe=new Set([`true`,`yes`,`1`]),jxe=new Set([`false`,`no`,`0`]),Mxe=e=>{if(typeof e==`boolean`)return o7(e);let t=typeof e==`string`||typeof e==`number`?String(e).trim().toLowerCase():``;return Axe.has(t)?o7(!0):jxe.has(t)?o7(!1):s7($(`notBoolean`,c7(e)))},u7=e=>String(e).padStart(2,`0`),Nxe=(e,t,n)=>{let r=new Date(Date.UTC(e,t-1,n));if(r.getUTCFullYear()===e&&r.getUTCMonth()===t-1&&r.getUTCDate()===n)return`${e}-${u7(t)}-${u7(n)}`},d7=`(\\d{1,2}):(\\d{2})(?::(\\d{2})(?:\\.\\d+)?)?`,Pxe=(e,t)=>{let n=RegExp(`^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T ]${d7}(Z|[+-]\\d{2}:?\\d{2})?)?$`).exec(e.trim()),r=RegExp(`^(\\d{1,2})[./-](\\d{1,2})[./-](\\d{4})(?: ${d7})?$`).exec(e.trim());if(!n&&!r)return;let[i,a,o]=n?[n[1],n[2],n[3]].map(Number):t===`dmy`?[r[3],r[2],r[1]].map(Number):[r[3],r[1],r[2]].map(Number),s=Nxe(i,a,o);if(!s)return;let[c,l,u=`0`]=n?n.slice(4,7):r.slice(4,7);if(c===void 0)return{date:s};if(!(Number(c)>23||Number(l)>59||Number(u)>59))return{date:s,time:`${u7(Number(c))}:${l}:${u7(Number(u))}`,zone:n?.[7]}},f7=(e,t)=>{if(K5(e)){let[t,n]=e.date.split(`T`);return{date:t,time:n}}return typeof e==`string`?Pxe(e,t.dateOrder):void 0},p7=(e,t)=>s7($(`notDate`,c7(e),t.dateOrder===`dmy`)),Fxe=(e,t)=>{let n=f7(e,t);return n?n.time&&n.time!==`00:00:00`?s7($(`hasTime`,c7(e))):o7(n.date):p7(e,t)},Ixe=(e,t)=>{let n=f7(e,t);if(!n)return p7(e,t);if(n.zone)return o7(new Date(`${n.date}T${n.time}${n.zone===`Z`?`Z`:n.zone.replace(/^([+-]\d{2})(\d{2})$/,`$1:$2`)}`).toISOString());let[r,i,a]=n.date.split(`-`).map(Number),[o,s,c]=(n.time??`00:00:00`).split(`:`).map(Number);return o7(new Date(r,i-1,a,o,s,c).toISOString())},m7=e=>e.trim().toLowerCase().replace(/\s+/g,` `),Lxe=(e,t,n)=>{let r=e.enumValues??[],i=m7(J5(n)),a=r.filter(e=>m7(e)===i||m7(us(e,t?.valueLabels))===i);return a.length===1?o7(a[0]):a.length>1?s7($(`severalValues`,c7(n),a.map(e=>us(e,t?.valueLabels)).join(`, `))):s7($(`notOneOf`,c7(n),r.map(e=>us(e,t?.valueLabels)).join(`, `)))},Rxe=e=>typeof e==`boolean`?s7($(`notText`,c7(e))):o7(J5(e)),h7=(e,t,n,r)=>{if(q5(n))return e.nullable?o7(null):s7($(`emptyRequired`));switch(e.type){case`integer`:case`bigint`:return Oxe(e,n,r);case`decimal`:return kxe(n,r);case`boolean`:return Mxe(n);case`date`:return Fxe(n,r);case`timestamp`:return Ixe(n,r);case`enum`:return Lxe(e,t,n);case`text`:case`uuid`:case`currency`:case`country`:return Rxe(n);default:throw Error(`Not implemented: importing ${e.type} fields, which importableFields leaves out`)}},zxe=(e,t)=>e[t]?.names?.singular??K(t),Bxe=(e,t)=>e[t]?.names?.plural??K(t),Vxe=(e,t,n)=>{let{model:r,resources:i,views:a}=n,o=a[r.name],s={},c={},l=[],u=[];for(let{column:n,field:d,matchBy:f}of t.columns){let p=r.fields[d],m=e.cells[n]??null,h=Q5(o,d),g=t7(p,i);if(g&&!q5(m)){let e=f??g.primaryKey[0],n=h7(g.fields[e],a[g.name]?.fields[e],m,t.options);n.ok?u.push({field:d,finding:{model:g,field:e,value:n.value}}):l.push(`${h}: ${n.problem}`),s[d]=J5(m);continue}let _=h7(p,o?.fields[d],m,t.options);_.ok?c[d]=s[d]=_.value:l.push(`${h}: ${_.problem}`)}let d;if(t.match&&t.mode!==`create`){let n=r.fields[t.match.field],i=h7({...n,nullable:!1},o?.fields[n.name],e.cells[t.match.column]??null,t.options);i.ok?d={model:r,field:n.name,value:i.value}:l.push(`${Q5(o,n.name)}: ${i.problem}`)}return{values:s,data:c,problems:l,relations:u,match:d}},g7=(e,t)=>{let n=e.lookups.keysOf(t.model.name,t.field,t.value),r=`${Q5(e.views[t.model.name],t.field).toLowerCase()} “${String(t.value)}”`;return n.length===1?{key:n[0]}:n.length===0?{none:$(`noneHas`,zxe(e.views,t.model.name),r)}:{several:$(`severalHave`,n.length,Bxe(e.views,t.model.name),r)}},Hxe=e=>e.cells.every(q5),_7=async(e,t,n)=>{let{model:r,views:i}=n,a=e.filter(e=>!Hxe(e)).map(e=>({row:e,...Vxe(e,t,n)})),o=new Map;for(let e of a.flatMap(e=>[...e.relations.map(e=>e.finding),...e.match?[e.match]:[]])){let t=`${e.model.name}.${e.field}`;o.has(t)||o.set(t,{model:e.model,field:e.field,values:[]}),o.get(t).values.push(e.value)}for(let{model:e,field:t,values:r}of o.values())await n.lookups.load(e,t,r);return a.map(({row:e,values:a,data:o,problems:s,relations:c,match:l})=>{let u={...o};for(let{field:e,finding:t}of c){let a=g7(n,t);`key`in a?u[e]=a.key:s.push(`${Q5(i[r.name],e)}: ${a.none??a.several}`)}let d=l&&g7(n,l);d?.several&&s.push($(`notOneRecord`,d.several)),d?.none&&t.mode===`update`&&s.push($(`nothingToUpdate`,d.none));let f={line:e.line,cells:e.cells,values:a,problems:s};return s.length>0?f:d&&`key`in d?{...f,op:{op:`update`,resource:r.name,key:d.key,etag:`*`,data:u}}:{...f,op:{op:`create`,resource:r.name,data:u}}})},Uxe=5,Wxe=5,Gxe=async(e,t)=>{let n=e.rows(t),{value:r=[]}=await n.next();await n.return(void 0);let[i,...a]=r;return{headers:(i?.cells??[]).map(J5),sample:a.slice(0,Uxe)}};async function*v7(e,t){let n=!0;for await(let r of e.rows(t))yield n?r.slice(1):r,n=!1}var Kxe=async(e,t,n,r,i,a)=>{let o={rows:0,creates:0,updates:0,problems:[],preview:[]};for await(let s of v7(e,t)){a?.throwIfAborted();for(let e of await _7(s,n,r))o.rows++,o.preview.length<Wxe&&o.preview.push(e),e.op?.op===`create`?o.creates++:e.op?.op===`update`?o.updates++:o.problems.push({line:e.line,cells:e.cells,problems:e.problems});i(o.rows)}return o},qxe=(e,t)=>{if(!Ks(e))return[e.message];let n=e.errors.filter(e=>e.field);return n.length===0?[e.message]:n.map(e=>`${Q5(t.views[t.model.name],e.field)}: ${e.message}`)},Jxe=async(e,t,n,r,{client:i,onProgress:a,cancelled:o})=>{let s={created:0,updated:0,skipped:0,failed:0,notWritten:[]},c=async e=>{let t=[...e];for(;t.length>0;){let e=t.map(e=>e.op);try{let{results:t}=await i.batchWrite(e);for(let e of t)e.op===`create`?s.created++:e.op===`update`&&s.updated++;return}catch(e){let n=Ks(e)?e.operation:void 0;if(n===void 0||!t[n])throw e;let[i]=t.splice(n,1);s.failed++,s.notWritten.push({line:i.line,cells:i.cells,problems:qxe(e,r)})}}},l=[],u=async e=>{for(;l.length>=100||e&&l.length>0;){if(o())return!1;await c(l.splice(0,100)),a({...s})}return!0};for await(let i of v7(e,t)){for(let e of await _7(i,n,r))e.op?l.push(e):(s.skipped++,s.notWritten.push({line:e.line,cells:e.cells,problems:e.problems}));if(!await u(!1))return{...s,cancelled:!0}}return await u(!0)?{...s,cancelled:!1}:{...s,cancelled:!0}},y7=50,b7=(e,t,n)=>Lf(wxe(t,n),$(`notImportedFile`,(e??`import`).replace(/\.[^.]+$/,``)),`text/csv`),x7=({rows:e})=>(0,R.jsxs)(`ul`,{"aria-label":$(`rowsNotImported`),className:`flex flex-col gap-1 text-body`,children:[e.slice(0,y7).map(e=>(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`span`,{className:`font-medium`,children:$(`rowProblems`,e.line)}),` `,e.problems.join(`; `)]},e.line)),e.length>y7&&(0,R.jsx)(`li`,{className:`text-muted-foreground`,children:$(`andMore`,(e.length-y7).toLocaleString(l()))})]}),Yxe=({rows:e})=>(0,R.jsxs)(`p`,{className:`flex items-center gap-2 text-muted-foreground`,role:`status`,children:[(0,R.jsx)(dd,{className:`size-3.5`}),$(`checkingRows`,e.toLocaleString(l()))]}),Xxe=({check:e,model:t,resources:n,views:r,columns:i,headers:a,fileName:o})=>{let s=r[t.name],c=i.map(e=>t.fields[e.field]);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(Z5,{label:$(`check`),counts:[[$(`rows`),e.rows],[$(`toCreate`),e.creates],[$(`toUpdate`),e.updates],[$(`withProblems`),e.problems.length]]}),e.preview.length>0&&(0,R.jsx)(`div`,{className:`overflow-x-auto rounded-lg border`,children:(0,R.jsxs)(`table`,{"aria-label":$(`firstRows`),className:`w-full text-left text-body`,children:[(0,R.jsx)(`thead`,{className:`bg-muted text-muted-foreground`,children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{className:`px-2 py-1.5 font-medium`,children:$(`row`)}),c.map(e=>(0,R.jsx)(`th`,{className:`whitespace-nowrap px-2 py-1.5 font-medium`,children:Q5(s,e.name)},e.name))]})}),(0,R.jsx)(`tbody`,{className:`divide-y`,children:e.preview.map(e=>(0,R.jsxs)(`tr`,{className:e.problems.length>0?`bg-danger-soft`:void 0,children:[(0,R.jsx)(`td`,{className:`px-2 py-1.5 tabular-nums text-muted-foreground`,children:e.line}),c.map(t=>(0,R.jsx)(`td`,{className:`max-w-48 truncate px-2 py-1.5`,children:t7(t,n)?String(e.values[t.name]??`—`):t.name in e.values?dx(t,e.values[t.name],s?.fields[t.name]):``},t.name))]},e.line))})]})}),e.problems.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`h3`,{className:`font-medium`,children:$(`problemRows`)}),(0,R.jsxs)(V,{size:`sm`,onClick:()=>b7(o,a,e.problems),children:[(0,R.jsx)(Ji,{className:`size-3.5`}),$(`download`)]})]}),(0,R.jsx)(x7,{rows:e.problems})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:$(`batches`,100)})]})},S7=({label:e,name:t,value:n,options:r,onChange:i,help:a,className:o})=>{let s=(0,I.useId)();return(0,R.jsxs)(`div`,{className:g(`flex min-w-0 flex-col gap-1.5`,o),children:[(0,R.jsx)(`label`,{htmlFor:s,className:`font-medium`,children:e}),(0,R.jsx)(`select`,{id:s,"aria-label":t,value:n,onChange:e=>i(e.target.value),className:`h-8 w-full min-w-0 rounded-md border border-border-strong bg-background px-2 shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20 max-sm:min-h-11`,children:r.map(e=>(0,R.jsx)(`option`,{value:e.value,children:e.label},e.value))}),a&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a})]})},Zxe=({file:e,sheets:t,sheet:n,reading:r,onChoose:i,onSheet:a})=>{let o=(0,I.useId)();return(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsx)(`label`,{htmlFor:o,className:`font-medium`,children:$(`file`)}),(0,R.jsx)(`input`,{id:o,type:`file`,accept:`.xlsx,.csv,text/csv,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,disabled:r,onChange:e=>{let t=e.target.files?.[0];t&&i(t)},className:`file:mr-3 file:h-8 file:rounded-md file:border file:border-border-strong file:bg-background file:px-3 file:font-medium file:text-foreground max-sm:file:min-h-11`}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:$(`fileHint`)})]}),r&&(0,R.jsxs)(`p`,{className:`flex items-center gap-2 text-muted-foreground`,role:`status`,children:[(0,R.jsx)(dd,{className:`size-3.5`}),$(`reading`,e?.name??$(`theFile`))]}),!r&&t.length>1&&(0,R.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,R.jsx)(ua,{className:`mb-2 size-4 shrink-0 text-muted-foreground`}),(0,R.jsx)(S7,{className:`flex-1`,label:$(`sheet`),value:n??``,options:t.map(e=>({value:e,label:e})),onChange:a})]})]})},Qxe=()=>[{value:`create`,label:$(`create`)},{value:`update`,label:$(`update`)},{value:`upsert`,label:$(`upsert`)}],$xe={create:`createHint`,update:`updateHint`,upsert:`upsertHint`},C7=``,eSe=({flow:e,model:t,resources:n,views:r,canUpdate:i})=>{let a=r[t.name],o=e.head?.headers??[],s=e.head?.sample??[],c=a7(e.mode,e.fields,e.columns),l=[{value:C7,label:$(`doNotImport`)},...e.fields.map(e=>({value:e.name,label:`${Q5(a,e.name)}${n7(e)?` *`:``}`}))],u=o.map((e,t)=>({value:String(t),label:X5(o,t)})),d=e7(t);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[i&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:$(`rows`)}),(0,R.jsx)(`div`,{children:(0,R.jsx)(f,{label:$(`whatEachRowDoes`),size:`md`,value:e.mode,options:Qxe(),onChange:e.setMode})}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:$($xe[e.mode])})]}),e.mode!==`create`&&(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[(0,R.jsx)(S7,{label:$(`findBy`),value:e.match?.field??C7,options:[{value:C7,label:$(`chooseField`)},...d.map(e=>({value:e.name,label:Q5(a,e.name)}))],onChange:t=>e.setMatch(t?{field:t,column:e.match?.column??0}:void 0),help:$(`findByHint`)}),(0,R.jsx)(S7,{label:$(`foundInColumn`),value:e.match?String(e.match.column):C7,options:[{value:C7,label:$(`chooseColumn`)},...u],onChange:t=>e.setMatch(t&&e.match?{...e.match,column:Number(t)}:e.match)})]}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[(0,R.jsx)(S7,{label:$(`numbers`),value:e.options.decimal,options:[{value:`.`,label:`1,234.56`},{value:`,`,label:`1.234,56`}],onChange:t=>e.setOptions({...e.options,decimal:t})}),(0,R.jsx)(S7,{label:$(`dates`),value:e.options.dateOrder,options:[{value:`dmy`,label:$(`dayFirst`)},{value:`mdy`,label:$(`monthFirst`)}],onChange:t=>e.setOptions({...e.options,dateOrder:t}),help:$(`datesHint`)})]}),e.mode!==`update`&&(0,R.jsx)(`p`,{className:`-mb-3 text-xs text-muted-foreground`,children:$(`requiredMarked`)}),(0,R.jsx)(`section`,{"aria-label":$(`columns`),className:`flex flex-col divide-y divide-border border-y`,children:o.map((i,c)=>{let u=e.columns.find(e=>e.column===c),d=u?t.fields[u.field]:void 0,f=d?t7(d,n):void 0,p=s.map(e=>J5(e.cells[c]??null)).filter(e=>e!==``).slice(0,3),m=X5(o,c);return(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 py-3 sm:grid-cols-2 sm:gap-4`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`p`,{className:`truncate font-medium`,children:m}),(0,R.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:p.length>0?p.join(`, `):$(`emptyInFirstRows`)})]}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,R.jsx)(S7,{label:$(`field`),name:$(`fieldFor`,m),value:u?.field??C7,options:l,onChange:t=>e.mapColumn(c,t||void 0)}),f&&(0,R.jsx)(S7,{label:$(`foundBy`),name:$(`pluralFoundBy`,r[f.name]?.names?.plural??Q5(a,d.name)),value:u.matchBy??f.primaryKey[0],options:e7(f).map(e=>({value:e.name,label:Q5(r[f.name],e.name)})),onChange:t=>e.matchColumnBy(c,t)})]})]},c)})}),c.length>0&&(0,R.jsxs)(`p`,{role:`alert`,className:`flex gap-2 rounded-lg border border-warning/30 bg-warning-soft px-3 py-2 text-warning-text`,children:[(0,R.jsx)(Vo,{className:`mt-0.5 size-4 shrink-0`}),(0,R.jsx)(`span`,{children:$(`noColumnFills`,c.map(e=>Q5(a,e.name)).join(`, `))})]})]})},w7=e=>e.toLocaleString(l()),tSe=({progress:e,total:t,cancelling:n})=>{let r=e.created+e.updated+e.failed;return(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:$(n?`stopping`:`saving`)}),(0,R.jsxs)(`span`,{className:`tabular-nums`,children:[w7(r),` / `,w7(t)]})]}),(0,R.jsx)(`div`,{role:`progressbar`,"aria-label":$(`rowsSaved`),"aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":t,className:`h-2 overflow-hidden rounded-full bg-muted`,children:(0,R.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width]`,style:{width:`${t>0?Math.min(100,r/t*100):0}%`}})})]})},nSe=({result:e,stopped:t,headers:n,fileName:r})=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[t!==void 0&&(0,R.jsx)(XS,{title:$(`stopped`),error:t}),e.cancelled&&(0,R.jsx)(`p`,{role:`status`,children:$(`cancelled`)}),(0,R.jsx)(Z5,{label:$(`summary`),counts:[[$(`created`),e.created],[$(`updated`),e.updated],[$(`skipped`),e.skipped],[$(`failed`),e.failed]]}),e.notWritten.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,R.jsx)(`h3`,{className:`font-medium`,children:$(`rowsNotImported`)}),(0,R.jsxs)(V,{size:`sm`,onClick:()=>b7(r,n,e.notWritten),children:[(0,R.jsx)(Ji,{className:`size-3.5`}),$(`download`)]})]}),(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:$(`notWrittenHint`)}),(0,R.jsx)(x7,{rows:[...e.notWritten].sort((e,t)=>e.line-t.line)})]})]}),rSe=e=>{let t=yS(e),n=new Intl.DateTimeFormat(e).formatToParts(new Date(2026,3,3)).map(e=>e.type);return{decimal:t,dateOrder:n.indexOf(`month`)<n.indexOf(`day`)?`mdy`:`dmy`}},iSe=rr(),T7=100,E7=e=>String(e),aSe=e=>{let t=new Map,n=(e,n)=>{let r=`${e}.${n}`;return t.has(r)||t.set(r,new Map),t.get(r)};return{load:async(t,r,i)=>{let a=n(t.name,r),o=[...new Map(i.filter(e=>!a.has(E7(e))).map(e=>[E7(e),e])).values()],s=t.primaryKey[0];for(let n=0;n<o.length;n+=T7){let i=o.slice(n,n+T7);for(let e of i)a.set(E7(e),[]);let c=Hn(iSe.in(r,i)),l;do{let n=await e(t.name).list(t.name,{filter:c,fields:[...new Set([s,r])],pageSize:1e3,pageToken:l});for(let e of n.items)a.get(E7(e[r]))?.push(e[s]);l=n.nextPageToken||void 0}while(l)}},keysOf:(e,t,r)=>n(e,t).get(E7(r))??[]}},oSe=500,D7=()=>{let e=new Worker(new URL(`/assets/parse-worker-UhbwEjS0.js`,``+import.meta.url),{type:`module`}),t=[],n;return e.onmessage=e=>{if(n){let t=n;n=void 0,t(e.data)}else t.push(e.data)},e.onerror=e=>{e.preventDefault();let r={type:`error`,message:$(`unreadable`)};n?n(r):t.push(r)},{send:t=>e.postMessage(t),receive:()=>t.length>0?Promise.resolve(t.shift()):new Promise(e=>n=e),stop:()=>e.terminate()}},sSe=e=>({sheets:async()=>{let t=D7();try{t.send({type:`sheets`,file:e,locale:p()});let n=await t.receive();if(n.type===`error`)throw Error(n.message);if(n.type!==`sheets`)throw Error(`The parse worker answered ${n.type} to a request for sheets`);return n.sheets}finally{t.stop()}},rows:async function*(t){let n=D7();try{for(n.send({type:`read`,file:e,sheet:t,chunk:oSe,locale:p()});;){let e=await n.receive();if(e.type===`error`)throw Error(e.message);if(e.type===`end`)return;if(e.type!==`rows`)throw Error(`The parse worker answered ${e.type} to a read`);yield e.rows,n.send({type:`next`})}}finally{n.stop()}}}),O7={created:0,updated:0,skipped:0,failed:0,notWritten:[]},cSe=({model:e,resources:t,views:n,sourceFor:r=sSe})=>{let i=Gne(),a=Qp(),o=n[e.name],s=(0,I.useMemo)(()=>Exe(e,t),[e,t]),[c,l]=(0,I.useState)({kind:`file`,reading:!1}),[u,d]=(0,I.useState)(),[f,p]=(0,I.useState)(),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)(),[v,y]=(0,I.useState)(`create`),[b,x]=(0,I.useState)([]),[S,C]=(0,I.useState)(),[w,T]=(0,I.useState)(()=>rSe()),E=(0,I.useRef)(!1),D=(0,I.useRef)(void 0),O=e=>t=>{d(t),l(e)},k=e=>{d(void 0),l({kind:`file`,reading:!0});let t=r(e);t.sheets().then(n=>{if(p({file:e,source:t,sheets:n}),h(n[0]),n.length<=1)return A(t,n[0]);l({kind:`file`,reading:!1})}).catch(O({kind:`file`,reading:!1}))},A=async(t,n)=>{l({kind:`file`,reading:!0});let r=await Gxe(t,n);_(r),x(i7(r.headers,s,o));let i=e7(e)[0],a=i?i7(r.headers,[i],o)[0]:void 0;C(i&&a?{field:i.name,column:a.column}:void 0),l({kind:`map`})},j=()=>{f&&(d(void 0),A(f.source,m).catch(O({kind:`file`,reading:!1})))},M=(e,t)=>x(n=>{let r=n.filter(n=>n.column!==e&&n.field!==t);return t?[...r,{column:e,field:t}].sort((e,t)=>e.column-t.column):r}),N=(e,t)=>x(n=>n.map(n=>n.column===e?{...n,matchBy:t}:n)),ee=()=>({mode:v,columns:b,match:v===`create`?void 0:S,options:w}),te=()=>({model:e,resources:t,views:n,lookups:aSe(i)});return{step:c,error:u,file:f?.file,sheets:f?.sheets??[],sheet:m,setSheet:h,head:g,fields:s,mode:v,setMode:y,columns:b,mapColumn:M,matchColumnBy:N,match:S,setMatch:C,options:w,setOptions:T,choose:k,openSheet:j,check:()=>{if(!f)return;d(void 0);let e=new AbortController;D.current=e,l({kind:`checking`,rows:0}),Kxe(f.source,m,ee(),te(),e=>l({kind:`checking`,rows:e}),e.signal).then(t=>{e.signal.aborted||l({kind:`checked`,check:t})}).catch(t=>{e.signal.aborted||O({kind:`map`})(t)})},back:()=>{D.current?.abort(),d(void 0),l({kind:`map`})},start:t=>{if(!f)return;d(void 0),E.current=!1,l({kind:`importing`,progress:O7,total:t,cancelling:!1});let n=O7;Jxe(f.source,m,ee(),te(),{client:i(e.name),onProgress:e=>{n=e,l({kind:`importing`,progress:e,total:t,cancelling:E.current})},cancelled:()=>E.current}).then(e=>l({kind:`done`,result:e})).catch(e=>l({kind:`done`,result:{...n,cancelled:!1},stopped:e})).finally(()=>{for(let t of[`page`,`list`,`first-page`,`map`,`facets`,`series`])a.invalidateQueries({queryKey:[t,e.name]})})},cancel:()=>{E.current=!0,l(e=>e.kind===`importing`?{...e,cancelling:!0}:e)},stop:()=>D.current?.abort()}},lSe=e=>e.step.kind===`file`?$(`couldNotReadFile`):$(`couldNotCheck`),uSe=e=>e.columns.length===0?!1:e.mode===`create`?a7(`create`,e.fields,e.columns).length===0:e.match!==void 0,dSe=({model:e,resources:t,views:n,canUpdate:r,onClose:i,sourceFor:a})=>{let o=cSe({model:e,resources:t,views:n,sourceFor:a}),s=n[e.name]?.names?.plural??K(e.name),{step:c}=o,u=o.head?.headers??[],d=()=>{c.kind!==`importing`&&(o.stop(),i())},f=(0,R.jsx)(V,{onClick:d,children:$(`cancel`)});return(0,R.jsx)(bT,{open:!0,wide:!0,title:$(`importPlural`,s),description:o.file&&c.kind!==`file`?o.file.name:void 0,onClose:d,actions:(()=>{switch(c.kind){case`file`:return(0,R.jsxs)(R.Fragment,{children:[f,o.sheets.length>1&&(0,R.jsx)(V,{variant:`primary`,loading:c.reading,onClick:o.openSheet,children:$(`next`)})]});case`map`:return(0,R.jsxs)(R.Fragment,{children:[f,(0,R.jsx)(V,{variant:`primary`,disabled:!uSe(o),onClick:o.check,children:$(`checkRows`)})]});case`checking`:return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:o.back,children:$(`back`)}),(0,R.jsx)(V,{variant:`primary`,loading:!0,children:$(`checking`)})]});case`checked`:{let e=c.check.creates+c.check.updates;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:o.back,children:$(`back`)}),(0,R.jsx)(V,{variant:`primary`,disabled:e===0,onClick:()=>o.start(e),children:$(`importRows`,e.toLocaleString(l()),e)})]})}case`importing`:return(0,R.jsx)(V,{variant:`danger`,disabled:c.cancelling,onClick:o.cancel,children:$(`cancelImport`)});case`done`:return(0,R.jsx)(V,{variant:`primary`,onClick:i,children:$(`done`)})}})(),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[o.error!==void 0&&(0,R.jsx)(XS,{title:lSe(o),error:o.error}),(()=>{switch(c.kind){case`file`:return(0,R.jsx)(Zxe,{file:o.file,sheets:o.sheets,sheet:o.sheet,reading:c.reading,onChoose:o.choose,onSheet:o.setSheet});case`map`:return(0,R.jsx)(eSe,{flow:o,model:e,resources:t,views:n,canUpdate:r});case`checking`:return(0,R.jsx)(Yxe,{rows:c.rows});case`checked`:return(0,R.jsx)(Xxe,{check:c.check,model:e,resources:t,views:n,columns:o.columns,headers:u,fileName:o.file?.name});case`importing`:return(0,R.jsx)(tSe,{progress:c.progress,total:c.total,cancelling:c.cancelling});case`done`:return(0,R.jsx)(nSe,{result:c.result,stopped:c.stopped,headers:u,fileName:o.file?.name})}})()]})})},fSe=({model:e})=>{let{resources:t,views:n}=J(),r=oS(e.name),[i,a]=(0,I.useState)(!1);return n[e.name]?.import===!1||!VT(r,`create`)?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{onClick:()=>a(!0),"aria-haspopup":`dialog`,children:[(0,R.jsx)(Go,{className:`size-3.5`}),$(`import`)]}),i&&(0,R.jsx)(dSe,{model:e,resources:t,views:n,canUpdate:VT(r,`update`),onClose:()=>a(!1)})]})},k7=a({en:{excel:`Excel (.xlsx)`,csv:`CSV`,asShown:`As shown`,rawValues:`Raw values`,shownHint:`Labels, dates and numbers as the list shows them.`,rawHint:`Values as they are stored, such as keys and codes.`,counting:`Counting rows…`,moreThan:`more than 10,000 rows`,columns:`Columns`,moveUp:e=>`Move ${e} up`,moveDown:e=>`Move ${e} down`,selectedRows:(e,t)=>`${e} selected ${t===1?`row`:`rows`}`,rowsInList:`Rows in the list`,selected:e=>`Selected (${e})`,exportPlural:e=>`Export ${e.toLowerCase()}`,cancel:`Cancel`,export:`Export`,format:`Format`,rows:`Rows`,listHint:`With the list’s filters, search and sort.`,values:`Values`,exports:e=>`Exports ${e}.`,overLimit:e=>` A file holds at most ${e} rows; the rest are left out.`,exporting:e=>`Exporting ${e.toLowerCase()}`,rowsExported:`Rows exported`,doneOf:(e,t)=>`${e} of ${t} rows`,done:e=>`${e} rows`,exported:(e,t)=>`Exported ${e} ${t.toLowerCase()}`,truncated:(e,t)=>`${e}: the first ${t} rows, as many as a file holds.`,couldNotExport:e=>`Could not export ${e.toLowerCase()}`,cancelled:`The export was cancelled`,couldNotBuild:e=>`The export could not be built: ${e}`,workbook:`Excel workbook`,csvFile:`CSV file`},nl:{excel:`Excel (.xlsx)`,csv:`CSV`,asShown:`Zoals getoond`,rawValues:`Ruwe waarden`,shownHint:`Labels, datums en getallen zoals de lijst ze toont.`,rawHint:`Waarden zoals ze zijn opgeslagen, zoals sleutels en codes.`,counting:`Rijen tellen…`,moreThan:`meer dan 10.000 rijen`,columns:`Kolommen`,moveUp:e=>`${e} omhoog`,moveDown:e=>`${e} omlaag`,selectedRows:(e,t)=>`${e} geselecteerde ${t===1?`rij`:`rijen`}`,rowsInList:`Rijen in de lijst`,selected:e=>`Geselecteerd (${e})`,exportPlural:e=>`${e} exporteren`,cancel:`Annuleren`,export:`Exporteren`,format:`Formaat`,rows:`Rijen`,listHint:`Met de filters, zoekopdracht en sortering van de lijst.`,values:`Waarden`,exports:e=>`Exporteert ${e}.`,overLimit:e=>` Een bestand bevat hoogstens ${e} rijen; de rest blijft weg.`,exporting:e=>`${e} exporteren`,rowsExported:`Geëxporteerde rijen`,doneOf:(e,t)=>`${e} van ${t} rijen`,done:e=>`${e} rijen`,exported:(e,t)=>`${e} ${t.toLowerCase()} geëxporteerd`,truncated:(e,t)=>`${e}: de eerste ${t} rijen, zoveel als een bestand bevat.`,couldNotExport:e=>`Kon ${e.toLowerCase()} niet exporteren`,cancelled:`De export is geannuleerd`,couldNotBuild:e=>`De export kon niet worden gemaakt: ${e}`,workbook:`Excel-werkmap`,csvFile:`CSV-bestand`}}),pSe=()=>new DOMException(k7(`cancelled`),`AbortError`),mSe=async({client:e,resource:t,filters:n,orderBy:r,plan:i,labels:a,limit:o,port:s,sink:c,signal:l,onProgress:u})=>{let d=i.columns.map(e=>e.name),f=0;try{await c.write(await s.send({kind:`start`,plan:i,locale:p()}));for(let[i,p]of n.entries()){let m=``;do{let h=await e.search(t,{filter:p,orderBy:r,pageSize:500,pageToken:m,fields:d,labels:a});if(l.aborted)throw pSe();let g=h.items.slice(0,o-f);if(await c.write(await s.send({kind:`page`,records:g,labels:h.labels??{}})),f+=g.length,u(f),m=h.nextPageToken,f>=o)return await A7(s,c),{rows:f,truncated:g.length<h.items.length||m!==``||i+1<n.length}}while(m!==``)}return await A7(s,c),{rows:f,truncated:!1}}catch(e){throw await c.abort(),e}finally{s.close()}},A7=async(e,t)=>{await t.write(await e.send({kind:`finish`})),await t.close()},hSe=1048575,j7=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
69
- `,M7=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,N7=`http://schemas.openxmlformats.org/package/2006/relationships`;`${j7}`,`${j7}${N7}${M7}`,`${j7}${N7}${M7}${M7}`,new TextEncoder;var gSe=rr(),P7=e=>e?.export!==!1,F7=e=>Object.values(e.fields).flatMap(e=>e.sensitive?[]:[e.name]),_Se=(e,t)=>{let n=new Set(F7(e));return cx(e,t).filter(e=>n.has(e))},I7=(e,t,n)=>Object.fromEntries(lx(e,t,[],n).map(e=>[e.id,e.header])),vSe=(e,t,n)=>{let r=I7(e,t,n);return n.flatMap(n=>{let i=e.fields[n];return i?[{name:n,header:r[n],field:i,hints:t?.fields[n]??{}}]:[]})},L7=(e,t)=>{let n=e?.export?e.export.maxRows??1/0:1/0;return Math.min(n,t===`xlsx`?hSe:1/0)},R7=e=>e.primaryKey.length===1,ySe=(e,t)=>{let[n]=e.primaryKey;if(!n||e.primaryKey.length!==1)throw Error(`Not implemented: selected rows are exported by a single-field key`);let r=[];for(let e=0;e<t.length;e+=500)r.push(Hn(gSe.in(n,t.slice(e,e+500))));return r},bSe=()=>{let e=new Worker(new URL(`/assets/export-worker-ClACk00b.js`,``+import.meta.url),{type:`module`,name:`protobase-export`}),t=[];return e.onmessage=e=>t.shift()?.resolve(e.data.bytes),e.onerror=e=>{e.preventDefault();let n=Error(k7(`couldNotBuild`,e.message));for(let e of t.splice(0))e.reject(n)},{send:n=>new Promise((r,i)=>{t.push({resolve:r,reject:i}),e.postMessage(n)}),close:()=>e.terminate()}},xSe=()=>[{value:`xlsx`,label:k7(`excel`)},{value:`csv`,label:k7(`csv`)}],SSe=()=>[{value:`shown`,label:k7(`asShown`)},{value:`raw`,label:k7(`rawValues`)}],CSe={shown:`shownHint`,raw:`rawHint`},wSe=e=>e.kind===`counting`?k7(`counting`):e.kind===`exact`||e.rows>1e4?Jd(e.rows):k7(`moreThan`),z7=e=>{if(e.kind!==`counting`)return e.kind===`exact`?e.rows:Math.max(e.rows,10001)},B7=({label:e,help:t,children:n})=>(0,R.jsxs)(`div`,{className:`flex flex-col items-start gap-1.5`,children:[(0,R.jsx)(`span`,{className:`text-body font-medium`,children:e}),n,t&&(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t})]}),V7=(e,t,n)=>{let r=e.indexOf(t),i=[...e];return i.splice(r,1),i.splice(r+n,0,t),i},TSe=({fields:e,columns:t,onChange:n})=>{let r=Object.fromEntries(e.map(e=>[e.name,e.label])),i=[...t,...e.map(e=>e.name).filter(e=>!t.includes(e))];return(0,R.jsx)(`ul`,{className:`divide-y self-stretch rounded-md border`,"aria-label":k7(`columns`),children:i.map(e=>{let i=t.includes(e),a=t.indexOf(e);return(0,R.jsxs)(`li`,{className:`flex min-h-10 items-center gap-2 px-3 py-1`,children:[(0,R.jsxs)(`label`,{className:`flex min-w-0 flex-1 cursor-pointer items-center gap-2.5`,children:[(0,R.jsx)(Zh,{checked:i,label:r[e],onChange:r=>n(r?[...t,e]:t.filter(t=>t!==e))}),(0,R.jsx)(`span`,{className:i?`truncate`:`truncate text-muted-foreground`,children:r[e]})]}),i&&(0,R.jsxs)(`span`,{className:`flex shrink-0 gap-1`,children:[(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`min-h-8 px-2`,"aria-label":k7(`moveUp`,r[e]),disabled:a===0,onClick:()=>n(V7(t,e,-1)),children:(0,R.jsx)(Yr,{className:`size-3.5`})}),(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`min-h-8 px-2`,"aria-label":k7(`moveDown`,r[e]),disabled:a===t.length-1,onClick:()=>n(V7(t,e,1)),children:(0,R.jsx)(Ur,{className:`size-3.5`})})]})]},e)})})},ESe=({plural:e,view:t,fields:n,initialColumns:r,count:i,selected:a,open:o,onExport:s,onClose:c})=>{let[l,u]=(0,I.useState)(`xlsx`),[d,p]=(0,I.useState)(a?`selected`:`list`),[m,h]=(0,I.useState)(r),[g,_]=(0,I.useState)(`shown`),v=L7(t,l),y=d===`selected`?k7(`selectedRows`,Gd(a??0),a??0):wSe(i),b=(d===`selected`?a??0:z7(i)??0)>v,x=[{value:`list`,label:k7(`rowsInList`)},{value:`selected`,label:k7(`selected`,Gd(a??0))}];return(0,R.jsx)(bT,{title:k7(`exportPlural`,e),open:o,onClose:c,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:c,children:k7(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,disabled:m.length===0,onClick:()=>s({format:l,scope:d,columns:m,mode:g}),children:k7(`export`)})]}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4 text-body`,children:[(0,R.jsx)(B7,{label:k7(`format`),children:(0,R.jsx)(f,{size:`md`,label:k7(`format`),value:l,options:xSe(),onChange:u})}),a!==void 0&&a>0&&(0,R.jsx)(B7,{label:k7(`rows`),help:d===`list`?k7(`listHint`):void 0,children:(0,R.jsx)(f,{size:`md`,label:k7(`rows`),value:d,options:x,onChange:p})}),(0,R.jsx)(B7,{label:k7(`values`),help:k7(CSe[g]),children:(0,R.jsx)(f,{size:`md`,label:k7(`values`),value:g,options:SSe(),onChange:_})}),(0,R.jsx)(B7,{label:k7(`columns`),children:(0,R.jsx)(TSe,{fields:n,columns:m,onChange:h})}),(0,R.jsxs)(`p`,{role:`status`,className:`text-muted-foreground`,children:[k7(`exports`,y),b&&k7(`overLimit`,Gd(v))]})]})})},DSe=({plural:e,done:t,total:n,onCancel:r})=>{let i=n?Math.min(1,t/n):void 0;return(0,R.jsx)(bT,{title:k7(`exporting`,e),open:!0,onClose:r,actions:(0,R.jsx)(V,{onClick:r,children:k7(`cancel`)}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 text-body`,children:[(0,R.jsx)(`div`,{role:`progressbar`,"aria-label":k7(`rowsExported`),"aria-valuemin":0,"aria-valuemax":n,"aria-valuenow":t,className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,R.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width]`,style:{width:`${(i??0)*100}%`}})}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n?k7(`doneOf`,Gd(t),Gd(n)):k7(`done`,Gd(t))})]})})},H7={xlsx:{mime:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,extension:`.xlsx`,description:`workbook`},csv:{mime:`text/csv`,extension:`.csv`,description:`csvFile`}},OSe=/[\\/:*?"<>|\u0000-\u001f]/g,kSe=(e,t,n=new Date)=>{let r=[n.getFullYear(),String(n.getMonth()+1).padStart(2,`0`),String(n.getDate()).padStart(2,`0`)].join(`-`);return`${e.replace(OSe,` `).trim()} ${r}${H7[t].extension}`},ASe=8e6,jSe=(e,t)=>{let n=new Blob([],{type:H7[t].mime}),r=[],i=0,a=()=>{n=new Blob([n,...r],{type:H7[t].mime}),r=[],i=0};return{write:async e=>{e.length!==0&&(r.push(e),i+=e.length,i>=ASe&&a())},close:async()=>{a();let t=URL.createObjectURL(n),r=document.createElement(`a`);r.href=t,r.download=e,r.click(),setTimeout(()=>URL.revokeObjectURL(t),6e4)},abort:async()=>{r=[],n=new Blob([])}}},U7=()=>globalThis.showSaveFilePicker,MSe=()=>typeof U7()==`function`,NSe=async(e,t)=>{let n=U7();if(!n)throw Error(`This browser cannot save a file as it is built`);let r=H7[t],i;try{i=await n({suggestedName:e,types:[{description:k7(r.description),accept:{[r.mime]:[r.extension]}}]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;throw e}let a=await i.createWritable();return{write:async e=>{e.length>0&&await a.write(e)},close:()=>a.close(),abort:()=>a.abort()}},PSe=(e,t)=>MSe()?NSe(e,t):Promise.resolve(jSe(e,t)),FSe=(e,t)=>{let n=t[e.primaryKey[0]];return typeof n==`object`&&n&&`id`in n?n.id:n},ISe=({model:e,view:t,resources:n,views:r,plural:i,filter:a,orderBy:o,createPort:s=bSe,createSink:c=PSe})=>{let l=U(),u=qy(),[d,f]=(0,I.useState)({kind:`closed`}),p=(0,I.useRef)(void 0),m=Eh({queryKey:H.exportCount(e.name,a),enabled:d.kind===`settings`,queryFn:async()=>{let t=await l.list(e.name,{filter:a||void 0,pageSize:1,count:`exact`,fields:e.primaryKey});return t.totalSize===void 0?{kind:`estimate`,rows:t.totalSizeEstimate}:{kind:`exact`,rows:t.totalSize}}}).data??{kind:`counting`},h=(t=[])=>f({kind:`settings`,selected:R7(e)?t.map(t=>FSe(e,t)):[]}),g=async(d,h)=>{let g=kSe(i,d.format),_=await c(g,d.format);if(!_)return;let v=L7(t,d.format),y=d.scope===`selected`?h.length:z7(m),b=y===void 0?void 0:Math.min(y,v),x=new AbortController;p.current=x,f({kind:`running`,done:0,total:b});try{let c=await mSe({client:l,resource:e.name,filters:d.scope===`selected`?ySe(e,h):[a],orderBy:o,plan:{format:d.format,mode:d.mode,name:i,columns:vSe(e,t,d.columns)},labels:d.mode===`shown`?q0(n,r,e,d.columns):{},limit:v,port:s(),sink:_,signal:x.signal,onProgress:e=>x.signal.aborted||f({kind:`running`,done:e,total:b})});u.show({state:`success`,title:k7(`exported`,Gd(c.rows),i),description:c.truncated?k7(`truncated`,g,Gd(c.rows)):g})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;if(!Ks(e))throw e;u.show({state:`error`,title:k7(`couldNotExport`,i),description:e.message})}finally{p.current=void 0,f(e=>e.kind===`running`?{kind:`closed`}:e)}},_=()=>{p.current?.abort(),f({kind:`closed`})},v=F7(e),y=I7(e,t,v);return{open:h,dialogs:d.kind===`settings`?(0,R.jsx)(ESe,{plural:i,view:t,fields:v.map(e=>({name:e,label:y[e]})),initialColumns:_Se(e,t),count:m,selected:d.selected.length>0?d.selected.length:void 0,open:!0,onExport:e=>void g(e,d.selected),onClose:()=>f({kind:`closed`})}):d.kind===`running`?(0,R.jsx)(DSe,{plural:i,done:d.done,total:d.total,onCancel:_}):null}},W7=a({en:{noList:e=>`There is no list called ${e}.`,searchPlural:e=>`Search ${e.toLowerCase()}`,search:`Search`,sort:`Sort`,filters:`Filters`,filtersCount:e=>`Filters (${e})`,newRecord:e=>`New ${e.toLowerCase()}`,export:`Export`,openRecord:e=>`Open ${e.toLowerCase()}`,delete:`Delete`,exportCount:e=>`Export ${e}`,deleteCount:e=>`Delete ${e}`,dragToSort:`Drag a row by its handle to move it. Every move is saved as you drop it.`,unreadableFilter:`The filter in the address could not be read`,couldNotLoadRows:`Could not load rows`,created:e=>`${e} created`,noMatchSearch:(e,t)=>`No ${e.toLowerCase()} match “${t}”.`,noMatchFilters:e=>`No ${e.toLowerCase()} match these filters.`,noMatch:e=>`No ${e.toLowerCase()} match.`,noneYet:e=>`No ${e.toLowerCase()} yet.`,clearSearch:`Clear search`,clearFilters:`Clear filters`},nl:{noList:e=>`Er is geen lijst met de naam ${e}.`,searchPlural:e=>`Zoeken in ${e.toLowerCase()}`,search:`Zoeken`,sort:`Sorteren`,filters:`Filters`,filtersCount:e=>`Filters (${e})`,newRecord:e=>`${e} toevoegen`,export:`Exporteren`,openRecord:e=>`${e} openen`,delete:`Verwijderen`,exportCount:e=>`${e} exporteren`,deleteCount:e=>`${e} verwijderen`,dragToSort:`Sleep een rij aan de greep om hem te verplaatsen. Elke verplaatsing wordt bewaard zodra je loslaat.`,unreadableFilter:`Het filter in het adres kon niet worden gelezen`,couldNotLoadRows:`Kon de rijen niet laden`,created:e=>`${e} aangemaakt`,noMatchSearch:(e,t)=>`Geen ${e.toLowerCase()} gevonden voor “${t}”.`,noMatchFilters:e=>`Geen ${e.toLowerCase()} gevonden met deze filters.`,noMatch:e=>`Geen ${e.toLowerCase()} gevonden.`,noneYet:e=>`Nog geen ${e.toLowerCase()}.`,clearSearch:`Zoekopdracht wissen`,clearFilters:`Filters wissen`}}),LSe=({state:e,onClearSearch:t,onClearFilters:n,create:r})=>(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-8 text-center text-muted-foreground`,children:[(0,R.jsx)(`p`,{children:e.message}),(e.clearSearch||e.clearFilters||e.create&&r)&&(0,R.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:[e.clearSearch&&(0,R.jsx)(V,{onClick:t,children:W7(`clearSearch`)}),e.clearFilters&&(0,R.jsx)(V,{onClick:n,children:W7(`clearFilters`)}),e.create&&r]})]}),RSe=({plural:e,search:t,filtered:n,scoped:r,canCreate:i})=>t?{message:W7(`noMatchSearch`,e,t),clearSearch:!0,clearFilters:n,create:!1}:n?{message:W7(`noMatchFilters`,e),clearSearch:!1,clearFilters:!0,create:!1}:r?{message:W7(`noMatch`,e),clearSearch:!1,clearFilters:!1,create:!1}:{message:W7(`noneYet`,e),clearSearch:!1,clearFilters:!1,create:i},zSe=(e,t)=>{},BSe=({windowMs:e=1e3,comebacks:t=2,onHold:n=zSe}={})=>{let r,i=[],a;return(o,s)=>{if(a?.among.has(o))return a.value;if(a&&(a=void 0,i=[]),o===r||(r=o,i=i.filter(t=>s-t.at<=e),i.push({value:o,at:s,comeback:i.some(e=>e.value===o)}),i.filter(e=>e.comeback).length<t))return o;let c=new Set(i.slice(-2*t).map(e=>e.value));return a={value:Math.min(...c),among:c},n(a.value,[...c]),a.value}},VSe=e=>Math.max(1,Math.floor((e+12)/252)),HSe=(e,t)=>Math.max(0,(e-(t-1)*12)/t),USe=(e,t,n,r)=>({start:e*n,end:Math.max(0,Math.min(r,(t+1)*n)-1)}),WSe=(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},GSe=8,KSe=(e,t,n)=>{let r=e.get(t);if(r!==void 0&&r>=n)return e;let i=new Map(e);i.delete(t),i.set(t,n);for(let e of i.keys()){if(i.size<=GSe)break;i.delete(e)}return i},qSe=({source:e,label:t,initialIndex:n,onScrollIndex:r,minHeight:i,children:a})=>{let{total:o}=e,[s]=(0,I.useState)(n),[c,l]=(0,I.useState)(0),u=VSe(c),d=HSe(c,u),[f,p]=(0,I.useState)(()=>new Map),m=Math.ceil(Math.max(i(d),f.get(d)??0)),h=m+12,g={columns:u,rowHeight:h},_=(0,I.useRef)({layout:g,top:0}),v=_.current.top>0&&(_.current.layout.columns!==u||_.current.layout.rowHeight!==h),y=e=>v?WSe(_.current.top,_.current.layout,g):e,b=d>0&&f.has(d),x=o3({total:Math.ceil(o/u),rowHeight:h,initialIndex:Math.floor(s/u),settle:y,ready:b});(0,I.useLayoutEffect)(()=>{v&&x.scrollTo(x.top),_.current={layout:g,top:x.top},v||r(Math.floor(Math.max(0,x.top)/h)*u)});let S=USe(x.first,x.last,u,o),C=Q4({total:o,rowAt:e.rowAt,loadRows:e.loadRows,revision:e.revision,latencyMs:0},S.start,S.end),[w]=(0,I.useState)(()=>BSe());(0,I.useLayoutEffect)(()=>{let e=x.ref.current;if(!e)return;let t=()=>l(w(e.clientWidth,performance.now())),n=new ResizeObserver(t);return n.observe(e),t(),()=>n.disconnect()},[w]);let T=(0,I.useRef)(d);T.current=d;let[E]=(0,I.useState)(()=>new ResizeObserver(e=>{let t=Math.max(...e.map(e=>e.borderBoxSize[0]?.blockSize??e.contentRect.height)),n=T.current;p(e=>KSe(e,n,t))}));(0,I.useLayoutEffect)(()=>()=>E.disconnect(),[E]);let D=(0,I.useCallback)(e=>{if(e)return E.observe(e),()=>E.unobserve(e)},[E]);return(0,R.jsx)(`ul`,{ref:x.ref,className:`relative min-w-0 flex-auto`,"aria-label":t,style:{height:x.geometry.contentHeight},children:x.rows.flatMap(({index:e,offset:t})=>Array.from({length:u},(n,r)=>{let i=e*u+r;if(i>=o)return[];let s=C(i),c={top:t,left:r*(d+12),width:d,minHeight:m};return s?(0,R.jsx)(`li`,{ref:D,"aria-posinset":i+1,"aria-setsize":o,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:a(s)},s.id):(0,R.jsx)(`li`,{"aria-hidden":!0,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:(0,R.jsx)(_u,{className:`h-full rounded-lg`})},`skeleton-${i}`)}))})},JSe=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,YSe=e=>e*.75,XSe=44,ZSe=({model:e,view:t,display:n,list:r,empty:i})=>{let a=t?.names?.plural??K(e.name),o=n.card===void 0&&(n.image!==void 0||n.photos!==void 0);return r.isLoading?(0,R.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden ${JSe}`,children:Array.from({length:6},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}):r.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:r.error}):!r.source||r.source.total===0?i??(0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:q(`noneMatch`,a.toLowerCase())}):(0,R.jsx)(qSe,{source:r.source,label:a,initialIndex:r.initialIndex,onScrollIndex:r.onScrollIndex,minHeight:e=>(o?YSe(e):0)+XSe,children:r=>(0,R.jsx)(M6,{model:e,view:t,display:n,row:Hx(e,r)})})},G7=new Map,QSe=()=>{let{entry:e,path:t,params:n}=zh(),r=`${t}?${n.toString()}`,i=G7.get(e),a=(0,I.useCallback)(t=>void G7.set(e,{url:r,index:t}),[e,r]);return{initialIndex:i?.url===r?i.index:0,remember:a}},K7=e=>e.reduce((e,t)=>e+t.count,0),$Se=e=>{let t=Math.floor(e.length/2),n=K7(e.slice(0,t)),r=K7(e.slice(e.length-t));return n===0?0:(r-n)/n*100},eCe=({active:e,payload:t,noun:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:pf(r.at)}),(0,R.jsxs)(`div`,{className:`font-semibold tabular-nums`,children:[Gd(r.count),` `,n]})]})},q7=a({en:{day:`Day`,week:`Week`},nl:{day:`Dag`,week:`Week`}}),J7={fontSize:11,fill:`var(--muted-foreground)`},tCe=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:o,className:s})=>{let[c,l]=(0,I.useState)(n),u=i??c,d=a??l,p=r??Dy(u),m=cu(`(min-width: 640px)`),h=$Se(p);return(0,R.jsxs)(`section`,{className:g(`rounded-lg border bg-background px-4 pb-2 pt-3`,s),children:[(0,R.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,R.jsx)(`h2`,{className:`font-semibold`,children:e}),(0,R.jsx)(`span`,{className:`font-semibold tabular-nums`,children:Gd(K7(p))}),(0,R.jsxs)(`span`,{className:g(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,R.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:o??`last ${u===`day`?`30 days`:`12 weeks`}`})]}),(0,R.jsx)(f,{value:u,onChange:d,options:[{value:`day`,label:q7(`day`)},{value:`week`,label:q7(`week`)}]})]}),(0,R.jsx)(`div`,{className:`mt-2 h-24`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:(0,R.jsxs)(j0,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:u===`day`?`22%`:`30%`,children:[(0,R.jsx)(B$,{vertical:!1,stroke:`var(--border)`}),(0,R.jsx)(O1,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:mf,tick:J7,axisLine:!1,tickLine:!1,interval:u===`day`?m?4:9:m?1:3,height:18}),(0,R.jsx)(N1,{width:m?36:28,tick:J7,axisLine:!1,tickLine:!1,tickCount:3}),(0,R.jsx)(cq,{cursor:{fill:`var(--muted)`},content:(0,R.jsx)(eCe,{noun:t}),isAnimationActive:!1}),(0,R.jsx)(b1,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},nCe={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},rCe=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,o]=(0,I.useState)(t.granularity===`week`?`week`:`day`),s=a===`week`?`90d`:t.range,c=hE(e,{field:t.field,range:s,granularity:a,filter:i,timeZone:Yd()}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,R.jsx)(tCe,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:nCe[s]})},Y7=(e,t,n)=>{let r=e.sum??e.average;if(r===void 0)return n;let i=t?.fields[r]?.label??K(r);return e.sum===void 0?W(`average`,i):`${i}`},iCe=({model:e,view:t,chart:n,plural:r,filter:i})=>{let a=t?.fields[n.groupBy]?.label??K(n.groupBy);return(0,R.jsxs)(`section`,{className:`rounded-lg border bg-background px-4 pb-3 pt-3`,"aria-label":`${Y7(n,t,r)} by ${a.toLowerCase()}`,children:[(0,R.jsxs)(`h2`,{className:`mb-2 font-semibold`,children:[Y7(n,t,r),` by `,a.toLowerCase()]}),(0,R.jsx)(W0,{model:e,view:t,groupBy:n.groupBy,type:n.type,sum:n.sum,average:n.average,limit:n.limit,filter:i})]})},aCe=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,I.useState)(e);return(0,I.useEffect)(()=>a(e),[e]),(0,I.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,R.jsx)(cd,{wrapperClassName:g(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,R.jsx)(go,{className:`size-4`}),placeholder:n,"aria-label":W7(`search`),value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},X7=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),oCe=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:hT(r.icon,na),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??K(r.page),icon:hT(r.icon??i?.icon,Oa),href:xs({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??K(r.resource),icon:hT(r.icon,pT(r.resource)),href:xs({kind:`list`,resource:r.resource},t),active:r.resource===n}}),Z7=(e,t)=>t===void 0?e:`${e}/${t}`,Q7={sales:`sales`,crm:`crm`,catalog:`catalog`,inventory:`inventory`,core:`admin`,hr:`hr`},$7=(e,t=``,n={})=>{let r=new Map,i=new Map,a=X7(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??W(`pages`),o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:hT(n.icon,Oa),href:xs({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||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??(Q7[c]?W(Q7[c]):K(c)),u=(e,t,n)=>{let a=r.get(e)??{label:e,items:[]};a.items.push(t),r.set(e,a),i.set(t.id,n??2**53-1)};s.nav?.hidden||u(l,{id:Z7(o.name),label:s.names?.plural??K(o.name),icon:pT(o.name),href:xs({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}},s.nav?.order);for(let e of s.lists??[])e.nav?.hidden||u(e.nav?.group??l,{id:Z7(o.name,e.name),label:e.names.plural,icon:pT(o.name),href:xs({kind:`list`,resource:o.name,list:e.name},t)},e.nav?.order)}for(let n of Object.values(e.signIn??{})){if(n.nav?.hidden||a.has(n.resource))continue;let e=n.nav?.group??W(`account`),o=r.get(e)??{label:e,items:[]};o.items.push({id:n.resource,label:n.names?.plural??K(n.resource),icon:pT(n.resource),href:xs({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:K(r),icon:pT(r),href:xs({kind:`list`,resource:r},t),problem:W(`cannotReach`,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))}))},sCe=(e,t,n,r,i)=>{let a=n?.list?.relatedColumns??[];if(a.length===0)return e;let o=new Map(e.map(e=>[e.id,e]));return cx(t,n).flatMap(e=>{let t=o.get(e);if(t)return[t];let n=a.find(t=>t.name===e),s=n&&r[n.resource];if(!n||!s)return[];let c=n.label??K(n.name);return[{id:n.name,header:c,kind:`text`,width:160,minWidth:Sb(c,!1),sortable:!1,render:e=>(0,R.jsx)(E6,{column:n,records:e[n.name]??[],target:s,view:i[s.name],Card:M6})}]})},cCe=({model:e,view:t,target:n,children:r})=>{let i=v6(e.name,t.listOf,!0),a=t.names?.plural??K(e.name),o=e=>(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[(0,R.jsx)(vd,{title:a,subtitle:t.help}),e]});if(i.error)return o((0,R.jsx)(XS,{title:y6(`couldNotLoadYour`,a.toLowerCase()),error:i.error}));if(!i.data)return o((0,R.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}));let s=g6(n,i.data);return s?r(s):o((0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:y6(`noneYet`,a.toLowerCase())}))},e9=({title:e,chips:t,label:n,required:r,initial:i=``,busy:a,onSave:o,onClose:s})=>{let c=(0,I.useId)(),[l,u]=(0,I.useState)(i),d=`${c}-form`;return(0,R.jsx)(bT,{open:!0,title:e,onClose:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:s,children:Q(`cancel`)}),(0,R.jsx)(V,{type:`submit`,form:d,variant:`primary`,loading:a,children:Q(`save`)})]}),children:(0,R.jsxs)(`form`,{id:d,className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),o(l.trim()===``?null:l.trim())},children:[t.length>0&&(0,R.jsx)(v3,{chips:t}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,R.jsx)(`label`,{htmlFor:c,className:`font-medium`,children:n}),!r&&(0,R.jsx)(`span`,{id:`${c}-hint`,className:`text-xs text-muted-foreground`,children:Q(`optional`)})]}),(0,R.jsx)(cd,{id:c,value:l,required:r,pattern:r?`.*\\S.*`:void 0,"aria-describedby":r?void 0:`${c}-hint`,autoFocus:!0,autoComplete:`off`,onChange:e=>u(e.target.value)})]})]})})},t9=rr(),lCe={start:0,end:0},n9=(e,t)=>t9.and(t,{kind:`present`,field:e.field,span:lCe}),r9=e=>{switch(e.kind){case`and`:case`or`:return{...e,args:e.args.map(r9)};case`not`:return i9(e.arg);case`search`:case`present`:case`isNull`:return e;default:return n9(e,e)}},i9=e=>{switch(e.kind){case`and`:return t9.or(...e.args.map(i9));case`or`:return t9.and(...e.args.map(i9));case`not`:return r9(e.arg);case`search`:case`present`:case`isNull`:return t9.not(e);default:return n9(e,t9.not(e))}},a9=e=>{let t=ln(e);if(!t.ok)throw Error(`The filter cannot be read: ${t.errors.map(e=>e.message).join(`; `)}`);return t.ast},o9=(e,t)=>{let n=a9(e);if(!n)return null;let r=a9(t),i=t9.not(r9(n));return Hn(r?t9.and(r,i):i)},uCe=(e,t)=>o9(t,e),s9=e=>e.key.startsWith(`extra:`)?`extra:${e.label}`:e.key,dCe=(e,t)=>{let n=new Map(e.map(e=>[s9(e),e])),r=new Map(t.map(e=>[s9(e),e])),i=e.filter(e=>!r.has(s9(e))).map(e=>({kind:`removed`,label:e.label})),a=t.flatMap(e=>{let t=n.get(s9(e));return t&&t.label!==e.label?[{kind:`changed`,label:e.label,before:t.label}]:[]}),o=t.filter(e=>!n.has(s9(e))).map(e=>({kind:`added`,label:e.label}));return[...i,...a,...o]},fCe=(e,t,n,r)=>{let i=e-t;if(i===0)return Q(`asMany`,r);let a=Math.abs(i)===1?n:r;return i>0?Q(`more`,i,a):Q(`fewer`,-i,a)},c9=12,l9={added:{word:`added`,className:`text-success-text`},removed:{word:`removed`,className:`text-danger-text`},changed:{word:`changed`,className:`text-primary-text`}},pCe=({changes:e})=>(0,R.jsx)(`ul`,{"aria-label":Q(`filterChanges`),className:`divide-y rounded-md border`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`grid grid-cols-[72px_1fr] gap-3 px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`font-medium ${l9[e.kind].className}`,children:Q(l9[e.kind].word)}),e.kind===`changed`?(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,R.jsx)(`span`,{className:`font-medium`,children:e.label})]}):(0,R.jsx)(`span`,{className:e.kind===`removed`?`text-muted-foreground line-through`:`font-medium`,children:e.label})]},`${e.kind}:${e.label}`))}),u9=(e,t)=>{let n=Eh({...QT(U(),e,t??``),enabled:t!==null});return t===null?0:n.data},mCe=(e,t,n)=>`${e} ${e===1?t:n}`,d9=({model:e,view:t,title:n,filter:r,total:i,plural:a})=>{let o=t?.list?.displays?.find(e=>e.kind===`cards`);return(0,R.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`h3`,{className:`font-semibold`,children:[n,` `,(0,R.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[`(`,i??`…`,`)`]})]}),i!==void 0&&i>c9&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:Q(`firstOf`,c9,i)}),r===null||i===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:Q(`noPlural`,a)}):(0,R.jsx)(C5,{model:e,view:t,filter:r,sort:Ux(e,t),limit:c9,display:o?.name??`table`,row:!0,link:!1,empty:`No ${a}.`})]})},hCe=({model:e,view:t,title:n,before:r,after:i,saveNewLabel:a,updating:o,creating:s,onUpdate:c,onSaveNew:l,onCancel:u})=>{let d=dCe(c6(e,r),c6(e,i)),f=(0,I.useMemo)(()=>o9(r,i),[r,i]),p=(0,I.useMemo)(()=>uCe(r,i),[r,i]),m=u9(e,f),h=u9(e,p),g=(t?.names?.singular??K(e.name)).toLowerCase(),_=(t?.names?.plural??K(e.name)).toLowerCase(),v=m!==void 0&&h!==void 0;return(0,R.jsx)(bT,{open:!0,wide:!0,title:n,onClose:u,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:u,children:Q(`cancel`)}),(0,R.jsx)(V,{loading:s,disabled:o,onClick:l,children:a}),(0,R.jsx)(V,{variant:`primary`,loading:o,disabled:s,onClick:c,children:Q(`update`)})]}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d.length>0&&(0,R.jsx)(pCe,{changes:d}),v?(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-semibold`,children:fCe(m,h,g,_)}),(0,R.jsxs)(`span`,{className:`text-muted-foreground`,children:[`: `,Q(`addedRemoved`,mCe(m,g,_),h)]})]}):(0,R.jsx)(_u,{className:`h-4 w-48`}),(0,R.jsx)(d9,{model:e,view:t,title:Q(`added`),filter:f,total:m,plural:_}),(0,R.jsx)(d9,{model:e,view:t,title:Q(`removed`),filter:p,total:h,plural:_})]})})},gCe=()=>{let{address:e,set:t}=sS();return{key:e?.kind===`list`?e.savedSearch:void 0,open:e=>t({savedSearch:e})}},f9=e=>e instanceof Error?e.message:Q(`somethingWrong`),_Ce=(e,t)=>{let n=J(),r=U(),i=qy(),a=nE(),{href:o,open:s}=sS(),c=gCe(),{resource:l}=e,u=n.resources[l],d=n.views[l]?.searchesOf,f=n.permissions[l],p=u!==void 0&&d!==void 0&&f!==void 0&&VT(f,`create`)&&VT(f,`delete`),m=n.signIn?.[l]?.signIn,h=V6(l,p),g=e=>Dr(Xb(u,e)),_=d&&h.data?.find(e=>e[d.filter]===t),v=_||c.key===void 0||!f||!VT(f,`update`)?void 0:h.data?.find(e=>g(e)===c.key),y=n.views[l]?.names,b=y?.plural??`saved searches`,x=d?.name===void 0?void 0:u?.fields[d.name],S=Dh({mutationFn:e=>r.create(l,{[d.filter]:t,...d.name&&{[d.name]:e}}),onSuccess:e=>{c.open(g(e.record)),i.show({state:`success`,title:Q(`searchSaved`),action:{label:Q(`openPlural`,b),href:o({kind:`list`,resource:l}),onNavigate:s}})},onError:e=>i.show({state:`error`,title:Q(`couldNotSave`),description:f9(e)}),onSettled:()=>a(l)}),C=Dh({mutationFn:e=>r.remove(l,g(e)),onError:e=>i.show({state:`error`,title:Q(`couldNotTakeOff`),description:f9(e)}),onSettled:()=>a(l)}),w=Dh({mutationFn:e=>r.update(l,g(e),{[d.filter]:t},e.etag??`*`),onSuccess:()=>i.show({state:`success`,title:Q(`searchUpdated`)}),onError:e=>i.show({state:`error`,title:Q(`couldNotUpdate`),description:f9(e)}),onSettled:()=>a(l)}),T=S.isPending||C.isPending||w.isPending;return{mode:p?`save`:m?`sign-in`:void 0,prompt:m,saved:_!==void 0,opened:v&&{filter:String(v[d.filter]??``),name:d.name&&typeof v[d.name]==`string`&&v[d.name]!==``?String(v[d.name]):void 0},noun:(y?.singular??K(l)).toLowerCase(),naming:x&&{label:n.views[l]?.fields[x.name]?.label??K(x.name),required:!x.nullable},ready:h.data!==void 0&&!T,updating:w.isPending,creating:S.isPending,remove:()=>_&&C.mutate(_),saveNew:(e,t)=>S.mutate(e,t),update:e=>v&&w.mutate(v,e)}},vCe=({model:e,view:t,search:n,filter:r,chips:i,className:a})=>{let o=_Ce(n,r),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)();if(!o.mode)return null;let p=n.label??Q(`saveSearch`);if(o.mode===`sign-in`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-haspopup":`dialog`,onClick:()=>c(!0),children:[(0,R.jsx)(ci,{className:`size-3.5`,"aria-hidden":!0}),p]}),(0,R.jsx)(m6,{as:`dialog`,prompt:o.prompt,open:s,onClose:()=>c(!1)})]});let m=e=>{u(!1),o.naming?f(e):o.saveNew(null)},h=d!==void 0&&o.naming&&(0,R.jsx)(e9,{title:d,chips:i,label:o.naming.label,required:o.naming.required,busy:o.creating,onSave:e=>o.saveNew(e,{onSuccess:()=>f(void 0)}),onClose:()=>f(void 0)}),g=o.opened;if(g){let n=Q(`saveAsNew`,o.noun);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-haspopup":`dialog`,"aria-disabled":!o.ready,onClick:()=>o.ready&&u(!0),children:[(0,R.jsx)(Hee,{className:`size-3.5`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`max-w-60 truncate`,children:Q(`updateName`,g.name??o.noun)})]}),(0,R.jsxs)(V,{className:a,"aria-haspopup":o.naming?`dialog`:void 0,"aria-disabled":!o.ready,onClick:()=>o.ready&&m(n),children:[(0,R.jsx)(oi,{className:`size-3.5`,"aria-hidden":!0}),n]}),l&&(0,R.jsx)(hCe,{model:e,view:t,title:g.name?Q(`updateNameQuestion`,g.name):Q(`updateNounQuestion`,o.noun),before:g.filter,after:r,saveNewLabel:n,updating:o.updating,creating:o.creating,onUpdate:()=>o.update({onSuccess:()=>u(!1)}),onSaveNew:()=>m(n),onCancel:()=>u(!1)}),h]})}let _=o.saved?ii:ci;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-pressed":o.saved,"aria-haspopup":!o.saved&&o.naming?`dialog`:void 0,"aria-disabled":!o.ready,onClick:()=>o.ready&&(o.saved?o.remove():m(p)),children:[(0,R.jsx)(_,{className:o.saved?`size-3.5 text-primary`:`size-3.5`,"aria-hidden":!0}),p]}),h]})},yCe=e=>e instanceof Error?e.message:Q(`somethingWrong`),bCe=({model:e,view:t,name:n,value:r,onChange:i})=>{let a=(0,I.useId)(),o=e.fields[n],s=t.fields[n],c=s?.label??K(n);if(o?.type===`boolean`)return(0,R.jsx)(ZS,{checked:r===!0,onChange:i,label:c});if(o?.type!==`enum`)throw Error(`Not implemented: "${n}" is ${o?.type??`unknown`}, and a saved search's controls are enums or booleans`);return(0,R.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-muted-foreground`,children:[c,(0,R.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-foreground shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:(o.enumValues??[]).map(e=>(0,R.jsx)(`option`,{value:e,children:us(e,s?.valueLabels)},e))})]})},xCe=(e,t,n)=>Object.entries(n).map(([n,r])=>`${t.fields[n]?.label??K(n)}: ${e.fields[n]?.type===`boolean`?Q(r===!0?`on`:`off`):us(String(r),t.fields[n]?.valueLabels)}`).join(`, `),SCe=({model:e,view:t,recordKey:n,title:r,row:i,fields:a})=>{let o=U(),s=qy(),c=nE(),l=Dh({mutationFn:t=>o.update(e.name,n,t,i.etag??`*`),onSuccess:(n,i)=>s.show({state:`success`,title:Q(`saved`,r),description:xCe(e,t,i)}),onError:e=>s.show({state:`error`,title:Q(`couldNotChange`),description:yCe(e)}),onSettled:()=>c(e.name)});return(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-3`,children:a.map(n=>(0,R.jsx)(bCe,{model:e,view:t,name:n,value:l.isPending&&n in(l.variables??{})?l.variables[n]:i[n],onChange:e=>l.mutate({[n]:e})},n))})},CCe=e=>e instanceof Error?e.message:Q(`somethingWrong`),wCe=({model:e,view:t,of:n,target:r,targetView:i,row:a,recordKey:o,canRename:s,onDelete:c})=>{let l=U(),u=qy(),d=nE(),[f,p]=(0,I.useState)(!1),{name:m,chips:h,title:g,body:_}=H6({model:e,of:n,target:r,targetView:i,row:a,recordKey:o}),v=Dh({mutationFn:t=>l.update(e.name,o,{[n.name]:t},a.etag??`*`),onSuccess:()=>p(!1),onError:e=>u.show({state:`error`,title:Q(`couldNotRename`),description:CCe(e)}),onSettled:()=>d(e.name)}),y=n.name===void 0?void 0:e.fields[n.name];return(0,R.jsxs)(`section`,{"aria-label":g,className:`flex flex-col gap-3 rounded-lg border bg-surface p-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,R.jsx)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:(0,R.jsx)(`h2`,{className:`text-[16px] font-semibold`,children:(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:o},className:`hover:underline`,children:m??(0,R.jsx)(y3,{chips:h})})})}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.controls&&(0,R.jsx)(SCe,{model:e,view:t,recordKey:o,title:g,row:a,fields:n.controls}),s&&y&&(0,R.jsx)(V,{variant:`ghost`,"aria-label":Q(`renameTitle`,g),"aria-haspopup":`dialog`,onClick:()=>p(!0),children:(0,R.jsx)(oo,{className:`size-3.5`,"aria-hidden":!0})}),c&&(0,R.jsx)(V,{variant:`ghost`,"aria-label":Q(`deleteTitle`,g),onClick:()=>c(g),children:(0,R.jsx)(zo,{className:`size-3.5`,"aria-hidden":!0})})]})]}),f&&y&&(0,R.jsx)(e9,{title:Q(`renameTitle`,g),chips:h,label:t.fields[y.name]?.label??K(y.name),required:!y.nullable,initial:m,busy:v.isPending,onSave:e=>v.mutate(e),onClose:()=>p(!1)}),(0,R.jsx)(B6,{..._})]})},TCe=({model:e,view:t})=>{let{resources:n,views:r}=J(),i=t.searchesOf,a=n[i.resource],o=r[i.resource],s=V6(e.name,!0),c=oS(e.name),l=U5({model:e,view:t}),u=t.names?.plural??K(e.name),d=e=>(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[l.dialogs,(0,R.jsx)(vd,{title:u,subtitle:t.help}),e]});if(!a)return d((0,R.jsx)(rS,{title:Q(`notFound`),children:Kh(Q(`noResource`),i.resource)}));if(s.error)return d((0,R.jsx)(XS,{title:Q(`couldNotLoadYour`,u.toLowerCase()),error:s.error}));if(!s.data)return d((0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,R.jsx)(_u,{className:`h-56`},t))}));if(s.data.length===0){let e=(o?.names?.plural??K(a.name)).toLowerCase();return d((0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:Kh(Q(`noSavedYet`,u.toLowerCase()),(0,R.jsx)(cS,{to:{kind:`list`,resource:a.name},className:`font-medium text-primary-text hover:underline`,children:e}))}))}return d((0,R.jsx)(`div`,{className:`flex flex-col gap-4`,children:s.data.map(n=>{let r=Dr(Xb(e,n)),s=VT(c,`delete`)?e=>void l.start({key:r,title:e,etag:n.etag,snapshot:n}):void 0;return(0,R.jsx)(wCe,{model:e,view:t,of:i,target:a,targetView:o,row:n,recordKey:r,canRename:VT(c,`update`),onDelete:s},r)})}))},ECe=({field:e,hints:t,resource:n,stored:r,onSave:i,close:a})=>{let[o,s]=(0,I.useState)(()=>AS(e,r)),c=(0,I.useRef)(null),l=(0,I.useRef)(!1),u=!t?.widget&&(e.type===`boolean`||e.type===`enum`);(0,I.useEffect)(()=>{c.current?.querySelector(`input, select, textarea, button, [tabindex]`)?.focus()},[]);let d=(t,n,s=o)=>{l.current||(l.current=!0,t&&jS(e,s,r)&&i(OS(e,s)),a(n))};return(0,R.jsx)(`div`,{ref:c,className:`w-full min-w-0`,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),d(!0)):e.key===`Tab`?(e.preventDefault(),d(!0,e.shiftKey?-1:1)):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),d(!1))},onBlur:e=>{c.current?.contains(e.relatedTarget)||d(!0)},children:(0,R.jsx)(BC,{field:e,hints:t,value:o,stored:r,resource:n,onChange:e=>{s(e),u&&d(!0,void 0,e)}})})},DCe=a({en:{changedBySomeoneElse:`Changed by someone else`,couldNotSave:`Could not save`},nl:{changedBySomeoneElse:`Gewijzigd door iemand anders`,couldNotSave:`Kon niet bewaren`}}),OCe=e=>{let t=U(),n=Qp(),r=qy(),[i,a]=(0,I.useState)(new Map),o=(0,I.useRef)(i),s=(0,I.useRef)(new Map),c=(e,t)=>{o.current=new Map(o.current).set(e,{...o.current.get(e),...t}),a(o.current)},l=async(i,a,s)=>{let l=Xb(e,i),u=String(o.current.get(i.id)?.etag??i.etag);try{let r=await t.update(e.name,l,{[a]:s},u);c(i.id,{[a]:r.record[a],etag:r.etag}),n.setQueryData(H.record(e.name,Dr(l)),r),n.invalidateQueries({queryKey:[`page`,e.name]}),n.invalidateQueries({queryKey:[`list`,e.name]}),n.invalidateQueries({queryKey:[`map`,e.name]})}catch(n){if(!Ks(n))throw c(i.id,{[a]:i[a]}),n;let o=n.status===412,s=o?await t.get(e.name,l):void 0;c(i.id,s?{[a]:s.record[a],etag:s.etag}:{[a]:i[a]});let u=n.errors.find(e=>e.field===a)?.message??n.message;r.show({state:`error`,title:DCe(o?`changedBySomeoneElse`:`couldNotSave`),description:u})}};return{patches:i,save:(e,t,n)=>{c(e.id,{[t]:n});let r=(s.current.get(e.id)??Promise.resolve()).then(()=>l(e,t,n));return s.current.set(e.id,r.catch(()=>void 0)),r}}},kCe=(e,t,n)=>{let r=OCe(e),i=t?.list?.editable??[];return{editor:i.length>0&&VT(n,`update`)?{editable:(t,n)=>i.includes(n)&&e.fields[n]!==void 0&&wS(e.fields[n])&&HT(t,`update`),render:(n,i,a)=>(0,R.jsx)(ECe,{field:e.fields[i],hints:t?.fields[i],resource:e.name,stored:n[i],onSave:e=>void r.save(n,i,e),close:a})}:void 0,patches:r.patches}},ACe=(e,t,n)=>({order:r,index:i})=>{let a=t=>r.findIndex(n=>Dr(Xb(e,n))===t),o=t.after.find(e=>a(e.key)>i);if(o)return u8(`dependsOn`,n,o.title);let s=t.before.find(e=>a(e.key)!==-1&&a(e.key)<i);return s?u8(`dependsOn`,s.title,n):void 0},jCe=(e,t,n,r)=>{let i=e[t],a;for(let o=n;o<e.length;o++){let n=r({record:i,order:Wv(e,t,o),index:o});if(n===void 0)return{to:o,...a!==void 0&&{reason:a}};a??=n}return{to:t,reason:a}},MCe=({model:e,view:t,field:n,filter:r,fields:i,rule:a})=>{let o=U(),s=qy(),c=nE(),{resources:l,views:u}=J(),d=`${n} asc`,f=Eh({queryKey:[...H.list(e.name,r,d,500,`hand-order`),i.join(`,`)],queryFn:async()=>{let t=q0(l,u,e,i),n=[],a=``;do{let s=await o.search(e.name,{filter:r||void 0,orderBy:d,pageSize:500,labels:t,...a&&{pageToken:a}});n.push(...J0(l,e,i,s.items,s.labels).map((t,n)=>({...t,id:Yb(e,s.items[n])}))),a=s.nextPageToken}while(a);return n}}),[p,m]=(0,I.useState)(),h=(0,I.useRef)(void 0),g=(0,I.useRef)(void 0),_=(0,I.useRef)(Promise.resolve()),v=(0,I.useRef)(0),y=(0,I.useRef)(void 0),b=async()=>{let t=h.current,r=g.current;if(g.current=void 0,!t||!r)return;let i=s8(t.map(e=>e[n]),r.first,r.last),a=t.slice(i.first,i.last+1),c=Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[Dr(Xb(e,t)),t.etag]]:[])),l=(await o.batchWrite([{op:`reorder`,resource:e.name,field:n,keys:a.map(t=>Xb(e,t)),start:i.start,etags:c}])).results[0];if(l?.op!==`reorder`)return;let u=new Map(a.map(e=>[e.id,{[n]:e[n]}])),d=n8(e,l.records.map(t=>({...t,before:u.get(Yb(e,t.record))??{}})),[n]);if(y.current!==void 0&&s.dismiss(y.current),y.current=s.show({state:`success`,title:t8(`orderChanged`),action:{label:t8(`undo`),onClick:()=>E(d)}}),!h.current)return;let f=new Map(l.records.map(t=>[Yb(e,t.record),t]));h.current=h.current.map(e=>{let t=f.get(e.id);return t?{...e,[n]:t.record[n],etag:t.etag}:e})},x=e=>t=>{h.current=void 0,g.current=void 0,m(void 0),s.show({state:`error`,title:e,description:xx(t)})},S=async()=>{--v.current,!(v.current>0)&&(await c(e.name),!(v.current>0)&&(h.current=void 0,m(void 0)))},C=(n,r)=>{let i=h.current??f.data;if(!i||n===r)return;if(!e.position?.after)return w(i,n,r,a);let s=Hx(e,i[n]).record,c=i[n].id;a8(o,e,t,s).then(n=>{let i=h.current??f.data,o=ACe(e,n,qb(e,t,s,c));w(i,i.findIndex(e=>e.id===c),r,e=>o(e)??a?.(e))},x(t8(`couldNotChange`)))},w=(e,t,n,r)=>{if(t===-1||t===n)return;let i=r?T(e,t,n,r):n;if(t===i)return;h.current=Wv(e,t,i);let a=Math.min(t,i),o=Math.max(t,i);g.current=g.current?{first:Math.min(g.current.first,a),last:Math.max(g.current.last,o)}:{first:a,last:o},m(h.current),v.current+=1,_.current=_.current.then(b).catch(x(t8(`couldNotChange`))).then(S)},T=(t,n,r,i)=>{let a=jCe(t.map(t=>Hx(e,t).record),n,r,i);return a.reason!==void 0&&s.show({state:`warning`,title:a.to===n?t8(`notMoved`):t8(`movedToPlace`,a.to+1),description:a.reason}),a.to},E=e=>{y.current!==void 0&&s.dismiss(y.current),y.current=void 0,v.current+=1,_.current=_.current.then(async()=>{await o.batchWrite(e),h.current=void 0,g.current=void 0,m(void 0)}).catch(x(t8(`couldNotUndo`))).then(S)};return{rows:p??f.data,loading:f.isPending,error:f.error,move:C}},p9=({model:e,view:t,field:n,filter:r,columns:i,sort:a})=>{let{resources:o,views:s}=J(),{fields:c,dropRules:l}=wC(),{go:u,href:d}=sS(),f=a!==void 0,p=(0,I.useMemo)(()=>g5(e,t,i,{resources:o,views:s,fieldTypes:c}).map(e=>f?e:{...e,sortable:!1}),[e,t,i.join(`,`),o,s,c,f]),m=(0,I.useMemo)(()=>zx(e,t,p.map(e=>e.id)),[e,t,p]),h=t?.list?.drag?.rule,g=h===void 0?void 0:l?.[h],_=MCe({model:e,view:t,field:n,filter:r,fields:m,...g&&{rule:g}}),v=_.rows,y=(0,I.useMemo)(()=>v&&{total:v.length,rowAt:e=>v[e]},[v]);if(h!==void 0&&!g)return(0,R.jsx)(fg,{children:Kh(t8(`noRule`),h)});if(_.loading)return(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))});if(_.error)return(0,R.jsx)(XS,{title:t8(`couldNotLoad`),error:_.error});if(!y||y.total===0)return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:t8(`nothingYet`)});let b=t=>u({kind:`record`,resource:e.name,key:Xb(e,t)});return(0,R.jsx)(l3,{fit:!0,scroll:`parent`,columns:p,source:y,latencyMs:0,onOpenRow:b,rowLink:t=>({href:d({kind:`record`,resource:e.name,key:Xb(e,t)}),onFollow:()=>b(t)}),...a&&{sort:a.value,onSortChange:a.onChange},rowNumbers:!1,reorder:{label:n=>qb(e,t,n,n.id),onMove:_.move}})},m9=({sorting:e,onChange:t,size:n,iconOnly:r=!1})=>{let i=t8(e?`done`:`reorder`);return(0,R.jsxs)(V,{size:n,variant:e?`primary`:`secondary`,onClick:()=>t(!e),...r&&{"aria-label":i,title:i},children:[e?(0,R.jsx)(bi,{className:`size-3.5`}):(0,R.jsx)(Aee,{className:`size-3.5`}),!r&&i]})},NCe=rr(),PCe=e=>e.find(e=>e.kind===`search`),FCe=({address:e})=>{let{resources:t,views:n,signIn:r}=J(),i=t[e.resource],a=r?.[e.resource];if(!i)return a?(0,R.jsx)(m6,{as:`page`,prompt:a.signIn}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e.resource)});let o=yr(n[e.resource],e.list);if(e.list!==void 0&&!o)return(0,R.jsx)(rS,{title:W(`notFound`),children:W7(`noList`,e.list)});if(o?.searchesOf)return(0,R.jsx)(TCe,{model:i,view:o});let s=Kx(t,n,e.resource,e.list);if(o&&s.listOf){let t=s.model;return(0,R.jsx)(cCe,{model:i,view:o,target:t,children:n=>(0,R.jsx)(h9,{model:t,address:e,scope:n,heading:{title:o.names?.plural??K(i.name),subtitle:o.help}})})}return(0,R.jsx)(h9,{model:i,address:e})},h9=({model:e,address:t,scope:n,heading:r})=>{let i=J(),{set:a,listTo:o,go:s,href:c}=sS(),l=e.name,u=yr(i.views[l],t.list),d=(0,I.useMemo)(()=>r6(u,e),[u,e]),{fields:f}=wC(),p=(0,I.useMemo)(()=>sCe(m5(lx(e,u),e,u,f),e,u,i.resources,i.views),[e,u,f,i.resources,i.views]),m=t.filter,h=(0,I.useMemo)(()=>e6(d,m),[d,m]),g=h.ok?h.state:w3,_=h.ok?h.extras:[],{orderBy:v,filterLayout:y}=t,b=lu(),x=uu(),[S,C]=(0,I.useState)(!1),w=n?[..._,n]:_,T=mxe({model:e,resources:i.resources,views:i.views,view:u,state:g,extras:w}),E=n?Y3(d,g,w):h.ok?m:``,D=(0,I.useMemo)(()=>zx(e,u,p.map(e=>e.id)),[e,u,p]),O=(0,I.useMemo)(()=>Jve(u,i.resources,i.views,D),[u,i.resources,i.views,D]),k=m3({resources:i.resources,views:i.views,model:e,columns:D,filter:E,orderBy:v,related:O}),A=Ox(e,u,t.display),j=oS(l),M=n?void 0:K6(e,j),[N,ee]=(0,I.useState)(!1),te=N&&M!==void 0,ne=!A&&!te&&Eye(u,M,v,E),re=te||A?.kind!==`map`;Lne(re);let ie=Z6(e,k.page,k.key,A?.kind===`custom`),ae=QSe(),oe=Kb(e,u),se=e=>({key:e.id,title:String(typeof e[oe]==`object`?e[oe].name:e[oe]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),ce=u?.names?.singular??K(l),le=kCe(e,u,j),{state:ue}=B(),de=U5({model:e,view:u,restore:W5(e),onReview:e=>s({kind:`record`,resource:l,key:e.key})}),P=(e,t=_)=>a({filter:Y3(d,e,t)}),fe=PCe(_),pe=e=>{let t=_.filter(e=>e.kind!==`search`);P(g,e?[...t,NCe.search(e)]:t)},me=u?.names?.plural??K(l),he=A?.kind===`calendar`||A?.kind===`timeline`||A?.kind===`board`&&vx(e)?void 0:A,F=he&&(0,R.jsx)(p5,{model:e,view:u,display:he,orderBy:v,onChange:e=>a({orderBy:e})}),ge=e.search?.length?(0,R.jsx)(aCe,{value:fe?.kind===`search`?fe.text:``,onCommit:pe,placeholder:W7(`searchPlural`,me),className:b?void 0:`min-h-11`}):null,_e=(0,R.jsx)(V3,{layout:y,config:T,value:g,onChange:P,leading:y===`bar`?F:void 0,trailing:ge}),ve=y===`bar`?_e:(0,R.jsx)(B3,{groups:[F?[F]:[]],trailing:ge}),ye=k3(T,g),be=(0,R.jsx)(x3,{scroll:!0,chips:ye,onRemove:e=>P(A3(g,e)),onClear:()=>P(w3)}),xe=he&&(0,R.jsx)(N3,{title:W7(`sort`),children:(0,R.jsx)(p5,{model:e,view:u,display:he,orderBy:v,onChange:e=>a({orderBy:e}),className:`min-h-11 w-full`})}),Se=(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxs)(V,{className:`min-h-11`,onClick:()=>C(!0),"aria-haspopup":`dialog`,children:[(0,R.jsx)(Kee,{className:`size-3.5`}),ye.length>0?W7(`filtersCount`,ye.length):W7(`filters`)]}),ge??(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:be})]}),ge&&be,(0,R.jsx)(yT,{title:W7(`filters`),open:S,onClose:()=>C(!1),children:(0,R.jsx)(V3,{layout:`panel`,fullWidth:!0,config:T,value:g,onChange:P,leading:xe})})]}),Ce=!n&&G5(u,i.pages,j)&&(0,R.jsxs)(cS,{to:{kind:`create`,resource:l},className:Af({variant:`primary`}),children:[(0,R.jsx)(co,{className:`size-3.5`}),W7(`newRecord`,ce)]}),we=u?.saveSearch&&!n&&h.ok&&m&&(0,R.jsx)(vCe,{model:e,view:u,search:u.saveSearch,filter:m,chips:s6(e,u,m,Fve(T))}),Te=!n&&(0,R.jsx)(fSe,{model:e}),Ee=ISe({model:e,view:u,resources:i.resources,views:i.views,plural:me,filter:E,orderBy:v}),De=P7(u)&&(0,R.jsxs)(V,{onClick:()=>Ee.open(),...!b&&{"aria-label":W7(`export`),title:W7(`export`)},children:[(0,R.jsx)(Ji,{className:`size-3.5`}),b&&W7(`export`)]}),Oe=M&&!ne&&(0,R.jsx)(m9,{sorting:te,onChange:ee,iconOnly:!b}),ke=t=>!te&&(0,R.jsx)(f5,{view:u,choices:Mx(e,u,x),value:A?.name??`table`,onChange:e=>a({display:e}),menu:t}),Ae=l6(e),je=t=>{Ae(Hx(e,t).record),s({kind:`record`,resource:l,key:Xb(e,t)})},Me=k.source?(0,R.jsx)(l3,{columns:p,source:k.source,sort:Wx(v),onSortChange:e=>a({orderBy:Gx(e)}),onOpenRow:je,rowLink:t=>({href:c({kind:`record`,resource:l,key:Xb(e,t)}),onFollow:()=>je(t)}),cellEditor:le.editor,rowPatches:le.patches,initialScrollIndex:ae.initialIndex,onScrollIndex:ae.remember,rowActions:[{label:W7(`openRecord`,ce),onSelect:je},...VT(j,`delete`)?[{label:W7(`delete`),destructive:!0,available:e=>HT(e,`delete`),onSelect:e=>void de.start(se(e))}]:[]],bulkActions:[...P7(u)&&R7(e)?[{label:e=>W7(`exportCount`,e),onRun:e=>Ee.open(e)}]:[],...VT(j,`delete`)?[{label:e=>W7(`deleteCount`,e),destructive:!0,onRun:e=>de.startBulk(e.map(se))}]:[]],rowNumbers:!1,pinKey:ue.kind===`signed-in`?C_e(ue.user.id,Z7(l,t.list)):void 0,scroll:`parent`,className:`flex-1`}):(0,R.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),Ne={...k,initialIndex:ae.initialIndex,onScrollIndex:ae.remember},Pe=RSe({plural:me,search:fe?.kind===`search`?fe.text:``,filtered:ye.length>0,scoped:!!n||_.some(e=>e.kind!==`search`),canCreate:!!Ce}),Fe=(0,R.jsx)(LSe,{state:Pe,onClearSearch:()=>pe(``),onClearFilters:()=>P(w3),create:Ce}),Ie=te?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:W7(`dragToSort`)}),(0,R.jsx)(p9,{model:e,view:u,field:M,filter:``,columns:cx(e,u)})]}):ne?(0,R.jsx)(p9,{model:e,view:u,field:M,filter:``,columns:cx(e,u),sort:{value:Wx(v),onChange:e=>a({orderBy:Gx(e)})}}):A?A.kind===`cards`?(0,R.jsx)(ZSe,{model:e,view:u,display:A,list:Ne,empty:Fe},k.key.join(` `)):A.kind===`map`?(0,R.jsx)(u5,{model:e,view:u,display:A,filter:E,orderBy:v,fields:D,at:t.map,onMove:e=>a({map:e}),flush:!0}):A.kind===`board`?(0,R.jsx)(p8,{model:e,view:u,display:A,fields:D,filter:E,orderBy:v}):A.kind===`calendar`?(0,R.jsx)(L8,{model:e,view:u,display:A,fields:D,filter:E,at:t.calendar,linkTo:e=>o({calendar:e})}):A.kind===`timeline`?(0,R.jsx)(K8,{model:e,view:u,display:A,fields:D,filter:E,at:t.timeline,linkTo:e=>o({timeline:e})}):(0,R.jsx)(Y8,{display:A,list:ie}):k.source?.total===0&&!k.error?Fe:Me;return(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[de.dialogs,Ee.dialogs,(0,R.jsx)(vd,{title:r?.title??me,subtitle:r?r.subtitle:u?.help,actions:(0,R.jsxs)(R.Fragment,{children:[ke(!b),Oe,we,Te,De,Ce]})}),!h.ok&&(0,R.jsx)(XS,{title:W7(`unreadableFilter`),error:Error(h.errors.map(e=>e.message).join(`; `))}),k.error&&!A&&!te&&(0,R.jsx)(XS,{title:W7(`couldNotLoadRows`),error:k.error}),u?.chart&&!te&&(Er(u.chart)?(0,R.jsx)(iCe,{model:e,view:u,chart:u.chart,plural:me,filter:E}):(0,R.jsx)(rCe,{resource:l,chart:u.chart,title:W7(`created`,me),noun:me.toLowerCase(),filter:E})),!te&&(b?ve:Se),b&&y===`panel`&&!te?(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[(0,R.jsx)(`div`,{className:re?`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:_e}),Ie]}):Ie]})},g9=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],ICe=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=sg(),l=i?.roles??[],u=e.id===t.memberId,d=g9(t),f=e.role===`owner`&&t.role!==`owner`,p=l.filter(e=>e.membership);return(0,R.jsx)(N5,{name:e.name,email:e.email,self:u,error:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`select`,{"aria-label":G(`roleOf`,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-body`,children:(f?[e.role]:d).map(e=>(0,R.jsx)(`option`,{value:e,children:rg(e)},e))}),!u&&(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:G(`remove`)})]}),children:(0,R.jsx)(k5,{roles:p,selected:e.appRoles,grantable:og(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})})})},LCe=({current:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)(),o=e?.organization?.id,s=(0,I.useCallback)(()=>{o&&t.organizations.members(o).then(r,e=>a(e instanceof wc?wd(e):G(`couldNotReadMembers`)))},[t,o]);return(0,I.useEffect)(s,[s]),e?.organization?(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`members`),subtitle:G(`whoWorks`,e.organization.name)}),(0,R.jsxs)(Mf,{title:G(`members`),description:G(`membersDescription`),children:[(0,R.jsx)(Nf,{message:i}),n?(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,R.jsx)(ICe,{member:t,current:e,onChanged:s},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,G(`loading`)]})]})]}):null},RCe=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,o]=(0,I.useState)(`member`),[s,c]=(0,I.useState)([]);return(0,R.jsx)(D5,{title:G(`inviteSomeone`),description:G(`inviteDescription`),onInvite:async r=>{let i=await n.organizations.invite(e.organization.id,{email:r,role:a,appRoles:s});return c([]),t(),i},beside:(0,R.jsx)(`select`,{"aria-label":G(`organizationRole`),value:a,onChange:e=>o(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2`,children:g9(e).map(e=>(0,R.jsx)(`option`,{value:e,children:rg(e)},e))}),children:(0,R.jsx)(k5,{roles:i.filter(e=>e.membership),selected:s,grantable:og(i,e),onChange:c})})},zCe=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=e.appRoles.map(e=>ig(i?.roles??[],e));return(0,R.jsx)(O5,{email:e.email,gives:`${rg(e.role)}${a.length>0?` · ${a.join(`, `)}`:``}`,expiresAt:e.expiresAt,onResend:async()=>{let i=await r.organizations.resend(t,e);return n(),i},onRevoke:async()=>{await r.organizations.revoke(e.id),n()}})},BCe=({current:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)([]),i=e?.organization?.id,a=(0,I.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,I.useEffect)(a,[a]),!e?.organization||!i?null:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`invitations`),subtitle:G(`peopleInvited`,e.organization.name)}),(0,R.jsx)(RCe,{current:e,onSent:a}),(0,R.jsx)(Mf,{title:G(`notAcceptedYet`),description:n.length>0?G(`sendingAgain`):G(`nobodyWaiting`),children:n.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,R.jsx)(zCe,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},VCe=e=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)([]),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(0),u=(0,I.useCallback)(()=>l(e=>e+1),[]);return(0,I.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>s(e instanceof wc?wd(e):G(`couldNotReadOrganizations`)))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:u}},_9=e=>window.location.assign(`${e}/`),HCe=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,I.useState)(e.name),[o,s]=(0,I.useState)(e.slug),{busy:c,error:l,run:u}=sg(),d=i.trim()!==e.name||o!==e.slug;return(0,R.jsxs)(Mf,{title:G(`details`),description:G(t?`detailsEditable`:`detailsReadOnly`),children:[(0,R.jsx)(Nf,{message:l}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),u(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:o}),n()})},children:[(0,R.jsx)(cd,{"aria-label":G(`name`),value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":G(`slug`),value:o,disabled:!t,onChange:e=>s(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:c,disabled:!d||!i.trim(),children:G(`save`)})]})]})},UCe=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)([]),[a,o]=(0,I.useState)(``),{busy:s,error:c,run:l}=sg();return(0,I.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,R.jsxs)(Mf,{title:G(`handOver`),description:G(`handOverDescription`),children:[(0,R.jsx)(Nf,{message:c}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsxs)(`select`,{"aria-label":G(`newOwner`),value:a,onChange:e=>o(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2`,children:[(0,R.jsx)(`option`,{value:``,children:G(`chooseMember`)}),r.map(e=>(0,R.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,R.jsx)(V,{loading:s,disabled:!a,onClick:()=>void l(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:G(`handOver`)})]})]})},WCe=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(``),{busy:s,error:c,run:l}=sg(),u=()=>l(async()=>{await n.organizations.remove(e.id),_9(t)});return(0,R.jsxs)(Mf,{title:G(`deleteOrganization`),description:G(`deleteDescription`),children:[(0,R.jsx)(Nf,{message:r?void 0:c}),(0,R.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:G(`deleteOrganization`)}),r&&(0,R.jsxs)(jf,{title:G(`deleteTitle`,e.name),description:G(`deleteConfirm`),onClose:()=>i(!1),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>i(!1),children:G(`cancel`)}),(0,R.jsx)(V,{variant:`danger`,loading:s,disabled:a!==e.name,onClick:()=>void u(),children:G(`delete`)})]}),children:[(0,R.jsx)(Nf,{message:c}),(0,R.jsx)(cd,{"aria-label":G(`organizationName`),value:a,onChange:e=>o(e.target.value)})]})]})},GCe=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=sg();return(0,R.jsxs)(Mf,{title:G(`leave`),description:G(n?`leaveOwner`:`leaveMember`),children:[(0,R.jsx)(Nf,{message:a}),(0,R.jsx)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),_9(t)}),children:G(`leaveName`,e.name)})]})},KCe=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,R.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,R.jsx)(vd,{title:G(`organization`),subtitle:G(`noOrganization`)})});let i=e.role===`owner`;return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:r.name,subtitle:e.role?G(`youAre`,rg(e.role).toLowerCase()):G(`throughGlobalRoles`)}),(0,R.jsx)(HCe,{organization:r,editable:ag(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,R.jsx)(UCe,{organization:r,memberId:e.memberId}),e.role&&(0,R.jsx)(GCe,{organization:r,basePath:t,owner:i}),i&&(0,R.jsx)(WCe,{organization:r,basePath:t})]})},v9=({organization:e,current:t,busy:n,onOpen:r})=>(0,R.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e.name}),(0,R.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,R.jsx)(Fu,{tone:`green`,children:G(`current`)}):(0,R.jsx)(V,{size:`sm`,loading:n,onClick:r,children:G(`open`)})]}),qCe=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(``),a=M5((0,I.useCallback)((e,t)=>n.organizations.search(e,t).then(e=>({items:e.organizations,total:e.total})),[n]),r),{busy:o,error:s,run:c}=sg();return(0,R.jsx)(j5,{title:G(`allOrganizations`),description:G(`allOrganizationsDescription`),searchLabel:G(`findOrganization`),placeholder:G(`nameOrSlug`),query:r,onQuery:i,list:a,error:s,renderRow:r=>(0,R.jsx)(v9,{organization:r,current:r.id===t,busy:o,onOpen:()=>void c(async()=>{await n.organizations.switchTo(r.id),_9(e)})},r.id)})},y9=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),JCe=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(),{busy:o,error:s,run:c}=sg(),l=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??y9(n)}),_9(e)});return(0,R.jsxs)(Mf,{title:G(`newOrganization`),description:G(`newOrganizationDescription`),children:[(0,R.jsx)(Nf,{message:s}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),l()},children:[(0,R.jsx)(cd,{"aria-label":G(`name`),placeholder:G(`name`),value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":G(`slug`),placeholder:`slug`,value:i??y9(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:o,disabled:!n.trim(),children:G(`create`)})]})]})},YCe=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,I.useState)([]);if((0,I.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,R.jsx)(Mf,{title:G(`invitationsForYou`),description:G(`invitationsForYouDescription`),children:(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,R.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:e.organizationName??G(`anOrganization`)}),`: `,e.appRoles.map(e=>ig(i,e)).join(`, `)||G(`noAppRoles`),(0,R.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:G(`until`,new Date(e.expiresAt).toLocaleDateString(l()))})]},e.id))})})},XCe=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=sg(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&Lg(c),u=e.current?.organization?.id;return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`organizations`),subtitle:G(`organizationsSubtitle`)}),(0,R.jsxs)(Mf,{title:G(`yourOrganizations`),description:e.organizations.length>0?G(`memberOf`):G(`notMember`),children:[(0,R.jsx)(Nf,{message:o??e.error}),e.organizations.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,R.jsx)(v9,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),_9(t)})},e.id))})]}),(0,R.jsx)(YCe,{}),l&&(0,R.jsx)(JCe,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,R.jsx)(qCe,{basePath:t,currentId:u})]})},ZCe=(e,t)=>t?.active?{...e,role:t.active}:e,b9=a({en:{couldNotReadRoles:`Could not read your roles`,couldNotSwitch:`Could not switch the role`},nl:{couldNotReadRoles:`Kon je rollen niet lezen`,couldNotSwitch:`Kon niet van rol wisselen`}}),x9=(e,t)=>e instanceof wc?wd(e):t,QCe=(e,t=!0)=>{let{session:n}=B(),r=qy(),[i,a]=(0,I.useState)();(0,I.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:x9(e,b9(`couldNotReadRoles`))}))},[n,r,t]);let o=(0,I.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:x9(e,b9(`couldNotSwitch`))})),[n,r,e]);return{...i&&{current:i},switchTo:o}},$Ce=e=>{let t=wC().shell?.logo;return t?(0,R.jsx)(mg,{name:`shell.logo`,fallback:(0,R.jsx)(Cu,{...e}),children:(0,R.jsx)(t,{...e})}):(0,R.jsx)(Cu,{...e})},S9=(0,I.createContext)([]),ewe=()=>(0,I.useContext)(S9),twe=({ui:e,children:t})=>{let{plugins:n=[]}=J(),{loads:r,settled:i}=Mg(n,Ag()),a=(0,I.useMemo)(()=>xg(e,r),[e,r]);return i?(0,R.jsx)(CC.Provider,{value:a.ui,children:(0,R.jsx)(S9.Provider,{value:a.off,children:t})}):(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,Sg(`loading`)]})},nwe=({off:e})=>{let[t,n]=(0,I.useState)(!1);return t||e.length===0?null:(0,R.jsxs)(`div`,{role:`region`,"aria-label":Sg(`pluginsOff`),className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-warning-text`,children:[(0,R.jsx)(Vee,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,R.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,R.jsx)(`li`,{children:Kh(Sg(`pluginOff`),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),e.reason)},e.url))}),(0,R.jsx)(`button`,{type:`button`,"aria-label":Sg(`dismiss`),className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,R.jsx)(ts,{"aria-hidden":!0,className:`size-4`})})]})},C9=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),w9=({item:e,scope:t})=>{let{components:n}=wC(),r=n?.[e.component],i=r?(0,R.jsx)(zT,{value:t,children:(0,R.jsx)(mg,{name:e.component,children:(0,R.jsx)(r,{...mr(e.props??{})})})}):(0,R.jsx)(fg,{children:Kh(W(`noComponent`),e.component)});return e.sidebar?e.title?(0,R.jsx)(tb,{title:e.title,children:i}):i:e.title?(0,R.jsx)(Zy,{title:e.title,children:i}):(0,R.jsx)(`section`,{className:`py-8`,children:i})},rwe=(0,I.lazy)(()=>m(()=>import(`./record-map-DFy7sJEU.js`).then(e=>({default:e.RecordMap})),__vite__mapDeps([10,1,6,2,7,8,3,4,9]))),iwe=15,T9=({item:e,record:t})=>{let n=J().maps,r=n?.style,i=t5(t,e);if(!r||!i)return null;let a=(0,R.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-muted ${e.sidebar?`h-48`:`h-64 md:h-80`}`,children:(0,R.jsx)(I.Suspense,{fallback:null,children:(0,R.jsx)(rwe,{style:r,layers:n?.layers,position:i,zoom:e.zoom??iwe},`${i.latitude},${i.longitude}`)})});return e.sidebar?(0,R.jsx)(tb,{title:e.title,children:a}):(0,R.jsx)(Zy,{title:e.title,children:a})},awe=e=>d6(e)??rs,owe=({model:e,stored:t,recordKey:n,edit:r,onDelete:i})=>{let{go:a}=sS(),o=id(),s={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},c=iE(e.name,s,t=>t.run?.kind===`delete`&&a({kind:`list`,resource:e.name},{replace:!0})),[l,u]=(0,I.useState)(),d=c.actions.map(e=>({name:e.label,icon:awe(e.icon),blocked:c.blocked(e),running:c.running===e.name,...e.run?.kind===`delete`&&{tone:`danger`},onRun:()=>IT(e)?u(e):void c.run(e)})),f=c.actions.some(e=>e.run?.kind===`delete`),p=[...r?[{name:R5(`edit`),icon:oo,render:({className:e,children:t,role:n})=>(0,R.jsx)(cS,{to:r,role:n,className:e,children:t})}]:[],...d,...i&&!f?[{name:R5(`delete`),icon:zo,tone:`danger`,onRun:i}]:[]];return p.length===0?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:o?`max-md:hidden`:void 0,children:(0,R.jsx)($y,{actions:p})}),o&&(0,is.createPortal)((0,R.jsx)(vS,{actions:p,label:R5(`recordActions`),className:`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`}),o),l&&(0,R.jsx)(LT,{action:l,label:l.label,danger:l.run?.kind===`delete`,onCancel:()=>u(void 0),onConfirm:()=>{u(void 0),c.run(l)},onSubmit:async e=>{await c.submit(l,e),u(void 0)}})]})},swe=(e=[],t)=>e.includes(t)?e.filter(e=>e!==t):[...e,t],cwe=(e,t=[],n)=>!e.collapsed||t.includes(e.title)||e.items.some(e=>e.kind===`section`&&e.fields.some(n)),lwe=e=>{let t=e.findIndex(e=>e.kind===`tab`);if(t===-1)return{before:e,tabs:[],after:[]};let n=[];for(let r of e.slice(t)){if(r.kind!==`tab`)break;n.push(r)}return{before:e.slice(0,t),tabs:n,after:e.slice(t+n.length)}},uwe=(e,t)=>e.find(e=>e.title===t)??e[0],E9=e=>vr(e.items).flatMap(e=>e.kind===`section`?e.fields:[]),dwe=(e,t,n)=>{if(t&&!E9(t).some(n))return e.find(e=>E9(e).some(n))},fwe=(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)),pwe=e=>({id:String(e.id),productId:String(e.productId??``),description:String(e.description??``),quantity:Number(e.quantity),unitPriceCents:Math.round(Number(e.unitPrice)*100)}),mwe=({lines:e,draft:t,vatRate:n,saving:r,locked:i=!1})=>{let a=VT(oS(e.name),`update`);return(0,R.jsx)(Zy,{title:R5(`lines`),help:R5(`linesHelp`),children:(0,R.jsx)(`div`,{className:`-mx-4 overflow-x-auto px-4 [-webkit-overflow-scrolling:touch] md:mx-0 md:px-0`,children:(0,R.jsx)(`div`,{className:`min-w-[560px]`,children:(0,R.jsx)(Ry,{lines:t.shown.map(pwe),onChange:()=>void 0,onReorder:e=>t.setOrder(e.map(e=>e.id)),vatRate:n,readOnly:!0,reorderable:a&&!r&&!i})})})})},hwe=(e,t,n)=>`protobase:draft:${e}:${t}:${n}`,gwe=(e,t,n)=>u(()=>{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),_we=(e,t,n)=>u(()=>n?e.setItem(t,JSON.stringify(n)):e.removeItem(t),void 0),vwe=(e,t)=>Number(e.position)-Number(t.position),ywe=(e,t,n)=>{let r=e&&Object.values(e.fields).find(e=>e.type===`relation`&&e.relation?.resource===t.name),i=eC(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(vwe),loading:i.isPending&&!!e}},bwe=(e,t)=>{let[n,r]=(0,I.useState)(),i=t.map(e=>String(e.id)),a=(0,I.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]),o=a.map(e=>String(e.id)),s=n!==void 0&&o.some((e,t)=>e!==i[t]),c=(0,I.useCallback)(()=>!e||!s?[]:[{op:`reorder`,resource:e.name,field:`position`,keys:a.map(t=>Xb(e,t)),etags:Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[Dr(Xb(e,t)),t.etag]]:[]))}],[e,s,a]);return{shown:a,dirty:s,order:s?o:void 0,setOrder:e=>r(e),reset:()=>r(void 0),op:c}},xwe=e=>{let t=e>=5?5:e===4?3:e;return{shown:t,more:e-t}},Swe=(e,t)=>Math.abs(e)<40||Math.abs(e)<=Math.abs(t)?0:e<0?1:-1,Cwe=e=>e===`ArrowRight`?1:e===`ArrowLeft`?-1:0,wwe=(e,t,n)=>Math.min(Math.max(e+t,0),Math.max(n-1,0)),Twe=e=>e.key===`i`&&!e.ctrlKey&&!e.metaKey&&!e.altKey,D9=`protobase:lightbox-details`,Ewe=e=>u(()=>e.getItem(D9)===`true`,!1),Dwe=(e,t)=>u(()=>t?e.setItem(D9,`true`):e.removeItem(D9),void 0),O9=a({en:{couldNotLoad:`Could not load the photos`,showAll:e=>`Show all ${e} photos`,showPhoto:(e,t)=>`Show photo ${e} of ${t}`,details:`Details`,holderDetails:e=>`${e} details`,close:`Close`,previousPhoto:`Previous photo`,nextPhoto:`Next photo`,couldNotLoadOne:e=>`Could not load the ${e}`,open:e=>`Open ${e}`},nl:{couldNotLoad:`Kon de foto’s niet laden`,showAll:e=>`Alle ${e} foto’s tonen`,showPhoto:(e,t)=>`Foto ${e} van ${t} tonen`,details:`Gegevens`,holderDetails:e=>`Gegevens van ${e.toLowerCase()}`,close:`Sluiten`,previousPhoto:`Vorige foto`,nextPhoto:`Volgende foto`,couldNotLoadOne:e=>`Kon ${e} niet laden`,open:e=>`${e} openen`}}),k9=`flex size-10 shrink-0 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/40`,Owe=({title:e,photos:t,index:n,onIndex:r,onClose:i,details:a,detailsTitle:o=O9(`details`)})=>{let s=(0,I.useRef)(null),c=(0,I.useRef)(void 0),l=(0,I.useId)(),u=lu(),[d,f]=(0,I.useState)(()=>Ewe(localStorage)),[p,m]=(0,I.useState)(!1);hu(s,!0,i),(0,I.useEffect)(()=>m(!0),[]);let h=t.length,_=e=>{let t=wwe(n,e,h);t!==n&&r(t)},v=hb(t[n],{width:1600,height:1200}),y=a?.(n),b=y!==void 0,x=e=>{f(e),Dwe(localStorage,e)};return(0,R.jsxs)(`div`,{ref:s,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":e,onKeyDown:e=>{if(b&&Twe(e))return e.preventDefault(),x(!d);let t=Cwe(e.key);t!==0&&(e.preventDefault(),_(t))},className:`fixed inset-0 z-[90] flex flex-col overflow-y-auto overscroll-contain bg-backdrop outline-none md:flex-row`,children:[(0,R.jsxs)(`div`,{className:`flex h-dvh shrink-0 flex-col md:sticky md:top-0 md:min-w-0 md:flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 p-3`,children:[(0,R.jsx)(`span`,{className:`rounded-full bg-background/85 px-3 py-1 font-medium tabular-nums text-foreground`,"aria-live":`polite`,children:`${n+1} / ${h}`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b&&(0,R.jsx)(`button`,{type:`button`,className:g(k9,`aria-expanded:bg-foreground aria-expanded:text-background`),"aria-label":o,"aria-expanded":d,"aria-controls":u?l:void 0,"aria-keyshortcuts":`i`,onClick:()=>x(!d),children:(0,R.jsx)(Sa,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,className:k9,"aria-label":O9(`close`),onClick:i,children:(0,R.jsx)(ts,{className:`size-4`,"aria-hidden":!0})})]})]}),(0,R.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 touch-pan-y items-center justify-center px-3 pb-3 md:px-16`,onPointerDown:e=>{e.pointerType===`touch`&&(c.current={x:e.clientX,y:e.clientY})},onPointerUp:e=>{c.current&&=(_(Swe(e.clientX-c.current.x,e.clientY-c.current.y)),void 0)},onPointerCancel:()=>c.current=void 0,children:[v&&(0,R.jsx)(_C,{image:v,className:`max-h-full max-w-full select-none object-contain`},v.url),h>1&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,className:g(k9,`absolute left-3 top-1/2 -translate-y-1/2 aria-disabled:cursor-default aria-disabled:opacity-40`),"aria-label":O9(`previousPhoto`),"aria-disabled":n===0,onClick:()=>_(-1),children:(0,R.jsx)(wi,{className:`size-5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,className:g(k9,`absolute right-3 top-1/2 -translate-y-1/2 aria-disabled:cursor-default aria-disabled:opacity-40`),"aria-label":O9(`nextPhoto`),"aria-disabled":n===h-1,onClick:()=>_(1),children:(0,R.jsx)(Ei,{className:`size-5`,"aria-hidden":!0})})]})]})]}),b&&d&&u&&(0,R.jsxs)(`aside`,{id:l,"aria-label":o,className:`min-h-dvh w-[360px] shrink-0 border-l border-border bg-background p-5 text-foreground`,children:[(0,R.jsx)(`h2`,{className:`mb-3 text-[16px] font-semibold`,children:o}),y]}),(0,R.jsx)(yT,{title:o,open:b&&d&&!u&&p,onClose:()=>x(!1),children:(0,R.jsx)(`div`,{className:`pt-3`,children:y})})]})},kwe=(e,t,n)=>{let r=vr(t?.layout??[]).flatMap(e=>e.kind===`section`&&FS(e.when,!1)?e.fields:[]);return(r.length>0?[...new Set(r)]:Object.keys(e.fields).filter(t=>t!==e.tenant&&!e.primaryKey.includes(t))).filter(r=>e.fields[r]&&!e.fields[r].sensitive&&!n.includes(r)&&FS(t?.fields[r]?.when,!1))},Awe=({model:e,view:t,photoKey:n,fields:r})=>{let i=Vg(e.name,n),a=(t?.names?.singular??K(e.name)).toLowerCase();if(i.isPending)return(0,R.jsx)(_u,{className:`h-4 w-48`});if(i.error)return(0,R.jsx)(XS,{title:O9(`couldNotLoadOne`,a),error:i.error});let o=r.filter(e=>UT(i.data.permissions,e)!==`hidden`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(fS,{rows:o.map(n=>({label:t?.fields[n]?.label??K(n),value:(0,R.jsx)(Z0,{model:e,field:e.fields[n],value:i.data.record[n]})}))}),(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:n},className:`mt-3 inline-block font-medium text-primary-text hover:underline`,children:O9(`open`,a)})]})},A9=e=>hb(e,{width:0,height:0})!==void 0,jwe=(e,t)=>{let n=e.primaryKey.map(e=>t[e]);if(!n.some(e=>e==null))return Dr(n)},Mwe=(e,t,n,r)=>{let i=n===void 0?[]:t.flatMap(e=>{let t=e[n];if(!ab(t)||!A9(t))return[];let i=r&&jwe(r,e);return[{file:t,...i!==void 0&&{key:i}}]});if(!ab(e)||!A9(e))return i;let a=t=>ab(t.file)&&t.file.uri===e.uri,o=i.find(a)?.key;return[{file:e,...o!==void 0&&{key:o}},...i.filter(e=>!a(e))]},Nwe=rr(),Pwe=(e,t,n)=>{let r=U(),{resources:i}=J(),a=e.photos?i[e.photos.resource]:void 0,o=e.photos?Hn(Nwe.eq(e.photos.field,n)):``,s=e.photos?.sort??``,c=Eh({queryKey:H.list(a?.name??``,o,s,500,`gallery`),enabled:a!==void 0,queryFn:async()=>(await r.list(a.name,{filter:o,...s&&{orderBy:s},pageSize:500})).items});return{holder:a,items:Mwe(e.image===void 0?void 0:t[e.image],c.data??[],e.photos?.image,a),isPending:a!==void 0&&c.isPending,error:c.error}},Fwe={1:[`md:col-span-4 md:row-span-2`],2:[`md:col-span-2 md:row-span-2`,`md:col-span-2 md:row-span-2`],3:[`md:col-span-2 md:row-span-2`,`md:col-span-2`,`md:col-span-2`],5:[`md:col-span-2 md:row-span-2`,``,``,``,``]},Iwe=({photo:e,large:t})=>{let n=hb(e,t?{width:960,height:720}:{width:480,height:360});return n?(0,R.jsx)(_C,{image:n,loading:`lazy`,className:`size-full object-cover transition-transform duration-300 group-hover/tile:scale-[1.02]`}):null},Lwe=({item:e,record:t,recordKey:n})=>{let{views:r}=J(),i=Pwe(e,t,n),a=oS(i.holder?.name??``),[o,s]=(0,I.useState)();if(i.isPending)return(0,R.jsx)(Zy,{title:e.title,children:(0,R.jsx)(_u,{className:`aspect-[4/3] w-full rounded-lg md:aspect-[2/1]`})});if(i.error)return(0,R.jsx)(Zy,{title:e.title,children:(0,R.jsx)(XS,{title:O9(`couldNotLoad`),error:i.error})});let c=i.items.length;if(c===0)return null;let{shown:l,more:u}=xwe(c),d=i.holder,f=d&&r[d.name],p=d?kwe(d,f,[e.photos?.image,e.photos?.field].filter(e=>e!==void 0)):[],m=d!==void 0&&a.read!==!1&&p.length>0;return(0,R.jsxs)(Zy,{title:e.title,children:[(0,R.jsx)(`div`,{className:`grid aspect-[4/3] grid-cols-4 grid-rows-2 gap-1.5 overflow-hidden rounded-lg md:aspect-[2/1]`,children:i.items.slice(0,l).map((e,t)=>{let n=t===l-1&&u>0;return(0,R.jsxs)(`button`,{type:`button`,"aria-label":n?O9(`showAll`,c):O9(`showPhoto`,t+1,c),onClick:()=>s(t),className:g(`group/tile relative overflow-hidden bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,t===0?`col-span-4 row-span-2`:`max-md:hidden`,Fwe[l][t]),children:[(0,R.jsx)(Iwe,{photo:e.file,large:t===0}),n&&(0,R.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center bg-backdrop/55 text-lg font-semibold text-white`,"aria-hidden":!0,children:`+${u}`}),t===0&&c>1&&(0,R.jsxs)(`span`,{className:`absolute bottom-2 right-2 flex items-center gap-1.5 rounded-full bg-background/85 px-2.5 py-1 text-xs font-medium tabular-nums text-foreground md:hidden`,"aria-hidden":!0,children:[(0,R.jsx)(ba,{className:`size-3.5`}),c]})]},t)})}),o!==void 0&&(0,R.jsx)(Owe,{title:e.title,photos:i.items.map(e=>e.file),index:o,onIndex:s,onClose:()=>s(void 0),details:e=>{let t=i.items[e]?.key;return m&&t!==void 0?(0,R.jsx)(Awe,{model:d,view:f,photoKey:t,fields:p},t):void 0},detailsTitle:d&&O9(`holderDetails`,f?.names?.singular??K(d.name))})]})},j9=a({en:{create:`created this`,update:`changed`,delete:`deleted this`,undelete:`restored this`,database:`Database`,databaseRole:e=>`Database (${e})`,changed:`changed`,changedThis:`changed this`,couldNotLoad:`Could not load the history`,noChanges:`No changes kept yet.`,showMore:`Show more`},nl:{create:`maakte dit`,update:`wijzigde`,delete:`verwijderde dit`,undelete:`zette dit terug`,database:`Database`,databaseRole:e=>`Database (${e})`,changed:`gewijzigd`,changedThis:`wijzigde dit`,couldNotLoad:`Kon de geschiedenis niet laden`,noChanges:`Nog geen wijzigingen bewaard.`,showMore:`Meer tonen`}}),Rwe=e=>e.actor?e.actor.name??e.actor.id:e.databaseRole?j9(`databaseRole`,e.databaseRole):j9(`database`),zwe=(e,t,n)=>{let r=(e.operation===`create`?[]:e.changed).flatMap(r=>{let i=t.fields[r];if(!i||r===t.softDelete)return[];let a=n?.fields[r],o=a?.label??K(r);return i.sensitive||!e.before||!e.after?[{name:r,label:o}]:[{name:r,label:o,before:dx(i,e.before[r],a),after:dx(i,e.after[r],a)}]}),i=e.operation===`update`&&r.length===0?j9(`changedThis`):j9(e.operation);return{who:Rwe(e),verb:i,fields:r}},Bwe=1500,Vwe=(e,t,n,r)=>{let i=U(),a=Oh({queryKey:H.history(e,t,n),initialPageParam:``,queryFn:({pageParam:r})=>i.history(e,t,{pageSize:n,pageToken:r}),getNextPageParam:e=>e.nextPageToken||void 0}),{refetch:o}=a;return(0,I.useEffect)(()=>{let e=setTimeout(()=>void o(),Bwe);return()=>clearTimeout(e)},[r,o]),{...a,items:a.data?.pages.flatMap(e=>e.items)??[]}},Hwe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),Uwe=({change:e,model:t,view:n})=>{let{who:r,verb:i,fields:a}=zwe(e,t,n),o=Date.parse(e.at);return(0,R.jsxs)(`li`,{className:`flex flex-col gap-1.5 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),` `,(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:i}),` `,(0,R.jsxs)(`time`,{dateTime:e.at,title:gf(o),className:`text-muted-foreground`,children:[`· `,Df(Math.max(0,Math.round((Date.now()-o)/1e3)))]})]}),a.length>0&&(0,R.jsx)(`dl`,{className:`grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-4 gap-y-1`,children:a.map(e=>(0,R.jsxs)(`div`,{className:`contents`,children:[(0,R.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,R.jsx)(`dd`,{className:`min-w-0 break-words`,children:e.before===void 0?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`changed`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`del`,{className:`text-muted-foreground`,children:e.before}),` → `,(0,R.jsx)(`ins`,{className:`no-underline`,children:e.after})]})})]},e.name))})]})},Wwe=({item:e,model:t,view:n,recordKey:r,etag:i})=>{let a=Vwe(t.name,r,e.limit??10,i);return(0,R.jsx)(Zy,{title:e.title,children:a.isPending?(0,R.jsx)(Hwe,{}):a.error?(0,R.jsx)(XS,{title:`Could not load the history`,error:a.error}):a.items.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:`No changes kept yet.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`ol`,{className:`divide-y divide-border`,children:a.items.map(e=>(0,R.jsx)(Uwe,{change:e,model:t,view:n},e.id))}),a.hasNextPage&&(0,R.jsx)(V,{size:`sm`,className:`mt-4`,disabled:a.isFetchingNextPage,onClick:()=>void a.fetchNextPage(),children:`Show more`})]})})},Gwe=(e,t)=>{let n=/(?:^|\s)@([^\s@]*)$/.exec(e.slice(0,t));return n?{start:t-n[1].length-1,query:n[1]}:void 0},Kwe=(e,t,n)=>{let r=e.slice(t.start+1+t.query.length),i=`@${n}${r.startsWith(` `)?``:` `}`;return{text:`${e.slice(0,t.start)}${i}${r}`,caret:t.start+i.length+ +!!r.startsWith(` `)}},qwe=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),M9=e=>{let t=[...new Set(e)].filter(Boolean).sort((e,t)=>t.length-e.length);return t.length===0?void 0:RegExp(`(?<![\\p{L}\\p{N}_@])@(${t.map(qwe).join(`|`)})(?![\\p{L}\\p{N}_])`,`gu`)},Jwe=(e,t)=>{let n=M9(t.map(e=>e.name)),r=new Set(n?[...e.matchAll(n)].map(e=>e[1]):[]);return[...new Set(t.filter(e=>r.has(e.name)).map(e=>e.id))]},Ywe=(e,t)=>{let n=M9(t.flatMap(e=>e.name?[e.name]:[]));if(!n)return[{text:e}];let r=[],i=0;for(let t of e.matchAll(n))t.index>i&&r.push({text:e.slice(i,t.index)}),r.push({mention:t[1]}),i=t.index+t[0].length;return i<e.length&&r.push({text:e.slice(i)}),r},Xwe=({comment:e})=>(0,R.jsx)(`p`,{className:`whitespace-pre-wrap break-words`,children:Ywe(e.body,e.mentions).map((e,t)=>`mention`in e?(0,R.jsxs)(`span`,{className:`font-medium text-primary`,children:[`@`,e.mention]},t):e.text)}),Zwe=(e,t,n)=>{let r=U(),i=F3(n,150);return Eh({queryKey:H.mentionable(e,t,i??``),queryFn:()=>r.mentionable(e,t,i??``),enabled:i!==void 0,placeholderData:Sm})},Qwe=(e,t)=>{let n=U(),r=Qp();return Dh({mutationFn:r=>n.comment(e,t,r),onSuccess:()=>r.invalidateQueries({queryKey:H.comments(e,t)})})},N9=a({en:{couldNotPost:`Could not post the comment`,comment:`Comment`,placeholder:`Write a comment, @ to mention someone`,peopleToMention:`People to mention`,noOneFound:`No one found`,couldNotLoad:`Could not load the comments`,showEarlier:`Show earlier comments`,noComments:`No comments yet.`},nl:{couldNotPost:`Kon de opmerking niet plaatsen`,comment:`Opmerking`,placeholder:`Schrijf een opmerking, @ om iemand te noemen`,peopleToMention:`Mensen om te noemen`,noOneFound:`Niemand gevonden`,couldNotLoad:`Kon de opmerkingen niet laden`,showEarlier:`Eerdere opmerkingen tonen`,noComments:`Nog geen opmerkingen.`}}),$we=8,eTe=({resource:e,recordKey:t})=>{let[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(0),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)([]),[u,d]=(0,I.useState)(0),[f,p]=(0,I.useState)(),m=(0,I.useRef)(null),h=(0,I.useRef)(void 0),_=(0,I.useId)(),v=qy(),y=Qwe(e,t),b=Gwe(n,i),x=o&&b!==void 0&&b.start!==f,S=Zwe(e,t,x?b.query:void 0),C=x?(S.data??[]).slice(0,$we):[],w=x&&S.data!==void 0,T=e=>`${_}-${e}`;(0,I.useEffect)(()=>d(0),[b?.query]);let E=b?.start;(0,I.useEffect)(()=>{E===void 0&&p(void 0)},[E]),(0,I.useLayoutEffect)(()=>{h.current!==void 0&&m.current&&(m.current.setSelectionRange(h.current,h.current),a(h.current),h.current=void 0)},[n]);let D=e=>{if(!b)return;let t=Kwe(n,b,e.name);h.current=t.caret,r(t.text),l(t=>[...t,e])},O=()=>{n.trim()===``||y.isPending||y.mutate({body:n,mentions:Jwe(n,c)},{onSuccess:()=>{r(``),l([])},onError:e=>v.show({state:`error`,title:N9(`couldNotPost`),description:xx(e)})})};return(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)($S,{ref:m,role:`combobox`,"aria-label":N9(`comment`),"aria-multiline":!0,"aria-autocomplete":`list`,"aria-expanded":w,"aria-controls":_,"aria-activedescendant":w&&C[u]?T(u):void 0,placeholder:N9(`placeholder`),value:n,onChange:e=>{r(e.target.value),a(e.target.selectionStart)},onSelect:e=>a(e.currentTarget.selectionStart),onFocus:()=>s(!0),onBlur:()=>s(!1),onKeyDown:e=>{if(e.key===`Enter`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),O();return}if(!x)return;let t=P3(e.key,u,C.length);if(t!==void 0&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault(),d(t);return}if((e.key===`Enter`||e.key===`Tab`)&&C[u]){e.preventDefault(),D(C[u]);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),p(b.start))}}),w&&(0,R.jsxs)(`ul`,{id:_,role:`listbox`,"aria-label":N9(`peopleToMention`),className:`absolute z-30 mt-1 w-full max-w-sm rounded-md border bg-background py-1 shadow-pop`,onMouseDown:e=>e.preventDefault(),children:[C.map((e,t)=>(0,R.jsx)(`li`,{id:T(t),role:`option`,"aria-selected":t===u,className:g(`cursor-pointer truncate px-3 py-1.5`,t===u&&`bg-muted`),onMouseMove:()=>t!==u&&d(t),onClick:()=>D(e),children:e.name},e.id)),C.length===0&&(0,R.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:N9(`noOneFound`)})]})]}),(0,R.jsx)(`div`,{children:(0,R.jsx)(V,{variant:`primary`,size:`sm`,disabled:n.trim()===``,loading:y.isPending,onClick:O,children:N9(`comment`)})})]})},tTe=20,nTe=(e,t)=>{let n=U(),r=Oh({queryKey:H.comments(e,t),initialPageParam:``,queryFn:({pageParam:r})=>n.comments(e,t,{pageSize:tTe,pageToken:r}),getNextPageParam:e=>e.nextPageToken||void 0});return{...r,items:r.data?.pages.flatMap(e=>e.items).reverse()??[]}},rTe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),iTe=({comment:e})=>{let t=e.author.name??e.author.id,n=Date.parse(e.createdAt);return(0,R.jsxs)(`li`,{className:`flex gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsx)(Eu,{initials:Fg(t)||`?`,hue:Pg(e.author.id),size:`md`,className:`ring-0`}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:t}),` `,(0,R.jsxs)(`time`,{dateTime:e.createdAt,title:gf(n),className:`text-muted-foreground`,children:[`· `,Df(Math.max(0,Math.round((Date.now()-n)/1e3)))]})]}),(0,R.jsx)(Xwe,{comment:e})]})]})},aTe=({item:e,resource:t,recordKey:n,canWrite:r})=>{let i=nTe(t,n);return(0,R.jsxs)(Zy,{title:e.title,children:[i.isPending?(0,R.jsx)(rTe,{}):i.error?(0,R.jsx)(XS,{title:N9(`couldNotLoad`),error:i.error}):(0,R.jsxs)(R.Fragment,{children:[i.hasNextPage&&(0,R.jsx)(V,{size:`sm`,className:`mb-4`,disabled:i.isFetchingNextPage,onClick:()=>void i.fetchNextPage(),children:N9(`showEarlier`)}),i.items.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:N9(`noComments`)}):(0,R.jsx)(`ol`,{className:`divide-y divide-border`,children:i.items.map(e=>(0,R.jsx)(iTe,{comment:e},e.id))})]}),r&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(eTe,{resource:t,recordKey:n})})]})},oTe=e=>e.kind===`group`||e.kind===`tab`?e.items:[],P9=e=>e.kind===`tab`?void 0:e.when,F9=e=>e.flatMap(e=>[e,...F9(oTe(e))]).filter(e=>ls(P9(e))),sTe=(e,t,n,r)=>{let i=0,a=e=>{let a=P9(e);return ls(a)?!r&&t[i++]===!0:FS(a,n)},o=e=>e.flatMap(e=>{let t=a(e);if(e.kind!==`group`&&e.kind!==`tab`)return t?[e]:[];let n=o(e.items);return t&&n.length>0?[{...e,items:n}]:[]});return o(e)},cTe=(e,t,n,r)=>sTe(e,U6(r?[]:F9(e).map(e=>P9(e)),t),n,r),I9=(e,t)=>{let n=U(),r=Qp(),i=Dr(t);return Dh({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]})}})},L9=e=>e instanceof Gs,lTe=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}`},uTe=(e,t)=>{let n=e.operation,r=n===void 0?void 0:t[n];return r?W(`operationFailed`,n+1,lTe(r),e.message):W(`nothingSaved`,e.message)},dTe=(e,t)=>new e.constructor({...e.problem,detail:uTe(e,t)}),R9=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),fTe=({model:e,stored:t,recordKey:n,mode:r,subject:i,draftKey:a,lines:o})=>{let s=U(),c=Qp(),l=I9(e.name,n),u=z5(r,i),[d]=(0,I.useState)(()=>a?gwe(localStorage,a,t.etag):void 0),[f,p]=(0,I.useState)(d?.fields??{}),[m,h]=(0,I.useState)(!!d),[g,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)({}),[b,x]=(0,I.useState)({}),[S,C]=(0,I.useState)(0),w=Object.entries(f).filter(([n,r])=>jS(e.fields[n],r,t.record[n])),T=w.length>0,E=T||!!o?.dirty;(0,I.useEffect)(()=>{d?.order&&o?.setOrder(d.order)},[]),(0,I.useEffect)(()=>{if(!a)return;let n=Object.fromEntries(Object.entries(f).filter(([t])=>!e.fields[t]?.sensitive)),r=Object.keys(n).length>0||!!o?.dirty;_we(localStorage,a,r?{etag:t.etag,fields:n,...o?.order&&{order:o.order}}:void 0)},[a,e,f,o?.dirty,o?.order,t.etag]);let D=n=>n in f?f[n]:[`boolean`,`file`].includes(e.fields[n].type)?t.record[n]:SS(t.record[n]),O=(n,r)=>{x(e=>R9(e,n));let i=typeof r==`string`?r!==SS(t.record[n]):jS(e.fields[n],r,t.record[n]);p(e=>i?{...e,[n]:r}:R9(e,n))},k=async()=>{let r=await s.get(e.name,n);c.setQueryData(H.record(e.name,n),r);let i={},a={};for(let[n,o]of Object.entries(f)){let s=e.fields[n];jS(s,o,r.record[n])&&(a[n]=o,SS(r.record[n])!==SS(t.record[n])&&(i[n]=s.type===`file`?dx(s,r.record[n]):SS(r.record[n])))}p(a),y(i)},A=()=>Object.fromEntries(w.map(([t,n])=>[t,OS(e.fields[t],n)])),j=e=>{let t=JC(e);x(t),Object.keys(t).length>0&&C(e=>e+1)},M=async()=>{try{await l.mutateAsync({patch:A(),etag:t.etag})}catch(e){throw L9(e)?await k():Ks(e)&&j(e),e}},N=async r=>{let i=[...T?[{op:`update`,resource:e.name,key:n,data:A(),etag:t.etag}]:[],...r];try{await s.batchWrite(i)}catch(e){throw L9(e)?(await k(),await c.invalidateQueries({queryKey:[`list`]}),_(!0)):Ks(e)&&j(e),Ks(e)?dTe(e,i):e}await Promise.all([c.invalidateQueries({queryKey:H.record(e.name,n)}),c.invalidateQueries({queryKey:[`list`]}),c.invalidateQueries({queryKey:[`page`]}),c.invalidateQueries({queryKey:[`map`]})]),o?.reset()};return{value:D,change:O,save:()=>u.run(async()=>{let e=o?.op()??[];e.length>0?await N(e):await M(),p({}),y({}),x({}),_(!1),h(!1)}),dirty:E,discard:()=>{p({}),y({}),x({}),_(!1),h(!1),o?.reset()},restored:m&&E,dismissRestored:()=>h(!1),linesConflict:g,saving:u.phase===`saving`,phase:u.phase,message:u.message,conflicts:v,errors:b,rejections:S,keepMine:e=>y(t=>R9(t,e)),useTheirs:e=>{y(t=>R9(t,e)),p(t=>R9(t,e))}}},z9=(e,t,n,r)=>{let i=U(),a=Qp(),o=Object.values(e.fields).filter(n=>n.type===`relation`&&n.relation&&n.name!==e.tenant&&r[n.name]!=null&&t[n.relation.resource]?.primaryKey.length===1),s=wh({queries:o.map(e=>{let o=t[e.relation.resource],s=String(r[e.name]);return{queryKey:H.relatedLabel(o.name,s),queryFn:async()=>(await G0(a,i,o,[s],n[o.name])).get(s)??s}})}),c=o.map(e=>({kind:`record`,resource:e.relation.resource,key:String(r[e.name])}));return{addresses:Object.fromEntries(o.map((e,t)=>[e.name,c[t]])),labels:Object.fromEntries(o.map((e,t)=>[e.name,s[t]?.data]))}},pTe=rr(),mTe=(e,t,n,r,i)=>{if(e.primaryKey.length!==1)return[];let a=new Set(vr(r).flatMap(e=>e.kind===`related`&&!e.through&&!e.from?[`${e.resource}.${e.field}`]:[])),o=Object.values(t).flatMap(t=>Object.values(t.fields).filter(t=>t.type===`relation`&&t.relation?.resource===e.name&&t.relation.columns.length===1&&t.filterable).filter(e=>e.name!==t.tenant&&t.name!==i?.name&&!a.has(`${t.name}.${e.name}`)).map(e=>({source:t,field:e.name})));return o.map(({source:e,field:t})=>{let r=n[e.name],i=r?.names?.plural??K(e.name),a=o.filter(t=>t.source.name===e.name).length>1;return{resource:e.name,field:t,label:a?`${i} (${r?.fields[t]?.label??K(t)})`:i}})},hTe=(e,t)=>({kind:`list`,resource:e.resource,filter:Hn(pTe.eq(e.field,t))}),gTe=rr(),_Te=(e,t,n)=>{let r=U(),i=wh({queries:e.map(e=>{let i=Hn(gTe.eq(e.field,n));return{queryKey:H.list(e.resource,i,``,1,`incoming`),queryFn:async()=>{let n=await r.list(e.resource,{filter:i,pageSize:1,count:`exact`,fields:t[e.resource].primaryKey});return{count:n.totalSize??n.totalSizeEstimate,exact:n.totalSize!==void 0}}}})});return e.flatMap((e,t)=>{let n=i[t];return n.error?[]:[{relation:e,count:n.data}]})},vTe=({model:e,recordKey:t,layout:n,lines:r})=>{let{resources:i,views:a}=J(),o=_Te(mTe(e,i,a,n,r),i,t);return o.length===0?null:(0,R.jsx)(tb,{title:R5(`relatedRecords`),children:(0,R.jsx)(`ul`,{className:`-mx-2`,children:o.map(({relation:e,count:n})=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(cS,{to:hTe(e,t),className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium text-primary-text`,children:e.label}),(0,R.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 tabular-nums text-muted-foreground`,children:[n===void 0?(0,R.jsx)(_u,{className:`h-4 w-6`}):`${Gd(n.count)}${n.exact?``:`+`}`,(0,R.jsx)(Ei,{className:`size-4 text-faint-foreground group-hover:text-foreground`})]})]})},`${e.resource}.${e.field}`))})})},B9=a({en:{showMore:`Show more`,showLess:`Show less`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`},nl:{showMore:`Meer tonen`,showLess:`Minder tonen`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`}}),yTe=({children:e})=>{let t=(0,I.useRef)(null),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1);return(0,I.useLayoutEffect)(()=>{let e=t.current;if(!e)return;let n=()=>a(e.scrollHeight>e.parentElement.clientHeight+1);n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[n]),(0,R.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[(0,R.jsx)(`div`,{className:g(`w-full min-w-0`,!n&&`max-h-40 overflow-hidden`),children:(0,R.jsx)(`div`,{ref:t,children:e})}),(i||n)&&(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`-ml-2`,"aria-expanded":n,onClick:()=>r(!n),children:B9(n?`showLess`:`showMore`)})]})},bTe=({scope:e,path:t})=>{let{views:n}=J(),r=t2(e,t);if(r.state===`missing`)return null;let i=n2(t,r.state===`ready`?n[r.model.name]?.fields[r.field.name]?.label:void 0);return(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`dt`,{className:`text-body text-muted-foreground`,children:i}),(0,R.jsx)(`dd`,{className:`mt-0.5`,children:r.state===`loading`?(0,R.jsx)(_u,{className:`h-4 w-24`}):(0,R.jsx)(yTe,{children:(0,R.jsx)(Z0,{model:r.model,field:r.field,value:r.value})})})]})},xTe=({scope:e,view:t,fields:n,actions:r})=>(0,R.jsxs)(`li`,{className:`flex min-w-0 flex-col gap-3 rounded-lg border border-border bg-surface p-4`,children:[(0,R.jsx)(cS,{to:{kind:`record`,resource:e.model.name,key:Xb(e.model,e.record)},className:`self-start font-medium text-primary-text hover:underline`,children:qb(e.model,t,e.record,e.key)}),n.length>0&&(0,R.jsx)(`dl`,{className:`flex flex-col gap-3`,children:n.map(t=>(0,R.jsx)(bTe,{scope:e,path:t},t))}),r.length>0&&(0,R.jsx)(zT,{value:e,children:(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:r.map(e=>(0,R.jsx)(sE,{name:e},e))})})]}),STe=({model:e,view:t,filter:n,sort:r,fields:i,actions:a,limit:o,display:s,empty:c})=>{let l=uu(),u=r||Ux(e,t),d=tE(e,{filter:n,sort:u,pageSize:o}),f=$T(e,n);if(d.isPending)return(0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,R.jsx)(_u,{className:`h-24 w-full`},t))});if(d.error)return(0,R.jsx)(XS,{title:B9(`couldNotLoad`),error:d.error});let p=d.data.items;if(p.length===0)return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:c??B9(`nothingYet`)});let m=f.data===void 0?void 0:v5(p.length,f.data,!1);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`ul`,{className:`flex flex-col gap-3`,children:p.map(n=>{let r=ZT(e,n);return(0,R.jsx)(xTe,{scope:r,view:t,fields:i,actions:a},r.key)})}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:m}),(0,R.jsxs)(cS,{to:g3(e,t,l,{filter:n,orderBy:u,display:h3(t,l,{preferred:s})}),className:`flex items-center gap-1 font-medium text-primary-text hover:underline`,children:[_5(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:(t?.names?.plural??K(e.name)).toLowerCase()}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]})]})]})},V9=rr(),H9=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},CTe=(e,t)=>{let n=U(),{resources:r}=J(),i=e.through,a=i?r[i.resource]:void 0,o=i?.key??a?.primaryKey[0],s=i?H9(Hn(V9.eq(i.field,t)),i.filter):``,c=Eh({queryKey:H.list(a?.name??``,s,``,0,`related:${o}`),enabled:!!(a&&o),queryFn:async()=>{let e=await u3(n,a.name,{filter:s,fields:[o]});return[...new Set(e.items.flatMap(e=>e[o]===null||e[o]===void 0?[]:[String(e[o])]))]}});return t===null?{filter:null,isPending:!1,error:null}:i?c.data?{filter:c.data.length===0?null:H9(Hn(V9.in(e.field,c.data)),e.filter),isPending:!1,error:null}:{filter:void 0,isPending:c.isPending,error:c.error}:{filter:H9(Hn(V9.eq(e.field,t)),e.filter),isPending:!1,error:null}},wTe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),TTe=({empty:e})=>(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:e??R5(`nothingYet`)}),ETe=({item:e,value:t,owner:n})=>{let{resources:r,views:i}=J(),a=r[e.resource],o=a&&i[a.name],s=CTe(e,t),[c,l]=w5(o,`related:${n}:${e.title}`,e.display),u=oS(e.resource),[d,f]=(0,I.useState)(!1),p=U(),m=!!(e.hideEmpty&&a&&s.filter),h=Eh({queryKey:H.count(e.resource,s.filter??``),enabled:m,queryFn:()=>QT(p,a,s.filter??``).queryFn()});if(!a||e.hideEmpty&&(s.isPending||s.filter===null||m&&(h.isPending||h.data===0)))return null;let g=Vbe(e,a,r),_=e.columns??cx(a,o).filter(t=>t!==e.field),v=t=>s.isPending?(0,R.jsx)(wTe,{}):s.error?(0,R.jsx)(XS,{title:R5(`couldNotLoadRelated`),error:s.error}):s.filter===null||s.filter===void 0?(0,R.jsx)(TTe,{empty:e.empty}):t(s.filter);if(e.presentation===`cards`)return(0,R.jsx)(Zy,{title:e.title,help:e.help,children:v(t=>(0,R.jsx)(STe,{model:a,view:o,filter:t,sort:e.sort??``,fields:_,actions:e.actions??[],limit:e.limit??10,display:e.display,empty:e.empty}))});let y=Tye(e,a,u),b=(0,R.jsx)(S5,{view:o,value:c,onChange:l}),x=y?(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!d&&b,(0,R.jsx)(m9,{size:`sm`,sorting:d,onChange:f})]}):b;return d&&y?(0,R.jsx)(Zy,{title:e.title,help:e.help,actions:x,children:(0,R.jsx)(p9,{model:a,view:o,field:y,filter:Hn(V9.eq(e.field,t)),columns:_})}):(0,R.jsx)(Zy,{title:e.title,help:e.help,actions:x,children:v(t=>(0,R.jsx)(C5,{model:a,view:o,filter:t,sort:e.sort??``,columns:_,limit:e.limit??10,display:c,empty:e.empty,opens:g},t))})},DTe=(e,t,n)=>{if(e.from===void 0)return n;let r=t[e.from];return typeof r==`boolean`?r:b5(t,e.from)??null},OTe=(e,t)=>t===e.tenant||e.primaryKey.includes(t),kTe=(e,t,n)=>{if(t&&t.layout.length>0)return t.layout;let r=Object.values(e.fields).filter(t=>!OTe(e,t.name)),i=r.filter(e=>!e.readOnly),a=(i.length>0&&!n?i:r).map(e=>e.name);return[{kind:`section`,title:R5(`details`),fields:a},...e.history?[{kind:`history`,title:R5(`history`)}]:[],...e.comments?[{kind:`comments`,title:R5(`comments`)}]:[]]},ATe=({resource:e,recordKey:t})=>{let{resources:n}=J(),r=n[e],i=Hg(e,t);return r?i.isPending?(0,R.jsx)(rS,{title:R5(`loading`),children:R5(`fetching`)}):i.error?(0,R.jsx)(`div`,{className:`p-8`,children:Ks(i.error)&&i.error.status===404?(0,R.jsx)(rS,{title:W(`notFound`),children:R5(`noRecord`)}):(0,R.jsx)(XS,{title:R5(`couldNotLoad`),error:i.error})}):(0,R.jsx)(U9,{model:r,recordKey:t,stored:i.data,preview:i.isPlaceholderData},i.isPlaceholderData?`preview`:`loaded`):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e)})},U9=({model:e,recordKey:t,stored:n,preview:r})=>{let i=J(),{address:a,go:o}=sS(),s=i.views[e.name],c=qb(e,s,n.record,t),{state:l}=B(),u=(0,I.useMemo)(()=>fwe(i.resources,e),[i.resources,e]),d=bwe(u,ywe(u,e,t).items),f=fTe({model:e,stored:n,recordKey:t,mode:s?.saveFeedback??`toast`,subject:c,draftKey:!r&&l.kind===`signed-in`?hwe(l.user.id,e.name,t):void 0,lines:d}),p=Qp(),m=U(),h=XC(f.rejections),_=oS(e.name),v=W5(e),y=VT(_,`update`)&&n.permissions?.update!==!1,{shown:b,offersEdit:x,editing:S}=MS(s?.recordMode,y,a?.kind===`record`&&a.edit===!0);Xne(f.dirty&&b===`form`),jh(f.dirty);let C=a?.kind===`record`?a.open:void 0,w=a?.kind===`record`&&a.edit===!0,T=a?.kind===`record`?a.tab:void 0,E=(n=[],r=!1,i)=>({kind:`record`,resource:e.name,key:t,...r&&{edit:r},...n.length>0&&{open:n},...i&&{tab:i}}),D=E(C,!1,T),O=E(C,!0,T),k=b===`form`&&s?.recordMode!==void 0&&s.recordMode!==`edit`,A=VT(_,`delete`)&&n.permissions?.delete!==!1,j=U5({model:e,view:s,restore:v,onDeleted:()=>o({kind:`list`,resource:e.name},{replace:!0}),onReview:()=>void p.invalidateQueries({queryKey:H.record(e.name,t)})}),M=z9(e,i.resources,i.views,n.record),N=t=>{let n=e.fields[t],r=n?.relation?i.resources[n.relation.resource]:void 0;if(r&&r.primaryKey.length===1&&t!==e.tenant&&!e.primaryKey.includes(t))return r},ee=Object.values(e.fields).filter(e=>N(e.name)),te={...n.record,...Object.fromEntries(ee.map(e=>[e.name,kS(e,f.value(e.name))]))},ne=z9(e,i.resources,i.views,te),re=(e,t)=>{let n=N(e);if(!n||!LS(t))return f.change(e,t);p.setQueryData(H.relatedLabel(n.name,t.key),t.label),f.change(e,BS(n,t.key))},{fields:ie}=wC(),ae={model:e,record:n.record,key:t,etag:n.etag,permissions:n.permissions},oe=cTe(kTe(e,s,b===`read`),ae,S,r),{before:se,tabs:ce,after:le}=lwe(oe),ue=uwe(ce,T),de=e=>S&&(f.errors[e]!==void 0||f.conflicts[e]!==void 0);(0,I.useEffect)(()=>{if(f.rejections===0)return;let e=dwe(ce,ue,de);e&&o(E(C,w,e===ce[0]?void 0:e.title),{replace:!0})},[f.rejections]);let P=oe.flatMap(e=>e.kind===`sidebar`?e.fields:[]),fe=e.fields.status?.type===`enum`,pe=n.record.status,me=fe&&!P.includes(`status`)&&pe!=null&&pe!==``?String(pe):void 0,he=C9(e,`updated`),F=e=>s?.fields[e],ge=e=>UT(n.permissions,e)!==`hidden`&&FS(F(e)?.when,S),_e=e=>!r||Object.hasOwn(n.record,e),ve=r=>{let a=e.fields[r],o=UT(n.permissions,r);if(!a||o===`hidden`)return null;let c=f.conflicts[r],l=N(r),u=F(r)?.label??K(r),d=f.errors[r];return(0,R.jsx)(Xy,{name:r,label:u,required:b===`form`&&o!==`read`&&TS(a),help:PS(F(r),s,S),error:d&&qC(a,u,d),wide:!!(F(r)?.multiline||F(r)?.markdown),conflict:c===void 0?void 0:{user:{name:R5(`someoneElse`),initials:`?`,hue:40},ago:R5(`justNow`),theirValue:c||`—`,onKeepMine:()=>f.keepMine(r),onUseTheirs:()=>f.useTheirs(r)},children:_e(r)?(0,R.jsx)(BC,{field:a,hints:F(r),value:f.value(r),stored:n.record[r],relationLabel:ne.labels[r],relationTo:ne.addresses[r],relationPicker:l&&{target:l,view:i.views[l.name]},locked:b!==`form`||o===`read`,invalid:!!f.errors[r],reveal:a.sensitive?()=>m.reveal(e.name,t,r):void 0,resource:e.name,onChange:e=>re(r,e)}):(0,R.jsx)(_u,{className:`h-9`})},a.sensitive?`${r}:${n.etag}`:r)},ye=r=>{let i=e.fields[r],a=_e(r)?i.sensitive?(0,R.jsx)(BC,{field:i,hints:F(r),value:``,stored:n.record[r],locked:!0,reveal:()=>m.reveal(e.name,t,r),resource:e.name,onChange:e=>f.change(r,e)}):(0,R.jsx)(Z0,{model:e,field:i,value:n.record[r],relationLabel:M.labels[r]}):(0,R.jsx)(_u,{className:`h-4 w-32`});return{label:F(r)?.label??K(r),help:PS(F(r),s,S),wide:!!(F(r)?.multiline||F(r)?.markdown),value:a}},be=oe.findIndex(e=>e.kind===`sidebar`),xe=(0,R.jsx)(nb,{title:R5(`summary`),rows:P.flatMap(t=>{let r=e.fields[t];if(!r||!ge(t))return[];if(!_e(t))return[{label:F(t)?.label??K(t),value:(0,R.jsx)(_u,{className:`h-4 w-24`})}];let i=n.record[t],a=Ub(r,F(t))&&typeof i==`string`&&i!==``?Hb(i):dx(r,i,F(t)),o=r.type===`text`&&typeof i==`string`&&i!==``?Qb(F(t)):void 0,s=r.type===`enum`?(0,R.jsx)(X0,{value:i,hints:F(t),children:a}):o?(0,R.jsx)(RC,{format:o,value:a}):(0,R.jsx)(`strong`,{title:fx(r,i,void 0,F(t)),children:a}),c=TC(ie,r,F(t));return[{label:F(t)?.label??K(t),title:a,value:c?(0,R.jsx)(kC,{shown:c,part:`display`,field:r,value:n.record[t],fallback:s}):s}]})}),Se=async()=>{await f.save()&&k&&o(D,{replace:!0})},Ce=A?()=>void j.start({key:t,title:c,etag:n.etag,snapshot:n.record}):void 0,we=b===`form`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{variant:`primary`,className:`max-md:min-h-11 max-md:flex-1 md:w-full`,loading:f.saving,disabled:!f.dirty&&f.phase!==`saved`,onClick:()=>void Se(),children:[f.phase===`saved`&&(0,R.jsx)(bi,{className:`size-4`}),f.phase===`saved`?R5(`saved`):R5(`save`)]}),k&&(0,R.jsx)(cS,{to:D,className:g(Af(),`max-md:min-h-11 md:w-full`),onClick:e=>vu(e)&&f.discard(),children:R5(`cancel`)}),f.dirty&&(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground max-md:order-first`,children:R5(`unsavedChanges`)})]}),Te=(i,a)=>{if(i.kind===`group`){let e=i.items.flatMap(Te);if(e.length===0)return[];let t=cwe(i,C,de),n=i.collapsed?E(swe(C,i.title),w,T):void 0;return[(0,R.jsx)(uS,{title:i.title,open:t,toggle:n,children:e},`group:${i.title}`)]}if(i.kind===`related`)return i.from!==void 0&&!_e(i.from)?[]:[(0,R.jsx)(ETe,{item:i,value:DTe(i,n.record,t),owner:e.name},`related:${i.title}`)];if(r&&(i.kind===`custom`||i.kind===`map`||i.kind===`gallery`))return[];if(i.kind===`custom`)return i.sidebar?[]:[(0,R.jsx)(w9,{item:i,scope:ae},`custom:${a}`)];if(i.kind===`map`)return i.sidebar?[]:[(0,R.jsx)(T9,{item:i,record:n.record},`map:${a}`)];if(i.kind===`gallery`)return[(0,R.jsx)(Lwe,{item:i,record:n.record,recordKey:t},`gallery:${a}`)];if(i.kind===`history`)return[(0,R.jsx)(Wwe,{item:i,model:e,view:s,recordKey:t,etag:n.etag},`history:${a}`)];if(i.kind===`comments`)return[(0,R.jsx)(aTe,{item:i,resource:e.name,recordKey:t,canWrite:l.kind!==`visitor`},`comments:${a}`)];if(i.kind!==`section`)return[];let o=i.fields.filter(t=>e.fields[t]&&ge(t)),c=b===`read`&&i.presentation===`facts`,u=c?gx(n.record,o):o;return u.length===0?[]:[(0,R.jsx)(Zy,{title:i.title,help:NS(i.helpWhen,s,S)?i.help:void 0,children:c?(0,R.jsx)(pS,{facts:u.map(e=>({label:ye(e).label,value:ye(e).value,icon:d6(F(e)?.icon)}))}):b===`read`?(0,R.jsx)(fS,{rows:u.map(ye)}):(0,R.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:u.map(ve)})},i.title)]};return(0,R.jsxs)(`div`,{ref:h,className:`flex flex-1 flex-col`,inert:r,children:[j.dialogs,(0,R.jsx)(`div`,{className:`flex-1`,children:(0,R.jsxs)(`div`,{className:`mx-auto max-w-[1100px] px-4 pb-8 pt-6 md:px-10 md:py-8`,children:[(0,R.jsx)(rb,{title:c,status:me?{label:us(me,F(`status`)?.valueLabels),tone:nx(me)}:void 0}),f.message&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:R5(`notSaved`),error:Error(f.message)})}),f.linesConflict&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:R5(`linesChanged`),error:Error(R5(`linesReloaded`))})}),b!==`form`&&x&&f.dirty&&(0,R.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2`,role:`status`,children:[(0,R.jsx)(`span`,{children:R5(`unsavedKept`)}),(0,R.jsxs)(`span`,{className:`flex gap-2`,children:[(0,R.jsx)(cS,{to:O,className:Af({size:`sm`}),children:R5(`continueEditing`)}),(0,R.jsx)(V,{size:`sm`,onClick:f.discard,children:R5(`discard`)})]})]}),b===`form`&&f.restored&&(0,R.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2`,role:`status`,children:[(0,R.jsx)(`span`,{children:R5(`unsavedRestored`)}),(0,R.jsxs)(`span`,{className:`flex gap-2`,children:[(0,R.jsx)(V,{size:`sm`,onClick:f.dismissRestored,children:R5(`keep`)}),(0,R.jsx)(V,{size:`sm`,onClick:f.discard,children:R5(`discard`)})]})]}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-8 md:grid-cols-[minmax(0,1fr)_300px] md:gap-12`,children:[(0,R.jsxs)(`main`,{className:`divide-y divide-border`,children:[se.flatMap(Te),ue&&(0,R.jsx)(dS,{tabs:ce.map((e,t)=>({title:e.title,to:E(C,w,t===0?void 0:e.title),current:e===ue}))}),ue&&(0,R.jsx)(`div`,{className:`divide-y divide-border`,children:ue.items.flatMap(Te)},`tab:${ue.title}`),le.flatMap(Te),u&&!r&&(0,R.jsx)(mwe,{lines:u,draft:d,vatRate:Number(n.record.vatRate??21)/100,saving:f.saving,locked:b!==`form`})]}),(0,R.jsxs)(`aside`,{className:`space-y-4 md:pt-8`,children:[we&&(0,R.jsx)(`div`,{className:`hidden flex-col items-center gap-2 md:flex`,children:we}),!r&&(0,R.jsx)(owe,{model:e,stored:n,recordKey:t,edit:x?O:void 0,onDelete:Ce}),be===-1&&xe,oe.map((e,t)=>e.kind===`custom`&&e.sidebar&&!r?(0,R.jsx)(w9,{item:e,scope:ae},`custom:${t}`):e.kind===`map`&&e.sidebar&&!r?(0,R.jsx)(T9,{item:e,record:n.record},`map:${t}`):t===be?(0,R.jsx)(I.Fragment,{children:xe},`summary`):null),(0,R.jsx)(nb,{title:R5(`details`),rows:[C9(e,`created`),he].flatMap(t=>{let r=t?e.fields[t]:void 0;return!t||!r||!ge(t)?[]:[{label:F(t)?.label??K(t),value:_e(t)?(0,R.jsx)(`span`,{title:fx(r,n.record[t],void 0,F(t)),children:dx(r,n.record[t],F(t))}):(0,R.jsx)(_u,{className:`h-4 w-24`})}]})}),!r&&(0,R.jsx)(vTe,{model:e,recordKey:t,layout:oe,lines:u})]})]})]})}),we&&(0,R.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:we})]})},jTe=e=>Ks(e)?e.status===401||e.status===403?W(`signInRefused`,e.message):e.message:W(`noAnswer`),MTe=({status:e})=>{let t=Qp();return e.state===`error`?(0,R.jsx)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center p-8`,children:(0,R.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,R.jsx)(`h1`,{className:`text-[16px] font-semibold`,children:W(`cannotReach`,e.source.label)}),(0,R.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[jTe(e.error),` `,W(`restWorks`)]}),(0,R.jsx)(V,{className:`mt-3`,onClick:()=>void t.refetchQueries({queryKey:H.sourceMetas(e.source.url)}),children:W(`tryAgain`)})]})}):(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,W(`loadingFrom`,e.source.label)]})},W9=a({en:{search:`Search`,searchOne:e=>`Search ${e}`,searchTwo:(e,t)=>`Search ${e} and ${t}`,searchMore:(e,t)=>`Search ${e}, ${t} and more`,goTo:`Go to`,create:`Create`},nl:{search:`Zoeken`,searchOne:e=>`Zoek in ${e}`,searchTwo:(e,t)=>`Zoek in ${e} en ${t}`,searchMore:(e,t)=>`Zoek in ${e}, ${t} en meer`,goTo:`Ga naar`,create:`Maken`}}),G9=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),NTe=(e,t,n=``)=>{let r=$7(e,n).flatMap(e=>e.items.filter(e=>e.href!==void 0&&!e.problem)).filter(e=>G9(e.label,t)).slice(0,5),i=t.trim().replace(/^new\s+/i,``),a=Object.values(e.resources).flatMap(r=>{let a=e.views[r.name];if(!a||a.nav?.hidden||!G5(a,e.pages,e.permissions[r.name]??Zx))return[];let o=a.names?.singular??K(r.name),s=IS(`title`,o);return!G9(s,t)&&!G9(o,i)&&!G9(a.names?.plural??K(r.name),i)?[]:[{id:`new:${r.name}`,title:s,href:xs({kind:`create`,resource:r.name},n)}]});return[...r.length>0?[{id:`go-to`,label:W9(`goTo`),hits:r.map(e=>({id:`go-to:${e.id}`,title:e.label,href:e.href}))}]:[],...a.length>0?[{id:`create`,label:W9(`create`),hits:a.slice(0,5)}]:[]]},PTe=rr(),FTe=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??K(t.name)}]}),ITe=e=>{let t=e.map(e=>e.label.toLowerCase());return t.length===0?W9(`search`):t.length===1?W9(`searchOne`,t[0]):t.length===2?W9(`searchTwo`,t[0],t[1]):W9(`searchMore`,t[0],t[1])},LTe=e=>Hn(PTe.search(e.trim())),K9=e=>{let t=e.view?.searchResult?.title;return t?.length?t:[Kb(e.model,e.view)]},q9=e=>{let t=K9(e);return e.view?.searchResult?.subtitle??e.model.search?.find(e=>!t.includes(e))},RTe=e=>{let t=q9(e),n=[...K9(e),...t?[t]:[],...e.model.search??[]];return[...new Set([...e.model.primaryKey,...n.filter(t=>Object.hasOwn(e.model.fields,t))])]},J9=(e,t,n)=>{let r=t[n];return r==null?``:e.model.fields[n]?.type===`enum`?us(String(r),e.view?.fields[n]?.valueLabels):String(r)},zTe=(e,t,n,r=``)=>{let i=Dr(Xb(e.model,t)),a=K9(e),o=q9(e),s=Rn(e.model,t,n,[...a,...o?[o]:[]])??o,c=s?J9(e,t,s):``;return{id:i,title:a.map(n=>J9(e,t,n)).filter(Boolean).join(` `)||i,...c&&{subtitle:c},href:xs({kind:`record`,resource:e.model.name,key:i},r)}},BTe=()=>{let e=J(),t=U(),{basePath:n}=zh(),r=(0,I.useMemo)(()=>FTe(e),[e]),[i,a]=(0,I.useState)(``),o=i.trim(),s=F3(o,200),c=o.length>=2,l=c&&s.length>=2,u=wh({queries:r.map(e=>({queryKey:[`global-search`,e.model.name,s],enabled:l,staleTime:1/0,gcTime:0,queryFn:()=>t.list(e.model.name,{filter:LTe(s),pageSize:5,fields:RTe(e)})}))}),d=(0,I.useMemo)(()=>l?NTe(e,s,n):[],[l,e,s,n]),f=r.flatMap((e,t)=>{let r=u[t];if(!l||!r)return[];if(r.error)return[{id:e.model.name,label:e.label,hits:[],failed:!0}];let i=(r.data?.items??[]).map(t=>zTe(e,t,s,n));return i.length>0?[{id:e.model.name,label:e.label,hits:i}]:[]}),p=[...d,...f];return{available:Object.keys(e.pages).length>0||Object.keys(e.resources).length>0,placeholder:ITe(r),text:i,setText:a,query:l?s:``,loading:c&&(o!==s||u.some(e=>e.isFetching)),groups:p}},Y9=a({en:{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`,job:`Preparing the update`,build:`Building`,updatingNow:`Updating now`,started:(e,t)=>`${e}, started ${t}`,nextOn:(e,t)=>`${e}: next on ${t}`,succeeded:(e,t)=>`Updated to ${e} on ${t}`,unchanged:(e,t)=>`The update to ${e} on ${t} changed nothing`,failed:(e,t)=>`The update to ${e} failed on ${t}`,alreadyLatest:`Already on the latest version, or an update is running.`,onlyAdmin:`Only an admin can update the runtime.`,couldNotStart:`The update could not be started. Try again later.`,runtimeUpdate:`Runtime update`,close:`Close`,updating:`Updating…`,updateNow:`Update now`,currentVersion:`Current version`,latestVersion:`Latest version`,checkFailed:`The status could not be checked again; this is the last one read.`,updateAvailable:`Update available`,update:`Update`},nl:{immediate:`Werkt bij zodra er een release is`,weekly:`Werkt elke week op een vast moment bij`,scheduled:`Werkt bij op het moment dat voor deze release is ingesteld`,manual:`Werkt alleen bij als erom wordt gevraagd`,job:`De update voorbereiden`,build:`Bouwen`,updatingNow:`Nu aan het bijwerken`,started:(e,t)=>`${e}, begonnen ${t}`,nextOn:(e,t)=>`${e}: volgende op ${t}`,succeeded:(e,t)=>`Bijgewerkt naar ${e} op ${t}`,unchanged:(e,t)=>`De update naar ${e} op ${t} veranderde niets`,failed:(e,t)=>`De update naar ${e} mislukte op ${t}`,alreadyLatest:`Al op de nieuwste versie, of er loopt een update.`,onlyAdmin:`Alleen een beheerder kan de runtime bijwerken.`,couldNotStart:`De update kon niet worden gestart. Probeer het later opnieuw.`,runtimeUpdate:`Runtime-update`,close:`Sluiten`,updating:`Bijwerken…`,updateNow:`Nu bijwerken`,currentVersion:`Huidige versie`,latestVersion:`Nieuwste versie`,checkFailed:`De status kon niet opnieuw worden gecontroleerd; dit is de laatst gelezen.`,updateAvailable:`Update beschikbaar`,update:`Bijwerken`}}),VTe=e=>!!(e?.updateAvailable&&e.indicator),HTe=e=>e?5e3:18e5,UTe=(e,t)=>{if(!e.updateStage)return Y9(`updatingNow`);let n=Y9(e.updateStage);return e.updateStartedAt?Y9(`started`,n,wf(Math.max(0,Math.floor((t-Date.parse(e.updateStartedAt))/1e3)))):n},X9=(e,t=Date.now(),n=Yd())=>e.updating?UTe(e,t):e.nextUpdateAt?Y9(`nextOn`,Y9(e.policy),gf(Date.parse(e.nextUpdateAt),n)):Y9(e.policy),WTe=(e,t=Yd())=>{let n=gf(Date.parse(e.finishedAt),t),r=Y9(e.outcome,e.toVersion,n);return e.message?`${r}: ${e.message}`:`${r}.`},GTe=e=>Ks(e)&&e.status<500&&e.problem.detail?e.problem.detail:Ks(e)&&e.status===409?Y9(`alreadyLatest`):Ks(e)&&e.status===403?Y9(`onlyAdmin`):Y9(`couldNotStart`),Z9=({label:e,value:t})=>(0,R.jsxs)(`div`,{className:`flex justify-between gap-4 py-1`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,R.jsx)(`span`,{className:`font-medium tabular-nums`,children:t})]}),KTe=({status:e,requesting:t,error:n,checkError:r,onUpdate:i,onClose:a})=>{let o=e.updating?void 0:e.lastUpdate;return(0,R.jsxs)(jf,{title:Y9(`runtimeUpdate`),description:e.updating?(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,R.jsx)(dd,{className:`size-3.5`}),X9(e)]}):X9(e),onClose:a,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:a,children:Y9(`close`)}),(0,R.jsx)(V,{variant:`primary`,loading:t,disabled:e.updating||!e.updateAvailable,onClick:i,children:e.updating?Y9(`updating`):Y9(`updateNow`)})]}),children:[(0,R.jsx)(Z9,{label:Y9(`currentVersion`),value:e.version}),(0,R.jsx)(Z9,{label:Y9(`latestVersion`),value:e.latest}),o&&(0,R.jsx)(`p`,{className:o.outcome===`failed`?`mt-3 text-danger-text`:`mt-3 text-muted-foreground`,children:WTe(o)}),n!==void 0&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-3 text-danger-text`,children:GTe(n)}),r!==void 0&&(0,R.jsx)(`p`,{className:`mt-3 text-muted-foreground`,children:Y9(`checkFailed`)})]})},qTe=e=>{let t=Rg(),n=(0,I.useRef)(t);n.current=t;let r=t!==void 0;return(0,I.useMemo)(()=>r?jne({url:e,token:()=>n.current}):void 0,[e,r])},JTe=e=>{let[t,n]=(0,I.useState)(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)(),l=t?.updating??!1;return(0,I.useEffect)(()=>{if(!e)return;let t=!0,r=()=>e.status().then(e=>{t&&(n(e),c(void 0))},e=>t&&c(e));r();let i=setInterval(()=>void r(),HTe(l));return()=>{t=!1,clearInterval(i)}},[e,l]),{status:t,update:(0,I.useCallback)(async()=>{e&&(i(!0),o(void 0),await e.update().then(n,o),i(!1))},[e]),requesting:r,error:a,checkError:s}},Q9=({client:e})=>{let{status:t,update:n,requesting:r,error:i,checkError:a}=JTe(e),[o,s]=(0,I.useState)(!1);return!t||!o&&!VTe(t)?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{size:`sm`,variant:`ghost`,"aria-label":Y9(`updateAvailable`),title:Y9(`updateAvailable`),onClick:()=>s(!0),className:`max-md:size-9 max-md:p-0`,children:[(0,R.jsx)(Ai,{className:`size-3.5 text-primary`}),(0,R.jsx)(`span`,{className:`max-md:sr-only`,children:Y9(`update`)})]}),o&&(0,R.jsx)(KTe,{status:t,requesting:r,error:i,checkError:a,onUpdate:()=>void n(),onClose:()=>s(!1)})]})},YTe=({url:e})=>(0,R.jsx)(Q9,{client:qTe(e)}),XTe=({url:e,client:t})=>t?(0,R.jsx)(Q9,{client:t}):(0,R.jsx)(YTe,{url:e}),ZTe=({signIn:e,onStop:t})=>{let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(),o=async()=>{r(!0),a(void 0);try{await t()}catch(e){if(!(e instanceof wc))throw e;a(wd(e)),r(!1)}};return(0,R.jsxs)(`div`,{role:`region`,"aria-label":W(`staffSession`),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-warning-text`,children:[(0,R.jsx)(qo,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,R.jsx)(`p`,{className:`min-w-64 flex-1 break-words`,children:Kh(W(`staffSignedIn`),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.staffName??e.staff}),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.user}),gf(Date.parse(e.expiresAt)),e.reason)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsx)(V,{size:`sm`,loading:n,onClick:()=>void o(),children:W(`stopStaffSession`)})]})},QTe=(e,t,n)=>({filter:n.filter??``,orderBy:n.orderBy??Ux(e,t),pageSize:n.limit??3,fields:[...new Set([...e.primaryKey,Kb(e,t),n.status])]}),$Te=(e,t,n,r,i,a)=>r.map(r=>{let o=Dr(Xb(e,r)),s=String(r[n.status]??``);return{id:o,label:qb(e,t,r,o),href:xs({kind:`record`,resource:e.name,key:o},i),status:e.fields[n.status]?.type===`enum`&&s?us(s,t.fields[n.status]?.valueLabels):s,tone:n.tones[s]??`neutral`,pulse:n.pulse?.includes(s)??!1,active:o===a}}),eEe=(e,t,n,r,i)=>{let a=n.find(t=>Dr(Xb(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),tEe=e=>{let t=Qp();(0,I.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&&eEe(n.model,n.request.fields,e.items,a,o)&&t.invalidateQueries({queryKey:$9(n),exact:!0})}}),[t,e])},nEe=(e,t,n)=>{let r=U(),i=(0,I.useMemo)(()=>{let t=X7(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:QTe(r,n,i)}]:[]})},[e]);tEe(i);let a=wh({queries:i.map(e=>({queryKey:$9(e),queryFn:()=>r.list(e.model.name,e.request)}))});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:$Te(e,r,i,s.data.items,t,c)}]}))},rEe=e=>e?.kind===`page`?e.page:e?.kind===`list`?Z7(e.resource,e.list):e?.resource,iEe=e=>e?.kind===`record`?e:void 0,aEe=({workspace:e,sidebarMode:t,assistant:n,runtime:r})=>{let i=J(),{state:a,session:o,signOut:s,stopStaffSession:c,organizations:l}=B(),u=Qh();if(a.kind!==`signed-in`&&a.kind!==`visitor`)throw Error(`The shell is only rendered for a signed-in user or a visitor`);let d=a.kind===`signed-in`?a.user:void 0,f=a.kind===`signed-in`?a.staff:void 0,{path:p,params:m,basePath:h}=zh(),{address:g,go:_,open:v}=sS(),y=rEe(g),b=iEe(g),x=BTe(),S=Ew(),C=nEe(i,h,{resource:b?.resource,key:b?.key});lie(i);let w=$7(i,h,C),T=Object.keys(i.pages)[0],E=Object.keys(i.resources)[0],D=g?.kind===`page`?i.pages[g.page]:void 0;(0,I.useEffect)(()=>{p===`/`&&(T?_({kind:`page`,page:T},{replace:!0}):E&&_({kind:`list`,resource:E},{replace:!0}))},[p,T,E,_]);let O=g?.kind===`page`?void 0:g?.resource,k=O?Bg(i,O):void 0,A=O?yr(i.views[O],g?.kind===`list`?g.list:void 0):void 0,j=w.find(e=>e.items.some(e=>e.id===y)),M=O?i.resources[O]:void 0,N=Hg(b?.resource??``,b?.key??``,!!(M&&b)),ee=M&&b&&N.data?qb(M,A,N.data.record,b.key):void 0,te=!!b&&(N.isLoading||k?.state===`loading`),{shell:ne}=wC(),re=ne?.actions,ie=ne?.rightPanel,[ae,oe]=(0,I.useState)(!1),se=i.assistant?.url,ce=se&&(0,R.jsx)(cT,{open:ae,onToggle:()=>oe(!ae)}),le=se&&ae&&(0,R.jsx)(dT,{url:se,client:n,page:m.size>0?`${p}?${m}`:p,onClose:()=>oe(!1)}),ue=i.errorReporting;(0,I.useEffect)(()=>{ue&&Ire(ue)},[ue]);let de=i.runtime?.url,P=de&&(0,R.jsx)(XTe,{url:de,client:r}),fe=QCe((0,I.useCallback)(()=>_9(h),[h]),!!d),pe=d&&ZCe(d,fe.current),me=pe?Lg(pe):!1,he=ewe(),F=VCe(!!(l&&d)),ge=F.current,_e=!!l&&ge!==void 0&&!ge.organization,ve=l&&d?Nre(p):void 0,ye=d?p===`/-/account`?W(`signInSecurity`):p===`/-/sign-in-policy`?W(`signInPolicy`):ve:void 0,be=A?.names?.plural??(O&&K(O)),xe=ye?[ye]:_T({basePath:h,address:g,group:j?.label,page:D,resourceLabel:be,recordTitle:ee,recordLoading:te});JS(qS(KS({address:g,page:D,accountPage:ye,resourceLabel:be,singular:A?.names?.singular??(O&&K(O)),recordTitle:ee,recordLoading:te}),i.appName));let Se=d&&p===`/-/account`?(0,R.jsx)(Rp,{email:d.email}):d&&p===`/-/sign-in-policy`?me?(0,R.jsx)(Xp,{}):(0,R.jsx)(rS,{title:W(`adminsOnly`),children:W(`onlyAdminPolicy`)}):ve&&p===`/-/organization`?(0,R.jsx)(KCe,{current:ge,basePath:h,onChanged:F.reload}):ve&&(p===`/-/organization/members`||p===`/-/organization/invitations`)?ag(ge)?p===`/-/organization/members`?(0,R.jsx)(LCe,{current:ge}):(0,R.jsx)(BCe,{current:ge}):(0,R.jsx)(rS,{title:W(`ownersOnly`),children:W(`onlyOwners`)}):ve&&p===`/-/organizations`||_e?(0,R.jsx)(XCe,{state:F,basePath:h}):g?g.kind===`page`?D?(0,R.jsx)(L5,{name:D.name},D.name):(0,R.jsx)(rS,{title:W(`notFound`),children:Kh(W(`noPage`),g.page)}):k&&k.state!==`ready`?(0,R.jsx)(MTe,{status:k}):g.kind===`create`?(0,R.jsx)(cxe,{resource:g.resource,values:g.values},g.resource):g.kind===`record`?(0,R.jsx)(ATe,{resource:g.resource,recordKey:g.key},`${g.resource}/${g.key}`):(0,R.jsx)(FCe,{address:g},Z7(g.resource,g.list)):p===`/`?(0,R.jsx)(rS,{title:W(`chooseResource`),children:W(`pickFromSidebar`)}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`nothingHere`)}),Ce=(0,R.jsx)(_d,{pageScroll:!0,sidebarMode:t??`text-small`,activeItem:y??``,breadcrumb:xe,user:pe&&rie(pe),onSignOut:d&&(()=>void s()),signIn:d?void 0:u.link(),workspace:ge?.organization?.name??e,appName:i.appName,logo:$Ce,navGroups:w,bottomBar:gT(i,h,y),userMenu:[...oCe(i,h,y),...l&&d?Pre(h,p,ge):[],...d?ss(h,p,me):[]],organizations:l&&{...ge?.organization&&{current:{id:ge.organization.id,name:ge.organization.name}},others:F.organizations.filter(e=>e.id!==ge?.organization?.id),onSwitch:e=>void o.organizations.switchTo(e).then(()=>_9(h))},theme:{preference:S.preference,onChange:S.choose},roles:fe.current?.active?{active:fe.current.active,roles:fe.current.roles,onSwitch:fe.switchTo}:void 0,onNavigate:v,search:x.available?{placeholder:x.placeholder,text:x.text,onTextChange:x.setText,query:x.query,loading:x.loading,groups:x.groups,onSelect:v}:void 0,actions:(re||P||ce)&&(0,R.jsxs)(R.Fragment,{children:[re&&(0,R.jsx)(mg,{name:`shell.actions`,fallback:null,children:(0,R.jsx)(re,{})}),P,ce]}),rightPanel:(ie||le)&&(0,R.jsxs)(R.Fragment,{children:[ie&&(0,R.jsx)(mg,{name:`shell.rightPanel`,fallback:null,children:(0,R.jsx)(ie,{})}),le]}),children:Se}),we=me&&he.length>0;return!f&&!we?Ce:(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[f&&(0,R.jsx)(ZTe,{signIn:f,onStop:c}),we&&(0,R.jsx)(nwe,{off:he}),(0,R.jsx)(`div`,{className:`min-h-0 flex-1`,children:Ce})]})},oEe=({baseUrl:e,client:t,sources:n,workspace:r,sidebarMode:i,ui:a,assistant:o,runtime:s})=>{let{state:c,session:l,markSignedOut:u}=B();return(0,R.jsx)(Lh,{baseUrl:e,client:t,sources:n,token:c.kind===`visitor`?void 0:l.token,onUnauthenticated:u,children:(0,R.jsx)(aS,{children:(0,R.jsx)(Jy,{children:(0,R.jsx)(twe,{ui:a,children:(0,R.jsx)(aEe,{workspace:r,sidebarMode:i,assistant:o,runtime:s})})})})})},sEe=({baseUrl:e,client:t,ui:n,children:r})=>{let i=gw();return i?(0,R.jsx)(Lh,{baseUrl:e,client:t,children:(0,R.jsx)(CC.Provider,{value:n??{},children:(0,R.jsx)(mw,{name:i.name},i.name)})}):r},cEe=({auth:e,workspace:t,basePath:n,initialUrl:r,pluginLoader:i,locale:a,...s})=>(o(a??`en`),(0,R.jsx)(Tw,{children:(0,R.jsx)(Rd,{session:e,children:(0,R.jsx)(Jne,{basePath:n,initialUrl:r,children:(0,R.jsx)(Zre,{...i&&{loader:i},children:(0,R.jsx)(oie,{children:(0,R.jsx)(sEe,{baseUrl:s.baseUrl,client:s.client,ui:s.ui,children:(0,R.jsx)(tie,{workspace:t,children:(0,R.jsx)(oEe,{workspace:t,...s})})})})})})})}));export{Wh as $,Nw as A,sS as B,Jw as C,Bw as D,Vw as E,xC as F,Vg as G,Qx as H,oC as I,Og as J,Rg as K,eC as L,Ow as M,Dw as N,Lw as O,SC as P,Gh as Q,$S as R,$w as S,Hw as T,Zy as U,J as V,Xy as W,bg as X,Ure as Y,hg as Z,bT as _,d5 as a,Eh as at,iT as b,vbe as c,Uf as ct,G0 as d,Af as dt,Uh as et,mE as f,Bd as ft,jT as g,xu as gt,BT as h,sd as ht,B5 as i,H as it,Aw as j,Iw as k,m6 as l,jf as lt,hE as m,cd as mt,L9 as n,U as nt,jbe as o,Sm as ot,gE as p,dd as pt,Dg as q,I9 as r,Ih as rt,_be as s,Qp as st,cEe as t,Lh as tt,C3 as u,V as ut,sT as v,Gw as w,rT as x,oT as y,cS as z};
69
+ `,M7=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,N7=`http://schemas.openxmlformats.org/package/2006/relationships`;`${j7}`,`${j7}${N7}${M7}`,`${j7}${N7}${M7}${M7}`,new TextEncoder;var gSe=rr(),P7=e=>e?.export!==!1,F7=e=>Object.values(e.fields).flatMap(e=>e.sensitive?[]:[e.name]),_Se=(e,t)=>{let n=new Set(F7(e));return cx(e,t).filter(e=>n.has(e))},I7=(e,t,n)=>Object.fromEntries(lx(e,t,[],n).map(e=>[e.id,e.header])),vSe=(e,t,n)=>{let r=I7(e,t,n);return n.flatMap(n=>{let i=e.fields[n];return i?[{name:n,header:r[n],field:i,hints:t?.fields[n]??{}}]:[]})},L7=(e,t)=>{let n=e?.export?e.export.maxRows??1/0:1/0;return Math.min(n,t===`xlsx`?hSe:1/0)},R7=e=>e.primaryKey.length===1,ySe=(e,t)=>{let[n]=e.primaryKey;if(!n||e.primaryKey.length!==1)throw Error(`Not implemented: selected rows are exported by a single-field key`);let r=[];for(let e=0;e<t.length;e+=500)r.push(Hn(gSe.in(n,t.slice(e,e+500))));return r},bSe=()=>{let e=new Worker(new URL(`/assets/export-worker-ClACk00b.js`,``+import.meta.url),{type:`module`,name:`protobase-export`}),t=[];return e.onmessage=e=>t.shift()?.resolve(e.data.bytes),e.onerror=e=>{e.preventDefault();let n=Error(k7(`couldNotBuild`,e.message));for(let e of t.splice(0))e.reject(n)},{send:n=>new Promise((r,i)=>{t.push({resolve:r,reject:i}),e.postMessage(n)}),close:()=>e.terminate()}},xSe=()=>[{value:`xlsx`,label:k7(`excel`)},{value:`csv`,label:k7(`csv`)}],SSe=()=>[{value:`shown`,label:k7(`asShown`)},{value:`raw`,label:k7(`rawValues`)}],CSe={shown:`shownHint`,raw:`rawHint`},wSe=e=>e.kind===`counting`?k7(`counting`):e.kind===`exact`||e.rows>1e4?Jd(e.rows):k7(`moreThan`),z7=e=>{if(e.kind!==`counting`)return e.kind===`exact`?e.rows:Math.max(e.rows,10001)},B7=({label:e,help:t,children:n})=>(0,R.jsxs)(`div`,{className:`flex flex-col items-start gap-1.5`,children:[(0,R.jsx)(`span`,{className:`text-body font-medium`,children:e}),n,t&&(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t})]}),V7=(e,t,n)=>{let r=e.indexOf(t),i=[...e];return i.splice(r,1),i.splice(r+n,0,t),i},TSe=({fields:e,columns:t,onChange:n})=>{let r=Object.fromEntries(e.map(e=>[e.name,e.label])),i=[...t,...e.map(e=>e.name).filter(e=>!t.includes(e))];return(0,R.jsx)(`ul`,{className:`divide-y self-stretch rounded-md border`,"aria-label":k7(`columns`),children:i.map(e=>{let i=t.includes(e),a=t.indexOf(e);return(0,R.jsxs)(`li`,{className:`flex min-h-10 items-center gap-2 px-3 py-1`,children:[(0,R.jsxs)(`label`,{className:`flex min-w-0 flex-1 cursor-pointer items-center gap-2.5`,children:[(0,R.jsx)(Zh,{checked:i,label:r[e],onChange:r=>n(r?[...t,e]:t.filter(t=>t!==e))}),(0,R.jsx)(`span`,{className:i?`truncate`:`truncate text-muted-foreground`,children:r[e]})]}),i&&(0,R.jsxs)(`span`,{className:`flex shrink-0 gap-1`,children:[(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`min-h-8 px-2`,"aria-label":k7(`moveUp`,r[e]),disabled:a===0,onClick:()=>n(V7(t,e,-1)),children:(0,R.jsx)(Yr,{className:`size-3.5`})}),(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`min-h-8 px-2`,"aria-label":k7(`moveDown`,r[e]),disabled:a===t.length-1,onClick:()=>n(V7(t,e,1)),children:(0,R.jsx)(Ur,{className:`size-3.5`})})]})]},e)})})},ESe=({plural:e,view:t,fields:n,initialColumns:r,count:i,selected:a,open:o,onExport:s,onClose:c})=>{let[l,u]=(0,I.useState)(`xlsx`),[d,p]=(0,I.useState)(a?`selected`:`list`),[m,h]=(0,I.useState)(r),[g,_]=(0,I.useState)(`shown`),v=L7(t,l),y=d===`selected`?k7(`selectedRows`,Gd(a??0),a??0):wSe(i),b=(d===`selected`?a??0:z7(i)??0)>v,x=[{value:`list`,label:k7(`rowsInList`)},{value:`selected`,label:k7(`selected`,Gd(a??0))}];return(0,R.jsx)(bT,{title:k7(`exportPlural`,e),open:o,onClose:c,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:c,children:k7(`cancel`)}),(0,R.jsx)(V,{variant:`primary`,disabled:m.length===0,onClick:()=>s({format:l,scope:d,columns:m,mode:g}),children:k7(`export`)})]}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4 text-body`,children:[(0,R.jsx)(B7,{label:k7(`format`),children:(0,R.jsx)(f,{size:`md`,label:k7(`format`),value:l,options:xSe(),onChange:u})}),a!==void 0&&a>0&&(0,R.jsx)(B7,{label:k7(`rows`),help:d===`list`?k7(`listHint`):void 0,children:(0,R.jsx)(f,{size:`md`,label:k7(`rows`),value:d,options:x,onChange:p})}),(0,R.jsx)(B7,{label:k7(`values`),help:k7(CSe[g]),children:(0,R.jsx)(f,{size:`md`,label:k7(`values`),value:g,options:SSe(),onChange:_})}),(0,R.jsx)(B7,{label:k7(`columns`),children:(0,R.jsx)(TSe,{fields:n,columns:m,onChange:h})}),(0,R.jsxs)(`p`,{role:`status`,className:`text-muted-foreground`,children:[k7(`exports`,y),b&&k7(`overLimit`,Gd(v))]})]})})},DSe=({plural:e,done:t,total:n,onCancel:r})=>{let i=n?Math.min(1,t/n):void 0;return(0,R.jsx)(bT,{title:k7(`exporting`,e),open:!0,onClose:r,actions:(0,R.jsx)(V,{onClick:r,children:k7(`cancel`)}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 text-body`,children:[(0,R.jsx)(`div`,{role:`progressbar`,"aria-label":k7(`rowsExported`),"aria-valuemin":0,"aria-valuemax":n,"aria-valuenow":t,className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,R.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width]`,style:{width:`${(i??0)*100}%`}})}),(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:n?k7(`doneOf`,Gd(t),Gd(n)):k7(`done`,Gd(t))})]})})},H7={xlsx:{mime:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,extension:`.xlsx`,description:`workbook`},csv:{mime:`text/csv`,extension:`.csv`,description:`csvFile`}},OSe=/[\\/:*?"<>|\u0000-\u001f]/g,kSe=(e,t,n=new Date)=>{let r=[n.getFullYear(),String(n.getMonth()+1).padStart(2,`0`),String(n.getDate()).padStart(2,`0`)].join(`-`);return`${e.replace(OSe,` `).trim()} ${r}${H7[t].extension}`},ASe=8e6,jSe=(e,t)=>{let n=new Blob([],{type:H7[t].mime}),r=[],i=0,a=()=>{n=new Blob([n,...r],{type:H7[t].mime}),r=[],i=0};return{write:async e=>{e.length!==0&&(r.push(e),i+=e.length,i>=ASe&&a())},close:async()=>{a();let t=URL.createObjectURL(n),r=document.createElement(`a`);r.href=t,r.download=e,r.click(),setTimeout(()=>URL.revokeObjectURL(t),6e4)},abort:async()=>{r=[],n=new Blob([])}}},U7=()=>globalThis.showSaveFilePicker,MSe=()=>typeof U7()==`function`,NSe=async(e,t)=>{let n=U7();if(!n)throw Error(`This browser cannot save a file as it is built`);let r=H7[t],i;try{i=await n({suggestedName:e,types:[{description:k7(r.description),accept:{[r.mime]:[r.extension]}}]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;throw e}let a=await i.createWritable();return{write:async e=>{e.length>0&&await a.write(e)},close:()=>a.close(),abort:()=>a.abort()}},PSe=(e,t)=>MSe()?NSe(e,t):Promise.resolve(jSe(e,t)),FSe=(e,t)=>{let n=t[e.primaryKey[0]];return typeof n==`object`&&n&&`id`in n?n.id:n},ISe=({model:e,view:t,resources:n,views:r,plural:i,filter:a,orderBy:o,createPort:s=bSe,createSink:c=PSe})=>{let l=U(),u=qy(),[d,f]=(0,I.useState)({kind:`closed`}),p=(0,I.useRef)(void 0),m=Eh({queryKey:H.exportCount(e.name,a),enabled:d.kind===`settings`,queryFn:async()=>{let t=await l.list(e.name,{filter:a||void 0,pageSize:1,count:`exact`,fields:e.primaryKey});return t.totalSize===void 0?{kind:`estimate`,rows:t.totalSizeEstimate}:{kind:`exact`,rows:t.totalSize}}}).data??{kind:`counting`},h=(t=[])=>f({kind:`settings`,selected:R7(e)?t.map(t=>FSe(e,t)):[]}),g=async(d,h)=>{let g=kSe(i,d.format),_=await c(g,d.format);if(!_)return;let v=L7(t,d.format),y=d.scope===`selected`?h.length:z7(m),b=y===void 0?void 0:Math.min(y,v),x=new AbortController;p.current=x,f({kind:`running`,done:0,total:b});try{let c=await mSe({client:l,resource:e.name,filters:d.scope===`selected`?ySe(e,h):[a],orderBy:o,plan:{format:d.format,mode:d.mode,name:i,columns:vSe(e,t,d.columns)},labels:d.mode===`shown`?q0(n,r,e,d.columns):{},limit:v,port:s(),sink:_,signal:x.signal,onProgress:e=>x.signal.aborted||f({kind:`running`,done:e,total:b})});u.show({state:`success`,title:k7(`exported`,Gd(c.rows),i),description:c.truncated?k7(`truncated`,g,Gd(c.rows)):g})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;if(!Ks(e))throw e;u.show({state:`error`,title:k7(`couldNotExport`,i),description:e.message})}finally{p.current=void 0,f(e=>e.kind===`running`?{kind:`closed`}:e)}},_=()=>{p.current?.abort(),f({kind:`closed`})},v=F7(e),y=I7(e,t,v);return{open:h,dialogs:d.kind===`settings`?(0,R.jsx)(ESe,{plural:i,view:t,fields:v.map(e=>({name:e,label:y[e]})),initialColumns:_Se(e,t),count:m,selected:d.selected.length>0?d.selected.length:void 0,open:!0,onExport:e=>void g(e,d.selected),onClose:()=>f({kind:`closed`})}):d.kind===`running`?(0,R.jsx)(DSe,{plural:i,done:d.done,total:d.total,onCancel:_}):null}},W7=a({en:{noList:e=>`There is no list called ${e}.`,searchPlural:e=>`Search ${e.toLowerCase()}`,search:`Search`,sort:`Sort`,filters:`Filters`,filtersCount:e=>`Filters (${e})`,newRecord:e=>`New ${e.toLowerCase()}`,export:`Export`,openRecord:e=>`Open ${e.toLowerCase()}`,delete:`Delete`,exportCount:e=>`Export ${e}`,deleteCount:e=>`Delete ${e}`,dragToSort:`Drag a row by its handle to move it. Every move is saved as you drop it.`,unreadableFilter:`The filter in the address could not be read`,couldNotLoadRows:`Could not load rows`,created:e=>`${e} created`,noMatchSearch:(e,t)=>`No ${e.toLowerCase()} match “${t}”.`,noMatchFilters:e=>`No ${e.toLowerCase()} match these filters.`,noMatch:e=>`No ${e.toLowerCase()} match.`,noneYet:e=>`No ${e.toLowerCase()} yet.`,clearSearch:`Clear search`,clearFilters:`Clear filters`},nl:{noList:e=>`Er is geen lijst met de naam ${e}.`,searchPlural:e=>`Zoeken in ${e.toLowerCase()}`,search:`Zoeken`,sort:`Sorteren`,filters:`Filters`,filtersCount:e=>`Filters (${e})`,newRecord:e=>`${e} toevoegen`,export:`Exporteren`,openRecord:e=>`${e} openen`,delete:`Verwijderen`,exportCount:e=>`${e} exporteren`,deleteCount:e=>`${e} verwijderen`,dragToSort:`Sleep een rij aan de greep om hem te verplaatsen. Elke verplaatsing wordt bewaard zodra je loslaat.`,unreadableFilter:`Het filter in het adres kon niet worden gelezen`,couldNotLoadRows:`Kon de rijen niet laden`,created:e=>`${e} aangemaakt`,noMatchSearch:(e,t)=>`Geen ${e.toLowerCase()} gevonden voor “${t}”.`,noMatchFilters:e=>`Geen ${e.toLowerCase()} gevonden met deze filters.`,noMatch:e=>`Geen ${e.toLowerCase()} gevonden.`,noneYet:e=>`Nog geen ${e.toLowerCase()}.`,clearSearch:`Zoekopdracht wissen`,clearFilters:`Filters wissen`}}),LSe=({state:e,onClearSearch:t,onClearFilters:n,create:r})=>(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-8 text-center text-muted-foreground`,children:[(0,R.jsx)(`p`,{children:e.message}),(e.clearSearch||e.clearFilters||e.create&&r)&&(0,R.jsxs)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:[e.clearSearch&&(0,R.jsx)(V,{onClick:t,children:W7(`clearSearch`)}),e.clearFilters&&(0,R.jsx)(V,{onClick:n,children:W7(`clearFilters`)}),e.create&&r]})]}),RSe=({plural:e,search:t,filtered:n,scoped:r,canCreate:i})=>t?{message:W7(`noMatchSearch`,e,t),clearSearch:!0,clearFilters:n,create:!1}:n?{message:W7(`noMatchFilters`,e),clearSearch:!1,clearFilters:!0,create:!1}:r?{message:W7(`noMatch`,e),clearSearch:!1,clearFilters:!1,create:!1}:{message:W7(`noneYet`,e),clearSearch:!1,clearFilters:!1,create:i},zSe=(e,t)=>{},BSe=({windowMs:e=1e3,comebacks:t=2,onHold:n=zSe}={})=>{let r,i=[],a;return(o,s)=>{if(a?.among.has(o))return a.value;if(a&&(a=void 0,i=[]),o===r||(r=o,i=i.filter(t=>s-t.at<=e),i.push({value:o,at:s,comeback:i.some(e=>e.value===o)}),i.filter(e=>e.comeback).length<t))return o;let c=new Set(i.slice(-2*t).map(e=>e.value));return a={value:Math.min(...c),among:c},n(a.value,[...c]),a.value}},VSe=e=>Math.max(1,Math.floor((e+12)/252)),HSe=(e,t)=>Math.max(0,(e-(t-1)*12)/t),USe=(e,t,n,r)=>({start:e*n,end:Math.max(0,Math.min(r,(t+1)*n)-1)}),WSe=(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},GSe=8,KSe=(e,t,n)=>{let r=e.get(t);if(r!==void 0&&r>=n)return e;let i=new Map(e);i.delete(t),i.set(t,n);for(let e of i.keys()){if(i.size<=GSe)break;i.delete(e)}return i},qSe=({source:e,label:t,initialIndex:n,onScrollIndex:r,minHeight:i,children:a})=>{let{total:o}=e,[s]=(0,I.useState)(n),[c,l]=(0,I.useState)(0),u=VSe(c),d=HSe(c,u),[f,p]=(0,I.useState)(()=>new Map),m=Math.ceil(Math.max(i(d),f.get(d)??0)),h=m+12,g={columns:u,rowHeight:h},_=(0,I.useRef)({layout:g,top:0}),v=_.current.top>0&&(_.current.layout.columns!==u||_.current.layout.rowHeight!==h),y=e=>v?WSe(_.current.top,_.current.layout,g):e,b=d>0&&f.has(d),x=o3({total:Math.ceil(o/u),rowHeight:h,initialIndex:Math.floor(s/u),settle:y,ready:b});(0,I.useLayoutEffect)(()=>{v&&x.scrollTo(x.top),_.current={layout:g,top:x.top},v||r(Math.floor(Math.max(0,x.top)/h)*u)});let S=USe(x.first,x.last,u,o),C=Q4({total:o,rowAt:e.rowAt,loadRows:e.loadRows,revision:e.revision,latencyMs:0},S.start,S.end),[w]=(0,I.useState)(()=>BSe());(0,I.useLayoutEffect)(()=>{let e=x.ref.current;if(!e)return;let t=()=>l(w(e.clientWidth,performance.now())),n=new ResizeObserver(t);return n.observe(e),t(),()=>n.disconnect()},[w]);let T=(0,I.useRef)(d);T.current=d;let[E]=(0,I.useState)(()=>new ResizeObserver(e=>{let t=Math.max(...e.map(e=>e.borderBoxSize[0]?.blockSize??e.contentRect.height)),n=T.current;p(e=>KSe(e,n,t))}));(0,I.useLayoutEffect)(()=>()=>E.disconnect(),[E]);let D=(0,I.useCallback)(e=>{if(e)return E.observe(e),()=>E.unobserve(e)},[E]);return(0,R.jsx)(`ul`,{ref:x.ref,className:`relative min-w-0 flex-auto`,"aria-label":t,style:{height:x.geometry.contentHeight},children:x.rows.flatMap(({index:e,offset:t})=>Array.from({length:u},(n,r)=>{let i=e*u+r;if(i>=o)return[];let s=C(i),c={top:t,left:r*(d+12),width:d,minHeight:m};return s?(0,R.jsx)(`li`,{ref:D,"aria-posinset":i+1,"aria-setsize":o,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:a(s)},s.id):(0,R.jsx)(`li`,{"aria-hidden":!0,className:`absolute grid grid-cols-[minmax(0,1fr)]`,style:c,children:(0,R.jsx)(_u,{className:`h-full rounded-lg`})},`skeleton-${i}`)}))})},JSe=`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,YSe=e=>e*.75,XSe=44,ZSe=({model:e,view:t,display:n,list:r,empty:i})=>{let a=t?.names?.plural??K(e.name),o=n.card===void 0&&(n.image!==void 0||n.photos!==void 0);return r.isLoading?(0,R.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden ${JSe}`,children:Array.from({length:6},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}):r.error?(0,R.jsx)(XS,{title:q(`couldNotLoadRows`),error:r.error}):!r.source||r.source.total===0?i??(0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:q(`noneMatch`,a.toLowerCase())}):(0,R.jsx)(qSe,{source:r.source,label:a,initialIndex:r.initialIndex,onScrollIndex:r.onScrollIndex,minHeight:e=>(o?YSe(e):0)+XSe,children:r=>(0,R.jsx)(M6,{model:e,view:t,display:n,row:Hx(e,r)})})},G7=new Map,QSe=()=>{let{entry:e,path:t,params:n}=zh(),r=`${t}?${n.toString()}`,i=G7.get(e),a=(0,I.useCallback)(t=>void G7.set(e,{url:r,index:t}),[e,r]);return{initialIndex:i?.url===r?i.index:0,remember:a}},K7=e=>e.reduce((e,t)=>e+t.count,0),$Se=e=>{let t=Math.floor(e.length/2),n=K7(e.slice(0,t)),r=K7(e.slice(e.length-t));return n===0?0:(r-n)/n*100},eCe=({active:e,payload:t,noun:n})=>{let r=t?.[0]?.payload;return!e||!r?null:(0,R.jsxs)(`div`,{className:`rounded-md border bg-background px-2.5 py-1.5 text-xs shadow-pop`,children:[(0,R.jsx)(`div`,{className:`text-muted-foreground`,children:pf(r.at)}),(0,R.jsxs)(`div`,{className:`font-semibold tabular-nums`,children:[Gd(r.count),` `,n]})]})},q7=a({en:{day:`Day`,week:`Week`},nl:{day:`Dag`,week:`Week`}}),J7={fontSize:11,fill:`var(--muted-foreground)`},tCe=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:o,className:s})=>{let[c,l]=(0,I.useState)(n),u=i??c,d=a??l,p=r??Dy(u),m=cu(`(min-width: 640px)`),h=$Se(p);return(0,R.jsxs)(`section`,{className:g(`rounded-lg border bg-background px-4 pb-2 pt-3`,s),children:[(0,R.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,R.jsx)(`h2`,{className:`font-semibold`,children:e}),(0,R.jsx)(`span`,{className:`font-semibold tabular-nums`,children:Gd(K7(p))}),(0,R.jsxs)(`span`,{className:g(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,R.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:o??`last ${u===`day`?`30 days`:`12 weeks`}`})]}),(0,R.jsx)(f,{value:u,onChange:d,options:[{value:`day`,label:q7(`day`)},{value:`week`,label:q7(`week`)}]})]}),(0,R.jsx)(`div`,{className:`mt-2 h-24`,children:(0,R.jsx)(gM,{width:`100%`,height:`100%`,children:(0,R.jsxs)(j0,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:u===`day`?`22%`:`30%`,children:[(0,R.jsx)(B$,{vertical:!1,stroke:`var(--border)`}),(0,R.jsx)(O1,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:mf,tick:J7,axisLine:!1,tickLine:!1,interval:u===`day`?m?4:9:m?1:3,height:18}),(0,R.jsx)(N1,{width:m?36:28,tick:J7,axisLine:!1,tickLine:!1,tickCount:3}),(0,R.jsx)(cq,{cursor:{fill:`var(--muted)`},content:(0,R.jsx)(eCe,{noun:t}),isAnimationActive:!1}),(0,R.jsx)(b1,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},nCe={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},rCe=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,o]=(0,I.useState)(t.granularity===`week`?`week`:`day`),s=a===`week`?`90d`:t.range,c=hE(e,{field:t.field,range:s,granularity:a,filter:i,timeZone:Yd()}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,R.jsx)(tCe,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:nCe[s]})},Y7=(e,t,n)=>{let r=e.sum??e.average;if(r===void 0)return n;let i=t?.fields[r]?.label??K(r);return e.sum===void 0?W(`average`,i):`${i}`},iCe=({model:e,view:t,chart:n,plural:r,filter:i})=>{let a=t?.fields[n.groupBy]?.label??K(n.groupBy);return(0,R.jsxs)(`section`,{className:`rounded-lg border bg-background px-4 pb-3 pt-3`,"aria-label":`${Y7(n,t,r)} by ${a.toLowerCase()}`,children:[(0,R.jsxs)(`h2`,{className:`mb-2 font-semibold`,children:[Y7(n,t,r),` by `,a.toLowerCase()]}),(0,R.jsx)(W0,{model:e,view:t,groupBy:n.groupBy,type:n.type,sum:n.sum,average:n.average,limit:n.limit,filter:i})]})},aCe=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,I.useState)(e);return(0,I.useEffect)(()=>a(e),[e]),(0,I.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,R.jsx)(cd,{wrapperClassName:g(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,R.jsx)(go,{className:`size-4`}),placeholder:n,"aria-label":W7(`search`),value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},X7=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),oCe=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:hT(r.icon,na),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??K(r.page),icon:hT(r.icon??i?.icon,Oa),href:xs({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??K(r.resource),icon:hT(r.icon,pT(r.resource)),href:xs({kind:`list`,resource:r.resource},t),active:r.resource===n}}),Z7=(e,t)=>t===void 0?e:`${e}/${t}`,Q7={sales:`sales`,crm:`crm`,catalog:`catalog`,inventory:`inventory`,core:`admin`,hr:`hr`},$7=(e,t=``,n={})=>{let r=new Map,i=new Map,a=X7(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??W(`pages`),o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:hT(n.icon,Oa),href:xs({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||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??(Q7[c]?W(Q7[c]):K(c)),u=(e,t,n)=>{let a=r.get(e)??{label:e,items:[]};a.items.push(t),r.set(e,a),i.set(t.id,n??2**53-1)};s.nav?.hidden||u(l,{id:Z7(o.name),label:s.names?.plural??K(o.name),icon:pT(o.name),href:xs({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}},s.nav?.order);for(let e of s.lists??[])e.nav?.hidden||u(e.nav?.group??l,{id:Z7(o.name,e.name),label:e.names.plural,icon:pT(o.name),href:xs({kind:`list`,resource:o.name,list:e.name},t)},e.nav?.order)}for(let n of Object.values(e.signIn??{})){if(n.nav?.hidden||a.has(n.resource))continue;let e=n.nav?.group??W(`account`),o=r.get(e)??{label:e,items:[]};o.items.push({id:n.resource,label:n.names?.plural??K(n.resource),icon:pT(n.resource),href:xs({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:K(r),icon:pT(r),href:xs({kind:`list`,resource:r},t),problem:W(`cannotReach`,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))}))},sCe=(e,t,n,r,i)=>{let a=n?.list?.relatedColumns??[];if(a.length===0)return e;let o=new Map(e.map(e=>[e.id,e]));return cx(t,n).flatMap(e=>{let t=o.get(e);if(t)return[t];let n=a.find(t=>t.name===e),s=n&&r[n.resource];if(!n||!s)return[];let c=n.label??K(n.name);return[{id:n.name,header:c,kind:`text`,width:160,minWidth:Sb(c,!1),sortable:!1,render:e=>(0,R.jsx)(E6,{column:n,records:e[n.name]??[],target:s,view:i[s.name],Card:M6})}]})},cCe=({model:e,view:t,target:n,children:r})=>{let i=v6(e.name,t.listOf,!0),a=t.names?.plural??K(e.name),o=e=>(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[(0,R.jsx)(vd,{title:a,subtitle:t.help}),e]});if(i.error)return o((0,R.jsx)(XS,{title:y6(`couldNotLoadYour`,a.toLowerCase()),error:i.error}));if(!i.data)return o((0,R.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(15rem,1fr))] gap-3`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-24`},t))}));let s=g6(n,i.data);return s?r(s):o((0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:y6(`noneYet`,a.toLowerCase())}))},e9=({title:e,chips:t,label:n,required:r,initial:i=``,busy:a,onSave:o,onClose:s})=>{let c=(0,I.useId)(),[l,u]=(0,I.useState)(i),d=`${c}-form`;return(0,R.jsx)(bT,{open:!0,title:e,onClose:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:s,children:Q(`cancel`)}),(0,R.jsx)(V,{type:`submit`,form:d,variant:`primary`,loading:a,children:Q(`save`)})]}),children:(0,R.jsxs)(`form`,{id:d,className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),o(l.trim()===``?null:l.trim())},children:[t.length>0&&(0,R.jsx)(v3,{chips:t}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,R.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,R.jsx)(`label`,{htmlFor:c,className:`font-medium`,children:n}),!r&&(0,R.jsx)(`span`,{id:`${c}-hint`,className:`text-xs text-muted-foreground`,children:Q(`optional`)})]}),(0,R.jsx)(cd,{id:c,value:l,required:r,pattern:r?`.*\\S.*`:void 0,"aria-describedby":r?void 0:`${c}-hint`,autoFocus:!0,autoComplete:`off`,onChange:e=>u(e.target.value)})]})]})})},t9=rr(),lCe={start:0,end:0},n9=(e,t)=>t9.and(t,{kind:`present`,field:e.field,span:lCe}),r9=e=>{switch(e.kind){case`and`:case`or`:return{...e,args:e.args.map(r9)};case`not`:return i9(e.arg);case`search`:case`present`:case`isNull`:return e;default:return n9(e,e)}},i9=e=>{switch(e.kind){case`and`:return t9.or(...e.args.map(i9));case`or`:return t9.and(...e.args.map(i9));case`not`:return r9(e.arg);case`search`:case`present`:case`isNull`:return t9.not(e);default:return n9(e,t9.not(e))}},a9=e=>{let t=ln(e);if(!t.ok)throw Error(`The filter cannot be read: ${t.errors.map(e=>e.message).join(`; `)}`);return t.ast},o9=(e,t)=>{let n=a9(e);if(!n)return null;let r=a9(t),i=t9.not(r9(n));return Hn(r?t9.and(r,i):i)},uCe=(e,t)=>o9(t,e),s9=e=>e.key.startsWith(`extra:`)?`extra:${e.label}`:e.key,dCe=(e,t)=>{let n=new Map(e.map(e=>[s9(e),e])),r=new Map(t.map(e=>[s9(e),e])),i=e.filter(e=>!r.has(s9(e))).map(e=>({kind:`removed`,label:e.label})),a=t.flatMap(e=>{let t=n.get(s9(e));return t&&t.label!==e.label?[{kind:`changed`,label:e.label,before:t.label}]:[]}),o=t.filter(e=>!n.has(s9(e))).map(e=>({kind:`added`,label:e.label}));return[...i,...a,...o]},fCe=(e,t,n,r)=>{let i=e-t;if(i===0)return Q(`asMany`,r);let a=Math.abs(i)===1?n:r;return i>0?Q(`more`,i,a):Q(`fewer`,-i,a)},c9=12,l9={added:{word:`added`,className:`text-success-text`},removed:{word:`removed`,className:`text-danger-text`},changed:{word:`changed`,className:`text-primary-text`}},pCe=({changes:e})=>(0,R.jsx)(`ul`,{"aria-label":Q(`filterChanges`),className:`divide-y rounded-md border`,children:e.map(e=>(0,R.jsxs)(`li`,{className:`grid grid-cols-[72px_1fr] gap-3 px-3 py-2`,children:[(0,R.jsx)(`span`,{className:`font-medium ${l9[e.kind].className}`,children:Q(l9[e.kind].word)}),e.kind===`changed`?(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`text-muted-foreground line-through`,children:e.before}),` `,(0,R.jsx)(`span`,{className:`font-medium`,children:e.label})]}):(0,R.jsx)(`span`,{className:e.kind===`removed`?`text-muted-foreground line-through`:`font-medium`,children:e.label})]},`${e.kind}:${e.label}`))}),u9=(e,t)=>{let n=Eh({...QT(U(),e,t??``),enabled:t!==null});return t===null?0:n.data},mCe=(e,t,n)=>`${e} ${e===1?t:n}`,d9=({model:e,view:t,title:n,filter:r,total:i,plural:a})=>{let o=t?.list?.displays?.find(e=>e.kind===`cards`);return(0,R.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`h3`,{className:`font-semibold`,children:[n,` `,(0,R.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[`(`,i??`…`,`)`]})]}),i!==void 0&&i>c9&&(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:Q(`firstOf`,c9,i)}),r===null||i===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:Q(`noPlural`,a)}):(0,R.jsx)(C5,{model:e,view:t,filter:r,sort:Ux(e,t),limit:c9,display:o?.name??`table`,row:!0,link:!1,empty:`No ${a}.`})]})},hCe=({model:e,view:t,title:n,before:r,after:i,saveNewLabel:a,updating:o,creating:s,onUpdate:c,onSaveNew:l,onCancel:u})=>{let d=dCe(c6(e,r),c6(e,i)),f=(0,I.useMemo)(()=>o9(r,i),[r,i]),p=(0,I.useMemo)(()=>uCe(r,i),[r,i]),m=u9(e,f),h=u9(e,p),g=(t?.names?.singular??K(e.name)).toLowerCase(),_=(t?.names?.plural??K(e.name)).toLowerCase(),v=m!==void 0&&h!==void 0;return(0,R.jsx)(bT,{open:!0,wide:!0,title:n,onClose:u,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:u,children:Q(`cancel`)}),(0,R.jsx)(V,{loading:s,disabled:o,onClick:l,children:a}),(0,R.jsx)(V,{variant:`primary`,loading:o,disabled:s,onClick:c,children:Q(`update`)})]}),children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d.length>0&&(0,R.jsx)(pCe,{changes:d}),v?(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-semibold`,children:fCe(m,h,g,_)}),(0,R.jsxs)(`span`,{className:`text-muted-foreground`,children:[`: `,Q(`addedRemoved`,mCe(m,g,_),h)]})]}):(0,R.jsx)(_u,{className:`h-4 w-48`}),(0,R.jsx)(d9,{model:e,view:t,title:Q(`added`),filter:f,total:m,plural:_}),(0,R.jsx)(d9,{model:e,view:t,title:Q(`removed`),filter:p,total:h,plural:_})]})})},gCe=()=>{let{address:e,set:t}=sS();return{key:e?.kind===`list`?e.savedSearch:void 0,open:e=>t({savedSearch:e})}},f9=e=>e instanceof Error?e.message:Q(`somethingWrong`),_Ce=(e,t)=>{let n=J(),r=U(),i=qy(),a=nE(),{href:o,open:s}=sS(),c=gCe(),{resource:l}=e,u=n.resources[l],d=n.views[l]?.searchesOf,f=n.permissions[l],p=u!==void 0&&d!==void 0&&f!==void 0&&VT(f,`create`)&&VT(f,`delete`),m=n.signIn?.[l]?.signIn,h=V6(l,p),g=e=>Dr(Xb(u,e)),_=d&&h.data?.find(e=>e[d.filter]===t),v=_||c.key===void 0||!f||!VT(f,`update`)?void 0:h.data?.find(e=>g(e)===c.key),y=n.views[l]?.names,b=y?.plural??`saved searches`,x=d?.name===void 0?void 0:u?.fields[d.name],S=Dh({mutationFn:e=>r.create(l,{[d.filter]:t,...d.name&&{[d.name]:e}}),onSuccess:e=>{c.open(g(e.record)),i.show({state:`success`,title:Q(`searchSaved`),action:{label:Q(`openPlural`,b),href:o({kind:`list`,resource:l}),onNavigate:s}})},onError:e=>i.show({state:`error`,title:Q(`couldNotSave`),description:f9(e)}),onSettled:()=>a(l)}),C=Dh({mutationFn:e=>r.remove(l,g(e)),onError:e=>i.show({state:`error`,title:Q(`couldNotTakeOff`),description:f9(e)}),onSettled:()=>a(l)}),w=Dh({mutationFn:e=>r.update(l,g(e),{[d.filter]:t},e.etag??`*`),onSuccess:()=>i.show({state:`success`,title:Q(`searchUpdated`)}),onError:e=>i.show({state:`error`,title:Q(`couldNotUpdate`),description:f9(e)}),onSettled:()=>a(l)}),T=S.isPending||C.isPending||w.isPending;return{mode:p?`save`:m?`sign-in`:void 0,prompt:m,saved:_!==void 0,opened:v&&{filter:String(v[d.filter]??``),name:d.name&&typeof v[d.name]==`string`&&v[d.name]!==``?String(v[d.name]):void 0},noun:(y?.singular??K(l)).toLowerCase(),naming:x&&{label:n.views[l]?.fields[x.name]?.label??K(x.name),required:!x.nullable},ready:h.data!==void 0&&!T,updating:w.isPending,creating:S.isPending,remove:()=>_&&C.mutate(_),saveNew:(e,t)=>S.mutate(e,t),update:e=>v&&w.mutate(v,e)}},vCe=({model:e,view:t,search:n,filter:r,chips:i,className:a})=>{let o=_Ce(n,r),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)();if(!o.mode)return null;let p=n.label??Q(`saveSearch`);if(o.mode===`sign-in`)return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-haspopup":`dialog`,onClick:()=>c(!0),children:[(0,R.jsx)(ci,{className:`size-3.5`,"aria-hidden":!0}),p]}),(0,R.jsx)(m6,{as:`dialog`,prompt:o.prompt,open:s,onClose:()=>c(!1)})]});let m=e=>{u(!1),o.naming?f(e):o.saveNew(null)},h=d!==void 0&&o.naming&&(0,R.jsx)(e9,{title:d,chips:i,label:o.naming.label,required:o.naming.required,busy:o.creating,onSave:e=>o.saveNew(e,{onSuccess:()=>f(void 0)}),onClose:()=>f(void 0)}),g=o.opened;if(g){let n=Q(`saveAsNew`,o.noun);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-haspopup":`dialog`,"aria-disabled":!o.ready,onClick:()=>o.ready&&u(!0),children:[(0,R.jsx)(Hee,{className:`size-3.5`,"aria-hidden":!0}),(0,R.jsx)(`span`,{className:`max-w-60 truncate`,children:Q(`updateName`,g.name??o.noun)})]}),(0,R.jsxs)(V,{className:a,"aria-haspopup":o.naming?`dialog`:void 0,"aria-disabled":!o.ready,onClick:()=>o.ready&&m(n),children:[(0,R.jsx)(oi,{className:`size-3.5`,"aria-hidden":!0}),n]}),l&&(0,R.jsx)(hCe,{model:e,view:t,title:g.name?Q(`updateNameQuestion`,g.name):Q(`updateNounQuestion`,o.noun),before:g.filter,after:r,saveNewLabel:n,updating:o.updating,creating:o.creating,onUpdate:()=>o.update({onSuccess:()=>u(!1)}),onSaveNew:()=>m(n),onCancel:()=>u(!1)}),h]})}let _=o.saved?ii:ci;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{className:a,"aria-pressed":o.saved,"aria-haspopup":!o.saved&&o.naming?`dialog`:void 0,"aria-disabled":!o.ready,onClick:()=>o.ready&&(o.saved?o.remove():m(p)),children:[(0,R.jsx)(_,{className:o.saved?`size-3.5 text-primary`:`size-3.5`,"aria-hidden":!0}),p]}),h]})},yCe=e=>e instanceof Error?e.message:Q(`somethingWrong`),bCe=({model:e,view:t,name:n,value:r,onChange:i})=>{let a=(0,I.useId)(),o=e.fields[n],s=t.fields[n],c=s?.label??K(n);if(o?.type===`boolean`)return(0,R.jsx)(ZS,{checked:r===!0,onChange:i,label:c});if(o?.type!==`enum`)throw Error(`Not implemented: "${n}" is ${o?.type??`unknown`}, and a saved search's controls are enums or booleans`);return(0,R.jsxs)(`label`,{htmlFor:a,className:`flex items-center gap-2 text-muted-foreground`,children:[c,(0,R.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-foreground shadow-sm focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20`,children:(o.enumValues??[]).map(e=>(0,R.jsx)(`option`,{value:e,children:us(e,s?.valueLabels)},e))})]})},xCe=(e,t,n)=>Object.entries(n).map(([n,r])=>`${t.fields[n]?.label??K(n)}: ${e.fields[n]?.type===`boolean`?Q(r===!0?`on`:`off`):us(String(r),t.fields[n]?.valueLabels)}`).join(`, `),SCe=({model:e,view:t,recordKey:n,title:r,row:i,fields:a})=>{let o=U(),s=qy(),c=nE(),l=Dh({mutationFn:t=>o.update(e.name,n,t,i.etag??`*`),onSuccess:(n,i)=>s.show({state:`success`,title:Q(`saved`,r),description:xCe(e,t,i)}),onError:e=>s.show({state:`error`,title:Q(`couldNotChange`),description:yCe(e)}),onSettled:()=>c(e.name)});return(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-3`,children:a.map(n=>(0,R.jsx)(bCe,{model:e,view:t,name:n,value:l.isPending&&n in(l.variables??{})?l.variables[n]:i[n],onChange:e=>l.mutate({[n]:e})},n))})},CCe=e=>e instanceof Error?e.message:Q(`somethingWrong`),wCe=({model:e,view:t,of:n,target:r,targetView:i,row:a,recordKey:o,canRename:s,onDelete:c})=>{let l=U(),u=qy(),d=nE(),[f,p]=(0,I.useState)(!1),{name:m,chips:h,title:g,body:_}=H6({model:e,of:n,target:r,targetView:i,row:a,recordKey:o}),v=Dh({mutationFn:t=>l.update(e.name,o,{[n.name]:t},a.etag??`*`),onSuccess:()=>p(!1),onError:e=>u.show({state:`error`,title:Q(`couldNotRename`),description:CCe(e)}),onSettled:()=>d(e.name)}),y=n.name===void 0?void 0:e.fields[n.name];return(0,R.jsxs)(`section`,{"aria-label":g,className:`flex flex-col gap-3 rounded-lg border bg-surface p-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,R.jsx)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:(0,R.jsx)(`h2`,{className:`text-[16px] font-semibold`,children:(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:o},className:`hover:underline`,children:m??(0,R.jsx)(y3,{chips:h})})})}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[n.controls&&(0,R.jsx)(SCe,{model:e,view:t,recordKey:o,title:g,row:a,fields:n.controls}),s&&y&&(0,R.jsx)(V,{variant:`ghost`,"aria-label":Q(`renameTitle`,g),"aria-haspopup":`dialog`,onClick:()=>p(!0),children:(0,R.jsx)(oo,{className:`size-3.5`,"aria-hidden":!0})}),c&&(0,R.jsx)(V,{variant:`ghost`,"aria-label":Q(`deleteTitle`,g),onClick:()=>c(g),children:(0,R.jsx)(zo,{className:`size-3.5`,"aria-hidden":!0})})]})]}),f&&y&&(0,R.jsx)(e9,{title:Q(`renameTitle`,g),chips:h,label:t.fields[y.name]?.label??K(y.name),required:!y.nullable,initial:m,busy:v.isPending,onSave:e=>v.mutate(e),onClose:()=>p(!1)}),(0,R.jsx)(B6,{..._})]})},TCe=({model:e,view:t})=>{let{resources:n,views:r}=J(),i=t.searchesOf,a=n[i.resource],o=r[i.resource],s=V6(e.name,!0),c=oS(e.name),l=U5({model:e,view:t}),u=t.names?.plural??K(e.name),d=e=>(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[l.dialogs,(0,R.jsx)(vd,{title:u,subtitle:t.help}),e]});if(!a)return d((0,R.jsx)(rS,{title:Q(`notFound`),children:Kh(Q(`noResource`),i.resource)}));if(s.error)return d((0,R.jsx)(XS,{title:Q(`couldNotLoadYour`,u.toLowerCase()),error:s.error}));if(!s.data)return d((0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,R.jsx)(_u,{className:`h-56`},t))}));if(s.data.length===0){let e=(o?.names?.plural??K(a.name)).toLowerCase();return d((0,R.jsx)(`p`,{className:`py-8 text-center text-muted-foreground`,children:Kh(Q(`noSavedYet`,u.toLowerCase()),(0,R.jsx)(cS,{to:{kind:`list`,resource:a.name},className:`font-medium text-primary-text hover:underline`,children:e}))}))}return d((0,R.jsx)(`div`,{className:`flex flex-col gap-4`,children:s.data.map(n=>{let r=Dr(Xb(e,n)),s=VT(c,`delete`)?e=>void l.start({key:r,title:e,etag:n.etag,snapshot:n}):void 0;return(0,R.jsx)(wCe,{model:e,view:t,of:i,target:a,targetView:o,row:n,recordKey:r,canRename:VT(c,`update`),onDelete:s},r)})}))},ECe=({field:e,hints:t,resource:n,stored:r,onSave:i,close:a})=>{let[o,s]=(0,I.useState)(()=>AS(e,r)),c=(0,I.useRef)(null),l=(0,I.useRef)(!1),u=!t?.widget&&(e.type===`boolean`||e.type===`enum`);(0,I.useEffect)(()=>{c.current?.querySelector(`input, select, textarea, button, [tabindex]`)?.focus()},[]);let d=(t,n,s=o)=>{l.current||(l.current=!0,t&&jS(e,s,r)&&i(OS(e,s)),a(n))};return(0,R.jsx)(`div`,{ref:c,className:`w-full min-w-0`,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),d(!0)):e.key===`Tab`?(e.preventDefault(),d(!0,e.shiftKey?-1:1)):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),d(!1))},onBlur:e=>{c.current?.contains(e.relatedTarget)||d(!0)},children:(0,R.jsx)(BC,{field:e,hints:t,value:o,stored:r,resource:n,onChange:e=>{s(e),u&&d(!0,void 0,e)}})})},DCe=a({en:{changedBySomeoneElse:`Changed by someone else`,couldNotSave:`Could not save`},nl:{changedBySomeoneElse:`Gewijzigd door iemand anders`,couldNotSave:`Kon niet bewaren`}}),OCe=e=>{let t=U(),n=Qp(),r=qy(),[i,a]=(0,I.useState)(new Map),o=(0,I.useRef)(i),s=(0,I.useRef)(new Map),c=(e,t)=>{o.current=new Map(o.current).set(e,{...o.current.get(e),...t}),a(o.current)},l=async(i,a,s)=>{let l=Xb(e,i),u=String(o.current.get(i.id)?.etag??i.etag);try{let r=await t.update(e.name,l,{[a]:s},u);c(i.id,{[a]:r.record[a],etag:r.etag}),n.setQueryData(H.record(e.name,Dr(l)),r),n.invalidateQueries({queryKey:[`page`,e.name]}),n.invalidateQueries({queryKey:[`list`,e.name]}),n.invalidateQueries({queryKey:[`map`,e.name]})}catch(n){if(!Ks(n))throw c(i.id,{[a]:i[a]}),n;let o=n.status===412,s=o?await t.get(e.name,l):void 0;c(i.id,s?{[a]:s.record[a],etag:s.etag}:{[a]:i[a]});let u=n.errors.find(e=>e.field===a)?.message??n.message;r.show({state:`error`,title:DCe(o?`changedBySomeoneElse`:`couldNotSave`),description:u})}};return{patches:i,save:(e,t,n)=>{c(e.id,{[t]:n});let r=(s.current.get(e.id)??Promise.resolve()).then(()=>l(e,t,n));return s.current.set(e.id,r.catch(()=>void 0)),r}}},kCe=(e,t,n)=>{let r=OCe(e),i=t?.list?.editable??[];return{editor:i.length>0&&VT(n,`update`)?{editable:(t,n)=>i.includes(n)&&e.fields[n]!==void 0&&wS(e.fields[n])&&HT(t,`update`),render:(n,i,a)=>(0,R.jsx)(ECe,{field:e.fields[i],hints:t?.fields[i],resource:e.name,stored:n[i],onSave:e=>void r.save(n,i,e),close:a})}:void 0,patches:r.patches}},ACe=(e,t,n)=>({order:r,index:i})=>{let a=t=>r.findIndex(n=>Dr(Xb(e,n))===t),o=t.after.find(e=>a(e.key)>i);if(o)return u8(`dependsOn`,n,o.title);let s=t.before.find(e=>a(e.key)!==-1&&a(e.key)<i);return s?u8(`dependsOn`,s.title,n):void 0},jCe=(e,t,n,r)=>{let i=e[t],a;for(let o=n;o<e.length;o++){let n=r({record:i,order:Wv(e,t,o),index:o});if(n===void 0)return{to:o,...a!==void 0&&{reason:a}};a??=n}return{to:t,reason:a}},MCe=({model:e,view:t,field:n,filter:r,fields:i,rule:a})=>{let o=U(),s=qy(),c=nE(),{resources:l,views:u}=J(),d=`${n} asc`,f=Eh({queryKey:[...H.list(e.name,r,d,500,`hand-order`),i.join(`,`)],queryFn:async()=>{let t=q0(l,u,e,i),n=[],a=``;do{let s=await o.search(e.name,{filter:r||void 0,orderBy:d,pageSize:500,labels:t,...a&&{pageToken:a}});n.push(...J0(l,e,i,s.items,s.labels).map((t,n)=>({...t,id:Yb(e,s.items[n])}))),a=s.nextPageToken}while(a);return n}}),[p,m]=(0,I.useState)(),h=(0,I.useRef)(void 0),g=(0,I.useRef)(void 0),_=(0,I.useRef)(Promise.resolve()),v=(0,I.useRef)(0),y=(0,I.useRef)(void 0),b=async()=>{let t=h.current,r=g.current;if(g.current=void 0,!t||!r)return;let i=s8(t.map(e=>e[n]),r.first,r.last),a=t.slice(i.first,i.last+1),c=Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[Dr(Xb(e,t)),t.etag]]:[])),l=(await o.batchWrite([{op:`reorder`,resource:e.name,field:n,keys:a.map(t=>Xb(e,t)),start:i.start,etags:c}])).results[0];if(l?.op!==`reorder`)return;let u=new Map(a.map(e=>[e.id,{[n]:e[n]}])),d=n8(e,l.records.map(t=>({...t,before:u.get(Yb(e,t.record))??{}})),[n]);if(y.current!==void 0&&s.dismiss(y.current),y.current=s.show({state:`success`,title:t8(`orderChanged`),action:{label:t8(`undo`),onClick:()=>E(d)}}),!h.current)return;let f=new Map(l.records.map(t=>[Yb(e,t.record),t]));h.current=h.current.map(e=>{let t=f.get(e.id);return t?{...e,[n]:t.record[n],etag:t.etag}:e})},x=e=>t=>{h.current=void 0,g.current=void 0,m(void 0),s.show({state:`error`,title:e,description:xx(t)})},S=async()=>{--v.current,!(v.current>0)&&(await c(e.name),!(v.current>0)&&(h.current=void 0,m(void 0)))},C=(n,r)=>{let i=h.current??f.data;if(!i||n===r)return;if(!e.position?.after)return w(i,n,r,a);let s=Hx(e,i[n]).record,c=i[n].id;a8(o,e,t,s).then(n=>{let i=h.current??f.data,o=ACe(e,n,qb(e,t,s,c));w(i,i.findIndex(e=>e.id===c),r,e=>o(e)??a?.(e))},x(t8(`couldNotChange`)))},w=(e,t,n,r)=>{if(t===-1||t===n)return;let i=r?T(e,t,n,r):n;if(t===i)return;h.current=Wv(e,t,i);let a=Math.min(t,i),o=Math.max(t,i);g.current=g.current?{first:Math.min(g.current.first,a),last:Math.max(g.current.last,o)}:{first:a,last:o},m(h.current),v.current+=1,_.current=_.current.then(b).catch(x(t8(`couldNotChange`))).then(S)},T=(t,n,r,i)=>{let a=jCe(t.map(t=>Hx(e,t).record),n,r,i);return a.reason!==void 0&&s.show({state:`warning`,title:a.to===n?t8(`notMoved`):t8(`movedToPlace`,a.to+1),description:a.reason}),a.to},E=e=>{y.current!==void 0&&s.dismiss(y.current),y.current=void 0,v.current+=1,_.current=_.current.then(async()=>{await o.batchWrite(e),h.current=void 0,g.current=void 0,m(void 0)}).catch(x(t8(`couldNotUndo`))).then(S)};return{rows:p??f.data,loading:f.isPending,error:f.error,move:C}},p9=({model:e,view:t,field:n,filter:r,columns:i,sort:a})=>{let{resources:o,views:s}=J(),{fields:c,dropRules:l}=wC(),{go:u,href:d}=sS(),f=a!==void 0,p=(0,I.useMemo)(()=>g5(e,t,i,{resources:o,views:s,fieldTypes:c}).map(e=>f?e:{...e,sortable:!1}),[e,t,i.join(`,`),o,s,c,f]),m=(0,I.useMemo)(()=>zx(e,t,p.map(e=>e.id)),[e,t,p]),h=t?.list?.drag?.rule,g=h===void 0?void 0:l?.[h],_=MCe({model:e,view:t,field:n,filter:r,fields:m,...g&&{rule:g}}),v=_.rows,y=(0,I.useMemo)(()=>v&&{total:v.length,rowAt:e=>v[e]},[v]);if(h!==void 0&&!g)return(0,R.jsx)(fg,{children:Kh(t8(`noRule`),h)});if(_.loading)return(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))});if(_.error)return(0,R.jsx)(XS,{title:t8(`couldNotLoad`),error:_.error});if(!y||y.total===0)return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:t8(`nothingYet`)});let b=t=>u({kind:`record`,resource:e.name,key:Xb(e,t)});return(0,R.jsx)(l3,{fit:!0,scroll:`parent`,columns:p,source:y,latencyMs:0,onOpenRow:b,rowLink:t=>({href:d({kind:`record`,resource:e.name,key:Xb(e,t)}),onFollow:()=>b(t)}),...a&&{sort:a.value,onSortChange:a.onChange},rowNumbers:!1,reorder:{label:n=>qb(e,t,n,n.id),onMove:_.move}})},m9=({sorting:e,onChange:t,size:n,iconOnly:r=!1})=>{let i=t8(e?`done`:`reorder`);return(0,R.jsxs)(V,{size:n,variant:e?`primary`:`secondary`,onClick:()=>t(!e),...r&&{"aria-label":i,title:i},children:[e?(0,R.jsx)(bi,{className:`size-3.5`}):(0,R.jsx)(Aee,{className:`size-3.5`}),!r&&i]})},NCe=rr(),PCe=e=>e.find(e=>e.kind===`search`),FCe=({address:e})=>{let{resources:t,views:n,signIn:r}=J(),i=t[e.resource],a=r?.[e.resource];if(!i)return a?(0,R.jsx)(m6,{as:`page`,prompt:a.signIn}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e.resource)});let o=yr(n[e.resource],e.list);if(e.list!==void 0&&!o)return(0,R.jsx)(rS,{title:W(`notFound`),children:W7(`noList`,e.list)});if(o?.searchesOf)return(0,R.jsx)(TCe,{model:i,view:o});let s=Kx(t,n,e.resource,e.list);if(o&&s.listOf){let t=s.model;return(0,R.jsx)(cCe,{model:i,view:o,target:t,children:n=>(0,R.jsx)(h9,{model:t,address:e,scope:n,heading:{title:o.names?.plural??K(i.name),subtitle:o.help}})})}return(0,R.jsx)(h9,{model:i,address:e})},h9=({model:e,address:t,scope:n,heading:r})=>{let i=J(),{set:a,listTo:o,go:s,href:c}=sS(),l=e.name,u=yr(i.views[l],t.list),d=(0,I.useMemo)(()=>r6(u,e),[u,e]),{fields:f}=wC(),p=(0,I.useMemo)(()=>sCe(m5(lx(e,u),e,u,f),e,u,i.resources,i.views),[e,u,f,i.resources,i.views]),m=t.filter,h=(0,I.useMemo)(()=>e6(d,m),[d,m]),g=h.ok?h.state:w3,_=h.ok?h.extras:[],{orderBy:v,filterLayout:y}=t,b=lu(),x=uu(),[S,C]=(0,I.useState)(!1),w=n?[..._,n]:_,T=mxe({model:e,resources:i.resources,views:i.views,view:u,state:g,extras:w}),E=n?Y3(d,g,w):h.ok?m:``,D=(0,I.useMemo)(()=>zx(e,u,p.map(e=>e.id)),[e,u,p]),O=(0,I.useMemo)(()=>Jve(u,i.resources,i.views,D),[u,i.resources,i.views,D]),k=m3({resources:i.resources,views:i.views,model:e,columns:D,filter:E,orderBy:v,related:O}),A=Ox(e,u,t.display),j=oS(l),M=n?void 0:K6(e,j),[N,ee]=(0,I.useState)(!1),te=N&&M!==void 0,ne=!A&&!te&&Eye(u,M,v,E),re=te||A?.kind!==`map`;Lne(re);let ie=Z6(e,k.page,k.key,A?.kind===`custom`),ae=QSe(),oe=Kb(e,u),se=e=>({key:e.id,title:String(typeof e[oe]==`object`?e[oe].name:e[oe]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),ce=u?.names?.singular??K(l),le=kCe(e,u,j),{state:ue}=B(),de=U5({model:e,view:u,restore:W5(e),onReview:e=>s({kind:`record`,resource:l,key:e.key})}),P=(e,t=_)=>a({filter:Y3(d,e,t)}),fe=PCe(_),pe=e=>{let t=_.filter(e=>e.kind!==`search`);P(g,e?[...t,NCe.search(e)]:t)},me=u?.names?.plural??K(l),he=A?.kind===`calendar`||A?.kind===`timeline`||A?.kind===`board`&&vx(e)?void 0:A,F=he&&(0,R.jsx)(p5,{model:e,view:u,display:he,orderBy:v,onChange:e=>a({orderBy:e})}),ge=e.search?.length?(0,R.jsx)(aCe,{value:fe?.kind===`search`?fe.text:``,onCommit:pe,placeholder:W7(`searchPlural`,me),className:b?void 0:`min-h-11`}):null,_e=(0,R.jsx)(V3,{layout:y,config:T,value:g,onChange:P,leading:y===`bar`?F:void 0,trailing:ge}),ve=y===`bar`?_e:(0,R.jsx)(B3,{groups:[F?[F]:[]],trailing:ge}),ye=k3(T,g),be=(0,R.jsx)(x3,{scroll:!0,chips:ye,onRemove:e=>P(A3(g,e)),onClear:()=>P(w3)}),xe=he&&(0,R.jsx)(N3,{title:W7(`sort`),children:(0,R.jsx)(p5,{model:e,view:u,display:he,orderBy:v,onChange:e=>a({orderBy:e}),className:`min-h-11 w-full`})}),Se=(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxs)(V,{className:`min-h-11`,onClick:()=>C(!0),"aria-haspopup":`dialog`,children:[(0,R.jsx)(Kee,{className:`size-3.5`}),ye.length>0?W7(`filtersCount`,ye.length):W7(`filters`)]}),ge??(0,R.jsx)(`div`,{className:`min-w-0 flex-1`,children:be})]}),ge&&be,(0,R.jsx)(yT,{title:W7(`filters`),open:S,onClose:()=>C(!1),children:(0,R.jsx)(V3,{layout:`panel`,fullWidth:!0,config:T,value:g,onChange:P,leading:xe})})]}),Ce=!n&&G5(u,i.pages,j)&&(0,R.jsxs)(cS,{to:{kind:`create`,resource:l},className:Af({variant:`primary`}),children:[(0,R.jsx)(co,{className:`size-3.5`}),W7(`newRecord`,ce)]}),we=u?.saveSearch&&!n&&h.ok&&m&&(0,R.jsx)(vCe,{model:e,view:u,search:u.saveSearch,filter:m,chips:s6(e,u,m,Fve(T))}),Te=!n&&(0,R.jsx)(fSe,{model:e}),Ee=ISe({model:e,view:u,resources:i.resources,views:i.views,plural:me,filter:E,orderBy:v}),De=P7(u)&&(0,R.jsxs)(V,{onClick:()=>Ee.open(),...!b&&{"aria-label":W7(`export`),title:W7(`export`)},children:[(0,R.jsx)(Ji,{className:`size-3.5`}),b&&W7(`export`)]}),Oe=M&&!ne&&(0,R.jsx)(m9,{sorting:te,onChange:ee,iconOnly:!b}),ke=t=>!te&&(0,R.jsx)(f5,{view:u,choices:Mx(e,u,x),value:A?.name??`table`,onChange:e=>a({display:e}),menu:t}),Ae=l6(e),je=t=>{Ae(Hx(e,t).record),s({kind:`record`,resource:l,key:Xb(e,t)})},Me=k.source?(0,R.jsx)(l3,{columns:p,source:k.source,sort:Wx(v),onSortChange:e=>a({orderBy:Gx(e)}),onOpenRow:je,rowLink:t=>({href:c({kind:`record`,resource:l,key:Xb(e,t)}),onFollow:()=>je(t)}),cellEditor:le.editor,rowPatches:le.patches,initialScrollIndex:ae.initialIndex,onScrollIndex:ae.remember,rowActions:[{label:W7(`openRecord`,ce),onSelect:je},...VT(j,`delete`)?[{label:W7(`delete`),destructive:!0,available:e=>HT(e,`delete`),onSelect:e=>void de.start(se(e))}]:[]],bulkActions:[...P7(u)&&R7(e)?[{label:e=>W7(`exportCount`,e),onRun:e=>Ee.open(e)}]:[],...VT(j,`delete`)?[{label:e=>W7(`deleteCount`,e),destructive:!0,onRun:e=>de.startBulk(e.map(se))}]:[]],rowNumbers:!1,pinKey:ue.kind===`signed-in`?C_e(ue.user.id,Z7(l,t.list)):void 0,scroll:`parent`,className:`flex-1`}):(0,R.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),Ne={...k,initialIndex:ae.initialIndex,onScrollIndex:ae.remember},Pe=RSe({plural:me,search:fe?.kind===`search`?fe.text:``,filtered:ye.length>0,scoped:!!n||_.some(e=>e.kind!==`search`),canCreate:!!Ce}),Fe=(0,R.jsx)(LSe,{state:Pe,onClearSearch:()=>pe(``),onClearFilters:()=>P(w3),create:Ce}),Ie=te?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:W7(`dragToSort`)}),(0,R.jsx)(p9,{model:e,view:u,field:M,filter:``,columns:cx(e,u)})]}):ne?(0,R.jsx)(p9,{model:e,view:u,field:M,filter:``,columns:cx(e,u),sort:{value:Wx(v),onChange:e=>a({orderBy:Gx(e)})}}):A?A.kind===`cards`?(0,R.jsx)(ZSe,{model:e,view:u,display:A,list:Ne,empty:Fe},k.key.join(` `)):A.kind===`map`?(0,R.jsx)(u5,{model:e,view:u,display:A,filter:E,orderBy:v,fields:D,at:t.map,onMove:e=>a({map:e}),flush:!0}):A.kind===`board`?(0,R.jsx)(p8,{model:e,view:u,display:A,fields:D,filter:E,orderBy:v}):A.kind===`calendar`?(0,R.jsx)(L8,{model:e,view:u,display:A,fields:D,filter:E,at:t.calendar,linkTo:e=>o({calendar:e})}):A.kind===`timeline`?(0,R.jsx)(K8,{model:e,view:u,display:A,fields:D,filter:E,at:t.timeline,linkTo:e=>o({timeline:e})}):(0,R.jsx)(Y8,{display:A,list:ie}):k.source?.total===0&&!k.error?Fe:Me;return(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[de.dialogs,Ee.dialogs,(0,R.jsx)(vd,{title:r?.title??me,subtitle:r?r.subtitle:u?.help,actions:(0,R.jsxs)(R.Fragment,{children:[ke(!b),Oe,we,Te,De,Ce]})}),!h.ok&&(0,R.jsx)(XS,{title:W7(`unreadableFilter`),error:Error(h.errors.map(e=>e.message).join(`; `))}),k.error&&!A&&!te&&(0,R.jsx)(XS,{title:W7(`couldNotLoadRows`),error:k.error}),u?.chart&&!te&&(Er(u.chart)?(0,R.jsx)(iCe,{model:e,view:u,chart:u.chart,plural:me,filter:E}):(0,R.jsx)(rCe,{resource:l,chart:u.chart,title:W7(`created`,me),noun:me.toLowerCase(),filter:E})),!te&&(b?ve:Se),b&&y===`panel`&&!te?(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[(0,R.jsx)(`div`,{className:re?`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:_e}),Ie]}):Ie]})},g9=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],ICe=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=sg(),l=i?.roles??[],u=e.id===t.memberId,d=g9(t),f=e.role===`owner`&&t.role!==`owner`,p=l.filter(e=>e.membership);return(0,R.jsx)(N5,{name:e.name,email:e.email,self:u,error:s,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`select`,{"aria-label":G(`roleOf`,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-body`,children:(f?[e.role]:d).map(e=>(0,R.jsx)(`option`,{value:e,children:rg(e)},e))}),!u&&(0,R.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:G(`remove`)})]}),children:(0,R.jsx)(k5,{roles:p,selected:e.appRoles,grantable:og(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})})})},LCe=({current:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)(),o=e?.organization?.id,s=(0,I.useCallback)(()=>{o&&t.organizations.members(o).then(r,e=>a(e instanceof wc?wd(e):G(`couldNotReadMembers`)))},[t,o]);return(0,I.useEffect)(s,[s]),e?.organization?(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`members`),subtitle:G(`whoWorks`,e.organization.name)}),(0,R.jsxs)(Mf,{title:G(`members`),description:G(`membersDescription`),children:[(0,R.jsx)(Nf,{message:i}),n?(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,R.jsx)(ICe,{member:t,current:e,onChanged:s},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,R.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,G(`loading`)]})]})]}):null},RCe=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,o]=(0,I.useState)(`member`),[s,c]=(0,I.useState)([]);return(0,R.jsx)(D5,{title:G(`inviteSomeone`),description:G(`inviteDescription`),onInvite:async r=>{let i=await n.organizations.invite(e.organization.id,{email:r,role:a,appRoles:s});return c([]),t(),i},beside:(0,R.jsx)(`select`,{"aria-label":G(`organizationRole`),value:a,onChange:e=>o(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2`,children:g9(e).map(e=>(0,R.jsx)(`option`,{value:e,children:rg(e)},e))}),children:(0,R.jsx)(k5,{roles:i.filter(e=>e.membership),selected:s,grantable:og(i,e),onChange:c})})},zCe=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=e.appRoles.map(e=>ig(i?.roles??[],e));return(0,R.jsx)(O5,{email:e.email,gives:`${rg(e.role)}${a.length>0?` · ${a.join(`, `)}`:``}`,expiresAt:e.expiresAt,onResend:async()=>{let i=await r.organizations.resend(t,e);return n(),i},onRevoke:async()=>{await r.organizations.revoke(e.id),n()}})},BCe=({current:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)([]),i=e?.organization?.id,a=(0,I.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,I.useEffect)(a,[a]),!e?.organization||!i?null:(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`invitations`),subtitle:G(`peopleInvited`,e.organization.name)}),(0,R.jsx)(RCe,{current:e,onSent:a}),(0,R.jsx)(Mf,{title:G(`notAcceptedYet`),description:n.length>0?G(`sendingAgain`):G(`nobodyWaiting`),children:n.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,R.jsx)(zCe,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},VCe=e=>{let{session:t}=B(),[n,r]=(0,I.useState)(),[i,a]=(0,I.useState)([]),[o,s]=(0,I.useState)(),[c,l]=(0,I.useState)(0),u=(0,I.useCallback)(()=>l(e=>e+1),[]);return(0,I.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>s(e instanceof wc?wd(e):G(`couldNotReadOrganizations`)))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:u}},_9=e=>window.location.assign(`${e}/`),HCe=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,I.useState)(e.name),[o,s]=(0,I.useState)(e.slug),{busy:c,error:l,run:u}=sg(),d=i.trim()!==e.name||o!==e.slug;return(0,R.jsxs)(Mf,{title:G(`details`),description:G(t?`detailsEditable`:`detailsReadOnly`),children:[(0,R.jsx)(Nf,{message:l}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),u(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:o}),n()})},children:[(0,R.jsx)(cd,{"aria-label":G(`name`),value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":G(`slug`),value:o,disabled:!t,onChange:e=>s(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:c,disabled:!d||!i.trim(),children:G(`save`)})]})]})},UCe=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)([]),[a,o]=(0,I.useState)(``),{busy:s,error:c,run:l}=sg();return(0,I.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,R.jsxs)(Mf,{title:G(`handOver`),description:G(`handOverDescription`),children:[(0,R.jsx)(Nf,{message:c}),(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,R.jsxs)(`select`,{"aria-label":G(`newOwner`),value:a,onChange:e=>o(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2`,children:[(0,R.jsx)(`option`,{value:``,children:G(`chooseMember`)}),r.map(e=>(0,R.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,R.jsx)(V,{loading:s,disabled:!a,onClick:()=>void l(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:G(`handOver`)})]})]})},WCe=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(``),{busy:s,error:c,run:l}=sg(),u=()=>l(async()=>{await n.organizations.remove(e.id),_9(t)});return(0,R.jsxs)(Mf,{title:G(`deleteOrganization`),description:G(`deleteDescription`),children:[(0,R.jsx)(Nf,{message:r?void 0:c}),(0,R.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:G(`deleteOrganization`)}),r&&(0,R.jsxs)(jf,{title:G(`deleteTitle`,e.name),description:G(`deleteConfirm`),onClose:()=>i(!1),actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:()=>i(!1),children:G(`cancel`)}),(0,R.jsx)(V,{variant:`danger`,loading:s,disabled:a!==e.name,onClick:()=>void u(),children:G(`delete`)})]}),children:[(0,R.jsx)(Nf,{message:c}),(0,R.jsx)(cd,{"aria-label":G(`organizationName`),value:a,onChange:e=>o(e.target.value)})]})]})},GCe=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=sg();return(0,R.jsxs)(Mf,{title:G(`leave`),description:G(n?`leaveOwner`:`leaveMember`),children:[(0,R.jsx)(Nf,{message:a}),(0,R.jsx)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),_9(t)}),children:G(`leaveName`,e.name)})]})},KCe=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,R.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,R.jsx)(vd,{title:G(`organization`),subtitle:G(`noOrganization`)})});let i=e.role===`owner`;return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:r.name,subtitle:e.role?G(`youAre`,rg(e.role).toLowerCase()):G(`throughGlobalRoles`)}),(0,R.jsx)(HCe,{organization:r,editable:ag(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,R.jsx)(UCe,{organization:r,memberId:e.memberId}),e.role&&(0,R.jsx)(GCe,{organization:r,basePath:t,owner:i}),i&&(0,R.jsx)(WCe,{organization:r,basePath:t})]})},v9=({organization:e,current:t,busy:n,onOpen:r})=>(0,R.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-medium`,children:e.name}),(0,R.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,R.jsx)(Fu,{tone:`green`,children:G(`current`)}):(0,R.jsx)(V,{size:`sm`,loading:n,onClick:r,children:G(`open`)})]}),qCe=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,I.useState)(``),a=M5((0,I.useCallback)((e,t)=>n.organizations.search(e,t).then(e=>({items:e.organizations,total:e.total})),[n]),r),{busy:o,error:s,run:c}=sg();return(0,R.jsx)(j5,{title:G(`allOrganizations`),description:G(`allOrganizationsDescription`),searchLabel:G(`findOrganization`),placeholder:G(`nameOrSlug`),query:r,onQuery:i,list:a,error:s,renderRow:r=>(0,R.jsx)(v9,{organization:r,current:r.id===t,busy:o,onOpen:()=>void c(async()=>{await n.organizations.switchTo(r.id),_9(e)})},r.id)})},y9=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),JCe=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(),{busy:o,error:s,run:c}=sg(),l=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??y9(n)}),_9(e)});return(0,R.jsxs)(Mf,{title:G(`newOrganization`),description:G(`newOrganizationDescription`),children:[(0,R.jsx)(Nf,{message:s}),(0,R.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),l()},children:[(0,R.jsx)(cd,{"aria-label":G(`name`),placeholder:G(`name`),value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,R.jsx)(cd,{"aria-label":G(`slug`),placeholder:`slug`,value:i??y9(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,R.jsx)(V,{type:`submit`,variant:`primary`,loading:o,disabled:!n.trim(),children:G(`create`)})]})]})},YCe=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,I.useState)([]);if((0,I.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,R.jsx)(Mf,{title:G(`invitationsForYou`),description:G(`invitationsForYouDescription`),children:(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,R.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:e.organizationName??G(`anOrganization`)}),`: `,e.appRoles.map(e=>ig(i,e)).join(`, `)||G(`noAppRoles`),(0,R.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:G(`until`,new Date(e.expiresAt).toLocaleDateString(l()))})]},e.id))})})},XCe=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=sg(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&Lg(c),u=e.current?.organization?.id;return(0,R.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,R.jsx)(vd,{title:G(`organizations`),subtitle:G(`organizationsSubtitle`)}),(0,R.jsxs)(Mf,{title:G(`yourOrganizations`),description:e.organizations.length>0?G(`memberOf`):G(`notMember`),children:[(0,R.jsx)(Nf,{message:o??e.error}),e.organizations.length>0&&(0,R.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,R.jsx)(v9,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),_9(t)})},e.id))})]}),(0,R.jsx)(YCe,{}),l&&(0,R.jsx)(JCe,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,R.jsx)(qCe,{basePath:t,currentId:u})]})},ZCe=(e,t)=>t?.active?{...e,role:t.active}:e,b9=a({en:{couldNotReadRoles:`Could not read your roles`,couldNotSwitch:`Could not switch the role`},nl:{couldNotReadRoles:`Kon je rollen niet lezen`,couldNotSwitch:`Kon niet van rol wisselen`}}),x9=(e,t)=>e instanceof wc?wd(e):t,QCe=(e,t=!0)=>{let{session:n}=B(),r=qy(),[i,a]=(0,I.useState)();(0,I.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:x9(e,b9(`couldNotReadRoles`))}))},[n,r,t]);let o=(0,I.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:x9(e,b9(`couldNotSwitch`))})),[n,r,e]);return{...i&&{current:i},switchTo:o}},$Ce=e=>{let t=wC().shell?.logo;return t?(0,R.jsx)(mg,{name:`shell.logo`,fallback:(0,R.jsx)(Cu,{...e}),children:(0,R.jsx)(t,{...e})}):(0,R.jsx)(Cu,{...e})},S9=(0,I.createContext)([]),ewe=()=>(0,I.useContext)(S9),twe=({ui:e,children:t})=>{let{plugins:n=[]}=J(),{loads:r,settled:i}=Mg(n,Ag()),a=(0,I.useMemo)(()=>xg(e,r),[e,r]);return i?(0,R.jsx)(CC.Provider,{value:a.ui,children:(0,R.jsx)(S9.Provider,{value:a.off,children:t})}):(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,Sg(`loading`)]})},nwe=({off:e})=>{let[t,n]=(0,I.useState)(!1);return t||e.length===0?null:(0,R.jsxs)(`div`,{role:`region`,"aria-label":Sg(`pluginsOff`),className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-warning-text`,children:[(0,R.jsx)(Vee,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,R.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,R.jsx)(`li`,{children:Kh(Sg(`pluginOff`),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),e.reason)},e.url))}),(0,R.jsx)(`button`,{type:`button`,"aria-label":Sg(`dismiss`),className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,R.jsx)(ts,{"aria-hidden":!0,className:`size-4`})})]})},C9=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),w9=({item:e,scope:t})=>{let{components:n}=wC(),r=n?.[e.component],i=r?(0,R.jsx)(zT,{value:t,children:(0,R.jsx)(mg,{name:e.component,children:(0,R.jsx)(r,{...mr(e.props??{})})})}):(0,R.jsx)(fg,{children:Kh(W(`noComponent`),e.component)});return e.sidebar?e.title?(0,R.jsx)(tb,{title:e.title,children:i}):i:e.title?(0,R.jsx)(Zy,{title:e.title,children:i}):(0,R.jsx)(`section`,{className:`py-8`,children:i})},rwe=(0,I.lazy)(()=>m(()=>import(`./record-map-DFy7sJEU.js`).then(e=>({default:e.RecordMap})),__vite__mapDeps([10,1,6,2,7,8,3,4,9]))),iwe=15,T9=({item:e,record:t})=>{let n=J().maps,r=n?.style,i=t5(t,e);if(!r||!i)return null;let a=(0,R.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-muted ${e.sidebar?`h-48`:`h-64 md:h-80`}`,children:(0,R.jsx)(I.Suspense,{fallback:null,children:(0,R.jsx)(rwe,{style:r,layers:n?.layers,position:i,zoom:e.zoom??iwe},`${i.latitude},${i.longitude}`)})});return e.sidebar?(0,R.jsx)(tb,{title:e.title,children:a}):(0,R.jsx)(Zy,{title:e.title,children:a})},awe=e=>d6(e)??rs,owe=({model:e,stored:t,recordKey:n,edit:r,onDelete:i})=>{let{go:a}=sS(),o=id(),s={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},c=iE(e.name,s,t=>t.run?.kind===`delete`&&a({kind:`list`,resource:e.name},{replace:!0})),[l,u]=(0,I.useState)(),d=c.actions.map(e=>({name:e.label,icon:awe(e.icon),blocked:c.blocked(e),running:c.running===e.name,...e.run?.kind===`delete`&&{tone:`danger`},onRun:()=>IT(e)?u(e):void c.run(e)})),f=c.actions.some(e=>e.run?.kind===`delete`),p=[...r?[{name:R5(`edit`),icon:oo,render:({className:e,children:t,role:n})=>(0,R.jsx)(cS,{to:r,role:n,className:e,children:t})}]:[],...d,...i&&!f?[{name:R5(`delete`),icon:zo,tone:`danger`,onRun:i}]:[]];return p.length===0?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:o?`max-md:hidden`:void 0,children:(0,R.jsx)($y,{actions:p})}),o&&(0,is.createPortal)((0,R.jsx)(vS,{actions:p,label:R5(`recordActions`),className:`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-muted md:hidden`}),o),l&&(0,R.jsx)(LT,{action:l,label:l.label,danger:l.run?.kind===`delete`,onCancel:()=>u(void 0),onConfirm:()=>{u(void 0),c.run(l)},onSubmit:async e=>{await c.submit(l,e),u(void 0)}})]})},swe=(e=[],t)=>e.includes(t)?e.filter(e=>e!==t):[...e,t],cwe=(e,t=[],n)=>!e.collapsed||t.includes(e.title)||e.items.some(e=>e.kind===`section`&&e.fields.some(n)),lwe=e=>{let t=e.findIndex(e=>e.kind===`tab`);if(t===-1)return{before:e,tabs:[],after:[]};let n=[];for(let r of e.slice(t)){if(r.kind!==`tab`)break;n.push(r)}return{before:e.slice(0,t),tabs:n,after:e.slice(t+n.length)}},uwe=(e,t)=>e.find(e=>e.title===t)??e[0],E9=e=>vr(e.items).flatMap(e=>e.kind===`section`?e.fields:[]),dwe=(e,t,n)=>{if(t&&!E9(t).some(n))return e.find(e=>E9(e).some(n))},fwe=(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)),pwe=e=>({id:String(e.id),productId:String(e.productId??``),description:String(e.description??``),quantity:Number(e.quantity),unitPriceCents:Math.round(Number(e.unitPrice)*100)}),mwe=({lines:e,draft:t,vatRate:n,saving:r,locked:i=!1})=>{let a=VT(oS(e.name),`update`);return(0,R.jsx)(Zy,{title:R5(`lines`),help:R5(`linesHelp`),children:(0,R.jsx)(`div`,{className:`-mx-4 overflow-x-auto px-4 [-webkit-overflow-scrolling:touch] md:mx-0 md:px-0`,children:(0,R.jsx)(`div`,{className:`min-w-[560px]`,children:(0,R.jsx)(Ry,{lines:t.shown.map(pwe),onChange:()=>void 0,onReorder:e=>t.setOrder(e.map(e=>e.id)),vatRate:n,readOnly:!0,reorderable:a&&!r&&!i})})})})},hwe=(e,t,n)=>`protobase:draft:${e}:${t}:${n}`,gwe=(e,t,n)=>u(()=>{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),_we=(e,t,n)=>u(()=>n?e.setItem(t,JSON.stringify(n)):e.removeItem(t),void 0),vwe=(e,t)=>Number(e.position)-Number(t.position),ywe=(e,t,n)=>{let r=e&&Object.values(e.fields).find(e=>e.type===`relation`&&e.relation?.resource===t.name),i=eC(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(vwe),loading:i.isPending&&!!e}},bwe=(e,t)=>{let[n,r]=(0,I.useState)(),i=t.map(e=>String(e.id)),a=(0,I.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]),o=a.map(e=>String(e.id)),s=n!==void 0&&o.some((e,t)=>e!==i[t]),c=(0,I.useCallback)(()=>!e||!s?[]:[{op:`reorder`,resource:e.name,field:`position`,keys:a.map(t=>Xb(e,t)),etags:Object.fromEntries(a.flatMap(t=>typeof t.etag==`string`?[[Dr(Xb(e,t)),t.etag]]:[]))}],[e,s,a]);return{shown:a,dirty:s,order:s?o:void 0,setOrder:e=>r(e),reset:()=>r(void 0),op:c}},xwe=e=>{let t=e>=5?5:e===4?3:e;return{shown:t,more:e-t}},Swe=(e,t)=>Math.abs(e)<40||Math.abs(e)<=Math.abs(t)?0:e<0?1:-1,Cwe=e=>e===`ArrowRight`?1:e===`ArrowLeft`?-1:0,wwe=(e,t,n)=>Math.min(Math.max(e+t,0),Math.max(n-1,0)),Twe=e=>e.key===`i`&&!e.ctrlKey&&!e.metaKey&&!e.altKey,D9=`protobase:lightbox-details`,Ewe=e=>u(()=>e.getItem(D9)===`true`,!1),Dwe=(e,t)=>u(()=>t?e.setItem(D9,`true`):e.removeItem(D9),void 0),O9=a({en:{couldNotLoad:`Could not load the photos`,showAll:e=>`Show all ${e} photos`,showPhoto:(e,t)=>`Show photo ${e} of ${t}`,details:`Details`,holderDetails:e=>`${e} details`,close:`Close`,previousPhoto:`Previous photo`,nextPhoto:`Next photo`,couldNotLoadOne:e=>`Could not load the ${e}`,open:e=>`Open ${e}`},nl:{couldNotLoad:`Kon de foto’s niet laden`,showAll:e=>`Alle ${e} foto’s tonen`,showPhoto:(e,t)=>`Foto ${e} van ${t} tonen`,details:`Gegevens`,holderDetails:e=>`Gegevens van ${e.toLowerCase()}`,close:`Sluiten`,previousPhoto:`Vorige foto`,nextPhoto:`Volgende foto`,couldNotLoadOne:e=>`Kon ${e} niet laden`,open:e=>`${e} openen`}}),k9=`flex size-10 shrink-0 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/40`,Owe=({title:e,photos:t,index:n,onIndex:r,onClose:i,details:a,detailsTitle:o=O9(`details`)})=>{let s=(0,I.useRef)(null),c=(0,I.useRef)(void 0),l=(0,I.useId)(),u=lu(),[d,f]=(0,I.useState)(()=>Ewe(localStorage)),[p,m]=(0,I.useState)(!1);hu(s,!0,i),(0,I.useEffect)(()=>m(!0),[]);let h=t.length,_=e=>{let t=wwe(n,e,h);t!==n&&r(t)},v=hb(t[n],{width:1600,height:1200}),y=a?.(n),b=y!==void 0,x=e=>{f(e),Dwe(localStorage,e)};return(0,R.jsxs)(`div`,{ref:s,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":e,onKeyDown:e=>{if(b&&Twe(e))return e.preventDefault(),x(!d);let t=Cwe(e.key);t!==0&&(e.preventDefault(),_(t))},className:`fixed inset-0 z-[90] flex flex-col overflow-y-auto overscroll-contain bg-backdrop outline-none md:flex-row`,children:[(0,R.jsxs)(`div`,{className:`flex h-dvh shrink-0 flex-col md:sticky md:top-0 md:min-w-0 md:flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 p-3`,children:[(0,R.jsx)(`span`,{className:`rounded-full bg-background/85 px-3 py-1 font-medium tabular-nums text-foreground`,"aria-live":`polite`,children:`${n+1} / ${h}`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b&&(0,R.jsx)(`button`,{type:`button`,className:g(k9,`aria-expanded:bg-foreground aria-expanded:text-background`),"aria-label":o,"aria-expanded":d,"aria-controls":u?l:void 0,"aria-keyshortcuts":`i`,onClick:()=>x(!d),children:(0,R.jsx)(Sa,{className:`size-4`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,className:k9,"aria-label":O9(`close`),onClick:i,children:(0,R.jsx)(ts,{className:`size-4`,"aria-hidden":!0})})]})]}),(0,R.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 touch-pan-y items-center justify-center px-3 pb-3 md:px-16`,onPointerDown:e=>{e.pointerType===`touch`&&(c.current={x:e.clientX,y:e.clientY})},onPointerUp:e=>{c.current&&=(_(Swe(e.clientX-c.current.x,e.clientY-c.current.y)),void 0)},onPointerCancel:()=>c.current=void 0,children:[v&&(0,R.jsx)(_C,{image:v,className:`max-h-full max-w-full select-none object-contain`},v.url),h>1&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,className:g(k9,`absolute left-3 top-1/2 -translate-y-1/2 aria-disabled:cursor-default aria-disabled:opacity-40`),"aria-label":O9(`previousPhoto`),"aria-disabled":n===0,onClick:()=>_(-1),children:(0,R.jsx)(wi,{className:`size-5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,className:g(k9,`absolute right-3 top-1/2 -translate-y-1/2 aria-disabled:cursor-default aria-disabled:opacity-40`),"aria-label":O9(`nextPhoto`),"aria-disabled":n===h-1,onClick:()=>_(1),children:(0,R.jsx)(Ei,{className:`size-5`,"aria-hidden":!0})})]})]})]}),b&&d&&u&&(0,R.jsxs)(`aside`,{id:l,"aria-label":o,className:`min-h-dvh w-[360px] shrink-0 border-l border-border bg-background p-5 text-foreground`,children:[(0,R.jsx)(`h2`,{className:`mb-3 text-[16px] font-semibold`,children:o}),y]}),(0,R.jsx)(yT,{title:o,open:b&&d&&!u&&p,onClose:()=>x(!1),children:(0,R.jsx)(`div`,{className:`pt-3`,children:y})})]})},kwe=(e,t,n)=>{let r=vr(t?.layout??[]).flatMap(e=>e.kind===`section`&&FS(e.when,!1)?e.fields:[]);return(r.length>0?[...new Set(r)]:Object.keys(e.fields).filter(t=>t!==e.tenant&&!e.primaryKey.includes(t))).filter(r=>e.fields[r]&&!e.fields[r].sensitive&&!n.includes(r)&&FS(t?.fields[r]?.when,!1))},Awe=({model:e,view:t,photoKey:n,fields:r})=>{let i=Vg(e.name,n),a=(t?.names?.singular??K(e.name)).toLowerCase();if(i.isPending)return(0,R.jsx)(_u,{className:`h-4 w-48`});if(i.error)return(0,R.jsx)(XS,{title:O9(`couldNotLoadOne`,a),error:i.error});let o=r.filter(e=>UT(i.data.permissions,e)!==`hidden`);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(fS,{rows:o.map(n=>({label:t?.fields[n]?.label??K(n),value:(0,R.jsx)(Z0,{model:e,field:e.fields[n],value:i.data.record[n]})}))}),(0,R.jsx)(cS,{to:{kind:`record`,resource:e.name,key:n},className:`mt-3 inline-block font-medium text-primary-text hover:underline`,children:O9(`open`,a)})]})},A9=e=>hb(e,{width:0,height:0})!==void 0,jwe=(e,t)=>{let n=e.primaryKey.map(e=>t[e]);if(!n.some(e=>e==null))return Dr(n)},Mwe=(e,t,n,r)=>{let i=n===void 0?[]:t.flatMap(e=>{let t=e[n];if(!ab(t)||!A9(t))return[];let i=r&&jwe(r,e);return[{file:t,...i!==void 0&&{key:i}}]});if(!ab(e)||!A9(e))return i;let a=t=>ab(t.file)&&t.file.uri===e.uri,o=i.find(a)?.key;return[{file:e,...o!==void 0&&{key:o}},...i.filter(e=>!a(e))]},Nwe=rr(),Pwe=(e,t,n)=>{let r=U(),{resources:i}=J(),a=e.photos?i[e.photos.resource]:void 0,o=e.photos?Hn(Nwe.eq(e.photos.field,n)):``,s=e.photos?.sort??``,c=Eh({queryKey:H.list(a?.name??``,o,s,500,`gallery`),enabled:a!==void 0,queryFn:async()=>(await r.list(a.name,{filter:o,...s&&{orderBy:s},pageSize:500})).items});return{holder:a,items:Mwe(e.image===void 0?void 0:t[e.image],c.data??[],e.photos?.image,a),isPending:a!==void 0&&c.isPending,error:c.error}},Fwe={1:[`md:col-span-4 md:row-span-2`],2:[`md:col-span-2 md:row-span-2`,`md:col-span-2 md:row-span-2`],3:[`md:col-span-2 md:row-span-2`,`md:col-span-2`,`md:col-span-2`],5:[`md:col-span-2 md:row-span-2`,``,``,``,``]},Iwe=({photo:e,large:t})=>{let n=hb(e,t?{width:960,height:720}:{width:480,height:360});return n?(0,R.jsx)(_C,{image:n,loading:`lazy`,className:`size-full object-cover transition-transform duration-300 group-hover/tile:scale-[1.02]`}):null},Lwe=({item:e,record:t,recordKey:n})=>{let{views:r}=J(),i=Pwe(e,t,n),a=oS(i.holder?.name??``),[o,s]=(0,I.useState)();if(i.isPending)return(0,R.jsx)(Zy,{title:e.title,children:(0,R.jsx)(_u,{className:`aspect-[4/3] w-full rounded-lg md:aspect-[2/1]`})});if(i.error)return(0,R.jsx)(Zy,{title:e.title,children:(0,R.jsx)(XS,{title:O9(`couldNotLoad`),error:i.error})});let c=i.items.length;if(c===0)return null;let{shown:l,more:u}=xwe(c),d=i.holder,f=d&&r[d.name],p=d?kwe(d,f,[e.photos?.image,e.photos?.field].filter(e=>e!==void 0)):[],m=d!==void 0&&a.read!==!1&&p.length>0;return(0,R.jsxs)(Zy,{title:e.title,children:[(0,R.jsx)(`div`,{className:`grid aspect-[4/3] grid-cols-4 grid-rows-2 gap-1.5 overflow-hidden rounded-lg md:aspect-[2/1]`,children:i.items.slice(0,l).map((e,t)=>{let n=t===l-1&&u>0;return(0,R.jsxs)(`button`,{type:`button`,"aria-label":n?O9(`showAll`,c):O9(`showPhoto`,t+1,c),onClick:()=>s(t),className:g(`group/tile relative overflow-hidden bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,t===0?`col-span-4 row-span-2`:`max-md:hidden`,Fwe[l][t]),children:[(0,R.jsx)(Iwe,{photo:e.file,large:t===0}),n&&(0,R.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center bg-backdrop/55 text-lg font-semibold text-white`,"aria-hidden":!0,children:`+${u}`}),t===0&&c>1&&(0,R.jsxs)(`span`,{className:`absolute bottom-2 right-2 flex items-center gap-1.5 rounded-full bg-background/85 px-2.5 py-1 text-xs font-medium tabular-nums text-foreground md:hidden`,"aria-hidden":!0,children:[(0,R.jsx)(ba,{className:`size-3.5`}),c]})]},t)})}),o!==void 0&&(0,R.jsx)(Owe,{title:e.title,photos:i.items.map(e=>e.file),index:o,onIndex:s,onClose:()=>s(void 0),details:e=>{let t=i.items[e]?.key;return m&&t!==void 0?(0,R.jsx)(Awe,{model:d,view:f,photoKey:t,fields:p},t):void 0},detailsTitle:d&&O9(`holderDetails`,f?.names?.singular??K(d.name))})]})},j9=a({en:{create:`created this`,update:`changed`,delete:`deleted this`,undelete:`restored this`,database:`Database`,databaseRole:e=>`Database (${e})`,changed:`changed`,changedThis:`changed this`,couldNotLoad:`Could not load the history`,noChanges:`No changes kept yet.`,showMore:`Show more`},nl:{create:`maakte dit`,update:`wijzigde`,delete:`verwijderde dit`,undelete:`zette dit terug`,database:`Database`,databaseRole:e=>`Database (${e})`,changed:`gewijzigd`,changedThis:`wijzigde dit`,couldNotLoad:`Kon de geschiedenis niet laden`,noChanges:`Nog geen wijzigingen bewaard.`,showMore:`Meer tonen`}}),Rwe=e=>e.actor?e.actor.name??e.actor.id:e.databaseRole?j9(`databaseRole`,e.databaseRole):j9(`database`),zwe=(e,t,n)=>{let r=(e.operation===`create`?[]:e.changed).flatMap(r=>{let i=t.fields[r];if(!i||r===t.softDelete)return[];let a=n?.fields[r],o=a?.label??K(r);return i.sensitive||!e.before||!e.after?[{name:r,label:o}]:[{name:r,label:o,before:dx(i,e.before[r],a),after:dx(i,e.after[r],a)}]}),i=e.operation===`update`&&r.length===0?j9(`changedThis`):j9(e.operation);return{who:Rwe(e),verb:i,fields:r}},Bwe=1500,Vwe=(e,t,n,r)=>{let i=U(),a=Oh({queryKey:H.history(e,t,n),initialPageParam:``,queryFn:({pageParam:r})=>i.history(e,t,{pageSize:n,pageToken:r}),getNextPageParam:e=>e.nextPageToken||void 0}),{refetch:o}=a;return(0,I.useEffect)(()=>{let e=setTimeout(()=>void o(),Bwe);return()=>clearTimeout(e)},[r,o]),{...a,items:a.data?.pages.flatMap(e=>e.items)??[]}},Hwe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),Uwe=({change:e,model:t,view:n})=>{let{who:r,verb:i,fields:a}=zwe(e,t,n),o=Date.parse(e.at);return(0,R.jsxs)(`li`,{className:`flex flex-col gap-1.5 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),` `,(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:i}),` `,(0,R.jsxs)(`time`,{dateTime:e.at,title:gf(o),className:`text-muted-foreground`,children:[`· `,Df(Math.max(0,Math.round((Date.now()-o)/1e3)))]})]}),a.length>0&&(0,R.jsx)(`dl`,{className:`grid grid-cols-[minmax(0,auto)_minmax(0,1fr)] gap-x-4 gap-y-1`,children:a.map(e=>(0,R.jsxs)(`div`,{className:`contents`,children:[(0,R.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,R.jsx)(`dd`,{className:`min-w-0 break-words`,children:e.before===void 0?(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:`changed`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`del`,{className:`text-muted-foreground`,children:e.before}),` → `,(0,R.jsx)(`ins`,{className:`no-underline`,children:e.after})]})})]},e.name))})]})},Wwe=({item:e,model:t,view:n,recordKey:r,etag:i})=>{let a=Vwe(t.name,r,e.limit??10,i);return(0,R.jsx)(Zy,{title:e.title,children:a.isPending?(0,R.jsx)(Hwe,{}):a.error?(0,R.jsx)(XS,{title:`Could not load the history`,error:a.error}):a.items.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:`No changes kept yet.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`ol`,{className:`divide-y divide-border`,children:a.items.map(e=>(0,R.jsx)(Uwe,{change:e,model:t,view:n},e.id))}),a.hasNextPage&&(0,R.jsx)(V,{size:`sm`,className:`mt-4`,disabled:a.isFetchingNextPage,onClick:()=>void a.fetchNextPage(),children:`Show more`})]})})},Gwe=(e,t)=>{let n=/(?:^|\s)@([^\s@]*)$/.exec(e.slice(0,t));return n?{start:t-n[1].length-1,query:n[1]}:void 0},Kwe=(e,t,n)=>{let r=e.slice(t.start+1+t.query.length),i=`@${n}${r.startsWith(` `)?``:` `}`;return{text:`${e.slice(0,t.start)}${i}${r}`,caret:t.start+i.length+ +!!r.startsWith(` `)}},qwe=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),M9=e=>{let t=[...new Set(e)].filter(Boolean).sort((e,t)=>t.length-e.length);return t.length===0?void 0:RegExp(`(?<![\\p{L}\\p{N}_@])@(${t.map(qwe).join(`|`)})(?![\\p{L}\\p{N}_])`,`gu`)},Jwe=(e,t)=>{let n=M9(t.map(e=>e.name)),r=new Set(n?[...e.matchAll(n)].map(e=>e[1]):[]);return[...new Set(t.filter(e=>r.has(e.name)).map(e=>e.id))]},Ywe=(e,t)=>{let n=M9(t.flatMap(e=>e.name?[e.name]:[]));if(!n)return[{text:e}];let r=[],i=0;for(let t of e.matchAll(n))t.index>i&&r.push({text:e.slice(i,t.index)}),r.push({mention:t[1]}),i=t.index+t[0].length;return i<e.length&&r.push({text:e.slice(i)}),r},Xwe=({comment:e})=>(0,R.jsx)(`p`,{className:`whitespace-pre-wrap break-words`,children:Ywe(e.body,e.mentions).map((e,t)=>`mention`in e?(0,R.jsxs)(`span`,{className:`font-medium text-primary`,children:[`@`,e.mention]},t):e.text)}),Zwe=(e,t,n)=>{let r=U(),i=F3(n,150);return Eh({queryKey:H.mentionable(e,t,i??``),queryFn:()=>r.mentionable(e,t,i??``),enabled:i!==void 0,placeholderData:Sm})},Qwe=(e,t)=>{let n=U(),r=Qp();return Dh({mutationFn:r=>n.comment(e,t,r),onSuccess:()=>r.invalidateQueries({queryKey:H.comments(e,t)})})},N9=a({en:{couldNotPost:`Could not post the comment`,comment:`Comment`,placeholder:`Write a comment, @ to mention someone`,peopleToMention:`People to mention`,noOneFound:`No one found`,couldNotLoad:`Could not load the comments`,showEarlier:`Show earlier comments`,noComments:`No comments yet.`},nl:{couldNotPost:`Kon de opmerking niet plaatsen`,comment:`Opmerking`,placeholder:`Schrijf een opmerking, @ om iemand te noemen`,peopleToMention:`Mensen om te noemen`,noOneFound:`Niemand gevonden`,couldNotLoad:`Kon de opmerkingen niet laden`,showEarlier:`Eerdere opmerkingen tonen`,noComments:`Nog geen opmerkingen.`}}),$we=8,eTe=({resource:e,recordKey:t})=>{let[n,r]=(0,I.useState)(``),[i,a]=(0,I.useState)(0),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)([]),[u,d]=(0,I.useState)(0),[f,p]=(0,I.useState)(),m=(0,I.useRef)(null),h=(0,I.useRef)(void 0),_=(0,I.useId)(),v=qy(),y=Qwe(e,t),b=Gwe(n,i),x=o&&b!==void 0&&b.start!==f,S=Zwe(e,t,x?b.query:void 0),C=x?(S.data??[]).slice(0,$we):[],w=x&&S.data!==void 0,T=e=>`${_}-${e}`;(0,I.useEffect)(()=>d(0),[b?.query]);let E=b?.start;(0,I.useEffect)(()=>{E===void 0&&p(void 0)},[E]),(0,I.useLayoutEffect)(()=>{h.current!==void 0&&m.current&&(m.current.setSelectionRange(h.current,h.current),a(h.current),h.current=void 0)},[n]);let D=e=>{if(!b)return;let t=Kwe(n,b,e.name);h.current=t.caret,r(t.text),l(t=>[...t,e])},O=()=>{n.trim()===``||y.isPending||y.mutate({body:n,mentions:Jwe(n,c)},{onSuccess:()=>{r(``),l([])},onError:e=>v.show({state:`error`,title:N9(`couldNotPost`),description:xx(e)})})};return(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)($S,{ref:m,role:`combobox`,"aria-label":N9(`comment`),"aria-multiline":!0,"aria-autocomplete":`list`,"aria-expanded":w,"aria-controls":_,"aria-activedescendant":w&&C[u]?T(u):void 0,placeholder:N9(`placeholder`),value:n,onChange:e=>{r(e.target.value),a(e.target.selectionStart)},onSelect:e=>a(e.currentTarget.selectionStart),onFocus:()=>s(!0),onBlur:()=>s(!1),onKeyDown:e=>{if(e.key===`Enter`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),O();return}if(!x)return;let t=P3(e.key,u,C.length);if(t!==void 0&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault(),d(t);return}if((e.key===`Enter`||e.key===`Tab`)&&C[u]){e.preventDefault(),D(C[u]);return}e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),p(b.start))}}),w&&(0,R.jsxs)(`ul`,{id:_,role:`listbox`,"aria-label":N9(`peopleToMention`),className:`absolute z-30 mt-1 w-full max-w-sm rounded-md border bg-background py-1 shadow-pop`,onMouseDown:e=>e.preventDefault(),children:[C.map((e,t)=>(0,R.jsx)(`li`,{id:T(t),role:`option`,"aria-selected":t===u,className:g(`cursor-pointer truncate px-3 py-1.5`,t===u&&`bg-muted`),onMouseMove:()=>t!==u&&d(t),onClick:()=>D(e),children:e.name},e.id)),C.length===0&&(0,R.jsx)(`li`,{className:`px-3 py-1.5 text-muted-foreground`,children:N9(`noOneFound`)})]})]}),(0,R.jsx)(`div`,{children:(0,R.jsx)(V,{variant:`primary`,size:`sm`,disabled:n.trim()===``,loading:y.isPending,onClick:O,children:N9(`comment`)})})]})},tTe=20,nTe=(e,t)=>{let n=U(),r=Oh({queryKey:H.comments(e,t),initialPageParam:``,queryFn:({pageParam:r})=>n.comments(e,t,{pageSize:tTe,pageToken:r}),getNextPageParam:e=>e.nextPageToken||void 0});return{...r,items:r.data?.pages.flatMap(e=>e.items).reverse()??[]}},rTe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),iTe=({comment:e})=>{let t=e.author.name??e.author.id,n=Date.parse(e.createdAt);return(0,R.jsxs)(`li`,{className:`flex gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,R.jsx)(Eu,{initials:Fg(t)||`?`,hue:Pg(e.author.id),size:`md`,className:`ring-0`}),(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`font-medium text-foreground`,children:t}),` `,(0,R.jsxs)(`time`,{dateTime:e.createdAt,title:gf(n),className:`text-muted-foreground`,children:[`· `,Df(Math.max(0,Math.round((Date.now()-n)/1e3)))]})]}),(0,R.jsx)(Xwe,{comment:e})]})]})},aTe=({item:e,resource:t,recordKey:n,canWrite:r})=>{let i=nTe(t,n);return(0,R.jsxs)(Zy,{title:e.title,children:[i.isPending?(0,R.jsx)(rTe,{}):i.error?(0,R.jsx)(XS,{title:N9(`couldNotLoad`),error:i.error}):(0,R.jsxs)(R.Fragment,{children:[i.hasNextPage&&(0,R.jsx)(V,{size:`sm`,className:`mb-4`,disabled:i.isFetchingNextPage,onClick:()=>void i.fetchNextPage(),children:N9(`showEarlier`)}),i.items.length===0?(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:N9(`noComments`)}):(0,R.jsx)(`ol`,{className:`divide-y divide-border`,children:i.items.map(e=>(0,R.jsx)(iTe,{comment:e},e.id))})]}),r&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(eTe,{resource:t,recordKey:n})})]})},oTe=e=>e.kind===`group`||e.kind===`tab`?e.items:[],P9=e=>e.kind===`tab`?void 0:e.when,F9=e=>e.flatMap(e=>[e,...F9(oTe(e))]).filter(e=>ls(P9(e))),sTe=(e,t,n,r)=>{let i=0,a=e=>{let a=P9(e);return ls(a)?!r&&t[i++]===!0:FS(a,n)},o=e=>e.flatMap(e=>{let t=a(e);if(e.kind!==`group`&&e.kind!==`tab`)return t?[e]:[];let n=o(e.items);return t&&n.length>0?[{...e,items:n}]:[]});return o(e)},cTe=(e,t,n,r)=>sTe(e,U6(r?[]:F9(e).map(e=>P9(e)),t),n,r),I9=(e,t)=>{let n=U(),r=Qp(),i=Dr(t);return Dh({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]})}})},L9=e=>e instanceof Gs,lTe=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}`},uTe=(e,t)=>{let n=e.operation,r=n===void 0?void 0:t[n];return r?W(`operationFailed`,n+1,lTe(r),e.message):W(`nothingSaved`,e.message)},dTe=(e,t)=>new e.constructor({...e.problem,detail:uTe(e,t)}),R9=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),fTe=({model:e,stored:t,recordKey:n,mode:r,subject:i,draftKey:a,lines:o})=>{let s=U(),c=Qp(),l=I9(e.name,n),u=z5(r,i),[d]=(0,I.useState)(()=>a?gwe(localStorage,a,t.etag):void 0),[f,p]=(0,I.useState)(d?.fields??{}),[m,h]=(0,I.useState)(!!d),[g,_]=(0,I.useState)(!1),[v,y]=(0,I.useState)({}),[b,x]=(0,I.useState)({}),[S,C]=(0,I.useState)(0),w=Object.entries(f).filter(([n,r])=>jS(e.fields[n],r,t.record[n])),T=w.length>0,E=T||!!o?.dirty;(0,I.useEffect)(()=>{d?.order&&o?.setOrder(d.order)},[]),(0,I.useEffect)(()=>{if(!a)return;let n=Object.fromEntries(Object.entries(f).filter(([t])=>!e.fields[t]?.sensitive)),r=Object.keys(n).length>0||!!o?.dirty;_we(localStorage,a,r?{etag:t.etag,fields:n,...o?.order&&{order:o.order}}:void 0)},[a,e,f,o?.dirty,o?.order,t.etag]);let D=n=>n in f?f[n]:[`boolean`,`file`].includes(e.fields[n].type)?t.record[n]:SS(t.record[n]),O=(n,r)=>{x(e=>R9(e,n));let i=typeof r==`string`?r!==SS(t.record[n]):jS(e.fields[n],r,t.record[n]);p(e=>i?{...e,[n]:r}:R9(e,n))},k=async()=>{let r=await s.get(e.name,n);c.setQueryData(H.record(e.name,n),r);let i={},a={};for(let[n,o]of Object.entries(f)){let s=e.fields[n];jS(s,o,r.record[n])&&(a[n]=o,SS(r.record[n])!==SS(t.record[n])&&(i[n]=s.type===`file`?dx(s,r.record[n]):SS(r.record[n])))}p(a),y(i)},A=()=>Object.fromEntries(w.map(([t,n])=>[t,OS(e.fields[t],n)])),j=e=>{let t=JC(e);x(t),Object.keys(t).length>0&&C(e=>e+1)},M=async()=>{try{await l.mutateAsync({patch:A(),etag:t.etag})}catch(e){throw L9(e)?await k():Ks(e)&&j(e),e}},N=async r=>{let i=[...T?[{op:`update`,resource:e.name,key:n,data:A(),etag:t.etag}]:[],...r];try{await s.batchWrite(i)}catch(e){throw L9(e)?(await k(),await c.invalidateQueries({queryKey:[`list`]}),_(!0)):Ks(e)&&j(e),Ks(e)?dTe(e,i):e}await Promise.all([c.invalidateQueries({queryKey:H.record(e.name,n)}),c.invalidateQueries({queryKey:[`list`]}),c.invalidateQueries({queryKey:[`page`]}),c.invalidateQueries({queryKey:[`map`]})]),o?.reset()};return{value:D,change:O,save:()=>u.run(async()=>{let e=o?.op()??[];e.length>0?await N(e):await M(),p({}),y({}),x({}),_(!1),h(!1)}),dirty:E,discard:()=>{p({}),y({}),x({}),_(!1),h(!1),o?.reset()},restored:m&&E,dismissRestored:()=>h(!1),linesConflict:g,saving:u.phase===`saving`,phase:u.phase,message:u.message,conflicts:v,errors:b,rejections:S,keepMine:e=>y(t=>R9(t,e)),useTheirs:e=>{y(t=>R9(t,e)),p(t=>R9(t,e))}}},z9=(e,t,n,r)=>{let i=U(),a=Qp(),o=Object.values(e.fields).filter(n=>n.type===`relation`&&n.relation&&n.name!==e.tenant&&r[n.name]!=null&&t[n.relation.resource]?.primaryKey.length===1),s=wh({queries:o.map(e=>{let o=t[e.relation.resource],s=String(r[e.name]);return{queryKey:H.relatedLabel(o.name,s),queryFn:async()=>(await G0(a,i,o,[s],n[o.name])).get(s)??s}})}),c=o.map(e=>({kind:`record`,resource:e.relation.resource,key:String(r[e.name])}));return{addresses:Object.fromEntries(o.map((e,t)=>[e.name,c[t]])),labels:Object.fromEntries(o.map((e,t)=>[e.name,s[t]?.data]))}},pTe=rr(),mTe=(e,t,n,r,i)=>{if(e.primaryKey.length!==1)return[];let a=new Set(vr(r).flatMap(e=>e.kind===`related`&&!e.through&&!e.from?[`${e.resource}.${e.field}`]:[])),o=Object.values(t).flatMap(t=>Object.values(t.fields).filter(t=>t.type===`relation`&&t.relation?.resource===e.name&&t.relation.columns.length===1&&t.filterable).filter(e=>e.name!==t.tenant&&t.name!==i?.name&&!a.has(`${t.name}.${e.name}`)).map(e=>({source:t,field:e.name})));return o.map(({source:e,field:t})=>{let r=n[e.name],i=r?.names?.plural??K(e.name),a=o.filter(t=>t.source.name===e.name).length>1;return{resource:e.name,field:t,label:a?`${i} (${r?.fields[t]?.label??K(t)})`:i}})},hTe=(e,t)=>({kind:`list`,resource:e.resource,filter:Hn(pTe.eq(e.field,t))}),gTe=rr(),_Te=(e,t,n)=>{let r=U(),i=wh({queries:e.map(e=>{let i=Hn(gTe.eq(e.field,n));return{queryKey:H.list(e.resource,i,``,1,`incoming`),queryFn:async()=>{let n=await r.list(e.resource,{filter:i,pageSize:1,count:`exact`,fields:t[e.resource].primaryKey});return{count:n.totalSize??n.totalSizeEstimate,exact:n.totalSize!==void 0}}}})});return e.flatMap((e,t)=>{let n=i[t];return n.error?[]:[{relation:e,count:n.data}]})},vTe=({model:e,recordKey:t,layout:n,lines:r})=>{let{resources:i,views:a}=J(),o=_Te(mTe(e,i,a,n,r),i,t);return o.length===0?null:(0,R.jsx)(tb,{title:R5(`relatedRecords`),children:(0,R.jsx)(`ul`,{className:`-mx-2`,children:o.map(({relation:e,count:n})=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(cS,{to:hTe(e,t),className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate font-medium text-primary-text`,children:e.label}),(0,R.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 tabular-nums text-muted-foreground`,children:[n===void 0?(0,R.jsx)(_u,{className:`h-4 w-6`}):`${Gd(n.count)}${n.exact?``:`+`}`,(0,R.jsx)(Ei,{className:`size-4 text-faint-foreground group-hover:text-foreground`})]})]})},`${e.resource}.${e.field}`))})})},B9=a({en:{showMore:`Show more`,showLess:`Show less`,couldNotLoad:`Could not load`,nothingYet:`Nothing here yet.`},nl:{showMore:`Meer tonen`,showLess:`Minder tonen`,couldNotLoad:`Kon niet laden`,nothingYet:`Hier staat nog niets.`}}),yTe=({children:e})=>{let t=(0,I.useRef)(null),[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1);return(0,I.useLayoutEffect)(()=>{let e=t.current;if(!e)return;let n=()=>a(e.scrollHeight>e.parentElement.clientHeight+1);n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[n]),(0,R.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[(0,R.jsx)(`div`,{className:g(`w-full min-w-0`,!n&&`max-h-40 overflow-hidden`),children:(0,R.jsx)(`div`,{ref:t,children:e})}),(i||n)&&(0,R.jsx)(V,{size:`sm`,variant:`ghost`,className:`-ml-2`,"aria-expanded":n,onClick:()=>r(!n),children:B9(n?`showLess`:`showMore`)})]})},bTe=e=>e==null||e===``,xTe=({scope:e,path:t})=>{let{views:n}=J(),r=t2(e,t);if(r.state===`missing`||r.state===`ready`&&bTe(r.value))return null;let i=n2(t,r.state===`ready`?n[r.model.name]?.fields[r.field.name]?.label:void 0);return(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`dt`,{className:`text-body text-muted-foreground`,children:i}),(0,R.jsx)(`dd`,{className:`mt-0.5`,children:r.state===`loading`?(0,R.jsx)(_u,{className:`h-4 w-24`}):(0,R.jsx)(yTe,{children:(0,R.jsx)(Z0,{model:r.model,field:r.field,value:r.value})})})]})},STe=({scope:e,view:t,fields:n,actions:r})=>(0,R.jsxs)(`li`,{className:`flex min-w-0 flex-col gap-3 rounded-lg border border-border bg-surface p-4`,children:[(0,R.jsx)(cS,{to:{kind:`record`,resource:e.model.name,key:Xb(e.model,e.record)},className:`self-start font-medium text-primary-text hover:underline`,children:qb(e.model,t,e.record,e.key)}),n.length>0&&(0,R.jsx)(`dl`,{className:`flex flex-col gap-3`,children:n.map(t=>(0,R.jsx)(xTe,{scope:e,path:t},t))}),r.length>0&&(0,R.jsx)(zT,{value:e,children:(0,R.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:r.map(e=>(0,R.jsx)(sE,{name:e},e))})})]}),CTe=({model:e,view:t,filter:n,sort:r,fields:i,actions:a,limit:o,display:s,empty:c})=>{let l=uu(),u=r||Ux(e,t),d=tE(e,{filter:n,sort:u,pageSize:o}),f=$T(e,n);if(d.isPending)return(0,R.jsx)(`div`,{className:`flex flex-col gap-3`,children:Array.from({length:2},(e,t)=>(0,R.jsx)(_u,{className:`h-24 w-full`},t))});if(d.error)return(0,R.jsx)(XS,{title:B9(`couldNotLoad`),error:d.error});let p=d.data.items;if(p.length===0)return(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:c??B9(`nothingYet`)});let m=f.data===void 0?void 0:v5(p.length,f.data,!1);return(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`ul`,{className:`flex flex-col gap-3`,children:p.map(n=>{let r=ZT(e,n);return(0,R.jsx)(STe,{scope:r,view:t,fields:i,actions:a},r.key)})}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:m}),(0,R.jsxs)(cS,{to:g3(e,t,l,{filter:n,orderBy:u,display:h3(t,l,{preferred:s})}),className:`flex items-center gap-1 font-medium text-primary-text hover:underline`,children:[_5(`viewAll`),` `,(0,R.jsx)(`span`,{className:`sr-only`,children:(t?.names?.plural??K(e.name)).toLowerCase()}),(0,R.jsx)(Gr,{className:`size-3.5`,"aria-hidden":!0})]})]})]})},V9=rr(),H9=(...e)=>{let t=e.filter(e=>!!e);return t.length===1?t[0]:t.map(e=>`(${e})`).join(` AND `)},wTe=(e,t)=>{let n=U(),{resources:r}=J(),i=e.through,a=i?r[i.resource]:void 0,o=i?.key??a?.primaryKey[0],s=i?H9(Hn(V9.eq(i.field,t)),i.filter):``,c=Eh({queryKey:H.list(a?.name??``,s,``,0,`related:${o}`),enabled:!!(a&&o),queryFn:async()=>{let e=await u3(n,a.name,{filter:s,fields:[o]});return[...new Set(e.items.flatMap(e=>e[o]===null||e[o]===void 0?[]:[String(e[o])]))]}});return t===null?{filter:null,isPending:!1,error:null}:i?c.data?{filter:c.data.length===0?null:H9(Hn(V9.in(e.field,c.data)),e.filter),isPending:!1,error:null}:{filter:void 0,isPending:c.isPending,error:c.error}:{filter:H9(Hn(V9.eq(e.field,t)),e.filter),isPending:!1,error:null}},TTe=()=>(0,R.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,R.jsx)(_u,{className:`h-4 w-full`},t))}),ETe=({empty:e})=>(0,R.jsx)(`p`,{className:`text-muted-foreground`,children:e??R5(`nothingYet`)}),DTe=({item:e,value:t,owner:n})=>{let{resources:r,views:i}=J(),a=r[e.resource],o=a&&i[a.name],s=wTe(e,t),[c,l]=w5(o,`related:${n}:${e.title}`,e.display),u=oS(e.resource),[d,f]=(0,I.useState)(!1),p=U(),m=!!(e.hideEmpty&&a&&s.filter),h=Eh({queryKey:H.count(e.resource,s.filter??``),enabled:m,queryFn:()=>QT(p,a,s.filter??``).queryFn()});if(!a||e.hideEmpty&&(s.isPending||s.filter===null||m&&(h.isPending||h.data===0)))return null;let g=Vbe(e,a,r),_=e.columns??cx(a,o).filter(t=>t!==e.field),v=t=>s.isPending?(0,R.jsx)(TTe,{}):s.error?(0,R.jsx)(XS,{title:R5(`couldNotLoadRelated`),error:s.error}):s.filter===null||s.filter===void 0?(0,R.jsx)(ETe,{empty:e.empty}):t(s.filter);if(e.presentation===`cards`)return(0,R.jsx)(Zy,{title:e.title,help:e.help,children:v(t=>(0,R.jsx)(CTe,{model:a,view:o,filter:t,sort:e.sort??``,fields:_,actions:e.actions??[],limit:e.limit??10,display:e.display,empty:e.empty}))});let y=Tye(e,a,u),b=(0,R.jsx)(S5,{view:o,value:c,onChange:l}),x=y?(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!d&&b,(0,R.jsx)(m9,{size:`sm`,sorting:d,onChange:f})]}):b;return d&&y?(0,R.jsx)(Zy,{title:e.title,help:e.help,actions:x,children:(0,R.jsx)(p9,{model:a,view:o,field:y,filter:Hn(V9.eq(e.field,t)),columns:_})}):(0,R.jsx)(Zy,{title:e.title,help:e.help,actions:x,children:v(t=>(0,R.jsx)(C5,{model:a,view:o,filter:t,sort:e.sort??``,columns:_,limit:e.limit??10,display:c,empty:e.empty,opens:g},t))})},OTe=(e,t,n)=>{if(e.from===void 0)return n;let r=t[e.from];return typeof r==`boolean`?r:b5(t,e.from)??null},kTe=(e,t)=>t===e.tenant||e.primaryKey.includes(t),ATe=(e,t,n)=>{if(t&&t.layout.length>0)return t.layout;let r=Object.values(e.fields).filter(t=>!kTe(e,t.name)),i=r.filter(e=>!e.readOnly),a=(i.length>0&&!n?i:r).map(e=>e.name);return[{kind:`section`,title:R5(`details`),fields:a},...e.history?[{kind:`history`,title:R5(`history`)}]:[],...e.comments?[{kind:`comments`,title:R5(`comments`)}]:[]]},U9=({resource:e,recordKey:t})=>{let{resources:n}=J(),r=n[e],i=Hg(e,t);return r?i.isPending?(0,R.jsx)(rS,{title:R5(`loading`),children:R5(`fetching`)}):i.error?(0,R.jsx)(`div`,{className:`p-8`,children:Ks(i.error)&&i.error.status===404?(0,R.jsx)(rS,{title:W(`notFound`),children:R5(`noRecord`)}):(0,R.jsx)(XS,{title:R5(`couldNotLoad`),error:i.error})}):(0,R.jsx)(jTe,{model:r,recordKey:t,stored:i.data,preview:i.isPlaceholderData},i.isPlaceholderData?`preview`:`loaded`):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`noResource`,e)})},jTe=({model:e,recordKey:t,stored:n,preview:r})=>{let i=J(),{address:a,go:o}=sS(),s=i.views[e.name],c=qb(e,s,n.record,t),{state:l}=B(),u=(0,I.useMemo)(()=>fwe(i.resources,e),[i.resources,e]),d=bwe(u,ywe(u,e,t).items),f=fTe({model:e,stored:n,recordKey:t,mode:s?.saveFeedback??`toast`,subject:c,draftKey:!r&&l.kind===`signed-in`?hwe(l.user.id,e.name,t):void 0,lines:d}),p=Qp(),m=U(),h=XC(f.rejections),_=oS(e.name),v=W5(e),y=VT(_,`update`)&&n.permissions?.update!==!1,{shown:b,offersEdit:x,editing:S}=MS(s?.recordMode,y,a?.kind===`record`&&a.edit===!0);Xne(f.dirty&&b===`form`),jh(f.dirty);let C=a?.kind===`record`?a.open:void 0,w=a?.kind===`record`&&a.edit===!0,T=a?.kind===`record`?a.tab:void 0,E=(n=[],r=!1,i)=>({kind:`record`,resource:e.name,key:t,...r&&{edit:r},...n.length>0&&{open:n},...i&&{tab:i}}),D=E(C,!1,T),O=E(C,!0,T),k=b===`form`&&s?.recordMode!==void 0&&s.recordMode!==`edit`,A=VT(_,`delete`)&&n.permissions?.delete!==!1,j=U5({model:e,view:s,restore:v,onDeleted:()=>o({kind:`list`,resource:e.name},{replace:!0}),onReview:()=>void p.invalidateQueries({queryKey:H.record(e.name,t)})}),M=z9(e,i.resources,i.views,n.record),N=t=>{let n=e.fields[t],r=n?.relation?i.resources[n.relation.resource]:void 0;if(r&&r.primaryKey.length===1&&t!==e.tenant&&!e.primaryKey.includes(t))return r},ee=Object.values(e.fields).filter(e=>N(e.name)),te={...n.record,...Object.fromEntries(ee.map(e=>[e.name,kS(e,f.value(e.name))]))},ne=z9(e,i.resources,i.views,te),re=(e,t)=>{let n=N(e);if(!n||!LS(t))return f.change(e,t);p.setQueryData(H.relatedLabel(n.name,t.key),t.label),f.change(e,BS(n,t.key))},{fields:ie}=wC(),ae={model:e,record:n.record,key:t,etag:n.etag,permissions:n.permissions},oe=cTe(ATe(e,s,b===`read`),ae,S,r),{before:se,tabs:ce,after:le}=lwe(oe),ue=uwe(ce,T),de=e=>S&&(f.errors[e]!==void 0||f.conflicts[e]!==void 0);(0,I.useEffect)(()=>{if(f.rejections===0)return;let e=dwe(ce,ue,de);e&&o(E(C,w,e===ce[0]?void 0:e.title),{replace:!0})},[f.rejections]);let P=oe.flatMap(e=>e.kind===`sidebar`?e.fields:[]),fe=e.fields.status?.type===`enum`,pe=n.record.status,me=fe&&!P.includes(`status`)&&pe!=null&&pe!==``?String(pe):void 0,he=C9(e,`updated`),F=e=>s?.fields[e],ge=e=>UT(n.permissions,e)!==`hidden`&&FS(F(e)?.when,S),_e=e=>!r||Object.hasOwn(n.record,e),ve=r=>{let a=e.fields[r],o=UT(n.permissions,r);if(!a||o===`hidden`)return null;let c=f.conflicts[r],l=N(r),u=F(r)?.label??K(r),d=f.errors[r];return(0,R.jsx)(Xy,{name:r,label:u,required:b===`form`&&o!==`read`&&TS(a),help:PS(F(r),s,S),error:d&&qC(a,u,d),wide:!!(F(r)?.multiline||F(r)?.markdown),conflict:c===void 0?void 0:{user:{name:R5(`someoneElse`),initials:`?`,hue:40},ago:R5(`justNow`),theirValue:c||`—`,onKeepMine:()=>f.keepMine(r),onUseTheirs:()=>f.useTheirs(r)},children:_e(r)?(0,R.jsx)(BC,{field:a,hints:F(r),value:f.value(r),stored:n.record[r],relationLabel:ne.labels[r],relationTo:ne.addresses[r],relationPicker:l&&{target:l,view:i.views[l.name]},locked:b!==`form`||o===`read`,invalid:!!f.errors[r],reveal:a.sensitive?()=>m.reveal(e.name,t,r):void 0,resource:e.name,onChange:e=>re(r,e)}):(0,R.jsx)(_u,{className:`h-9`})},a.sensitive?`${r}:${n.etag}`:r)},ye=r=>{let i=e.fields[r],a=_e(r)?i.sensitive?(0,R.jsx)(BC,{field:i,hints:F(r),value:``,stored:n.record[r],locked:!0,reveal:()=>m.reveal(e.name,t,r),resource:e.name,onChange:e=>f.change(r,e)}):(0,R.jsx)(Z0,{model:e,field:i,value:n.record[r],relationLabel:M.labels[r]}):(0,R.jsx)(_u,{className:`h-4 w-32`});return{label:F(r)?.label??K(r),help:PS(F(r),s,S),wide:!!(F(r)?.multiline||F(r)?.markdown),value:a}},be=oe.findIndex(e=>e.kind===`sidebar`),xe=(0,R.jsx)(nb,{title:R5(`summary`),rows:P.flatMap(t=>{let r=e.fields[t];if(!r||!ge(t))return[];if(!_e(t))return[{label:F(t)?.label??K(t),value:(0,R.jsx)(_u,{className:`h-4 w-24`})}];let i=n.record[t],a=Ub(r,F(t))&&typeof i==`string`&&i!==``?Hb(i):dx(r,i,F(t)),o=r.type===`text`&&typeof i==`string`&&i!==``?Qb(F(t)):void 0,s=r.type===`enum`?(0,R.jsx)(X0,{value:i,hints:F(t),children:a}):o?(0,R.jsx)(RC,{format:o,value:a}):(0,R.jsx)(`strong`,{title:fx(r,i,void 0,F(t)),children:a}),c=TC(ie,r,F(t));return[{label:F(t)?.label??K(t),title:a,value:c?(0,R.jsx)(kC,{shown:c,part:`display`,field:r,value:n.record[t],fallback:s}):s}]})}),Se=async()=>{await f.save()&&k&&o(D,{replace:!0})},Ce=A?()=>void j.start({key:t,title:c,etag:n.etag,snapshot:n.record}):void 0,we=b===`form`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{variant:`primary`,className:`max-md:min-h-11 max-md:flex-1 md:w-full`,loading:f.saving,disabled:!f.dirty&&f.phase!==`saved`,onClick:()=>void Se(),children:[f.phase===`saved`&&(0,R.jsx)(bi,{className:`size-4`}),f.phase===`saved`?R5(`saved`):R5(`save`)]}),k&&(0,R.jsx)(cS,{to:D,className:g(Af(),`max-md:min-h-11 md:w-full`),onClick:e=>vu(e)&&f.discard(),children:R5(`cancel`)}),f.dirty&&(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground max-md:order-first`,children:R5(`unsavedChanges`)})]}),Te=(i,a)=>{if(i.kind===`group`){let e=i.items.flatMap(Te);if(e.length===0)return[];let t=cwe(i,C,de),n=i.collapsed?E(swe(C,i.title),w,T):void 0;return[(0,R.jsx)(uS,{title:i.title,open:t,toggle:n,children:e},`group:${i.title}`)]}if(i.kind===`related`)return i.from!==void 0&&!_e(i.from)?[]:[(0,R.jsx)(DTe,{item:i,value:OTe(i,n.record,t),owner:e.name},`related:${i.title}`)];if(r&&(i.kind===`custom`||i.kind===`map`||i.kind===`gallery`))return[];if(i.kind===`custom`)return i.sidebar?[]:[(0,R.jsx)(w9,{item:i,scope:ae},`custom:${a}`)];if(i.kind===`map`)return i.sidebar?[]:[(0,R.jsx)(T9,{item:i,record:n.record},`map:${a}`)];if(i.kind===`gallery`)return[(0,R.jsx)(Lwe,{item:i,record:n.record,recordKey:t},`gallery:${a}`)];if(i.kind===`history`)return[(0,R.jsx)(Wwe,{item:i,model:e,view:s,recordKey:t,etag:n.etag},`history:${a}`)];if(i.kind===`comments`)return[(0,R.jsx)(aTe,{item:i,resource:e.name,recordKey:t,canWrite:l.kind!==`visitor`},`comments:${a}`)];if(i.kind!==`section`)return[];let o=i.fields.filter(t=>e.fields[t]&&ge(t)),c=b===`read`&&i.presentation===`facts`,u=c?gx(n.record,o):o;return u.length===0?[]:[(0,R.jsx)(Zy,{title:i.title,help:NS(i.helpWhen,s,S)?i.help:void 0,children:c?(0,R.jsx)(pS,{facts:u.map(e=>({label:ye(e).label,value:ye(e).value,icon:d6(F(e)?.icon)}))}):b===`read`?(0,R.jsx)(fS,{rows:u.map(ye)}):(0,R.jsx)(`div`,{className:`grid grid-cols-1 gap-x-6 gap-y-5 sm:grid-cols-2`,children:u.map(ve)})},i.title)]};return(0,R.jsxs)(`div`,{ref:h,className:`flex flex-1 flex-col`,inert:r,children:[j.dialogs,(0,R.jsx)(`div`,{className:`flex-1`,children:(0,R.jsxs)(`div`,{className:`mx-auto max-w-[1100px] px-4 pb-8 pt-6 md:px-10 md:py-8`,children:[(0,R.jsx)(rb,{title:c,status:me?{label:us(me,F(`status`)?.valueLabels),tone:nx(me)}:void 0}),f.message&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:R5(`notSaved`),error:Error(f.message)})}),f.linesConflict&&(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(XS,{title:R5(`linesChanged`),error:Error(R5(`linesReloaded`))})}),b!==`form`&&x&&f.dirty&&(0,R.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2`,role:`status`,children:[(0,R.jsx)(`span`,{children:R5(`unsavedKept`)}),(0,R.jsxs)(`span`,{className:`flex gap-2`,children:[(0,R.jsx)(cS,{to:O,className:Af({size:`sm`}),children:R5(`continueEditing`)}),(0,R.jsx)(V,{size:`sm`,onClick:f.discard,children:R5(`discard`)})]})]}),b===`form`&&f.restored&&(0,R.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-3 rounded-lg border bg-surface px-3 py-2`,role:`status`,children:[(0,R.jsx)(`span`,{children:R5(`unsavedRestored`)}),(0,R.jsxs)(`span`,{className:`flex gap-2`,children:[(0,R.jsx)(V,{size:`sm`,onClick:f.dismissRestored,children:R5(`keep`)}),(0,R.jsx)(V,{size:`sm`,onClick:f.discard,children:R5(`discard`)})]})]}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-8 md:grid-cols-[minmax(0,1fr)_300px] md:gap-12`,children:[(0,R.jsxs)(`main`,{className:`divide-y divide-border`,children:[se.flatMap(Te),ue&&(0,R.jsx)(dS,{tabs:ce.map((e,t)=>({title:e.title,to:E(C,w,t===0?void 0:e.title),current:e===ue}))}),ue&&(0,R.jsx)(`div`,{className:`divide-y divide-border`,children:ue.items.flatMap(Te)},`tab:${ue.title}`),le.flatMap(Te),u&&!r&&(0,R.jsx)(mwe,{lines:u,draft:d,vatRate:Number(n.record.vatRate??21)/100,saving:f.saving,locked:b!==`form`})]}),(0,R.jsxs)(`aside`,{className:`space-y-4 md:pt-8`,children:[we&&(0,R.jsx)(`div`,{className:`hidden flex-col items-center gap-2 md:flex`,children:we}),!r&&(0,R.jsx)(owe,{model:e,stored:n,recordKey:t,edit:x?O:void 0,onDelete:Ce}),be===-1&&xe,oe.map((e,t)=>e.kind===`custom`&&e.sidebar&&!r?(0,R.jsx)(w9,{item:e,scope:ae},`custom:${t}`):e.kind===`map`&&e.sidebar&&!r?(0,R.jsx)(T9,{item:e,record:n.record},`map:${t}`):t===be?(0,R.jsx)(I.Fragment,{children:xe},`summary`):null),(0,R.jsx)(nb,{title:R5(`details`),rows:[C9(e,`created`),he].flatMap(t=>{let r=t?e.fields[t]:void 0;return!t||!r||!ge(t)?[]:[{label:F(t)?.label??K(t),value:_e(t)?(0,R.jsx)(`span`,{title:fx(r,n.record[t],void 0,F(t)),children:dx(r,n.record[t],F(t))}):(0,R.jsx)(_u,{className:`h-4 w-24`})}]})}),!r&&(0,R.jsx)(vTe,{model:e,recordKey:t,layout:oe,lines:u})]})]})]})}),we&&(0,R.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:we})]})},MTe=e=>Ks(e)?e.status===401||e.status===403?W(`signInRefused`,e.message):e.message:W(`noAnswer`),NTe=({status:e})=>{let t=Qp();return e.state===`error`?(0,R.jsx)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center p-8`,children:(0,R.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,R.jsx)(`h1`,{className:`text-[16px] font-semibold`,children:W(`cannotReach`,e.source.label)}),(0,R.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[MTe(e.error),` `,W(`restWorks`)]}),(0,R.jsx)(V,{className:`mt-3`,onClick:()=>void t.refetchQueries({queryKey:H.sourceMetas(e.source.url)}),children:W(`tryAgain`)})]})}):(0,R.jsxs)(`div`,{className:`flex h-full min-h-48 flex-1 items-center justify-center gap-2 text-muted-foreground`,children:[(0,R.jsx)(dd,{}),` `,W(`loadingFrom`,e.source.label)]})},W9=a({en:{search:`Search`,searchOne:e=>`Search ${e}`,searchTwo:(e,t)=>`Search ${e} and ${t}`,searchMore:(e,t)=>`Search ${e}, ${t} and more`,goTo:`Go to`,create:`Create`},nl:{search:`Zoeken`,searchOne:e=>`Zoek in ${e}`,searchTwo:(e,t)=>`Zoek in ${e} en ${t}`,searchMore:(e,t)=>`Zoek in ${e}, ${t} en meer`,goTo:`Ga naar`,create:`Maken`}}),G9=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase()),PTe=(e,t,n=``)=>{let r=$7(e,n).flatMap(e=>e.items.filter(e=>e.href!==void 0&&!e.problem)).filter(e=>G9(e.label,t)).slice(0,5),i=t.trim().replace(/^new\s+/i,``),a=Object.values(e.resources).flatMap(r=>{let a=e.views[r.name];if(!a||a.nav?.hidden||!G5(a,e.pages,e.permissions[r.name]??Zx))return[];let o=a.names?.singular??K(r.name),s=IS(`title`,o);return!G9(s,t)&&!G9(o,i)&&!G9(a.names?.plural??K(r.name),i)?[]:[{id:`new:${r.name}`,title:s,href:xs({kind:`create`,resource:r.name},n)}]});return[...r.length>0?[{id:`go-to`,label:W9(`goTo`),hits:r.map(e=>({id:`go-to:${e.id}`,title:e.label,href:e.href}))}]:[],...a.length>0?[{id:`create`,label:W9(`create`),hits:a.slice(0,5)}]:[]]},FTe=rr(),ITe=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??K(t.name)}]}),LTe=e=>{let t=e.map(e=>e.label.toLowerCase());return t.length===0?W9(`search`):t.length===1?W9(`searchOne`,t[0]):t.length===2?W9(`searchTwo`,t[0],t[1]):W9(`searchMore`,t[0],t[1])},RTe=e=>Hn(FTe.search(e.trim())),K9=e=>{let t=e.view?.searchResult?.title;return t?.length?t:[Kb(e.model,e.view)]},q9=e=>{let t=K9(e);return e.view?.searchResult?.subtitle??e.model.search?.find(e=>!t.includes(e))},zTe=e=>{let t=q9(e),n=[...K9(e),...t?[t]:[],...e.model.search??[]];return[...new Set([...e.model.primaryKey,...n.filter(t=>Object.hasOwn(e.model.fields,t))])]},J9=(e,t,n)=>{let r=t[n];return r==null?``:e.model.fields[n]?.type===`enum`?us(String(r),e.view?.fields[n]?.valueLabels):String(r)},BTe=(e,t,n,r=``)=>{let i=Dr(Xb(e.model,t)),a=K9(e),o=q9(e),s=Rn(e.model,t,n,[...a,...o?[o]:[]])??o,c=s?J9(e,t,s):``;return{id:i,title:a.map(n=>J9(e,t,n)).filter(Boolean).join(` `)||i,...c&&{subtitle:c},href:xs({kind:`record`,resource:e.model.name,key:i},r)}},VTe=()=>{let e=J(),t=U(),{basePath:n}=zh(),r=(0,I.useMemo)(()=>ITe(e),[e]),[i,a]=(0,I.useState)(``),o=i.trim(),s=F3(o,200),c=o.length>=2,l=c&&s.length>=2,u=wh({queries:r.map(e=>({queryKey:[`global-search`,e.model.name,s],enabled:l,staleTime:1/0,gcTime:0,queryFn:()=>t.list(e.model.name,{filter:RTe(s),pageSize:5,fields:zTe(e)})}))}),d=(0,I.useMemo)(()=>l?PTe(e,s,n):[],[l,e,s,n]),f=r.flatMap((e,t)=>{let r=u[t];if(!l||!r)return[];if(r.error)return[{id:e.model.name,label:e.label,hits:[],failed:!0}];let i=(r.data?.items??[]).map(t=>BTe(e,t,s,n));return i.length>0?[{id:e.model.name,label:e.label,hits:i}]:[]}),p=[...d,...f];return{available:Object.keys(e.pages).length>0||Object.keys(e.resources).length>0,placeholder:LTe(r),text:i,setText:a,query:l?s:``,loading:c&&(o!==s||u.some(e=>e.isFetching)),groups:p}},Y9=a({en:{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`,job:`Preparing the update`,build:`Building`,updatingNow:`Updating now`,started:(e,t)=>`${e}, started ${t}`,nextOn:(e,t)=>`${e}: next on ${t}`,succeeded:(e,t)=>`Updated to ${e} on ${t}`,unchanged:(e,t)=>`The update to ${e} on ${t} changed nothing`,failed:(e,t)=>`The update to ${e} failed on ${t}`,alreadyLatest:`Already on the latest version, or an update is running.`,onlyAdmin:`Only an admin can update the runtime.`,couldNotStart:`The update could not be started. Try again later.`,runtimeUpdate:`Runtime update`,close:`Close`,updating:`Updating…`,updateNow:`Update now`,currentVersion:`Current version`,latestVersion:`Latest version`,checkFailed:`The status could not be checked again; this is the last one read.`,updateAvailable:`Update available`,update:`Update`},nl:{immediate:`Werkt bij zodra er een release is`,weekly:`Werkt elke week op een vast moment bij`,scheduled:`Werkt bij op het moment dat voor deze release is ingesteld`,manual:`Werkt alleen bij als erom wordt gevraagd`,job:`De update voorbereiden`,build:`Bouwen`,updatingNow:`Nu aan het bijwerken`,started:(e,t)=>`${e}, begonnen ${t}`,nextOn:(e,t)=>`${e}: volgende op ${t}`,succeeded:(e,t)=>`Bijgewerkt naar ${e} op ${t}`,unchanged:(e,t)=>`De update naar ${e} op ${t} veranderde niets`,failed:(e,t)=>`De update naar ${e} mislukte op ${t}`,alreadyLatest:`Al op de nieuwste versie, of er loopt een update.`,onlyAdmin:`Alleen een beheerder kan de runtime bijwerken.`,couldNotStart:`De update kon niet worden gestart. Probeer het later opnieuw.`,runtimeUpdate:`Runtime-update`,close:`Sluiten`,updating:`Bijwerken…`,updateNow:`Nu bijwerken`,currentVersion:`Huidige versie`,latestVersion:`Nieuwste versie`,checkFailed:`De status kon niet opnieuw worden gecontroleerd; dit is de laatst gelezen.`,updateAvailable:`Update beschikbaar`,update:`Bijwerken`}}),HTe=e=>!!(e?.updateAvailable&&e.indicator),UTe=e=>e?5e3:18e5,WTe=(e,t)=>{if(!e.updateStage)return Y9(`updatingNow`);let n=Y9(e.updateStage);return e.updateStartedAt?Y9(`started`,n,wf(Math.max(0,Math.floor((t-Date.parse(e.updateStartedAt))/1e3)))):n},X9=(e,t=Date.now(),n=Yd())=>e.updating?WTe(e,t):e.nextUpdateAt?Y9(`nextOn`,Y9(e.policy),gf(Date.parse(e.nextUpdateAt),n)):Y9(e.policy),GTe=(e,t=Yd())=>{let n=gf(Date.parse(e.finishedAt),t),r=Y9(e.outcome,e.toVersion,n);return e.message?`${r}: ${e.message}`:`${r}.`},KTe=e=>Ks(e)&&e.status<500&&e.problem.detail?e.problem.detail:Ks(e)&&e.status===409?Y9(`alreadyLatest`):Ks(e)&&e.status===403?Y9(`onlyAdmin`):Y9(`couldNotStart`),Z9=({label:e,value:t})=>(0,R.jsxs)(`div`,{className:`flex justify-between gap-4 py-1`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,R.jsx)(`span`,{className:`font-medium tabular-nums`,children:t})]}),qTe=({status:e,requesting:t,error:n,checkError:r,onUpdate:i,onClose:a})=>{let o=e.updating?void 0:e.lastUpdate;return(0,R.jsxs)(jf,{title:Y9(`runtimeUpdate`),description:e.updating?(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,R.jsx)(dd,{className:`size-3.5`}),X9(e)]}):X9(e),onClose:a,actions:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(V,{onClick:a,children:Y9(`close`)}),(0,R.jsx)(V,{variant:`primary`,loading:t,disabled:e.updating||!e.updateAvailable,onClick:i,children:e.updating?Y9(`updating`):Y9(`updateNow`)})]}),children:[(0,R.jsx)(Z9,{label:Y9(`currentVersion`),value:e.version}),(0,R.jsx)(Z9,{label:Y9(`latestVersion`),value:e.latest}),o&&(0,R.jsx)(`p`,{className:o.outcome===`failed`?`mt-3 text-danger-text`:`mt-3 text-muted-foreground`,children:GTe(o)}),n!==void 0&&(0,R.jsx)(`p`,{role:`alert`,className:`mt-3 text-danger-text`,children:KTe(n)}),r!==void 0&&(0,R.jsx)(`p`,{className:`mt-3 text-muted-foreground`,children:Y9(`checkFailed`)})]})},JTe=e=>{let t=Rg(),n=(0,I.useRef)(t);n.current=t;let r=t!==void 0;return(0,I.useMemo)(()=>r?jne({url:e,token:()=>n.current}):void 0,[e,r])},YTe=e=>{let[t,n]=(0,I.useState)(),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)(),l=t?.updating??!1;return(0,I.useEffect)(()=>{if(!e)return;let t=!0,r=()=>e.status().then(e=>{t&&(n(e),c(void 0))},e=>t&&c(e));r();let i=setInterval(()=>void r(),UTe(l));return()=>{t=!1,clearInterval(i)}},[e,l]),{status:t,update:(0,I.useCallback)(async()=>{e&&(i(!0),o(void 0),await e.update().then(n,o),i(!1))},[e]),requesting:r,error:a,checkError:s}},Q9=({client:e})=>{let{status:t,update:n,requesting:r,error:i,checkError:a}=YTe(e),[o,s]=(0,I.useState)(!1);return!t||!o&&!HTe(t)?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(V,{size:`sm`,variant:`ghost`,"aria-label":Y9(`updateAvailable`),title:Y9(`updateAvailable`),onClick:()=>s(!0),className:`max-md:size-9 max-md:p-0`,children:[(0,R.jsx)(Ai,{className:`size-3.5 text-primary`}),(0,R.jsx)(`span`,{className:`max-md:sr-only`,children:Y9(`update`)})]}),o&&(0,R.jsx)(qTe,{status:t,requesting:r,error:i,checkError:a,onUpdate:()=>void n(),onClose:()=>s(!1)})]})},XTe=({url:e})=>(0,R.jsx)(Q9,{client:JTe(e)}),ZTe=({url:e,client:t})=>t?(0,R.jsx)(Q9,{client:t}):(0,R.jsx)(XTe,{url:e}),QTe=({signIn:e,onStop:t})=>{let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(),o=async()=>{r(!0),a(void 0);try{await t()}catch(e){if(!(e instanceof wc))throw e;a(wd(e)),r(!1)}};return(0,R.jsxs)(`div`,{role:`region`,"aria-label":W(`staffSession`),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-warning-text`,children:[(0,R.jsx)(qo,{"aria-hidden":!0,className:`size-4 shrink-0`}),(0,R.jsx)(`p`,{className:`min-w-64 flex-1 break-words`,children:Kh(W(`staffSignedIn`),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.staffName??e.staff}),(0,R.jsx)(`span`,{className:`font-semibold`,children:e.user}),gf(Date.parse(e.expiresAt)),e.reason)}),i&&(0,R.jsx)(`p`,{role:`alert`,className:`text-body font-medium text-danger-text`,children:i}),(0,R.jsx)(V,{size:`sm`,loading:n,onClick:()=>void o(),children:W(`stopStaffSession`)})]})},$Te=(e,t,n)=>({filter:n.filter??``,orderBy:n.orderBy??Ux(e,t),pageSize:n.limit??3,fields:[...new Set([...e.primaryKey,Kb(e,t),n.status])]}),eEe=(e,t,n,r,i,a)=>r.map(r=>{let o=Dr(Xb(e,r)),s=String(r[n.status]??``);return{id:o,label:qb(e,t,r,o),href:xs({kind:`record`,resource:e.name,key:o},i),status:e.fields[n.status]?.type===`enum`&&s?us(s,t.fields[n.status]?.valueLabels):s,tone:n.tones[s]??`neutral`,pulse:n.pulse?.includes(s)??!1,active:o===a}}),tEe=(e,t,n,r,i)=>{let a=n.find(t=>Dr(Xb(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),nEe=e=>{let t=Qp();(0,I.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&&tEe(n.model,n.request.fields,e.items,a,o)&&t.invalidateQueries({queryKey:$9(n),exact:!0})}}),[t,e])},rEe=(e,t,n)=>{let r=U(),i=(0,I.useMemo)(()=>{let t=X7(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:$Te(r,n,i)}]:[]})},[e]);nEe(i);let a=wh({queries:i.map(e=>({queryKey:$9(e),queryFn:()=>r.list(e.model.name,e.request)}))});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:eEe(e,r,i,s.data.items,t,c)}]}))},iEe=e=>e?.kind===`page`?e.page:e?.kind===`list`?Z7(e.resource,e.list):e?.resource,aEe=e=>e?.kind===`record`?e:void 0,oEe=({workspace:e,sidebarMode:t,assistant:n,runtime:r})=>{let i=J(),{state:a,session:o,signOut:s,stopStaffSession:c,organizations:l}=B(),u=Qh();if(a.kind!==`signed-in`&&a.kind!==`visitor`)throw Error(`The shell is only rendered for a signed-in user or a visitor`);let d=a.kind===`signed-in`?a.user:void 0,f=a.kind===`signed-in`?a.staff:void 0,{path:p,params:m,basePath:h}=zh(),{address:g,go:_,open:v}=sS(),y=iEe(g),b=aEe(g),x=VTe(),S=Ew(),C=rEe(i,h,{resource:b?.resource,key:b?.key});lie(i);let w=$7(i,h,C),T=Object.keys(i.pages)[0],E=Object.keys(i.resources)[0],D=g?.kind===`page`?i.pages[g.page]:void 0;(0,I.useEffect)(()=>{p===`/`&&(T?_({kind:`page`,page:T},{replace:!0}):E&&_({kind:`list`,resource:E},{replace:!0}))},[p,T,E,_]);let O=g?.kind===`page`?void 0:g?.resource,k=O?Bg(i,O):void 0,A=O?yr(i.views[O],g?.kind===`list`?g.list:void 0):void 0,j=w.find(e=>e.items.some(e=>e.id===y)),M=O?i.resources[O]:void 0,N=Hg(b?.resource??``,b?.key??``,!!(M&&b)),ee=M&&b&&N.data?qb(M,A,N.data.record,b.key):void 0,te=!!b&&(N.isLoading||k?.state===`loading`),{shell:ne}=wC(),re=ne?.actions,ie=ne?.rightPanel,[ae,oe]=(0,I.useState)(!1),se=i.assistant?.url,ce=se&&(0,R.jsx)(cT,{open:ae,onToggle:()=>oe(!ae)}),le=se&&ae&&(0,R.jsx)(dT,{url:se,client:n,page:m.size>0?`${p}?${m}`:p,onClose:()=>oe(!1)}),ue=i.errorReporting;(0,I.useEffect)(()=>{ue&&Ire(ue)},[ue]);let de=i.runtime?.url,P=de&&(0,R.jsx)(ZTe,{url:de,client:r}),fe=QCe((0,I.useCallback)(()=>_9(h),[h]),!!d),pe=d&&ZCe(d,fe.current),me=pe?Lg(pe):!1,he=ewe(),F=VCe(!!(l&&d)),ge=F.current,_e=!!l&&ge!==void 0&&!ge.organization,ve=l&&d?Nre(p):void 0,ye=d?p===`/-/account`?W(`signInSecurity`):p===`/-/sign-in-policy`?W(`signInPolicy`):ve:void 0,be=A?.names?.plural??(O&&K(O)),xe=ye?[ye]:_T({basePath:h,address:g,group:j?.label,page:D,resourceLabel:be,recordTitle:ee,recordLoading:te});JS(qS(KS({address:g,page:D,accountPage:ye,resourceLabel:be,singular:A?.names?.singular??(O&&K(O)),recordTitle:ee,recordLoading:te}),i.appName));let Se=d&&p===`/-/account`?(0,R.jsx)(Rp,{email:d.email}):d&&p===`/-/sign-in-policy`?me?(0,R.jsx)(Xp,{}):(0,R.jsx)(rS,{title:W(`adminsOnly`),children:W(`onlyAdminPolicy`)}):ve&&p===`/-/organization`?(0,R.jsx)(KCe,{current:ge,basePath:h,onChanged:F.reload}):ve&&(p===`/-/organization/members`||p===`/-/organization/invitations`)?ag(ge)?p===`/-/organization/members`?(0,R.jsx)(LCe,{current:ge}):(0,R.jsx)(BCe,{current:ge}):(0,R.jsx)(rS,{title:W(`ownersOnly`),children:W(`onlyOwners`)}):ve&&p===`/-/organizations`||_e?(0,R.jsx)(XCe,{state:F,basePath:h}):g?g.kind===`page`?D?(0,R.jsx)(L5,{name:D.name},D.name):(0,R.jsx)(rS,{title:W(`notFound`),children:Kh(W(`noPage`),g.page)}):k&&k.state!==`ready`?(0,R.jsx)(NTe,{status:k}):g.kind===`create`?(0,R.jsx)(cxe,{resource:g.resource,values:g.values},g.resource):g.kind===`record`?(0,R.jsx)(U9,{resource:g.resource,recordKey:g.key},`${g.resource}/${g.key}`):(0,R.jsx)(FCe,{address:g},Z7(g.resource,g.list)):p===`/`?(0,R.jsx)(rS,{title:W(`chooseResource`),children:W(`pickFromSidebar`)}):(0,R.jsx)(rS,{title:W(`notFound`),children:W(`nothingHere`)}),Ce=(0,R.jsx)(_d,{pageScroll:!0,sidebarMode:t??`text-small`,activeItem:y??``,breadcrumb:xe,user:pe&&rie(pe),onSignOut:d&&(()=>void s()),signIn:d?void 0:u.link(),workspace:ge?.organization?.name??e,appName:i.appName,logo:$Ce,navGroups:w,bottomBar:gT(i,h,y),userMenu:[...oCe(i,h,y),...l&&d?Pre(h,p,ge):[],...d?ss(h,p,me):[]],organizations:l&&{...ge?.organization&&{current:{id:ge.organization.id,name:ge.organization.name}},others:F.organizations.filter(e=>e.id!==ge?.organization?.id),onSwitch:e=>void o.organizations.switchTo(e).then(()=>_9(h))},theme:{preference:S.preference,onChange:S.choose},roles:fe.current?.active?{active:fe.current.active,roles:fe.current.roles,onSwitch:fe.switchTo}:void 0,onNavigate:v,search:x.available?{placeholder:x.placeholder,text:x.text,onTextChange:x.setText,query:x.query,loading:x.loading,groups:x.groups,onSelect:v}:void 0,actions:(re||P||ce)&&(0,R.jsxs)(R.Fragment,{children:[re&&(0,R.jsx)(mg,{name:`shell.actions`,fallback:null,children:(0,R.jsx)(re,{})}),P,ce]}),rightPanel:(ie||le)&&(0,R.jsxs)(R.Fragment,{children:[ie&&(0,R.jsx)(mg,{name:`shell.rightPanel`,fallback:null,children:(0,R.jsx)(ie,{})}),le]}),children:Se}),we=me&&he.length>0;return!f&&!we?Ce:(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[f&&(0,R.jsx)(QTe,{signIn:f,onStop:c}),we&&(0,R.jsx)(nwe,{off:he}),(0,R.jsx)(`div`,{className:`min-h-0 flex-1`,children:Ce})]})},sEe=({baseUrl:e,client:t,sources:n,workspace:r,sidebarMode:i,ui:a,assistant:o,runtime:s})=>{let{state:c,session:l,markSignedOut:u}=B();return(0,R.jsx)(Lh,{baseUrl:e,client:t,sources:n,token:c.kind===`visitor`?void 0:l.token,onUnauthenticated:u,children:(0,R.jsx)(aS,{children:(0,R.jsx)(Jy,{children:(0,R.jsx)(twe,{ui:a,children:(0,R.jsx)(oEe,{workspace:r,sidebarMode:i,assistant:o,runtime:s})})})})})},cEe=({baseUrl:e,client:t,ui:n,children:r})=>{let i=gw();return i?(0,R.jsx)(Lh,{baseUrl:e,client:t,children:(0,R.jsx)(CC.Provider,{value:n??{},children:(0,R.jsx)(mw,{name:i.name},i.name)})}):r},lEe=({auth:e,workspace:t,basePath:n,initialUrl:r,pluginLoader:i,locale:a,...s})=>(o(a??`en`),(0,R.jsx)(Tw,{children:(0,R.jsx)(Rd,{session:e,children:(0,R.jsx)(Jne,{basePath:n,initialUrl:r,children:(0,R.jsx)(Zre,{...i&&{loader:i},children:(0,R.jsx)(oie,{children:(0,R.jsx)(cEe,{baseUrl:s.baseUrl,client:s.client,ui:s.ui,children:(0,R.jsx)(tie,{workspace:t,children:(0,R.jsx)(sEe,{workspace:t,...s})})})})})})})}));export{Wh as $,Nw as A,sS as B,Jw as C,Bw as D,Vw as E,xC as F,Vg as G,Qx as H,oC as I,Og as J,Rg as K,eC as L,Ow as M,Dw as N,Lw as O,SC as P,Gh as Q,$S as R,$w as S,Hw as T,Zy as U,J as V,Xy as W,bg as X,Ure as Y,hg as Z,bT as _,d5 as a,Eh as at,iT as b,vbe as c,Uf as ct,G0 as d,Af as dt,Uh as et,mE as f,Bd as ft,jT as g,xu as gt,BT as h,sd as ht,B5 as i,H as it,Aw as j,Iw as k,m6 as l,jf as lt,hE as m,cd as mt,L9 as n,U as nt,jbe as o,Sm as ot,gE as p,dd as pt,Dg as q,I9 as r,Ih as rt,_be as s,Qp as st,lEe as t,Lh as tt,C3 as u,V as ut,sT as v,Gw as w,rT as x,oT as y,cS as z};